Methods and apparatus for controlling legged robots and legged robots
By determining the center of mass and the desired trajectory of the mechanical legs of the legged robot, and controlling the joint movements based on a dynamic model, the impact problem when the legged robot lands is solved, and the protection of the joints and the body is achieved.
Patent Information
- Application Number
- CN202210877092.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-25
- Publication Date
- 2026-01-30
- Estimated Expiration
- 2042-07-25
AI Technical Summary
In existing technologies, legged robots lack effective control schemes during landing, resulting in excessive impact forces on the joints, large rebound of the body, and even potential damage.
By determining the center of mass and the desired trajectory of the robotic legs, joint movements are controlled based on a dynamic model to achieve a smooth landing of the center of mass and robotic legs, reducing joint impact and body rebound.
During landing, each joint is subjected to only a small impact force, and the fuselage rebounds little, providing good impact protection.
Smart Images

Figure CN116985110B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of legged robot technology, specifically to the field of legged robot planning and control technology, and particularly to a method, apparatus, a legged robot, a device for controlling a legged robot, and a non-volatile computer-readable storage medium. Background Technology
[0002] With the widespread application of artificial intelligence and legged robot technology in civilian and commercial fields, legged robots based on artificial intelligence and legged robot technology are playing an increasingly important role in fields such as intelligent transportation and smart homes, and are also facing higher requirements.
[0003] Currently, legged robots (such as quadrupedal robots) are capable of performing various actions, such as jumping and somersaults. However, during landing, these robots often exhibit stiff movements, excessive impact on their joints, and significant body rebound due to a lack of effective control mechanisms. In some cases, the excessive impact can even damage the robot. Therefore, improving the control of legged robots during landing has become a hot research topic. Summary of the Invention
[0004] To address the above problems, this disclosure provides a method, apparatus, a legged robot, a device for controlling a legged robot, and a non-volatile computer-readable storage medium.
[0005] According to one aspect of this disclosure, a method for controlling a legged robot is proposed, the legged robot including a base and at least two mechanical legs, each mechanical leg including at least one joint, the method comprising: in response to determining that the legged robot has fallen into contact with a plane, determining a first desired trajectory and a second desired trajectory corresponding to the legged robot, wherein the first desired trajectory indicates the desired trajectory of the center of mass of the legged robot; the second desired trajectory indicates the desired trajectory of the end of each mechanical leg away from the base; and controlling the movement of each joint of the legged robot after contact with the plane based on a dynamic model corresponding to the legged robot and the first and second desired trajectories.
[0006] According to another aspect of this disclosure, an apparatus for controlling a legged robot is proposed, the legged robot including a base and at least two mechanical legs, each mechanical leg including at least one joint, the apparatus comprising: a planning computing device configured to determine a first desired trajectory and a second desired trajectory corresponding to the legged robot in response to determining that the legged robot has fallen into contact with a plane, wherein the first desired trajectory indicates the desired trajectory of the center of mass of the legged robot; the second desired trajectory indicates the desired trajectory of the end of each mechanical leg away from the base; and a control motor configured to control the movement of each joint of the legged robot after contact with the plane based on a dynamic model corresponding to the center of mass of the legged robot and the first and second desired trajectories.
[0007] According to another aspect of this disclosure, a legged robot is proposed, comprising: a base portion; a lower limb portion connected to the base portion, the lower limb portion comprising four lower limbs, wherein each lower limb comprises two degrees of freedom of the hip joint and one degree of freedom of the knee joint; and a controller disposed on the legged robot and capable of performing the above-described method.
[0008] According to another aspect of this disclosure, a device for controlling a legged robot is proposed, comprising: a processor; and a memory, wherein the memory stores computer-executable code that, when run by the processor, performs the method described above.
[0009] According to another aspect of this disclosure, a non-volatile computer-readable storage medium is proposed, on which executable code is stored, which, when executed by a processor, causes the processor to perform the above-described method.
[0010] The embodiments of this disclosure establish a model of a legged robot under free fall motion. Based on this model, the trajectory of the robot's center of mass and the trajectory of its feet after landing are planned. Based on the planned trajectories, the control torques of each motor are calculated to control the legged robot. This ensures that during landing, each joint of the legged robot experiences only a small impact force, resulting in minimal body rebound. While maintaining landing functionality, this provides good impact protection for the legged robot. Attached Figure Description
[0011] To more clearly illustrate the technical solutions of the embodiments of this disclosure, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are merely some exemplary embodiments of this disclosure. Those skilled in the art can obtain other drawings based on these drawings without creative effort. The following drawings are not intentionally drawn to scale to actual dimensions; their focus is on illustrating the main points of this disclosure.
[0012] Figure 1 This is a schematic diagram illustrating a legged robot according to an embodiment of the present disclosure.
[0013] Figure 2 This is a flowchart illustrating a method for controlling a legged robot according to an embodiment of the present disclosure.
[0014] Figure 3 This is a schematic diagram illustrating the instant when a legged robot, according to an embodiment of the present disclosure, comes into contact with a plane.
[0015] Figure 4 This is a schematic diagram illustrating the change in the center of mass of a legged robot during landing according to an embodiment of the present disclosure.
[0016] Figure 5 This is a schematic diagram illustrating the contact between the mechanical leg and the plane during the landing process of a legged robot according to an embodiment of the present disclosure.
[0017] Figure 6 This is a schematic diagram illustrating the calculation principle of cubic spline difference according to an embodiment of the present disclosure.
[0018] Figure 7 A comparison diagram is shown between a first desired trajectory according to an embodiment of the present disclosure and the actual trajectory of the center of mass of a legged robot.
[0019] Figure 8A A simulation diagram of a legged robot before landing according to an embodiment of the present disclosure is shown.
[0020] Figure 8B A simulation diagram of a legged robot landing according to an embodiment of the present disclosure is shown.
[0021] Figure 9 An exemplary block diagram of a legged robot according to an embodiment of the present disclosure is shown. Detailed Implementation
[0022] To make the objectives, technical solutions, and advantages of this disclosure more apparent, exemplary embodiments according to this disclosure will now be described in detail with reference to the accompanying drawings. Obviously, the described embodiments are merely some embodiments of this disclosure, and not all embodiments of this disclosure. It should be understood that this disclosure is not limited to the exemplary embodiments described herein.
[0023] As shown in this disclosure and claims, unless the context clearly indicates otherwise, the words "a," "an," "an," and / or "the" are not specifically singular and may include the plural. Generally speaking, the terms "comprising" and "including" only indicate the inclusion of expressly identified steps and elements, which do not constitute an exclusive list, and the method or apparatus may also include other steps or elements.
[0024] While this disclosure makes various references to certain modules in the apparatus according to embodiments of this disclosure, any number of different modules may be used and run on user terminals and / or servers. The modules are merely illustrative, and different aspects of the apparatus and methods may use different modules.
[0025] Flowcharts are used in this disclosure to illustrate the operations performed by the methods and apparatus according to embodiments of this disclosure. It should be understood that the preceding or following operations are not necessarily performed in exact order. Instead, various steps can be processed in reverse order or simultaneously as needed. Furthermore, other operations can be added to these processes, or one or more steps can be removed from them.
[0026] To facilitate the description of this disclosure, the following concepts related to this disclosure are introduced.
[0027] This disclosed legged robot is a robot that uses legs for locomotion. Inspired by animals, it aims to simulate animal movement patterns and replicate animal locomotion capabilities based on engineering technology and scientific research findings. Legged robots possess strong adaptability to various environments (including structured environments such as highways, railways, and smooth surfaces) and unstructured environments such as mountains, swamps, and rugged terrain). They can adapt to various terrain changes, overcome high obstacles, and effectively reduce load and improve system energy efficiency. Legged robots can be classified according to the number of legs: monopodial, bipodial, quadrupedal, hexapodal, and octupletal. Among them, quadrupedal robots have superior locomotion capabilities, exhibiting better static stability than bipodal robots and simpler and more flexible movement than hexapodal and octupletal robots. Therefore, quadrupedal robots are a common choice for legged robot research. The gait of a quadrupedal robot refers to the temporal and spatial coordination of its four legs to enable continuous movement. The gait of quadruped robots is derived from that of quadruped mammals, which can include, but is not limited to, the following three simplified forms: walking, trotting, and bounding.
[0028] The method for controlling a legged robot disclosed herein can be based on artificial intelligence (AI). Artificial intelligence is the 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 that knowledge to obtain optimal results. In other words, artificial intelligence is a comprehensive technology within computer science that attempts to understand the essence of intelligence and produce a new kind of intelligent machine that can react in a way similar to human intelligence. For example, the method for controlling a legged robot based on artificial intelligence can plan the robot's movement trajectory and gait in a manner similar to how humans guide the movement of living animals, making the robot's movement more flexible and biomimetic. By studying the design principles and implementation methods of various intelligent machines, artificial intelligence enables the method for controlling a legged robot disclosed herein to automatically and efficiently design the robot's subsequent movement trajectory and gait based on its current motion state.
[0029] In summary, the solutions provided by the embodiments of this disclosure involve technologies such as artificial intelligence and machine learning. The embodiments of this disclosure will be further described below with reference to the accompanying drawings.
[0030] Figure 1 This is a schematic diagram illustrating a legged robot according to an embodiment of the present disclosure.
[0031] like Figure 1 As shown, taking a quadruped robot as an example, Figure 1 The left and right figures in the diagram show the internal perspective view and external structural diagram of the example legged robot, respectively.
[0032] This example legged robot is capable of movement based on four robotic legs. Each robotic leg may include a thigh and a lower leg, and each robotic leg may include at least one joint. For example, 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.
[0033] In addition, each robotic leg can be equipped with multiple motors, which can be used individually or in combination to control the two degrees of freedom of the hip joint and the one degree of freedom of the knee joint of the quadruped robot. It should be noted that various sensors can also be installed on the legged robot, such as IMU (Inertial Measurement Unit) sensors and joint angle encoders; among them, the IMU sensor can provide the legged robot's acceleration and attitude information in real time, and the joint angle encoder can provide the joint angle information of each joint of the legged robot in real time (such as joint angle angle, angular velocity feedback value, etc.).
[0034] The example legged robot, controlled by the aforementioned multiple motors, is already capable of performing actions such as somersaults or jumps. However, the legged robot ultimately falls back onto the plane via freefall. If the legged robot is not controlled during its freefall and when it contacts the plane, its movements will be stiff upon landing, its joints will experience excessive impact forces, and its body will rebound significantly. In some extreme cases, the excessive impact force upon landing can even damage the legged robot.
[0035] Currently, industry and academia have proposed several control schemes to control the free fall process of legged robots. For example, some scholars have proposed that the contact process between each leg of a quadruped robot and the plane can be equivalent to the action of two virtual springs in the x-axis and z-axis directions. By using a PD control scheme to adjust the stiffness and damping parameters of the virtual springs, the output torque of each joint motor can be equivalently derived, thus enabling the legged robot to land gracefully. Other scholars have proposed that the mechanical legs and the environment can be equivalently represented as two different RLC models, and based on these two RLC models, using data-driven (a machine learning control scheme), the output torque of each joint motor can be derived, thus enabling the legged robot to land gracefully.
[0036] However, such solutions only consider the spring-damping model in the mechanical leg model or environmental model of the legged robot, without taking into account the change of the center of mass of the legged robot.
[0037] Therefore, to address the aforementioned problems, on one hand, embodiments of this disclosure provide a method for controlling a legged robot, the legged robot including a base and at least two mechanical legs, each mechanical leg including at least one joint, the method including: in response to determining that the legged robot has fallen into contact with a plane, determining a first desired trajectory and a second desired trajectory corresponding to the legged robot, wherein the first desired trajectory indicates the desired trajectory of the center of mass of the legged robot; the second desired trajectory indicates the desired trajectory of the end of each mechanical leg away from the base; and controlling the movement of each joint of the legged robot after contact with the plane based on a dynamic model corresponding to the center of mass of the legged robot and the first and second desired trajectories.
[0038] On the other hand, embodiments of this disclosure also provide an apparatus for controlling a legged robot, the legged robot including a base and at least two mechanical legs, each mechanical leg including at least one joint, the apparatus including: a planning computing device configured to determine a first desired trajectory and a second desired trajectory corresponding to the legged robot in response to determining that the legged robot has fallen into contact with a plane, wherein the first desired trajectory indicates the desired trajectory of the center of mass of the legged robot; the second desired trajectory indicates the desired trajectory of the end of each mechanical leg away from the base; and a control motor configured to control the movement of each joint of the legged robot after contact with the plane based on a dynamic model corresponding to the center of mass of the legged robot and the first and second desired trajectories.
[0039] In another aspect, embodiments of this disclosure also provide a legged robot, comprising: a base; a lower limb portion connected to the base, the lower limb portion comprising four lower limbs, wherein each lower limb comprises two degrees of freedom of the hip joint and one degree of freedom of the knee joint; and a controller disposed on the legged robot and capable of performing the above-described method.
[0040] Compared to traditional motion control schemes for legged robots, the embodiments disclosed herein can not only automatically plan the trajectory and gait of the legged robot, but also ensure that each joint of the legged robot is subjected to only a small impact force during landing, and that the body rebounds little. This provides good impact protection for the legged robot while ensuring landing functionality.
[0041] Figure 2 This is a flowchart illustrating a control method 20 for a legged robot according to an embodiment of the present disclosure. The control method 200 for a legged robot according to an embodiment of the present disclosure may include, for example... Figure 2 The steps S201-S202 are shown. As described above, the legged robot includes a base and at least two mechanical legs, each mechanical leg including at least one joint.
[0042] In step S201, in response to determining that the legged robot has fallen into contact with the plane, a first expected trajectory and a second expected trajectory corresponding to the legged robot are determined, wherein the first expected trajectory indicates the expected trajectory of the center of mass of the legged robot, and the second expected trajectory indicates the expected trajectory of the end of each mechanical leg away from the base.
[0043] As an example, step S201 can be executed by any computing device. The computer device here can be a terminal or a server; alternatively, it can be executed by both a terminal and a server, without limitation. The terminal can be a smartphone, computer (such as a tablet, laptop, desktop computer, etc.), smart wearable device (such as a smartwatch, smart glasses), smart voice interaction device, smart home appliance (such as a smart TV), vehicle terminal, or aircraft, etc.; the server can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as 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), and big data and artificial intelligence platforms, etc. Furthermore, the terminal and server can be located within or outside the blockchain network, without limitation; even further, the terminal and server can upload any data stored internally to the blockchain network for storage to prevent the internally stored data from being tampered with and to improve data security.
[0044] For example, during the descent of a legged robot, the contact between its various mechanical legs and the plane (such as the ground, tabletop, etc.) changes, allowing the robot to exhibit multiple motion patterns upon contact with the ground, such as from all mechanical legs leaving the plane, to some mechanical legs contacting the plane, and then to all mechanical legs contacting the plane. Since the initial velocities of the legged robots vary, it is necessary to determine the contact information between the robot and the plane, and based on the robot's posture and state information at the moment of contact, determine the first and second desired trajectories. This will be discussed later. Figure 3 The embodiments for determining contact information between a legged robot and a plane are described in detail herein, and will not be repeated here.
[0045] As described above, the first expected trajectory indicates the expected trajectory of the legged robot's center of mass. For example, the first expected trajectory may include the expected position information, velocity information, acceleration information, etc., of the legged robot's center of mass at each time step. The first expected trajectory can be represented as a time-series numerical sequence composed of center-of-mass related information corresponding to each time step. Of course, the first expected trajectory can also be represented using other data structures, and this disclosure is not limited thereto. References will follow. Figure 4 Further examples of schemes for determining the first desired trajectory will not be elaborated upon here.
[0046] The end of each robotic leg furthest from the base is also referred to as the foot end, and the second desired trajectory indicates the desired trajectory of the foot end of each robotic leg. For example, the second desired trajectory may include the desired position, velocity, acceleration, angular velocity, angular acceleration, etc., of the foot end of each robotic leg at each time step. Alternatively, the second desired trajectory may also include the desired position, velocity, acceleration, angular velocity, angular acceleration, etc., of each joint of each robotic leg at each time step. Similarly, the second desired trajectory can be represented as a time-series sequence composed of relevant information of each robotic leg corresponding to each time step. Of course, the second desired trajectory can also be represented using other data structures, and this disclosure is not limited thereto. References will follow. Figures 5 to 6 Further examples of schemes for determining the second desired trajectory will not be elaborated upon here.
[0047] A time step can also be referred to as a frame. The time difference between adjacent time steps can be the same or different. For example, since the legged robot's movements and forces change over a distance in the initial period after contacting the plane, the difference between time steps can be set to be small, thus ensuring sufficient flexibility in the early stages of the legged robot's motion control. As the legged robot gradually reaches a stable state, the difference between time steps can be set to be relatively large to save computational resources. This disclosure does not impose any limitation on the time difference between adjacent time steps.
[0048] In step S202, based on the dynamic model corresponding to the legged robot and the first and second desired trajectories, the movement of each joint of the legged robot after contact with the plane is controlled.
[0049] The dynamic model corresponding to the legged robot is used to characterize the changes in joint and center-of-mass angles, angular velocities, angular accelerations, joint torques, and contact forces with the external environment during the legged robot's movement. For example, the dynamic model can describe these changes from the perspective of energy changes. Alternatively, the dynamic model can describe these changes from the perspective of momentum changes or force changes. This disclosure does not limit these aspects.
[0050] From the moment the legged robot falls and contacts the plane until it stands stably on the plane, the forces acting on the legged robot include gravity, the driving force of the joint motors, and the contact force (also known as the supporting force) provided by the plane. Based on these three forces and information such as the dimensions, mass, moment of inertia, and joint connection methods of each part of the legged robot, a corresponding dynamic model of the legged robot can be established. The contact force and driving force acting on the legged robot are different in different poses. Based on the dynamic model of the legged robot, the contact force between the plane and the legged robot at each time step is determined so that the actual trajectory of the legged robot's center of mass conforms to the first desired trajectory.
[0051] Furthermore, based on the dynamic model corresponding to the legged robot and the contact force between the plane and the legged robot at each time step, the motor torque provided by each joint motor at each time step can also be determined so that the trajectory of the end of each mechanical leg away from the base conforms to the second desired trajectory.
[0052] It is worth noting that the term "conformity" in this disclosure refers to the actual trajectory of the legged robot's center of mass being very close to or even identical to the first desired trajectory during actual testing, and the trajectory of the end of each mechanical leg furthest from the base being very close to or even identical to the second desired trajectory. Due to limitations in the performance of the joint motors, the joint motors often cannot output ideal torque. Furthermore, considering changes in the external environment (e.g., sudden wind or other disturbances), it is often difficult to control the legged robot to perfectly conform to both the first and second desired trajectories. Therefore, embodiments of this disclosure only require that the difference between the actual trajectory and the desired trajectory be sufficiently small.
[0053] In some embodiments of this disclosure, based on the dynamic model corresponding to the legged robot, the contact force required for the center of mass of the legged robot to reach the position, velocity, and acceleration indicated by the first desired trajectory at each time step can be solved accordingly. This contact force is the supporting force provided by the plane to the ends of each mechanical leg. Furthermore, based on the dynamic model corresponding to the legged robot and the aforementioned contact force, the joint control information required for the mechanical legs of the legged robot to reach the pose indicated by the second desired trajectory at each time step can be further solved.
[0054] Optionally, the joint control information can be either the acceleration or the torque of each joint motor. While mathematically these two physical quantities are not significantly different as control information for the joint motor rotation, in actual physical systems, not both can be accurately measured. Therefore, those skilled in the art can, in experiments, select the physical quantity with better data testing results and a better fit to the model for subsequent calculations, depending on the specific circumstances.
[0055] Existing control schemes for mobile robots in academia and industry do not consider the planning of the center of mass trajectory of legged robots, but only consider the spring model. Therefore, it is difficult to achieve precise control during landing. In contrast, the embodiments disclosed in this paper can not only automatically plan the trajectory and gait of the legged robot, but also ensure that each joint of the legged robot is subjected to only a small impact force during landing, and the body rebound is small. While ensuring landing function, it provides a good impact protection effect for the legged robot.
[0056] Figure 3 This is a schematic diagram illustrating the instant when a legged robot, according to an embodiment of the present disclosure, comes into contact with a plane.
[0057] As mentioned above, to achieve a landing buffer, it is necessary to determine the contact state between each robotic leg and the plane at the current moment. The "current moment" refers to the latest system time reached during the landing process of the legged robot. For example, the contact state between each robotic leg and the plane at the current moment includes: whether each robotic leg is in contact with the plane, the number of contact points between each robotic leg and the plane, and the position of each contact point, etc., to determine the first and second desired trajectories of the legged robot.
[0058] In some embodiments of this disclosure, the contact state is determined by the current state of the legged robot at the current moment.
[0059] In a practical implementation, the IMU sensor in the legged robot can be invoked to determine the current state information of the legged robot. For example, the IMU sensor can be used to collect the acceleration information of the legged robot at the current moment (which may include the acceleration of the legged robot in multiple directions (such as vertical and horizontal directions)) and the current posture information, and the joint angle encoder can be invoked to determine the joint angle information of each joint of the legged robot at the current moment (such as the joint angle angle, angular velocity feedback value, etc.). Secondly, the current posture information and joint angle information (such as the joint angle angle, angular velocity feedback value) can be integrated into the leg odometry to calculate the position information (which can be represented by y). This position information may include: the calculated position of each mechanical leg of the legged robot at the current moment. Additionally, acceleration information can be input into the state-space observer, enabling it to output position observation results (which can be represented by ym) based on the acceleration information and historical state estimation results of the legged robot at the current moment. These position observation results can include the observed positions of each mechanical leg of the legged robot at the current moment. The state estimation result of the legged robot at the current moment can be obtained by estimating the state of the legged robot at the previous moment, and can be stored in a vector or other data structure without limitation. Then, based on the position information and the position observation results, the state of the legged robot at the next moment can be estimated.
[0060] For example, position information and position observation results can be used as input to an Extended Kalman Filter (EKF) unit to perform state estimation, thereby obtaining the state estimate of the legged robot at the next time step. The Extended Kalman Filter is an extension of the Standard Kalman Filter (SKF) in nonlinear cases. It linearizes the nonlinear function by performing a Taylor expansion, omitting higher-order terms and retaining only the first-order terms of the expansion. Optionally, position information and position observation results can also be used as input to the Kalman Filter unit or a state estimation model obtained based on machine learning, to perform state estimation and obtain the state estimate of the legged robot at the next time step. The state estimate of the legged robot at the next time step can be used simultaneously for the control of the legged robot and as input to the state-space observer during the next state estimation; that is, the estimation result obtained through state estimation can be used for feedback control of the legged robot, thus forming a closed loop.
[0061] The following describes several implementation methods for determining contact information based on the current state information of the legged robot.
[0062] Since the state value of any item corresponding to any robotic leg can change abruptly when the contact information between the robotic leg and the plane changes, the contact information between the robotic leg and the plane at the current moment can be determined by the current state value of the robotic leg. Specifically, the method of determining the contact information based on the current state information includes: obtaining the historical state value of any robotic leg at the previous moment, and determining the current state value of any robotic leg from the current state information, thereby determining whether there is a sudden change in the current state value of any robotic leg based on the historical state value.
[0063] In this embodiment of the disclosure, a sudden change in the current state value means that the difference between the current state value and the historical state value is greater than a preset difference. Based on this, the difference between the historical state value and the current state value of any item can be calculated; if the calculated difference is greater than the preset difference, it is determined that the current state value has a sudden change; if the calculated difference is not greater than the preset difference, it is determined that the current state value does not have a sudden change. For example, suppose the historical state value is 20 and the preset difference is 50; if the current state value is 100, then since 100 minus 20 equals 80, and 80 is greater than 50, it can be considered that the current state value has a sudden change; if the current state value is 30, then since 30 minus 20 equals 10, and 10 is less than 50, it can be considered that the current state value does not have a sudden change.
[0064] If, based on historical state values, the current state value of any robotic leg shows a sudden change and is greater than the historical state value, then the robotic leg is determined to be in contact with the plane at the current moment. If, based on historical state values, the current state value of any robotic leg does not show a sudden change, then the contact information between the robotic leg and the plane at the previous moment is used as the contact information at the current moment. That is, if any robotic leg was in contact with the plane at the previous moment, it is determined that the robotic leg is also in contact with the plane at the current moment; if any robotic leg was not in contact with the plane at the previous moment, it is determined that the robotic leg is not in contact with the plane at the current moment.
[0065] For example, in some embodiments of this disclosure, the current status information may optionally include: the joint motor torque, current value, or voltage value of each mechanical leg.
[0066] Generally, when a legged robot's mechanical legs are suspended in the air without contacting a plane (e.g., not touching the ground), the load on the legs is only their mass. Since the mass of the legs is negligible compared to the overall mass of the robot, the load is small, and the feedback current and torque of each joint are relatively small. However, when the legs of the legged robot contact a plane (e.g., touching the ground), the load becomes the robot's entire mass plus the equivalent inertial force of downward movement due to its own inertia. Therefore, the load is large, and the feedback current and torque of each joint are relatively large. Based on this, when a sudden increase in the joint motor torque or feedback current value is detected, it is considered that the legged robot has landed from the air onto a plane (e.g., a flat surface).
[0067] For example, in some embodiments of this disclosure, the current state information includes: the height of the legged robot's center of mass, the posture of the center of mass, and the current joint angle information corresponding to each mechanical leg.
[0068] Specifically, based on the height and posture of the legged robot's center of mass detected by an external vision or motion capture system, as well as the joint angle information of the legged robot, the moment when the foot of the legged robot contacts the plane can be calculated, thereby determining whether the corresponding leg is in contact with the plane at the current moment.
[0069] The method for detecting the contact information between the robotic leg and the plane at the current moment based on the current state information includes: calculating the height of any robotic leg from the plane based on the center of mass height, center of mass posture, and the current joint angle information of any robotic leg; if the calculated height is less than or equal to a height threshold (such as a value of 0 or 0.005), it is determined that any robotic leg is in contact with the plane at the current moment; if the calculated height is greater than the height threshold, it is determined that any robotic leg is not in contact with the plane at the current moment.
[0070] For example, in some embodiments of this disclosure, the current state information may include: the current plantar tactile feedback value corresponding to each mechanical leg, which is generated by the plantar tactile sensor of the corresponding leg.
[0071] Specifically, a plantar tactile sensor can be used to determine whether the corresponding leg is in contact with the plane at the current moment. 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; 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. The first and second values can be set according to actual needs, for example, the first value is 1 and the second value is 0, or the first value is 0 and the second value is 1, etc. The method for detecting the contact information between the robotic leg and the plane at the current moment based on the current state information includes: obtaining the current plantar tactile feedback value corresponding to the robotic leg from the current state information; if the obtained current plantar tactile feedback value is the first value, it is determined that any robotic leg is in contact with the plane at the current moment; if the obtained current plantar tactile feedback value is the second value, it is determined that any robotic leg is not in contact with the plane at the current moment.
[0072] For example, in some embodiments of this disclosure, the current state information includes: the current acceleration of the legged robot in the vertical direction. It is assumed that the historical acceleration of the legged robot in the vertical direction was known at the previous moment; if a sudden change in the current acceleration is determined based on the historical acceleration, then the legged robot is confirmed to have landed.
[0073] Practical experience shows that when a legged robot stands stably on a plane, the acceleration in the z-direction collected by the IMU sensor is equal to one times the gravitational acceleration g. When the legged robot is in a state of complete weightlessness in the air, the acceleration in the z-direction collected by the IMU sensor is close to zero. During the process of the legged robot forcefully stepping onto the plane to prepare for takeoff, and during the cushioning process after landing, the acceleration in the z-direction collected by the IMU sensor is greater than one times the gravitational acceleration g. Therefore, it can be concluded that the vertical acceleration of the legged robot undergoes a sudden change at the moment of landing.
[0074] In this embodiment, a sudden change in current acceleration refers to a difference between the current acceleration and the historical acceleration that is greater than a difference threshold. Based on this, the computer device can calculate the difference between the historical acceleration and the current acceleration. If the calculated difference is greater than the difference threshold, it is determined that a sudden change has occurred in the current acceleration; if the calculated difference is not greater than the difference threshold, it is determined that no sudden change has occurred in the current acceleration. For example, suppose the historical acceleration is 2 and the difference threshold is 5; if the current acceleration is 9, then since 9 minus 2 equals 7, and 7 is greater than 5, it can be considered that a sudden change has occurred in the current acceleration; if the current acceleration is 4, then since 4 minus 2 equals 2, and 2 is less than 5, it can be considered that no sudden change has occurred in the current acceleration.
[0075] It should be understood that the above are merely illustrative examples of some specific implementations for determining the contact information of the robotic leg, and are not exhaustive. This disclosure is not limited thereto.
[0076] Next, refer to Figure 4 To further describe an embodiment of how to determine the first desired trajectory of a legged robot. Figure 4 This is a schematic diagram illustrating the change in the center of mass of a legged robot during landing according to an embodiment of the present disclosure.
[0077] exist Figure 4 The diagram shows two curves. The solid line represents the change in the height of the legged robot's center of mass as a function of time steps during landing. The x-axis represents the time step, and the y-axis represents the height (in centimeters). The dashed line represents the height of the legged robot's center of mass when stationary. The solid line schematically illustrates the change in the Z-axis component of the first desired trajectory. As shown by the solid line, after the legged robot contacts the ground, the height of its center of mass gradually decreases and then gradually increases.
[0078] like Figure 4 As shown, the legged robot first falls with a large acceleration until one of its mechanical legs contacts the plane. At this point, the mechanical leg in contact with the plane experiences a large force from the plane, and the descent speed of the center of mass gradually decreases. As all four mechanical legs successively contact the plane, all four mechanical legs collectively bear the force exerted by the plane on the legged robot and maintain contact with the plane until the center of mass of the legged robot reaches the expected resting height.
[0079] Therefore, in order to achieve a cushioning effect during the landing of the legged robot and to minimize the rebound of the robot's body, it is possible to base... Figure 4 The relationship between the solid and dashed lines is used to set optimization objectives to ensure that the desired trajectory achieves the expected buffering effect. For example, optimization objectives could include minimizing overshoot, minimizing the integral of the vertical height over time, ensuring the minimum height is above a certain safety threshold, preventing abrupt changes in force, and ensuring the rate of change of vertical height meets certain constraints.
[0080] In some embodiments of this disclosure, optionally, an approximate model corresponding to the legged robot is used to determine the desired trajectory of the legged robot's center of mass. In the approximate model, the legged robot is approximated as a single rigid body, and during the contact between the legged robot and the plane, the resultant force of each mechanical leg forms an upward thrust on the single rigid body.
[0081] For example, a legged robot can be approximated as a single rigid body with mass m. In the case of a legged robot with four mechanical legs, the resultant force of the four mechanical legs forms an upward thrust u on the single rigid body. Based on such an approximation model, according to Newton's second law, the first equation (1) can be determined, which is also called the dynamic equation.
[0082]
[0083] In this context, the vertically upward direction is considered positive, and g is the gravitational coefficient, which is equal to -9.81 (the negative sign indicates that the direction of gravity is vertically downward). Indicates acceleration in the vertical direction.
[0084] The dynamic equation is written in state space representation form, which is the second equation (2) shown below.
[0085]
[0086] The second equation (2) can be simplified to the form of the third equation (3). It is worth noting that in this disclosure, bold is used to denote vectors (matrices).
[0087]
[0088] in, Correspondingly, by discretizing the third equation (3) according to the time step (the length of the time step is Δt), the fourth equation (4) can be obtained.
[0089]
[0090] Let A d =A c Δt+I, B d =B c Δt. Based on Model Predictive Control (MPC), the fifth equation (5) can be obtained.
[0091]
[0092] Where x1 represents the vector consisting of the vertical height of the center of mass, the vertical velocity of the center of mass, and the gravitational acceleration corresponding to the first time step, and x2 represents the vector consisting of the vertical height of the center of mass, the vertical velocity of the center of mass, and the gravitational acceleration corresponding to the second time step. kLet x0 represent the vector consisting of the vertical height of the center of mass, the vertical velocity of the center of mass, and the gravitational acceleration corresponding to the k-th time step, and so on. Here, x0 is the vector consisting of the vertical height of the center of mass, the vertical velocity of the center of mass, and the gravitational acceleration corresponding to the initial time step. The fifth equation (5) can also be simplified to the sixth equation (6).
[0093] X = A qp x0+B qp U (6)
[0094] in,
[0095] Equation (6) provides the mathematical expression for each time step. Based on this, optimization objectives corresponding to the various embodiments of this disclosure can be designed according to the desired buffering effect during the fall of the legged robot, in order to solve for the optimal first desired trajectory. For example, the first desired trajectory makes the combination of the following items reach an extreme value: the centroid fluctuation of the legged robot, the total impact force received by the legged robot, the squatting amount of the legged robot, and the sudden change in impact force received by the legged robot. Each of the above items can have a corresponding weight coefficient and can be combined in various ways.
[0096] For example, an optimization objective function, Z, can be set as shown in the seventh equation (7) to solve for the optimal thrust U.
[0097]
[0098] X ref It is a constant vector, which represents Figure 4 The stationary height is indicated by the dashed line. x This indicates the lowest height of the center of mass throughout the entire process.
[0099] The first term of the Z function This can be considered as a representation of the center-of-mass fluctuation of the legged robot, and is the weighted value (with weighting coefficient L) of the dynamic equations that the legged robot should satisfy. For example, in Figure 4 In the diagram, the first item is shown as the area-weighted value of the gray area. ||A qp X0+B qp UX ref || 2 The smaller the value, the smaller the fluctuation of the center of mass during the fall of the legged robot, and the more stable the legged robot is.
[0100] The second term of the Z-function This can be considered as a representation of the total impact force experienced by the legged robot, and is the weighted integral of the sum of the planar reaction forces experienced by the legged robot over time (with a weighting coefficient of K). 2 The smaller the value, the smaller the total impact force experienced by the legged robot during its descent.
[0101] The third term of the Z function ||h- x || 2 Q This represents the weighted distance (with weighting factor Q) between the lowest point of the legged robot's center of mass and its resting height during the entire descent. x || 2 The smaller the value, the less the legged robot crouches during its descent (meaning it doesn't need to crouch too low to maintain balance). The third term of the Z function, ||h- x || 2 Q This can be used as a representation of the squatting range of the legged robot.
[0102] The fourth term of the Z function This represents the weighted value of the difference in the reaction force provided by the plane to the legged robot between adjacent time steps (weighting coefficient is W). k+1 -u k || 2 The smaller the value, the smaller the abrupt change in impact force experienced by the legged robot during its descent. The fourth term of the Z-function... This can be considered as a manifestation of the sudden change in the impact force experienced by the legged robot.
[0103] The above is only one combination of the Z function. The above terms of the Z function are only examples of the centroid fluctuation of the legged robot, the total impact force on the legged robot, the squatting amount of the legged robot, and the sudden change in impact force on the legged robot. This disclosure is not limited to these.
[0104] Furthermore, the embodiments of this disclosure adjust the importance of each item through the aforementioned weighting coefficients. For example, a larger K indicates that the control scheme of method 20 places greater emphasis on the impact force experienced by the robot. It is worth noting that the weighting scheme in this disclosure includes various methods. For example, the weighting scheme can be a multiplicative weighting scheme, in which case the first term of the Z function can be further expressed as (A... qp X0+B qp UX ref ) T L(A qp X0+B qp UXref The weighting scheme can also be a power-weighted scheme or an additive scheme, and this disclosure is not limited thereto. Similarly, the other terms of the Z-function can also be calculated using different weighting schemes, which will not be elaborated here.
[0105] In solving the Z-function, the following constraints also need to be considered.
[0106] For example, the first constraint is u0≤u U Where u0 represents the magnitude of the impact force experienced by the legged robot at the first instant of contact with the plane, which will be less than the maximum impact force u that the legged robot can withstand. U The maximum impact force u that a legged robot can withstand. U Depending on the structural characteristics of the legged robot and the strength of the rigid body, the example value is 200 N. This disclosure is not limited to this example value.
[0107] For example, the second constraint is F L ≤u≤F U F L F represents the lower limit of the support force that a plane can provide. U This indicates the upper limit of the support force that the plane can provide. F L It is usually 0, because the supporting force cannot be less than 0.
[0108] For example, the third constraint is The third constraint stipulates that the height of the legged robot's center of mass in the z-direction at every moment is always greater than the minimum height. x .in, x It is a column vector consisting of the lowest height sequence values.
[0109] Furthermore, depending on the configuration of the legged robot, more or fewer constraints may be included, and this disclosure is not limited thereto.
[0110] By performing a mathematical equivalent transformation on the seventh equation (7), we can obtain the eighth equation (8).
[0111]
[0112] By performing a mathematical equivalent transformation on the eighth equation (8), we can obtain the ninth equation (9).
[0113]
[0114] By performing a mathematical equivalent transformation on the ninth equation (9), we can obtain the tenth equation (10).
[0115]
[0116] By performing a mathematical equivalent transformation on the tenth equation (10), we can obtain the eleventh equation (11).
[0117]
[0118] Among them, W satisfies the twelfth equation (12).
[0119]
[0120] in, The variable U is not included in the calculation, and it will not affect the minimum value of the Z function; therefore, it can be ignored.
[0121] That is, The final expression can be represented by equation thirteen (13).
[0122]
[0123] in,
[0124] In response to finding the U and Z that minimize Z x This allows for further solution. Figure 4 The optimal first desired trajectory is defined as the numerical sequence of the centroid in the z-direction at each time step. In other embodiments of this disclosure, a full model of the legged robot can also be used to plan the first desired trajectory. Such embodiments plan the first desired trajectory with high accuracy, but often require high computing power to achieve real-time planning.
[0125] In the above embodiments of this disclosure, the trajectory of the center of mass of the legged robot after landing is planned based on an approximate model (or a full model). This ensures that each joint of the legged robot is subjected to only a small impact force during landing, and the body rebounds little. This provides good impact protection for the legged robot while ensuring the landing function.
[0126] Next, refer to Figure 5 and Figure 6 An embodiment of how to determine the second desired trajectory of a legged robot is further described. Figure 5 This is a schematic diagram illustrating the contact between the mechanical leg and the plane during the landing process of a legged robot according to an embodiment of the present disclosure. Figure 6 This is a schematic diagram illustrating the calculation principle of cubic spline difference according to an embodiment of the present disclosure.
[0127] like Figure 5As shown, the four mechanical legs of a legged robot almost never land at the same time, but rather in a sequential order. After the first mechanical leg contacts the ground, its contact position with the ground must remain constant throughout the landing process. The remaining mechanical legs then sequentially contact the plane and maintain contact with it until the legged robot's center of mass reaches the expected static height. Therefore, in some embodiments of this disclosure, the position of the end of a single mechanical leg furthest from the base that contacts the plane at the instant a single mechanical leg lands can be determined. This position serves as the second desired trajectory for that mechanical leg and remains constant throughout the time intervals. Based on the first desired trajectory, the motion trajectories of the remaining mechanical legs furthest from the base are determined, and these trajectories serve as the second desired trajectories for the remaining mechanical legs.
[0128] For example, determining the motion trajectory of the remaining mechanical legs away from the base based on the first expected trajectory includes: at the instant when a single mechanical leg lands (contacts the plane), determining the foot position coordinates of the remaining mechanical legs according to the first expected trajectory corresponding to the instant, and using the foot position coordinates as the initial foot position corresponding to the instant; determining the corresponding foot position coordinates of each mechanical leg at the stable moment based on the first expected trajectory, wherein at the stable moment, the center of mass of the legged robot recovers to a state parallel to the plane, all four mechanical legs are in complete contact with the plane, and the leg lengths of the four mechanical legs are equal; and using cubic spline interpolation to determine the motion trajectory of the remaining mechanical legs away from the base based on the initial foot position corresponding to the instant and the corresponding foot position coordinates of each mechanical leg at the stable moment.
[0129] For example, see Figure 5 In the left figure, at the instant a single mechanical leg lands, the coordinates of the foot ends of the other three mechanical legs can be calculated based on the position and posture of the legged robot's center of mass. These foot end coordinates are then used as the initial positions of the foot ends at the moment of landing.
[0130] In practice, the computer device can input the sensor information of the legged 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 legged robot at the current moment based on the sensor information and obtain the position information.
[0131] The position information of the foot end coordinates can include at least the position vectors of the other three mechanical legs in various directions in the world coordinate system. Different position vectors correspond to different coordinate axis directions; one position vector is used to indicate the position of each mechanical leg of the legged robot in the corresponding coordinate axis direction. The leg odometry calculates the position vector corresponding to the horizontal axis direction in the following ways: First, a rotation matrix can be calculated based on the current posture information. A rotation matrix is a matrix that maps any vector to the robot's base coordinate system by changing its direction. Specifically, the base posture angle of the legged robot can be determined based on the current posture information, and the rotation matrix can be calculated based on this base posture angle. Also, a reference position vector can be calculated based on the joint angle information of each joint. This reference position vector indicates the relative position between the base centroid of the legged robot and the foot end of each mechanical leg. Next, the rotation matrix can be used to map the reference position vector to the robot's base coordinate system to obtain the target position vector. Specifically, the rotation matrix can be multiplied by the reference position vector to obtain the target position vector.
[0132] Additionally, the three-dimensional position vector of the legged robot's center of mass in the world coordinate system can be obtained. Then, the components of the target position vector along the horizontal axis and the components of the three-dimensional position vector along the horizontal axis can be fused to obtain the directional position vector corresponding to the horizontal axis; this fusion process may include summation.
[0133] It should be noted that the method by which the leg odometry calculates the directional position vectors corresponding to other coordinate axes (such as the vertical axis) is similar to the method for calculating the directional position vector corresponding to the horizontal axis, and will not be repeated here. Furthermore, in addition to at least two directional position vectors in the world coordinate system, the position information may also include other vectors such as the foot position vector or foot velocity vector in the robot's base coordinate system. The foot position vector indicates the three-dimensional position of the foot tip of each mechanical leg of the legged robot in the robot's base coordinate system; the leg odometry calculates the foot position vector by inverting the target position vector. The foot velocity vector indicates the three-dimensional velocity of the foot tip of each mechanical leg of the legged robot in the robot's base coordinate system; the leg odometry calculates the foot velocity vector by differentiating the target position vector (pf) and inverting the derivative to obtain the foot velocity vector.
[0134] See Figure 5As shown in the right figure, if the absolute position of the first mechanical leg remains unchanged, and the center of mass of the legged robot eventually returns to a state where it is parallel to the plane, all four mechanical legs are in complete contact with the plane, and the lengths of the four mechanical legs are equal, then the position coordinates of the foot tips of the other three mechanical legs and the contact points with the ground are used as the foot tip position coordinates at the end of the landing process.
[0135] From Figure 5 The left image evolved to Figure 5 In the process shown in the right figure, the numerical sequences of the x and y directions of the foot positions of the other three robotic legs are achieved using the cubic spline interpolation of the positions at the initial and final times. Similarly, the numerical sequences of the x and y directions of the legged robot's center of mass are achieved using the cubic spline interpolation of the positions at the initial and final times.
[0136] like Figure 6 As shown, the cubic spline interpolation provided in this disclosure involves dividing the known data into several segments, constructing a cubic function for each segment, and ensuring that the curve passes through specific points and satisfies certain velocity constraints at some specific points. For example, suppose the known data includes three data points: (pa, va, ta), (pb, tb), and (pc, vc, tc), where p represents position, v represents velocity, and t represents time. Taking the division of the known data into two segments as an example, the calculation principle of cubic spline interpolation can be found in [link to relevant documentation]. Figure 6 As shown: First, two cubic functions, f1(t) and f2(t), can be constructed. Then, a system of equations can be established based on these two cubic functions and known data. The coefficients of the cubic polynomial (a0, a1, a2, a3, b0, b1, b2, b3) can be solved through this system of equations. After solving for the coefficients of the cubic polynomial, the position and corresponding velocity of the legged robot at any given time can be determined using these two cubic functions, thereby realizing the control of the legged robot.
[0137] Already referenced Figure 4 The first desired trajectory is described in detail. Furthermore, based on the first desired trajectory, the numerical sequence of the z-direction for the other three mechanical legs can be solved accordingly. Specifically, after a single mechanical leg of the legged robot contacts the plane, the lengths of the remaining mechanical legs change with the height of the legged robot's center of mass. Therefore, the numerical sequence of the z-direction for the other three mechanical legs can be described as follows: when the center of mass of the legged robot reaches the position indicated by the first desired trajectory in the z-direction, the tips of these three mechanical legs are at the height where they can just touch the ground. Alternatively, cubic spline interpolation can also be used to solve the numerical sequence of the z-direction for the other three mechanical legs, but this disclosure is not limited to this.
[0138] Next, refer to Figure 7 , Figure 8A and Figure 8B This document further describes an embodiment of how to control the movements of each joint of the legged robot after it comes into contact with a plane, based on the dynamic model corresponding to the center of mass of the legged robot and the first and second desired trajectories. Figure 7 A comparison diagram is shown between a first desired trajectory according to an embodiment of the present disclosure and the actual trajectory of the center of mass of a legged robot. Figure 8A A simulation diagram of a legged robot before landing according to an embodiment of the present disclosure is shown. Figure 8B A simulation diagram of a legged robot landing according to an embodiment of the present disclosure is shown.
[0139] The scheme for controlling the legged robot based on the dynamic equations of the legged robot disclosed herein and the aforementioned first desired trajectory is also known as Model Predictive Control (MPC). The scheme for controlling each joint by further combining the dynamic equations with the second desired trajectory is also known as Whole-Body Dynamics Control (WBC).
[0140] In the embodiments of this disclosure, MPC and WBC are combined to achieve buffered control during landing, which can be simply described as follows: the controller output (i.e., the torque of each joint motor) is optimized by calculating the trajectory of future control variables (i.e., the first desired trajectory and the second desired trajectory). The optimization process is carried out within a finite time window and utilizes the initial system information of the time window for optimization. The start time of the time window is the instant when the legged robot contacts the plane, and the end time is the instant when the legged robot stands stably.
[0141] As an example, the dynamic equations of the legged robot according to this disclosure can be expressed as the fourteenth equation (14).
[0142]
[0143] The first six lines of the fourteenth equation (14) (as shown in the fifteenth equation (15) below) contain the mass dynamics information of the legged robot.
[0144]
[0145] Among them, M p This represents the mass and inertia matrix corresponding to the base. Let f represent the six-dimensional centroid position and attitude vector, which is the sequence corresponding to the first desired trajectory. Optionally, in this case, the centroid position only considers the position in the direction of gravity (z-direction), and the x-direction, y-direction, and rotation angle directions are all 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. p This represents the gravity term, centrifugal force term, and Coriolis force term of the base. Let f be the transpose of the Jacobian matrix of the base. Based on this, MPC can be applied to solve for the contact force f provided by the plane to the legged robot. That is, based on the dynamic model corresponding to the legged robot, the contact force between the plane and the legged robot at each time step can be determined so that the actual trajectory of the legged robot's center of mass conforms to the first desired trajectory.
[0146] The lower half of Equation Fourteen (14) (as shown in Equation Sixteen (16) below) contains the dynamic information of the joints of the legged robot.
[0147]
[0148] Among them, M θ Let θ represent the mass and inertia matrix corresponding to each joint, and let θ represent the angles of all actuated degrees of freedom (in...). Figure 1 or Figure 5 The quadruped robot shown includes 12 degrees of freedom corresponding to joint motors. θ This represents the gravity term, centrifugal force term, and Coriolis force term that can drive the joint. This represents the transpose of the Jacobian matrix of the driveable joint. Let τ be the angular acceleration of the 12 actively driven joints of the legged robot. Let τ be the input torque of the 12 joints. Based on the contact force f obtained from equation 15 (15), and given that the other parameters of the robot's dynamics model are known, equation 16 (16) can be used to calculate the torque τ of each joint of the robot.
[0149] Furthermore, the sixteenth equation (16) can also be written in the form of the seventeenth equation (17).
[0150]
[0151] in, It can be solved by equation number 18 (18).
[0152]
[0153] in, And, x d and Determined by the second expected trajectory, and kp k d It is the coefficient for PD control.
[0154] That is, based on the dynamic model corresponding to the legged robot and the contact force between the plane and the legged robot at each time step, the motor torque provided by each joint motor at each time step is determined so that the trajectory of the end of each mechanical leg away from the base conforms to the second desired trajectory.
[0155] like Figure 7 As shown, the first desired trajectory is represented by a black curve, where the y-axis represents the height of the legged robot's center of mass, and the x-axis represents the time point. Figure 7 The actual trajectory of the center of mass is shown as a gray curve, which determines the height of the legged robot's center of mass at different times using the aforementioned data acquisition device. It can be seen that, through MPC and whole-body dynamics control, the actual height of the legged robot's center of mass can follow the position planned using the simplified model quite well, demonstrating objectively compliant control and an effective strategy.
[0156] like Figure 8A As shown in (a) to (d) in the simulation test, when the legged robot falls from a height of 0.75 meters, its leg length contracts at the instant of contact with the ground. Then as... Figure 8B As shown in (e) to (i), during the landing cushioning process, the distance between the base of the legged robot and the ground gradually decreases. The legs provide a reaction force to the center of mass of the legged robot. Under the action of this reaction force, the body posture of the legged robot decelerates. However, during the height rebound of the legged robot's body, the height of the foot tip does not bounce off the ground. The overshoot is small throughout the entire change in center of mass height. At the end of the compliant control, the legged robot can stand on the ground in a preset posture. This posture and the height rebound process of the center of mass are generally as expected.
[0157] Figures 7 to 8B All indicate that when the legged robot has a large downward velocity in the z-direction at the moment of contact with the ground, the application of the embodiments of this disclosure results in less impact on the joints of the legged robot during the entire landing process, less upper body rebound, and almost no phenomenon of secondary landing of the legs after airborne. While ensuring the landing function, it forms a good impact protection effect for the legged robot.
[0158] The embodiments of this disclosure establish a model of a legged robot under free fall motion. Based on this model, the trajectory of the robot's center of mass and the trajectory of its feet after landing are planned. Based on the planned trajectories, the control torques of each motor are calculated to control the legged robot. This ensures that during landing, each joint of the legged robot experiences only a small impact force, resulting in minimal body rebound. While maintaining landing functionality, this provides good impact protection for the legged robot.
[0159] According to another aspect of this disclosure, a legged robot 900 is proposed. Figure 9 An exemplary block diagram of a legged robot 900 according to an embodiment of the present disclosure is shown.
[0160] The legged robot 900 may include: a base portion 910, a lower limb portion 920 connected to the base portion, and the lower limb portion 920 may include four lower limbs, wherein each lower limb may include two degrees of freedom of the hip joint and one degree of freedom of the knee joint.
[0161] The lower limb refers to the legged component of the legged robot used to achieve movement, which includes, for example, a mechanical leg and a motor connecting the mechanical leg to a base and used to achieve motion control of the mechanical leg. Embodiments of this disclosure are not limited to the specific composition type of the lower limb or the number of lower limbs.
[0162] The base portion refers to the main body of the legged robot, such as the torso of the legged robot. The embodiments disclosed herein are not limited to the specific shape and composition of the base portion.
[0163] In some embodiments, the base portion may include, for example, two spinal joints, and the lower limb portion may include, for example, eight lower limb joints. The embodiments disclosed herein are not limited by the specific number of joints included in the base portion and the lower limb portion, nor by the specific joint configuration of the legged robot.
[0164] The legged robot may also include a controller 930, which is disposed on the legged robot and is capable of performing the motion control method as described above and has the functions as described above.
[0165] The controller may include, for example, a processing device. This processing device may include a microprocessor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a state machine, or other processing devices for processing electrical signals received from the sensor line. Such processing devices may include programmable electronic devices such as a PLC, a programmable interrupt controller (PIC), a programmable logic device (PLD), a programmable read-only memory (PROM), an electronically programmable read-only memory, etc.
[0166] In addition, the legged robot may also include a bus, memory, sensor components, communication modules, and input / output devices.
[0167] A bus can be a circuit that interconnects the components of a legged robot and transmits communication information (e.g., control messages or data) between the components.
[0168] Sensor components can be used to perceive the physical world, and include, for example, cameras, infrared sensors, and ultrasonic sensors. Furthermore, sensor components can also include devices for measuring the current operating and motion state of the legged robot, such as Hall effect sensors, laser position sensors, or strain sensors.
[0169] The communication module can be connected to a network, either wired or wirelessly, to facilitate communication with the physical world (e.g., a server). The communication module can 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 cellular telephone networks (e.g., a transceiver / antenna for accessing CDMA, GSM, UMTS, or other mobile communication networks). In another example, the communication module can be wired and may include interfaces such as Ethernet, USB, or IEEE 1394.
[0170] The input / output device can transmit commands or data input from, for example, a user or any other external device to one or more other parts of the legged robot, or can output commands or data received from one or more other parts of the legged robot to a user or other external device.
[0171] Multiple legged robots can form a legged robot system to collaboratively complete a task. These multiple legged robots are communicatively connected to a server and receive collaborative legged robot instructions from the server.
[0172] According to one aspect of the present disclosure, a device for controlling a legged robot is provided. The device for controlling the legged robot includes a processor and a memory. The memory stores at least one instruction, at least one program, a code set, or an instruction set. The at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by the processor to implement the above-described method.
[0173] According to one aspect of the present disclosure, a computer-readable storage medium is provided, the storage medium storing at least one instruction, at least one program, code set, or instruction set, the at least one instruction, the at least one program, the code set, or the instruction set being loaded and executed by a processor to implement the above method.
[0174] The program portion of a technology can be considered a "product" or "artifact" existing in the form of executable code and / or related data, and is involved in or implemented through a computer-readable medium. Tangible, permanent storage media can include memory or storage used by any computer, processor, or similar device or related module. For example, various semiconductor memories, tape drives, disk drives, or any similar device capable of providing storage functionality for software.
[0175] All software, or parts thereof, may sometimes communicate via networks, such as the Internet or other communication networks. Such communication can load software from one computer device or processor to another. Therefore, another medium capable of transmitting 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, fiber optic cables, or air. Physical media used for carrier waves, such as cables, wireless connections, or fiber optic cables, can also be considered as media carrying software. In this context, unless limited to tangible "storage" media, the term "readable medium" for a computer or machine refers to the medium involved in the execution of any instructions by the processor.
[0176] This application uses specific terms to describe embodiments of the application. Terms such as "first / second embodiment," "an embodiment," and / or "some embodiments" refer to a particular feature, structure, or characteristic associated with at least one embodiment of the application. Therefore, it should be emphasized and noted that references to "an embodiment," "one embodiment," or "an alternative embodiment" in different locations throughout this specification do not necessarily refer to the same embodiment. Furthermore, certain features, structures, or characteristics in one or more embodiments of the application can be appropriately combined.
[0177] Furthermore, those skilled in the art will understand that aspects of this application can be described and illustrated through several patentable types or situations, including any new and useful combination of processes, machines, products, or substances, or any new and useful improvements thereof. Accordingly, aspects of this application can be implemented entirely by hardware, entirely by software (including firmware, resident software, microcode, etc.), or by a combination of hardware and software. All of the above hardware or software may be referred to as a “data block,” “module,” “engine,” “unit,” “component,” or “system.” Furthermore, aspects of this application may manifest as a computer product located on one or more computer-readable media, the product including computer-readable program code.
[0178] Unless otherwise defined, all terms used herein (including technical and scientific terms) shall have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. It should also be understood that terms such as those defined in a common dictionary shall be interpreted as having a meaning consistent with their meaning in the context of the relevant art, and not as having an idealized or highly formalized meaning, unless expressly defined herein.
[0179] The foregoing description is illustrative of the invention and should not be construed as limiting it. Although several exemplary embodiments of the invention have been described, those skilled in the art will readily understand that many modifications can be made to the exemplary embodiments without departing from the novel teachings and advantages of the invention. Therefore, all such modifications are intended to be included within the scope of the invention as defined in the claims. It should be understood that the foregoing description is illustrative of the invention and should not be construed as limiting it to the specific embodiments disclosed, and modifications to the disclosed embodiments and other embodiments are intended to be included within the scope of the appended claims. The invention is defined by the claims and their equivalents.
Claims
1. A method for controlling a legged robot, the legged robot comprising a base and at least two mechanical legs, each mechanical leg comprising at least one joint, the method comprising: determining a first desired trajectory and a second desired trajectory corresponding to the legged robot in response to determining that the legged robot is falling into contact with a surface, wherein, the first desired trajectory indicates a desired trajectory of a center of mass of the legged robot; the second desired trajectory indicates a desired trajectory of an end of each mechanical leg away from the base; controlling motions of the at least one joint of the legged robot after the legged robot is in contact with the surface based on a dynamic model corresponding to the legged robot and the first desired trajectory and the second desired trajectory, wherein, the first desired trajectory satisfies the following constraint conditions: a first constraint condition indicating that an impact force experienced by the legged robot at a first instant when the legged robot is in contact with the surface is less than a maximum impact force that the legged robot can withstand; a second constraint condition indicating that the impact force experienced by the legged robot is greater than a lower bound of a support force that the surface can provide and less than an upper bound of the support force that the surface can provide; a third constraint condition indicating that a height of the center of mass of the legged robot is always greater than a minimum height. the determining the first desired trajectory and the second desired trajectory corresponding to the legged robot in response to determining that the legged robot is falling into contact with a surface comprises: determining the first desired trajectory corresponding to the legged robot based on an approximate model corresponding to the legged robot in response to determining that the legged robot is falling into contact with a surface, wherein, in the approximate model, the legged robot is approximated as a single rigid body and a resultant force of each mechanical leg forms an upward pushing force on the single rigid body during a process in which the legged robot is in contact with the surface. the first desired trajectory causes a combination of the following to reach an extreme value: a fluctuation of the center of mass of the legged robot, a total amount of the impact force experienced by the legged robot, a squatting amount of the legged robot, and a sudden change amount of the impact force experienced by the legged robot. the determining the first desired trajectory and the second desired trajectory corresponding to the legged robot in response to determining that the legged robot is falling into contact with a surface comprises: determining a position of an end of a single mechanical leg away from the base that is in contact with the surface at an instant when the single mechanical leg is in contact with the surface, the position being taken as a second desired trajectory corresponding to the mechanical leg and remaining unchanged at each time step; determining a motion trajectory of an end of a remaining mechanical leg away from the base based on the first desired trajectory, the motion trajectory being taken as a second desired trajectory corresponding to the remaining mechanical leg. the determining the motion trajectory of the end of the remaining mechanical leg away from the base based on the first desired trajectory comprises: determining a foot end position coordinate of the remaining mechanical leg according to the first desired trajectory corresponding to the instant when the single mechanical leg is in contact with the surface, the foot end position coordinate being taken as an initial position of the foot end corresponding to the instant. 2. The method of claim 1, wherein, 3. The method of claim 2, wherein, 4. The method of claim 1, wherein, 5. The method of claim 4, wherein, determine, based on the first desired trajectory, coordinates of positions of the foot ends of the legs corresponding to a stable time instant, wherein at the stable time instant, the center of mass of the legged robot is parallel to the plane, the four legs are in full contact with the plane, and the lengths of the four legs are equal; determine, based on the initial positions of the foot ends at the instant time and the coordinates of the positions of the foot ends of the legs corresponding to the stable time instant, a trajectory of the end of each of the remaining legs away from the base using a cubic spline difference value.
6. The method of claim 1, wherein, the control of the actions of the joints of the legged robot after the legged robot contacts the plane comprises: the control of the actions of the joints of the legged robot after the legged robot contacts the plane comprises:
7. The method of claim 1, wherein, the first desired trajectory indicates that, after the legged robot contacts the plane, the height of the center of mass of the legged robot gradually decreases and then gradually increases.
8. The method of claim 7, wherein, the second desired trajectory indicates that, after a single leg of the legged robot contacts the plane, the lengths of the remaining legs change with the height of the center of mass of the legged robot.
9. The method of claim 1, wherein, the control of the actions of the joints of the legged robot after the legged robot contacts the plane based on the first desired trajectory and the second desired trajectory and the corresponding dynamic model of the legged robot comprises: determine, based on the corresponding dynamic model of the legged robot, a contact force between the plane and the legged robot at each time step, so that the actual trajectory of the center of mass of the legged robot conforms to the first desired trajectory.
10. The method of claim 9, wherein, the control of the actions of the joints of the legged robot after the legged robot contacts the plane based on the first desired trajectory and the second desired trajectory and the corresponding dynamic model of the legged robot comprises: determine, based on the corresponding dynamic model of the legged robot and the contact force between the plane and the legged robot at each time step, a motor torque provided by each joint motor at each time step, so that the trajectory of the end of each leg away from the base conforms to the second desired trajectory.
11. The method of claim 1, wherein, the determination of the falling of the legged robot to contact the plane comprises: determine, based on the current state information of the legged robot, contact information indicating a contact state between each leg and the plane at the current time; and determine the falling of the legged robot to contact the plane based on the contact information.
12. The method of claim 11, wherein, the determination of the contact information based on the current state information of the legged robot further comprises: obtain a historical state value of any leg at a previous time of the current time, determine a current state value of the leg based on the current state information of the legged robot, determine whether the current state value of the leg has a mutation based on the current state value and the historical state value, determine the contact information corresponding to the leg based on whether the current state value of the leg has a mutation.
13. The method of claim 11, wherein, the current state information comprises at least one of the following: joint motor torque or current value or voltage value of each mechanical leg; center of mass height, center of mass posture, and current joint angle information of each mechanical leg corresponding to the quadruped robot; current foot sole tactile feedback value corresponding to each mechanical leg; current acceleration of the quadruped robot in the vertical direction.
14. An apparatus for controlling a quadruped robot, the quadruped robot comprising a base and at least two mechanical legs, each mechanical leg comprising at least one joint, the apparatus comprising: a planning computing device configured to determine a first desired trajectory and a second desired trajectory corresponding to the quadruped robot in response to determining that the quadruped robot falls into contact with a plane, wherein, the first desired trajectory indicates a desired trajectory of a center of mass of the quadruped robot; the second desired trajectory indicates a desired trajectory of an end of each mechanical leg away from the base; a control motor configured to control the motion of each joint of the quadruped robot after the quadruped robot comes into contact with the plane based on a dynamics model corresponding to the center of mass of the quadruped robot and the first desired trajectory and the second desired trajectory, wherein the first desired trajectory satisfies each of the following constraint conditions: a first constraint condition indicating that the impact force received by the quadruped robot at a first moment of contact with the plane is less than a maximum impact force that the quadruped robot can withstand; a second constraint condition indicating that the impact force received by the quadruped robot is greater than a lower limit of support force that the plane can provide and less than an upper limit of support force that the plane can provide; a third constraint condition indicating that the height of the center of mass of the quadruped robot is always greater than a minimum height.
15. A quadruped robot, comprising: a base portion; a lower limb portion connected to the base portion, the lower limb portion comprising four lower limbs, wherein each lower limb comprises a hip joint with two degrees of freedom and a knee joint with one degree of freedom; a controller disposed on the quadruped robot and capable of performing the method of any one of claims 1-13.
16. An apparatus for controlling a quadruped robot, comprising: a processor; and a memory, wherein the memory has stored therein computer executable code that, when executed by the processor, performs the method of any one of claims 1-13.
17. A non-transitory computer readable storage medium having stored thereon executable code that, when executed by a processor, causes the processor to perform the method of any one of claims 1-13.
Citation Information
Patent Citations
Robot walking control method and device, robot control equipment and storage medium
CN113359800A