WO2024021767A1 - 控制足式机器人的方法、装置、设备、足式机器人、计算机可读存储介质和计算机程序产品 - Google Patents
控制足式机器人的方法、装置、设备、足式机器人、计算机可读存储介质和计算机程序产品 Download PDFInfo
- Publication number
- WO2024021767A1 WO2024021767A1 PCT/CN2023/093507 CN2023093507W WO2024021767A1 WO 2024021767 A1 WO2024021767 A1 WO 2024021767A1 CN 2023093507 W CN2023093507 W CN 2023093507W WO 2024021767 A1 WO2024021767 A1 WO 2024021767A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot
- footed robot
- footed
- mechanical leg
- foot end
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 118
- 238000004590 computer program Methods 0.000 title claims abstract description 12
- 230000033001 locomotion Effects 0.000 claims abstract description 40
- 230000005484 gravity Effects 0.000 claims abstract description 37
- 230000009471 action Effects 0.000 claims abstract description 27
- 230000004044 response Effects 0.000 claims abstract description 17
- 210000002414 leg Anatomy 0.000 claims description 349
- 230000001133 acceleration Effects 0.000 claims description 68
- 230000008859 change Effects 0.000 claims description 47
- 210000001364 upper extremity Anatomy 0.000 claims description 32
- 230000006870 function Effects 0.000 claims description 30
- 210000003141 lower extremity Anatomy 0.000 claims description 23
- 230000007423 decrease Effects 0.000 claims description 12
- 238000005457 optimization Methods 0.000 claims description 12
- 230000015654 memory Effects 0.000 claims description 11
- 230000007704 transition Effects 0.000 claims description 8
- 239000002245 particle Substances 0.000 claims description 7
- 210000004394 hip joint Anatomy 0.000 claims description 6
- 210000000629 knee joint Anatomy 0.000 claims description 6
- 230000006835 compression Effects 0.000 claims description 5
- 238000007906 compression Methods 0.000 claims description 5
- 239000013598 vector Substances 0.000 description 96
- 230000008569 process Effects 0.000 description 57
- 238000004364 calculation method Methods 0.000 description 40
- 239000011159 matrix material Substances 0.000 description 27
- 238000010586 diagram Methods 0.000 description 20
- 230000036544 posture Effects 0.000 description 20
- 238000012545 processing Methods 0.000 description 13
- 238000013473 artificial intelligence Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 230000005021 gait Effects 0.000 description 7
- 210000001503 joint Anatomy 0.000 description 7
- 230000003139 buffering effect Effects 0.000 description 6
- 238000001914 filtration Methods 0.000 description 6
- 241001465754 Metazoa Species 0.000 description 4
- 238000012888 cubic function Methods 0.000 description 4
- 230000035772 mutation Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013016 damping Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000007499 fusion processing Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 239000011664 nicotinic acid Substances 0.000 description 2
- 230000001953 sensory effect Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 241000124008 Mammalia Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1615—Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/085—Force or torque sensors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/088—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
- B25J13/089—Determining the position of the robot with reference to its environment
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D57/00—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
- B62D57/02—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
- B62D57/032—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
Definitions
- the present application relates to the technical field of footed robots, specifically to the technical field of footed robot planning and control, and in particular to a method, device, equipment, footed robot, computer-readable storage medium and computer program product for controlling a footed robot.
- legged robots based on artificial intelligence and legged robot technology play an increasingly important role in intelligent transportation, smart homes and other fields, and are also facing higher requirements.
- legged robots such as quadruped robots
- the footed robot often lacks an effective control scheme, causing the footed robot to move stiffly during the landing process, each joint suffers excessive impact force, and the body rebounds greatly. Even the footed robot was damaged due to excessive impact when it landed.
- a footed robot that performs a somersault requires an effective control scheme to ensure the stability of the footed robot during the landing process.
- embodiments of the present application provide a method, device, equipment, a footed robot, a computer-readable storage medium, and a computer program product for controlling a footed robot.
- An embodiment of the present application provides a method for controlling a footed robot.
- the footed robot includes a base and at least two mechanical legs. Each of the mechanical legs includes at least one joint.
- the method includes: in response to determining the Each mechanical leg of the footed robot is dropped until it is in contact with the plane, and the first expected trajectory and the second expected trajectory corresponding to the footed robot are determined, wherein the first expected trajectory indicates that the center of mass of the footed robot is at The desired trajectory of movement in the direction of gravity and the desired trajectory of the change of the inclination angle of the footed robot; the second desired trajectory indicates the desired trajectory of the foot end of each mechanical leg, and the foot end is away from the base.
- One end based on the corresponding dynamic model of the footed robot and the first desired trajectory and the second desired trajectory, control the actions of each joint after the footed robot contacts the plane until the base of the footed robot The height remains unchanged and the rotation angle in the tilt angle direction of the footed robot is zero.
- An embodiment of the present application provides a device for controlling a footed robot.
- the footed robot includes a base and at least Two mechanical legs, each of the mechanical legs includes at least one joint, and the device includes: a planning calculation device configured to determine that in response to determining that each of the mechanical legs of the footed robot has fallen into contact with a plane, The first expected trajectory and the second expected trajectory corresponding to the footed robot, wherein the first expected trajectory indicates the expected trajectory of the center of mass of the footed robot moving in the direction of gravity and the inclination angle of the footed robot.
- the second desired trajectory indicates the desired trajectory of the foot end of each mechanical leg, the foot end being the end away from the base;
- the control motor is configured to correspond to the center of mass of the footed robot based on The dynamic model and the first desired trajectory and the second desired trajectory control the actions of each joint after the footed robot contacts the plane until the height of the base of the footed robot remains unchanged and the footed robot The rotation angle in the tilt angle direction of the robot is zero.
- An embodiment of the present application provides a footed robot, including: a base part; and a lower limb part connected to the base part.
- the lower limb part includes four lower limbs, wherein each lower limb includes two degrees of freedom of a hip joint and The knee joint has 1 degree of freedom; a controller, the controller is provided on the footed robot and is capable of executing the above method.
- An embodiment of the present application provides a device for controlling a footed robot, including: a processor; and a memory, wherein computer executable code is stored in the memory, and when the computer executable code is run by the processor, Execute the above method.
- Embodiments of the present application provide a non-volatile computer-readable storage medium on which executable code is stored. When executed by a processor, the executable code causes the processor to execute the above method.
- Embodiments of the present application provide a computer program product, which includes computer executable instructions or computer programs.
- the computer executable instructions or computer programs are executed by a processor, the method for controlling a footed robot provided by embodiments of the present application is implemented.
- a dynamic model is established for a footed robot under free fall motion, and based on the dynamic model, the center of mass motion trajectory and foot end position trajectory of the footed robot after landing are planned, and based on the planned
- the motion trajectory of the center of mass and the position trajectory of the foot end are used to solve the control torque of each motor to control the footed robot.
- Figure 1 is a schematic diagram showing a footed robot provided according to an embodiment of the present application.
- Figure 2 is a flow chart illustrating a method for controlling a footed robot provided according to an embodiment of the present application
- Figure 3A is a schematic diagram of a virtual robot in a two-dimensional plane model obtained by simplifying the footed robot provided by the embodiment of the present application;
- Figure 3B is a schematic diagram of various stages of the somersault process of the footed robot provided by the embodiment of the present application;
- Figure 3C is a schematic diagram of the moment when the footed robot provided by the embodiment of the present application comes into contact with a flat surface
- Figure 4 is a schematic diagram illustrating the changes in the position and posture of the center of mass during the landing process of the footed robot according to an embodiment of the present application and the stress on the front and rear legs in a simplified model of the footed robot;
- Figure 5 is a schematic diagram showing the contact between the mechanical legs and a flat surface during the landing process of the footed robot according to an embodiment of the present application
- Figure 6 is a schematic diagram showing the calculation principle of a cubic spline difference provided according to an embodiment of the present application.
- Figure 7A shows a schematic diagram of the first action of a footed robot landing after performing a somersault according to an embodiment of the present application. picture
- FIG. 7B shows a schematic diagram of the second action of the footed robot landing after performing a somersault according to an embodiment of the present application
- Figure 8 shows a schematic diagram of the control system architecture of a footed robot provided according to an embodiment of the present application
- Figure 9 shows an exemplary block diagram of a footed robot according to an embodiment of the present application.
- the footed robot provided in the embodiment of the present application is a robot that uses legs to move. It uses animals as bionic objects, and its purpose is to simulate the movement forms of animals and replicate the movement abilities of animals based on engineering technology and scientific research results. Footed robots have strong adaptability to various environments, including structured environments (such as roads, railways, treated smooth roads, etc.) and unstructured environments (such as mountains, swamps, rough roads, etc.). It can adapt to various changes in terrain, climb over higher obstacles, and can effectively reduce the load and improve the energy utilization efficiency of the system. According to the number of feet, legged robots can be divided into single-legged, bipedal, quadrupedal, six-legged, eight-legged, etc.
- quadrupedal robots have superior movement ability and have better static stability than bipedal robots. , and its movements are simpler and more flexible than six-legged and eight-legged robots. Therefore, four-legged robots are a common choice for studying footed robots.
- the gait of a quadruped robot is the coordinated relationship between its four legs in time and space in order for the quadruped robot to move continuously.
- the gait of a quadruped robot is derived from the gait of a quadruped mammal, which can include but is not limited to the following three simplified forms: walk, trot, and bound.
- the method for controlling a legged robot may be implemented based on artificial intelligence (Artificial intelligence, AI).
- Artificial intelligence is a theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results.
- artificial intelligence is a comprehensive technology of computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can respond in a similar way to human intelligence.
- the method of controlling a footed robot based on artificial intelligence can plan the movement trajectory and gait of the footed robot in a manner similar to how humans guide the movement of living animals, making the movement of the footed robot more flexible and bionic.
- artificial intelligence enables the method of controlling a footed robot provided in the embodiment of the present application to automatically and efficiently design the subsequent motion trajectory of the footed robot based on the current motion state of the footed robot. Track and gait functions.
- Figure 1 is a schematic diagram showing a footed robot provided according to an embodiment of the present application. As shown in Figure 1, a four-legged footed robot is taken as an example. The left figure in Figure 1 shows an internal perspective view of the example footed robot. , the right figure shows the external structure diagram of an example legged robot.
- each mechanical leg may include an upper leg and a lower leg, and each mechanical leg may include at least one joint.
- each robotic leg may include multiple lower limb joints, such as a hip joint with two degrees of freedom and a knee joint with one degree of freedom.
- each robotic leg can also be configured with multiple motors, which can be used to control individually or in combination the two degrees of freedom of the hip joint and one degree of freedom of the knee joint of the quadruped robot.
- the footed robot can also be equipped with a variety of sensors, such as inertial measurement unit (IMU) sensors and joint angle encoders; among them, the IMU sensor can provide real-time information about the footed robot. Acceleration and attitude information, the joint angle encoder can provide joint angle information of each joint of the footed robot in real time (such as joint angle angle, angular velocity feedback value, etc.).
- IMU inertial measurement unit
- the joint angle encoder can provide joint angle information of each joint of the footed robot in real time (such as joint angle angle, angular velocity feedback value, etc.).
- the example legged robot can perform actions such as somersaults or jumping under the control of the multiple motors mentioned above.
- footed robots that perform these actions will eventually fall back to the surface in a free fall. If the footed robot is not controlled during the free fall of the footed robot and the contact between the footed robot and the flat surface, it will cause the footed robot to move stiffly during the landing process, and each joint will receive excessive impact force. , the fuselage rebounds greatly. Even in some extreme cases, the footed robot is damaged due to the excessive impact force it receives when it lands.
- inventions of the present application provide a method for controlling a footed robot.
- the footed robot includes a base and at least two mechanical legs, and each of the mechanical legs includes at least one joint.
- the method includes: in response to determining that each mechanical leg of the footed robot has fallen into contact with a plane, determining a first expected trajectory and a second expected trajectory corresponding to the footed robot, wherein the first expected trajectory
- the trajectory indicates the desired trajectory of the center of mass of the footed robot moving in the direction of gravity and the desired trajectory of the change of the inclination angle of the footed robot
- the second desired trajectory indicates the desired trajectory of the foot end of each mechanical leg; based on The dynamic model corresponding to the center of mass of the footed robot and the first desired trajectory and the second desired trajectory control the actions of each joint after the footed robot contacts the plane until the base of the footed robot The height remains unchanged and the rotation angle in the tilt angle direction of the footed robot is zero.
- inventions of the present application also provide a device for controlling a footed robot.
- the footed robot includes a base and at least two mechanical legs. Each of the mechanical legs includes at least one joint.
- the device includes : a planning computing device configured to, in response to determining that the footed robot falls into contact with a plane, determine a first desired trajectory and a second desired trajectory corresponding to the footed robot, wherein the first desired trajectory indicates the legged robot The desired trajectory of the center of mass moving in the direction of gravity and the desired trajectory of the change of the inclination angle of the footed robot; the second desired trajectory indicates the desired trajectory of the foot end of each mechanical leg; the control motor is configured to be based on the The dynamic model corresponding to the center of mass of the footed robot and the first desired trajectory and the second desired trajectory control the actions of each joint after the footed robot contacts the plane until the height of the base of the footed robot is no longer The rotation angle of the footed robot in the tilt angle direction is zero.
- embodiments of the present application also provide a footed robot, including: a base part; a lower limb part connected to the base part, the lower limb part including four lower limbs, wherein each lower limb includes a hip joint Two degrees of freedom and one degree of freedom of the knee joint; a controller, the controller is provided on the footed robot and is capable of executing the above method.
- the method of controlling a footed robot can not only automatically realize the planning of the trajectory and gait of the footed robot, but also can During the landing process, the impact force on each joint is reduced, and the rebound range of the fuselage and the change in tilt angle are reduced. While ensuring the landing function, it also forms a good anti-impact protection effect for the legged robot.
- the change of the inclination angle of the center of mass is further considered, which is more suitable for landing control of a footed robot performing a somersault action.
- FIG. 2 is a flow chart of a control method 20 for a footed robot provided by an embodiment of the present application.
- the control method 200 for a footed robot provided by the embodiment of the present application may include steps S201-S202 as shown in Figure 2.
- the footed robot includes a base and at least two mechanical legs, each of which includes at least one joint.
- step S201 in response to determining that each mechanical leg of the footed robot has fallen into contact with a plane, a first expected trajectory and a second expected trajectory corresponding to the footed robot are determined, wherein the first expected trajectory The trajectory indicates the desired trajectory of the center of mass of the footed robot moving in the direction of gravity and the desired trajectory of the change of the inclination angle of the footed robot, and the second desired trajectory indicates the desired trajectory of the foot end of each mechanical leg.
- step S201 can be executed by any computer device.
- the computer device here may be a terminal or a server; or the computer device here may be jointly executed by a terminal and a server, which is not limited.
- the terminal can be a smartphone, a computer (such as a tablet, a laptop, a desktop computer, etc.), a smart wearable device (such as a smart watch, smart glasses), a smart voice interaction device, a smart home appliance (such as a smart TV), a vehicle-mounted terminal or aircraft, etc.
- the server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or it can provide cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud Communication, middleware services, domain name services, security services, CDN (Content Delivery Network, content distribution network), and cloud servers for basic cloud computing services such as big data and artificial intelligence platforms, etc.
- CDN Content Delivery Network, content distribution network
- cloud servers for basic cloud computing services such as big data and artificial intelligence platforms, etc.
- the terminal and server can be located within the blockchain network or outside the blockchain network, and there is no limit to this; further, the terminal and server can also upload any data stored internally to the blockchain network for storage. , to prevent internally stored data from being tampered with and improve data security.
- the contact between each mechanical leg of the footed robot and a flat surface (such as the ground, table, etc.) will change, so that the footed robot can have Various forms of exercise.
- the footed robot usually has a certain tilt angle when it comes into contact with a flat surface.
- the footed robot may have an angular velocity of tilting forward and backward or tilting left and right. At this time, it is necessary to dynamically adjust the joint torque of each mechanical leg to prevent the footed robot from falling.
- the first desired trajectory indicates a desired trajectory in which the center of mass of the footed robot moves in the direction of gravity and a desired trajectory in which the inclination angle of the footed robot changes.
- the first desired trajectory may include expected position information, speed information, acceleration information, angular velocity information, angular acceleration information, etc. of the center of mass of the footed robot at each time step.
- the first desired trajectory can be a time series number composed of centroid related information corresponding to each time step. represented as a sequence of values.
- each element in the time series value sequence may have 6 dimensions, which respectively represent the position of the center of mass in the x-axis direction, the position of the center of mass in the y-axis direction, and the position of the center of mass in the z-axis direction corresponding to a certain time step.
- the position in the direction (gravity direction), the pitch angle of the footed robot (pitch), the yaw angle of the footed robot (yaw), the roll angle of the footed robot (roll), etc.
- the first desired trajectory can also be represented by other data structures, and the embodiments of the present application are not limited thereto. An example scheme for determining the first desired trajectory will be explained later with reference to FIG. 4 .
- the foot end of each mechanical leg is also an end away from the base, and the second desired trajectory indicates the desired trajectory of the foot end of each mechanical leg.
- the second desired trajectory may include expected position information, velocity information, acceleration information, angular velocity, angular acceleration information, etc. of the foot end of each mechanical leg at each time step.
- the second desired trajectory may also include expected position information, velocity information, acceleration information, angular velocity, angular acceleration information, etc. of each joint of each mechanical leg at each time step.
- the second desired trajectory can be represented by a time series consisting of information related to each mechanical leg corresponding to each time step.
- the second desired trajectory can also be represented by other data structures, and the embodiments of the present application are not limited thereto. An example scheme for determining the second desired trajectory will be explained later with reference to FIGS. 5 to 6 .
- a time step can also be called a frame.
- the time difference between adjacent time steps can be the same or different.
- the difference between time steps can be set to a smaller value less than a difference threshold, thereby achieving Ensure that the movement control of the footed robot is flexible enough in the early stage.
- the difference between time steps can be set to a larger value than the difference threshold to save computing power.
- the embodiment of the present application does not limit the time difference between adjacent time steps.
- step S202 based on the corresponding dynamic model of the footed robot and the first expected trajectory and the second expected trajectory, the actions of each joint after the footed robot contacts the plane are controlled until the footed robot The height of the base remains unchanged and the rotation angle in the tilt angle direction of the footed robot is zero.
- the corresponding dynamic model of the footed robot is used to characterize the changing relationship between each joint and the center of mass angle, angular velocity, angular acceleration and joint moment as well as the contact force with the outside world during the movement of the footed robot.
- the dynamic model can describe the above-mentioned change relationship from the perspective of energy change.
- the dynamic model can also describe the above-mentioned change relationship from the perspective of momentum change or force change. The embodiments of the present application do not limit this.
- the forces acted upon by the footed robot include gravity, the driving force of each joint motor, and the direction of the flat surface to the flat surface.
- the contact force also called support force
- the corresponding dynamic model of the footed robot is established. Footed robots in different postures receive different contact forces and driving forces. Based on the corresponding dynamic model of the footed robot, determine the contact force between the footed robot and the plane at each time step, so that the actual trajectory of the center of mass of the footed robot conforms to the first Expected trajectory.
- the motor provided by each joint motor at each time step can also be determined. Torque, so that the trajectory of the foot end of each mechanical leg conforms to the second desired trajectory.
- the "consistent" mentioned in the embodiment of this application means that during the actual test of the real machine, the actual trajectory of the center of mass of the footed robot is very close or even the same as the first expected trajectory.
- the trajectory of the foot end of the mechanical leg is very close to or even the same as the second desired trajectory. Due to the performance limitations of joint motors, joint motors often cannot output ideal torque. At the same time, considering changes in the external environment (for example, the sudden occurrence of wind and other disturbances), it is often difficult to control the footed robot to fully comply with the first desired trajectory and the second desired trajectory. Therefore, embodiments of the present application only require that the difference between the actual trajectory and the expected trajectory is small enough.
- the footed robot based on the corresponding dynamic model of the footed robot, it can be determined that the footed robot The contact force required for the center of mass of the robot to reach the position, speed, acceleration, angular velocity, and angular acceleration indicated by the first desired trajectory at each time step.
- the contact force is the support provided by the plane to the foot end of each mechanical leg. force.
- the joint control information may be the acceleration of each joint motor or the torque of the joint motor.
- control schemes for footed robots do not consider the planning of the trajectory of the center of mass of the footed robot, but only consider the spring model. Therefore, it is difficult to achieve precise control during the landing process.
- the method for controlling a footed robot provided by the embodiments of the present application can not only automatically plan the trajectory and gait of the footed robot, but also reduce the impact on each joint during the landing process of the footed robot.
- the impact force can be reduced, and the rebound range of the fuselage and the change range of the tilt angle can be reduced, which ensures the landing function while forming a good anti-impact protection effect for the legged robot.
- the change of the inclination angle of the center of mass is also considered, which is more suitable for landing control of a footed robot performing a somersault action.
- FIG. 3A is a schematic diagram of a virtual robot in a two-dimensional plane model obtained by simplifying the footed robot provided by the embodiment of the present application.
- FIG. 3B is a schematic diagram of various stages of the somersault process of the footed robot provided by the embodiment of the present application.
- Figure 3C is a schematic diagram of the moment when the footed robot provided by the embodiment of the present application comes into contact with a flat surface.
- the footed robot can approximately move in a two-dimensional plane (the plane formed by the x-axis (horizontal axis) and z-axis (vertical axis)); then if the mass and shape of the footed robot are not considered
- the asymmetry, as well as the control error of the motor, etc. can simplify the footed robot into a virtual robot in a two-dimensional plane model, so as to control and estimate the state of the virtual robot.
- the virtual robot may include a virtual front leg and a virtual rear leg. Among them, the virtual front legs are obtained by performing equivalent processing on the two front legs of the footed robot in Figure 1.
- the virtual front legs can be obtained by overlapping the front mechanical legs on the left and right sides of the quadruped robot; the virtual front legs The rear legs are obtained by performing equivalent processing on the two rear legs of the footed robot.
- the virtual rear legs can be obtained by overlapping the left and right rear legs of the footed robot.
- FIG. 3B four stages of a footed robot performing a backflip are shown.
- the virtual front legs and virtual rear legs of the virtual robot touch the plane at the same time.
- the entire process includes the virtual robot using the virtual rear legs as the position point, the virtual front legs exerting force to push on the ground, and the virtual robot is subject to the reaction force of the plane.
- the virtual front legs will leave the plane, and only the virtual hind legs will be in contact with the plane. This phase ends when the virtual front legs leave the plane.
- the number of virtual contact points (contact points) between the virtual robot in the two-dimensional plane model and the plane is 2, which includes the virtual contact points between the virtual front legs and the plane and the virtual contact points between the virtual rear legs and the plane. point.
- the second stage it starts from the moment when the virtual front legs of the virtual robot leave the plane, and ends when the virtual front legs and virtual rear legs of the virtual robot leave the plane at the same time.
- the whole process includes the process of the virtual robot rotating with the contact point between the virtual hind legs and the plane as the center of the circle.
- the number of virtual contact points between the virtual robot and the plane in the two-dimensional plane model is 1, that is, including The virtual contact point of the virtual hind legs with the flat surface.
- the third stage it starts from the time when the virtual front legs and the virtual back legs of the virtual robot leave the plane at the same time, and ends when one or several legs of the virtual robot touch the plane. Including the process in which the posture of the virtual robot's center of mass in the air rotates close to 360 degrees. In the third stage, the number of virtual contact points between the virtual robot and the plane in the two-dimensional plane model is 0.
- the fourth stage it starts from the virtual front legs of the virtual robot contacting the plane until both the virtual front legs and the virtual rear legs of the virtual robot fall on the plane, and then gradually stabilizes.
- both the virtual front legs and the virtual hind legs After landing, the number of virtual contact points between the virtual robot in the two-dimensional plane model and the plane is 2, that is, the virtual contact points between the virtual front legs and the plane and the virtual contact points between the virtual rear legs and the plane.
- the method of controlling a legged robot is mainly applied to the process in the fourth stage in which both the virtual front legs and the virtual rear legs fall on the plane and then gradually stabilize.
- the current time refers to: during the landing process of the footed robot, as time progresses, the latest system time reached.
- the contact information between each mechanical leg and the plane at the current moment includes at least one of the following items: whether each mechanical leg of the legged robot is in contact with the plane, and whether each mechanical leg is in contact with the plane.
- the contact information is determined based on the current status information corresponding to the footed robot at the current moment.
- the IMU sensor 801 in the footed robot may be called to determine the current status information of the footed robot.
- the acceleration information of the footed robot at the current moment can be collected through the IMU sensor 801 (the acceleration information can include the acceleration of the footed robot in multiple directions (such as vertical direction, horizontal direction)) and the current posture information, and call
- the joint angle encoder 802 determines the joint angle information of each joint of the footed robot at the current moment (such as joint angle angle, angular velocity feedback value, etc.).
- the current posture information and joint angle information can be input into the leg odometry (Lego odometry) 803 to calculate the position information.
- the position information may include: the position of each mechanical leg of the footed robot at the current moment.
- the acceleration information can be input to the state space observer 804, and the state space observer 804 can output a position observation result based on the acceleration information and the historical state estimation result of the footed robot at the current moment.
- the position observation results may include: the observed positions of each mechanical leg of the footed robot at the current moment; wherein the state estimation result of the footed robot at the current moment may be the result of the state of the footed robot when it arrives at the previous moment of the current moment.
- the state of the legged robot at the current moment is estimated, which can be stored in a vector or other data structure, and is not limited to this. Then, based on the position information and position observation results, the state of the footed robot at the next moment of the current moment can be estimated.
- the position information and position observation results can also be used as input data of the Extended Kalman Filter (EKF) unit 805 to perform state estimation through the EKF unit, thereby obtaining the state estimation result of the footed robot at the next moment.
- EKF Extended Kalman Filter
- the so-called extended Kalman filter is an extended form of the standard Kalman filter (Kalman filter for short) in nonlinear situations. It can perform Taylor expansion of nonlinear functions, omit high-order terms, and retain the first-order terms of the expansion terms. , to achieve linearization of nonlinear functions.
- the position information and position observation results can also be used as input data of the Kalman filter unit or as input data of the state estimation model based on machine learning, so as to perform state analysis through the Kalman filter unit or the state estimation model.
- Estimation is performed to obtain the state estimation result of the legged robot at the next moment.
- the state estimation result of the footed robot at the next moment can be used for the control of the footed robot and the input of the state space observer at the next state estimation; that is to say, the state estimation result obtained through the state estimation can be used Based on the feedback control of the footed robot, a closed loop is formed.
- the method of determining contact information based on current status information includes: obtaining any machine The historical state value of the mechanical leg at the previous moment of the current moment is determined, and the current state value of any mechanical leg is determined from the current state information, so that it can be judged whether there is a sudden change in the current state value of any mechanical leg based on the historical state value.
- the existence of a sudden change in the current status value means that the difference between the current status value and the historical status value is greater than the preset difference. Based on this, the difference between the historical status value and the current status value of any item can be calculated; if the calculated difference is greater than the preset difference, it is determined that there is a mutation in the current status value; if the calculated difference is not greater than If the difference is preset, it will be determined that there is no sudden change in the current status value.
- the historical status value is 20 and the preset difference is 50; if the current status value is 100, then since 100 minus 20 equals 80, and 80 is greater than 50, it can be considered that there is a sudden change in the current status value; if the current status value is 30, then since 30 minus 20 equals 10, and 10 is less than 50, it can be considered that there is no mutation in the current state value.
- the contact information between the robotic leg and the plane at the previous moment will be used as the contact information at the current moment. That is, if any mechanical leg is in contact with the plane at the last moment, it is determined that the mechanical leg is also in contact with the plane at the current moment; if any mechanical leg is not in contact with the plane at the previous moment, it is determined that the mechanical leg is in contact with the plane at the current moment. There was no contact with the surface at all.
- the current status information may include: joint motor torque or current value or voltage value of each mechanical leg.
- the load on the mechanical leg is only the mass of the mechanical leg. Since the mass of the mechanical leg of the footed robot can be ignored relative to the overall mass, The load is small, the feedback current value of each joint and the joint motor torque are relatively small.
- the load of the footed robot touches a flat surface (such as touching the ground)
- the load of the footed robot becomes its entire mass plus the equivalent inertial force of downward movement under the action of its own inertia, so the load is larger and each The feedback current value of the joint and the torque of the joint motor are relatively large. Based on this, when it is detected that the joint motor torque or the feedback current value suddenly changes from a small value to a large value, the footed robot is considered to have landed from the air to a flat surface (such as a flat surface).
- the current status information includes: the height of the center of mass of the footed robot, the attitude of the center of mass, and the current joint angle information corresponding to each mechanical leg.
- the moment when the foot end of the footed robot contacts the plane can be determined based on the center of mass height and center of mass posture of the footed robot detected by an external vision or motion capture system, as well as the joint angle information of the footed robot. This determines whether the corresponding mechanical leg is in contact with the plane at the current moment.
- the method of detecting the contact information between the mechanical leg and the plane at the current moment according to the current status information includes: calculating the distance of any mechanical leg to the plane according to the height of the center of mass, the attitude of the center of mass, and the current joint angle information corresponding to any mechanical leg. height; if the calculated height is less than or equal to the height threshold (such as the value 0 or 0.005, etc.), then it is determined that any mechanical leg is in contact with the plane at the current moment; if the calculated height is greater than the height threshold, then it is determined that any mechanical leg There is no contact with the surface at the current moment.
- the height threshold such as the value 0 or 0.005, etc.
- the current status information may include: the current plantar tactile feedback value corresponding to each mechanical leg, and the plantar tactile feedback value is generated by the plantar tactile sensor of the corresponding leg.
- a plantar touch sensor may be used to determine whether the corresponding leg is in contact with a flat surface at the current moment. Furthermore, when any plantar tactile sensor detects that the corresponding leg is in contact with the plane, it generates a first value as the plantar tactile feedback value, and when it detects that the corresponding leg is not in contact with the plane, it generates a second value as the plantar tactile feedback value. Tactile feedback value; the first value and the second value here can be set according to actual needs. For example, the first value is a value 1 and the second value is a value 0, or the first value is a value 0 and the second value is a value 1. wait.
- the method of detecting the contact information between the mechanical leg and the plane at the current moment according to the current state information includes: obtaining the current plantar tactile feedback value corresponding to the mechanical leg from the current state information; if the current plantar tactile feedback value is obtained is the first value, then it is determined that any mechanical leg is in contact with the plane at the current moment; if the current foot tactile feedback value obtained is the second value, it is determined that It is assumed that any mechanical leg is not in contact with the plane at the current moment.
- the current status information includes: the current acceleration of the footed robot in the vertical direction. Assume that at the previous moment of the current moment, the historical acceleration of the footed robot in the vertical direction is known; if the current acceleration is determined to have a sudden change based on the historical acceleration, it is determined that the footed robot has landed.
- the acceleration of the footed robot in the z direction collected by the IMU sensor is twice the gravity acceleration value g; when the footed robot is completely weightless in the air, the IMU The acceleration of the footed robot in the z direction collected by the sensor is close to 0; when the footed robot steps hard on the plane with its feet to prepare for flying, and during the process of buffering to the plane after landing, the IMU sensor collects The acceleration of the footed robot in the z direction is greater than twice the gravity acceleration g. It can be seen from this that at the moment the footed robot lands, the acceleration of the footed robot in the vertical direction changes suddenly.
- the sudden change in the current acceleration means that the difference between the current acceleration and the historical acceleration is greater than the difference threshold; based on this, the computer device can calculate the difference between the historical acceleration and the current acceleration; if the calculated difference If the value is greater than the difference threshold, it is determined that the current acceleration has mutated; if the calculated difference is not greater than the difference threshold, it is determined that the current acceleration has not mutated. For example, assume that the historical acceleration is 2 and the difference threshold is 5; if the current acceleration is 9, then because 9 minus 2 equals 7, and 7 is greater than 5, it can be considered that the current acceleration has mutated; if the current acceleration is 4, then because 4 minus 2 equals 2, and 2 is less than 5, so it can be considered that the current acceleration has not changed suddenly.
- FIG. 4 is a schematic diagram illustrating the changes in the position and posture of the center of mass during the landing process of the footed robot and the stress on the front and rear legs in the simplified model of the footed robot provided by the embodiment of the present application.
- FIG. 4 Six curves are shown in Figure 4, which are the first thrust curve, the second thrust curve, the center of mass height curve, the center of mass velocity curve, the tilt angle curve, and the angular velocity curve. These six curves correspond to the first desired trajectory.
- the initial conditions of these six curves are the same. Among them, the initial height at the landing moment is 0.35m, the initial velocity at the landing moment is -2.3m/s, the final height at the stable moment is 0.28m, the inclination angle at the landing moment is 0.05rad, the inclination angle angular velocity at the landing moment is It is 9rad/s, the upper limit of impact force received when landing is 240N, and the upper limit of impact force received during the whole process is 240N.
- the first thrust curve indicates the change of the thrust of the front legs of the legged robot with time steps during the landing process.
- the x-axis is the time step
- the y-axis is the thrust of the first thrust f1 (unit is Newton).
- the thrust of the front legs of the footed robot first gradually increases, then gradually decreases, and then gradually increases to a stable value.
- the second thrust curve indicates the change of the thrust of the hind legs with time steps during the landing process of the legged robot.
- the x-axis is the time step
- the y-axis is the thrust of the second thrust f2 (unit is Newton).
- the thrust of the hind legs maintains the highest value for a period of time, then gradually decreases, and then gradually rises to a stable value.
- the center-of-mass height curve indicates the change of the center-of-mass height with time steps during the landing process of the legged robot.
- the x-axis is the time step and the y-axis is the height (in centimeters).
- This curve exemplarily shows the change of the first desired trajectory in the z direction.
- the center-of-mass height curve after the footed robot comes into contact with a flat surface, the height of the center of mass of the footed robot gradually decreases and then gradually increases.
- the center-of-mass velocity curve indicates that the speed of the center of mass of the footed robot in the direction of gravity (z direction) changes with time steps during the landing process.
- the x-axis is the time step and the y-axis is the speed (unit is meters/second).
- This curve exemplarily shows the velocity change of the first desired trajectory in the Z direction. As shown in the speed curve, after the footed robot comes into contact with the plane, the speed of the center of mass of the footed robot in the vertical direction gradually increases and then gradually decreases to 0.
- the tilt angle curve indicates the change of the tilt angle with time steps during the landing process of the legged robot.
- the x-axis is the time step and the y-axis is the tilt angle (unit is radians).
- This curve exemplarily shows the change of the tilt angle in the first desired trajectory. As shown in the inclination angle curve, after the footed robot comes into contact with a flat surface, the angle value of the inclination angle of the footed robot gradually increases and then gradually decreases to 0.
- the angular velocity curve indicates the change of the inclination angle with time steps during the landing process of the legged robot.
- the x-axis is the time step
- the y-axis is the inclination angle angular velocity (unit: radians/second).
- This curve exemplarily shows the angular velocity change of the tilt angle in the first desired trajectory. As shown in the angular velocity curve, after the footed robot comes into contact with a flat surface, the angular velocity of the inclination angle of the footed robot gradually decreases to 0, then increases in the opposite direction, and then gradually decreases to 0.
- the legged robot first falls with a large acceleration until any front leg contacts the plane.
- the mechanical leg in contact with the plane bears a larger force from the plane, and the rate of descent of the center of mass gradually decreases.
- the four mechanical legs together bear the force of the plane on the footed robot and always maintain contact with the plane until the center of mass of the footed robot reaches the expected rest height and the inclination angle is at 0 nearby.
- the optimization goal can be set based on the center of mass height curve and inclination angle curve in Figure 4, so that the desired The trajectory tries to achieve the expected buffering effect.
- the optimization goals can be a small overshoot, a small integral of the change in tilt angle over time, a small integral of the height in the vertical direction over time, the lowest height being higher than a certain safety threshold, and the change in force cannot occur.
- the mutation and vertical height change speed must meet certain constraints and so on.
- an approximate model corresponding to the footed robot is used to determine the desired trajectory of the center of mass of the footed robot (ie, the first desired trajectory).
- the footed robot is approximated as a single rigid body, and during the contact between the footed robot and the plane, the front legs exert a first thrust on the single rigid body, and the rear legs exert a first thrust on the single rigid body.
- the rigid body exerts a second thrust, the resultant force of the first thrust and the second thrust exerts an upward thrust on the single rigid body, and the torque formed by the first thrust and the second thrust provides a center-of-mass angular acceleration to the single rigid body.
- the mass of the footed robot is first obtained; based on the approximate model and the mass of the footed robot, determine the dynamic equation corresponding to the footed robot; then convert the dynamic equation into a state space representation, and discretize the state space representation to obtain the corresponding dynamic equation for each time step.
- the state transition equation of each time step is used to construct an optimization objective function through the state transition equation corresponding to each time step, and the optimization objective function is solved to obtain the first desired trajectory corresponding to the footed robot.
- a legged robot can be approximated as a single rigid body with mass m and its moment of inertia in the direction of rotation around the rotation axis corresponding to the tilt angle is I.
- the resultant force of the two front legs is f 1
- the resultant force of the two rear legs is f 2
- the sum of the two forms an upward thrust on a single rigid body.
- the dynamic model is based at least in part on the approximate model, and the dynamic model indicates a relationship between the acceleration of the single rigid body and the first thrust force, the second thrust force, and gravity, and the The dynamic model also indicates the relationship between the angular acceleration of the rotation angle in the tilt angle direction of the single rigid body and the first thrust force and the second thrust force.
- g is the gravity coefficient, which is equal to -9.81 (the negative sign indicates that the gravity direction is vertically downward).
- l is the length of the mechanical leg. Indicates the vertical acceleration of the center of mass of the single rigid body. Angular acceleration indicating the rotation angle of the single rigid body in the tilt angle direction. ⁇ indicates the angle value of the rotation angle in the tilt angle direction of the single rigid body.
- the dynamic equation is converted into a state space representation form, that is, the second equation (2) shown below.
- the second equation (2) can be abbreviated into the form of the third equation (3).
- x 1 represents the vector consisting of the vertical height of the center of mass, the vertical velocity of the center of mass, and the acceleration of gravity corresponding to the first time step
- x 2 represents the vertical height of the center of mass, the vertical direction of the center of mass corresponding to the second time step.
- x k represents the vector consisting of the vertical height of the center of mass, the vertical velocity of the center of mass, and the acceleration of gravity corresponding to the kth time step, and so on, where x 0 is the vector corresponding to the initial moment.
- the fifth equation (5) can also be abbreviated as the sixth equation (6).
- X A qp x 0 +B qp U (6);
- the sixth equation (6) has given the mathematical expression of the state transition equation corresponding to each time step. Based on the state transition equation corresponding to each time step shown in the sixth equation (6) and the expected buffering effect during the fall of the footed robot, the optimization objective function corresponding to each embodiment of the present application is constructed to achieve the optimal Solution of the first desired trajectory.
- the first desired trajectory makes the combination of the following items reach an extreme value: the fluctuation amount of the center of mass of the footed robot, the total amount of impact force received by the footed robot, the squatting amount of the footed robot, The amount of sudden impact force experienced by the legged robot.
- Each of the above items can have corresponding weight coefficients and be combined in various ways.
- the optimization objective-Z function as shown in the seventh equation (7) can be set to solve for the optimal thrust U.
- X ref is a constant vector representing the rest height shown as the dotted line in Figure 4.
- x represents the lowest height of the center of mass throughout the process.
- the first term of Z function It can be used as a form of expression of the fluctuation amount of the center of mass of the footed robot, which is the weighted value of the dynamic equation that the footed robot should satisfy (the weight coefficient is L).
- the weight coefficient is L.
- term 1 is shown as the area-weighted value of the gray area.
- the second term of the Z function It can be used as an expression of the total amount of impact force received by the footed robot, which is the weighted value of the sum of the plane reaction forces received by the footed robot over time (the weight coefficient is K).
- the weight coefficient is K.
- 2 Q represents the weighted value of the distance between the lowest point of the center of mass of the legged robot and the resting height during the entire falling process (the weight coefficient is Q).
- 2 Q can be used as a form of expression of the squatting amount of the footed robot.
- the 4th term of the Z function Represents the weighted value of the difference in reaction force provided by the plane to the footed robot between adjacent time steps (the weight coefficient is W).
- the 4th term of the Z function It can be used as a form of expression of the sudden change of the impact force suffered by the footed robot.
- the above is only a combination of the Z function.
- the above items of the Z function are only the fluctuation amount of the center of mass of the footed robot, the total amount of impact force received by the footed robot, and the squat of the footed robot.
- the amount, the impact force mutation amount experienced by the footed robot is an example representation form, and the embodiment of the present application is not limited thereto.
- the corresponding importance of each item is adjusted through each of the above-mentioned weight coefficients.
- K when K is larger, it means that the impact force on the robot is more important in the control scheme of the footed robot.
- the weighting schemes in the embodiment of this application include multiple types.
- the weighting scheme can be a multiplicative weighting scheme, then the first term of the Z function can be further expressed as (A qp X 0 +B qp UX ref ) T L (A qp X 0 +B qp UX ref ).
- the weighting scheme may also be a power weighting scheme or an addition scheme, and the embodiments of the present application are not limited to this.
- the remaining terms of the Z function can also be calculated with different weighting schemes.
- the first constraint is u 0 ⁇ u U .
- u 0 represents the magnitude of the impact force received by the footed robot at the first moment when it contacts the plane, which will be less than the maximum impact force u U that the footed robot can withstand.
- Legged robot can The maximum impact force U U that can withstand depends on the structural characteristics of the legged robot and the strength of the rigid body. An example value is 200N. The embodiments of the present application are not limited by the value of this example.
- the second constraint is F L ⁇ u ⁇ F U .
- F L represents the lower limit of the support force that the plane can provide
- F U represents the upper limit of the support force that the plane can provide.
- FL is usually 0 because the support force cannot be less than 0.
- the third constraint is The third constraint indicates that the z-direction height of the center of mass of the footed robot at each moment is always greater than the minimum height x .
- x is a column vector consisting of the lowest height sequence values.
- the eighth equation (8) can be obtained.
- the eleventh equation (11) can be obtained.
- the full model of the footed robot can also be used to plan the first desired trajectory of the footed robot.
- the first desired trajectory planned by such an embodiment has higher accuracy, but often requires higher computing power to achieve real-time planning.
- the movement trajectory of the center of mass of the footed robot after landing is planned based on an approximate model (or full model), thus ensuring that each joint of the footed robot is only subject to minor stress during the landing process.
- the impact force is small, the body rebound is small, and the tilt angle change is small. It ensures the landing function while forming a good anti-impact protection effect for the legged robot.
- FIG. 5 is a schematic diagram illustrating the contact between the mechanical legs and a flat surface during the landing process of the footed robot according to an embodiment of the present application.
- FIG. 6 is a schematic diagram showing the calculation principle of a cubic spline difference provided according to an embodiment of the present application.
- the dumping trend may be at least one of a forward dumping trend, a backward dumping trend, a leftward dumping trend, and a rightward dumping trend.
- determining the second desired trajectory of the footed robot further includes: determining the foot end of each mechanical leg at the initial moment at the instant when each mechanical leg is in contact with the plane. Position coordinates, determine the foot end position coordinates at the initial moment as the foot end initial position; determine the foot end position of each mechanical leg based on the direction of the tilting tendency when each mechanical leg contacts the plane and the initial foot end position.
- the foot end position coordinates at the stable moment are determined as the foot end terminal position, wherein at the stable moment, the height of the base of the footed robot remains unchanged and the foot end position coordinates are determined as the foot end terminal position.
- the rotation angle of the footed robot in the tilt angle direction is zero; based on the initial position of the foot end and the terminal position of the foot end, a cubic spline difference is used to determine the motion trajectory of the foot end of each mechanical leg as the third 2. Expected trajectory.
- the computer device can input the sensing information of the footed robot collected at the current moment into the leg odometer, so that the leg odometer can calculate each mechanical leg of the footed robot based on the sensing information. Calculate the position at the current moment to obtain the position information.
- the position information of the foot position coordinates at least includes: the position vectors of the other three mechanical legs in each direction in the world coordinate system. Different direction position vectors correspond to different coordinate axis directions; one direction position vector is used to indicate the position of each mechanical leg of the footed robot in the corresponding coordinate axis direction.
- the method for the leg odometer to calculate the direction position vector corresponding to the horizontal axis direction includes: first, calculating the rotation matrix based on the current attitude information.
- the rotation matrix refers to changing the direction of any vector to achieve mapping of any vector. to the matrix in the robot's base coordinate system; the base attitude angle of the footed robot can be determined based on the current attitude information, and the rotation matrix can be calculated based on the base attitude angle.
- a reference position vector can also be calculated based on the joint angle information of each joint.
- the reference position vector is used to indicate: the relative position between the center of mass of the base of the footed robot and the foot end of each mechanical leg.
- the rotation matrix can be used to map the reference position vector to the robot base coordinate system to obtain the target position vector; in some embodiments, the rotation matrix is multiplied by the reference position vector to obtain the target position vector.
- the three-dimensional position vector of the center of mass of the footed robot in the world coordinate system can be obtained. Then, the component of the target position vector in the horizontal axis direction and the component of the three-dimensional position vector in the horizontal axis direction can be fused to obtain the direction position vector corresponding to the horizontal axis direction; the fusion process here can include summation processing .
- the length of each mechanical leg is the same. If the distance between the robot legs and the body is not considered, The height difference between the connection point and the center of mass of the robot is, then the length of the four legs is equal to the height of the robot.
- the foot of each mechanical leg determines the foot of each mechanical leg. “The foot end position coordinates of the end at the stable moment”, first determine the first position component corresponding to the first direction, the second position component corresponding to the second direction, and the third direction corresponding to the initial position of the foot end of each mechanical leg.
- the third position component, the first direction is the direction corresponding to the tipping trend, the second direction and the third direction are the other two directions in the world coordinate system except the first direction;
- the offset information is superimposed on the first position component corresponding to the initial position of the foot end of each mechanical leg in the tilting trend, and the corresponding offset of each mechanical leg in the first direction is obtained.
- the terminal position is set to a certain position in front of the contact position between the front leg and the plane.
- the foot end position coordinate of the front leg of a footed robot has a component of 5 cm in the x-axis direction of the world coordinate system at the moment when the last mechanical leg contacts the plane.
- the expected value of the foot end position coordinates of the front legs of the footed robot in the x-axis direction of the world coordinate system Portions can be from 8cm to 20cm. The specific values are related to the size and engineering experience of the legged robot and are not limited here.
- the foot-end position coordinates of the rear legs at the stable moment can be determined.
- the embodiments of the present application are not limited to this.
- the final position of the foot end of the front leg in the desired trajectory can be set to a certain position behind the contact position of the front leg and the plane. For example, assume that the foot end position coordinate of the front leg of a footed robot has a component of 20cm in the x-axis direction of the world coordinate system at the moment when the last mechanical leg contacts the plane.
- the expected value of the foot end position coordinates of the front legs of the footed robot in the x-axis direction of the world coordinate system can be from 2cm to 5cm.
- the specific values are related to the size and engineering experience of the legged robot and are not limited here.
- the foot-end position coordinates of the rear legs at the stable moment can be determined. The embodiments of the present application are not limited to this.
- the final position of the foot end of the front leg in the desired trajectory can be set to a certain position to the left of the contact position of the front leg and the plane.
- the foot end position coordinates of the front legs of a footed robot have a component of 5cm in the y-axis direction of the world coordinate system at the initial moment (the z-axis direction is vertically upward, the x-axis direction is horizontally to the right, and the y-axis direction is vertical to the x-axis
- the plane formed by the z-axis conforms to the right-hand rule).
- the expected value of the foot end position coordinates of the front legs of the footed robot in the y-axis direction of the world coordinate system Portions can be from 8cm to 20cm.
- the specific values are related to the size and engineering experience of the legged robot and are not limited here.
- the foot-end position coordinates of the front legs at the stable moment can be determined.
- the embodiments of the present application are not limited to this.
- the terminal position of the foot of the front leg of the desired trajectory can be set to a certain position to the right of the contact position of the front leg and the plane.
- the foot end position coordinate of the front leg of a footed robot has a component of 20cm in the y-axis direction of the world coordinate system at the moment when the last mechanical leg contacts the plane (the z-axis direction is vertically upward, and the x-axis direction is horizontally to the right.
- the y-axis direction is perpendicular to the plane formed by the x-axis and the z-axis and conforms to the right-hand rule).
- the expected value of the foot end position coordinates of the front legs of the footed robot in the y-axis direction of the world coordinate system can be from 2cm to 5cm. The specific values are related to the size and engineering experience of the legged robot and are not limited here.
- the foot-end position coordinates of the rear legs at the stable moment can be determined.
- the embodiments of the present application are not limited to this.
- the numerical sequence of the foot end position of each mechanical leg in the x and y directions uses the cubic spline difference between the positions at the initial time and the end time.
- Value Cubic Spline Interpolation
- the cubic spline difference provided by the embodiment of the present application is to divide the known data into several segments, construct a cubic function for each segment, and ensure that the curve passes through specific points and meets certain requirements at certain specific points. speed constraints.
- the known data includes three data: (pa, va, ta), (pb, vb, tb) and (pc, vc, tc), p represents position, v represents speed, t represents time, and Divide the known data into two segments as an example.
- the z-direction numerical sequence of each mechanical leg can be correspondingly solved based on the first expected trajectory. After all four mechanical legs of the footed robot are in contact with the plane, the lengths of the remaining mechanical legs change as the height of the center of mass of the footed robot changes. Therefore, the z-direction numerical sequence of each mechanical leg can be described as: when the center of mass of the footed robot reaches the position indicated by the first desired trajectory in the z-direction, the foot end of each mechanical leg can just contact the height of the plane.
- the cubic spline difference can also be used to solve the z-direction numerical sequence of the other three mechanical legs, and the embodiment of the present application is not limited to this.
- FIGS. 7A and 7B An embodiment in which the mechanical model and the first desired trajectory and the second desired trajectory are used to control the actions of each joint after the footed robot comes into contact with a flat surface.
- 7A to 7B illustrate the action of a footed robot landing after performing a somersault according to an embodiment of the present application, wherein the action shown in FIG. 7B is a continuation of the action shown in FIG. 7A .
- the scheme of controlling the footed robot based on the dynamic equation of the footed robot provided by the embodiment of the present application and the above-mentioned first desired trajectory is also called model predictive control (MPC).
- MPC model predictive control
- WBC Whole-Body Dynamics Control
- the combination of MPC and WBC realizes the buffering control of a footed robot performing a somersault task during the landing process, which can be simply described as: by calculating the trajectory of future control variables (that is, the first expected trajectory and the second desired trajectory) to optimize the output of the controller (that is, the torque of each joint motor).
- the optimization process is carried out in a limited time window, and the initial system information of the time window is used for optimization.
- the starting moment of the time window is the moment when the mechanical leg of the footed robot comes into contact with the plane, and the ending moment is the moment when the footed robot stands stably.
- the dynamic equation of a footed robot can be expressed as the fourteenth equation (14).
- the ground contact force f can be obtained.
- M p represents the mass and inertia matrix corresponding to the base.
- the center of mass position only considers the position in the direction of gravity (z direction) and the rotation angle in the pitch angle (pitch) direction of the footed robot, while the x and y directions are both zero, and the roll angle (roll)
- the rotation angle value of the direction and the rotation angle of the yaw angle (yaw) direction are both zero.
- f is the contact force provided by the plane to the four foot ends.
- the contact force provided by the plane to each foot end is a three-dimensional force. Therefore, the total dimension of f is 12.
- C p represents the gravity term, centrifugal force term and Coriolis force term of the base. Represents the transpose of the Jacobian matrix of the base.
- MPC can be applied to solve the contact force f provided by the plane to the footed robot. That is, based on the corresponding dynamic model of the footed robot, the contact force between the plane and each mechanical leg of the footed robot at each time step can be determined, so that the center of mass of the footed robot The actual trajectory of movement in the direction of gravity and the actual trajectory of the change in inclination angle of the footed robot are consistent with the first desired trajectory.
- the lower part of the fourteenth equation (14) (as shown in the sixteenth equation (16) below) is the joint dynamics equation of the footed robot.
- M ⁇ represents the mass and inertia matrix corresponding to each joint
- ⁇ represents the angle of all drivable degrees of freedom (in the quadruped robot shown in Figure 1 or Figure 5, it includes the degrees of freedom corresponding to 12 joint motors. ).
- C ⁇ represents the gravity term, centrifugal force term and Coriolis force term that can drive the joint.
- ⁇ is the input torque of 12 joints. According to the contact force f calculated by the fifteenth equation (15), other parameters of the robot dynamic model are known, and the sixteenth equation (16) can be used to calculate the torque ⁇ of each joint of the robot.
- the sixteenth equation (16) can also be converted into the form of the seventeenth equation (17).
- x d in, x d and Determined by the second desired trajectory (which respectively indicates the desired position of the foot end of each mechanical leg and the desired speed of the foot end of each mechanical leg), x and It is the actual position of the foot end of each mechanical leg and the actual speed of the foot end of each mechanical leg.
- k p is the proportional control feedback coefficient
- k d is the differential control feedback coefficient.
- the motor provided by each joint motor at each time step is determined. torque, so that the trajectory of one end of each mechanical leg away from the base conforms to the second desired trajectory.
- the above-mentioned proportional control feedback coefficient can also be set separately for the compression and rebound states of each mechanical leg. After obtaining the current status information of the footed robot, based on the comparison of the current joint angle in the current status information of each mechanical leg with the joint angle of the mechanical leg in the normal standing posture and the trend of joint angle changes, determine The mechanical leg state of each mechanical leg.
- the mechanical leg state can be a compression state or a rebound state. Then according to the nineteenth equation (19), the proportional control feedback coefficient and the differential control feedback coefficient corresponding to the mechanical leg state are obtained.
- the initial moment of landing is t 0
- the mechanical leg begins to enter a compressed state until time t 1 , when the mechanical leg is compressed to the lowest point and begins to rebound.
- the time for the leg to rebound to the normal standing height is t 2 .
- t 0 , t 1 , and t 2 set the proportional control feedback coefficients k p0 , k p1 , and k p2 respectively.
- the proportional control feedback coefficient k p of the remaining intermediate moments (time steps) can be further obtained. That is, the nineteenth equation (19) can be used to obtain the proportional control feedback coefficient k p at the remaining intermediate moments (time steps).
- t 0 0
- t 1 is approximately equal to 0.1s
- t 2 is approximately equal to 0.2s.
- k p0 500
- k p1 400
- k p3 250
- the embodiments of the present application are not limited by the above specific numerical values.
- the buffering control of the footed robot performing the somersault task during landing can also be divided into the following three stages.
- the target sequence that the controller needs to track is determined according to the first desired trajectory, and the relevant weight values of the controller are adjusted according to the actual observation situation.
- the total duration corresponding to the total time step corresponding to the first desired trajectory may be 0.5s.
- the total time may depend on the robot's parameters and engineering experience, and the embodiments of the present application are not limited by the above specific values.
- the preset time can be set based on engineering experience, and the actual state value of the footed robot at the end of the first stage and the final value of the first desired trajectory A comparison is made to determine the reference trajectory of the center of mass position and attitude of the second stage.
- a linear or cubic spline difference can be made between the actual state value of the legged robot at the end of the first phase and the terminal value of the first expected trajectory to obtain the reference trajectory of the center of mass position and attitude mentioned above.
- the computer equipment can further calculate the feedforward torque of each joint to complete the second stage of control of the footed robot.
- the relevant weight values of the controller need to be adjusted adaptively.
- the weight value of this part may be significantly different from the weight value of the first-stage controller.
- the posture of the footed robot basically meets the requirements for the footed robot to stand stably at a certain position.
- the velocity values for the center of mass position and attitude are relatively small.
- the control strategy can be changed to allow the footed robot to maintain a stable standing posture, which can include a difference strategy between the proportional control feedback coefficient and the differential control feedback coefficient.
- the joint force control mode is used (that is, the joint motor control of the robot is mainly achieved by sending feedforward torque to the joint motor), while the third stage uses the joint position control mode (that is, the joint motor is mainly controlled by sending desired
- the position information realizes the control of the robot joint angle).
- the joint position control mode is more stable, but has weaker dynamic performance.
- the dynamic performance of the joint force control mode is strong, but the stability is weak.
- This process makes the tilt angle direction of the footed robot have a deceleration effect, making the tilt angle of the footed robot match the desired attitude angle trajectory as much as possible.
- the height of the robot's foot end will not rebound from the plane, and the overshoot will be small during the entire change in center of mass height.
- the robot can stand on the ground in a preset posture. This posture and the height rebound process of the center of mass are generally in line with expectations.
- a dynamic model is established for a footed robot under falling motion, and based on the dynamic model, the movement trajectory of the center of mass and the foot position trajectory of the footed robot after landing are planned, and based on the planned center of mass
- the motion trajectory and foot position trajectory determine the control torque of each motor to control the footed robot. Therefore, when the footed robot is landing, it can reduce the impact force on each joint, reduce the rebound range of the body and the change in tilt angle. While ensuring the landing function, it also forms a good anti-impact protection effect for the footed robot. .
- FIG. 8 shows the control system architecture of a footed robot according to an embodiment of the present application.
- step S202 also includes: based on the corresponding dynamic model of the footed robot and the contact force between each mechanical leg of the footed robot and the plane at each time step, determining the movement of each joint motor at each time step.
- the motor torque provided by the time step based on the current status information of the footed robot, adjust the motor torque provided by each joint motor at each time step.
- the footrest can be calculated based on the sensor information of the footed robot collected at the current moment.
- the position of each mechanical leg of the robot at the current moment is determined to obtain the position calculation result.
- sensor information refers to the information collected by the sensors in the footed robot.
- the sensors in the footed robot can include IMU sensors and joint angle encoders.
- the IMU sensor can be used to collect the attitude information and acceleration of the footed robot in real time.
- the joint angle encoder can provide real-time information on each mechanical feature of the footed robot. Joint angle information of each joint on the leg (such as joint angle, angular velocity feedback value, etc.); based on this, the sensing information can include: the current posture information of the footed robot collected through the IMU sensor, and the joint angle encoder collected through The joint angle information of each joint of the footed robot is obtained.
- the computer device can input the sensory information of the footed robot collected at the current moment into the leg odometer, so that the leg odometer can calculate the position of each mechanical leg of the footed robot based on the sensory information. Calculate the position at the current moment and obtain the position calculation result.
- the position calculation result may at least include: at least two direction position vectors in the world coordinate system. Different direction position vectors correspond to different coordinate axis directions; one direction position vector is used to indicate: each mechanical leg of the footed robot is in The position in the corresponding coordinate axis direction.
- the at least two direction position vectors may include: corresponding to the horizontal axis direction The direction position vector (expressed by p sx ), and the direction position vector corresponding to the vertical axis direction (expressed by p sz ).
- at least two direction position vectors may also include: a direction position vector (expressed by p sy ) corresponding to the direction of the vertical axis (y-axis), which is not limited.
- p sx is used to indicate the position of each mechanical leg in the x-axis direction
- p sz is used to indicate the position of each mechanical leg in the z-axis direction
- p sy is used to indicate the position of each mechanical leg in the y direction.
- the way the leg odometer calculates the direction position vector corresponding to the horizontal axis direction includes: first, the rotation matrix (which can be represented by R) can be calculated based on the current attitude information.
- the so-called rotation matrix refers to changing the direction of any vector. , thereby mapping any vector to a matrix in the robot's base coordinate system; specifically, the base attitude angle of the footed robot can be determined based on the current attitude information, and the rotation matrix can be calculated based on the base attitude angle.
- the reference position vector (can be represented by p rel ) can also be calculated based on the joint angle information of each joint. This reference position vector is used to indicate: the center of mass of the base of the footed robot and the foot end of each mechanical leg. relative position.
- the three-dimensional position vector (expressed by p 0 ) of the base center of mass of the footed robot in the world coordinate system can be obtained.
- the component of the target position vector in the horizontal axis direction (expressed by p f (x)) and the component of the three-dimensional position vector in the horizontal axis direction (expressed by p 0 (x)) can be fused to obtain the horizontal
- the direction position vector corresponding to the axis direction (expressed by p sx ); the fusion process here may include summation processing, that is, p sx p 0 (x) + p f (x).
- the way the leg odometer calculates the directional position vector corresponding to the direction of other coordinate axes is similar to the way of calculating the directional position vector corresponding to the horizontal axis direction, and will not be used here.
- the position calculation results may also include other vectors such as foot end position vectors in the robot body coordinate system, foot end velocity vectors in the robot base coordinate system.
- the foot end position vector is used to indicate: the three-dimensional position of the foot end of each mechanical leg of the footed robot in the robot's base coordinate system; the method of calculating the foot end position vector by the leg odometer may include: Inverse processing is performed to obtain the foot end position vector.
- the foot end speed vector is used to indicate: the three-dimensional speed of the foot end of each mechanical leg of the footed robot in the robot's base coordinate system; the leg odometer can calculate the foot end speed vector by derivation of the target position vector. Process, and perform inverse processing on the derivation result to obtain the foot end velocity vector. It should be understood that when the legged robot is a four-legged robot, the dimensions of the foot end position vector and the foot end speed vector are both 12 dimensions.
- the position calculation result includes at the same time the foot end position vector in the robot base coordinate system (expressed by p s ), the foot end speed vector in the robot base coordinate system (expressed by v s ), and the foot end position vector corresponding to the horizontal axis direction
- the direction position vector expressed by p sx
- the direction position vector corresponding to the vertical axis direction expressed by p sz
- the way the leg odometer calculates the position calculation result (y) can be found in the twentieth equation ( 20) shown.
- the subscript B in the lower left corner represents the definition in the robot base coordinate system
- the subscript W in the lower left corner represents the definition in the world coordinate system
- (z) and (x) respectively represent the previous vector in components on the z-axis and x-axis.
- each information in the position calculation result (such as p s , v s , p sx , p sz, etc.) includes the sub-vector corresponding to each mechanical leg of the footed robot, for example: p s Including the corresponding sub-foot end position of each mechanical leg Position vector, any sub-foot vector is used to indicate the three-dimensional position of the foot of the corresponding mechanical leg in the robot base coordinate system; v s includes the sub-foot velocity vector corresponding to each mechanical leg, any sub-foot velocity The vector is used to indicate the three-dimensional speed of the foot end of the corresponding mechanical leg in the robot base coordinate system; p sx includes the x sub-direction position vector corresponding to each mechanical leg, and any x sub-direction position vector is used to indicate the corresponding mechanical leg in The position in the x-axis direction; p sz includes the z sub-direction position vector corresponding to each mechanical leg.
- Any z sub-direction position vector is used to indicate the position of the corresponding mechanical leg in the z-axis direction. Then, if the position calculation result is divided from the dimension of the mechanical leg, the position calculation result can be considered to include the sub-position calculation result of each mechanical leg.
- the sub-position calculation result of any mechanical leg can include: each position calculation result in the position calculation result.
- state estimation is an iterative process; that is, whenever a moment is reached, the computer device can obtain the corresponding information for the footed robot.
- the robot's state at the next moment is estimated to obtain the corresponding state estimation result.
- the state estimation result of the footed robot at the current moment is obtained by estimating the state of the footed robot at the current moment when the computer device arrives at the previous moment of the current moment.
- the state estimation result of the legged robot at the current moment can be used as the state vector in the state space observer; in some embodiments, using Represents the state vector of the k-1th time step, then the definition of the state vector can be seen in the following equation 21 (21).
- W p 0 and W v 0 respectively represent the three-dimensional position vector and the three-dimensional velocity vector of the base center of mass of the footed robot in the world coordinate system;
- W p 1 , W p 2 , W p 3 and W p 4 respectively represent the position vectors of the foot ends of the four mechanical legs of the footed robot in the world coordinate system.
- the state vector is exemplarily represented here by taking the legged robot as a quadruped robot as an example, so the state vector includes the four vectors p 1 , p 2 , p 3 and p 4 ; if If the legged robot is a sufficient number of other robots, the number of position vectors in the state vector can be adjusted adaptively.
- the computer device can obtain the acceleration information of the footed robot at the current moment, and input the acceleration information and the state estimation result of the footed robot at the current moment into the state space observer, so that the state space observer Based on the acceleration information and the state estimation result of the footed robot at the current moment, the position of each mechanical leg of the footed robot at the current moment is observed to obtain the position observation result.
- the state space observer can first use an internal mathematical expression (as shown in the following 22nd equation (22)), and based on the acceleration information and the position of the footed robot at the current moment (i.e., the kth time (step) state estimation results, observe the state of the footed robot at the current moment, and obtain the state observation results (using represents); then, the following twenty-third equation (23) is used to observe the position of each mechanical leg of the footed robot at the current moment based on the state observation result, and the position observation result (y m ) is obtained.
- an internal mathematical expression as shown in the following 22nd equation (22)
- equation 22 represents the acceleration of gravity
- a represents acceleration information
- equation 24 (24) to the twenty-sixth equation (26) are shown as:
- dt represents the time of a control cycle
- I is the identity matrix
- 0 represents the zero matrix
- the subscripts of I and 0 represent the dimensions of the identity matrix and the zero matrix respectively.
- C 1 and C 2 correspond to the state observation results (using The corresponding state (i.e., the vector under the corresponding dimension) in the representation) is selected to become the selection matrix of the output y m .
- G 1 and G 2 are used to combine the state observation results (using Indicates that the components of vectors p 1 , p 2 , p 3 and p 4 in the x-axis direction and z-axis direction are selected to form y m .
- the computer device determines the reference information required for state estimation.
- the reference information can be used to indicate: the degree of trust in the position calculation results and the position observation results respectively during state estimation.
- the reference information can be parameters in the extended Kalman filter, parameters in the Kalman filter, or parameters in the state estimation model, etc., which are not limited; for the convenience of explanation, the reference information will be mainly extended in the following.
- the parameters in Kalman filtering are explained as an example.
- the reference information may include a first parameter and a second parameter; the first parameter indicates a degree of trust in the position calculation result, and the second parameter indicates a degree of trust in the position observation result.
- the position calculation results may include the sub-position calculation results of each mechanical leg; accordingly, the first parameter may include at least multiple target vectors, and different target vectors correspond to different mechanical legs, and any target vector is used to indicate The degree of confidence in the calculation results of the corresponding mechanical leg's sub-position.
- the position observation results can include the sub-position observation results of each mechanical leg; then the second parameter can also include at least multiple reference vectors, and different reference vectors correspond to different mechanical legs, and any reference vector is used to indicate The degree of confidence in the sub-position observations of the corresponding robotic leg.
- the parameter matrix of the extended Kalman filter should be selected reasonably to achieve: when the legs of the legged robot do not leave the plane, increase the degree of trust in p s and v s , that is, increase the degree of trust in the position calculation results.
- the computer device can perform extended Kalman filter processing based on the reference information, position calculation results, and position observation results to obtain the footed robot at the next moment. State estimation results.
- y e represents the difference between the position calculation result y and the position observation result y m .
- a and C can be found in the aforementioned 22nd equation. From the equation to the related description of the twenty-third equation, A T and C T represent the transpose matrix of A and the transpose matrix of C respectively.
- Q and R are parameter matrices in the extended Kalman filter, respectively corresponding to the degree of trust in different information sources; among them, Q represents the second parameter in the reference information mentioned above, and R represents the third parameter in the reference information mentioned above.
- P is a preset matrix parameter, P m , S, K k and Both represent the intermediate parameters obtained during the extended Kalman filtering process, S -1 represents the inverse matrix of S, Indicates the state estimation result of the legged robot at the next moment. Moreover, after obtaining the state estimation result of the legged robot at the next moment, P can also be updated to facilitate the next extended Kalman filtering process; the update formula of P can be found in the following 33rd equation (33) to The thirty-fourth equation (34) is shown as:
- the computer device can perform Kalman filtering processing based on the reference information, position calculation results, and position observation results to obtain the state estimation result of the footed robot at the next moment.
- the reference information is a parameter in the state estimation model
- the state estimation model can be called to estimate the state of the footed robot at the next moment based on the reference information, position calculation results and position observation results, and obtain the sufficient The state estimation result of the robot at the next moment and so on.
- the controller will combine the above-mentioned dynamic model corresponding to the footed robot and the various mechanisms of the plane and the footed robot at each time step.
- the contact force between the legs determines the motor torque provided by each joint motor at each time step to achieve joint torque adjustment.
- the embodiment of the present application starts to perform state estimation from the stage when all four robotic legs have landed, thereby ensuring that the state estimation results after landing can complete the convergence in a very short time.
- the state estimator can converge in a short time and calculate accurate center of mass height and attitude values based on joint angles and leg odometry.
- the actual measurement results of the real machine show that the convergence time is 0.004-0.01s. Within, that is, within 2-5 control cycles, the results can be better applied to the planner for the center of mass height and attitude at landing time.
- An embodiment of the present application provides a device for controlling a footed robot.
- the footed robot includes a base and at least two mechanical legs. Each of the mechanical legs includes at least one joint.
- the device includes: a planning calculation device, configured to determine a first desired trajectory and a second desired trajectory corresponding to the footed robot in response to determining that each mechanical leg of the footed robot has fallen into contact with a plane, wherein the first desired trajectory indicates the The desired trajectory of the center of mass of the footed robot moving in the direction of gravity and the desired trajectory of the change of the inclination angle of the footed robot; the second desired trajectory indicates the desired trajectory of the foot end of each mechanical leg, and the foot end is one end away from the base; a control motor configured to control the footed robot to contact a plane based on the dynamic model corresponding to the center of mass of the footed robot and the first desired trajectory and the second desired trajectory. Then the movements of each joint are continued until the height of the base of the footed robot remains unchanged and
- the at least two mechanical legs include at least one front leg and at least one rear leg
- the planning calculation device is further configured to: in response to determining that each mechanical leg of the footed robot has fallen to a position equal to Plane contact, based on the approximate model corresponding to the footed robot, determine the first expected trajectory corresponding to the footed robot, wherein in the approximate model, the footed robot is simplified to a single rigid body, and in the When the footed robot is in contact with a flat surface, the at least one front leg applies a first thrust to the single rigid body, the at least one rear leg applies a second thrust to the single rigid body, and the first thrust and the The resultant force of the second thrust exerts an upward thrust on the single rigid body, and the torque formed by the first thrust and the second thrust provides the center of mass angular acceleration to the single rigid body; when each of the mechanical legs is in contact with the plane At the instantaneous moment, determine the foot end position coordinates of the foot end of each mechanical leg at the initial moment,
- the planning calculation device is further configured to: obtain the mass of the footed robot; determine the dynamic equation corresponding to the footed robot based on the approximate model and the mass of the footed robot; and convert the The dynamic equation described above is converted into a state space representation, and the state space representation is discretized to obtain the state transition equation corresponding to each time step; the optimization objective function is constructed through the state transition equation corresponding to each time step, The optimization objective function is solved to obtain the first desired trajectory corresponding to the footed robot.
- the planning and calculation device is further configured to: obtain offset information corresponding to the tilting tendency of each mechanical leg when it contacts a plane; and determine the foot-end initial position and offset information based on the offset information. The foot end position coordinates of each mechanical leg at the stable moment.
- the planning calculation device is further configured to: determine the first position component corresponding to the first direction, the second position component corresponding to the second direction, and the third position component of the initial position of the foot end of each mechanical leg.
- the third position component corresponding to the direction, the first direction is the direction corresponding to the tipping trend, the second direction and the third direction are the other two directions in the world coordinate system except the first direction. direction; superimpose the offset information to the first position component corresponding to the initial position of the foot end of each mechanical leg in the tilting trend, and obtain the corresponding offset of each mechanical leg in the first direction.
- Move the first position component backward determine the shifted first position component corresponding to the first direction, the second position component corresponding to the second direction, and the third position component corresponding to the third direction as The position coordinates of the foot end of each mechanical leg at the stable moment.
- the combination of the following items reaches a minimum value: the fluctuation amount of the center of mass of the footed robot, the foot The total amount of impact force received by the foot-type robot, the amount of squatting of the foot-type robot, and the sudden amount of impact force received by the foot-type robot.
- the first desired trajectory satisfies the following constraints:
- the first constraint indicates that the impact force received by the footed robot at the first moment when it contacts the plane is less than the maximum impact force that the footed robot can withstand;
- the second constraint indicates that the impact force suffered by the legged robot is less than the upper limit of the support force that the plane can provide, and is greater than the upper limit of the support force that the plane can provide;
- the third constraint indicates that the height of the center of mass of the legged robot is always greater than the minimum height.
- control motor is further configured to: obtain the tilting trend direction of the footed robot at the instant when each of the mechanical legs is in contact with the flat surface; control each mechanism of the footed robot.
- the legs move in the direction of the tilting tendency of the footed robot, and each mechanical leg is controlled to gradually rebound from the compression state until the center of mass of the footed robot reaches the expected rest height and the inclination angle direction of the footed robot is The angle of rotation is zero.
- the first desired trajectory indicates: after each mechanical leg of the footed robot comes into contact with a plane, the height of the center of mass of the footed robot in the direction of gravity gradually decreases and then gradually increases, and The angle value of the inclination angle of the footed robot gradually increases and then gradually decreases.
- the dynamic model indicates the relationship between the acceleration of the single rigid body and the first thrust force, the second thrust force and gravity, and the dynamic model also indicates the relationship between the angular acceleration of the single rigid body and the first thrust force. The relationship between the first thrust and the second thrust.
- control motor is further configured to: determine the contact force between each mechanical leg of the footed robot and the plane at each time step based on the corresponding dynamic model of the footed robot. , the actual trajectory that controls the movement of the center of mass of the footed robot in the direction of gravity and the actual trajectory of the change of the inclination angle of the footed robot are consistent with the first expected trajectory; based on the corresponding dynamic model of the footed robot And the contact force between each mechanical leg of the footed robot and the plane at each time step, determine the motor torque output by each joint motor at each time step, and control the trajectory of the foot end of each mechanical leg to comply with the required Describe the second desired trajectory.
- control motor is further configured to: obtain the particle dynamics equation of the footed robot through the dynamic model corresponding to the footed robot; substitute the data sequence corresponding to the first desired trajectory into To the particle dynamics equation, model predictive control is applied to solve the contact force between each mechanical leg of the footed robot and the plane at each time step.
- control motor is further configured to: obtain the joint dynamics equation of the footed robot through the corresponding dynamic model of the footed robot; obtain the foot from the second desired trajectory.
- the expected foot end position and the expected foot end speed of each mechanical leg of the foot type robot at each time step are obtained, and the actual foot end position and the actual foot end speed of each mechanical leg of the foot type robot at each time step are obtained;
- the expected position of the foot end of the foot type robot at each time step is subtracted from the corresponding actual foot end position to obtain the difference value of the foot end position of the foot type robot at each time step;
- control motor is further configured to: obtain the current status information of the footed robot; and determine the mechanical legs of each mechanical leg of the footed robot based on the current status information of the footed robot.
- state the state of the mechanical leg is a compression state or a rebound state; obtain the proportional control feedback coefficient and the differential control feedback coefficient corresponding to the mechanical leg state of each of the mechanical legs.
- the planning and computing device is further configured to: obtain the current status information of the footed robot; and determine, based on the current status information of the footed robot, between each mechanical leg and the plane at the current moment. between contact information; in response to determining that each of the mechanical legs is in contact with the plane at the current time based on the contact information between each of the mechanical legs and the plane at the current time, determining each of the legs of the footed robot Each mechanical leg falls until it comes into contact with the flat surface.
- the current status information includes at least one of the following:
- FIG. 9 shows an exemplary block diagram of a footed robot 900 according to an embodiment of the present application.
- the footed robot 900 may include: a base part 910, a lower limb part 920 connected to the base part, and the lower limb part 920 may include four lower limbs, wherein each lower limb may include two degrees of freedom of a hip joint and a knee joint. 1 degree of freedom.
- the lower limb refers to the foot component of the footed robot used to achieve movement, which includes, for example, a mechanical leg and a motor that connects the mechanical leg to the base and is used to control the movement of the mechanical leg.
- the embodiments of the present application are not limited by the specific composition type of the lower limbs and the number of lower limbs.
- the base part refers to the main part of the footed robot, for example, it can be the trunk part of the footed robot.
- the embodiments of the present application are not limited by the specific shape and composition of the base part.
- the base part includes, for example, 2 spinal joints
- the lower limb part may include, for example, 8 lower limb joints.
- the embodiments of the present application are not limited to the specific number of joints included in the base part and the lower limb part. is not limited by the specific joint configuration of the footed robot.
- the footed robot may also include a controller 930, which is provided on the footed robot and capable of executing the motion control method as described above and having the functions as described above.
- the controller includes, for example, processing means.
- the processing device may include a microprocessor, digital signal processor (DSP), application specific integrated circuit (ASIC), field programmable gate array, state machine, or other processing device for processing electrical signals received from the sensor wires.
- processing devices may include programmable electronic devices such as PLCs, programmable interrupt controllers (PICs), programmable logic devices (PLDs), programmable read-only memories (PROMs), electronic programmable read-only memories, and the like.
- the footed robot may also include a bus, memory, sensor components, communication modules, input and output devices, etc.
- a bus may be a circuit that interconnects the components of the legged robot and carries communication information (eg, control messages or data) among the components.
- Sensor components can be used to perceive the physical world, including cameras, infrared sensors, ultrasonic sensors, etc.
- the sensor component may also include a device for measuring the current operating and motion status of the footed robot, such as a Hall sensor, a laser position sensor, or a strain sensor.
- the communication module may, for example, be connected to a network via wired or wireless connections to facilitate communication with the physical world (eg, a server).
- the communication module may be wireless and may include a wireless interface, such as IEEE 802.11, Bluetooth, a wireless local area network (WLAN) transceiver, or a radio interface for accessing a cellular telephone network (e.g., for accessing CDMA, GSM, UMTS or transceivers/antennas for other mobile communications networks).
- the communication module may be wired and may include an interface such as Ethernet, USB, or IEEE 1394.
- the input-output device may transmit commands or data input, for example, from a user or any other external device to one or more other components of the footed robot, or may receive commands or data from one or more other components of the footed robot. Output to user or other external device.
- Multiple footed robots can form a footed robot system to collaboratively complete a task.
- the multiple footed robots The human is communicatively connected to the server and receives collaborative footed robot instructions from the server.
- a device for controlling a footed robot includes a processor and a memory.
- the memory stores at least one instruction, at least one program, and a code set. Or an instruction set, the at least one instruction, the at least one program, the code set or the instruction set are loaded and executed by the processor to implement the above method.
- a computer-readable storage medium in which at least one instruction, at least one program, a code set or an instruction set is stored, and the at least one instruction, the at least one The program, the code set or the instruction set is loaded and executed by the processor to implement the above method.
- Embodiments of the present application provide a computer program product, which includes computer executable instructions or computer programs.
- the computer executable instructions or computer programs are executed by a processor, the method for controlling a footed robot provided by embodiments of the present application is implemented.
- the program part in the technology can be considered as a "product” or “artifact” in the form of executable code and/or related data, which is participated in or implemented through computer-readable media.
- Tangible, permanent storage media may include the memory or storage used by any computer, processor, or similar device or related module. For example, various semiconductor memories, tape drives, disk drives, or similar devices that provide storage capabilities for software.
- All or portions of the Software may from time to time communicate over a network, such as the Internet or other communications networks. Such communications may load software from one computer device or processor to another. Therefore, another medium that can transmit software elements can also be used as a physical connection between local devices, such as light waves, radio waves, electromagnetic waves, etc., propagated through cables, optical cables, or air.
- the physical medium used to carry the waves, such as cables, wireless connections, or fiber optic cables and similar devices, can also be considered the medium that carries the software.
- tangible “storage” media other terms referring to computer or machine "readable media” mean media that participates in the execution of any instructions by the processor.
- first/second embodiment means a certain feature, structure or characteristic related to at least one embodiment of the present application. Therefore, it should be emphasized and noted that “one embodiment” or “an embodiment” or “an alternative embodiment” mentioned twice or more at different places in this specification does not necessarily refer to the same embodiment. . In addition, certain features, structures or characteristics in one or more embodiments of the present application may be appropriately combined.
- aspects of the present application may be illustrated and described in several patentable categories or circumstances, including any new and useful process, machine, product, or combination of matter, or combination thereof. any new and useful improvements. Accordingly, various aspects of the present application may be executed entirely by hardware, may be entirely executed by software (including firmware, resident software, microcode, etc.), or may be executed by a combination of hardware and software.
- the above hardware or software may be referred to as "data block”, “module”, “engine”, “unit”, “component” or “system”.
- aspects of the present application may be embodied as a computer product including computer-readable program code located on one or more computer-readable media.
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
Description
X=Aqpx0+BqpU (6);
ye=y-ym (27);
Pm=APAT+Q (28);
S=CPmCT+R (29);
Kk=PmCTS-1 (30);
Claims (21)
- 一种控制足式机器人的方法,所述足式机器人包括基座和至少两条机械腿,每条机械腿包括至少一个关节,所述方法包括:响应于确定所述足式机器人的各条机械腿均下落至与平面接触,确定所述足式机器人对应的第一期望轨迹和第二期望轨迹,其中,所述第一期望轨迹指示所述足式机器人的质心在重力方向上移动的期望轨迹以及所述足式机器人的倾斜角变化的期望轨迹;所述第二期望轨迹指示所述各条机械腿的足端的期望轨迹,所述足端为远离所述基座的一端;基于所述足式机器人对应的动力学模型以及所述第一期望轨迹和第二期望轨迹,控制所述足式机器人与平面接触后各个关节的动作,直至所述足式机器人的基座的高度不变且所述足式机器人的倾斜角方向的转动角为零。
- 如权利要求1所述的方法,其中,所述至少两条机械腿包括至少一条前腿和至少一条后腿,所述响应于确定所述足式机器人的各条机械腿均下落至与平面接触,确定所述足式机器人对应的第一期望轨迹和第二期望轨迹,包括:响应于确定所述足式机器人的各条机械腿均下落至与平面接触,基于所述足式机器人对应的近似模型,确定所述足式机器人对应的第一期望轨迹,其中,在所述近似模型中,所述足式机器人作为单刚体,并且在所述足式机器人与平面接触的过程中,所述至少一条前腿向所述单刚体施加第一推力,所述至少一条后腿向所述单刚体施加第二推力,所述第一推力和所述第二推力的合力向所述单刚体施加向上推力,所述第一推力和所述第二推力形成的扭矩向所述单刚体提供质心角加速度;在所述各条机械腿均与平面接触的瞬时时刻,确定所述各条机械腿的足端在初始时刻的足端位置坐标,将所述初始时刻的足端位置坐标确定为足端初始位置;基于所述各条机械腿与平面接触时的倾倒趋势以及所述足端初始位置,确定所述各条机械腿的足端在稳定时刻的足端位置坐标,将所述稳定时刻的足端位置坐标确定为足端终末位置,其中,在所述稳定时刻,所述足式机器人的基座的高度不变且所述足式机器人的倾斜角方向的转动角为零;基于所述足端初始位置和所述足端终末位置,使用三次样条差值确定所述足式机器人对应的第二期望轨迹。
- 如权利要求2所述的方法,其中,所述基于所述足式机器人对应的近似模型,确定所述足式机器人对应的第一期望轨迹,包括:获取所述足式机器人的质量;基于所述近似模型和足式机器人的质量,确定所述足式机器人对应的动力学方程;将所述动力学方程,转换为状态空间表示,并对所述状态空间表示进行离散化,得到每个时间步对应的状态转移方程;通过所述每个时间步对应的状态转移方程构建优化目标函数,并对所述优化目标函数进行求解,得到所述足式机器人对应的第一期望轨迹。
- 如权利要求2中所述的方法,其中,基于所述各条机械腿与平面接触时的倾倒趋势以及所述足端初始位置,确定所述各条机械腿的足端在稳定时刻的足端位置坐标,包括:获取所述各条机械腿与平面接触时的倾倒趋势对应的偏移信息;基于所述各条机械腿与平面接触时的倾倒趋势对应的偏移信息和所述各条机械腿的足端初始位置,确定所述各条机械腿的足端在稳定时刻的足端位置坐标。
- 根据权利要求4中所述的方法,其中,所述基于所述各条机械腿与平面接触时的倾倒趋势对应的偏移信息和所述各条机械腿的足端初始位置,确定所述各条机械腿的足端在稳定时刻的足端位置坐标,包括:确定所述各条机械腿的足端初始位置在第一方向对应的第一位置分量、第二方向对应的第二位置分量、第三方向对应的第三位置分量,所述第一方向为所述倾倒趋势对应的方向,所述第二方向和所述第三方向为世界坐标系中除所述第一方向之外的其他两个方向;将所述偏移信息叠加至所述各条机械腿的足端初始位置在所述倾倒趋势各自对应的第一位置分量,得到所述各条机械腿在所述第一方向对应的偏移后第一位置分量;将所述第一方向对应的偏移后的第一位置分量、所述第二方向对应的第二位置分量、所述第三方向对应的第三位置分量,确定为所述各条机械腿的足端在稳定时刻的足端位置坐标。
- 如权利要求2所述的方法,其中,所述足式机器人的质心在重力方向上沿所述第一期望轨迹移动时,以下各项的组合达到极小值:所述足式机器人的质心波动量、所述足式机器人受到的冲击力总量、所述足式机器人的下蹲量、所述足式机器人受到的冲击力突变量。
- 如权利要求6所述的方法,其中,所述第一期望轨迹满足以下各项约束条件:第一约束条件,指示所述足式机器人接触平面的第一个瞬间所受到的冲击力的大小小于足式机器人能够承受的最大冲击力;第二约束条件,指示所述足式机器人受到的冲击力小于所述平面能够提供的支持力的上限,并大于所述平面能够提供的支持力的上限;第三约束条件,指示所述足式机器人的质心的高度始终大于最低高度。
- 如权利要求1所述的方法,其中,所述控制所述足式机器人与平面接触后各个关节的动作,包括:在所述各条机械腿均与平面接触的瞬时时刻,获取所述足式机器人的倾倒趋势;控制所述足式机器人的各条机械腿沿所述足式机器人的倾倒趋势进行移动,控制所述各条机械腿从压缩状态逐渐回弹,直至足式机器人的质心达到预期的静止高度并且所述足式机器人的倾斜角方向的转动角为零。
- 如权利要求1所述的方法,其中,所述第一期望轨迹指示:在所述足式机器人的各条机械腿与平面接触后,所述足式机器人的质心在重力方向上的高度逐渐降低然后逐渐上升,并且所述足式机器人的倾斜角的角度值逐渐增加后逐渐减少。
- 如权利要求2所述的方法,其中,所述动力学模型指示所述单刚体的加速度与第一推力、第二推力和重力之间的关系,并且所述动力学模型还指示所述单刚体的角加速度与第一推力和第二推力之间的关系。
- 如权利要求2所述的方法,其中,所述基于所述足式机器人对应的动力学模型以及所述第一期望轨迹和第二期望轨迹,控制所述足式机器人与平面接触后各个关节的动作,包括:基于所述足式机器人对应的动力学模型和所述第一期望轨迹,确定所述足式机器人的各条机械腿在各个时间步与所述平面之间的接触力,控制所述足式机器人的质心在重力方向上移动的实际轨迹以及所述足式机器人的倾斜角变化的实际轨迹均符合所述第一期望轨迹;基于所述足式机器人对应的动力学模型、所述足式机器人的各条机械腿在各个时间步与所述平面之间的接触力和所述第二期望轨迹,确定各个关节电机在各个时间步输出的电机力矩,控制所述各条机械腿足端的轨迹符合所述第二期望轨迹。
- 如权利要求11所述的方法,其中,所述基于所述足式机器人对应的动力学模型和所述第一期望轨迹,确定所述足式机器人的各条机械腿在各个时间步与所述平面之间的接触力,包括:通过所述足式机器人对应的动力学模型,获取所述足式机器人的质点动力学方程;将所述第一期望轨迹对应的数据序列代入到所述质点动力学方程,应用模型预测控制,求解出所述足式机器人的各条机械腿在各个时间步与所述平面之间的接触力。
- 如权利要求11所述的方法,其中,所述基于所述足式机器人对应的动力学模型、所述足式机器人的各条机械腿在各个时间步与所述平面之间的接触力和所述第二期望轨迹,确定各个关节电机在各个时间步输出的电机力矩,包括:通过所述足式机器人对应的动力学模型,获取所述足式机器人的关节动力学方程;从所述第二期望轨迹中获取所述足式机器人的各条机械腿在各个时间步的足端期望位置和足端期望速度,并获取所述足式机器人的各条机械腿在各个时间步的足端实际位置和足端实际速度;将所述足式机器人在各个时间步的足端期望位置减去对应的足端实际位置,得到所述足式机器人在所述各个时间步的足端位置差值;将所述足式机器人在所述各个时间步的足端期望速度减去对应的足端实际速度,得到所述足式机器人在所述各个时间步的足端速度差值;获取比例控制反馈系数和微分控制反馈系数;利用比例控制反馈系数、微分控制反馈系数、所述足端位置差值、所述足端速度差值和所述第一期望轨迹的数据序列,确定出所述各个关节的关节角加速度;将所述各个关节的关节角加速度和所述足式机器人的各条机械腿在各个时间步与所述平面之间的接触力,代入到所述质点动力学方程,求解出所述各个关节电机在各个时间步输出的电机力矩。
- 如权利要求13所述的方法,其中,所述获取比例控制反馈系数和微分控制反馈系数,包括:获取所述足式机器人的当前状态信息;基于所述足式机器人的当前状态信息,确定所述足式机器人的各条机械腿的机械腿状态,所述机械腿状态为压缩状态或回弹状态;获取所述各条机械腿的机械腿状态对应的比例控制反馈系数和微分控制反馈系数。
- 如权利要求1所述的方法,其中,所述确定足式机器人的各条机械腿均下落至与平面接触,包括:获取所述足式机器人的当前状态信息;基于所述足式机器人的当前状态信息,确定所述各条机械腿在当前时刻与平面之间的接触信息;响应于基于所述各条机械腿在当前时刻与平面之间的接触信息确定所述各条机械腿在当前时刻与平面之间均为接触状态,确定所述足式机器人的各条机械腿均下落至与平面接触。
- 如权利要求14或15中所述的方法,其中,所述当前状态信息包括以下各项中的至少一项:各条机械腿的关节电机力矩或电流值或电压值;所述足式机器人的质心高度、质心姿态、各条机械腿对应的当前关节角信息;各条机械腿对应的当前足底触觉反馈值;所述足式机器人在重力方向上的当前加速度。
- 一种控制足式机器人的装置,所述足式机器人包括基座和至少两条机械腿,每 条机械腿包括至少一个关节,所述装置包括:规划计算设备,配置为响应于确定所述足式机器人的各条机械腿均下落至与平面接触,确定所述足式机器人对应的第一期望轨迹和第二期望轨迹,其中,所述第一期望轨迹指示所述足式机器人的质心在重力方向上移动的期望轨迹以及所述足式机器人的倾斜角的变化的期望轨迹;所述第二期望轨迹指示所述各条机械腿足端的期望轨迹,所述足端为远离所述基座的一端;控制电机,配置为基于所述足式机器人的质心对应的动力学模型以及所述第一期望轨迹和第二期望轨迹,控制所述足式机器人与平面接触后各个关节的动作,直至所述足式机器人的基座的高度不变且所述足式机器人的倾斜角方向的转动角为零。
- 一种足式机器人,包括:基座部;下肢部,其连接至所述基座部,所述下肢部包括四条下肢,其中每条下肢包括髋关节两个自由度和膝关节1个自由度;控制器,所述控制器设置在所述足式机器人上,且能够执行如权利要求1至16中任一项所述的方法。
- 一种控制足式机器人的设备,包括:处理器;和存储器,其中,所述存储器中存储有计算机可执行代码,所述计算机可执行代码当由所述处理器运行时,执行权利要求1至16中任一所述的方法。
- 一种非易失性计算机可读存储介质,其上存储有可执行代码,所述可执行代码在被处理器执行时,使得所述处理器执行权利要求1至16中任一所述的方法。
- 一种计算机程序产品,包括计算机可执行指令或计算机程序,所述计算机可执行指令或计算机程序被处理器执行时实现权利要求1至16任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020247006998A KR20240039182A (ko) | 2022-07-25 | 2023-05-11 | 다리식 로봇을 제어하는 방법, 장치, 기기, 다리식 로봇, 컴퓨터 판독 가능한 저장 매체 및 컴퓨터 프로그램 제품 |
EP23844982.1A EP4393657A1 (en) | 2022-07-25 | 2023-05-11 | Method, apparatus and device for controlling legged robot, legged robot, computer-readable storage medium and computer program product |
US18/604,360 US20240269846A1 (en) | 2022-07-25 | 2024-03-13 | Method, apparatus, and device for controlling legged robot, legged robot, computer-readable storage medium, and computer program product |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210878214.3 | 2022-07-25 | ||
CN202210878214.3A CN116985113A (zh) | 2022-07-25 | 2022-07-25 | 控制足式机器人的方法和装置及足式机器人 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/604,360 Continuation US20240269846A1 (en) | 2022-07-25 | 2024-03-13 | Method, apparatus, and device for controlling legged robot, legged robot, computer-readable storage medium, and computer program product |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024021767A1 true WO2024021767A1 (zh) | 2024-02-01 |
Family
ID=88528971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2023/093507 WO2024021767A1 (zh) | 2022-07-25 | 2023-05-11 | 控制足式机器人的方法、装置、设备、足式机器人、计算机可读存储介质和计算机程序产品 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240269846A1 (zh) |
EP (1) | EP4393657A1 (zh) |
KR (1) | KR20240039182A (zh) |
CN (1) | CN116985113A (zh) |
WO (1) | WO2024021767A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10059392B1 (en) * | 2016-06-27 | 2018-08-28 | Boston Dynamics, Inc. | Control of robotic devices with non-constant body pitch |
CN109693236A (zh) * | 2017-10-23 | 2019-04-30 | 深圳市优必选科技有限公司 | 足式机器人着地控制方法及装置 |
CN111913490A (zh) * | 2020-08-18 | 2020-11-10 | 山东大学 | 基于落足调整的四足机器人动步态稳定控制方法及系统 |
CN112207825A (zh) * | 2020-09-28 | 2021-01-12 | 杭州云深处科技有限公司 | 一种四足机器人仿生跳跃动作的控制方法、装置、电子设备及计算机可读介质 |
-
2022
- 2022-07-25 CN CN202210878214.3A patent/CN116985113A/zh active Pending
-
2023
- 2023-05-11 KR KR1020247006998A patent/KR20240039182A/ko active Search and Examination
- 2023-05-11 WO PCT/CN2023/093507 patent/WO2024021767A1/zh active Application Filing
- 2023-05-11 EP EP23844982.1A patent/EP4393657A1/en active Pending
-
2024
- 2024-03-13 US US18/604,360 patent/US20240269846A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10059392B1 (en) * | 2016-06-27 | 2018-08-28 | Boston Dynamics, Inc. | Control of robotic devices with non-constant body pitch |
CN109693236A (zh) * | 2017-10-23 | 2019-04-30 | 深圳市优必选科技有限公司 | 足式机器人着地控制方法及装置 |
CN111913490A (zh) * | 2020-08-18 | 2020-11-10 | 山东大学 | 基于落足调整的四足机器人动步态稳定控制方法及系统 |
CN112207825A (zh) * | 2020-09-28 | 2021-01-12 | 杭州云深处科技有限公司 | 一种四足机器人仿生跳跃动作的控制方法、装置、电子设备及计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
US20240269846A1 (en) | 2024-08-15 |
KR20240039182A (ko) | 2024-03-26 |
CN116985113A (zh) | 2023-11-03 |
EP4393657A1 (en) | 2024-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113753150B (zh) | 轮腿式机器人的控制方法、装置、设备及可读存储介质 | |
CN104011613B (zh) | 具有可变刚度的关节的机器人和用于计算所述优化的刚度的方法 | |
CN108897220B (zh) | 一种自适应稳定平衡控制方法和系统以及双足仿人机器人 | |
JP6781101B2 (ja) | 非線形システムの制御方法、二足歩行ロボットの制御装置、二足歩行ロボットの制御方法及びそのプログラム | |
CN114625129B (zh) | 位控腿足机器人的运动控制方法及系统 | |
CN114986526A (zh) | 机器人运动控制方法、装置、机器人及存储介质 | |
WO2024021744A1 (zh) | 一种控制足式机器人的方法、装置、电子设备、计算机可读存储介质、计算机程序产品及足式机器人 | |
CN117260718B (zh) | 一种四足机器人的自适应载荷补偿控制方法及系统 | |
US20230409035A1 (en) | Method for building controller for robot, method, device for controlling motion of robot, and robot | |
WO2023165177A1 (zh) | 构建机器人的控制器的方法、机器人的运动控制方法、装置以及机器人 | |
WO2024066868A1 (zh) | 机器人控制方法、装置、机器人、计算机可读存储介质及计算机程序产品 | |
WO2024021767A1 (zh) | 控制足式机器人的方法、装置、设备、足式机器人、计算机可读存储介质和计算机程序产品 | |
Lim et al. | Control design to achieve dynamic walking on a bipedal robot with compliance | |
CN116728393B (zh) | 机器人控制方法和机器人 | |
US11472024B2 (en) | Humanoid robot and its control method and computer readable storage medium | |
Zhong et al. | Theoretical and experimental study on remote dynamic balance control for a suspended wheeled mobile manipulator | |
CN116945151A (zh) | 控制足式机器人的方法和装置及足式机器人 | |
Xu et al. | [Retracted] Attitude Analysis and Evaluation of Camera Based on Planar Double Joint Robot | |
Krishna et al. | Epersist: A Self Balancing Robot Using PID Controller And Deep Reinforcement Learning | |
US20240189989A1 (en) | Object climbing by legged robots using training objects | |
Wang et al. | Bionic Jumping of Humanoid Robot via Online Centroid Trajectory Optimization and High Dynamic Motion Controller | |
Zhang et al. | Research on Motion Stability Control Algorithm of Multi-axis Industrial Robot Based on Deep Reinforcement Learning | |
CN117970965A (zh) | 基于四足机器人动力学模型的控制方法及系统 | |
Sun et al. | Hierarchical Trajectory Optimization for Humanoid Robot Jumping Motion | |
Zhang et al. | Design of Motion Control System for Frog-Inspired Bionic Hopping Robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 20247006998 Country of ref document: KR Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23844982 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2023844982 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2023844982 Country of ref document: EP Effective date: 20240327 |