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

By determining the historical trajectory in the humanoid robot and optimizing the driving parameter values, predicted trajectories are generated to achieve overhead control, the problem of slow response to unknown environments in the prior art is solved, and the flexibility and adaptability of the robot are improved.

CN119556555AActive Publication Date: 2025-03-04UBTECH ROBOTICS CORP LTD
View PDF 5 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

When the humanoid robot in the prior art controls the operating object overhead, it responds slowly to unknown or changing environments, which is not conducive to improving the flexibility and adaptability of the humanoid robot.

Method used

By determining the robot's historical trajectory, generating predicted trajectories and optimizing driving parameter values ​​for more flexible and adaptive overhead control. This method does not require the establishment of kinematic models or dynamic models, and is directly predicted and optimized based on historical trajectories.

Benefits of technology

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

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119556555A_ABST
    Figure CN119556555A_ABST
Patent Text Reader

Abstract

The invention relates to the field of robots, in particular to a robot, a head top control method and device thereof and a storage medium. The method comprises the following steps: determining a historical trajectory of a robot, determining a first subset according to the historical trajectory, and determining that the first subset is a first predicted trajectory included in predicted trajectories; determining a first driving parameter value when a first predicted trajectory is generated according to historical trajectory driving; determining a prediction cost corresponding to the first prediction track, and optimizing the first driving parameter value according to the prediction cost to generate a second driving parameter value; and determining a second prediction track of the robot according to the second driving parameter value, and performing head top control on the robot according to a control parameter prediction sequence included in the second prediction track. According to the method, the response speed of the robot to an unknown or changing environment can be effectively improved, the flexibility and adaptability of the robot are improved, and the limitation of the robot in practical application is reduced.
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 and a method, device and storage medium for controlling the robot's head. Background Art

[0002] Robots include humanoid robots. Humanoid robots (full name in English: Humanoid Robots) are robots designed to imitate human appearance and behavior. Humanoid robots usually have a human-like morphology, including a head, torso, limbs, etc., and can perform some human actions and tasks.

[0003] The robot head's manipulation of external objects is an extremely complex task, requiring the head to have multi-degree-of-freedom motion capabilities to ensure that the head can be accurately positioned and adjusted in three-dimensional space, and the head's movements must be coordinated with the body's balance to maintain the robot's balance during the task. In the process of humanoid robots controlling objects on their heads, they usually rely on pre-programmed paths and movements, and react slowly to unknown or changing environments, which is not conducive to improving the flexibility and adaptability of humanoid robots, and makes humanoid robots subject to greater restrictions in practical applications. Summary of the invention

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

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

[0006] Determine a historical trajectory of the robot, wherein the historical trajectory includes a historical input data sequence and a historical output data sequence of the robot during the head control process, wherein the historical input data sequence includes a historical sequence of control parameters of a neck motor of the robot, and the historical output data sequence includes a historical sequence of system state quantities of an operator on the head of the robot;

[0007] Determine a first subset according to the historical trajectory, and determine the first subset as a first predicted trajectory included in the predicted trajectory;

[0008] Determine a first driving parameter value when driving and generating the first predicted trajectory according to the historical trajectory;

[0009] 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;

[0010] A second predicted trajectory of the robot is determined according to the second driving parameter value, and the robot is controlled overhead according to a control parameter prediction sequence included in the second predicted trajectory.

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

[0012] Determining a terminal restriction condition for overhead control of the robot, wherein the terminal restriction condition includes the received reference trajectory, and the reference trajectory is a second predicted trajectory included in the predicted trajectory;

[0013] Determining to generate a first driving parameter value including the first predicted trajectory according to the historical trajectory driving includes:

[0014] The historical trajectory driving is determined to generate a first driving parameter value including the first predicted trajectory and the second predicted trajectory.

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

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

[0017] The losses corresponding to each prediction point in the first prediction trajectory are summed, and the prediction cost corresponding to the first prediction trajectory is determined according to the summation result.

[0018] In combination with 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 prediction trajectory according to the summation result includes:

[0019] Determine the upper noise limit of the system during measurement, and determine the relaxation variables of the above system;

[0020] The prediction cost corresponding to the first prediction trajectory is determined according to the noise upper bound, the slack variable and the summation result.

[0021] In combination with the first aspect, in a fourth possible implementation manner of the first aspect, after the robot is controlled overhead according to the control parameter prediction sequence included in the second predicted trajectory, the method further includes:

[0022] When the robot is controlled overhead using the control parameter prediction sequence, an output state measurement sequence of an operating object above the robot's head is measured;

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

[0024] In combination with 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, determining the historical trajectory of the robot includes:

[0025] When using a preset initial controller to control an operand located on the top of the robot, determining a neck motor control parameter sequence of the robot and an operand state sequence corresponding to the neck motor control parameter sequence;

[0026] The historical trajectory is determined according to the neck motor control parameter sequence and the operator state sequence.

[0027] In combination with 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 the zero moment point of the robot according to the center of mass position of the robot and the acceleration of the robot;

[0029] When the zero torque point of the robot does not belong to the predetermined stability constraint range, the neck motor is controlled to adjust the zero torque point so that the zero torque point of the robot is restored to the stability constraint range.

[0030] A second aspect of an embodiment of the present application provides a robot head control device, the device comprising:

[0031] a historical trajectory determination unit, used to determine the historical trajectory of the robot, the historical trajectory comprising a historical input data sequence and a historical output data sequence of the robot during the head-up 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 operator on the head of the robot;

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

[0033] A first driving parameter value determining unit, used to determine a first driving parameter value when generating the first predicted trajectory according to the historical trajectory driving;

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

[0035] A control unit is used to determine a second predicted trajectory of the robot according to the second driving parameter value, and to perform overhead control of the robot according to a control parameter prediction sequence included in the second predicted trajectory.

[0036] In conjunction with the second aspect, in a first possible implementation manner of the second aspect, the apparatus further includes:

[0037] A terminal restriction condition determination unit, used to determine a terminal restriction condition for the overhead control of the robot, wherein the terminal restriction condition includes a received reference trajectory, and the reference trajectory is a second predicted trajectory included in the predicted trajectory;

[0038] The first driving parameter value determination unit is used for:

[0039] The historical trajectory driving is determined to generate a first driving parameter value including the first predicted trajectory and the second predicted trajectory.

[0040] In conjunction with the second aspect, in a second possible implementation manner of the second aspect, the driving parameter optimization unit includes:

[0041] a loss determination subunit, configured to determine a loss between each predicted point and a reference point in the first predicted trajectory;

[0042] The prediction cost determination subunit is used to sum the losses corresponding to each prediction point in the first prediction trajectory, and determine the prediction cost corresponding to the first prediction trajectory according to the summation result.

[0043] In combination with the second possible implementation manner of the second aspect, in a third possible implementation manner of the second aspect, the predicted cost determination subunit includes:

[0044] A variable determination module, used to determine the upper limit value of the noise of the system during measurement, and to determine the relaxation variables of the above system;

[0045] A prediction cost determination module is used to determine the prediction cost corresponding to the first prediction trajectory according to the above-mentioned noise upper limit value, the above-mentioned slack variable and the above-mentioned summation result.

[0046] In combination with the second aspect, in a fourth possible implementation manner of the second aspect, the apparatus further includes:

[0047] a state measurement sequence measuring unit, for measuring an output state measurement sequence of an operating object above the robot's head when the robot is controlled overhead using the control parameter prediction sequence;

[0048] The third prediction trajectory generating unit is used to update the above historical trajectory according to the above control parameter prediction sequence and the above output state measurement sequence, update the above second driving parameter value according to the updated historical trajectory, and generate a third prediction trajectory according to the updated second driving parameter value.

[0049] In combination with any one of the second aspect to the fourth possible implementation manner of the second aspect, in a fifth possible implementation manner of the second aspect, the historical trajectory determination unit includes:

[0050] A sequence determination subunit, used to determine a neck motor control parameter sequence of the robot and an operand state sequence corresponding to the neck motor control parameter sequence when using a preset initial controller to control an operand located on the top of the robot;

[0051] The historical trajectory determination subunit is used to determine the above historical trajectory according to the above neck motor control parameter sequence and the above operator state sequence.

[0052] In combination with any one of the second aspect to the fourth possible implementation manner of the second aspect, in a sixth possible implementation manner of the second aspect, the apparatus further includes:

[0053] A zero moment point determination unit, used 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] The zero torque point adjustment unit is used to control the neck motor to adjust the zero torque point when the zero torque point of the robot does not belong to the predetermined stability constraint range, so that the zero torque point of the robot is restored to the stability constraint range.

[0055] A third aspect of an embodiment of the present application provides a robot, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of any one of the methods of the first aspect when executing the computer program.

[0056] A fourth aspect of an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any one of the above methods in the first aspect are implemented.

[0057] Compared with the prior art, the embodiments of the present application have the following beneficial effects: the embodiments of the present application determine the first subset of the acquired historical trajectory as the first predicted trajectory, determine the first driving parameter value when generating the first predicted trajectory according to the historical trajectory, optimize the first driving parameter value by predicting the cost, generate the second driving parameter value, determine the second predicted trajectory of the robot according to the second driving parameter value, and control the robot overhead according to the control parameter prediction sequence included in the second predicted trajectory. Since the method does not require the establishment of a kinematic model or a dynamic model, the first driving parameter value determined by the historical trajectory is used to obtain the second driving parameter value by predicting the cost optimization, the second predicted trajectory is obtained by driving prediction based on the second driving parameter value, and the overhead operation control is performed by the second predicted trajectory. Compared with pre-programmed paths and actions, the method can effectively improve the robot's reaction speed to unknown or changing environments, improve the robot's flexibility and adaptability, and reduce the limitations of the robot in practical applications. BRIEF DESCRIPTION OF THE DRAWINGS

[0058] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0059] Figure 1 It is a schematic diagram of an implementation scenario of a robot head control method provided in an embodiment of the present application;

[0060] Figure 2 It is a simplified schematic diagram of a head-mounted spherical ball system provided in an embodiment of the present application;

[0061] Figure 3 It is a schematic diagram of the implementation flow of a method for controlling the head of a robot provided in an embodiment of the present application;

[0062] Figure 4 It is a schematic diagram of the implementation flow of a method for controlling the head of a robot provided in an embodiment of the present application;

[0063] Figure 5 is a schematic diagram of an overhead control device of a robot provided in an embodiment of the present application;

[0064] Figure 6 It is a schematic diagram of a robot provided in an embodiment of the present application. DETAILED DESCRIPTION

[0065] In the following description, specific details such as specific system structures, technologies, etc. are provided for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application may also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from obstructing the description of the present application.

[0066] In order to illustrate the above technical solution of the present application, a specific embodiment is provided below for illustration.

[0067] In order to increase the operating function of the humanoid robot, for example, to increase the balance function of the operating object on the robot's head, the neck motor can be used to balance the operating object on the robot's head. However, this operation has many significant problems and disadvantages, including:

[0068] 1. The overhead control operations are relatively complicated.

[0069] Realizing the operation and control of external objects on the robot's head is an extremely complex task. The reasons are:

[0070] First, the head needs to have multi-degree-of-freedom movement capabilities 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 posture 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 required to ensure that various dynamic changes and uncertainties can be handled when performing tasks.

[0072] 2. Poor ability to adapt to the environment.

[0073] Current humanoid robots have limited adaptability in different environments. Robots often rely on pre-programmed paths and movements to perform tasks and are slow to respond to unknown or changing environments. For example, in complex indoor environments, robots may have difficulty dealing with various obstacles, steps, and irregular surfaces.

[0074] The robot's visual system and sensor system are often subject to many limitations when identifying and understanding dynamic changes in the environment, resulting in poor performance when responding to emergencies. This lack of environmental adaptability greatly limits the robot's practical applications, especially in scenarios where the robot's head-controlled objects require high flexibility and adaptability.

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

[0076] In order to achieve precise control and stable movement, humanoid robots need to perform a lot of real-time calculations. This includes real-time processing of sensor data, complex motion planning, balance control, and environmental perception and recognition. These calculations require not only powerful computing hardware support, but also efficient algorithms to ensure real-time performance and reliability.

[0077] However, hardware and software technologies still face the problem of balancing performance and power consumption. Especially in terms of multi-tasking and low-latency response, the high requirements of real-time computing have brought great challenges to system design and implementation. This also means that in practical applications, robots may not be able to maintain continuous high-performance operation under limited computing resources.

[0078] To solve the above problems, the present application embodiment proposes a robot head control method, such as Figure 1 The schematic diagram of the implementation scenario of the method is shown in FIG. The operating object 2 arranged on the top of the robot 1 can be an operating sphere, an operating cylinder, an operating ellipsoid or other operating objects that can rotate around a rotation center.

[0079] To simplify the calculation, Figure 1 The robot overhead manipulation system shown in the figure takes the manipulation of a ball as an example and can be simplified as follows: Figure 2 The overhead sphere system shown in the figure. The radius of the operating sphere is r o , the robot head is assumed to have a radius of r h The center of the robot head rotation is p h , the rotation center of the operating ball is p o ,θ h represents the rotation angle of the robot head mass center relative to the neck motor, represents the angular velocity of the robot head mass center relative to the neck motor, S h Indicates the path length of the operating ball moving above the robot’s head, Indicates the first level of the motion path. In the process of controlling the ball on the head, the motor that the controller needs to adjust is the robot neck motor, and the torque of the neck motor is τ. The other motors of the robot can be fixed at a reasonable angle through the position mode to make the robot meet Figure 2 The structure shown in the figure can be expressed as:

[0080]

[0081] In the embodiment of the present application, in order to keep the operating ball on the robot's head balanced, it is necessary to apply a rotational torque to the neck motor. Therefore, the system control quantity u is the neck motor torque τ, that is:

[0082] u=τ

[0083] Since the system matrix and the control matrix are unknown, the embodiment of the present application adopts a measurable system output instead of a system state as a control target.

[0084] Figure 3 A schematic diagram of a process flow for implementing a method for controlling a robot's head provided in an embodiment of the present application, the method comprising:

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

[0086] Among them, the historical trajectory in the embodiment of the present application includes the historical input data sequence and the historical output data sequence of the above-mentioned robot during the overhead control process.

[0087] The historical input data sequence includes the control parameter history sequence of the neck motor of the robot. Since the control method of the operating ball on the top of the robot is the neck motor torque, the control parameter history sequence may include the neck motor torque sequence. The output sequence includes the system state quantity history sequence of the operating object on the top of the robot, which may include a system state quantity sequence determined by a measurable system state quantity X, wherein the system state quantity X includes the rotation angle θ of the robot head mass center relative to the neck drive motor h and angular velocity The length of the path that the ball moves along the robot head is S h and its first-order derivative

[0088] The input and output sequence of the operating ball system on the robot's head can be expressed as The input-output sequence can be expressed as a trajectory of the system. It can be expressed by the Hankle matrix as:

[0089]

[0090] Among them, a represents the sequence For a subsequence in sequence a, it can be expressed as:

[0091]

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

[0093]

[0094] Assume sequence The historical input data sequence and the historical output data sequence represent the historical trajectory of the system. And It can be determined For L-order continuous excitation, the system constraints can be determined, that is, the system must satisfy: N≥(n+1)L-1, which means that in order to successfully control the operating spherical system, the number of data points N in the historical trajectory must be at least equal to (n+1)L-1.

[0095] Among them, 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 system delay steps or time lag, and N represents the length of the historical input data sequence or the historical output data sequence in the historical trajectory.

[0096] assumed is a historical trajectory of operating the spherical system, and If the condition of L-order continuous excitation is met, then the trajectory is also a trajectory of the operating ball system if and only if there exists a driving parameter α∈R N-L+1 This makes the prediction model expressed by the following formula valid:

[0097]

[0098] The above formula indicates that if the driving parameter α has a solution, the predicted trajectory can be calculated based on the solved driving parameter α and combined with historical data. R represents the field of real numbers.

[0099] For nonlinear systems, it is necessary to satisfy that the sum of all members of α is equal to 1, that is:

[0100] In addition, if a sequence is a sequence of L-order continuous excitation, then L can be arbitrarily larger than L. If the historical trajectory makes the prediction model valid, N can be any value greater than N. replace.

[0101] In a possible implementation, the embodiment of the present application may use a preset initial controller, such as a PID controller or a PI controller, to perform steady-state control on the operating object (operating ball), and record the neck motor torque and system state quantity during the steady-state control process. The system state quantity includes the rotation angle θ of the robot head mass center relative to the neck drive motor h and angular velocity The length of the path that the ball moves along the robot head is S h and its first-order derivative 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 system state quantity sequence. The historical trajectory is determined according to the historical output data sequence and the historical input data sequence.

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

[0103] The data-driven model predictive control method of the embodiment of the present application can be used to predict the past N+n input data sequences and N+n output data sequences at time t. The prediction framework using the above prediction model can be expressed as:

[0104]

[0105] in, Represents the historical trajectory, Represents the Hanke matrix corresponding to the historical input data sequence, Represents the Hanke matrix corresponding to the historical output data sequence, represents the predicted trajectory, and α(t) represents the driving parameters of the prediction model.

[0106] The historical trajectory on the right side of the above equation is known data. In order to solve the driving parameter α, it is necessary to determine the predicted trajectory on the left side of the equation. Since the first subset of the predicted trajectory in the historical trajectory can be determined according to the system delay steps or time lag L, the first subset is the first predicted trajectory included in the predicted trajectory. For example, the predicted data required to be predicted from -n to -1 can be equal to the historical data from the actual time tn to t-1. It can be expressed as:

[0107]

[0108] in, Represents the historical data from the actual time tn to t-1. Indicates the -nth to -1th prediction data required to be predicted.

[0109] In S303, a first driving parameter value when generating the first predicted trajectory according to the historical trajectory driving is determined.

[0110] The historical data actually collected is used as prediction data and substituted into formula (5) for prediction calculation. The value of the driving parameter α can be calculated as the first driving parameter value.

[0111] For model predictive control without a terminal, a very long prediction step is required to make the system stable and meet the constraints. In order to enable the system to effectively reduce the prediction step so that the system can quickly stabilize and meet the constraints, the terminal constraint of the robot's overhead control can be set. The constraint can include a received reference trajectory, which is used as the second predicted trajectory included in the predicted trajectory.

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

[0113]

[0114] Here, represents the reference trajectory input or set by the user, and represents the second predicted trajectory from the Lnth to the L-1th that needs to be predicted.

[0115] When the first driving parameter value including the first predicted trajectory is generated based on the historical trajectory driving, the first predicted trajectory and the second predicted trajectory may 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 predicted trajectory is determined, and the first driving parameter value is optimized according to the prediction cost to generate a second driving parameter value.

[0117] When using the first predicted trajectory for data-driven calculations, the prediction cost of model predictive control can be determined as:

[0118]

[0119] Among them, J L (u [t-n,t-1] ,y [t-n,t-1] ,α(t)) represents the sum of the losses of the k=0th to k=L-1th predicted trajectory points and the reference points from tn to t-1. represents the loss between the predicted point and the reference point. Q, R represents the weight matrix of the cost function, u s represents the reference input data sequence, y s represents the reference output data sequence, represents the predicted input data sequence, Represents the predicted output data sequence. Represents the square of the Q-norm of the vector *.

[0120] By optimizing the driving parameter α with the minimization of the cost function as the goal, a second driving parameter value with higher accuracy than 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 (full name of which is Linear Time-Invariant System, abbreviated as LTIS in English) is usually not very accurate and may be affected by measurement noise.

[0122] Therefore, the stacked data-dependent Hanke matrix may not completely cover the trajectory space of the system, and therefore, the output trajectory of the system may not be accurately predicted. In addition, the introduction of noisy output measurements will further reduce the prediction accuracy. Therefore, the direct application of the data-driven model predictive control (DDMPC) scheme of equation (8) may cause feasibility problems or make the closed loop unstable. In order to improve the feasibility of the scheme and improve the closed-loop stability, the present application can introduce a robust data-driven MPC method with terminal constraints to solve the noise measurement problem.

[0123] Consider the historical output data measurement sequence in the initially available history trace For output measurements with bounded additive noise in , we can define And the online output data measurement sequence of online measurement in, is the historical actual output data sequence, is the historical measurement noise, y k is the actual online output data sequence, ε k To measure the noise online, we set a limit on the upper limit of the noise to satisfy

[0124]

[0125] Among them, ||*|| ∞ Represents the infinite norm of vector*, that is, the maximum absolute value of each element, represents the upper noise limit. Therefore, the current setting includes two types of noise. The data used for prediction by Hanco is ε d perturbations, which can be interpreted as the uncertainty of the multiplicative model. On the other hand, the ε perturbations are measured online, so the overall control objective is a noisy output feedback problem. The key idea to solve the noisy measurement problem is to relax the equality constraints and appropriately penalize the relaxed parameters in the cost function. Given an initial noisy input-output trajectory of length n And historical noise data The robustness of the prediction cost can be adjusted, and the adjusted representation is:

[0126]

[0127] Among them, σ(t) represents the slack variable, λ α represents the noise weight, λ σ represents the relaxation weight, and ||*||1 represents the 1-norm of the vector *, that is, the sum of the absolute values ​​of each element. That is, the prediction cost corresponding to the first prediction trajectory is determined by summing the noise upper bound, the relaxation variable, and the loss of each prediction point and the reference point.

[0128] By optimizing the parameters by combining the optimized prediction cost with equations (5), (6) and (7), a second driving parameter value with higher accuracy can be obtained.

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

[0130] When the data-driven MPC problem is solved and the optimized second driving parameter value is obtained, the optimized second driving parameter value at the current time t can be applied to formula (4), the second predicted trajectory is obtained by driving calculation, and the control parameter prediction sequence input included in the second predicted trajectory is applied to the actual control system to perform stability control on the robot's overhead operation object. Compared with the traditional MPC problem, the embodiment of the present application replaces the output data trajectory and the initial output obtained by online measurement with the noise trajectory obtained by online measurement.

[0131] In order to more effectively adapt to the requirements of environmental changes, when the embodiment of the present application uses the control parameter prediction sequence to control the robot overhead, the output state measurement sequence of the robot's overhead operating object is measured, and the historical trajectory is updated based on the control parameter prediction sequence and the output state measurement sequence, so that the historical trajectory can include the latest scene control data, so that the drive parameters can be updated according to the updated historical trajectory, and a second drive parameter value that better matches the scene is obtained, and a third prediction trajectory is generated based on the second drive parameter value to control the robot's overhead operating object. By updating the latest measurement data and control data to historical data and iteratively updating the drive parameters, the robot can better adapt to changes in the environment and more stably and reliably control the robot's overhead operating object.

[0132] Figure 4 A schematic diagram of the implementation flow of a robot head control method provided in an embodiment of the present application. In the schematic diagram, the operator can be controlled by a preset initial controller to obtain a historical trajectory. After the initial controller, when the operating object on the robot's head is controlled by the data-driven model predictive control method in the embodiment of the present application, the measured data and control data can also be updated with the historical trajectory According to the first subset in the historical trajectory Combined with user input reference trajectory The data-driven model predictive control method in the embodiment of the present application can be used to determine the control sequence Used to control the torque of the robot's neck motor. During the control process, the historical trajectory can be continuously updated according to the control data and measurement data, so that the robot can effectively adapt to the control requirements of the operating objects on the robot's head when different scenes change.

[0133] In addition, in the simplified model of the robot's force-controlled standing system, only the neck motor of the robot needs to be adjusted, and the other motors are fixed at an initial position by position control. Ideally, the robot will always remain in a standing state, but when the robot's neck motor applies a large torque, or the operating object, such as the operating ball, is too heavy, the robot's stability is affected in extreme cases. In order to improve the robot's stability, the embodiment of the present application can determine the robot's zero torque point (abbreviated as ZMP in English) based on the robot's center of mass position and center of mass acceleration.

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

[0135]

[0136] The zero torque point 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 fall within the stability constraint range, the neck motor torque can be adjusted so that the adjusted zero torque point is within the stability constraint range, thereby improving the stability of the robot in the process of controlling the overhead operation.

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

[0138] Figure 5 A schematic diagram of a control device for an overhead operating object of a robot provided in an embodiment of the present application, the device comprising:

[0139] A history trajectory determination unit 501 is used to determine the history trajectory of the robot, wherein the history trajectory includes a history input data sequence and a history output data sequence of the robot during the head control process, wherein the history input data sequence includes a history sequence of control parameters of the neck motor of the robot, and the history output data sequence includes a history sequence of system state quantities of the operator on the head of the robot;

[0140] A first subset determining unit 502, configured to determine a first subset according to the historical trajectory, and determine the first subset as a first predicted trajectory included in the predicted trajectory;

[0141] A first driving parameter value determining unit 503, used to determine a first driving parameter value when generating the first predicted trajectory according to the historical trajectory driving;

[0142] A driving parameter optimization unit 504 is used to determine a prediction cost corresponding to the first predicted trajectory, optimize the first driving parameter value according to 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 according to the second driving parameter value, and to perform overhead control of the robot according to the control parameter prediction sequence included in the second predicted trajectory.

[0144] Figure 6 is a schematic diagram of a robot provided in an embodiment of the present application. Figure 6 As shown, the robot 6 of 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 overhead manipulation program. When the processor 60 executes the computer program 62, the steps of the robot overhead manipulation method embodiments are implemented. Alternatively, when the processor 60 executes the computer program 62, the functions of the modules / units in the device embodiments are implemented.

[0145] Exemplarily, the computer program 62 may be divided into one or more modules / units, which are stored in the memory 61 and executed by the processor 60 to complete the present application. The one or more modules / units may be a series of computer program instruction segments capable of completing specific functions, which are used to describe the execution process of the computer program 62 in the robot 6.

[0146] The robot may include, but is not limited to, a processor 60 and a memory 61. Those skilled in the art will appreciate that Figure 6 It is only an example of a robot 6 and does not constitute a limitation of the robot 6. It may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, the above-mentioned robot may also include input and output devices, network access devices, buses, etc.

[0147] The processor 60 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.

[0148] The memory 61 may be an internal storage unit of the robot 6, such as a hard disk or memory of the robot 6. The memory 61 may 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. equipped on the robot 6. Further, the memory 61 may include both an internal storage unit and an 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 may also be used to temporarily store data that has been output or is to be output.

[0149] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by different functional units and modules as needed, that is, the internal structure of the above-mentioned device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated in a processing unit, or each unit can exist physically separately, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.

[0150] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0151] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0152] In the embodiments provided in the present application, it should be understood that the disclosed devices / terminal equipment and methods can be implemented in other ways. For example, the device / terminal equipment embodiments described above are only schematic. For example, the division of the above modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0153] The units described above as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0154] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0155] If the above-mentioned integrated module / unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by hardware related to computer program instructions. The above-mentioned computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the above-mentioned computer program includes computer program code, and the above-mentioned computer program code can be in source code form, object code form, executable file or some intermediate form. The above-mentioned computer-readable medium may include: any entity or device capable of carrying the above-mentioned computer program code, recording medium, U disk, mobile hard disk, disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, RandomAccess Memory), electric carrier signal, telecommunication signal and software distribution medium. It should be noted that the content contained in the above-mentioned 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, computer-readable media do not include electric carrier signals and telecommunication signals.

[0156] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the above embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the above embodiments, or replace some of the technical features therein by equivalents. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.

Claims

1. A robot head control method, characterized in that: The method comprises: Determine a historical trajectory of the robot, wherein the historical trajectory includes a historical input data sequence and a historical output data sequence of the robot during the head control process, wherein the historical input data sequence includes a historical sequence of control parameters of a neck motor of the robot, and the historical output data sequence includes a historical sequence of system state quantities of an operator on the head of the robot; Determine a first subset according to the historical trajectory, and determine the first subset as a first predicted trajectory included in the predicted trajectory; Determine a first driving parameter value when driving and generating the first predicted trajectory according to the historical trajectory; determining a prediction cost corresponding to the first predicted trajectory, optimizing the first driving parameter value according to the prediction cost, and generating a second driving parameter value; A second predicted trajectory of the robot is determined according to the second driving parameter value, and the robot is controlled overhead according to a control parameter prediction sequence included in the second predicted trajectory.

2. The method according to claim 1, characterized in that Before determining a first driving parameter value when generating the first predicted trajectory according to the historical trajectory driving, the method further includes: Determining a terminal constraint condition for overhead control of the robot, wherein the terminal constraint condition includes a received reference trajectory, and the reference trajectory is a second predicted trajectory included in the predicted trajectory; Determining to generate a first driving parameter value including the first predicted trajectory according to the historical trajectory driving includes: Determining the historical trajectory driving generates a first driving parameter value including the first predicted trajectory and the second predicted trajectory.

3. The method according to claim 1, characterized in that Determining a prediction cost corresponding to the first predicted trajectory includes: determining a loss between each predicted point in the first predicted trajectory and a reference point; The losses corresponding to each prediction point in the first prediction trajectory are summed, and a prediction cost corresponding to the first prediction trajectory is determined according to the summation result.

4. The method according to claim 3, characterized in that Determining a prediction cost corresponding to the first predicted trajectory according to the summation result includes: Determining an upper noise bound of the system during measurement, and determining a relaxation variable of the system; A prediction cost corresponding to the first predicted trajectory is determined according to the noise upper bound, the slack variable, and the summation result.

5. The method according to claim 1, characterized in that After performing overhead control on the robot according to the control parameter prediction sequence included in the second predicted trajectory, the method further includes: When the robot is controlled overhead using the control parameter prediction sequence, an output state measurement sequence of an operating object above the robot's head is measured; The historical trajectory is updated according to the control parameter prediction sequence and the output state measurement sequence, the second driving parameter value is updated according to the updated historical trajectory, and a third prediction trajectory is generated according to the updated second driving parameter value.

6. The method according to any one of claims 1 to 5, characterized in that: Determine the historical trajectory of the robot, including: When using a preset initial controller to control an operand located on the top of the robot, determining a neck motor control parameter sequence of the robot and an operand state sequence corresponding to the neck motor control parameter sequence; The historical trajectory is determined according to the neck motor control parameter sequence and the operator state sequence.

7. The method according to any one of claims 1 to 5, characterized in that: The method further comprises: Determining the zero moment point of the robot according to the center of mass position of the robot and the acceleration of the robot; When the zero torque point of the robot does not belong to the predetermined stability constraint range, the neck motor is controlled to adjust the zero torque point so that the zero torque point of the robot is restored to the stability constraint range.

8. A robot head control device, characterized in that: The device comprises: a historical trajectory determination unit, used to determine the historical trajectory of the robot, wherein the historical trajectory includes a historical input data sequence and a historical output data sequence of the robot during the head-mounted control process, wherein the historical input data sequence includes a historical sequence of control parameters of a neck motor of the robot, and the historical output data sequence includes a historical sequence of system state quantities of an operator on the head of the robot; A first subset determining unit, configured to determine a first subset according to the historical trajectory, and determine the first subset as a first predicted trajectory included in the predicted trajectory; A first driving parameter value determining unit, configured to determine a first driving parameter value when generating the first predicted trajectory according to the historical trajectory driving; a driving parameter optimization unit, configured to determine a prediction cost corresponding to the first predicted trajectory, optimize the first driving parameter value according to the prediction cost, and generate a second driving parameter value; A control unit is used to determine a second predicted trajectory of the robot according to the second driving parameter value, and to perform overhead control of 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, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.

10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.

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

  • Anti -shaking and anti -dropping's intelligent robot

    CN208773638U

  • Force detection device, robot, electronic component conveyance device, electronic component inspection device, and component processing device

    JP2015087281A

  • Robot controlling device

    US20210187743A1