Robot motion control method and device, robot, readable storage medium and program product
By obtaining the expected motion and real-time state information of the robot and determining the foot end and whole-body dynamic control information, the problem of inaccurate motion control is solved, and more accurate robot motion control is achieved, suitable for a variety of gaits and terrain.
Patent Information
- Application Number
- CN202411172242.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-26
- Publication Date
- 2024-12-10
AI Technical Summary
The motion control method of traditional robots has the problem of inaccurate motion control, and it is difficult to achieve high-precision motion control in multiple gaits.
By obtaining the robot's expected motion information and real-time state information, we determine the control information of the foot end and the control information of the whole body dynamics, including adjusting the torque of the foot end wheel and the torque of the joint, using multi-task kinematic planning and whole body dynamic impedance control. , achieve more accurate motion control.
It improves the robot's motion control accuracy and can adjust the foot end position and joint movement more accurately in wheeled and wheeled foot motion modes to adapt to different terrain and motion needs.
Smart Images

Figure CN119105534A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robotics technology, and in particular to a robot motion control method, device, robot, computer-readable storage medium, and computer program product. Background Art
[0002] At ETH (Economic and Technical University of Zurich), an online trajectory optimization framework was proposed that decomposes the problem into separate wheels and bases, and can operate wheel-legged robots in an MPC (model predictive control) manner. The former considers the rolling constraints of the wheels, while the latter considers the balance of the robot and uses zero torque points as constraints during movement. This robot motion control method is applicable to a variety of gaits, such as pure driving, static stable gait, and dynamic stable gait.
[0003] However, the traditional robot motion control method has the problem of inaccurate motion control. Summary of the invention
[0004] Based on this, it is necessary to provide a robot motion control method, device, robot, computer-readable storage medium and computer program product that can improve accuracy in order to solve the above technical problems.
[0005] In a first aspect, the present application provides a motion control method for a robot, wherein the robot comprises at least two foot ends; the method comprises:
[0006] Responding to the motion command, obtaining the expected motion information of the robot;
[0007] Obtaining real-time status information of the robot;
[0008] Determining the control information of the foot end and the control information of the whole body dynamics according to the expected motion information and the real-time state information;
[0009] The robot is controlled to move using the control information of the foot end and the control information of the whole body dynamics.
[0010] In one embodiment, each of the foot ends has a foot end wheel, the control information of the foot end includes the desired torque of the hub motor of each of the foot end wheels, and the control information of the whole body dynamics includes the desired torque of each joint in the foot end;
[0011] The step of determining the control information of the foot end and the control information of the whole body dynamics according to the expected motion information and the real-time state information comprises:
[0012] If the robot is in the wheeled motion mode, the position of each foot end of the robot is adjusted according to the expected motion information, and the expected rotation speed and expected turning angle mileage of each foot end wheel are obtained;
[0013] Determine the expected torque of the wheel hub motor of each foot-end wheel based on the expected rotation speed and expected angular mileage of each foot-end wheel and the real-time rotation speed and real-time angular mileage fed back by the wheel hub motor of each foot-end wheel;
[0014] The expected torque of each joint is determined according to the expected torque and the real-time state information of the robot.
[0015] In one embodiment, determining the expected torque of each joint according to the expected torque and the real-time state information of the robot includes:
[0016] Performing multi-task kinematic planning according to the expected torque and the real-time state information of the robot to obtain expected joint positions, expected joint rotation speeds, and expected joint angular accelerations;
[0017] Based on the expected joint position, expected joint rotation speed, expected joint angular acceleration of each joint and the expected ground contact force of each foot end, impedance control of whole body dynamics is performed to obtain the feedforward torque, expected joint position and expected joint rotation speed of each joint;
[0018] Joint control is performed according to the feedforward torque of each joint, the expected joint position, the joint rotation speed, and the actual position and rotation speed of each joint to obtain the expected torque of each joint.
[0019] In one embodiment, each foot end has a foot end wheel, the control information of the foot end includes the desired torque of the hub motor of each foot end wheel, and the control information of the whole body dynamics includes the desired torque of each joint in the foot end;
[0020] The step of determining the control information of the foot end and the control information of the whole body dynamics according to the expected motion information and the real-time state information comprises:
[0021] If the robot is in the wheel-foot motion mode, performing trajectory planning for the robot according to the expected motion information and the real-time state information to obtain planning information of the robot;
[0022] Determining the expected torque of the hub motor of each foot-end wheel based on the planning information of the robot and the real-time status information of the robot;
[0023] According to the planning information of the robot and the real-time state information of the robot, a linear single rigid body model is used to perform model predictive control to obtain the expected ground contact force of each foot end;
[0024] Based on the expected ground contact force of each foot end, the planning information of the robot and the real-time state information of the robot, the expected torque of each joint is determined.
[0025] In one embodiment, the real-time status information includes attitude angle, rotation matrix, center of mass position of the robot, center of mass velocity of the robot, and position and velocity of each foot end of the robot in the world coordinate system;
[0026] The obtaining of the real-time status information of the robot comprises:
[0027] Obtaining local acceleration, three-axis local angular velocity, the rotation angle and rotation speed of each joint, and the real-time rotation speed of each foot end wheel;
[0028] Determine the attitude angle and the rotation matrix according to the local acceleration and the three-axis local angular velocity;
[0029] According to the rotation angle and rotation speed of each joint, the real-time rotation speed and local acceleration of each foot end wheel, the posture angle and the rotation matrix, the center of mass position of the robot, the center of mass speed of the robot, and the position and speed of each foot end of the robot in the world coordinate system are determined.
[0030] In one embodiment, the method further comprises:
[0031] If it is detected that there is a communication connection board and a structural connector in the robot, it means that the robot includes a first sub-robot and a second sub-robot, the first sub-robot and the second sub-robot respectively include at least two foot ends, and the first sub-robot and the second sub-robot are connected through the communication connection board and the structural connector, and motion control is performed in a multi-wheeled foot robot mode;
[0032] If the communication connection board and the structural connector are not detected in the robot, it means that the robot includes two foot ends, and the motion control is performed in the two-wheeled foot robot mode.
[0033] In a second aspect, the present application further provides a motion control device for a robot, the robot comprising at least two foot ends; the device comprising:
[0034] The expected motion information acquisition module is used to respond to the motion command and acquire the expected motion information of the robot;
[0035] A real-time status information acquisition module, used to acquire the real-time status information of the robot;
[0036] A control information determination module, used to determine the control information of the foot end and the control information of the whole body dynamics according to the expected motion information and the real-time state information;
[0037] The motion control module is used to control the robot to move based on the control information of the foot end and the control information of the whole body dynamics.
[0038] In a third aspect, the present application further provides a robot, comprising a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:
[0039] Responding to the motion command, obtaining the expected motion information of the robot;
[0040] Obtaining real-time status information of the robot;
[0041] Determining the control information of the foot end and the control information of the whole body dynamics according to the expected motion information and the real-time state information;
[0042] The robot is controlled to move using the control information of the foot end and the control information of the whole body dynamics.
[0043] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the following steps are implemented:
[0044] Responding to the motion command, obtaining the expected motion information of the robot;
[0045] Obtaining real-time status information of the robot;
[0046] Determining the control information of the foot end and the control information of the whole body dynamics according to the expected motion information and the real-time state information;
[0047] The robot is controlled to move using the control information of the foot end and the control information of the whole body dynamics.
[0048] In a fifth aspect, the present application further provides a computer program product, including a computer program, which implements the following steps when executed by a processor:
[0049] Responding to the motion command, obtaining the expected motion information of the robot;
[0050] Obtaining real-time status information of the robot;
[0051] Determining the control information of the foot end and the control information of the whole body dynamics according to the expected motion information and the real-time state information;
[0052] The robot is controlled to move using the control information of the foot end and the control information of the whole body dynamics.
[0053] The above-mentioned robot motion control method, device, robot, computer-readable storage medium and computer program product respond to motion commands, obtain the robot's expected motion information and obtain the robot's real-time status information; based on the expected motion information and real-time status information, the foot end control information and the whole body dynamics control information can be more accurately determined, and then the foot end control information and the whole body dynamics control information can be used to more accurately control the robot to move. BRIEF DESCRIPTION OF THE DRAWINGS
[0054] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings required for use in the embodiments of the present application or related technical descriptions 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 related drawings can be obtained based on these drawings without paying creative work.
[0055] Figure 1 A schematic diagram of a flow chart of a motion control method for a robot in one embodiment;
[0056] Figure 2 A schematic diagram of a four-wheeled legged robot obtained in one embodiment;
[0057] Figure 3 A schematic diagram of obtaining a first sub-robot and a second sub-robot in one embodiment;
[0058] Figure 4 is a schematic diagram of a coordinate system of a four-wheeled legged robot in one embodiment;
[0059] Figure 5 is a schematic diagram of the joint degrees of freedom of a four-wheeled legged robot in one embodiment;
[0060] Figure 6 is a control block diagram of the wheeled motion of a robot in one embodiment;
[0061] Figure 7 is a schematic diagram of a speed command control module in one embodiment;
[0062] Figure 8 is a schematic diagram of a local leg control module in one embodiment;
[0063] Fig. 9 is a schematic diagram of adjusting the position of the foot end relative to the center of mass according to a desired speed in one embodiment;
[0064] Fig.10 is a schematic diagram of a wheel position speed control module in one embodiment;
[0065] Fig.11 is a schematic diagram of a state observer in one embodiment;
[0066] Fig.12 is a schematic diagram of a whole body dynamics control module in one embodiment;
[0067] Fig.13 A schematic diagram of a multi-task kinematic planning submodule with priorities in one embodiment;
[0068] Fig.14 is a schematic diagram of an impedance control submodule based on whole body dynamics in one embodiment;
[0069] Fig.15 is a schematic diagram of a joint control submodule in one embodiment;
[0070] Fig.16 is a control block diagram of wheel-foot motion of a robot in one embodiment;
[0071] Fig.17 is a schematic diagram of a trajectory planning module in one embodiment;
[0072] Fig.18 is a schematic diagram of a linear model predictive control module of a single rigid body model in one embodiment;
[0073] Fig.19 is a structural block diagram of a motion control device for a robot in one embodiment;
[0074] Fig. 20 1 is a diagram showing the internal structure of a robot in one embodiment. DETAILED DESCRIPTION
[0075] In order to make the purpose, technical solutions and advantages of this application more clear, the following Figures 1 to 20 It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0076] The kinematic and dynamic parameters of the robot in this application are introduced as follows:
[0077] : Speed commands from the user, mainly including forward speed commands and steering speed commands;
[0078] : The expected position of the robot's center of mass in the world coordinate system;
[0079] : The expected velocity of the robot's center of mass in the world coordinate system;
[0080] : The expected attitude angle of the robot in the world coordinate system, ZYX Euler angle;
[0081] : The expected angular velocity of the robot in the world coordinate system;
[0082] : The expected position of the robot foot in the world coordinate system, (i=1,2,3,4…);
[0083] : The expected speed of the robot foot in the world coordinate system, (i=1,2,3,4…);
[0084] : The expected acceleration of the robot foot in the world coordinate system, (i=1,2,3,4…);
[0085] : The expected cumulative turning angle of each foot end wheel (i=1,2,3,4…);
[0086] : The expected rotation speed of each foot end wheel;
[0087] : The actual position of the robot's center of mass in the world coordinate system;
[0088] : The actual velocity of the robot's center of mass in the world coordinate system;
[0089] : The actual attitude angle of the robot in the world coordinate system;
[0090] : The actual angular velocity of the robot in the world coordinate system;
[0091] : The actual position of the robot foot in the world coordinate system, (i=1,2,3,4…);
[0092] : The actual speed of the robot foot in the world coordinate system, (i=1,2,3,4...);
[0093] : The expected rotation angle of each joint (i=1,..,12……);
[0094] : The expected rotation speed of each joint (i=1,..,12……);
[0095] : The expected angular acceleration of each joint (i=1,..,12……);
[0096] : The expected ground contact force at each foot end (i=1,2,3,4…);
[0097] : The expected torque of each joint (i=1,..,12……);
[0098] : The expected torque of each foot end wheel (i=1,2,3,4...);
[0099] qi(k): joint rotations of the three joints of each leg;
[0100] Ci: abbreviation of contact_i, indicating the support and swing conditions of each supporting leg.
[0101] Among them, the motor speed refers to the number of revolutions per minute. The motor angle refers to the relative displacement between the rotor and the fixed structure when the motor rotates. The motor torque, in simple terms, refers to the magnitude of the rotational force. However, the torque of the motor is proportional to the strength of the rotating magnetic field and the current in the rotor cage, and is proportional to the square of the power supply voltage. Therefore, the torque is determined by the factors of current and voltage.
[0102] In one embodiment, Figure 1 As shown, a motion control method for a robot is provided. This embodiment uses the method applied to a robot as an example for illustration. It can be understood that the method can also be applied to a system including a robot and a server, and is implemented through the interaction between the robot and the server. In this embodiment, the motion control method for the robot includes the following steps:
[0103] Step S102: Respond to the motion command and obtain the expected motion information of the robot.
[0104] Among them, the expected motion information is information corresponding to the expected motion of the robot. The robot includes at least two foot ends, each foot end has a foot end wheel, and the robot includes wheeled motion and wheel-footed motion. The robot's motion mode also includes recovering to stand up and slowly lying down, but is not limited to this. It can be understood that wheeled motion is wheeled movement through foot end wheels, and wheel-footed motion is a compound motion of wheeled movement and foot movement through foot end wheels. Exemplarily, wheeled motion can be used for flat terrain and slopes, while wheel-footed motion can be used for rugged terrain and steps.
[0105] Optionally, the robot receives a motion command from a user's remote control, and sets the desired motion information of the robot in the local coordinate system according to the motion command. In wheeled motion, the desired motion information mainly includes the desired speed in the forward and backward directions, and in wheel-foot combined motion, the desired motion information mainly includes the desired speed in the forward and backward directions, the desired speed in the left and right directions, and the turning speed. Among them, the local coordinate system will move with the rotation and translation of the body posture, and there is a fixed translation relationship between the single-leg coordinate system and the local coordinate system.
[0106] Optionally, the above method also includes: if a communication connection board and a structural connector are detected in the robot, it indicates that the robot includes a first sub-robot and a second sub-robot, the first sub-robot and the second sub-robot respectively include at least two foot ends, and the first sub-robot and the second sub-robot are connected via the communication connection board and the structural connector, then motion control is performed in a multi-wheeled foot robot mode; if a communication connection board and a structural connector are not detected in the robot, it indicates that the robot includes two foot ends, then motion control is performed in a dual-wheeled foot robot mode.
[0107] The communication connection board and the structural connector are used to connect the first sub-robot and the second sub-robot. The first sub-robot and the second sub-robot each include at least two foot ends, for example, the first sub-robot includes two foot ends, and the second sub-robot includes three foot ends, etc. If the first sub-robot and the second sub-robot each include two foot ends, the multi-wheeled foot robot is a four-wheeled foot robot, and the multi-wheeled foot robot mode is a four-wheeled foot robot mode.
[0108] If the presence of a communication connection board and a structural connector is detected in the robot, it indicates that the robot includes a first sub-robot and a second sub-robot, that is, the robot includes at least four foot ends, and the first sub-robot and the second sub-robot as a whole robot are motion controlled in a multi-wheeled foot robot mode, respond to motion commands, and obtain the desired motion information of the robot.
[0109] If the communication connection board and the structural connector are not detected in the robot, it means that the robot includes two foot ends, and then the motion control is performed in the two-wheeled foot robot mode, the motion command is responded to, and the expected motion information of the robot is obtained.
[0110] like Figure 2 As shown, the first sub-robot and the second sub-robot respectively include two foot ends, and the first sub-robot and the second sub-robot can be connected through a communication connection board and a structural connector to obtain a four-wheeled leg robot.
[0111] like Figure 3As shown, the four-wheeled leg robot can remove the communication connection board and the structural connector to obtain two two-wheeled leg robots, namely the first sub-robot and the second sub-robot. The two-wheeled leg can be separated by slowly lying down without power failure. As long as one side of the motor is intact (front or rear), the two-wheeled leg on the intact side can continue to move.
[0112] like Figure 4 The figure shows the coordinate system of the quadruped robot. Figure 5 The figure shows the joint degrees of freedom of the quadruped robot. Figure 5 The circles in the figure represent degrees of freedom, which is a typical design of the degrees of freedom of a quadruped robot.
[0113] Step S104: Obtain the real-time status information of the robot.
[0114] The real-time status information is the current real-time motion status information of the robot.
[0115] Optionally, the real-time status information includes attitude angle, rotation matrix, center of mass position of the robot, center of mass velocity of the robot, and the position and velocity of each foot end of the robot in the world coordinate system; obtaining the real-time status information of the robot includes: obtaining local acceleration, three-axis local angular velocity, the rotation angle and rotation speed of each joint, and the real-time rotation speed of each foot end wheel; determining the attitude angle and rotation matrix according to the local acceleration and three-axis local angular velocity; determining the center of mass position of the robot, center of mass velocity of the robot, and the position and velocity of each foot end of the robot in the world coordinate system according to the rotation angle and rotation speed of each joint, the real-time rotation speed and local acceleration of each foot end wheel, as well as the attitude angle and rotation matrix.
[0116] Optionally, the robot includes a state observer; the state observer includes two submodules, a complementary filter and an extended Kalman filter. The input of the complementary filter is the local acceleration and the three-axis local angular velocity, which is processed using an existing processing algorithm, and the output is a quaternion, which can be converted into an attitude angle and a rotation matrix. The input of the extended Kalman filter is the rotation angle and rotation speed of each joint, the real-time rotation speed of each foot end wheel, the local acceleration and the three-axis local angular velocity, and the quaternion output by the complementary filter. It is processed using an existing processing algorithm, and the output is the estimated center of mass position of the robot, the center of mass velocity of the robot, and the position and velocity of each foot end of the robot in the world coordinate system. The foot end position and foot end velocity in the world coordinate system, theta and w are Euler angles and angular velocities, and there is a mapping relationship between Euler angles and quaternions.
[0117] Step S106: Determine the control information of the foot end and the control information of the whole body dynamics according to the expected motion information and the real-time state information.
[0118] Among them, the control information of the foot end is used to control the movement of the foot end. The control information of the whole body dynamics is used to control the whole body movement of the robot. It is understandable that when the robot moves, due to the speed, and the difference between wheeled movement or wheel-foot movement, it is necessary to control the joints of the whole body of the robot to move in a coordinated manner.
[0119] Optionally, if the robot is in wheeled motion mode, the control information of the foot end includes the desired torque of the hub motor of each foot end wheel, and the control information of the whole body dynamics includes the desired torque of each joint in the foot end.
[0120] Optionally, if the robot is in wheel-foot motion mode, the control information of the foot end includes the desired torque of the hub motor of each foot end wheel, and the control information of the whole body dynamics includes the desired torque of each joint in the foot end.
[0121] Step S108: Control the robot to move using the foot control information and the whole body dynamics control information.
[0122] Optionally, the robot controls the movement of the foot end of the robot with the control information of the foot end, and controls the movement of all joints of the robot with the control information of the whole body dynamics.
[0123] The above-mentioned robot motion control method responds to motion commands, obtains the robot's expected motion information, and obtains the robot's real-time status information; based on the expected motion information and real-time status information, the foot end control information and the whole body dynamics control information can be more accurately determined, and then the foot end control information and the whole body dynamics control information can be used to more accurately control the robot to move.
[0124] In one embodiment, each foot end has a foot end wheel, and the control information of the foot end includes the expected torque of the hub motor of each foot end wheel, and the control information of the whole body dynamics includes the expected torque of each joint in the foot end; the control information of the foot end and the control information of the whole body dynamics are determined according to the expected motion information and the real-time status information, including: if the robot is in the wheeled motion mode, then according to the expected motion information, the position of each foot end of the robot is adjusted, and the expected rotation speed and expected angular mileage of each foot end wheel are obtained; based on the expected rotation speed and expected angular mileage of each foot end wheel, and the real-time rotation speed and real-time angular mileage fed back by the hub motor of each foot end wheel, the expected torque of the hub motor of each foot end wheel is determined; according to the expected torque and the real-time status information of the robot, the expected torque of each joint is determined.
[0125] The real-time status information includes the attitude angle, the rotation matrix, the center of mass position of the robot, the center of mass speed of the robot, and the position and speed of each foot end of the robot in the world coordinate system.
[0126] like Figure 6 As shown, the robot includes a speed command control module, a local leg position module, a wheel position speed control module, a whole body dynamics control module, a state observer and a robot controller.
[0127] like Figure 7 As shown, the speed command control module receives the motion command from the user remote control, and sets the expected motion information of the robot in the local coordinate system according to the motion command. In wheeled motion, the expected motion information mainly includes the expected speed in the forward and backward directions.
[0128] like Figure 8 As shown, in the wheeled motion mode, the local leg control module receives the expected forward and backward motion information and the x-axis position of the foot end in the single-leg coordinate system. The expected motion information may include the expected forward and backward speed. The x-axis position of each foot end in the single-leg coordinate system is adjusted according to the expected forward speed to obtain the expected x-axis position of each foot end in the single-leg coordinate system, as shown in formula (1). Fig. 9 As well as formula (1), it shows that the faster the expected speed is, the more the wheels at each foot end need to drive the four legs to stretch forward and backward, making the entire robot more stable when moving at high speed.
[0129] (1)
[0130] The local leg control module divides the desired speed by the radius of the foot end wheel to obtain the desired rotation speed of the foot end wheel, and adds the error of the local leg position in the x-axis direction multiplied by the gain coefficient, as shown in formula (2).
[0131] (2)
[0132] The local leg control module performs discrete integration of the desired rotation speed to obtain the desired turning angle mileage, as shown in formula (3).
[0133] (3)
[0134] The expected position is obtained by performing discrete integration on the expected speed, as shown in formula (4).
[0135] (4)
[0136] like Fig.10As shown, the wheel position speed control module receives the expected rotation speed and expected angular mileage sent by the local leg position module, as well as the real-time rotation speed and real-time angular mileage obtained by processing the real-time rotation speed and real-time angular mileage fed back by the wheel hub motor of each foot-end wheel in the robot, and performs proportional differential control on the expected rotation speed and expected angular mileage of each foot-end wheel, as well as the real-time rotation speed and real-time angular mileage fed back by the wheel hub motor of each foot-end wheel, to obtain the expected torque of the wheel hub motor of each foot-end wheel, as shown in formula (5).
[0137] (5)
[0138] like Fig.11 As shown, the robot includes a state observer; the state observer includes two submodules: a complementary filter and an extended Kalman filter. The input of the complementary filter is the local acceleration and the three-axis local angular velocity, which are processed by the existing processing algorithm, and the output is a quaternion quat, which can be converted into an attitude angle and a rotation matrix. The input of the extended Kalman filter is the rotation angle and rotation speed of each joint, the real-time rotation speed of each foot end wheel, the local acceleration and the three-axis local angular velocity, and the quaternion output by the complementary filter. The existing processing algorithm is used for processing, and the output is the estimated robot's center of mass position, the robot's center of mass velocity, and the position and velocity of each foot end of the robot in the world coordinate system.
[0139] Optionally, the expected torque of each joint is determined according to the expected torque and the real-time status information of the robot, including: performing multi-task kinematic planning according to the expected torque and the real-time status information of the robot to obtain the expected joint position, expected joint rotation speed and expected joint angular acceleration; performing impedance control of whole-body dynamics based on the expected joint position, expected joint rotation speed, expected joint angular acceleration of each joint and the expected contact force of each foot end to obtain the feedforward torque, expected joint position and expected joint rotation speed of each joint; performing joint control according to the feedforward torque, expected joint position, joint rotation speed of each joint and the actual position and rotation speed of each joint to obtain the expected torque of each joint.
[0140] The real-time status information includes attitude angle, rotation matrix, center of mass position of the robot, center of mass velocity of the robot, and the position and velocity of each foot end of the robot in the world coordinate system.
[0141] like Fig.12 As shown, the robot includes a whole-body dynamics control module, which includes a multi-task kinematics planning submodule with priority, an impedance control submodule based on whole-body dynamics, and a joint control submodule.
[0142] Optionally, the robot's real-time status information at each moment, such as the center of mass position and center of mass speed, body posture and posture angle, and the position and speed of each foot end have tasks to reach their set values. Since the robot's joint degrees of freedom have certain limitations, such as 12 joint degrees of freedom (excluding the degrees of freedom provided by the foot end wheels), it may not be possible to plan a joint degree of freedom trajectory that meets all tasks. Therefore, a corresponding priority is set for each task. For example, the task of keeping the foot end of each supporting leg of the robot motionless has the highest priority, and the task of keeping the center of mass posture parallel to the ground has the second priority. By analogy, by considering the priority of each task and planning the degree of freedom trajectory of each joint in order from high to low priority, the balance of each task can be compatible. The lower the priority of the task, the more deviation there will be from the actual expected value. Exemplarily, the robot's tasks may include supporting legs touching the ground, moving forward and backward, moving left and right, etc., and high-priority tasks can be given priority.
[0143] like Fig.13 As shown, the input of the multi-task kinematic planning submodule with priority includes the robot's expected speed, expected posture, expected posture angular velocity (generally 0) in the world coordinate system, the foot end position and foot end velocity in the world coordinate system, and the real-time state information of the robot from the state observer, which includes the estimated position (center of mass position), estimated speed (center of mass velocity), estimated posture, estimated angular velocity and foot end position and foot end velocity in the world coordinate system, and outputs the expected joint position, expected joint rotation speed and expected joint angular velocity of each joint degree of freedom.
[0144] like Fig.14 As shown in the figure, the impedance control submodule based on whole-body dynamics establishes a multi-rigid body dynamics model of the robot, robot dynamics equation constraints, foot-end friction force inequality constraints, introduces the relaxation term of the foot-end contact force and the relaxation term of the expected joint acceleration as decision variables, and aims to minimize the norm of the decision variables. The input of the impedance control submodule based on whole-body dynamics is the expected contact force (this value can be considered as a fixed empirical value during movement), the expected joint position, the expected joint rotation speed, and the expected joint angular acceleration. After obtaining the optimized relaxation term of the foot-end contact force and the relaxation term of the expected joint acceleration, they are substituted into the dynamic equation to obtain the feedforward torque of each joint as the output, the expected joint position, and the expected joint velocity. The output expected joint position and expected joint velocity are the same as the input expected joint position and expected joint velocity.
[0145] like Fig.15As shown in FIG6 , the joint control submodule is the bottom-level joint control module of the robot. It obtains the feedforward torque, expected joint position, joint speed, and real-time status information of each joint, including the actual position and actual speed of each joint, performs joint control, and obtains the expected torque of each joint, as shown in formula (6).
[0146] (6)
[0147] In this embodiment, if the robot is in wheeled motion mode, the position of each foot end of the robot is adjusted according to the expected motion information, and the expected rotation speed and expected angular mileage of each foot end wheel are obtained. Based on the expected rotation speed and expected angular mileage of each foot end wheel, and the real-time rotation speed and real-time angular mileage fed back by the wheel hub motor of each foot end wheel, the expected torque of the wheel hub motor of each foot end wheel is determined. According to the expected torque and the real-time state information of the robot, the expected torque of each joint can be accurately determined, and the robot can be more accurately controlled to perform motion control. In addition, wheeled motion can be responsible for efficient movement.
[0148] In one embodiment, each foot end has a foot end wheel, the control information of the foot end includes the expected torque of the hub motor of each foot end wheel, and the control information of the whole body dynamics includes the expected torque of each joint in the foot end; the control information of the foot end and the control information of the whole body dynamics are determined according to the expected motion information and the real-time status information, including: if the robot is in the wheel-foot motion mode, the trajectory of the robot is planned according to the expected motion information and the real-time status information to obtain the planning information of the robot; based on the planning information of the robot and the real-time status information of the robot, the expected torque of the hub motor of each foot end wheel is determined; according to the planning information of the robot and the real-time status information of the robot, a linear single rigid body model is used to perform model predictive control to obtain the expected contact force of each foot end; based on the expected contact force of each foot end, the planning information of the robot and the real-time status information of the robot, the expected torque of each joint is determined.
[0149] The real-time status information includes the attitude angle, the rotation matrix, the center of mass position of the robot, the center of mass speed of the robot, and the position and speed of each foot end of the robot in the world coordinate system.
[0150] like Fig.16 As shown, the robot includes a speed command control module, a trajectory planning module, a linear model predictive control module of a single rigid body model, a wheel position speed control module, a whole body dynamics control module, a state observer and a robot controller.
[0151] Compared with the pure wheeled motion of the robot, wheel-footed motion also includes a more complex trajectory planning module and a linear model predictive control module of a single rigid body model. The foot-end wheel position and speed control module of wheel-footed motion is different from that of pure wheeled motion.
[0152] The trajectory planning module plans the robot's trajectory according to the expected motion information and real-time status information to obtain the robot's planning information.
[0153] like Fig.17 As shown, the robot's trajectory planning module consists of a supporting leg planning submodule, a foot trajectory planning submodule based on a spring inverted pendulum model, and a body center of mass and posture planning submodule.
[0154] The supporting leg planning submodule outputs the supporting and swinging conditions of each supporting leg over time.
[0155] The foot trajectory planning submodule based on the spring inverted pendulum model (slip model) takes as input the real-time state information from the observer module, which includes the center of mass position, center of mass velocity, posture (ZYX Euler angle), posture angular rate, foot position and foot velocity in the world coordinate system, as well as the expected center of mass position, expected center of mass velocity, expected posture and expected angular rate from the body center of mass and posture planning module, and outputs the foot position, foot velocity and foot acceleration in the world coordinate system.
[0156] The body center of mass and posture trajectory planning submodule takes as input the local speed command from the speed command module, which mainly includes the expected forward and backward speed, the expected left and right speed, the turning speed, and the real-time state information from the state observer. The real-time state information includes the center of mass position, center of mass speed, posture (ZYX Euler angle), and posture angular rate in the world coordinate system. The output is the expected center of mass position, expected speed, expected posture, and expected posture angular rate in the world coordinate system.
[0157] The planning information of the robot includes the support and swinging conditions of each supporting leg output by the supporting leg planning submodule, the foot position, foot velocity and foot acceleration in the world coordinate system output by the foot trajectory planning submodule based on the spring inverted pendulum model (slip model), and the expected center of mass position, expected velocity, expected posture and expected posture angular velocity in the world coordinate system output by the body center of mass and posture trajectory planning submodule.
[0158] The robot comprises a wheel position and speed control module; the wheel position and speed control module determines the expected torque of the hub motor of each foot-end wheel based on the planning information of the robot and the real-time status information of the robot.
[0159] The robot establishes a linear single rigid body model of the robot, transforms the robot's ground contact force problem into a quadratic programming problem, and optimizes the robot's ground contact force. Fig.18 As shown, the input of the linear model predictive control module of the single rigid body model is the planning information of the robot, including the support and swing conditions of each supporting leg output by the trajectory planning module, the expected center of mass position, expected speed, expected posture, expected posture angular rate, expected foot-end position, expected foot-end velocity and expected foot-end acceleration in the world coordinate system, and the real-time status information from the observer module, the real-time status information includes the center of mass position, center of mass velocity, posture (ZYX Euler angle), posture angular rate, foot-end position and foot-end velocity in the world coordinate system, and the output is the expected ground contact force of each foot in the world coordinate system, and the linear model predictive control module of the single rigid body model directly outputs the planning information, that is, the linear model predictive control module of the single rigid body model also outputs the expected center of mass position, expected speed, expected posture, expected posture angular rate, expected foot-end position, expected foot-end velocity and expected foot-end acceleration in the world coordinate system.
[0160] Optionally, the robot includes a whole-body dynamics control module; the whole-body dynamics control module determines the expected torque of each joint based on the expected ground contact force of each foot end, the planning information of the robot and the real-time state information of the robot.
[0161] Optionally, the robot performs wheel-foot movement according to the desired torque of the hub motor of each foot-end wheel and the desired torque of each joint in the foot end.
[0162] It is understandable that the user detects complex terrain through the remote control, or the robot detects complex terrain through the visual module, and the robot switches to the wheel-footed motion mode. Analogous to the medium-speed motion mode of quadrupeds, the robot's diagonal legs (left front leg and right hind leg, right front leg and left hind leg) are alternately raised and lowered, and the raised leg swings across small obstacles on rugged terrain, the lowered leg is responsible for providing support, and the wheel on the foot end provides forward rotation, so that the robot can move forward and backward in a wheel-footed compound motion; for lateral motion and turning motion, the leg landing point is mainly used for planning and motion control.
[0163] In this embodiment, if the robot is in the wheel-foot motion mode, the robot is track-planned according to the expected motion information and real-time status information to obtain the robot's planning information. Based on the robot's planning information and the robot's real-time status information, the expected torque of the wheel hub motor of each foot-end wheel is determined. According to the robot's planning information and the robot's real-time status information, a linear single rigid body model is used for model predictive control to obtain the expected ground contact force of each foot end. Based on the expected ground contact force of each foot end, the robot's planning information and the robot's real-time status information, the expected torque of each joint is determined, that is, the control information of the foot end and the control information of the whole body dynamics can be accurately determined. In addition, wheel-foot motion can be responsible for adapting to the terrain.
[0164] In one embodiment, a robot motion control method is provided, which is applied to the robot, wherein the robot comprises at least two foot ends, each foot end having a foot end wheel, and the robot motion control method comprises the following steps:
[0165] Step A1, if the existence of a communication connection board and a structural connector is detected in the robot, it indicates that the robot includes a first sub-robot and a second sub-robot, the first sub-robot and the second sub-robot respectively include two foot ends, and the first sub-robot and the second sub-robot are connected via the communication connection board and the structural connector, then motion control is performed in a multi-wheeled foot robot mode; if the existence of a communication connection board and a structural connector is not detected in the robot, it indicates that the robot includes two foot ends, then motion control is performed in a dual-wheeled foot robot mode.
[0166] Step A2, responding to the motion command and obtaining the expected motion information of the robot.
[0167] Step A3, obtain local acceleration, three-axis local angular velocity, the rotation angle and rotation speed of each joint, and the real-time rotation speed of each foot wheel; determine the attitude angle and rotation matrix according to the local acceleration and three-axis local angular velocity; determine the center of mass position of the robot, the center of mass speed of the robot, and the position and speed of each foot end of the robot in the world coordinate system according to the rotation angle and rotation speed of each joint, the real-time rotation speed and local acceleration of each foot wheel, as well as the attitude angle and rotation matrix; the real-time status information includes the attitude angle, the rotation matrix, the center of mass position of the robot, the center of mass speed of the robot, and the position and speed of each foot end of the robot in the world coordinate system.
[0168] If the robot is in wheeled motion mode, execute steps A4 to A6; if the robot is in wheeled motion mode, execute steps A7 to A9
[0169] Step A4, according to the expected motion information, adjust the position of each foot end of the robot, and obtain the expected rotational speed and expected angular mileage of each foot end wheel; based on the expected rotational speed and expected angular mileage of each foot end wheel, and the real-time rotational speed and real-time angular mileage fed back by the hub motor of each foot end wheel, determine the expected torque of the hub motor of each foot end wheel.
[0170] Step A5, performing multi-task kinematic planning according to the expected torque and the real-time state information of the robot to obtain the expected joint position, expected joint rotation speed and expected joint angular acceleration; performing impedance control of whole-body dynamics based on the expected joint position, expected joint rotation speed, expected joint angular acceleration of each joint and the expected contact force of each foot end to obtain the feedforward torque, expected joint position and expected joint rotation speed of each joint; performing joint control according to the feedforward torque, expected joint position, joint rotation speed of each joint and the actual position and rotation speed of each joint to obtain the expected torque of each joint.
[0171] Step A6, control the robot to move with the control information of the foot end and the control information of the whole body dynamics; the control information of the foot end includes the expected torque of the hub motor of each foot end wheel, and the control information of the whole body dynamics includes the expected torque of each joint in the foot end.
[0172] Step A7, planning the trajectory of the robot according to the expected motion information and the real-time status information to obtain the planning information of the robot; based on the planning information of the robot and the real-time status information of the robot, determining the expected torque of the hub motor of each foot-end wheel.
[0173] Step A8, according to the planning information of the robot and the real-time status information of the robot, a linear single rigid body model is used to perform model predictive control to obtain the expected ground contact force of each foot end; based on the expected ground contact force of each foot end, the planning information of the robot and the real-time status information of the robot, the expected torque of each joint is determined.
[0174] Step A9, performing trajectory planning for the robot according to the expected motion information and the real-time status information to obtain the planning information of the robot; based on the planning information of the robot and the real-time status information of the robot, determining the expected torque of the hub motor of each foot-end wheel.
[0175] It should be understood that, although the steps in the flowcharts involved in the above embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0176] Based on the same inventive concept, the embodiment of the present application also provides a robot motion control device for implementing the robot motion control method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in the embodiments of the motion control device for one or more robots provided below can refer to the limitations of the robot motion control method above, and will not be repeated here.
[0177] In an exemplary embodiment, Fig.19 As shown, a motion control device for a robot is provided, comprising: an expected motion information acquisition module 1902, a real-time state information acquisition module 1904, a control information determination module 1906 and a motion control module 1908, wherein:
[0178] The expected motion information acquisition module 1902 is used to respond to the motion command and acquire the expected motion information of the robot;
[0179] A real-time status information acquisition module 1904 is used to acquire the real-time status information of the robot;
[0180] A control information determination module 1906, for determining the control information of the foot end and the control information of the whole body dynamics according to the expected motion information and the real-time state information;
[0181] The motion control module 1908 is used to control the robot to move with the control information of the foot end and the control information of the whole body dynamics.
[0182] The motion control device of the above-mentioned robot responds to motion commands, obtains the expected motion information of the robot, and obtains the real-time status information of the robot; based on the expected motion information and the real-time status information, the control information of the foot end and the control information of the whole body dynamics can be more accurately determined, and then the control information of the foot end and the control information of the whole body dynamics can be used to more accurately control the robot to move.
[0183] In one embodiment, each foot end has a foot end wheel, and the control information of the foot end includes the expected torque of the hub motor of each foot end wheel, and the control information of the whole body dynamics includes the expected torque of each joint in the foot end; the above-mentioned control information determination module 1906 is also used to adjust the position of each foot end of the robot according to the expected motion information if the robot is in the wheeled motion mode, and obtain the expected rotation speed and expected angular mileage of each foot end wheel; based on the expected rotation speed and expected angular mileage of each foot end wheel, and the real-time rotation speed and real-time angular mileage fed back by the hub motor of each foot end wheel, determine the expected torque of the hub motor of each foot end wheel; determine the expected torque of each joint according to the expected torque and the real-time status information of the robot.
[0184] In one embodiment, the control information determination module 1906 is also used to perform multi-task kinematic planning according to the expected torque and the real-time state information of the robot to obtain the expected joint position, expected joint rotation speed and expected joint angular acceleration; based on the expected joint position, expected joint rotation speed, expected joint angular acceleration of each joint and the expected contact force of each foot end, perform impedance control of the whole body dynamics to obtain the feedforward torque, expected joint position and expected joint rotation speed of each joint; perform joint control according to the feedforward torque, expected joint position, joint rotation speed of each joint and the actual position and rotation speed of each joint to obtain the expected torque of each joint.
[0185] In one embodiment, each foot end has a foot end wheel, and the control information of the foot end includes the expected torque of the hub motor of each foot end wheel, and the control information of the whole body dynamics includes the expected torque of each joint in the foot end; the above-mentioned control information determination module 1906 is also used to plan the trajectory of the robot according to the expected motion information and real-time status information if the robot is in the wheel-foot motion mode, and obtain the planning information of the robot; based on the planning information of the robot and the real-time status information of the robot, determine the expected torque of the hub motor of each foot end wheel; according to the planning information of the robot and the real-time status information of the robot, use a linear single rigid body model to perform model predictive control to obtain the expected contact force of each foot end; based on the expected contact force of each foot end, the planning information of the robot and the real-time status information of the robot, determine the expected torque of each joint.
[0186] In one embodiment, the real-time status information includes attitude angle, rotation matrix, center of mass position of the robot, center of mass velocity of the robot, and the position and velocity of each foot end of the robot in the world coordinate system; the above-mentioned real-time status information acquisition module 1904 is also used to obtain local acceleration, three-axis local angular velocity, the rotation angle and rotation speed of each joint, and the real-time rotation speed of each foot end wheel; according to the local acceleration and three-axis local angular velocity, the attitude angle and rotation matrix are determined; according to the rotation angle and rotation speed of each joint, the real-time rotation speed and local acceleration of each foot end wheel, as well as the attitude angle and rotation matrix, the center of mass position of the robot, the center of mass velocity of the robot, and the position and velocity of each foot end of the robot in the world coordinate system.
[0187] In one embodiment, the above-mentioned device also includes a detection module, which is used to detect the presence of a communication connection board and a structural connector in the robot, indicating that the robot includes a first sub-robot and a second sub-robot, the first sub-robot and the second sub-robot respectively include two foot ends, and the first sub-robot and the second sub-robot are connected via the communication connection board and the structural connector, and then motion control is performed in a four-wheeled foot robot mode; if the communication connection board and the structural connector are not detected in the robot, indicating that the robot includes two foot ends, then motion control is performed in a two-wheeled foot robot mode.
[0188] Each module in the motion control device of the robot can be implemented in whole or in part by software, hardware or a combination thereof. Each module can be embedded in or independent of the processor in the robot in the form of hardware, or can be stored in the memory of the robot in the form of software, so that the processor can call and execute the operations corresponding to each module.
[0189] In an exemplary embodiment, a robot is provided. The robot may be a terminal, and its internal structure diagram may be as shown in FIG. Fig. 20As shown. The robot includes a processor, a memory, an input / output interface, a communication interface, a display unit and an input device. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface, the display unit and the input device are connected to the system bus through the input / output interface. The processor of the robot is used to provide computing and control capabilities. The memory of the robot includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the robot is used to exchange information between the processor and an external device. The communication interface of the robot is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be realized through WIFI, a mobile cellular network, near field communication (NFC) or other technologies. When the computer program is executed by the processor, a motion control method of a robot is realized. The display unit of the robot is used to form a visually visible picture, which can be a display screen, a projection device or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the input device of the robot can be a touch layer covering the display screen, or a button, trackball or touchpad set on the robot shell, or an external keyboard, touchpad or mouse.
[0190] Those skilled in the art will understand that Fig. 20 The structure shown in the figure is merely a block diagram of a partial structure related to the scheme of the present application, and does not constitute a limitation on the robot to which the scheme of the present application is applied. The specific robot may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0191] In one embodiment, a robot is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above-mentioned method embodiments when executing the computer program.
[0192] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.
[0193] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.
[0194] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.
[0195] A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., but are not limited to this.
[0196] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0197] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A robot motion control method, It is characterized in that The robot comprises at least two foot ends; the method comprises: Responding to the motion command, obtaining the expected motion information of the robot; Obtaining real-time status information of the robot; Determining the control information of the foot end and the control information of the whole body dynamics according to the expected motion information and the real-time state information; The robot is controlled to move using the control information of the foot end and the control information of the whole body dynamics.
2. The method according to claim 1, It is characterized in that Each of the foot ends has a foot end wheel, the control information of the foot end includes the desired torque of the hub motor of each of the foot end wheels, and the control information of the whole body dynamics includes the desired torque of each joint in the foot end; The step of determining the control information of the foot end and the control information of the whole body dynamics according to the expected motion information and the real-time state information comprises: If the robot is in the wheeled motion mode, the position of each foot end of the robot is adjusted according to the expected motion information, and the expected rotation speed and expected turning angle mileage of each foot end wheel are obtained; Determine the expected torque of the wheel hub motor of each foot-end wheel based on the expected rotation speed and expected angular mileage of each foot-end wheel and the real-time rotation speed and real-time angular mileage fed back by the wheel hub motor of each foot-end wheel; The expected torque of each joint is determined according to the expected torque and the real-time state information of the robot.
3. The method according to claim 2, It is characterized in that Determining the expected torque of each joint according to the expected torque and the real-time state information of the robot includes: Performing multi-task kinematic planning according to the expected torque and the real-time state information of the robot to obtain expected joint positions, expected joint rotation speeds, and expected joint angular accelerations; Based on the expected joint position, expected joint rotation speed, expected joint angular acceleration of each joint and the expected ground contact force of each foot end, impedance control of whole body dynamics is performed to obtain the feedforward torque, expected joint position and expected joint rotation speed of each joint; Joint control is performed according to the feedforward torque of each joint, the expected joint position, the joint rotation speed, and the actual position and rotation speed of each joint to obtain the expected torque of each joint.
4. The method according to claim 1, It is characterized in that Each foot end has a foot end wheel, the control information of the foot end includes the desired torque of the hub motor of each foot end wheel, and the control information of the whole body dynamics includes the desired torque of each joint in the foot end; The step of determining the control information of the foot end and the control information of the whole body dynamics according to the expected motion information and the real-time state information comprises: If the robot is in the wheel-foot motion mode, performing trajectory planning for the robot according to the expected motion information and the real-time state information to obtain planning information of the robot; Determining the expected torque of the hub motor of each foot-end wheel based on the planning information of the robot and the real-time status information of the robot; According to the planning information of the robot and the real-time state information of the robot, a linear single rigid body model is used to perform model predictive control to obtain the expected ground contact force of each foot end; Based on the expected ground contact force of each foot end, the planning information of the robot and the real-time state information of the robot, the expected torque of each joint is determined.
5. The method according to any one of claims 1 to 4, It is characterized in that The real-time status information includes the attitude angle, the rotation matrix, the center of mass position of the robot, the center of mass speed of the robot, and the position and speed of each foot end of the robot in the world coordinate system; The obtaining of the real-time status information of the robot comprises: Obtaining local acceleration, three-axis local angular velocity, the rotation angle and rotation speed of each joint, and the real-time rotation speed of each foot end wheel; Determine the attitude angle and the rotation matrix according to the local acceleration and the three-axis local angular velocity; According to the rotation angle and rotation speed of each joint, the real-time rotation speed and local acceleration of each foot end wheel, the posture angle and the rotation matrix, the center of mass position of the robot, the center of mass speed of the robot, and the position and speed of each foot end of the robot in the world coordinate system are determined.
6. The method according to any one of claims 1 to 4, It is characterized in that The method further comprises: If it is detected that there is a communication connection board and a structural connector in the robot, it means that the robot includes a first sub-robot and a second sub-robot, the first sub-robot and the second sub-robot respectively include at least two foot ends, and the first sub-robot and the second sub-robot are connected through the communication connection board and the structural connector, and motion control is performed in a multi-wheeled foot robot mode; If the communication connection board and the structural connector are not detected in the robot, it means that the robot includes two foot ends, and the motion control is performed in the two-wheeled foot robot mode.
7. A robot motion control device, It is characterized in that The robot comprises at least two foot ends; the device comprises: The expected motion information acquisition module is used to respond to the motion command and acquire the expected motion information of the robot; A real-time status information acquisition module, used to acquire the real-time status information of the robot; A control information determination module, used to determine the control information of the foot end and the control information of the whole body dynamics according to the expected motion information and the real-time state information; The motion control module is used to control the robot to move based on the control information of the foot end and the control information of the whole body dynamics.
8. A robot comprising a memory and a processor, wherein the memory stores a computer program. It is characterized in that When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.
9. A computer-readable storage medium having a computer program stored thereon, It is 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 6 are implemented.
10. A computer program product comprising a computer program, It is 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 6 are implemented.
Citation Information
Cited By
Motion control method and control apparatus for robot, electronic device and storage medium
WO2026138624A1
