Robot and head-top control method, device and storage medium thereof

By using a data-driven model predictive control method to optimize the driving parameter values, the problem of slow response of humanoid robot top control to unknown environments was solved, thus improving the robot's flexibility and adaptability.

CN119556555BActive Publication Date: 2025-11-07UBTECH ROBOTICS CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411528875.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-30
Publication Date
2025-11-07
Estimated Expiration
2044-10-30

AI Technical Summary

Technical Problem

In existing technologies, when humanoid robots control objects from above their heads, they react slowly to unknown or changing environments, which is not conducive to improving flexibility and adaptability.

Method used

By determining historical trajectories, generating predicted trajectories, and optimizing driving parameter values, top-mounted control of the robot is achieved. This data-driven model predictive control method reduces reliance on kinematic and dynamic models and improves environmental adaptability.

Benefits of technology

It improves the robot's response speed to unknown or changing environments, enhances its flexibility and adaptability, and reduces limitations in practical applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119556555B_ABST
    Figure CN119556555B_ABST
Patent Text Reader

Abstract

The application relates to the field of robots, in particular to a robot, a head control method and device thereof and a storage medium. The method comprises the following steps: determining a historical trajectory of the robot, determining a first subset according to the historical trajectory, and determining that the first subset is a first predicted trajectory included in a predicted trajectory; determining a first driving parameter value when the first predicted trajectory is generated according to the historical trajectory; determining a predicted cost corresponding to the first predicted trajectory, optimizing the first driving parameter value according to the predicted cost, and generating a second driving parameter value; determining a second predicted trajectory of the robot according to the second driving parameter value, and performing head control on the robot according to a control parameter prediction sequence included in the second predicted trajectory. The method can effectively improve the reaction speed of the robot to unknown or changing environments, improve the flexibility and adaptability of the robot, and reduce the limitations of the robot in actual application.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of robots, and in particular to a robot, a head control method and device thereof, and a storage medium. BACKGROUND

[0002] Robots include humanoid robots. A humanoid robot is a robot designed to imitate the appearance and behavior of a human being. A humanoid robot usually has a form similar to that of a human being, including a head, a torso, limbs, etc., and is capable of performing some human actions and tasks.

[0003] Controlling an external object by the head of a robot is an extremely complex task, which requires the head to have multi-degree-of-freedom movement capability to ensure that the head can be accurately positioned and adjusted in a three-dimensional space, and requires the movement of the head to be coordinated with the balance of the body to maintain the balance of the robot during the execution of a task. In the process of controlling the movement of an object on the head of a humanoid robot, the pre-programmed path and movement are usually relied on, and the reaction to unknown or changing environments is slow, which is not conducive to improving the flexibility and adaptability of the humanoid robot, and greatly limits the practical application of the humanoid robot. SUMMARY

[0004] In view of this, embodiments of the present application provide a robot and a head control method and device thereof, and a storage medium, to solve the problem in the prior art that a humanoid robot reacts slowly to unknown or changing environments when controlling an object on the head, which is not conducive to improving the flexibility and adaptability of the humanoid robot.

[0005] A first aspect of embodiments of the present application provides a head control method of a robot, the method comprising:

[0006] determining a historical trajectory of the robot, the historical trajectory comprising a historical input data sequence and a historical output data sequence of the robot in a head control process, the historical input data sequence comprising a historical sequence of control parameters of a neck motor of the robot, and the historical output data sequence comprising a historical sequence of system state quantities of an object controlled on the head of the robot;

[0007] determining a first subset according to the historical trajectory, the first subset being a first predicted trajectory included in a predicted trajectory;

[0008] determining a first driving parameter value when the first predicted trajectory is generated according to the driving generated according to the historical trajectory;

[0009] determining a predicted cost corresponding to the first predicted trajectory, and optimizing the first driving parameter value according to the predicted cost to generate a second driving parameter value;

[0010] determine a second predicted trajectory of the robot according to the second driving parameter value, and perform headtop control on the robot according to a control parameter prediction sequence included in the second predicted trajectory.

[0011] With reference to the first aspect, in a first possible implementation manner of the first aspect, before determining the first driving parameter value for generating the first predicted trajectory according to the historical trajectory, the method further includes:

[0012] determining a terminal limit condition of the headtop control of the robot, the terminal limit condition including a received reference trajectory, and the reference trajectory being a second predicted trajectory included in the predicted trajectory;

[0013] determining the first driving parameter value for generating the first predicted trajectory according to the historical trajectory, includes:

[0014] determining the first driving parameter value for generating the first predicted trajectory and the second predicted trajectory according to the historical trajectory.

[0015] With reference to the first aspect, in a second possible implementation manner of the first aspect, determining the prediction cost corresponding to the first predicted trajectory includes:

[0016] determining a loss between each predicted point in the first predicted trajectory and a reference point;

[0017] summing up the loss corresponding to each predicted point in the first predicted trajectory, and determining the prediction cost corresponding to the first predicted trajectory according to a summation result.

[0018] With reference to the second possible implementation manner of the first aspect, in a third possible implementation manner of the first aspect, determining the prediction cost corresponding to the first predicted trajectory according to the summation result includes:

[0019] determining an upper bound value of noise of a system at a time of measurement, and determining a relaxation variable of the system;

[0020] determining the prediction cost corresponding to the first predicted trajectory according to the upper bound value of noise, the relaxation variable and the summation result.

[0021] With reference to the first aspect, in a fourth possible implementation manner of the first aspect, after performing the headtop control on the robot according to the control parameter prediction sequence included in the second predicted trajectory, the method further includes:

[0022] measuring an output state measurement sequence of an operating object on the headtop of the robot when the headtop control is performed on the robot using the control parameter prediction sequence;

[0023] update the historical trajectory according to the control parameter prediction sequence and the output state measurement sequence, and update the second driving parameter value according to the updated historical trajectory, and generate a third prediction trajectory according to the updated second driving parameter value.

[0024] With reference to any one of the first aspect to the fourth possible implementation manner of the first aspect, in a fifth possible implementation manner of the first aspect, the method further includes:

[0025] determining a neck motor control parameter sequence of the robot and an operation object state sequence corresponding to the neck motor control parameter sequence when the robot is controlled to operate the operation object located above the robot head using a preset initial controller;

[0026] determining the historical trajectory according to the neck motor control parameter sequence and the operation object state sequence.

[0027] With reference to any one of the first aspect to the fourth possible implementation manner of the first aspect, in a sixth possible implementation manner of the first aspect, the method further includes:

[0028] determining a zero moment point of the robot according to the center of mass position of the robot and the acceleration of the robot;

[0029] controlling the neck motor to adjust the zero moment point of the robot when the zero moment point of the robot is out of a predetermined stability constraint range, so as to restore the zero moment point of the robot to the stability constraint range.

[0030] A second aspect of the embodiments of the present application provides a head top control device of a robot, which comprises:

[0031] a historical trajectory determination unit configured to determine a historical trajectory of the robot, the historical trajectory comprising a historical input data sequence and a historical output data sequence of the robot in a head top control process, the historical input data sequence comprising a control parameter historical sequence of a neck motor of the robot, and the historical output data sequence comprising a system state quantity historical sequence of an operation object located above the robot head;

[0032] a first subset determination unit configured to determine a first subset according to the historical trajectory, and determine the first subset as a first prediction trajectory included in a prediction trajectory;

[0033] a first driving parameter value determination unit configured to determine a first driving parameter value when the first prediction trajectory is generated according to the historical trajectory;

[0034] The driving parameter optimization unit is configured to determine a prediction cost corresponding to the first prediction trajectory, optimize the first driving parameter value according to the prediction cost, and generate a second driving parameter value.

[0035] The control unit is configured to determine a second prediction trajectory of the robot according to the second driving parameter value, and perform head-top control on the robot according to a control parameter prediction sequence included in the second prediction trajectory.

[0036] With reference to the second aspect, in a first possible implementation manner of the second aspect, the apparatus further includes:

[0037] The terminal limit condition determination unit is configured to determine a terminal limit condition of the head-top control of the robot, and the terminal limit condition includes a received reference trajectory, and the reference trajectory is a second prediction trajectory included in the prediction trajectory.

[0038] The first driving parameter value determination unit is configured to:

[0039] determine the first driving parameter value including the first prediction trajectory and the second prediction trajectory based on the history trajectory driving generation.

[0040] With reference to the second aspect, in a second possible implementation manner of the second aspect, the driving parameter optimization unit includes:

[0041] The loss determination subunit is configured to determine a loss between each prediction point in the first prediction trajectory and a reference point.

[0042] The prediction cost determination subunit is configured to sum up the losses corresponding to each prediction point in the first prediction trajectory, and determine a prediction cost corresponding to the first prediction trajectory based on a sum result.

[0043] With reference to the second possible implementation manner of the second aspect, in a third possible implementation manner of the second aspect, the prediction cost determination subunit includes:

[0044] The variable determination module is configured to determine an upper bound of noise of the system at the time of measurement, and determine a slack variable of the system.

[0045] The prediction cost determination module is configured to determine the prediction cost corresponding to the first prediction trajectory based on the upper bound of the noise, the slack variable, and the sum result.

[0046] With reference to the second aspect, in a fourth possible implementation manner of the second aspect, the apparatus further includes:

[0047] The state measurement sequence measurement unit is configured to measure an output state measurement sequence of an operating object on the head of the robot when the robot is controlled by the head-top control using the control parameter prediction sequence.

[0048] a third predicted trajectory generation unit configured to update the historical trajectory according to the control parameter prediction sequence and the output state measurement sequence, update the second driving parameter value according to the updated historical trajectory, and generate a third predicted trajectory according to the updated second driving parameter value.

[0049] With reference to any one of the fourth possible implementation manners of the second aspect to the sixth possible implementation manner of the second aspect, in a fifth possible implementation manner of the second aspect, the historical trajectory determination unit comprises:

[0050] a sequence determination sub-unit configured to determine a neck motor control parameter sequence of the robot and an operation object state sequence corresponding to the neck motor control parameter sequence when the operation object located above the robot head is controlled by using a preset initial controller;

[0051] a historical trajectory determination sub-unit configured to determine the historical trajectory according to the neck motor control parameter sequence and the operation object state sequence.

[0052] With reference to any one of the fourth possible implementation manners of the second aspect to the sixth possible implementation manner of the second aspect, in a sixth possible implementation manner of the second aspect, the device further comprises:

[0053] a zero moment point determination unit configured to determine the zero moment point of the robot according to the center of mass position of the robot and the acceleration of the robot;

[0054] a zero moment point adjustment unit configured to control the neck motor to adjust the zero moment point of the robot when the zero moment point of the robot is not within the predetermined stability constraint range, so as to restore the zero moment point of the robot to the stability constraint range.

[0055] The third aspect of the embodiments of the present application provides a robot, which comprises a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the steps of the method according to any one of the first aspect when executing the computer program.

[0056] The fourth aspect of the embodiments of the present application provides a computer readable storage medium, which stores a computer program, and the computer program is executable on a processor to implement the steps of the method according to any one of the first aspect.

[0057] The beneficial effects of the embodiments of the present application compared with the prior art are: the embodiments of the present application determine the first subset in the obtained historical trajectory as the first predicted trajectory, determine the first driving parameter value when the first predicted trajectory is generated according to the historical trajectory driving, optimize the first driving parameter value through the prediction cost, generate the second driving parameter value, determine the second predicted trajectory of the robot according to the second driving parameter value, and perform overhead control on the robot according to the control parameter prediction sequence included in the second predicted trajectory. Since this method does not need to establish a kinematic model or a dynamic model, the first driving parameter value is determined based on the historical trajectory, the second driving parameter value is obtained by optimizing the prediction cost, the second predicted trajectory is obtained by driving prediction based on the second driving parameter value, and the overhead operation control is performed through the second predicted trajectory. Compared with the pre-programmed path and action, this method can effectively improve the reaction speed of the robot to unknown or changing environment, improve the flexibility and adaptability of the robot, and reduce the limitation of the robot in actual application. BRIEF DESCRIPTION OF DRAWINGS

[0058] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the embodiments or prior art description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.

[0059] Figure 1 is an implementation scene schematic diagram of a robot overhead control method provided by the embodiments of the present application;

[0060] Figure 2 is a simplified schematic diagram of an overhead ball system provided by the embodiments of the present application;

[0061] Figure 3 is an implementation flow schematic diagram of a robot overhead control method provided by the embodiments of the present application;

[0062] Figure 4 is an implementation flow schematic diagram of a robot overhead control method provided by the embodiments of the present application;

[0063] Figure 5 is a schematic diagram of a robot overhead control device provided by the embodiments of the present application;

[0064] Figure 6 is a schematic diagram of a robot provided by the embodiments of the present application. DETAILED DESCRIPTION

[0065] In the following description, for purposes of explanation and not limitation, specific details are set forth such as particular architectures, techniques, etc. in order to provide a thorough understanding of the embodiments of the present application. However, it will be apparent to those skilled in the art that the present application can be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known methods, devices, circuits, and

[0066] In order to illustrate the technical solutions of the present application, the following will be described through specific embodiments.

[0067] In order to increase the operation function of the humanoid robot, such as to increase the balance function of the operation object on the top of the robot head, the operation object on the top of the robot head can be controlled by the neck motor. However, this operation has many obvious problems and shortcomings, including:

[0068] 1. The control operation object on the top of the head is relatively complex.

[0069] It is an extremely complex task to realize the operation control of the operation object outside the robot head. The reason is that:

[0070] Firstly, the head needs to have multi-degree-of-freedom movement ability to ensure accurate positioning and adjustment in three-dimensional space. This not only involves complex mechanical design, but also requires high-precision sensors to provide real-time feedback on the position and attitude of the head.

[0071] Secondly, the movement of the head needs to be coordinated with the balance of the whole body to avoid causing the robot to lose balance during operation. Therefore, highly complex motion planning algorithms and real-time control strategies are needed to ensure that various dynamic changes and uncertainties can be handled when performing tasks.

[0072] 2. Poor environmental adaptability.

[0073] The current humanoid robot has limited adaptability in different environments. The robot often relies on pre-programmed paths and movements to perform tasks, and reacts slowly to unknown or changing environments. For example, in a complex indoor environment, the robot may have difficulty dealing with various obstacles, steps and irregular ground.

[0074] The vision system and sensing system of the robot often have many limitations when identifying and understanding dynamic changes in the environment, resulting in poor performance when dealing with unexpected situations. This lack of environmental adaptability greatly limits the application of the robot, especially in scenarios where the robot head control operation object requires high flexibility and adaptability.

[0075] 3. High real-time computing requirements.

[0076] To achieve precise control and stable motion, humanoid robots require a significant amount of real-time computation. This includes real-time processing of sensor data, complex motion planning, balance control, and environmental perception and recognition. These computations not only require powerful computing hardware but also efficient algorithms to ensure real-time performance and reliability.

[0077] However, hardware and software technologies still face the challenge of balancing performance and power consumption. Especially in multitasking and low-latency response, the high demands of real-time computing pose significant challenges to system design and implementation. This also means that in practical applications, robots may not be able to maintain consistently high performance with limited computing resources.

[0078] To address the aforementioned problems, embodiments of this application propose a method for controlling the top of a robot's head, such as... Figure 1 The diagram shows a scenario illustrating the implementation of this method. The manipulator 2 positioned above the robot 1 can be a manipulator sphere, a manipulator cylinder, a manipulator ellipsoid, or other manipulator objects that can rotate around a center of rotation.

[0079] To simplify calculations, Figure 1 The robot's overhead manipulation system shown, taking the manipulation of a sphere as an example, can be simplified as follows: Figure 2 The diagram shows a spherical system on the top of the head. The radius of the manipulating sphere is r. o The robot's head is assumed to have a radius of r. h The circle, with the center of rotation of the robot's head at p h The center of rotation of the sphere is p. o θ h This indicates the rotation angle of the robot's head center of mass relative to the neck motor. S represents the angular velocity of the robot's head center of mass relative to the neck motor. h This represents the length of the path the manipulating ball travels above the robot's head. This represents the first-order order of the motion path. During the control of the sphere on the robot's head, the controller needs to adjust the robot's neck motor, whose torque is τ. The robot's other motors can be fixed at a reasonable angle using position modes to ensure the robot conforms to... Figure 2 The structure shown indicates that the system state variable X for the robot's overhead control can be expressed as:

[0080]

[0081] In this embodiment, to maintain the balance of the operating sphere on the robot's head, a rotational torque needs to be applied to the neck motor. Therefore, the system control quantity u is the neck motor torque τ, i.e.:

[0082] u = τ

[0083] Since the system matrix and the control matrix are unknown, the embodiment of the present application uses the measurable system output to replace the system state as the control target.

[0084] Figure 3 An implementation flowchart of a head control method of a robot provided by the embodiment of the present application is shown in the figure. The method comprises:

[0085] In S301, the historical trajectory of the robot is determined.

[0086] In the embodiment of the present application, the historical trajectory comprises the historical input data sequence and the historical output data sequence of the robot in the head control process.

[0087] The historical input data sequence comprises the historical sequence of the control parameters of the neck motor of the robot. Since the control mode of the operating ball on the head of the robot is the torque of the neck motor, the historical sequence of the control parameters can comprise the sequence of the torque of the neck motor. The output sequence comprises the historical sequence of the system state quantity of the operating object on the head of the robot, which can comprise the sequence of the system state quantity determined by the measurable system state quantity X, wherein the system state quantity X comprises the rotation angle θ of the center of mass of the head of the robot relative to the neck motor h and the angular velocity The path length S of the operating ball moving on the head of the robot h and the first derivative

[0088] The input and output sequences of the operating ball system on the head of the robot can be expressed as The input and output sequences can represent a trajectory of the system. For any sequence It can be expressed by a Hankle matrix as follows:

[0089]

[0090] Wherein a represents the sequence For the sub-sequence in the sequence a, it can be expressed as:

[0091]

[0092] Therefore, for the historical trajectory Using the Hankle matrix, it can be expressed as:

[0093]

[0094] Suppose the sequence represents the historical input data sequence and the historical output data sequence of the historical trajectory of the system. And Then the sequence For L-step persistent excitation, the restriction condition of the system can be determined, i.e., the system must satisfy: N≥(n+1)L-1, which means that in order to successfully control the operation sphere system, the number N of data points in the historical trajectory must be at least equal to (n+1)L-1.

[0095] wherein m represents the dimension of the system input, n represents the order of the system or the dimension of the state variable, rank() represents the rank of the matrix, L represents the number of delay steps or time lag of the system, and N represents the length of the historical input data sequence or the historical output data sequence in the historical trajectory.

[0096] Suppose is a historical trajectory of the operation sphere system, and satisfies the condition of L-step persistent excitation, then the trajectory is also a trajectory of the operation sphere system if and only if there exists a driving parameter α∈R N-L+1 such that the prediction model represented by the following formula is established:

[0097]

[0098] The above formula indicates that if the driving parameter α has a solution, then the predicted trajectory R represents the real number field.

[0099] For a nonlinear system, it is required that the sum of all members of α is equal to 1, i.e.:

[0100] In addition, if a sequence is an L-step persistent excitation sequence, then L can be replaced by any value greater than L , and if the historical trajectory makes the prediction model established, then N can be replaced by any value greater than N .

[0101] In a possible implementation manner, the embodiment of the present application can use a preset initial controller, such as a PID controller or a PI controller, to perform steady-state control on the operation object (operation sphere), record the neck motor torque and system state quantity in the steady-state control process. The system state quantity includes the rotation angle θ h of the centroid of the robot head relative to the rotation angle of the neck driving motor , the path length S h of the operation sphere in the movement of the robot head, and the first derivative of the path length S h . The historical input data sequence included in the historical trajectory can be determined according to the historical sequence of the control parameters of the neck motor torque, and the historical output data sequence included in the historical trajectory can be determined according to the sequence of the system state quantity. The historical trajectory is determined according to the historical output data sequence and the historical input data sequence.

[0102] In S302, the first subset is determined according to the historical trajectory, and the first subset is determined as a first prediction trajectory included in the prediction trajectory.

[0103] The embodiment of the present application can use the prediction framework of the prediction model to represent the past N+n input data sequences and N+n output data sequences at time t based on the data-driven model predictive control method, which can be represented as:

[0104]

[0105] wherein, represents the historical trajectory, represents the Hankel matrix corresponding to the historical input data sequence, represents the Hankel matrix corresponding to the historical output data sequence, represents the prediction trajectory, and a(t) represents the driving parameter of the prediction model.

[0106] The historical trajectory on the right side of the above formula is known data, and in order to solve the driving parameter a, the prediction trajectory on the left side of the equation needs to be determined. Since the historical data can determine the first subset included in the prediction trajectory in the historical trajectory according to the system delay step or time lag L, the first subset is a first prediction trajectory included in the prediction trajectory. For example, the -n to -1 prediction data to be predicted can be equal to the historical data in the actual time t-n to t-1. It can be represented as:

[0107]

[0108] wherein, represents the historical data in the actual time t-n to t-1, represents the -n to -1 prediction data to be predicted.

[0109] In S303, the first driving parameter value when the first prediction trajectory is included is determined according to the driving generation of the historical trajectory.

[0110] The actual collected historical data is taken as the prediction data and substituted into formula (5) for prediction calculation, and the numerical value of the driving parameter a can be calculated as the first driving parameter value.

[0111] For model predictive control without terminal, a very long prediction step is needed to make the system stable while meeting the constraint condition. In order to make the system effectively reduce the prediction step, make the system quickly stable and meet the constraint condition, the head control terminal limit condition of the robot can be set, and the limit condition can include the received reference trajectory as a second prediction trajectory included in the prediction trajectory.

[0112] For example, taking the reference trajectory as the second prediction trajectory can be expressed as:

[0113]

[0114] wherein represents the reference trajectory input or set by the user, and represents the second prediction trajectory of the L-nth to the L-1th to be predicted.

[0115] In the process of generating the first driving parameter value including the first prediction trajectory based on the historical trajectory driving, the first prediction trajectory and the second prediction trajectory can be substituted into the left side of equation (5), so that the first driving parameter value can be calculated more quickly.

[0116] In S304, the prediction cost corresponding to the first prediction trajectory is determined, the first driving parameter value is optimized according to the prediction cost, and the second driving parameter value is generated.

[0117] In the process of data-driven calculation using the first prediction trajectory, the prediction cost of the model predictive control can be determined as:

[0118]

[0119] wherein J L (u [t-n,t-1] ,y [t-n,t-1] ,α(t)) represents the sum of the loss of the k=0th to the k=L-1th prediction trajectory point and the reference point from the t-n to t-1 period. represents the loss of the prediction point and the reference point. Q and R represent the weight matrix of the cost function, and u s represents the reference input data sequence, and y s represents the reference output data sequence, represents the prediction input data sequence, represents the prediction output data sequence. represents the square of the Q-norm of the vector.

[0120] By optimizing the driving parameter a aiming at minimizing the cost function, the second driving parameter value with higher accuracy relative to the first driving parameter value can be obtained.

[0121] In the embodiments of the present application, the output of the unknown linear time-invariant system (English full name: Linear Time-Invariant System, English abbreviation: LTIS) is usually not accurate enough and may be affected by measurement noise.

[0122] Therefore, the Hanker matrix, which relies on stacked data, may not fully cover the system's trajectory space, and thus the system's output trajectory may not be accurately predicted. Furthermore, the introduction of noise output measurement further reduces prediction accuracy. Therefore, directly applying Equation (8) to a data-driven model predictive control (DDMPC) scheme may lead to feasibility issues or closed-loop instability. To improve the feasibility and closed-loop stability of the scheme, this application can introduce a robust data-driven MPC method with terminal constraints to address the noise measurement problem.

[0123] Consider the historical output data measurement sequence in the initially available historical trajectory. Output measurements with bounded additive noise can be defined. And online output data measurement sequence of online measurement. in, For the historical actual output data sequence, For historical measurement noise, y k For the actual online output data sequence, ε k For online noise measurement, we set an upper limit for the noise level, which must meet the following conditions:

[0124]

[0125] Among them, ||*|| ∞ This represents the infinity norm of the vector *, which is the maximum absolute value of each element. This represents the upper bound of the noise level. Therefore, the current setting includes two types of noise. The data used for prediction via Hanker is represented by ε. d The disturbance can be interpreted as an uncertainty in the multiplicative model. On the other hand, the ε disturbance is measured online, therefore the overall control objective is a noise output feedback problem. The key idea for solving the noise measurement problem is to relax the equality constraints and appropriately penalize the relaxation parameters in the cost function. Given a noisy initial input-output trajectory of length n... and historical noise data The robustness of the predicted cost can be adjusted, and the adjusted representation is as follows:

[0126]

[0127] Where σ(t) represents the slack variable, λ α Represents the noise weight, λ σ Let represent the relaxation weights, and ||*||1 represent the 1-norm of the vector *, which is the sum of the absolute values ​​of its elements. The prediction cost corresponding to the first predicted trajectory is determined by summing the noise upper bound, the relaxation variables, and the losses of each predicted point and the reference point.

[0128] The second driving parameter value with higher precision can be obtained by optimizing the parameters according to the optimized prediction cost and combining formulas (5), (6) and (7).

[0129] In S305, the second prediction trajectory of the robot is determined according to the second driving parameter value, and the robot is top-controlled according to the control parameter prediction sequence included in the second prediction trajectory.

[0130] When the data-driven MPC problem is solved, the optimized second driving parameter value at the current time t is obtained, and the second prediction trajectory is calculated by applying the optimized second driving parameter value at the current time t to formula (4) and driving calculation. The control parameter prediction sequence included in the second prediction trajectory is input to the actual control system to stably control the robot top-operated object. Compared with the traditional MPC problem, the noise trajectory obtained by online measurement is used to replace the output data trajectory and the initial output obtained by online measurement.

[0131] In order to more effectively adapt to the requirements of environmental changes, when the robot is top-controlled by using the control parameter prediction sequence in the embodiment of the application, the output state measurement sequence of the robot top-operated object is measured, the historical trajectory is updated based on the control parameter prediction sequence and the output state measurement sequence, so that the latest scene control data can be included in the historical trajectory, thereby the driving parameter can be updated to obtain the second driving parameter value more matched with the scene, and the third prediction trajectory is generated based on the second driving parameter value to control the robot top-operated object. By updating the latest measurement data and control data to the historical data, the driving parameter is iteratively updated, so that the robot can better adapt to the changes of the environment and more stably and reliably control the robot top-operated object.

[0132] Figure 4 An implementation flowchart of a robot top-control method provided by the embodiment of the application is shown in the flowchart. In the flowchart, the initial controller can be used to control the object to obtain the historical trajectory After the initial controller, when the robot top-operated object is controlled by using the data-driven model prediction control method in the embodiment of the application, the measured data and control data can also be updated to the historical trajectory According to the first subset in the historical trajectory Combined with the reference trajectory input by the user By using the data-driven model prediction control method in the embodiment of the application, the control sequence can be determined The neck motor torque of the robot is used to control the robot. During the control process, the historical trajectory can be continuously updated according to the control data and the measured data, so that the robot can effectively adapt to the control requirements of the robot top-operated object in different scene changes.

[0133] In addition, in the simplified model of the force control standing system of the robot, only the neck motor of the robot needs to be adjusted, and the remaining motors are fixed at an initial position by position control. In an ideal case, the robot will always remain in a standing state. However, in extreme cases such as the application of a large torque by the neck motor of the robot or the operation of an object such as a large spherical mass, the stability of the robot is affected. To improve the stability of the robot, the application can determine the zero moment point (ZMP for short) of the robot according to the center of mass position and the center of mass acceleration of the robot.

[0134] Assuming that the gravitational acceleration is g, the center of mass position is (x c ,y c ,z c ), and the center of mass acceleration is The position (x zmp ,y zmp ) of the ZMP can be calculated by the following formula:

[0135]

[0136] The ZMP determined by the center of mass position and the center of mass acceleration can be compared with a predetermined stability constraint range, such as a support polygon. If it does not belong to the stability constraint range, the torque of the neck motor can be adjusted so that the adjusted ZMP is located within the stability constraint range, thereby improving the stability of the robot during the control of the object on the head.

[0137] It should be understood that the size of the serial number of each step in the above embodiments does not mean the order of execution. The execution order of each process should be determined according to its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the application.

[0138] Figure 5 A schematic diagram of a control device for an object on the head of a robot provided by an embodiment of the application is shown in the figure. The device comprises:

[0139] A historical trajectory determination unit 501 is configured to determine a historical trajectory of the robot. The historical trajectory comprises a historical input data sequence and a historical output data sequence of the robot during the head control process. The historical input data sequence comprises a historical sequence of control parameters of the neck motor of the robot, and the historical output data sequence comprises a historical sequence of system state quantities of the object on the head of the robot.

[0140] A first subset determination unit 502 is configured to determine a first subset according to the historical trajectory. The first subset is determined as a first prediction trajectory included in a prediction trajectory.

[0141] The first driving parameter value determination unit 503 is used to determine the first driving parameter value when the first predicted trajectory is generated based on the above-mentioned historical trajectory.

[0142] The driving parameter optimization unit 504 is used to determine the prediction cost corresponding to the first predicted trajectory, optimize the first driving parameter value based on the prediction cost, and generate a second driving parameter value.

[0143] The control unit 505 is used to determine the second predicted trajectory of the robot based on the second driving parameter value, and to perform overhead control on the robot based on the control parameter prediction sequence included in the second predicted trajectory.

[0144] Figure 6 This is a schematic diagram of a robot provided in an embodiment of this application. Figure 6 As shown, the robot 6 in this embodiment includes a processor 60, a memory 61, and a computer program 62 stored in the memory 61 and executable on the processor 60, such as a robot head-mounted manipulation program. When the processor 60 executes the computer program 62, it implements the steps in the various robot head-mounted manipulation method embodiments described above. Alternatively, when the processor 60 executes the computer program 62, it implements the functions of each module / unit in the various device embodiments described above.

[0145] For example, the computer program 62 described above can be divided into one or more modules / units, which are stored in the memory 61 and executed by the processor 60 to complete this application. The one or more modules / units may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of the computer program 62 in the robot 6.

[0146] The robot described above may include, but is not limited to, a processor 60 and a memory 61. Those skilled in the art will understand that... Figure 6 This is merely an example of robot 6 and does not constitute a limitation on robot 6. It may include more or fewer parts than shown, or combine certain parts, or different parts. For example, the robot described above may also include input / output devices, network access devices, buses, etc.

[0147] The processor 60 can be a central processing unit (CPU), and can also be other general-purpose processors, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor.

[0148] The memory 61 can be an internal storage unit of the robot 6, such as a hard disk or a memory of the robot 6. The memory 61 can also be an external storage device of the robot 6, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. Further, the memory 61 can include both the internal storage unit and the external storage device of the robot 6. The memory 61 is used to store the computer program and other programs and data required by the robot. The memory 61 can also be used to temporarily store data that has been output or will be output.

[0149] It can be clearly understood by those skilled in the art that, for the convenience and brevity of description, only the division of the above functional units and modules is taken as an example for description, and in actual application, the above functions can be completed by different functional units and modules according to needs, that is, the internal structure of the apparatus is divided into different functional units or modules to complete all or part of the above described functions. Each functional unit and module in the embodiment can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit, and the integrated unit can be realized in the form of hardware or in the form of a software functional unit. In addition, the specific names of the functional units and modules are only for the purpose of mutual distinction, and do not limit the protection scope of the present application. The specific working process of the units and modules in the system can refer to the corresponding process in the foregoing method embodiments, which will not be described here.

[0150] In the above embodiments, the description of each embodiment has its own emphasis, and the parts not described or recorded in detail in a certain embodiment can be referred to the relevant description of other embodiments.

[0151] Those skilled in the art can understand that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be realized by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are realized in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0152] In the embodiments provided by the present application, it should be understood that the disclosed apparatus / terminal device and method can be implemented in other ways. For example, the apparatus / terminal device embodiments described above are merely schematic, and the division of the above modules or units is merely a logical function division, and there can be another division manner in actual implementation. For example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections between the units can be indirect couplings or communication connections through some interfaces, devices or units, and can be electrical, mechanical or in other forms.

[0153] The units described as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, i.e. can be located in one place, or can be distributed on a plurality of network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiments.

[0154] In addition, each functional unit in each embodiment of the present application can be integrated into a processing unit, or each unit can exist physically independently, or two or more units can be integrated into one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit.

[0155] The above integrated modules / units, if realized in the form of software function units and sold or used as independent products, can be stored in a computer readable storage medium. Based on such understanding, all or part of the processes in the above embodiment methods can also be completed by computer program instruction related hardware, and the above computer program can be stored in a computer readable storage medium. When the computer program is executed by a processor, the steps of the above various method embodiments can be implemented. The computer program includes computer program code, which can be in the form of source code, object code, executable files or some intermediate forms. The computer readable medium can include any entity or device capable of carrying the above computer program code, recording medium, U disk, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signal, telecommunication signal and software distribution medium, etc. It should be noted that the content included in the above computer readable medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction, for example, in some jurisdictions, according to legislation and patent practice, the computer readable medium does not include electrical carrier signals and telecommunication signals.

[0156] The above embodiments are only used to illustrate the technical solutions of the present application, rather than limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacements for some technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application.

Claims

1. A head-top control method of a robot, characterized by, The method comprises: determining a historical trajectory of the robot, the historical trajectory comprising a historical input data sequence and a historical output data sequence of the robot in a head control process, the historical input data sequence comprising a historical sequence of control parameters of a neck motor of the robot, and the historical output data sequence comprising a historical sequence of system state quantities of an operating object on the head of the robot; determining a first subset from the historical trajectory, the first subset being a first predicted trajectory included in a predicted trajectory; determining a first driving parameter value generated according to the historical trajectory when the first predicted trajectory is included; determining a predicted cost corresponding to the first predicted trajectory, optimizing the first driving parameter value according to the predicted cost, and generating a second driving parameter value; determining a second predicted trajectory of the robot according to the second driving parameter value, and performing head control on the robot according to a predicted sequence of control parameters included in the second predicted trajectory.

2. The method of claim 1, wherein, Before determining the first driving parameter value generated according to the historical trajectory when the first predicted trajectory is included, the method further comprises: determining a terminal constraint condition of the head control of the robot, the terminal constraint condition comprising a received reference trajectory, and the reference trajectory being a second predicted trajectory included in the predicted trajectory; determining the first driving parameter value generated according to the historical trajectory when the first predicted trajectory is included, comprising: determining the first driving parameter value generated according to the historical trajectory when the first predicted trajectory and the second predicted trajectory are included.

3. The method of claim 1, wherein, Determining the predicted cost corresponding to the first predicted trajectory comprises: determining a loss between each predicted point in the first predicted trajectory and a reference point; summing the loss corresponding to each predicted point in the first predicted trajectory, and determining the predicted cost corresponding to the first predicted trajectory according to the summation result.

4. The method of claim 3, wherein, Determining the predicted cost corresponding to the first predicted trajectory according to the summation result comprises: determining an upper bound of noise of a system at a measurement time, and determining a slack variable of the system; determining the predicted cost corresponding to the first predicted trajectory according to the upper bound of noise, the slack variable, and the summation result.

5. The method of claim 1, wherein, After performing head control on the robot according to the predicted sequence of control parameters included in the second predicted trajectory, the method further comprises: measuring an output state measurement sequence of the operating object on the head of the robot when the operating object is controlled using the predicted sequence of control parameters; updating the historical trajectory according to the predicted sequence of control parameters and the output state measurement sequence, updating the second driving parameter value according to the updated historical trajectory, and generating a third predicted trajectory according to the updated second driving parameter value.

6. The method according to any one of claims 1 to 5, characterized in that, Determining the historical trajectory of the robot comprises: determining a sequence of neck motor control parameters of the robot and a sequence of operating object states corresponding to the sequence of neck motor control parameters when an operating object located on the head of the robot is controlled using a preset initial controller; determining the historical trajectory according to the sequence of neck motor control parameters and the sequence of operating object states.

7. The method according to any one of claims 1 to 5, characterized in that, The method further comprises: determining a zero moment point of the robot according to the center of mass position of the robot and acceleration of the robot; controlling the neck motor to adjust the zero moment point of the robot when the zero moment point of the robot is out of a predetermined stability constraint range, so as to restore the zero moment point of the robot to the stability constraint range.

8. A head-top control device of a robot, characterized by comprising: The device comprises: a historical trajectory determination unit configured to determine a historical trajectory of the robot, the historical trajectory comprising a historical input data sequence and a historical output data sequence of the robot in a head control process, the historical input data sequence comprising a historical sequence of control parameters of a neck motor of the robot, and the historical output data sequence comprising a historical sequence of system state quantities of an operating object on the head of the robot; a first subset determination unit configured to determine a first subset according to the historical trajectory, the first subset being a first predicted trajectory included in a predicted trajectory; a first driving parameter value determination unit configured to determine a first driving parameter value when generating the predicted trajectory according to the historical trajectory; a driving parameter optimization unit configured to determine a predicted cost corresponding to the first predicted trajectory, and optimize the first driving parameter value according to the predicted cost to generate a second driving parameter value; a control unit configured to determine a second predicted trajectory of the robot according to the second driving parameter value, and perform head control on the robot according to a control parameter prediction sequence included in the second predicted trajectory.

9. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, The processor implements the steps of the method of any one of claims 1 to 7 when executing the computer program.

10. A computer-readable storage medium storing a computer program, the computer program comprising instructions that, when executed by a computer, cause the computer to perform the method of any one of claims 1 to 9. The computer program, when executed by the processor, implements the steps of the method of any one of claims 1 to 7.

Citation Information

Patent Citations

  • Massage motion control method and device, robot control equipment and storage medium

    CN113305838A

  • Robot striding tool body control method and system, computer equipment and storage medium

    CN116079747A