Robot Motion Control Method, Device, Robot, Medium and Program Product

Through the dual-layer controller logic, the actual expected state of the robot performing the target task is predicted, and the joint control instructions of the motion branch are determined based on this state, which solves the problem of the difficulty of motion control of the leg and arm composite robot, and achieves strong robustness and environmental anti-interference ability.

CN119369392BActive Publication Date: 2025-06-24BEIJING XIAOMI ROBOT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411517614.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-28
Publication Date
2025-06-24
Estimated Expiration
2044-10-28

AI Technical Summary

Technical Problem

The motion control of the leg-arm composite robot has high difficulty due to its high nonlinearity, high degree of freedom, hybrid continuous system and discrete system, making it difficult to achieve effective target task execution.

Method used

Using the logic of a two-layer controller, the first controller predicts the actual expected state of the robot performing the target task based on the estimated expected state and the current actual state estimation of the robot performing the target task; then, the second controller determines the joint control instructions of the motion branch based on the actual expected state and the current actual state, and controls the robot motion according to these instructions to complete the target task.

Benefits of technology

It realizes strong robustness and environmental anti-interference ability in controlling the robot to perform target tasks, breaks the current situation of leg and arm separation control, and improves the operation efficiency of the robot in complex environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119369392B_ABST
    Figure CN119369392B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a robot motion control method, device, robot, medium, and program product. The robot includes a robot body, robot feet, and a robotic arm. The robot feet and the robotic arm respectively form motion chains with the robot body. The method includes: determining, by a first controller, second reference data according to the acquired first reference data and the current actual state estimation of the robot, where the first reference data is used to represent the estimated expected state of the robot for performing a target task, and the second reference data is used to represent the actual expected state of the robot for performing the target task; determining, by a second controller, control instructions for the joints of the motion chains according to the second reference data and the current actual state estimation of the robot; controlling the robot to move according to the control instructions, breaking the current situation of separate control of the legs and the arm, and adopting the control logic of a double-layer controller, so as to have strong robustness and environmental anti-interference ability during the process of controlling the robot to perform the target task.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of robots, and particularly to a robot motion control method, apparatus, robot, medium, and program product. Background Art

[0002] The robot with combined legs and arms can adapt to relatively complex terrains and working environments, and can replace humans to complete multi-contact and long-sequence operation tasks, so it is widely used in various scenarios such as home service, industrial inspection, and rescue and fire fighting.

[0003] The motion of the robot with combined legs and arms often has characteristics such as high non-linearity, high degrees of freedom, hybrid continuous systems, and discrete systems. Therefore, the control of the robot with combined legs and arms is of high difficulty. Summary of the Invention

[0004] To overcome the problems existing in the related art, the present disclosure provides a robot motion control method, apparatus, robot, medium, and program product.

[0005] According to a first aspect of an embodiment of the present disclosure, a robot motion control method is provided. The robot includes a robot body, robot feet, and a robotic arm. The robot feet and the robotic arm respectively form motion chains with the robot body. The method includes:

[0006] A first controller determines second reference data based on the acquired first reference data and the current actual state estimation of the robot. The first reference data is used to represent the estimated expected state of the robot for performing a target task, and the second reference data is used to represent the actual expected state of the robot for performing the target task;

[0007] A second controller determines control instructions for the joints of the motion chain based on the second reference data and the current actual state estimation of the robot;

[0008] The robot is controlled to move according to the control instructions to perform the target task.

[0009] Optionally, the first reference data includes a first reference trajectory and state information of the end of the motion chain and a target object when performing the target task. The step of determining, by the first controller, second reference data based on the acquired first reference data and the current actual state estimation of the robot includes:

[0010] The first controller determines the actual expected states of the robot at multiple future time steps based on the acquired first reference data and the current actual state estimation of the robot. The second reference data includes the actual expected states of the robot at multiple future time steps.

[0011] Optionally, the control frequency of the first controller is lower than that of the second controller.

[0012] Optionally, the motion branch chain includes an end and joints, and the second reference data includes a second reference trajectory, joint reference data of the joints, and end reference data of the end. Determining a control command for a joint of the motion branch chain by the second controller according to the second reference data and an actual state estimation of the robot currently includes:

[0013] Based on the task priority and the constraint priority, determining, by the second controller according to the second reference data and an actual state estimation of the robot currently, a target state of the robot at a next time step;

[0014] Determining a control command for a joint of the motion branch chain according to the target state.

[0015] Optionally, during the motion of the robot, the task priority is determined in real time.

[0016] Optionally, the first controller includes a linear model, and the second controller includes a non - linear model.

[0017] According to a second aspect of an embodiment of the present disclosure, there is provided a robot motion control device. The robot includes a robot body, robot feet, and a robotic arm. The robot feet and the robotic arm respectively form motion branch chains with the robot body. The device includes:

[0018] A first determination module, configured to determine second reference data by a first controller according to acquired first reference data and an actual state estimation of the robot currently. The first reference data is used to characterize a predicted desired state for the robot to execute a target task, and the second reference data is used to characterize an actual desired state for the robot to execute the target task;

[0019] A second determination module, configured to determine a control command for a joint of the motion branch chain by a second controller according to the second reference data and an actual state estimation of the robot currently;

[0020] A control module, configured to control the motion of the robot according to the control command to execute the target task.

[0021] According to a third aspect of an embodiment of the present disclosure, there is provided a robot. The robot includes a robot body, robot feet, and a robotic arm. The robot feet and the robotic arm respectively form motion branch chains with the robot body. The robot further includes:

[0022] A processor;

[0023] A memory for storing processor-executable instructions;

[0024] Wherein, the processor is configured to:

[0025] Determine second reference data through a first controller based on the acquired first reference data and the current actual state estimation of the robot, where the first reference data is used to characterize the estimated expected state of the robot for performing a target task, and the second reference data is used to characterize the actual expected state of the robot for performing the target task;

[0026] Determine control instructions for the joints of the motion branch chain through a second controller based on the second reference data and the current actual state estimation of the robot;

[0027] Control the movement of the robot according to the control instructions to perform the target task.

[0028] According to a fourth aspect of the embodiments of the present disclosure, there is provided a computer-readable storage medium, on which computer program instructions are stored, and when the program instructions are executed by a processor, the steps of the robot motion control method provided in the first aspect of the present disclosure are implemented.

[0029] According to a fifth aspect of the embodiments of the present disclosure, there is provided a computer program product, including a computer program, and when the computer program is executed by a processor, the steps of the robot motion control method provided in the first aspect of the present disclosure are implemented.

[0030] The technical solutions provided by the embodiments of the present disclosure may include the following beneficial effects: Equivalent the robot's feet and manipulator to the same motion branch chain connected to the robot body, thus breaking the current situation of separate control of the legs and arms; In addition, use the first controller to predict the actual expected state of the robot for performing the target task based on the estimated expected state of the robot for performing the target task and the current actual state estimation of the robot; On this basis, use the second controller to obtain the control instructions for the joints of the motion branch chain, and control the movement of the robot according to the control instructions to complete the execution of the target task, that is, adopt the control logic of a two-layer controller, so as to have strong robustness and environmental anti-interference ability in the process of controlling the robot to perform the target task.

[0031] It should be understood that the above general description and subsequent detailed description are only exemplary and explanatory, and cannot limit the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] The accompanying drawings here are incorporated into the specification and constitute a part of this specification, showing embodiments consistent with the present disclosure, and are used together with the specification to explain the principles of the present disclosure.

[0033] Figure 1It is a flowchart of a robot motion control method shown according to an exemplary embodiment.

[0034] Figure 2 It is a flowchart of a robot motion control method shown according to an exemplary embodiment.

[0035] Figure 3 It is a schematic diagram of multiple parameters involved in a robot motion control method at different times shown according to an exemplary embodiment of the present disclosure.

[0036] Figure 4 It is a block diagram of a robot motion control device shown according to an exemplary embodiment.

[0037] Figure 5 It is a schematic structural diagram of an electronic device shown according to an exemplary embodiment. Detailed implementation manners

[0038] Here, the exemplary embodiments will be described in detail, and the examples are shown in the drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementation manners described in the following exemplary embodiments do not represent all implementation manners consistent with the present disclosure. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.

[0039] It should be noted that all actions of obtaining signals, information, or data in the present disclosure are carried out on the premise of complying with the corresponding data protection regulations and policies of the country where it is located and obtaining the authorization given by the owner of the corresponding device.

[0040] Figure 1 It is a flowchart of a robot motion control method shown according to an exemplary embodiment of the present disclosure. This robot motion control method can be applied to an electronic device or a robot, and the electronic device can be implemented in various forms. For example, the electronic device described in the present disclosure can include a mobile phone, a tablet computer, a laptop computer, a desktop computer, a handheld computer, a personal digital assistant (PDA), a portable media player (PMP), a navigation device, a wearable device, a smart bracelet, etc.

[0041] The robot described in this disclosure includes a leg-arm composite robot, which is a multi-modal mobile operation robot that combines leg and arm mechanisms. Among them, the legs can also be referred to as the robot feet. Further, the leg-arm composite robot can be a multi-legged robot such as a bipedal robot, a quadrupedal robot, and a hexapod robot. The arm can also be referred to as a robotic arm. Further, the leg-arm composite robot can be a double-arm robot or a single-arm robot, etc.

[0042] In this disclosure, the robot may include a robot body, robot feet, and a robotic arm. Each robot foot and each robotic arm respectively form a kinematic chain with the robot body. Further, in the following embodiments, this disclosure takes the robot including a robot body, four robot feet, and a robotic arm as an example to explain and illustrate this disclosure.

[0043] Refer to Figure 1 , the robot motion control method may include the following steps:

[0044] In step S11, the first controller determines the second reference data based on the acquired first reference data and the current actual state estimation of the robot. The first reference data is used to represent the estimated expected state of the robot for performing the target task, and the second reference data is used to represent the actual expected state of the robot for performing the target task;

[0045] In step S12, the second controller determines the control commands for the joints of the kinematic chain based on the second reference data and the current actual state estimation of the robot;

[0046] In step S13, the robot motion is controlled according to the control commands to perform the target task.

[0047] In the above manner, the robot feet and the robotic arm are equivalent to the same kinematic chain connected to the robot body, thus breaking the current situation of separate control of legs and arms; in addition, the first controller predicts the actual expected state of the robot for performing the target task based on the estimated expected state of the robot for performing the target task and the current actual state estimation of the robot; on this basis, the second controller obtains the control commands for the joints of the kinematic chain and controls the robot motion according to the control commands to complete the execution of the target task, that is, adopts the control logic of a double-layer controller, so as to have strong robustness and environmental anti-interference ability in the process of controlling the robot to perform the target task.

[0048] In a possible way, the target task is a mobile operation task with multi-contact and long sequence, such as an automatic door opening task.

[0049] It should be noted that each robot foot and each robotic arm respectively form a kinematic chain with the robot body. For example, taking a robot including a robot body, four robot feet and one robotic arm as an example, there are a total of 5 kinematic chains. The 5 kinematic chains are respectively the kinematic chains formed by each robot foot and the robot body, and the kinematic chain formed by the robotic arm and the robot body. In the present disclosure, each kinematic chain may include joints and ends. Among them, the movement of the joints can change the state of the robot. When the kinematic chain includes a robot foot, the end may refer to the tip of the robot foot. When the kinematic chain includes a robotic arm, the end may refer to the end of the robotic arm.

[0050] It should be noted that the current actual state estimation of the robot is determined based on the original information collected in real time by sensors. For example, the original information collected in real time by an IMU (Inertial Measurement Unit), and the original information collected in real time by an electronic joint angle meter. Based on this real-time collected original information, the current actual state estimation can be determined, and the actual state estimation describes the actual state of the robot. The actual state here, for example, includes the body pose of the robot, the end data of the end of the kinematic chain, and the joint data of the joints of the kinematic chain. Exemplarily, the end data includes the speed and angle of the end, and the joint data, for example, includes the angle and speed of the joint.

[0051] It should be noted that the first reference data is used to characterize the predicted expected state of the robot when performing the target task. Among them, the first reference data may include a first reference trajectory and the state information of the end of the kinematic chain and the target object when performing the target task.

[0052] In an embodiment of the present disclosure, the first reference trajectory may be a trajectory autonomously planned by the robot, and may include a body trajectory and the trajectory of the end. Further, the trajectory of the end may include the trajectory of the tip of the robot foot and the trajectory of the end of the robotic arm. The determination of the first reference trajectory may refer to related technologies. In another embodiment of the present disclosure, the first reference trajectory may also be obtained by being input by the robot operator.

[0053] Among them, the state information of the end of the kinematic chain and the target object is used to characterize whether the end of the kinematic chain is in contact with the target object. In the present disclosure, the target object is all the targets that the robot can contact during the process of completing the target task. For example, taking the target task of automatically opening a door as an example, the doorknob, the door panel surface, and the ground are all regarded as the targets that the robot can contact during the process of automatically opening the door.

[0054] Among them, the second reference data is used to characterize the actual expected state of the robot executing the target task. The actual expected data is obtained by optimizing the estimated expected state in combination with the current actual state estimation of the robot. For specific optimization, reference can be made to the following related embodiments, which will not be elaborated herein. The second reference data may include the body trajectory, joint data, end data, etc. Further, the second reference data may include the body trajectory, joint data, and end data obtained by respectively optimizing the body trajectory, joint data, and end data in the first reference data. Further, the body trajectory includes the body momentum and body pose, the key data may include the angles of the joints, and the end data may include the displacement of the end of the robotic arm and the speed of the end of the robotic arm, etc.

[0055] Figure 2 is another flowchart of a robot motion control method shown according to an exemplary embodiment of the present disclosure. The following will be combined with Figure 2 to further explain and illustrate the present disclosure.

[0056] In a possible way, the step of determining the second reference data by the first controller according to the obtained first reference data and the current actual state estimation of the robot may be implemented in the following manner: The first controller determines the actual expected states of the robot in multiple future time steps according to the obtained first reference data and the current actual state estimation of the robot, and the second reference data includes the actual expected states of the robot in multiple future time steps.

[0057] As can be seen from the above, the first reference data may include the first reference trajectory and state information. The second reference data may include the body trajectory, joint data, and joint data, etc. The robot may determine the control instruction according to the actual expected state characterized by the second reference data, so that the robot reaches the corresponding actual expected state after executing the control instruction.

[0058] It should be noted that when solving the second reference data, it is necessary to construct the optimization problem of the first controller and the corresponding preset constraints. The preset constraints may include the state space equation, equality constraint, state constraint, state initial constraint, joint angle limit constraint, joint torque limit constraint, and centroid dynamics constraint. As an example, the optimization problem and preset constraints constructed by the first controller may be characterized by the following formula:

[0059] ;

[0060] Among them, the first equation above is the optimization problem, and the rest are part of the preset constraints. is the state space equation. is the equality constraint. is the state constraint. is the initial state constraint.

[0061] Further, is the final state performance, is the dynamic performance, T is the preset duration, represents the state variable at the t-th moment, represents the control variable at the t-th moment. Among them, , is the center-of-mass (body) momentum of the robot, is the center-of-mass pose, are the angles of each joint, is the displacement of the end effector, is the velocity of the end effector, , in represents the contact force and contact moment corresponding to the corresponding end effector, represents the joint velocity, i represents the number of end effectors, and j represents the number of joints.

[0062] It should be noted that when the state information represents the contact between the end effector and the target object, an end effector contact force can be generated, and whether a contact moment is generated is related to the defined contact type between the end effector and the target object. The contact types of the end of the kinematic chain can include a point contact end that cannot be grasped and a surface contact end that can be grasped. The control variables corresponding to the point contact end that cannot be grasped include the contact force, and the control variables corresponding to the surface contact end that can be grasped include the contact force and the contact moment. The contact types of the target object include a point contact target that can be grasped and a surface contact target that cannot be grasped. The control variables corresponding to the point contact target that can be grasped include the contact force, and the control variables corresponding to the surface contact target that cannot be grasped include the contact force and the contact moment. Additionally, during implementation, when no contact moment is generated, the output of the contact moment can be 0.

[0063] It should be noted that the joint angle limit constraint can be constructed by an equation stating that the joint angle should not exceed the maximum angle; the joint torque limit constraint can be constructed by an equation stating that the joint torque should not exceed the maximum torque; the construction of the center-of-mass dynamics constraint can refer to related technologies, and this embodiment will not elaborate on it here.

[0064] In an embodiment of the present disclosure, taking the first reference data as the body trajectory as an example, the process of determining the second reference data in the present disclosure is illustratively described. Figure 3 is a schematic diagram of multiple parameters at different moments involved in a robot motion control method shown according to an exemplary embodiment of the present disclosure. First, it should be noted that Figure 3 the reference trajectory in Figure 3 refers to the first reference trajectory, such as the body trajectory. Correspondingly, Figure 3The measurement output therein refers to the actual state estimation of the robot. Figure 3 The predicted control quantity therein may refer to the control commands of the joints of the motion chain. Figure 3 The executed control quantity therein refers to the control commands of the joints of the executed motion chain. Refer to Figure 3 , the sampling time is one time step of the first controller, and the time step of the first controller is determined based on the control frequency of the controller. At the k-th moment, based on the actual state estimation of the robot at the k-th moment and the trajectories of multiple time steps after the k-th moment in the reference trajectory, the actual expected states of the robot in multiple future time steps are predicted. As an example, multiple time steps are, for example Figure 3 the time steps corresponding to the k-th moment to the k+1-th moment, the time steps corresponding to the k+1-th moment to the k+2-th moment, the time steps corresponding to the k+2-th moment to the k+3-th moment, and the time steps corresponding to the k+N-th moment to the k+N+1-th moment shown in

[0065] In the above manner, the first controller predicts the states of the robot in multiple future time steps, providing a longer-term perspective, which helps to avoid getting trapped in the local optimal solution, and can quickly return to the actual expected state when facing disturbances, facilitating more comprehensive planning and decision-making for the control system composed of the first controller, the second controller, and the third controller.

[0066] In a possible way, the above step of the second controller determining the control commands of the joints of the motion chain according to the second reference data and the current actual state estimation of the robot may include: the second controller determining the target state of the robot in the next time step based on the second reference data and the current actual state estimation of the robot, based on the task priority and the constraint priority; and determining the control commands of the joints of the motion chain according to the target state.

[0067] It should be noted that the control frequencies of the first controller and the second controller are different. Therefore, the time steps corresponding to the control frequencies of the first controller and the second controller are different. In a possible way, since the first controller determines the second reference data for the second controller by considering multiple future time steps, it may take a relatively long time. Moreover, the second controller needs to output control instructions for controlling the movement of the robot, and has a high requirement for real-time performance. Therefore, the control frequency of the first controller can be set lower than that of the second controller to meet the real-time performance of the robot motion control. It should be noted that the control frequency is the frequency at which the controller performs one operation, and this frequency can determine the above-mentioned sampling time. As an example, the control frequency of the first controller can be 50 Hz - 100 Hz, that is, the first controller outputs the second reference data at a frequency of 50 Hz - 100 Hz, and the control frequency of the second controller can be 500 Hz - 1000 Hz, that is, the second controller outputs the control instructions at a frequency of 500 Hz - 1000 Hz.

[0068] Among them, the second reference data includes the second reference trajectory, the joint reference data of the joints, and the end-effector reference data of the end-effector. The second reference trajectory can include the body trajectory and the end-effector trajectory. The joint reference data can include joint angles, joint velocities, etc. The end-effector reference data can include end-effector contact forces, end-effector contact torques, end-effector velocities, etc.

[0069] Among them, the target state can be the center-of-mass (body) momentum of the robot, the center-of-mass pose, the angles of the joints, the displacements of the end-effectors, and so on.

[0070] Among them, the control instructions for the joints can include joint torque instructions, velocity instructions, and angle instructions. After the robot executes the control instructions, the robot can reach the desired target state. Continuing to refer to Figure 3 , after the robot continuously executes the predicted control quantities, the self-state of the robot is more and more described by the reference trajectory, that is, the self-state of the robot is closer and closer to the state described by the first reference trajectory, so that the robot finally completes the execution of the target task.

[0071] In one embodiment of the present disclosure, during the process of a robot achieving an entire target task, it can be divided into multiple control cycles. Each control cycle involves multiple tasks and multiple constraints, such as tracking tasks related to the end of the foot, tracking tasks related to the end of the robotic arm, etc., such as friction constraints and non-slip constraints, etc. Therefore, in different control cycles, there are optimization problems involving multiple tasks and multiple constraints. Different tasks and constraints can have different priorities in different control cycles. For example, in a control cycle where the robot needs to walk and the end of the robotic arm does not need to grasp any target, more attention should be paid to the tracking task related to the end of the foot. Therefore, the priority of the tracking task related to the end of the foot needs to be higher than that of the tracking task related to the end of the robotic arm.

[0072] Thus, due to the real-time requirement of robot control, the second controller that outputs control instructions only focuses on the situation at the next time point and does not need to consider the more distant future, that is, predicts the target state of the robot at the next time step, and determines the control instructions for the joints of the motion chain based on this target state to adapt to the real-time requirement of robot control. In addition, by considering the priorities of different tasks and constraints, the robot can preferentially solve the optimization problems constituted by high-level tasks and constraints, and on the basis of the obtained optimization results, layer by layer stack the optimization results of subsequent levels.

[0073] In a possible way, from the above content, it can be seen that the first controller focuses on multiple time steps, and the second controller focuses on a single time step. Therefore, the first controller can be set as a linear model, and the second controller is set as a non-linear model. The linear model has low control difficulty and high calculation efficiency, and the non-linear model can handle more complex linear relationships and has higher calculation accuracy. Therefore, by utilizing the different advantages of the linear model and the non-linear model, combined with the characteristics that the first controller and the second controller focus on different numbers of time steps, the linear model and the non-linear model are used in combination to reduce the calculation amount and difficulty of the first controller and improve the accuracy of the second controller.

[0074] In a possible way, during the movement of the robot, as the state of the robot changes, the task priority can be determined in real time to adapt to the change of the robot state.

[0075] In a possible way, when the second controller solves the control instructions of the joints, the tasks executed in each control cycle involve different constraints, such as friction cone constraints, joint torque limit constraints, multi-rigid body dynamics model of the floating base, and non-slip constraints, etc. The construction of the constraint equations can refer to related technologies. As an example, the priorities of the constraints can be pre-configured to reduce the amount of data processed in real time and provide a basis for the real-time performance of robot motion control.

[0076] In the present disclosure, taking the example of a robot performing an end - effector operation task, such as a grasping task, in a certain controller cycle, the first - priority tasks and constraints may include pose tracking of the end - effector of the robotic arm, contact - force tracking of the end - effector of the robotic arm, multi - rigid - body dynamics model of the floating base, joint - torque limit constraints, four - foot friction - cone constraints when the robot's feet are in contact with the ground, and non - slipping constraints. The second - priority tasks may include body - acceleration tracking, four - foot swing - trajectory tracking when the robot's feet are not in contact with the ground, and trajectory tracking of the joints of the kinematic chain where the robotic arm is located. The third - priority task includes four - foot contact - force tracking when the robot's feet are in contact with the ground.

[0077] Continuing to refer to Figure 2 , the above - mentioned step of controlling the robot's movement according to the control instruction may include: processing the control instruction through a third controller to obtain joint - torque instructions, and controlling the joint movement of the robot according to the joint - torque instructions. Among them, the third controller is a low - level joint controller, which is an important part of the robot control system and is responsible for controlling the movement of each joint of the robot. Specifically, the third controller can adopt a proportional - integral - derivative control method to achieve the movement control of the robot. The third controller processes the control instruction to obtain joint - torque instructions and inputs the joint - torque instructions into the motors corresponding to the joints, so that each motor outputs corresponding joint torques at corresponding moments, realizes the movement control of the robot, and further enables the robot to complete the target task.

[0078] Figure 4 is a block diagram of a robot movement control device shown according to an exemplary embodiment. Referring to Figure 4 , the robot includes a robot body, robot feet, and a robotic arm. The robot feet and the robotic arm respectively form kinematic chains with the robot body. The device 400 includes:

[0079] A first determination module 401, configured to determine second reference data through a first controller according to the acquired first reference data and the current actual state estimation of the robot. The first reference data is used to characterize the estimated expected state of the robot performing the target task, and the second reference data is used to characterize the actual expected state of the robot performing the target task;

[0080] A second determination module 402, configured to determine control instructions for the joints of the kinematic chain through a second controller according to the second reference data and the current actual state estimation of the robot;

[0081] A control module 403, configured to control the movement of the robot according to the control instructions to perform the target task.

[0082] Optionally, the first reference data includes a first reference trajectory and state information of the end of the motion branch chain and the target object when performing the target task, and the first determination module 301 is further configured to:

[0083] Based on the first reference data obtained and the current actual state estimation of the robot by a first controller, determine the actual desired states of the robot at multiple future time steps, where the second reference data includes the actual desired states of the robot at multiple future time steps.

[0084] Optionally, the control frequency of the first controller is lower than that of the second controller.

[0085] Optionally, the motion branch chain includes an end and joints, and the second reference data includes a second reference trajectory, joint reference data of the joints, and end reference data of the end. The second determination module 402 is further configured to:

[0086] Based on the second reference data and the current actual state estimation of the robot by a second controller, determine the target state of the robot at the next time step based on the task priority and the constraint priority;

[0087] Based on the target state, determine the control instructions for the joints of the motion branch chain.

[0088] Optionally, during the movement of the robot, the task priority is determined in real time.

[0089] Optionally, the first controller includes a linear model, and the second controller includes a non - linear model.

[0090] Regarding the device 400 in the above - mentioned embodiments, the specific manners in which each module performs operations have been described in detail in the embodiments related to the robot motion control method, and will not be elaborated here.

[0091] The present disclosure also provides a computer - readable storage medium, on which computer program instructions are stored. When the program instructions are executed by a processor, the steps of the robot motion control method provided by the present disclosure are implemented.

[0092] Figure 5 is a block diagram of a robot shown according to an exemplary embodiment. Referring to Figure 5 , the robot 500 may include one or more of the following components: a processing component 502, a memory 504, a power supply component 506, a multimedia component 508, an audio component 510, an input / output interface 512, a sensor component 514, and a communication component 516.

[0093] The processing component 502 generally controls the overall operation of the robot 500, such as operations associated with display, data communication, camera operation, and recording operation. The processing component 502 may include one or more processors 520 to execute instructions to complete all or part of the steps of the above-mentioned robot motion control method. In addition, the processing component 502 may include one or more modules to facilitate the interaction between the processing component 502 and other components. For example, the processing component 502 may include a multimedia module to facilitate the interaction between the multimedia component 508 and the processing component 502.

[0094] The memory 504 is configured to store various types of data to support the operation of the robot 500. Examples of such data include instructions for any application or method operating on the robot 500, contact data, phone book data, messages, pictures, videos, etc. The memory 504 may be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk, or optical disk.

[0095] The power component 506 provides power to various components of the robot 500. The power component 506 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the robot 500.

[0096] The multimedia component 508 includes a screen that provides an output interface between the robot 500 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors may not only sense the boundaries of the touch or swipe actions, but also detect the duration and pressure associated with the touch or swipe operation. In some embodiments, the multimedia component 508 includes a front camera and / or a rear camera. When the robot 500 is in an operation mode, such as a shooting mode or a video mode, the front camera and / or the rear camera may receive external multimedia data. Each of the front camera and the rear camera may be a fixed optical lens system or have focal length and optical zoom capabilities.

[0097] The audio component 510 is configured to output and / or input audio signals. For example, the audio component 510 includes a microphone (MIC), which is configured to receive external audio signals when the robot 500 is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signals can be further stored in the memory 504 or transmitted via the communication component 516. In some embodiments, the audio component 510 further includes a speaker for outputting audio signals.

[0098] The input / output interface 512 provides an interface between the processing component 502 and a peripheral interface module, and the peripheral interface module can be a keyboard, a click wheel, buttons, etc. These buttons can include, but are not limited to: a home button, a volume button, a start button, and a lock button.

[0099] The sensor component 514 includes one or more sensors for providing a status assessment of various aspects of the robot 500. For example, the sensor component 514 can detect the on / off state of the robot 500, the relative positioning of components, such as the display and keypad of the robot 500. The sensor component 514 can also detect a change in the position of the robot 500 or a component of the robot 500, the presence or absence of user contact with the robot 500, the orientation or acceleration / deceleration of the robot 500, and the temperature change of the robot 500. The sensor component 514 can include a proximity sensor configured to detect the presence of nearby objects without any physical contact. The sensor component 514 can also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor component 514 can further include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.

[0100] The communication component 516 is configured to facilitate communication between the robot 500 and other devices in a wired or wireless manner. The robot 500 can access a wireless network based on communication standards, such as WiFi, 2G, or 3G, or a combination thereof. In an exemplary embodiment, the communication component 516 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 516 further includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.

[0101] In an exemplary embodiment, the robot 500 may be implemented by one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components for performing the above-mentioned robot motion control method.

[0102] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 504 including instructions, and the above instructions can be executed by a processor 520 for robot trajectory determination to complete the above-mentioned robot motion control method. For example, the non-transitory computer-readable storage medium may be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.

[0103] In another exemplary embodiment, a computer program product is also provided, and the computer program product includes a computer program capable of being executed by a programmable device, and the computer program has a code portion for performing the above-mentioned robot motion control method when executed by the programmable device.

[0104] Those skilled in the art can also understand that the various illustrative logical blocks (illustrative logical block) and steps (step) listed in the embodiments of the present application can be implemented by electronic hardware, computer software, or a combination of both. Whether such a function is implemented by hardware or software depends on the specific application and the design requirements of the entire system. Those skilled in the art can use various methods to implement the described function for each specific application, but such implementation should not be construed as exceeding the scope of protection of the embodiments of the present application.

[0105] In the above detailed description, reference is made to the accompanying drawings, in which specific aspects in which the present disclosure can be practiced are shown by way of illustration. In this regard, terms indicating directions or representing positional relationships such as "center", "longitudinal", "lateral", "length", "width", "thickness", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", "clockwise", "counterclockwise", "axial", "radial", "circumferential", etc. can be used with reference to the orientation of the described figures. Since the components of the described device can be positioned in a plurality of different orientations, the directional terms can be used for illustrative purposes and are not restrictive. It should be understood that other aspects can be utilized and structural or logical changes can be made without departing from the concepts of the present disclosure. Therefore, the following detailed description should not be taken in a limiting sense.

[0106] It should be understood that, unless otherwise specifically indicated, the features of some embodiments of the present disclosure described herein can be combined with each other. As used herein, the term "and / or" includes any one of the related listed items and any combination of any two or more of them; similarly, "at least one of..." includes any one of the related listed items and any combination of any two or more of them.

[0107] It should be understood that, unless otherwise clearly specified and limited, the terms "engage", "attach", "mount", "connect", "couple", "fix", etc. used in the embodiments of the present disclosure should be understood in a broad sense. For example, it can be a fixed connection, a detachable connection, or an integral one; it can be a mechanical connection, an electrical connection, or capable of communicating with each other; it can be directly connected, or indirectly connected through an intermediate medium, and can be the communication inside two elements or the interaction relationship between two elements, unless otherwise clearly limited. For those of ordinary skill in the art, the specific meanings of the above terms in this article can be understood according to specific circumstances.

[0108] In addition, the term "above" used with respect to a component, element, or layer of material formed "above" or located "above" a surface can be used herein to mean that the component, element, or layer of material is "indirectly" positioned (e.g., placed, formed, deposited, etc.) on the surface such that one or more additional components, elements, or layers are disposed between the surface and the component, element, or layer of material. However, the term "above" used with respect to a component, element, or layer of material formed "above" or located "above" a surface can also optionally have a specific meaning: the component, element, or layer of material is "directly" positioned (e.g., placed, formed, deposited, etc.) on the surface, e.g., in direct contact with the surface.

[0109] Although terms such as "first", "second", and "third" may be used herein to describe various components, parts, regions, layers, or sections, these components, parts, regions, layers, or sections are not limited to these terms. On the contrary, these terms are only used to distinguish one component, part, region, layer, or section from another. Thus, the first component, part, region, layer, or section mentioned in the examples described herein can also be referred to as the second component, part, region, layer, or section without departing from the teachings of the various examples. Additionally, the terms "first" and "second" are only used for descriptive purposes and should not be construed as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, features defined with "first" and "second" can explicitly or implicitly include at least one of such features. In the description herein, "a plurality of" means at least two, such as two, three, etc., unless otherwise specifically and clearly defined.

[0110] It should be understood that, as used herein, spatial relative terms, such as "above", "upper", "below", and "lower", are used to describe the relationship of one element shown in the figures to another element. In addition to the orientation depicted in the figures, such spatial relative terms are also intended to encompass different orientations of the device during use or operation. For example, if the device in the figures is flipped, an element described as "above" or "upper" relative to another element will then be "below" or "lower" relative to that other element. Thus, depending on the spatial orientation of the device, the term "above" encompasses both the above and below orientations. The device may have other orientations (e.g., rotated 90 degrees or in other orientations), and the spatial relative terms used herein should be interpreted accordingly.

[0111] In addition, the word "exemplary" is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as "exemplary" is not necessarily to be construed as advantageous over other aspects or designs. Rather, the use of the word exemplary is intended to present concepts in a concrete manner. As used herein, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or". That is, unless otherwise specified, or clear from the context, "X applies A or B" is intended to mean any of the natural inclusive permutations. That is, if X applies A; X applies B; or X applies both A and B, then "X applies A or B" is satisfied in any of the foregoing instances. Additionally, unless otherwise specified or clear from the context referring to the singular form, the articles "a" and "an" as used in this application and the appended claims are generally understood to mean "one or more".

[0112] Likewise, although the present disclosure has been shown and described with respect to one or more implementations, equivalent variations and modifications will occur to those skilled in the art upon reading and understanding the specification and the drawings. The present disclosure includes all such modifications and variations and is limited only by the scope of the claims. Specifically with respect to the various functions performed by the components described above (e.g., elements, resources, etc.), unless otherwise indicated, the terms used to describe such components are intended to correspond to any component (functionally equivalent) that performs the specific function of the described component, even if not structurally equivalent to the disclosed structure. Additionally, although a particular feature of the present disclosure may have been disclosed with respect to only one of several implementations, such a feature may, as may be desired and advantageous for any given or particular application, be combined with one or more other features of other implementations. Further, with respect to the use of "comprises", "comprising", "has", "having", "includes", or variants thereof in the detailed description or claims, such terms are intended to be inclusive in a manner similar to the term "includes".

[0113] Other embodiments of the present disclosure will be readily apparent to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include known common general knowledge or conventional technical means in the technical field not disclosed herein. The specification and examples are only to be considered as exemplary, and the true scope and spirit of the present disclosure are pointed out by the appended claims.

[0114] It should be understood that the present disclosure is not limited to the exact structures described above and shown in the drawings, and various modifications and changes can be made without departing from its scope. The scope of the present disclosure is only limited by the appended claims.

Claims

1. A robot motion control method, characterized in that: The robot comprises a robot body, a robot foot and a robot arm, wherein the robot foot and the robot arm respectively form a motion branch chain with the robot body, and the method comprises: Determining second reference data by a first controller based on the acquired first reference data and the current actual state estimation of the robot, wherein the first reference data is used to characterize the estimated expected state of the robot performing the target task, and the second reference data is used to characterize the actual expected state of the robot performing the target task; wherein the first reference data includes a first reference trajectory and state information of the end of the motion branch and the target object when performing the target task, and determining second reference data by a first controller based on the acquired first reference data and the current actual state estimation of the robot includes: Determining, by a first controller, an actual expected state of the robot in a plurality of future time steps based on the acquired first reference data and the current actual state estimation of the robot, wherein the second reference data includes the actual expected state of the robot in a plurality of future time steps; Determining, by a second controller, control instructions for the joints of the kinematic branch chain according to the second reference data and the current actual state estimation of the robot; The robot is controlled to move according to the control instruction to perform the target task.

2. The method according to claim 1, characterized in that The control frequency of the first controller is lower than the control frequency of the second controller.

3. The method according to claim 1, characterized in that The kinematic branch chain includes an end and a joint, the second reference data includes a second reference trajectory, joint reference data of the joint, and end reference data of the end, and the second controller determines the control instructions of the joint of the kinematic branch chain according to the second reference data and the current actual state estimation of the robot, including: Determine, by a second controller, a target state of the robot at the next time step based on task priority and constraint priority according to the second reference data and the current actual state estimation of the robot; According to the target state, control instructions for the joints of the motion branch chain are determined.

4. The method according to claim 3, characterized in that The task priorities are determined in real time during the movement of the robot.

5. The method according to any one of claims 1 to 4, characterized in that: The first controller includes a linear model and the second controller includes a nonlinear model.

6. A robot motion control device, characterized in that: The robot comprises a robot body, a robot foot and a robot arm, wherein the robot foot and the robot arm respectively form a motion branch chain with the robot body, and the device comprises: The first determination module is configured to determine the second reference data through the first controller according to the acquired first reference data and the current actual state estimation of the robot, wherein the first reference data is used to characterize the estimated expected state of the robot performing the target task, and the second reference data is used to characterize the actual expected state of the robot performing the target task; wherein the first reference data includes a first reference trajectory and state information of the end of the motion branch chain and the target object when performing the target task, and the determining the second reference data through the first controller according to the acquired first reference data and the current actual state estimation of the robot includes: determining the actual expected state of the robot for multiple future time steps according to the acquired first reference data and the current actual state estimation of the robot through the first controller, and the second reference data includes the actual expected state of the robot for multiple future time steps; A second determination module is configured to determine, through a second controller, a control instruction for a joint of the motion branch chain according to the second reference data and a current actual state estimate of the robot; The control module is configured to control the movement of the robot according to the control instruction to perform the target task.

7. A robot, characterized in that: The robot comprises a robot body, a robot foot and a robot arm, wherein the robot foot and the robot arm respectively form a motion branch chain with the robot body, and the robot further comprises: processor; a memory for storing processor-executable instructions; Wherein, the processor is configured to: Determining the second reference data by the first controller according to the acquired first reference data and the current actual state estimation of the robot, wherein the first reference data is used to characterize the estimated expected state of the robot when performing the target task, and the second reference data is used to characterize the actual expected state of the robot when performing the target task; wherein the first reference data includes a first reference trajectory and state information of the end of the motion branch and the target object when performing the target task, and determining the second reference data by the first controller according to the acquired first reference data and the current actual state estimation of the robot comprises: determining the actual expected state of the robot for multiple future time steps according to the acquired first reference data and the current actual state estimation of the robot by the first controller, and the second reference data includes the actual expected state of the robot for multiple future time steps; Determining, by a second controller, control instructions for the joints of the kinematic branch chain according to the second reference data and the current actual state estimation of the robot; The robot is controlled to move according to the control instruction to perform the target task.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method described in any one of claims 1 to 5 are implemented.

9. A computer program product, characterized in that The invention comprises a computer program, which, when executed by a processor, implements the steps of the method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • State estimation compensation method and device, medium and equipment

    CN118149801A

  • Motion control method and device, program product, robot and storage medium

    CN118752493A