WO2024021767A1 - 控制足式机器人的方法、装置、设备、足式机器人、计算机可读存储介质和计算机程序产品 - Google Patents

控制足式机器人的方法、装置、设备、足式机器人、计算机可读存储介质和计算机程序产品 Download PDF

Info

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
Application number
PCT/CN2023/093507
Other languages
English (en)
French (fr)
Inventor
王帅
郑宇�
周钦钦
迟万超
Original Assignee
腾讯科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Priority to KR1020247006998A priority Critical patent/KR20240039182A/ko
Priority to EP23844982.1A priority patent/EP4393657A1/en
Publication of WO2024021767A1 publication Critical patent/WO2024021767A1/zh
Priority to US18/604,360 priority patent/US20240269846A1/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/085Force or torque sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • B25J13/089Determining the position of the robot with reference to its environment
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D57/00Vehicles 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/02Vehicles 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/032Vehicles 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

控制足式机器人的方法、装置、设备、足式机器人、计算机可读存储介质和计算机程序产品
相关申请的交叉引用
本申请基于申请号为202210878214.3、申请日为2022年7月25日的中国专利申请提出,并要求以上中国专利申请的优先权,以上中国专利申请的全部内容在此引入本申请作为参考。
技术领域
本申请涉及足式机器人技术领域,具体涉及足式机器人规划控制技术领域,尤其涉及一种控制足式机器人的方法、装置、设备、足式机器人、计算机可读存储介质和计算机程序产品。
背景技术
随着人工智能及足式机器人技术在民用和商用领域的广泛应用,基于人工智能及足式机器人技术的足式机器人在智能交通、智能家居等领域起到日益重要的作用,也面临着更高的要求。
目前,足式机器人(如四足足式机器人)已经能够执行多种不同的动作,例如,跳跃、空翻等。执行这些动作的足式机器人在落地过程中,往往因为缺乏有效的控制方案,导致足式机器人在落地过程中动作僵硬,各个关节受到过大的冲击力,机身回弹较大。甚至由于落地时受到的冲击力过大,导致足式机器人损坏。
尤其是执行空翻动作的足式机器人,由于足式机器人在与平面接触的时刻,机身可能具有一个较大的倾斜角,前腿和后腿接触平面的时刻往往存在一定的差异,更容易侧翻。相比于执行自由落地动作的足式机器人,执行空翻动作的足式机器人更需要有效的控制方案来保证足式机器人在落地过程中的稳定。
发明内容
针对以上问题,本申请实施例提供了一种控制足式机器人的方法、装置、设备、足式机器人、计算机可读存储介质和计算机程序产品。
本申请实施例提供一种控制足式机器人的方法,所述足式机器人包括基座和至少两条机械腿,所述每条机械腿包括至少一个关节,所述方法包括:响应于确定所述足式机器人的各条机械腿均下落至与平面接触,确定所述足式机器人对应的第一期望轨迹和第二期望轨迹,其中,所述第一期望轨迹指示所述足式机器人的质心在重力方向上移动的期望轨迹以及所述足式机器人的倾斜角的变化的期望轨迹;所述第二期望轨迹指示各条机械腿的足端的期望轨迹,所述足端为远离所述基座的一端;基于所述足式机器人对应的动力学模型以及所述第一期望轨迹和第二期望轨迹,控制所述足式机器人与平面接触后各个关节的动作,直至所述足式机器人的基座的高度不变且所述足式机器人的倾斜角方向的转动角为零。
本申请实施例提供一种控制足式机器人的装置,所述足式机器人包括基座和至少 两条机械腿,所述每条机械腿包括至少一个关节,所述装置包括:规划计算设备,被配置为响应于确定所述足式机器人的各条机械腿均下落至与平面接触,确定所述足式机器人对应的第一期望轨迹和第二期望轨迹,其中,所述第一期望轨迹指示所述足式机器人的质心在重力方向上移动的期望轨迹以及所述足式机器人的倾斜角的变化的期望轨迹;所述第二期望轨迹指示各条机械腿的足端的期望轨迹,所述足端为远离所述基座的一端;控制电机,被配置为基于所述足式机器人的质心对应的动力学模型以及所述第一期望轨迹和第二期望轨迹,控制所述足式机器人与平面接触后各个关节的动作,直至所述足式机器人的基座的高度不变且所述足式机器人的倾斜角方向的转动角为零。
本申请申请实施例提供一种足式机器人,包括:基座部;下肢部,其连接至所述基座部,所述下肢部包括四条下肢,其中每条下肢包括髋关节两个自由度和膝关节1个自由度;控制器,所述控制器设置在所述足式机器人上,且能够执行上述的方法。
本申请实施例提供一种控制足式机器人的设备,包括:处理器;和存储器,其中,所述存储器中存储有计算机可执行代码,所述计算机可执行代码当由所述处理器运行时,执行上述的方法。
本申请实施例提供一种非易失性计算机可读存储介质,其上存储有可执行代码,所述可执行代码在被处理器执行时,使得所述处理器执行上述方法。
本申请实施例提供一种计算机程序产品,包括计算机可执行指令或计算机程序,所述计算机可执行指令或计算机程序被处理器执行时实现本申请实施例提供的控制足式机器人的方法。
本申请实施例,对自由落体运动下的足式机器人建立了动力学模型,并基于该动力学模型,对足式机器人落地后的质心运动轨迹和足端位置轨迹进行了规划,并基于规划的质心运动轨迹和足端位置轨迹,求解各个电机的控制力矩,对足式机器人进行控制。从而,保证了足式机器人在落地过程中,各个关节仅受到较小的冲击力,机身回弹较小,倾斜角变化较小,在保证落地功能的同时对足式机器人形成了良好的抗冲击保护效果。
附图说明
为了更清楚地说明本申请的实施例的技术方案,下面将对实施例的描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例性实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。以下附图并未刻意按实际尺寸等比例缩放绘制,重点在于示出本申请的主旨。
图1是示出根据本申请实施例提供的足式机器人的示意图;
图2是示出根据本申请实施例提供的控制足式机器人的方法的流程图;
图3A是对本申请实施例提供的足式机器人进行简化所得到的二维平面模型中的虚拟机器人的示意图;
图3B是本申请实施例提供的足式机器人在空翻过程中的各个阶段的示意图;
图3C是本申请实施例提供的足式机器人与平面接触的瞬间的示意图;
图4是示出根据本申请实施例的足式机器人落地过程中的质心的位置姿态的变化及足式机器人的简化模型中前后腿的受力情况的示意图;
图5是示出根据本申请实施例的足式机器人落地过程中的机械腿与平面接触的示意图;
图6是示出根据本申请实施例提供的一种三次样条差值的计算原理示意图;
图7A示出了根据本申请实施例的足式机器人在执行空翻后落地的第一动作的示意 图;
图7B示出了根据本申请实施例的足式机器人在执行空翻后落地的第二动作的示意图;
图8示出了根据本申请实施例提供的足式机器人的控制系统架构示意图;
图9示出了根据本申请实施例的足式机器人的示例性框图。
具体实施方式
为了使得本申请实施例的目的、技术方案和优点更为明显,下面将参考附图详细描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。
如本申请实施例和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
虽然本申请实施例对根据控制足式机器人的装置中的某些模块做出了各种引用,然而,任何数量的不同模块可以被使用并运行在用户终端和/或服务器上。所述模块仅是说明性的,并且所述装置和方法的不同方面可以使用不同模块。
本申请实施例中使用了流程图用来说明控制足式机器人的方法和装置所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,根据需要,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
为便于描述本申请实施例提供的控制足式机器人的方法和装置,以下介绍与本申请实施例有关的概念。
本申请实施例提供的足式机器人是一种使用腿进行移动的机器人,其以动物为仿生对象,目的是依据工程技术和科学研究成果模拟动物的运动形式和复制动物的运动能力。足式机器人对各种环境(包括结构化环境(诸如公路、铁路、经处理的平整路面等)和非结构化环境(诸如山地、沼泽、崎岖不平的路面等))具有很强的适应能力,其能够适应地形的各种变化、翻越较高的障碍物,而且能够有效地减小载荷、提高系统的能量利用效率。足式机器人按照足数可分为单足、双足、四足、六足、八足等,其中,四足足式机器人具有超强的运动能力,其比双足足式机器人静态稳定性好,且比六足、八足足式机器人运动简单灵活,因此,四足足式机器人是研究足式机器人的一种常见选择。四足足式机器人的步态是四足足式机器人为了能够进行连续的移动,其四条腿在时间和空间上的协调关系。四足足式机器人的步态来自于四足哺乳动物的步态,其可以包括但不限于以下简化的三种形式:行走(walk)、小跑(trot)和跳跃(bound)。
本申请实施例提供的控制足式机器人的方法可以是基于人工智能(Artificial intelligence,AI)实现的。人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。例如,对于基于人工智能的控制足式机器人的方法而言,其能够以类似于人类引导活体动物运动的方式来规划足式机器人的运动轨迹和步态,使得足式机器人的运动更灵活仿生。人工智能通过研究各种智能机器的设计原理与实现方法,使本申请实施例提供的控制足式机器人的方法具有自动高效地基于足式机器人的当前运动状态设计足式机器人的后续运动轨 迹和步态的功能。
综上所述,本申请实施例提供的方案涉及人工智能、机器学习等技术,下面将结合附图对本申请实施例提供的控制足式机器人方法及装置进行进一步地描述。
图1是示出根据本申请实施例提供的足式机器人的示意图,如图1所示,以四足足式机器人为例,图1中的左图示出了示例足式机器人的内部透视图,右图示出了示例足式机器人的外部结构图。
该示例足式机器人能够基于四条机械腿进行移动。其中,每条机械腿可以包括大腿和小腿,且每条机械腿可包括至少一个关节。例如,每条机械腿上可以包括多个下肢关节,例如髋关节两个自由度和膝关节1个自由度。
除此之外,每条机械腿还可配置有多个电机,这些电机可以用来分别控制或组合控制四足足式机器人的髋关节两个自由度和膝关节1个自由度。需要说明的是,足式机器人上还可配置各式各样的传感器,如惯性测量单元(Inertial Measurement Unit,IMU)传感器和关节角编码器等;其中,IMU传感器可以实时地提供足式机器人的加速度和姿态信息,关节角编码器可以实时地提供足式机器人的各个关节的关节角信息(如关节角的角度、角速度反馈值等)。
示例足式机器人在上述提及的多个电机的控制下,能够执行空翻或跳跃等动作。然而执行这些动作的足式机器人最终都会以自由落地的形式落回平面。而如果在足式机器人的自由落地的过程中以及在足式机器人与平面接触的过程不对足式机器人进行控制,则会导致足式机器人在落地过程中动作僵硬,各个关节受到过大的冲击力,机身回弹较大。甚至在一些极端情况下,由于足式机器人在落地时受到的冲击力过大,导致足式机器人损坏。
目前工业界和学界已经提出了一些控制方案来对足式机器人的自由下落过程进行控制。例如,将四足足式机器人的每个足端与平面接触过程等效为x轴和z轴方向上的两个虚拟弹簧的作用过程,如果利用比例-微分(Proportion Differentiation,PD)控制方案来调整虚拟弹簧的刚度和阻尼参数,就能等效地推导出各个关节电机的输出力矩,从而就能使得足式机器人能够灵巧的落地。还可以将机械腿和环境分别等效为两个不同的RLC模型,并基于这两个RLC模型,利用一种机器学习控制方案数据驱动(data-driven),推导出各个关节电机的输出力矩,从而使得足式机器人能够灵巧的落地。
然而这样的方案,都仅仅考虑了在足式机器人的机械腿模型或环境模型建立上弹簧阻尼模型,既没有考虑足式机器人在线速度上的变化,也没有考虑足式机器人的质心在角速度上的变化,从而控制效果都有限。
因此,针对上述问题,一方面,本申请实施例提供了一种控制足式机器人的方法,所述足式机器人包括基座和至少两条机械腿,所述每条机械腿包括至少一个关节,所述方法包括:响应于确定所述足式机器人的各条机械腿均下落至与平面接触,确定所述足式机器人对应的第一期望轨迹和第二期望轨迹,其中,所述第一期望轨迹指示所述足式机器人的质心在重力方向上移动的期望轨迹以及所述足式机器人的倾斜角的变化的期望轨迹;所述第二期望轨迹指示各条机械腿的足端的期望轨迹;基于所述足式机器人的质心对应的动力学模型以及所述第一期望轨迹和第二期望轨迹,控制所述足式机器人与平面接触后各个关节的动作,直至所述足式机器人的基座的高度不变且所述足式机器人的倾斜角方向的转动角为零。
另一方面,本申请实施例还提供了一种控制足式机器人的装置,所述足式机器人包括基座和至少两条机械腿,所述每条机械腿包括至少一个关节,所述装置包括:规划计算设备,被配置为响应于确定所述足式机器人下落至与平面接触,确定所述足式机器人对应的第一期望轨迹和第二期望轨迹,其中,所述第一期望轨迹指示所述足式机器人的 质心在重力方向上移动的期望轨迹以及所述足式机器人的倾斜角的变化的期望轨迹;所述第二期望轨迹指示各条机械腿的足端的期望轨迹;控制电机,被配置为基于所述足式机器人的质心对应的动力学模型以及所述第一期望轨迹和第二期望轨迹,控制所述足式机器人与平面接触后各个关节的动作,直至所述足式机器人的基座的高度不变且所述足式机器人的倾斜角方向的转动角为零。
又一方面,本申请实施例还提供了一种足式机器人,包括:基座部;下肢部,其连接至所述基座部,所述下肢部包括四条下肢,其中每条下肢包括髋关节两个自由度和膝关节1个自由度;控制器,所述控制器设置在所述足式机器人上,且能够执行上述方法。
相比于传统的用于足式机器人的运动控制方案,本申请实施例提供的控制足式机器人的方法不仅能够自动地实现对足式机器人的轨迹和步态的规划,还能在足式机器人在落地过程中,降低各个关节受到的冲击力,并且能够降低机身回弹幅度以及倾斜角变化幅度,在保证落地功能的同时,对足式机器人形成了良好的抗冲击保护效果。此外,在本申请实施例中,还进一步考虑了质心的倾斜角变化,更适用于执行空翻动作的足式机器人的落地控制。
图2是本申请实施例提供的用于足式机器人的控制方法20的流程图。本申请实施例提供的用于足式机器人的控制方法200可以包括如图2所示的步骤S201-S202。如上所述,所述足式机器人包括基座和至少两条机械腿,所述每条机械腿包括至少一个关节。
在步骤S201中,响应于确定所述足式机器人的各条机械腿均下落至与平面接触,确定所述足式机器人对应的第一期望轨迹和第二期望轨迹,其中,所述第一期望轨迹指示所述足式机器人的质心在重力方向上移动的期望轨迹以及所述足式机器人的倾斜角的变化的期望轨迹,所述第二期望轨迹指示各条机械腿的足端的期望轨迹。
作为一个示例,步骤S201可以由任意的计算机设备执行。此处的计算机设备可以是终端或服务器;或者,此处的计算机设备也可以是由终端和服务器共同执行,对此不作限定。其中,终端可以是智能手机、电脑(如平板电脑、笔记本电脑、台式计算机等)、智能穿戴设备(如智能手表、智能眼镜)、智能语音交互设备、智能家电(如智能电视)、车载终端或飞行器等;服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,等等。进一步的,终端和服务器可位于区块链网络内或区块链网络外,对此不作限定;更进一步的,终端和服务器还可将内部所存储的任一数据上传至区块链网络进行存储,以防止内部所存储的数据被篡改,提升数据安全性。
例如,在足式机器人的下落过程中,足式机器人的各条机械腿与平面(如地面、桌面等)之间的接触情况会发生变化,使得足式机器人在与平面接触的过程中可具有多种运动形态。尤其是执行空翻动作的足式机器人在下落过程中,足式机器人在与平面接触时通常具有一定的倾斜角,导致足式机器人可能存在前后倾斜的角速度或左右倾斜的角速度。此时需要动态地调整各条机械腿的关节力矩,以避免足式机器人摔倒。
为此,需要确定足式机器人与平面接触的接触信息,并基于各条机械腿均接触平面的时刻机器人的姿态和状态信息来确定第一期望轨迹和第二期望轨迹。之后将参考图3A至图3C说明如何确定足式机器人与平面接触的接触信息的实施例。
如上所述,第一期望轨迹指示所述足式机器人的质心在重力方向上移动的期望轨迹以及所述足式机器人的倾斜角的变化的期望轨迹。例如,第一期望轨迹可以包括所述足式机器人的质心在各个时间步期望的位置信息、速度信息、加速度信息、角速度信息、角加速度信息等等。第一期望轨迹可以以各个时间步对应的质心相关信息组成的时序数 值序列来进行表示。在一些实施例中,该时序数值序列中的每个元素可以具有6个维度,分别表示某个时间步对应的质心在x轴方向上的位置、质心在y轴方向上的位置、质心在z方向(重力方向)上的位置、足式机器人的倾斜角(pitch)、足式机器人的偏航角(yaw)以及足式机器人的滚动角(roll)等等。当然第一期望轨迹还可以以其他数据结构来进行表示,本申请实施例并不以此为限。之后将参考图4说明确定第一期望轨迹的示例方案。
各条机械腿的足端也即远离所述基座的一端,而第二期望轨迹指示各条机械腿的足端的期望轨迹。例如,第二期望轨迹可以包括所述各条机械腿的足端的在各个时间步期望的位置信息、速度信息、加速度信息、角速度速度、角加速度信息等等。又例如,第二期望轨迹还可以包括所述各条机械腿的各个关节在各个时间步期望的位置信息、速度信息、加速度信息、角速度速度、角加速度信息等等。类似地,第二期望轨迹可以以各个时间步对应的各条机械腿相关信息组成的时序序列来进行表示。当然第二期望轨迹还可以以其他数据结构来进行表示,本申请实施例并不以此为限。之后将参考图5至图6说明确定第二期望轨迹的示例方案。
其中,一个时间步又可以被称为一帧。相邻时间步之间的时间差可以相同,也可以不同。例如,由于足式机器人在刚刚与平面接触的一段时间,足式机器人的动作和受力都变化剧烈,因此时间步之间的差异可以被设定为小于一差异阈值的较小值,从而实现保证在前期足式机器人的动作控制足够灵活。而在足式机器人逐渐达到稳定状态的过程中,时间步之间的差异可以被设定为大于该差异阈值的较大值,以节省算力。本申请实施例并不对相邻时间步之间的时间差进行限定。
在步骤S202中,基于所述足式机器人对应的动力学模型以及所述第一期望轨迹和第二期望轨迹,控制所述足式机器人与平面接触后各个关节的动作,直至所述足式机器人的基座的高度不变且所述足式机器人的倾斜角方向的转动角为零。
所述足式机器人对应的动力学模型用于表征所述足式机器人运动过程中的各关节和质心角度、角速度、角加速度和关节力矩以及与外界接触力的变化关系。例如,该动力学模型可以以能量变化的角度来描述上述变化关系。该动力学模型还可以以动量变化或受力变化的角度来描述上述变化关系。本申请实施例对此不进行限定。
在所述足式机器人下落至与平面接触的瞬间,到所述足式机器人在平面上稳定站立的过程中,足式机器人受到的作用力包括重力、各个关节电机的驱动力以及平面向所述足式机器人提供的接触力(又称为支撑力)。基于这三个力以及足式机器人本体各部分的尺寸、质量、转动惯量、关节连接方式等信息,建立所述足式机器人对应动力学模型。不同位姿的足式机器人受到的接触力和驱动力不同。基于所述足式机器人对应的动力学模型,确定所述足式机器人在各个时间步与所述平面与之间的接触力,以使得所述足式机器人的质心的实际轨迹符合所述第一期望轨迹。
在一些实施例中,基于所述足式机器人对应的动力学模型以及在各个时间步所述平面与所述足式机器人之间的接触力,还可以确定各个关节电机在各个时间步提供的电机力矩,以使得所述各条机械腿的足端的轨迹符合所述第二期望轨迹。
值得注意的是,本申请实施例中所述的“符合”是指在真机实际测试时,所述足式机器人的质心的实际轨迹与所述第一期望轨迹非常接近甚至相同,所述各条机械腿的足端的轨迹与所述第二期望轨迹非常接近甚至相同。由于关节电机性能的限制,关节电机往往不能输出理想的力矩。同时,考虑到外界环境的变化(例如,突然出现风等其它的扰动),往往难以控制足式机器人完全符合第一期望轨迹和第二期望轨迹。因此,本申请的实施例只需要实际轨迹和期望轨迹之间的差异足够小即可。
在一些实施例中,基于所述足式机器人对应的动力学模型,可以确定出所述足式机 器人的质心在各个时间步达到所述第一期望轨迹所指示的位置、速度、加速度、角速度、角加速度所需的接触力,所述接触力为平面向各个机械腿的足端提供的支撑力。并且,基于所述足式机器人对应的动力学模型以及上述接触力,可以进一步确定出所述足式机器人的机械腿在各个时间步达到所述第二期望轨迹所指示的位姿所需的关节控制信息。
在一些实施例中,所述关节控制信息既可以是各个关节电机的加速度,也可以是关节电机的力矩。虽然从数学意义上说,这两个物理量作为控制关节电机转动的控制信息并没有太大的区别,但是在实际物理系统当中,并不是这两个物理量都可以被准确测量。因此,可以根据具体情况,选择数据测试效果较好,比较符合模型的物理量进行后续计算。
相关技术中,对足式机器人的控制方案都没有考虑足式机器人的质心轨迹的规划,而仅考虑了弹簧模型,因此,难以实现落地过程中精准控制。相较之下,本申请实施例提供的控制足式机器人的方法不仅能够自动地实现对足式机器人的轨迹和步态的规划,还能在足式机器人在落地过程中,降低各个关节受到的冲击力,并且能够降低机身回弹幅度,以及倾斜角变化幅度,在保证落地功能的同时对足式机器人形成了良好的抗冲击保护效果。此外,在本申请实施例中还考虑了质心的倾斜角的变化,更适用于执行空翻动作的足式机器人的落地控制。
图3A是对本申请实施例提供的足式机器人进行简化所得到的二维平面模型中的虚拟机器人的示意图。图3B是本申请实施例提供的足式机器人在空翻过程中的各个阶段的示意图。图3C是本申请实施例提供的足式机器人与平面接触的瞬间的示意图。
参考图3A,足式机器人可以近似是在一个二维平面(x轴(水平轴)和z轴(竖直轴)所构成的平面)内运动;那么如果不考虑足式机器人的自身质量、形状的不对称,以及电机的控制误差等,可以将足式机器人简化为二维平面模型中的虚拟机器人,从而对该虚拟机器人进行控制和状态估计。虚拟机器人可包括一条虚拟前腿和一条虚拟后腿。其中,虚拟前腿是对图1中的足式机器人的两条前腿进行等效处理得到的,该虚拟前腿可以是将四足机器人的左右两侧的前机械腿进行重合得到的;虚拟后腿是对足式机器人的两条后腿进行等效处理得到的,该虚拟后腿可以是将足式机器人的左右两侧的后腿进行重合得到的。
参考图3B,示出了足式机器人在进行后空翻动作中的四个阶段。
在第一阶段中,虚拟机器人的虚拟前腿和虚拟后腿同时接触平面,整个过程包括虚拟机器人以虚拟后腿作为位置点,虚拟前腿发力蹬地的过程,虚拟机器人受平面的反作用力,在接下来的阶段虚拟前腿会离开平面,仅有虚拟后腿与平面接触。该阶段到虚拟前腿离开平面的瞬间结束。在第一阶段中,二维平面模型中的虚拟机器人与平面的虚拟接触点数量(contact point)为2个,也即包括虚拟前腿与平面的虚拟接触点以及虚拟后腿与平面的虚拟接触点。
在第二阶段中,从虚拟机器人的虚拟前腿离开平面的瞬间开始,到虚拟机器人的虚拟前腿和虚拟后腿同时离开平面为止。整个过程包括虚拟机器人以虚拟后腿与平面之间的接触点为圆心旋转的过程,在第二阶段中,二维平面模型中的虚拟机器人与平面的虚拟接触点数量为1个,也即包括虚拟后腿与平面的虚拟接触点。
在第三阶段中,从虚拟机器人的虚拟前腿和虚拟后腿同时离开平面开始,到虚拟机器人的某一条腿或几条腿接触平面为止。包括虚拟机器人在空中质心的姿态旋转接近360度的过程,在第三阶段中,二维平面模型中的虚拟机器人与平面的虚拟接触点数量为0个。
在第四阶段中,从虚拟机器人的虚拟前腿接触平面开始,直到虚拟机器人的虚拟前腿和虚拟后腿均落在平面上,然后逐渐稳定。在第四阶段中,在虚拟前腿和虚拟后腿均 落地后,二维平面模型中的虚拟机器人与平面的虚拟接触点数量为2个,也即包括虚拟前腿与平面的虚拟接触点以及虚拟后腿与平面的虚拟接触点。
本申请实施例提供的控制足式机器人的方法,主要应用于第四阶段中虚拟前腿和虚拟后腿均落在平面上然后逐渐稳定的过程。参考图3C,要做到落地缓冲,就需要确定各条机械腿在当前时刻与平面之间的接触信息,并基于该接触信息判断是否开始计算第一期望轨迹和第二期望轨迹。当前时刻是指:在足式机器人的落地过程中,随着时间的推进,最新到达的系统时刻。例如,各条机械腿在当前时刻与平面之间的接触信息包括以下各项中的至少一项:足式机器人的各条机械腿是否均与平面接触、各条机械腿与平面所成的夹角、各条机械腿与平面的接触点的数量、各个接触点的位置、虚拟机器人与平面的虚拟接触点数量、虚拟接触点的位置等等信息,以确定所述足式机器人的第一期望轨迹和第二期望轨迹。
在一些实施例中,所述接触信息是通过所述足式机器人在当前时刻对应的当前状态信息确定的。
在一些实施例中,参考图8,可调用足式机器人中的IMU传感801来确定所述足式机器人的当前状态信息。例如,可以通过IMU传感器801来采集足式机器人在当前时刻的加速度信息(加速度信息可包括足式机器人在多个方向(如竖直方向、水平方向)上的加速度)和当前姿态信息,以及调用关节角编码器802确定足式机器人的各个关节在当前时刻的关节角信息(如关节角的角度、角速度反馈值等)。其次,可将当前姿态信息和关节角信息(如关节角的角度、角速度反馈值)输入腿部里程计(Leg odometry)803计算出位置信息。该位置信息可包括:足式机器人的各条机械腿在当前时刻的位置。另外,可将加速度信息输入至状态空间观测器804,状态空间观测器804可基于加速度信息和历史得到的足式机器人在当前时刻的状态估计结果,输出位置观测结果。该位置观测结果可包括:观测出的足式机器人的各条机械腿在当前时刻的位置;其中,足式机器人在当前时刻的状态估计结果,可以是在当前时刻的上一时刻到达时,对足式机器人在当前时刻的状态进行估计所得到的,其可存储在向量或其他数据结构中,对此不作限定。然后,可根据位置信息和位置观测结果,对足式机器人在当前时刻的下一时刻的状态进行估计。
例如,还可将位置信息和位置观测结果作为扩展卡尔曼滤波(Extended Kalman Filter,EKF)单元805的输入数据,以通过该EKF单元进行状态估计,从而得到足式机器人在下一时刻的状态估计结果。所谓的扩展卡尔曼滤波是标准卡尔曼滤波(简称卡尔曼滤波)在非线性情形下的一种扩展形式,其可将非线性函数进行泰勒展开,省略高阶项,保留展开项的一阶项,以此来实现非线性函数线性化。在一些实施例中,也可将位置信息和位置观测结果作为卡尔曼滤波单元的输入数据或作为基于机器学习所得到的状态估计模型的输入数据,以通过卡尔曼滤波单元或状态估计模型进行状态估计,得到足式机器人在下一时刻的状态估计结果。其中,足式机器人在下一时刻的状态估计结果,可同时用于足式机器人的控制和下一次状态估计时的状态空间观测器的输入;也就是说,通过状态估计所得到的状态估计结果可用于足式机器人的反馈控制,从而形成闭环。
以上仅是获得当前状态信息的一些示例,在本申请实施例中,还参考图8对获得当前状态信息方案进行了说明。下面对如何根据所述足式机器人的当前状态信息确定接触信息的几种实施方式进行阐述。
由于任意机械腿与平面之间的接触信息发生变化时,机械腿对应的任一项的状态值可发生突变,因此可以通过机械腿的当前状态值来判断机械腿在当前时刻与平面之间的接触信息。在一些实施例中,根据当前状态信息确定接触信息的方式包括:获取任一机 械腿在当前时刻的上一时刻的历史状态值,并从当前状态信息中确定任一机械腿的当前状态值,从而可根据历史状态值,判断任一机械腿的当前状态值是否存在突变。
在本申请实施例中,当前状态值存在突变是指当前状态值和历史状态值之间的差值大于预设差值。基于此,可计算历史状态值与任一项的当前状态值之间的差值;若计算出的差值大于预设差值,则判定当前状态值存在突变;若计算出的差值不大于预设差值,则判定当前状态值不存在突变。例如,设历史状态值为20,预设差值为50;若当前状态值为100,则由于100减去20等于80,而80大于50,因此可认为当前状态值存在突变;若当前状态值为30,则由于30减去20等于10,而10小于50,因此可认为当前状态值不存在突变。
若根据历史状态值判定任一机械腿的当前状态值存在突变,且该机械腿的当前状态值大于历史状态值,则确定该机械腿在当前时刻与平面接触。若根据历史状态值判定任一机械腿的当前状态值不存在突变,则将该机械腿在上一时刻与平面之间的接触信息作为当前时刻的接触信息。也即,若任一机械腿在上一时刻与平面接触,则确定该机械腿在当前时刻也与平面接触;若任一机械腿在上一时刻未与平面接触,则确定该机械腿在当前时刻也未与平面接触。
例如,在一些实施例中,所述当前状态信息可以包括:各条机械腿的关节电机力矩或电流值或电压值。
一般的,当足式机器人的机械腿不接触平面(如不着地)而悬空时,机械腿的负载仅为机械腿的质量,由于足式机器人的机械腿质量相对于整体的质量可以忽略,故负载较小,各关节的反馈电流值以及关节电机力矩相对较小。而当足式机器人的机械腿接触平面(如触地)时,足式机器人的负载变成了自身全部的质量加上自身惯性作用下向下移动的等效惯性力,故负载较大,各关节的反馈电流值以及关节电机力矩相对较大。基于此,在检测到关节电机力矩或反馈电流值由较小值突然变大时,认为足式机器人从空中向平面(如平面)着陆。
又例如,在一些实施例中,所述当前状态信息包括:足式机器人的质心高度、质心姿态、各条机械腿对应的当前关节角信息。
在一些实施例中,可根据由外部视觉或者动作捕捉系统检测到的足式机器人质心高度和质心姿态,以及足式机器人的各关节角信息,确定足式机器人的足端与平面接触的时刻,从而判断相应机械腿在当前时刻是否与平面接触。
其中,根据当前状态信息检测机械腿在当前时刻与平面之间的接触信息的方式包括:根据质心高度、质心姿态以及任一机械腿对应的当前关节角信息,计算任一机械腿距离所述平面的高度;若计算出的高度小于或等于高度阈值(如数值0或0.005等),则确定任一机械腿在当前时刻与平面接触;若计算出的高度大于高度阈值,则确定任一机械腿在当前时刻未与平面接触。
又例如,在一些实施例中,所述当前状态信息可包括:各条机械腿对应的当前足底触觉反馈值,足底触觉反馈值是通过相应腿的足底触觉传感器生成的。
在一些实施例中,可通过足底触觉传感器来判断相应腿在当前时刻是否与平面接触。并且,任一足底触觉传感器在检测到相应腿与所述平面接触时,生成第一数值作为足底触觉反馈值,在检测到相应腿未与所述平面接触时,生成第二数值作为足底触觉反馈值;此处的第一数值和第二数值可根据实际需求设定,例如第一数值为数值1,第二数值为数值0,或者第一数值为数值0,第二数值为数值1等。其中,根据当前状态信息检测机械腿在当前时刻与平面之间的接触信息的方式包括:从当前状态信息中获取机械腿对应的当前足底触觉反馈值;若获取到的当前足底触觉反馈值为第一数值,则确定任一机械腿在当前时刻与平面接触;若获取到的当前足底触觉反馈值为第二数值,则确 定任一机械腿在当前时刻未与平面接触。
在一些实施例中,所述当前状态信息包括:足式机器人在竖直方向上的当前加速度。假设在当前时刻的上一时刻,足式机器人在竖直方向上的历史加速度已知;若根据历史加速度判定当前加速度发生突变,则确定足式机器人落地。
经实践表明:当足式机器人在平面稳定站立时,IMU传感器所采集到的足式机器人在z方向的加速度为一倍的重力加速度数值g;当足式机器人在空中完全失重状态下时,IMU传感器所采集到的足式机器人在z方向的加速度为接近于0;当足式机器人在平面足部用力踩踏平面准备飞起的过程,以及落地后向平面缓冲的过程中,IMU传感器所采集到的足式机器人在z方向的加速度均大于一倍的重力加速度g。据此可知,在足式机器人落地的瞬间,足式机器人在竖直方向上的加速度发生突变。
在该实施例中,当前加速度存在突变是指当前加速度和历史加速度之间的差值大于差值阈值;基于此,计算机设备可计算历史加速度与当前加速度之间的差值;若计算出的差值大于差值阈值,则判定当前加速度发生突变;若计算出的差值不大于差值阈值,则判定当前加速度未发生突变。例如,设历史加速度为2,差值阈值为5;若当前加速度为9,则由于9减去2等于7,而7大于5,因此可认为当前加速度发生突变;若当前加速度为4,则由于4减去2等于2,而2小于5,因此可认为当前加速度未发生突变。
应理解的是,上述只是示例性地阐述了确定机械腿的接触信息的一些实现过程,并非穷举。本申请实施例并不以此为限。
接下来,参考图4来说明如何确定足式机器人的第一期望轨迹。图4是本申请实施例提供的足式机器人落地过程中的质心的位置姿态的变化及足式机器人的简化模型中前后腿的受力情况的示意图。
在图4中示出了六条曲线,分别是第一推力曲线、第二推力曲线、质心高度曲线、质心速度曲线、倾斜角曲线、角速度曲线。这六条曲线对应于第一期望轨迹。这六条曲线的初始条件相同,其中,落地时刻初始高度为0.35m、落地时刻初始速度为-2.3m/s、平稳时刻最终高度为0.28m、落地时刻倾斜角为0.05rad、落地时刻倾斜角角速度为9rad/s、落地时刻受到的冲击力上限为240N、全过程中受到的冲击力上限为240N。
第一推力曲线指示足式机器人在落地过程中前腿的推力随时间步的变化,x轴为时间步,y轴为第一推力f1的推力大小(单位为牛顿)。如第一推力曲线所示,在所述足式机器人与平面接触后,所述足式机器人的前腿的推力先逐渐升高后再逐渐降低之后再逐渐上升至稳定值。
第二推力曲线指示足式机器人在落地过程中后腿的推力随时间步的变化,x轴为时间步,y轴为第二推力f2的推力大小(单位为牛顿)。如第二推力曲线所示,在所述足式机器人的后腿与平面接触后,后腿的推力维持最高值一段时间后逐渐降低,之后再逐渐上升至稳定值。
质心高度曲线指示足式机器人在落地过程中质心高度随时间步的变化,x轴为时间步,y轴为高度(单位为厘米)。该曲线示例性的示出了第一期望轨迹在z方向上的变化。如质心高度曲线所示,在所述足式机器人与平面接触后,所述足式机器人的质心的高度逐渐降低然后逐渐上升。
质心速度曲线指示足式机器人在落地过程中的质心在重力方向上(z方向上)的速度随时间步变化,x轴为时间步,y轴为速度(单位为米/秒)。该曲线示例性的示出了第一期望轨迹在Z方向上的速度变化。如速度曲线所示,在所述足式机器人与平面接触后,所述足式机器人的质心在竖直方向上的速度逐渐升高然后逐渐降低至0。
倾斜角曲线指示足式机器人在落地过程中倾斜角随时间步的变化,x轴为时间步,y轴为倾斜角角度(单位为弧度)。该曲线示例性的示出了第一期望轨迹中倾斜角的变化。 如倾斜角曲线所示,在所述足式机器人与平面接触后,所述足式机器人的倾斜角的角度值逐渐增加后逐渐降低至0。
角速度曲线指示足式机器人在落地过程中倾斜角随时间步的变化,x轴为时间步,y轴为倾斜角角速度(单位为弧度/秒)。该曲线示例性的示出了第一期望轨迹中倾斜角的角速度变化。如角速度曲线所示,在所述足式机器人与平面接触后,所述足式机器人的倾斜角的角速度逐渐降低至0后反方向增加,然后逐渐减小至0。
如图4所示,足式机器人首先以较大的加速度下落至任意一只前腿与平面接触。此时,与平面接触的机械腿承受平面给的较大的作用力,质心下降的速度逐渐减小。随着四条机械腿依次与平面接触,四条机械腿一起承受平面对足式机器人的作用力,并始终保持与平面的接触,直至足式机器人的质心达到预期的静止高度且倾斜角的角度在0附近。
基于此,为了实现足式机器人在落地过程中的缓冲效果,并且减小足式机器人的机身回弹幅度,可以基于图4中质心高度曲线和倾斜角曲线,设定优化目标,以使得期望轨迹尽量实现预期的缓冲效果。例如,优化目标可以是超调较小、倾斜角的变化随时间的积分较小、竖直方向的高度随时间的积分较小、最低的高度要高于某个安全阈值、力的变化不能发生突变、竖直方向的高度的变化速度要满足一定的约束条件等等。
在一些实施例中,使用足式机器人对应的近似模型来确定所述足式机器人的质心期望轨迹(也即第一期望轨迹)。在所述近似模型中,所述足式机器人被近似为单刚体,并且在所述足式机器人与平面接触的过程中,前腿向所述单刚体施加第一推力,后腿向所述单刚体施加第二推力,第一推力和第二推力的合力向所述单刚体施加向上推力,第一推力和第二推力形成的扭矩向所述单刚体提供质心角加速度。
在一些实施例中,“基于所述足式机器人对应的近似模型,确定所述足式机器人对应的第一期望轨迹”在实现时,首先获取所述足式机器人的质量;基于所述近似模型和足式机器人的质量,确定所述足式机器人对应的动力学方程;然后将所述动力学方程,转换为状态空间表示,并对所述状态空间表示进行离散化,得到每个时间步对应的状态转移方程;通过所述每个时间步对应的状态转移方程构建优化目标函数,并对所述优化目标函数进行求解,得到所述足式机器人对应的第一期望轨迹。
例如,足式机器人可以被近似为一个质量为m的单刚体并且其绕着倾斜角对应的旋转轴旋转方向上的转动惯量为I。在足式机器人具有四条机械腿的情况下,两条前腿的合力为f1,两条后腿的合力为f2,二者之和形成对单刚体的向上推力。基于这样的近似模型,据牛顿第二定律和欧拉公式,可以确定第一方程(1),第一方程又称为动力学方程。在一些实施例中,所述动力学模型至少部分地基于所述近似模型,并且所述动力学模型指示所述单刚体的加速度与第一推力、第二推力和重力之间的关系,并且所述动力学模型还指示所述单刚体的倾斜角方向的转动角的角加速度与第一推力和第二推力之间的关系。
其中,以竖直向上为正方向,g为重力系数,等于-9.81(负号表示重力方向竖直向下)。l为机械腿的长度。指示所述单刚体的质心在竖直方向上的加速度。指示所述单刚体的倾斜角方向的转动角的角加速度。θ指示所述单刚体的倾斜角方向的转动角的角度值。
将该动力学方程转换为状态空间表示(State space representation)形式,也即如下示出的第二方程(2)。
第二方程(2)可以被简写成第三方程(3)的形式。
其中,对应地,将第三方程(3)按照时间步(时间步的长度为Δt)离散化,可以得到第四方程(4)。
令Ad=AcΔt+I,Bd=BcΔt。基于模型预测控制(Model Predictive Control,MPC)。可以得到第五方程(5)。
其中,x1表示第一时间步对应的由质心竖直方向高度、质心竖直方向速度、重力加速度组成的向量,x2表示第二时间步对应的由质心竖直方向高度、质心竖直方向速度、重力加速度组成的向量,xk表示第k时间步对应的由质心竖直方向高度、质心竖直方向速度、重力加速度组成的向量,以此类推,其中,x0为初始时刻对应的由质心竖直方向高度、质心竖直方向速度、重力加速度组成的向量。第五方程(5)也可以被简写成第六方程(6)。
X=Aqpx0+BqpU        (6);
其中,
第六方程(6)已经给出了每个时间步对应的状态转移方程的数学表达式。基于第六方程(6)所示的每个时间步对应的状态转移方程,以及足式机器人下落中期望实现的缓冲效果,来构建本申请各个实施例对应的优化目标函数,以实现最优的第一期望轨迹的求解。例如,所述第一期望轨迹使得以下各项的组合达到极值:所述足式机器人的质心波动量、所述足式机器人受到的冲击力总量、所述足式机器人的下蹲量、所述足式机器人受到的冲击力突变量。以上各项均可以有对应的权重系数,并且以各种方式进行组合。
基于此,可以设定如第七方程(7)所示的优化目标-Z函数,以求解最优的推力U。
Xref是一个常数向量,表示图4中虚线所示的静止高度。x表示整个过程中的质心最低高度。
其中,Z函数的第1项可以作为所述足式机器人的质心波动量的一种表现形式,为足式机器人应满足动力学方程加权后的值(权重系数为L)。例如,在图4中,第1项被示出为灰色区域的面积加权后的值。||AqpX0+BqpU-Xref||2越小,则说明在足式机器人下落的过程中,质心的波动越小,足式机器人越稳定。
Z函数的第2项可以作为所述足式机器人受到的冲击力总量的一种表现形式,为足式机器人所受平面反作用力之和随时间的积分加权后的值(权重系数为K)。||U||2越小,则说明在足式机器人下落的过程中,足式机器人受到的冲击力的总和越小。
Z函数的第3项||h-x||2 Q表示在整个下落过程当中足式机器人质心的最低点与静止高度之间的距离加权后的值(权重系数为Q)。||h-x||2越小,则说明在足式机器人下落的过程中,足式机器人下蹲的程度越低(也即足式机器人不需蹲的太低也能保持平衡)。Z函数的第3项||h-x||2 Q可以作为所述足式机器人的下蹲量的一种表现形式。
Z函数的第4项表示相邻时间步之间平面向足式机器人提供的反作用力的差值加权后的值(权重系数为W)。||uk+1-uk||2越小,则说明在足式机器人下落的过程中,足式机器人受到冲击力的突变越小。Z函数的第4项可以作为所述足式机器人受到的冲击力突变量的一种表现形式。
以上仅是Z函数的一种组合方式,Z函数的上述各项也仅是所述足式机器人的质心波动量、所述足式机器人受到的冲击力总量、所述足式机器人的下蹲量、所述足式机器人受到的冲击力突变量的一种示例表示形式,本申请实施例并不为限。
在一些实施例中,通过上述的各个权重系数来调节各项对应的重要性。例如,当K越大,则说明在足式机器人的控制方案中更看重机器人受到的冲击力。值得注意的是,本申请实施例中加权方案包括多种。例如,加权方案可以是乘法加权方案,则Z函数的第1项就可以被进一步表示为(AqpX0+BqpU-Xref)TL(AqpX0+BqpU-Xref)。加权方案还可以是幂加权方案或加法方案,本申请实施例并不以此为限。以此类推,Z函数的其余各项也可以以不同的加权方案进行计算。
在求解Z函数的过程中,还需要考虑以下各项约束条件。
例如,第一约束条件为u0≤uU。其中,u0表示足式机器人接触平面的第一个瞬间所受到的冲击力的大小,其将小于足式机器人能够承受的最大冲击力uU。足式机器人能 够承受的最大冲击力uU取决于足式机器人的结构特性和刚体的强度,其示例取值为200N。本申请实施例不受该示例取值的限制。
例如,第二约束条件为FL≤u≤FU。FL表示平面能够提供的支持力的下限,FU表示平面能够提供的支持力的上限。FL通常为0,因为支撑力不能小于0。
例如,第三约束条件为第三约束条件指示足式机器人的质心的每个时刻的z方向高度一直大于最低高度x。其中,x为由最低高度序列值所组成的列向量。
此外,根据足式机器人的构型不同,还可以包括更多或更少的约束条件,本申请实施例并不以此为限。
将第七方程(7)进行数学等价变换,可以得到第八方程(8)。
将第八方程(8)进行数学等价变换,可以得到第九方程(9)。
将第九方程(9)进行数学等价变换,可以得到第十方程(10)。
将第十方程(10)进行数学等价变换,可以得到第十一方程(11)。
其中,W满足第十二方程(12)。
其中,中不含变量U,其不会对Z函数的最小值产生影响,因此,可以不计算
也即,的最终可以以第十三方程(13)进行表示。
其中,
响应于求解出使得Z最小的U和x,即可进一步求解得到图4中的最优的第一期望 轨迹,也即由质心在各个时间步对应的z方向上的数值序列。在本申请的另一些实施例中,还可以使用足式机器人的全模型来规划足式机器人的第一期望轨迹。这样的实施例规划的第一期望轨迹的精度较高,但往往需要较高的算力才能实现实时规划。
在本申请的上述实施例中,基于近似模型(或全模型)对足式机器人落地后的质心运动轨迹进行了规划,从而,保证了足式机器人在落地过程中,各个关节仅受到较小的冲击力,机身回弹较小,倾斜角变化较小,在保证落地功能的同时对足式机器人形成了良好的抗冲击保护效果。
接下来,参考图5和图6进一步描述如何确定足式机器人的第二期望轨迹的实施例。图5是示出根据本申请实施例的足式机器人落地过程中的机械腿与平面接触的示意图。图6是示出根据本申请实施例提供的一种三次样条差值的计算原理示意图。
由于执行空翻任务的足式机器人往往在下落至各条机械腿均与平面接触的瞬时时刻存在一定的倾倒趋势,因此,需要控制所述足式机器人的各条机械腿均与平面接触后各个关节的动作,以使得所述足式机器人的各条机械腿沿所述足式机器人的倾倒趋势进行移动,并且各条机械腿从压缩状态逐渐回弹,直至足式机器人的质心达到预期的静止高度并且所述足式机器人的倾斜角方向的转动角为零。其中,倾倒趋势可以为向前倾倒趋势、向后倾倒趋势、向左倾倒趋势、向右倾倒趋势中的至少之一。
基于此,在一些实施例中,所述确定足式机器人的第二期望轨迹还包括:在各条机械腿均与平面接触的瞬时时刻,确定各条机械腿的足端在初始时刻的足端位置坐标,将所述初始时刻的足端位置坐标确定为足端初始位置;基于各条机械腿与平面接触时的倾倒趋势方向以及所述足端初始位置,确定所述各条机械腿的足端在稳定时刻的足端位置坐标,将所述稳定时刻的足端位置坐标确定为足端终末位置,其中,在所述稳定时刻,所述足式机器人的基座的高度不变且所述足式机器人的倾斜角方向的转动角为零;基于所述足端初始位置和所述足端终末位置,使用三次样条差值确定所述各条机械腿的足端的运动轨迹作为第二期望轨迹。
针对步骤“在各条机械腿均与平面接触的瞬时时刻,确定各条机械腿的足端在初始时刻的足端位置坐标,将所述初始时刻的足端位置坐标确定为足端初始位置”,在一些实施例中,计算机设备可将当前时刻采集到的足式机器人的传感信息输入至腿部里程计中,以使腿部里程计根据传感信息对足式机器人的各条机械腿在当前时刻的位置进行计算,得到位置信息。
其中,足端位置坐标的位置信息至少包括:其他三条机械腿在世界坐标系下的各个方向位置向量。不同的方向位置向量对应不同的坐标轴方向;一个方向位置向量用于指示足式机器人的各条机械腿在相应坐标轴方向上的位置。
其中,腿部里程计计算与水平轴方向对应的方向位置向量的方式包括:首先,基于当前姿态信息计算旋转矩阵,旋转矩阵是指通过改变任一向量的方向,从而实现将该任一向量映射到机器人基坐标系中的矩阵;可根据当前姿态信息确定足式机器人的基座姿态角,根据该基座姿态角计算出旋转矩阵。以及,还可根据各个关节的关节角信息计算出参考位置向量,该参考位置向量用于指示:足式机器人的基座质心和各条机械腿的足端之间的相对位置。接着,可采用旋转矩阵将参考位置向量映射到机器人基坐标系中,得到目标位置向量;在一些实施例中,将旋转矩阵乘以参考位置向量,得到目标位置向量。
另外,可获取足式机器人的质心在世界坐标系下的三维位置向量。然后,可对目标位置向量在水平轴方向上的分量,以及三维位置向量在水平轴方向上的分量进行融合处理,得到水平轴方向对应的方向位置向量;此处的融合处理可包括求和处理。
针对步骤“基于各条机械腿与平面接触时的倾倒趋势以及所述足端初始位置,确定 所述各条机械腿的足端在稳定时刻的足端位置坐标,将所述稳定时刻的足端位置坐标确定为足端终末位置,其中,在所述稳定时刻,所述足式机器人的基座高度不变且所述足式机器人的倾斜角方向的转动角为零”,在一些实施例中,在稳定时刻,各条机械腿的长度相同。若不考虑机器人腿部与身体之间的连接点与机器人质心的高度差,则4个腿长均等于机器人的身高。
在一些实施例中,针对步骤“基于各条机械腿与平面接触时的倾倒趋势以及所述足端初始位置,确定所述各条机械腿的足端在稳定时刻的足端位置坐标”在实现时,首先获取所述各条机械腿与平面接触时的倾倒趋势对应的偏移信息,基于所述各条机械腿与平面接触时的倾倒趋势对应的偏移信息和所述各条机械腿的足端初始位置,确定所述各条机械腿的足端在稳定时刻的足端位置坐标。
在一些实施例中,针对步骤“基于所述各条机械腿与平面接触时的倾倒趋势对应的偏移信息和所述各条机械腿的足端初始位置,确定所述各条机械腿的足端在稳定时刻的足端位置坐标”,首先确定所述各条机械腿的足端初始位置在第一方向对应的第一位置分量、第二方向对应的第二位置分量、第三方向对应的第三位置分量,所述第一方向为所述倾倒趋势对应的方向,所述第二方向和所述第三方向为世界坐标系中除所述第一方向之外的其他两个方向;将所述偏移信息叠加至所述各条机械腿的足端初始位置在所述倾倒趋势各自对应的第一位置分量,得到所述各条机械腿在所述第一方向对应的偏移后第一位置分量;将所述第一方向对应的偏移后的第一位置分量、所述第二方向对应的第二位置分量、所述第三方向对应的第三位置分量,确定为所述各条机械腿的足端在稳定时刻的足端位置坐标。
如图5的左图所示,足式机器人的四条机械腿在与平面接触时,往往存在一定的倾倒趋势。假设在各条机械腿均与平面接触的瞬时时刻(如图5所示的初始时刻,也即最后一条机械腿与平面接触的瞬时时刻),确定该足式机器人存在向前倾倒的趋势(或在该瞬时时刻前向速度大于预设的速度阈值、或倾斜角方向的角速度大于预设的角速度阈值),则可以通过向前倾倒趋势对应的偏移信息,将期望轨迹中前腿的足端终末位置设定为前腿与平面的接触位置的前方一定位置处。例如,假设足式机器人的前腿的足端位置坐标在最后一条机械腿与平面接触的时刻在世界坐标系的x轴方向上的分量为5cm。根据足式机器人的尺寸,在存在向前倾倒的趋势的情况下,对应于所述稳定时刻,所述足式机器人的前腿的足端位置坐标的期望值在世界坐标系的x轴方向上的分量可以是8cm至20cm。具体数值与足式机器人的尺寸和工程经验相关,在此不做限制。此外,可以根据足式机器人在稳定时刻的身高和姿态,基于前腿在稳定时刻的足端位置坐标,确定后腿在稳定时刻的足端位置坐标。本申请实施例并不以此为限。
假设在各条机械腿均与平面接触的瞬时时刻,确定该足式机器人存在向后倾倒的趋势(或在该瞬时时刻后向速度大于速度阈值、或倾斜角方向的角速度大于角速度阈值),则可以将期望轨迹中前腿的足端终末位置设定为前腿与平面的接触位置的后方一定位置处。例如,假设足式机器人的前腿的足端位置坐标在最后一条机械腿与平面接触的时刻在世界坐标系的x轴方向上的分量为20cm。根据足式机器人的尺寸,在存在向后倾倒的趋势的情况下,对应于所述稳定时刻,所述足式机器人的前腿的足端位置坐标的期望值在世界坐标系的x轴方向上的分量可以是2cm至5cm。具体数值与足式机器人的尺寸和工程经验相关,在此不做限制。此外,可以根据足式机器人在稳定时刻的身高和姿态,基于前腿在稳定时刻的足端位置坐标,确定后腿在稳定时刻的足端位置坐标。本申请实施例并不以此为限。
假设在各条机械腿均与平面接触的瞬时时刻,确定该足式机器人存在向左倾倒的趋势(或在该瞬时时刻左向速度大于速度阈值、或翻滚角(roll)方向的角速度大于角速 度阈值),则可以将期望轨迹中前腿的足端终末位置设定为前腿与平面的接触位置的左方一定位置处。例如,假设足式机器人的前腿的足端位置坐标在初始时刻在世界坐标系的y轴方向上的分量5cm(z轴方向竖直向上,x轴方向水平向右,y轴方向垂直x轴与z轴构成的平面并符合右手定则)。根据足式机器人的尺寸,在存在向左倾倒的趋势的情况下,对应于所述稳定时刻,所述足式机器人的前腿的足端位置坐标的期望值在世界坐标系的y轴方向上的分量可以是8cm至20cm。具体数值与足式机器人的尺寸和工程经验相关,在此不做限制。此外,可以根据足式机器人在稳定时刻的身高和姿态,基于前腿在稳定时刻的足端位置坐标,确定后腿在稳定时刻的足端位置坐标。本申请实施例并不以此为限。
假设在各条机械腿均与平面接触的瞬时时刻,确定该足式机器人存在向右倾倒的趋势(或在该瞬时时刻右向速度大于速度阈值、或翻滚角(roll)方向的角速度大于角速度阈值),则可以将期望轨迹的前腿的足端终末位置设定为前腿与平面的接触位置的右方一定位置处。例如,假设足式机器人的前腿的足端位置坐标在最后一条机械腿与平面接触的时刻在世界坐标系的y轴方向上的分量20cm(z轴方向竖直向上,x轴方向水平向右,y轴方向垂直x轴与z轴构成的平面并符合右手定则)。根据足式机器人的尺寸,在存在向右倾倒的趋势的情况下,对应于所述稳定时刻,所述足式机器人的前腿的足端位置坐标的期望值在世界坐标系的y轴方向上的分量可以是2cm至5cm。具体数值与足式机器人的尺寸和工程经验相关,在此不做限制。此外,可以根据足式机器人在稳定时刻的身高和姿态,基于前腿在稳定时刻的足端位置坐标,确定后腿在稳定时刻的足端位置坐标。本申请实施例并不以此为限。
虽然上述的各种场景均以世界坐标系为例进行的说明,但是本申请的各项实施例也可以以基于本体坐标系来进行计算。本申请实施例并不以此为限。
针对步骤“基于所述足端初始位置和所述足端终末位置,使用三次样条差值确定所述各条机械腿远离所述基座的一端的运动轨迹作为第二期望轨迹”,在一些实施例中,从图5的左图演变至图5的右图的过程中,各条机械腿的足端位置的x和y方向数值序列使用初始时刻和结束时刻的位置的三次样条差值(Cubic Spline Interpolation)实现。同理,足式机器人的质心的x和y方向数值序列使用初始时刻和结束时刻的位置的三次样条差值实现。
如图6所示,本申请实施例提供的三次样条差值就是把已知数据分割成若干段,每段构造一个三次函数,并且保证曲线通过特定点,并保证在某些特定点满足一定的速度约束条件。示例性的,设已知数据包括(pa,va,ta)、(pb,vb,tb)以及(pc,vc,tc)等三个数据,p表示位置,v表示速度,t表示时间,且将已知数据分割成两段为例,三次样条差值的计算原理可参见图6所示:可先构造得到f1(t)和f2(t)两个三次函数,然后可基于这两个三次函数和已知数据建立等式方程组,从而通过该等式方程组求解出三次多项式系数(a0,a1,a2,a3,b0,b1,b2,b3);在求解出三次多项式系数后,后续便可利用这两个三次函数确定足式机器人在任一时刻所处的位置以及相应的速度,从而实现足式机器人的控制。
在一些实施例中,基于第一期望轨迹可以对应地求解各条机械腿的z方向数值序列。在所述足式机器人的四条机械腿均与平面接触后,其余机械腿的长度随着所述足式机器人的质心的高度变化而变化。因此,各条机械腿的z方向数值序列可以被描述为:足式机器人的质心在z方向达到第一期望轨迹指示的位置时,各条机械腿的足端正好可以接触平面的高度。此外,也可以使用三次样条差值求解另外三条机械腿的z方向数值序列,本申请实施例并不以此为限。
接下来,参考图7A和图7B进一步描述如何基于所述足式机器人的质心对应的动 力学模型以及所述第一期望轨迹和第二期望轨迹来控制所述足式机器人与平面接触后各个关节的动作的实施例。其中,图7A至图7B示出了根据本申请实施例的足式机器人在执行空翻后落地的动作,其中图7B中所示的动作是图7A中所示的动作的接续。
基于本申请实施例提供的足式机器人的动力学方程及上述的第一期望轨迹对所述足式机器人进行控制的方案又称为模型预测控制(Model Predictive Control,MPC)。而根据动力学方程进一步结合第二期望轨迹对各个关节的控制方案又称全身动力学(Whole-Body Dynamics Control,WBC)。
在本申请实施例中,将MPC和WBC相结合实现了执行空翻任务的足式机器人在落地过程中的缓冲控制,其可以被简单描述为:通过计算未来控制变量的轨迹(也即第一期望轨迹和第二期望轨迹),来优化控制器的输出(也即各个关节电机的力矩)。优化过程在一个有限的时间窗口进行,并且利用时间窗口的初始系统信息进行优化。其中,时间窗口的起始时刻为足式机器人的机械腿与平面接触的瞬间,终止时刻为足式机器人稳定站立的时刻。
作为一个示例,足式机器人的动力学方程可以以第十四方程(14)进行表示。
通过求解第十五方程(15)所示的足式机器人的质点动力学方程,能够得到地面接触力f。
其中,Mp表示基座对应的质量和惯量矩阵。表示六维的质心位置和姿态向量,其是第一期望轨迹对应的序列。可选地,此时,质心位置仅考虑重力方向(z方向)的位置和足式机器人的倾斜角(pitch)方向的转动角度,而x方向、y方向均为零,横滚角(roll)方向的转动角度值和偏航角(yaw)方向的转动角度均为零。f为平面向4个足端提供的接触力,平面向每个足端提供的接触力均为3维的力,因此,f总维数为12。Cp表示基座的重力项、离心力项和科里奥利力项。表示基座的雅克比矩阵的转置。基于此,可以应用MPC求解出平面向足式机器人提供的接触力f。也即,基于所述足式机器人对应的动力学模型,能够确定在各个时间步所述平面与所述足式机器人的各条机械腿之间的接触力,以使得所述足式机器人的质心在重力方向上移动的实际轨迹以及所述足式机器人的倾斜角变化的实际轨迹均符合所述第一期望轨迹。
第十四方程(14)的下半部分(如以下的第十六方程(16)所示)即足式机器人的关节动力学方程。
其中,Mθ表示每个关节对应的质量和惯量矩阵,θ表示所有可驱动的自由度的角度(在图1或图5所示的四足机器人中,其包括12个关节电机对应的自由度)。Cθ表示可驱动关节的重力项、离心力项和科里奥利力项。表示可驱动关节的雅克比矩阵的转置。为足式机器人的12个可以主动驱动的关节角加速度。τ为12个关节的输入力矩。根据第十五方程(15)求出的接触力f,机器人动力学模型的其他参数均已知,可以应用第十六方程(16)求出机器人各个关节力矩τ。
在一些实施例中,第十六方程(16)还可以被转换成第十七方程(17)的形式。
其中,可以由第十八方程(18)求解。
其中,xd由第二期望轨迹确定(其分别指示各条机械腿的足端期望位置和各条机械腿的足端期望速度),x和则是各条机械腿的足端实际位置和各条机械腿的足端实际速度。而kp是比例控制反馈系数、kd是微分控制反馈系数。
也即,基于所述足式机器人对应的动力学模型以及所述足式机器人的各条机械腿在各个时间步与所述平面之间的接触力,确定各个关节电机在各个时间步提供的电机力矩,以使得所述各条机械腿远离所述基座的一端的轨迹符合所述第二期望轨迹。
在一些实施例中,还可以针对每条机械腿的压缩和回弹状态分别设定上述的比例控制反馈系数。在获取到足式机器人的当前状态信息后,根据每条机械腿的当前状态信息中的当前的关节角角度情况和机械腿正常站立的姿态下的关节角度的对比以及关节角度变化的趋势,确定每条机械腿的机械腿状态,该机械腿状态可以是压缩状态或者回弹状态。然后按照第十九方程(19)获取机械腿状态对应的比例控制反馈系数和微分控制反馈系数。例如,假设针对某条机械腿,令其落地的初始时刻为t0,之后该机械腿开始进入被压缩的状态,直到时间t1,该机械腿被压缩到最低点开始回弹,到该机械腿回弹到正常站立的高度时间为t2。在t0、t1、t2三个时刻,分别设置比例控制反馈系数kp0,kp1,kp2。采用基于这三个时刻的比例控制反馈系数的三次样条差值或四次样条差值(g1或g2),可以进一步获得其余中间时刻(时间步)的比例控制反馈系数kp。也即,可以使用第十九方程(19)来获得其余中间时刻(时间步)的比例控制反馈系数kp
同理,类似地,可以求解微分控制反馈系数。示例性,可以令t0=0,t1约等于0.1s,t2约等于0.2s。kp0=500、kp1=400、kp3=250。kd0=kd1=kd2=2。本申请实施例不受以上具体数值的取值限制。
考虑到空翻任务的复杂性,在一些实施例中,还可以将执行空翻任务的足式机器人在落地过程中的缓冲控制分为以下三个阶段。
在第一阶段,在第一期望轨迹对应的总时间步内,按照第一期望轨迹,确定控制器需要追踪(tracking)的目标序列,并按照实际观测情况调节控制器的相关权重数值。此时,第一期望轨迹对应的总时间步对应的总时长可以是0.5s。该总时长可以取决于机器人的参数和工程经验,本申请实施例不受以上具体数值的取值限制。
在第二阶段,在第一期望轨迹对应的总时间步之后,可以根据工程经验设定预设时长,并将第一阶段结束时刻足式机器人实际的状态值与第一期望轨迹的终末值进行比较,以确定第二阶段的质心位置和姿态的参考轨迹。在一些实施例中,可以对第一阶段结束时刻足式机器人实际的状态值与和第一期望轨迹的终末值做线性或三次样条差值,以得到上述的质心位置和姿态的参考轨迹。基于该参考轨迹,计算机设备可以进一步计算出各关节的前馈力矩,完成足式机器人在第二阶段的控制。本阶段由于开始时刻机器人状态的差异,可能在z方向、x方向或pitch方向上仍有较大的速度,需要适应性的调整控制器的相关权重数值。该部分的权重数值可能与第一阶段的控制器的权重数值存在较大差异。
在第三阶段,经过了前两个阶段的控制,进入该阶段时,足式机器人的姿态基本符合足式机器人在某个位置处稳定站立的需求。质心位置和姿态的速度数值相对较小。此时,可以更改控制策略,以使得足式机器人保持稳定的站立姿态,其中可以包括比例控制反馈系数和微分控制反馈系数的差值策略。在一些实施例中,在第一阶段和第二阶段 使用的是关节力控制模式(也即主要通过给关节电机下发前馈力矩来实现机器人的关节电机控制),而第三阶段使用的是关节位置控制模式(也即主要通过给关节电机发送期望位置信息实现机器人关节角度的控制)。关节位置控制模式更为稳定,但是动态性能较弱。关节力控制模式的动态性能较强,但是稳定性较弱。
如图7A至图7B所示,在真机测试中,当机器人从高度0.5米的位置开始前空翻时,空翻过程中的质心的最大高度距地面在1米左右。在接触地面瞬间,机械腿长收缩,同时基座和平面之间的距离逐渐缩减,机械腿给予足式机器人质心一个反作用力,在该反作用力作用下,足式机器人的本体姿态实现减速,并且前腿的推力大于后腿的推力,这个过程使得足式机器人的倾斜角方向有减速效果,使足式机器人的倾斜角尽可能的符合期望的姿态角轨迹。但在机器人本体高度回弹的过程中,不会让机器人的足端高度从平面反弹起来,整个质心高度变化过程中超调较小。在控制的完结时刻,机器人可以以一个预设姿态站立在地上,该姿态及质心的高度回弹过程整体符合预期。
本申请实施例,对落体运动下的足式机器人建立了动力学模型,并基于该动力学模型,对足式机器人落地后的质心运动轨迹和足端位置轨迹进行了规划,并基于规划的质心运动轨迹和足端位置轨迹,确定各个电机的控制力矩,对足式机器人进行控制。从而在足式机器人在落地过程中,能够降低各个关节受到的冲击力,减少机身回弹幅度以及倾斜角变化幅度,在保证落地功能的同时,对足式机器人形成了良好的抗冲击保护效果。
接下来,参考图8,进一步描述在控制所述足式机器人的各个关节动作的过程中,如何获取足式机器人的当前状态以使得控制更为准确。其中,图8示出了根据本申请实施例的足式机器人的控制系统架构。
虽然已经参考图7A至图7B描述了如何根据动力学模型、第一期望轨迹和第二期望轨迹来控制足式机器人的各个关节的动作,然而在实际的控制过程中,由于硬件的限制,往往无法精准地实现在每个时间步都能准确地输出对应的关节力矩。因此,还需要实时估计足式机器人的当前状态,以对控制信息进行微调。也即,步骤S202还包括:基于所述足式机器人对应的动力学模型以及所述足式机器人的各条机械腿在各个时间步与所述平面之间的接触力,确定各个关节电机在各个时间步提供的电机力矩;基于足式机器人的当前状态信息,调整各个关节电机在各个时间步提供的电机力矩。
首先,在足式机器人的空翻后落地的过程中,从各条机械腿均与平面接触的瞬时时刻开始至足式机器人稳定,可以根据当前时刻采集到的足式机器人的传感信息,计算足式机器人的各条机械腿在所述当前时刻的位置,得到位置计算结果。
其中,传感器信息是指由足式机器人中的传感器所采集到的信息。由前述可知,足式机器人中的传感器可包括IMU传感器以及关节角编码器等,IMU传感器可用于实时采集足式机器人的姿态信息和加速度,关节角编码器可实时提供足式机器人的每条机械腿上的各个关节的关节角信息(如关节角度、角速度反馈值等);基于此,传感信息可包括:通过IMU传感器采集到的足式机器人的当前姿态信息,以及通过关节角编码器采集到的足式机器人的各个关节的关节角信息。
在一些实施例中,计算机设备可将当前时刻采集到的足式机器人的传感信息输入至腿部里程计中,以使腿部里程计根据传感信息对足式机器人的各条机械腿在当前时刻的位置进行计算,得到位置计算结果。其中,位置计算结果可至少包括:世界坐标系下的至少两个方向位置向量,不同的方向位置向量对应不同的坐标轴方向;一个方向位置向量用于指示:足式机器人的各条机械腿在相应坐标轴方向上的位置。当足式机器人被近似在一个二维平面(x轴(水平轴)和z轴(竖直轴)所构成的平面)内运动时,该至少两个方向位置向量可包括:与水平轴方向对应的方向位置向量(采用psx表示),以及与竖直轴方向对应的方向位置向量(采用psz表示)。可选的,考虑到足式机器人实际 是在三维空间中运动的,因此至少两个方向位置向量还可包括:与垂直轴(y轴)方向对应的方向位置向量(采用psy表示),对此不作限定。可理解的是:psx用于指示各条机械腿在x轴方向上的位置,psz用于指示各条机械腿在z轴方向上的位置,psy用于指示各条机械腿在y轴方向上的位置;且当足式机器人是四足机器人时,一条机械腿对应一个维度,则psx、psz以及psy的维度均为4维。
其中,腿部里程计计算与水平轴方向对应的方向位置向量的方式包括:首先,可基于当前姿态信息计算旋转矩阵(可采用R表示),所谓的旋转矩阵是指通过改变任一向量的方向,从而实现将该任一向量映射到机器人基坐标系中的矩阵;具体可根据当前姿态信息确定足式机器人的基座姿态角,根据该基座姿态角计算出旋转矩阵。以及,还可根据各个关节的关节角信息计算出参考位置向量(可采用prel表示),该参考位置向量用于指示:足式机器人的基座质心和各条机械腿的足端之间的相对位置。接着,可采用旋转矩阵将参考位置向量映射到机器人基坐标系中,得到目标位置向量;在一些实施例中,可采用旋转矩阵乘以参考位置向量,得到目标位置向量,采用pf表示目标位置向量,则pf=Rprel。另外,可获取足式机器人的基座质心在世界坐标系下的三维位置向量(采用p0表示)。然后,可对目标位置向量在水平轴方向上的分量(采用pf(x)表示),以及三维位置向量在水平轴方向上的分量(采用p0(x)表示)进行融合处理,得到水平轴方向对应的方向位置向量(采用psx表示);此处的融合处理可包括求和处理,即psx=p0(x)+pf(x)。
需要说明的是,腿部里程计计算与其他坐标轴(如竖直轴、垂直轴)方向对应的方向位置向量的方式,与计算与水平轴方向对应的方向位置向量的方式类似,在此不再赘述。并且,位置计算结果除了包括世界坐标系下的至少两个方向位置向量以外,还可包括机器人本体坐标系下的足端位置向量,以及机器人基坐标系下的足端速度向量等其他向量。其中,足端位置向量用于指示:足式机器人的各条机械腿的足端在机器人基坐标系下的三维位置;腿部里程计计算足端位置向量的方式可包括:对目标位置向量进行求反处理,得到足端位置向量。足端速度向量用于指示:足式机器人的各条机械腿的足端在机器人基坐标系下的三维速度;腿部里程计计算足端速度向量的方式可包括:对目标位置向量进行求导处理,并对求导结果进行求逆处理,得到足端速度向量。应理解的是,当足式机器人是四足机器人时,足端位置向量和足端速度向量的维度均为12维。
基于上述描述,当位置计算结果同时包括机器人基坐标系下的足端位置向量(采用ps表示)、机器人基坐标系下的足端速度向量(采用vs表示)、与水平轴方向对应的方向位置向量(采用psx表示),以及与竖直轴方向对应的方向位置向量(采用psz表示)时,腿部里程计计算得到位置计算结果(y)的方式可参见第二十方程(20)所示。
在第二十方程(20)中,左下角标B代表机器人基坐标系下的定义,左下角标W表示世界坐标系下的定义;并且,(z)和(x)分别表示前面的向量在z轴和x轴上的分量。基于上述描述可知,本申请实施例不仅可将ps、vs以及psz添加至位置计算结果中,还可在位置计算结果中添加psx和对应的项,这样有助于提升在x轴方向上的状态估计的精准度。
应理解的是,由于位置计算结果中的每个信息(如ps、vs、psx、psz等)均包括了足式机器人的每条机械腿所对应的子向量,例如:ps包括了每条机械腿对应的子足端位 置向量,任一子足端向量用于指示相应机械腿的足端在机器人基坐标系下的三维位置;vs包括了每条机械腿对应的子足端速度向量,任一子足端速度向量用于指示相应机械腿的足端在机器人基坐标系下的三维速度;psx包括了每条机械腿对应的x子方向位置向量,任一x子方向位置向量用于指示相应机械腿在x轴方向上的位置;psz包括了每条机械腿对应的z子方向位置向量,任一z子方向位置向量用于指示相应机械腿在z轴方向上的位置。那么,若从机械腿的维度对位置计算结果进行划分,则可认为位置计算结果包括各条机械腿的子位置计算结果,任一条机械腿的子位置计算结果可包括:位置计算结果中的每个信息中与任一条机械腿对应的子向量。
接着,根据历史得到的足式机器人在当前时刻的状态估计结果,观测足式机器人的各条机械腿在当前时刻的位置,得到位置观测结果。
应理解的是,从各条机械腿均与平面接触的瞬时时刻开始至足式机器人稳定,状态估计是一个迭代的过程;即每当一个时刻到达时,计算机设备便可获取相应信息对足式机器人在该时刻的下一时刻的状态进行估计,从而得到相应的状态估计结果。基于此,足式机器人在当前时刻的状态估计结果,便是由计算机设备在当前时刻的上一时刻到达时,对足式机器人在当前时刻的状态进行估计所得到的。并且,足式机器人在当前时刻的状态估计结果可作为状态空间观测器中的状态向量;在一些实施例中,采用表示第k-1时间步的状态向量,则状态向量的定义可参见下述第二十一方程(21)所示。
在第二十一方程(21)中,Wp0Wv0分别代表足式机器人的基座质心在世界坐标系下的三维位置向量和三维速度向量;Wp1Wp2Wp3以及Wp4分别表示足式机器人的四条机械腿的足端在世界坐标系下的位置向量。应理解的是,此处是以足式机器人为四足机器人为例,对状态向量进行示例性表示的,所以状态向量包含了p1,p2,p3以及p4这四个向量;若足式机器人为其它足数的机器人,则状态向量中位置向量的数量可作适应性调整。
在一些实施例中,计算机设备可获取足式机器人在当前时刻的加速度信息,并将该加速度信息和足式机器人在当前时刻的状态估计结果输入至状态空间观测器中,以使得状态空间观测器根据该加速度信息和足式机器人在当前时刻的状态估计结果,观测足式机器人的各条机械腿在当前时刻的位置,得到位置观测结果。在一些实施例中,状态空间观测器可先采用内部的数学表达式(如下述第二十二方程(22)所示),根据加速度信息和足式机器人在当前时刻(也即第k个时间步)的状态估计结果,对足式机器人在当前时刻的状态进行观测,得到状态观测结果(采用表示);然后,采用下述第二十三方程(23)所示,根据该状态观测结果观测足式机器人的各条机械腿在当前时刻的位置,得到位置观测结果(ym)。

在上述公式第二十二方程(22)和第二十三方程(23)中,g表示重力加速度,a表示加速度信息,A、B和C这三个矩阵的形式可以如第二十四方程(24)至第二十六方程(26)所示:


其中,dt表示一个控制周期的时间,I为单位矩阵,0表示零矩阵,I和0的下角标分别表示单位矩阵和零矩阵的维数。C1,C2对应于将状态观测结果(采用表示)中的对应状态(即对应维度下的向量)选择成为输出ym的选择矩阵。G1,G2用于将状态观测结果(采用表示)中的p1,p2,p3以及p4等向量在x轴方向和z轴方向上的分量选择出来以构成ym
接着,计算机设备将确定状态估计所需的参考信息。其中,参考信息可用于指示:在状态估计时,分别对位置计算结果和位置观测结果的信任程度。该参考信息可以是扩展卡尔曼滤波中的参数,也可以是卡尔曼滤波中的参数,还可以是状态估计模型中的参数等,对此不作限定;为便于阐述,后续主要以参考信息是扩展卡尔曼滤波中的参数为例进行说明。在一些实施例中,该参考信息可包括第一参数和第二参数;第一参数指示对位置计算结果的信任程度,第二参数指示对位置观测结果的信任程度。由前述可知,位置计算结果可包括各条机械腿的子位置计算结果;那么相应的,第一参数可至少包括多个目标向量,且不同目标向量对应不同机械腿,任一目标向量用于指示对相应机械腿的子位置计算结果的信任程度。与位置计算结果类似,位置观测结果可包括各条机械腿的子位置观测结果;那么第二参数也可至少包括多个参考向量,且不同参考向量对应不同机械腿,任一参考向量用于指示对相应机械腿的子位置观测结果的信任程度。
经实践证明:对于腿部里程计所输出的位置计算结果中的ps和vs而言,在足式机器人的腿部不离开平面(如不离地)的时候,计算得到的ps和vs的准确性较高。因此,应合理选择扩展卡尔曼滤波的参数矩阵以实现:在足式机器人的腿部不离开平面时,增加对ps和vs的信任程度,即增加对位置计算结果的信任程度。
接着,根据参考信息、位置计算结果以及位置观测结果,对足式机器人在当前时刻的下一时刻的状态进行估计,得到足式机器人在下一时刻的状态估计结果。
在一些实施例中,若参考信息为扩展卡尔曼滤波中的参数,则计算机设备在可根据参考信息、位置计算结果以及位置观测结果,进行扩展卡尔曼滤波处理,得到足式机器人在下一时刻的状态估计结果。其中,扩展卡尔曼滤波处理的过程可包括如下的第二十七方程(27)至第三十二方程(32):
ye=y-ym            (27);
Pm=APAT+Q            (28);
S=CPmCT+R            (29);
Kk=PmCTS-1           (30);

在上述第二十七方程(27)至第三十二方程(32)中,ye表示位置计算结果y和位置观测结果ym之间的差值,A和C可参见前述第二十二方程至第二十三方程的相关描述,AT和CT分别表示A的转置矩阵和C的转置矩阵。Q和R是扩展卡尔曼滤波中的参数矩阵,分别对应对不同信息源的信任程度;其中,Q代表前述提及的参考信息中的第二参数,R代表前述提及的参考信息中的第一参数,即R指示对位置计算结果y的信任程度,Q指示对位置观测结果ym的信任程度。P是一个预置的矩阵参数,Pm、S、Kk以及均表示扩展卡尔曼滤波过程中所得到的中间参数,S-1表示S的逆矩阵,表示足式机器人在下一时刻的状态估计结果。并且,在得到足式机器人在下一时刻的状态估计结果后,还可对P进行更新以便于下次进行扩展卡尔曼滤波处理;P的更新公式可参见下述第三十三方程(33)至第三十四方程(34)所示:

在上述第三十三方程(33)至第三十四方程(34)中,表示对P进行更新的过程中所得到的中间参数,表示的转置矩阵。
需要说明的是,上述只是示例性地对阐述了一种具体实施方式,并非穷举。例如,若参考信息为卡尔曼滤波中的参数,则计算机设备可根据参考信息、位置计算结果以及位置观测结果,进行卡尔曼滤波处理,得到足式机器人在下一时刻的状态估计结果。又如,若参考信息是状态估计模型中的参数,则可调用状态估计模型根据参考信息、位置计算结果以及位置观测结果,对足式机器人在当前时刻的下一时刻的状态进行估计,得到足式机器人在下一时刻的状态估计结果等等。
最后,基于足式机器人在下一时刻的状态估计结果,控制器将结合上述的所述足式机器人对应的动力学模型以及所述在各个时间步所述平面与所述足式机器人的各条机械腿之间的接触力,确定各个关节电机在各个时间步提供的电机力矩,以实现关节力矩的调整。
本申请实施例从四条机械腿均落地的阶段开始执行状态估计,从而确保在落地后的状态估计可以在很短的时间内完成结果的收敛。在一些实施例中,一旦机器人检测到四条机械腿均与平面接触,状态估计器能在较短的时间内收敛,并依据关节角度和腿部里程计,计算得到准确的质心高度和姿态数值。真机实测结果表明收敛时间在0.004-0.01s 内,即2-5个控制周期内,其结果较好的应用于落地时刻质心高度和姿态的规划器。
本申请实施例提供一种控制足式机器人的装置,所述足式机器人包括基座和至少两条机械腿,所述每条机械腿包括至少一个关节,所述装置包括:规划计算设备,被配置为响应于确定所述足式机器人的各条机械腿均下落至与平面接触,确定所述足式机器人对应的第一期望轨迹和第二期望轨迹,其中,所述第一期望轨迹指示所述足式机器人的质心在重力方向上移动的期望轨迹以及所述足式机器人的倾斜角的变化的期望轨迹;所述第二期望轨迹指示各条机械腿的足端的期望轨迹,所述足端为远离所述基座的一端;控制电机,被配置为基于所述足式机器人的质心对应的动力学模型以及所述第一期望轨迹和第二期望轨迹,控制所述足式机器人与平面接触后各个关节的动作,直至所述足式机器人的基座的高度不变且所述足式机器人的倾斜角方向的转动角为零。
在一些实施例中,所述至少两条机械腿包括至少一条前腿和至少一条后腿,该规划计算设备还被配置为:响应于确定所述足式机器人的各条机械腿均下落至与平面接触,基于所述足式机器人对应的近似模型,确定所述足式机器人对应的第一期望轨迹,其中,在所述近似模型中,所述足式机器人被简化为单刚体,并且在所述足式机器人与平面接触的过程中,所述至少一条前腿向所述单刚体施加第一推力,所述至少一条后腿向所述单刚体施加第二推力,所述第一推力和所述第二推力的合力向所述单刚体施加向上推力,所述第一推力和所述第二推力形成的扭矩向所述单刚体提供质心角加速度;在所述各条机械腿均与平面接触的瞬时时刻,确定所述各条机械腿的足端在初始时刻的足端位置坐标,将所述初始时刻的足端位置坐标确定为足端初始位置;基于所述各条机械腿与平面接触时的倾倒趋势以及所述足端初始位置,确定所述各条机械腿的足端在稳定时刻的足端位置坐标,将所述稳定时刻的足端位置坐标确定为足端终末位置,其中,在所述稳定时刻,所述足式机器人的基座的高度不变且所述足式机器人的倾斜角方向的转动角为零;基于所述足端初始位置和所述足端终末位置,使用三次样条差值确定所述足式机器人对应的第二期望轨迹。
在一些实施例中,该规划计算设备还被配置为:获取所述足式机器人的质量;基于所述近似模型和足式机器人的质量,确定所述足式机器人对应的动力学方程;将所述动力学方程,转换为状态空间表示,并对所述状态空间表示进行离散化,得到每个时间步对应的状态转移方程;通过所述每个时间步对应的状态转移方程构建优化目标函数,并对所述优化目标函数进行求解,得到所述足式机器人对应的第一期望轨迹。
在一些实施例中,该规划计算设备还被配置为:获取所述各条机械腿与平面接触时的倾倒趋势对应的偏移信息;基于所述足端初始位置和偏移信息,确定所述各条机械腿的足端在稳定时刻的足端位置坐标。
在一些实施例中,该规划计算设备还被配置为:确定所述各条机械腿的足端初始位置在第一方向对应的第一位置分量、第二方向对应的第二位置分量、第三方向对应的第三位置分量,所述第一方向为所述倾倒趋势对应的方向,所述第二方向和所述第三方向为世界坐标系中除所述第一方向之外的其他两个方向;将所述偏移信息叠加至所述各条机械腿的足端初始位置在所述倾倒趋势各自对应的第一位置分量,得到所述各条机械腿在所述第一方向对应的偏移后第一位置分量;将所述第一方向对应的偏移后的第一位置分量、所述第二方向对应的第二位置分量、所述第三方向对应的第三位置分量,确定为所述各条机械腿的足端在稳定时刻的足端位置坐标。
在一些实施例中,所述足式机器人的质心在重力方向上基于所述第一期望轨迹移动时,以下各项的组合达到极小值:所述足式机器人的质心波动量、所述足式机器人受到的冲击力总量、所述足式机器人的下蹲量、所述足式机器人受到的冲击力突变量。
在一些实施例中,所述第一期望轨迹满足以下各项约束条件:
第一约束条件,指示所述足式机器人接触平面的第一个瞬间所受到的冲击力的大小小于足式机器人能够承最大冲受的击力;
第二约束条件,指示所述足式机器人受到的冲击力小于所述平面能够提供的支持力的上限,并大于所述平面能够提供的支持力的上限;
第三约束条件,指示所述足式机器人的质心的高度始终大于最低高度。
在一些实施例中,该控制电机还被配置为:在所述各条机械腿均与平面接触的瞬时时刻,获取所述足式机器人的倾倒趋势方向;控制所述足式机器人的各条机械腿沿所述足式机器人的倾倒趋势方向进行移动,控制所述各条机械腿从压缩状态逐渐回弹,直至足式机器人的质心达到预期的静止高度并且所述足式机器人的倾斜角方向的转动角为零。
在一些实施例中,所述第一期望轨迹指示:在所述足式机器人的各条机械腿与平面接触后,所述足式机器人的质心在重力方向上的高度逐渐降低然后逐渐上升,并且所述足式机器人的倾斜角的角度值逐渐增加后逐渐减少。
在一些实施例中,所述动力学模型指示所述单刚体的加速度与第一推力、第二推力和重力之间的关系,并且所述动力学模型还指示所述单刚体的角加速度与第一推力和第二推力之间的关系。
在一些实施例中,该控制电机还被配置为:基于所述足式机器人对应的动力学模型,确定所述足式机器人的各条机械腿在各个时间步与所述平面之间的接触力,控制所述足式机器人的质心在重力方向上移动的实际轨迹以及所述足式机器人的倾斜角变化的实际轨迹均符合所述第一期望轨迹;基于所述足式机器人对应的动力学模型以及所述足式机器人的各条机械腿在各个时间步与所述平面之间的接触力,确定各个关节电机在各个时间步输出的电机力矩,控制所述各条机械腿足端的轨迹符合所述第二期望轨迹。
在一些实施例中,该控制电机还被配置为:通过所述足式机器人对应的动力学模型,获取所述足式机器人的质点动力学方程;将所述第一期望轨迹对应的数据序列代入到所述质点动力学方程,应用模型预测控制,求解出所述足式机器人的各条机械腿在各个时间步与所述平面之间的接触力。
在一些实施例中,该控制电机还被配置为:通过所述足式机器人对应的动力学模型,获取所述足式机器人的关节动力学方程;从所述第二期望轨迹中获取所述足式机器人的各条机械腿在各个时间步的足端期望位置和足端期望速度,并获取所述足式机器人的各条机械腿在各个时间步的足端实际位置和足端实际速度;将所述足式机器人在各个时间步的足端期望位置减去对应的足端实际位置,得到所述足式机器人在所述各个时间步的足端位置差值;将所述足式机器人在所述各个时间步的足端期望速度减去对应的足端实际速度,得到所述足式机器人在所述各个时间步的足端速度差值;获取比例控制反馈系数和微分控制反馈系数;利用比例控制反馈系数、微分控制反馈系数、所述足端位置差值、所述足端速度差值和所述第一期望轨迹的数据序列,确定出所述各个关节的关节角加速度;将所述各个关节的关节角加速度和所述足式机器人的各条机械腿在各个时间步与所述平面之间的接触力,代入到所述质点动力学方程,求解出所述各个关节电机在各个时间步输出的电机力矩。
在一些实施例中,该控制电机还被配置为:获取所述足式机器人的当前状态信息;基于所述足式机器人的当前状态信息,确定所述足式机器人的各条机械腿的机械腿状态,所述机械腿状态为压缩状态或回弹状态;获取所述各条机械腿的机械腿状态对应的比例控制反馈系数和微分控制反馈系数。
在一些实施例中,规划计算设备,还被配置为:获取所述足式机器人的当前状态信息;基于所述足式机器人的当前状态信息,确定所述各条机械腿在当前时刻与平面之间 的接触信息;响应于基于所述各条机械腿在当前时刻与平面之间的接触信息确定所述各条机械腿在当前时刻与平面之间均为接触状态,确定所述足式机器人的各条机械腿均下落至与平面接触。
在一些实施例中,所述当前状态信息包括以下各项中的至少一项:
各条机械腿的关节电机力矩或电流值或电压值;
所述足式机器人的质心高度、质心姿态、各条机械腿对应的当前关节角信息;
各条机械腿对应的当前足底触觉反馈值;
所述足式机器人在重力方向上的当前加速度。
本申请实施例提出了一种足式机器人900。图9示出了根据本申请实施例的足式机器人900的示例性框图。
该足式机器人900可以包括:基座部910、连接至该基座部的下肢部920,并且所述下肢部920可以包括四条下肢,其中每条下肢可以包括髋关节两个自由度和膝关节1个自由度。
所述下肢部是指该足式机器人用于实现运动的足式部件,其例如包括机械腿及将机械腿与基座相连且用于实现对该机械腿的运动控制的电机。本申请的实施例不受该下肢部的具体组成类型及其下肢数量的限制。
所述基座部是指该足式机器人的主体部分,例如可以为该足式机器人的躯干部,本申请的实施例不受该基座部的具体形状及组成的限制。
在一些实施例中,该基座部例如包括2个脊柱关节,该下肢部例如可以包括8个下肢关节,本申请的实施例不受该基座部及该下肢部所包括的具体关节个数的限制,也不受该足式机器人所具有的具体关节构型的限制。
该足式机器人还可以包括控制器930,该控制器设置在该足式机器人上,且能够执行如前所述的运动控制方法,具有如前所述的功能。
所述控制器例如包括处理装置。处理装置可以包括微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列、状态机或用于处理从传感器线接收的电信号的其他处理器件。这种处理器件可以包括可编程电子设备,例如PLC,可编程中断控制器(PIC)、可编程逻辑器件(PLD)、可编程只读存储器(PROM)、电子可编程只读存储器等。
此外,该足式机器人还可以包括总线、存储器、传感器组件、通信模块和输入输出装置等。
总线可以是将该足式机器人的各部件互连并在各部件之中传递通信信息(例如,控制消息或数据)的电路。
传感器组件可以用于对物理世界进行感知,例如包括摄像头、红外传感器超声波传感器等。此外,传感器组件还可以包括用于测量足式机器人当前运行及运动状态的装置,例如霍尔传感器、激光位置传感器、或应变力传感器等。
通信模块例如可以通过有线或无效与网络连接,以便于与物理世界(例如,服务器)通信。通信模块可以是无线的并且可以包括无线接口,例如IEEE 802.11、蓝牙、无线局域网(WLAN)收发器、或用于接入蜂窝电话网络的无线电接口(例如,用于接入CDMA、GSM、UMTS或其他移动通信网络的收发器/天线)。在另一示例中,通信模块可以是有线的并且可以包括诸如以太网、USB或IEEE 1394之类的接口。
输入输出装置可以将例如从用户或任何其他外部设备输入的命令或数据传送到足式机器人的一个或多个其他部件,或者可以将从足式机器人的一个或多个其他部件接收的命令或数据输出到用户或其他外部设备。
多个足式机器人可以组成足式机器人系统以协同地完成一项任务,该多个足式机器 人通信地连接到服务器,并且从服务器接收协同足式机器人指令。
根据本申请实施例的一个方面,提供了一种控制足式机器人的设备,所述控制足式机器人的设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述方法。
本申请实施例提供一种计算机程序产品,包括计算机可执行指令或计算机程序,所述计算机可执行指令或计算机程序被处理器执行时实现本申请实施例提供的控制足式机器人的方法。
技术中的程序部分可以被认为是以可执行的代码和/或相关数据的形式而存在的“产品”或“制品”,通过计算机可读的介质所参与或实现的。有形的、永久的储存介质可以包括任何计算机、处理器、或类似设备或相关的模块所用到的内存或存储器。例如,各种半导体存储器、磁带驱动器、磁盘驱动器或者类似任何能够为软件提供存储功能的设备。
所有软件或其中的一部分有时可能会通过网络进行通信,如互联网或其他通信网络。此类通信可以将软件从一个计算机设备或处理器加载到另一个。因此,另一种能够传递软件元素的介质也可以被用作局部设备之间的物理连接,例如光波、电波、电磁波等,通过电缆、光缆或者空气等实现传播。用来载波的物理介质如电缆、无线连接或光缆等类似设备,也可以被认为是承载软件的介质。在这里的用法除非限制了有形的“储存”介质,其他表示计算机或机器“可读介质”的术语都表示在处理器执行任何指令的过程中参与的介质。
本申请使用了特定词语来描述本申请的实施例。如“第一/第二实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
除非另有定义,这里使用的所有术语(包括技术和科学术语)具有与本发明所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
上面是对本发明的说明,而不应被认为是对其的限制。尽管描述了本发明的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本发明的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本发明范围内。应当理解,上面是对本发明的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要 求书的范围内。本发明由权利要求书及其等效物限定。

Claims (21)

  1. 一种控制足式机器人的方法,所述足式机器人包括基座和至少两条机械腿,每条机械腿包括至少一个关节,所述方法包括:
    响应于确定所述足式机器人的各条机械腿均下落至与平面接触,确定所述足式机器人对应的第一期望轨迹和第二期望轨迹,其中,
    所述第一期望轨迹指示所述足式机器人的质心在重力方向上移动的期望轨迹以及所述足式机器人的倾斜角变化的期望轨迹;
    所述第二期望轨迹指示所述各条机械腿的足端的期望轨迹,所述足端为远离所述基座的一端;
    基于所述足式机器人对应的动力学模型以及所述第一期望轨迹和第二期望轨迹,控制所述足式机器人与平面接触后各个关节的动作,直至所述足式机器人的基座的高度不变且所述足式机器人的倾斜角方向的转动角为零。
  2. 如权利要求1所述的方法,其中,所述至少两条机械腿包括至少一条前腿和至少一条后腿,所述响应于确定所述足式机器人的各条机械腿均下落至与平面接触,确定所述足式机器人对应的第一期望轨迹和第二期望轨迹,包括:
    响应于确定所述足式机器人的各条机械腿均下落至与平面接触,基于所述足式机器人对应的近似模型,确定所述足式机器人对应的第一期望轨迹,其中,在所述近似模型中,所述足式机器人作为单刚体,并且在所述足式机器人与平面接触的过程中,所述至少一条前腿向所述单刚体施加第一推力,所述至少一条后腿向所述单刚体施加第二推力,所述第一推力和所述第二推力的合力向所述单刚体施加向上推力,所述第一推力和所述第二推力形成的扭矩向所述单刚体提供质心角加速度;
    在所述各条机械腿均与平面接触的瞬时时刻,确定所述各条机械腿的足端在初始时刻的足端位置坐标,将所述初始时刻的足端位置坐标确定为足端初始位置;
    基于所述各条机械腿与平面接触时的倾倒趋势以及所述足端初始位置,确定所述各条机械腿的足端在稳定时刻的足端位置坐标,将所述稳定时刻的足端位置坐标确定为足端终末位置,其中,在所述稳定时刻,所述足式机器人的基座的高度不变且所述足式机器人的倾斜角方向的转动角为零;
    基于所述足端初始位置和所述足端终末位置,使用三次样条差值确定所述足式机器人对应的第二期望轨迹。
  3. 如权利要求2所述的方法,其中,所述基于所述足式机器人对应的近似模型,确定所述足式机器人对应的第一期望轨迹,包括:
    获取所述足式机器人的质量;基于所述近似模型和足式机器人的质量,确定所述足式机器人对应的动力学方程;
    将所述动力学方程,转换为状态空间表示,并对所述状态空间表示进行离散化,得到每个时间步对应的状态转移方程;
    通过所述每个时间步对应的状态转移方程构建优化目标函数,并对所述优化目标函数进行求解,得到所述足式机器人对应的第一期望轨迹。
  4. 如权利要求2中所述的方法,其中,基于所述各条机械腿与平面接触时的倾倒趋势以及所述足端初始位置,确定所述各条机械腿的足端在稳定时刻的足端位置坐标,包括:
    获取所述各条机械腿与平面接触时的倾倒趋势对应的偏移信息;
    基于所述各条机械腿与平面接触时的倾倒趋势对应的偏移信息和所述各条机械腿的足端初始位置,确定所述各条机械腿的足端在稳定时刻的足端位置坐标。
  5. 根据权利要求4中所述的方法,其中,所述基于所述各条机械腿与平面接触时的倾倒趋势对应的偏移信息和所述各条机械腿的足端初始位置,确定所述各条机械腿的足端在稳定时刻的足端位置坐标,包括:
    确定所述各条机械腿的足端初始位置在第一方向对应的第一位置分量、第二方向对应的第二位置分量、第三方向对应的第三位置分量,所述第一方向为所述倾倒趋势对应的方向,所述第二方向和所述第三方向为世界坐标系中除所述第一方向之外的其他两个方向;
    将所述偏移信息叠加至所述各条机械腿的足端初始位置在所述倾倒趋势各自对应的第一位置分量,得到所述各条机械腿在所述第一方向对应的偏移后第一位置分量;
    将所述第一方向对应的偏移后的第一位置分量、所述第二方向对应的第二位置分量、所述第三方向对应的第三位置分量,确定为所述各条机械腿的足端在稳定时刻的足端位置坐标。
  6. 如权利要求2所述的方法,其中,所述足式机器人的质心在重力方向上沿所述第一期望轨迹移动时,以下各项的组合达到极小值:所述足式机器人的质心波动量、所述足式机器人受到的冲击力总量、所述足式机器人的下蹲量、所述足式机器人受到的冲击力突变量。
  7. 如权利要求6所述的方法,其中,所述第一期望轨迹满足以下各项约束条件:
    第一约束条件,指示所述足式机器人接触平面的第一个瞬间所受到的冲击力的大小小于足式机器人能够承受的最大冲击力;
    第二约束条件,指示所述足式机器人受到的冲击力小于所述平面能够提供的支持力的上限,并大于所述平面能够提供的支持力的上限;
    第三约束条件,指示所述足式机器人的质心的高度始终大于最低高度。
  8. 如权利要求1所述的方法,其中,所述控制所述足式机器人与平面接触后各个关节的动作,包括:
    在所述各条机械腿均与平面接触的瞬时时刻,获取所述足式机器人的倾倒趋势;
    控制所述足式机器人的各条机械腿沿所述足式机器人的倾倒趋势进行移动,控制所述各条机械腿从压缩状态逐渐回弹,直至足式机器人的质心达到预期的静止高度并且所述足式机器人的倾斜角方向的转动角为零。
  9. 如权利要求1所述的方法,其中,所述第一期望轨迹指示:在所述足式机器人的各条机械腿与平面接触后,所述足式机器人的质心在重力方向上的高度逐渐降低然后逐渐上升,并且所述足式机器人的倾斜角的角度值逐渐增加后逐渐减少。
  10. 如权利要求2所述的方法,其中,所述动力学模型指示所述单刚体的加速度与第一推力、第二推力和重力之间的关系,并且所述动力学模型还指示所述单刚体的角加速度与第一推力和第二推力之间的关系。
  11. 如权利要求2所述的方法,其中,所述基于所述足式机器人对应的动力学模型以及所述第一期望轨迹和第二期望轨迹,控制所述足式机器人与平面接触后各个关节的动作,包括:
    基于所述足式机器人对应的动力学模型和所述第一期望轨迹,确定所述足式机器人的各条机械腿在各个时间步与所述平面之间的接触力,控制所述足式机器人的质心在重力方向上移动的实际轨迹以及所述足式机器人的倾斜角变化的实际轨迹均符合所述第一期望轨迹;
    基于所述足式机器人对应的动力学模型、所述足式机器人的各条机械腿在各个时间步与所述平面之间的接触力和所述第二期望轨迹,确定各个关节电机在各个时间步输出的电机力矩,控制所述各条机械腿足端的轨迹符合所述第二期望轨迹。
  12. 如权利要求11所述的方法,其中,所述基于所述足式机器人对应的动力学模型和所述第一期望轨迹,确定所述足式机器人的各条机械腿在各个时间步与所述平面之间的接触力,包括:
    通过所述足式机器人对应的动力学模型,获取所述足式机器人的质点动力学方程;
    将所述第一期望轨迹对应的数据序列代入到所述质点动力学方程,应用模型预测控制,求解出所述足式机器人的各条机械腿在各个时间步与所述平面之间的接触力。
  13. 如权利要求11所述的方法,其中,所述基于所述足式机器人对应的动力学模型、所述足式机器人的各条机械腿在各个时间步与所述平面之间的接触力和所述第二期望轨迹,确定各个关节电机在各个时间步输出的电机力矩,包括:
    通过所述足式机器人对应的动力学模型,获取所述足式机器人的关节动力学方程;
    从所述第二期望轨迹中获取所述足式机器人的各条机械腿在各个时间步的足端期望位置和足端期望速度,并获取所述足式机器人的各条机械腿在各个时间步的足端实际位置和足端实际速度;
    将所述足式机器人在各个时间步的足端期望位置减去对应的足端实际位置,得到所述足式机器人在所述各个时间步的足端位置差值;将所述足式机器人在所述各个时间步的足端期望速度减去对应的足端实际速度,得到所述足式机器人在所述各个时间步的足端速度差值;
    获取比例控制反馈系数和微分控制反馈系数;
    利用比例控制反馈系数、微分控制反馈系数、所述足端位置差值、所述足端速度差值和所述第一期望轨迹的数据序列,确定出所述各个关节的关节角加速度;
    将所述各个关节的关节角加速度和所述足式机器人的各条机械腿在各个时间步与所述平面之间的接触力,代入到所述质点动力学方程,求解出所述各个关节电机在各个时间步输出的电机力矩。
  14. 如权利要求13所述的方法,其中,所述获取比例控制反馈系数和微分控制反馈系数,包括:
    获取所述足式机器人的当前状态信息;
    基于所述足式机器人的当前状态信息,确定所述足式机器人的各条机械腿的机械腿状态,所述机械腿状态为压缩状态或回弹状态;
    获取所述各条机械腿的机械腿状态对应的比例控制反馈系数和微分控制反馈系数。
  15. 如权利要求1所述的方法,其中,所述确定足式机器人的各条机械腿均下落至与平面接触,包括:
    获取所述足式机器人的当前状态信息;
    基于所述足式机器人的当前状态信息,确定所述各条机械腿在当前时刻与平面之间的接触信息;
    响应于基于所述各条机械腿在当前时刻与平面之间的接触信息确定所述各条机械腿在当前时刻与平面之间均为接触状态,确定所述足式机器人的各条机械腿均下落至与平面接触。
  16. 如权利要求14或15中所述的方法,其中,所述当前状态信息包括以下各项中的至少一项:
    各条机械腿的关节电机力矩或电流值或电压值;
    所述足式机器人的质心高度、质心姿态、各条机械腿对应的当前关节角信息;
    各条机械腿对应的当前足底触觉反馈值;
    所述足式机器人在重力方向上的当前加速度。
  17. 一种控制足式机器人的装置,所述足式机器人包括基座和至少两条机械腿,每 条机械腿包括至少一个关节,所述装置包括:
    规划计算设备,配置为响应于确定所述足式机器人的各条机械腿均下落至与平面接触,确定所述足式机器人对应的第一期望轨迹和第二期望轨迹,其中,
    所述第一期望轨迹指示所述足式机器人的质心在重力方向上移动的期望轨迹以及所述足式机器人的倾斜角的变化的期望轨迹;
    所述第二期望轨迹指示所述各条机械腿足端的期望轨迹,所述足端为远离所述基座的一端;
    控制电机,配置为基于所述足式机器人的质心对应的动力学模型以及所述第一期望轨迹和第二期望轨迹,控制所述足式机器人与平面接触后各个关节的动作,直至所述足式机器人的基座的高度不变且所述足式机器人的倾斜角方向的转动角为零。
  18. 一种足式机器人,包括:
    基座部;
    下肢部,其连接至所述基座部,所述下肢部包括四条下肢,其中每条下肢包括髋关节两个自由度和膝关节1个自由度;
    控制器,所述控制器设置在所述足式机器人上,且能够执行如权利要求1至16中任一项所述的方法。
  19. 一种控制足式机器人的设备,包括:
    处理器;和
    存储器,其中,所述存储器中存储有计算机可执行代码,所述计算机可执行代码当由所述处理器运行时,执行权利要求1至16中任一所述的方法。
  20. 一种非易失性计算机可读存储介质,其上存储有可执行代码,所述可执行代码在被处理器执行时,使得所述处理器执行权利要求1至16中任一所述的方法。
  21. 一种计算机程序产品,包括计算机可执行指令或计算机程序,所述计算机可执行指令或计算机程序被处理器执行时实现权利要求1至16任一项所述的方法。
PCT/CN2023/093507 2022-07-25 2023-05-11 控制足式机器人的方法、装置、设备、足式机器人、计算机可读存储介质和计算机程序产品 WO2024021767A1 (zh)

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)

* Cited by examiner, † Cited by third party
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 杭州云深处科技有限公司 一种四足机器人仿生跳跃动作的控制方法、装置、电子设备及计算机可读介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
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