WO2024021744A1 - 一种控制足式机器人的方法、装置、电子设备、计算机可读存储介质、计算机程序产品及足式机器人 - Google Patents

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

Info

Publication number
WO2024021744A1
WO2024021744A1 PCT/CN2023/092460 CN2023092460W WO2024021744A1 WO 2024021744 A1 WO2024021744 A1 WO 2024021744A1 CN 2023092460 W CN2023092460 W CN 2023092460W WO 2024021744 A1 WO2024021744 A1 WO 2024021744A1
Authority
WO
WIPO (PCT)
Prior art keywords
footed robot
robot
footed
contact
plane
Prior art date
Application number
PCT/CN2023/092460
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 EP23844959.9A priority Critical patent/EP4393656A1/en
Priority to US18/419,470 priority patent/US20240157555A1/en
Publication of WO2024021744A1 publication Critical patent/WO2024021744A1/zh

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/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
    • 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
    • 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/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position 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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0006Exoskeletons, i.e. resembling a human figure

Definitions

  • the present application relates to footed robot planning and control technology in the technical field of footed robots, and in particular to a method, device, electronic device, computer readable storage medium, computer program product and footed robot 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
  • Footed robots that perform these actions often move stiffly when landing, and the impact force on each joint is greater than the impact force threshold, which increases the body's rebound and increases the probability of damage to the footed robot.
  • embodiments of the present application provide a method, device, electronic device, computer-readable storage medium, computer program product and footed robot for controlling a footed robot.
  • a method of controlling a footed robot including a base and at least two mechanical legs, each of the mechanical legs including at least one joint, the method comprising:
  • a first expected trajectory corresponding to the footed robot is determined, and a second expected trajectory corresponding to the footed robot is determined, wherein the first expected trajectory indicates the The desired trajectory of the center of mass of the footed robot, the second desired trajectory indicating the desired trajectory of the foot ends of at least two of the mechanical legs;
  • a device for controlling a footed robot includes a base and at least two mechanical legs. Each mechanical leg includes at least one joint.
  • the device includes:
  • a planning calculation module configured to determine a first expected trajectory corresponding to the footed robot in response to the footed robot falling into contact with a plane, and determine a second expected trajectory corresponding to the footed robot, wherein:
  • the first desired trajectory indicates the desired trajectory of the center of mass of the footed robot, and the second desired trajectory indicates the desired trajectory of the foot ends of at least two of the mechanical legs;
  • a control module configured to based on the corresponding dynamic model of the footed robot and the first desired trajectory and the second desired trajectory, controlling the action of each joint after the footed robot contacts the plane.
  • a footed robot including:
  • each of the mechanical legs includes a hip joint and a knee joint, the hip joint including at least two degrees of freedom,
  • the knee joint includes at least one degree of freedom
  • An electronic device is provided on the footed robot, and the electronic device is used to execute the method for controlling the footed robot provided by the embodiment of the present application.
  • An electronic device for controlling a footed robot including:
  • a memory wherein a computer executable program is stored in the memory, and when the computer executable program is run by the processor, the method for controlling a footed robot provided by an embodiment of the present application is executed.
  • a computer-readable storage medium has a computer-executable program stored thereon.
  • the computer-executable program When executed by a processor, it causes the processor to execute the method for controlling a footed robot provided by an embodiment of the present application.
  • a computer program product includes a computer executable program.
  • the computer executable program is executed by a processor, the method for controlling a footed robot provided by the embodiment of the present application is implemented.
  • the embodiments of the present application at least have the following beneficial effects: by planning the center of mass of the footed robot and the trajectory of the mechanical leg after it lands, and based on the planned center of mass and the trajectory of the foot end of the mechanical leg, the actions of each joint of the footed robot are controlled. , which can reduce the impact force on each joint during the landing process of the footed robot, reduce the rebound of the fuselage, improve the impact resistance of the footed robot during the landing process, and thereby reduce the probability of damage to the footed robot.
  • Figure 1 shows a schematic diagram of a footed robot according to an embodiment of the present application.
  • Figure 2 shows a flow chart of a method for controlling a footed robot according to an embodiment of the present application.
  • FIG. 3 shows a schematic diagram of the moment when the footed robot in the embodiment of the present application comes into contact with a flat surface.
  • Figure 4 shows a schematic diagram of the change of the center of mass during the landing process of the legged robot according to the embodiment of the present application.
  • Figure 5 shows a schematic diagram of the contact between the mechanical legs and a flat surface during the landing process of the footed robot according to the embodiment of the present application.
  • FIG. 6 shows a schematic diagram of the calculation principle of a cubic spline difference provided by an embodiment of the present application.
  • Figure 7 shows a comparison diagram between the first expected trajectory and the actual trajectory of the center of mass of the footed robot according to the embodiment of the present application.
  • FIG. 8A shows a simulation diagram of the legged robot before it lands on the ground according to the embodiment of the present application.
  • FIG. 8B shows a simulation diagram after the footed robot according to the embodiment of the present application lands.
  • Figure 9 shows an exemplary block diagram of a footed robot according to an embodiment of the present application.
  • Figure 10 shows a structural diagram of a device for controlling a footed robot according to an embodiment of the present application.
  • the footed robot provided by the embodiment of the present application is a robot that uses mechanical legs to move; the footed robot uses animals as bionic objects and is used to simulate the movement forms of animals and copy the movement abilities of animals based on engineering technology and scientific research results. .
  • Footed robots are adaptable to various environments (including structured environments (such as roads, railways, treated flat roads, etc.) and unstructured environments (such as mountains, swamps, rough roads, etc.)), and can adapt to terrain Various changes, climbing over various obstacles, and can effectively reduce the load and improve the energy utilization efficiency of the system.
  • legged robots can be divided into single-legged robots, bipedal robots, quadrupedal robots, six-legged robots, eight-legged robots, etc.
  • quadrupedal robots are more powerful than bipedal robots.
  • Legged robots have good static stability and are simpler and more flexible than hexapods and eight-legged robots. Therefore, quadrupedal robots are a common choice for studying legged robots.
  • the gait of a quadruped robot refers to the coordination relationship between the four mechanical legs in time and space in order for the quadruped robot to move continuously.
  • the gait of a quadruped robot comes from the gait of quadrupeds, which can include but is not limited to the following three simplified forms: walking (Walk), trot (Trot) and jumping (Bound).
  • the method for controlling a legged robot may be 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 used to understand the nature 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 a footed robot in a manner similar to how humans guide the movement of living animals, making the movement of the footed robot 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 movement trajectory and steps of the footed robot based on the current movement state of the footed robot. state.
  • the method for controlling a footed robot involves technologies such as artificial intelligence and machine learning.
  • the method of controlling a footed robot provided by embodiments of the present application will be described below with reference to the accompanying drawings.
  • Figure 1 shows a schematic diagram of a footed robot provided by an embodiment of the present application.
  • a four-legged footed robot is taken as an example to illustrate the footed robot provided by the embodiment of the present application (called an example footed robot).
  • Image 1-1 in Figure 1 shows the interior of the footed robot.
  • Perspective view, images 1-2 show the external structure of the 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 respectively or in combination to control two degrees of freedom of the hip joint and one degree of freedom of the knee joint of the quadruped robot. Spend.
  • 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, and after completing these actions, it will fall back to the plane in a free fall.
  • the footed robot is often used during the free landing process. The footed robot is controlled during and during the contact between the footed robot and the flat surface.
  • the process of contacting each foot end of a quadruped robot with a plane is equivalent to the action process of two virtual springs in the x-axis and z-axis (vertical direction perpendicular to the plane).
  • a control scheme is used (For example, PD control scheme) to adjust the stiffness and damping parameters of the virtual spring, the output torque of each joint motor can be equivalently derived, thereby enabling the legged robot to land dexterously.
  • the robotic leg and the environment can be equivalent to two different models (for example, RLC model), and based on these two models, using data-driven (Data-Driven, a machine learning control scheme), you can The output torque of each joint motor is derived, so that the legged robot can land dexterously.
  • the above-mentioned schemes for controlling the free fall process of footed robots all establish spring damping models on the mechanical leg model or environment model of the footed robot, while the dynamic constraints and characteristics of the footed robot are determined by the mechanical legs and the environment model. Therefore, the above-mentioned scheme for controlling the free fall process of the footed robot deviates from the dynamic constraints and characteristics of the footed robot, affecting the control effect.
  • the footed robot includes a base and at least two mechanical legs. Each mechanical leg includes at least one joint.
  • the method includes: In response to the footed robot falling into contact with the plane, a first expected trajectory corresponding to the footed robot is determined, and a second expected trajectory corresponding to the footed robot is determined, wherein the first expected trajectory indicates the The desired trajectory of the center of mass of the footed robot, the second desired trajectory indicating the desired trajectory of the foot ends of at least two of the mechanical legs; based on the corresponding dynamic model of the footed robot, and the first desired trajectory and The second desired trajectory controls the movement of each joint after the footed robot contacts the plane.
  • Embodiments 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 mechanical leg includes at least one joint.
  • the device includes: a planning calculation module, a configuration In response to the footed robot falling into contact with the plane, determining a first expected trajectory corresponding to the footed robot, and determining a second expected trajectory corresponding to the footed robot, wherein the first expected trajectory indicates The desired trajectory of the center of mass of the footed robot, the second desired trajectory indicating the desired trajectory of the foot ends of at least two of the mechanical legs;
  • a control module configured to control the action of each joint after the footed robot contacts the plane based on the corresponding dynamic model of the footed robot and the first desired trajectory and the second desired trajectory.
  • An embodiment of the present application also provides a footed robot, including: a base; and a lower limb connected to the base.
  • the lower limb includes at least two mechanical legs, wherein each of the mechanical legs includes a hip. joint and a knee joint, the hip joint includes at least two degrees of freedom, and the knee joint includes at least one degree of freedom; an electronic device, the electronic device is provided on the footed robot, and the electronic device is used to perform
  • the embodiments of the present application provide a method for controlling a legged robot.
  • Embodiments of the present application provide a computer-readable storage medium on which a computer executable program is stored. When executed by a processor, the computer executable program causes the processor to execute the control steps provided by the embodiments of the present application. robotic approach.
  • An embodiment of the present application provides a computer program product, which includes a computer executable program.
  • the computer executable program is executed by a processor, the method for controlling a footed robot provided by the embodiment of the present application is implemented.
  • the method for controlling a footed robot provided by the embodiments of the present application can not only automatically realize the trajectory and gait planning of the footed robot, but also ensure that the impact force and impact force on each joint of the footed robot is reduced during the landing process.
  • the body rebounds, which not only ensures the landing function, but also forms an anti-impact protection effect for the legged robot.
  • the execution subject of the method for controlling a footed robot provided by the embodiments of the present application described below is an electronic device for controlling a footed robot.
  • the electronic device can be integrated on the footed robot or can be independent of the footed robot, which is not limited in the embodiments of the present application.
  • Figure 2 shows a flow chart of a method for controlling a footed robot provided by an embodiment of the present application.
  • the control method for controlling a footed robot provided by the embodiment of the present application may include steps S201 and 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 the footed robot falling into contact with the plane, a first expected trajectory corresponding to the footed robot is determined, and a second expected trajectory corresponding to the footed robot is determined.
  • first desired trajectory indicates the desired trajectory of the center of mass of the footed robot
  • second desired trajectory indicates the desired trajectory of the foot end of the at least two mechanical legs that are far away from each other.
  • step S201 can be performed by any electronic device.
  • the electronic device here may be a terminal or a server; or the electronic 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, content delivery network (Content Delivery Network, CDN), and cloud servers for basic cloud computing services such as big data and artificial intelligence platforms, etc.
  • CDN Content Delivery Network
  • the terminal and the server can be located within the blockchain network or outside the blockchain network, and this is not limited; in the embodiment of the present application, the terminal and the server can also upload any data stored internally. Store in the blockchain network to prevent the data stored inside from being tampered with and improve data security.
  • the contact situation between at least two mechanical legs of the footed robot and a flat surface (such as the ground, table, etc.) will change, so that the footed robot can be in contact with the flat surface.
  • a flat surface such as the ground, table, etc.
  • the first desired trajectory indicates the desired trajectory of the center of mass of the legged robot.
  • the first expected trajectory may include position information, speed information, acceleration information, etc. expected by the center of mass of the footed robot at each time step.
  • the first desired trajectory can be represented by a time series numerical sequence composed of centroid related information corresponding to each time step.
  • the first desired trajectory can also be represented by other data structures, and this application is not limited to this. The process of determining the first desired trajectory will be described later with reference to FIG. 4 , and the description will not be repeated here in this application.
  • the second desired trajectory indicates a desired trajectory of the foot end of each of the at least two mechanical legs.
  • 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 position information, velocity information, acceleration information, angular velocity, angular acceleration information, etc. expected for each joint of each mechanical leg at each time step.
  • the second desired trajectory can be represented by a time series composed of relevant information of each robotic leg corresponding to each time step.
  • the second desired trajectory can also be It can be represented by other data structures, and this application is not limited to this. The process of determining the second desired trajectory will be described later with reference to FIGS. 5 to 6 , and the description will not be repeated here.
  • a time step can also be called a frame.
  • the time difference between adjacent time steps can be the same or different. For example, since the changes in the movement and force of the footed robot are greater than the change threshold for a period of time when the footed robot just comes into contact with the plane, the difference between time steps can be less than the duration threshold, thereby improving the early action control of the footed robot. flexibility. As the legged robot gradually reaches a stable state, the difference between time steps can be greater than the duration 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, as well as the first desired trajectory and the second desired trajectory, the actions of each joint of the footed robot after contact with the plane are controlled.
  • the dynamic model is used to determine the motion information of each joint (for example, including angle, angular velocity, angular acceleration and joint moment), the motion information of the center of mass (for example, including angle, angular velocity and angular acceleration) and the external contact force.
  • the corresponding dynamic model of the footed robot is used to represent the changing relationship of the following information during the movement of the footed robot: the angle, angular velocity, angular acceleration, joint torque, and external contact force corresponding to each joint and center of mass respectively.
  • 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 in terms of momentum change or force change. This application does not limit this.
  • the forces acting on the footed robot include gravity, the driving force of each joint motor, and the contact provided by the flat surface to the footed robot. force (also called support force).
  • force also called support force.
  • the corresponding dynamic model of the footed robot can be established accordingly.
  • Footed robots in different postures receive different contact forces and driving forces.
  • the contact force between the plane and the footed robot at each time step is determined so that the actual trajectory of the center of mass of the footed robot conforms to the first desired trajectory.
  • the motor torque provided by each joint motor at each time step can also be determined, so that The trajectories of the foot ends of at least two mechanical legs conform to the second desired trajectory.
  • the contact force between the plane and the footed robot is determined, and the motor torque provided by each joint motor is determined, and based on the determined contact force and motor torque Control the movements of each joint.
  • “conformity” in the embodiments of this application means that during the actual test of the real machine, the actual trajectory of the center of mass of the legged robot is very close to the first expected trajectory (the trajectory deviation is less than the trajectory deviation threshold) or even the same, at least The trajectory of the far away foot ends of the two mechanical legs 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, the coincidence described in the embodiments of this application may mean that the difference between the actual trajectory and the expected trajectory is less than the difference threshold.
  • the parameters required to make the center of mass of the footed robot reach the position, speed and acceleration indicated by the first desired trajectory at each time step can be solved accordingly.
  • Contact force the contact force is the support force provided by the plane to the foot end of each mechanical leg.
  • the joint control information required to make the mechanical leg of the footed robot reach the posture indicated by the second desired trajectory at each time step can be obtained.
  • the joint control information may be the acceleration of each joint motor or the torque of the joint motor.
  • the measurement accuracy of acceleration and torque of joint motors varies. Therefore, in practical applications, those skilled in the art can select physical quantities with higher accuracy from the acceleration and torque of the joint motor for subsequent calculations based on actual conditions.
  • FIG. 3 shows a schematic diagram of the moment when the footed robot 3-1 contacts the plane 3-2 according to the embodiment of the present application.
  • the contact state between at least two mechanical legs and the plane at the current moment includes: whether the at least two mechanical legs of the footed robot are in contact with the plane, the number of contact points between the at least two mechanical legs and the plane, and each contact point position and other information to determine the first desired trajectory and the second desired trajectory of the footed robot.
  • the contact state is determined through the current state information corresponding to the footed robot at the current moment.
  • the IMU sensor in the footed robot can be called to determine the current status information of the footed robot.
  • the acceleration information of the footed robot at the current moment (which may include the acceleration of the footed robot in multiple directions (such as vertical direction, horizontal direction)) and current posture information can be collected through the IMU sensor, and the joints can be called
  • the angle encoder 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 imported into the leg odometry (Leg Odometry) to calculate the position information (which can be represented by y1).
  • the position information can include : The calculated position of at least two mechanical legs of the footed robot at the current moment.
  • the acceleration information can be input to the state space observer, so that the state space observer can output a position observation result (which can be represented by ym) based on the acceleration information and the historical state estimation result of the footed robot at the current moment.
  • the position can be expressed as ym.
  • the observation results may include: the observed positions of at least two mechanical legs of the footed robot at the current moment; wherein the state estimation result of the footed robot at the current moment may be the estimation of the foot when it arrives at the previous moment of the current moment.
  • the state estimation result of the footed robot at the current moment can be stored in a vector or other data structure, and there is no limit 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 the input of the Extended Kalman Filter (EKF) unit to perform state estimation through this 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. By performing Taylor expansion of the nonlinear function, omitting the high-order terms and retaining the first-order terms of the expansion terms, This is used to achieve linearization of nonlinear functions.
  • the position information and position observation results can also be used as the input of the Kalman filter unit or the input of the state estimation model based on machine learning, so as to perform state estimation through the Kalman filter unit or the state estimation model, Get 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 estimation result obtained through state estimation can be used for Feedback control of legged robots, thus forming a closed loop.
  • the method of determining the contact information based on the current status information includes: obtaining the historical status value of any mechanical leg at the previous moment of the current moment, and determining the current status value of any mechanical leg from the current status information. Status value, so that it can be judged whether there is a sudden change in the current status value of any mechanical leg based on the historical status 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 calculating If the calculated difference is greater than the preset difference, it is determined that there is a mutation in the current state value; if the calculated difference is not greater than the preset difference, it is determined that there is no mutation in the current state 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 is equal to 80, and 80 is greater than 50, it can be determined 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 determined 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 torques or current values or voltage values of at least two mechanical legs.
  • the load of the mechanical leg is only the mass of the mechanical leg, because the mass of the mechanical leg of the footed robot can be ignored relative to the overall mass. , so the load is less than the load threshold, and the feedback current value of each joint and the joint motor torque are relatively less than the corresponding thresholds.
  • the load of the footed robot includes its entire mass plus the equivalent inertial force of downward movement under the action of its own inertia.
  • the load is greater than the load threshold, and each joint
  • the feedback current value and joint motor torque are relatively larger than the corresponding thresholds. Based on this, when it is detected that the joint motor torque or feedback current value suddenly changes from small to large (the change is greater than the change threshold within the duration threshold), it is determined that the footed robot has landed from the air to a flat surface (such as the ground).
  • the current status information includes: the height of the center of mass of the footed robot, the posture of the center of mass, and current joint angle information corresponding to at least two mechanical legs.
  • the moment when the foot end of the foot robot contacts the plane can be calculated based on the height and center of mass posture of the foot robot detected by the external vision or motion capture system, as well as the joint angle information of the foot robot. , thereby determining whether the corresponding 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 based on the current status information includes: calculating the height of any mechanical leg from the plane based on 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. ; 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 is in contact with the plane at the current moment. There is no contact with the surface at all times.
  • the height threshold such as the value 0 or 0.005, etc.
  • the current status information may include: current plantar tactile feedback values corresponding to at least two mechanical legs, and the plantar tactile feedback values are generated by plantar tactile sensors of the corresponding mechanical legs.
  • the foot touch sensor can be used to determine whether the corresponding mechanical leg is in contact with a flat surface at the current moment. Furthermore, any plantar tactile sensor generates a first value as a plantar tactile feedback value when detecting that the corresponding mechanical leg is in contact with a flat surface, and generates a second value as a plantar tactile feedback value when detecting that the corresponding leg is not in contact with a flat surface. ;
  • the first value and the second value here can be set according to actual needs. For example, the first value is the value 1, the second value is the value 0, or the first value is the value 0, the second value is the value 1, etc. .
  • 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 If it is the first value, 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 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. At the previous moment of the current moment, the historical acceleration of the legged robot in the vertical direction is known; if according to the historical If the historical acceleration determines that the current acceleration has mutated, it is determined that the footed robot has landed.
  • the acceleration of the footed robot in the z-axis direction collected by the IMU sensor is twice the gravity acceleration g; when the footed robot is completely weightless in the air, The acceleration of the footed robot in the z-axis direction collected by the IMU 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 acceleration measured by the IMU sensor is close to 0.
  • the collected accelerations of the footed robot in the z-axis direction are all 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 electronic device can calculate the difference between the historical acceleration and the current acceleration; if the calculated If the difference 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.
  • 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 determined 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 determined that the current acceleration has not changed suddenly.
  • Figure 4 shows the height change diagram of the center of mass of the legged robot according to the embodiment of the present application during the landing process.
  • the solid line 4-1 is a schematic curve of the height of the center of mass position of the footed robot changing with time steps during the landing process.
  • the x-axis is the time step and the y-axis is the height (unit: cm)
  • the dotted line 4-2 is the height of the center of mass of the footed robot in the static state.
  • the solid line 4-1 schematically shows the change of the component of the first desired trajectory in the z-axis direction. As shown in the solid line 4-1, after the footed robot comes into contact with the ground, the height of the center of mass of the footed robot gradually decreases and then gradually increases.
  • the legged robot first falls with a large acceleration (greater than the acceleration threshold) until a single mechanical leg contacts the plane. At this time, the mechanical leg in contact with the plane bears the force given by the plane, and the rate of descent of the center of mass gradually decreases. As the four mechanical legs come into contact with the plane in sequence, the four mechanical legs together bear the force exerted by 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.
  • optimization can be set based on the relationship between the solid line 4-1 and the dotted line 4-2 in Figure 4
  • the goal is to make the desired trajectory achieve the desired buffering effect as much as possible.
  • the optimization goals can be to reduce overshoot, reduce the vertical height integration over time is small, the lowest height is higher than the safe height threshold, the force change value is lower than the change value threshold, and the vertical height change speed Certain constraints must be met, etc.
  • an approximate model corresponding to the footed robot may be used to determine the expected trajectory of the center of mass of the footed robot.
  • the footed robot is approximated as a single rigid body, and during the contact between the footed robot and the plane, the combined force of at least two mechanical legs forms an upward thrust on the single rigid body.
  • the support force of the legged robot is determined based on the upward thrust of the pair of single rigid bodies.
  • a legged robot can be approximated as a single rigid body with mass m.
  • the resultant force of the four mechanical legs forms an upward thrust u on the single rigid body.
  • formula (1) (called the dynamic equation) can be determined.
  • vertical upward is the positive direction
  • g is the gravity coefficient, with a value equal to -9.81 (the negative sign indicates that the gravity direction is vertically downward); Indicates acceleration in the vertical direction.
  • Formula (2) can be abbreviated into the form of formula (3).
  • bold font is used to represent vectors (matrix).
  • formula (3) is discretized according to time steps (the length of the time step is ⁇ t), and formula (4) can be obtained.
  • 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 A vector composed of velocity and gravity acceleration
  • 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.
  • x 0 is 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 initial moment.
  • Formula (5) can also be abbreviated as formula (6)
  • X A qp x 0 +B qp U (6)
  • Formula (6) describes the mathematical expression corresponding to each time step.
  • the optimization objectives corresponding to the embodiments of the present application can be designed based on the desired buffering effect when the legged robot falls, so as to achieve the solution of the optimal first desired trajectory.
  • the first expected trajectory makes the combined value of the following items reach the 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 amount of squatting of the footed robot, and the impact force received by the footed robot. amount of mutation.
  • Each of the above items can have corresponding weight coefficients and be combined in various ways.
  • the optimization objective-Z function as shown in formula (7) can be set to solve for the optimal thrust U.
  • X ref is a constant vector representing the rest height shown by 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 of the center of mass of the footed robot, that 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 smaller 2 is, the smaller the fluctuation of the center of mass is during the falling process of the footed robot, and the more stable the footed robot is.
  • 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, that is, it 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 manifestation of the mutation amount of impact force suffered by the footed robot.
  • the above is just 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, the amount of squatting of the footed robot, and the amount of impact force received by the footed robot. is an example representation of the sudden change in impact force, and is not limited by the embodiments of this application.
  • the embodiment of the present application adjusts the corresponding importance of each item through each of the above weight coefficients. For example, the larger K is, the greater the importance of the impact force received by the footed robot in the method for controlling the footed robot provided by the embodiment of the present application.
  • the weighting scheme can be a multiplicative weighting scheme, then the first term of the Z function can be 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 items of the Z function can also be calculated using different weighting schemes. The embodiments of this application will not be repeated here.
  • the first constraint is u 0 ⁇ u U .
  • u 0 represents the impact force (called instantaneous impact force) received by the footed robot at the first moment when it contacts the plane (called instantaneous moment).
  • This impact force is smaller than the maximum impact force u U that the footed robot can withstand.
  • the maximum impact force u U that a footed robot can withstand depends on the structural characteristics of the footed robot and the strength of the rigid body.
  • the example value is 200N. This application is 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 height of the center of mass of the footed robot in the z-axis direction at each moment is always greater than the minimum height x .
  • x is a column vector consisting of the lowest height sequence values.
  • constraints relative to the above-mentioned first constraint, second constraint, and third constraint
  • the embodiments of the present application are not based on This is the limit.
  • the optimal first expected trajectory in Figure 4 can be obtained, that is, the numerical sequence of the center of mass in the z-axis direction corresponding to each time step.
  • the full model of the footed robot can also be used to plan the first desired trajectory of the footed robot. In this way, the accuracy of the first desired trajectory can be improved, but it often requires higher computing power to achieve Plan in real time.
  • the motion trajectory of the center of mass of the footed robot after landing is planned based on an approximate model (or full model), thereby reducing the impact force and force on each joint during the landing process of the footed robot.
  • the fuselage rebounds, which not only ensures the landing function, but also forms a good anti-impact protection effect for the legged robot.
  • FIGS. 5 and 6 show a schematic diagram of the contact between the mechanical legs and a flat surface during the landing process of the footed robot according to the embodiment of the present application.
  • FIG. 6 shows a schematic diagram of the calculation principle of a cubic spline difference provided by an embodiment of the present application.
  • the four mechanical legs of the legged robot do not land at the same time, but in a sequence. After the first mechanical leg touches the ground, it is necessary to ensure that the contact position between the mechanical leg and the ground remains unchanged throughout the landing process. The remaining mechanical legs come into contact with the plane in sequence, and always maintain contact with the plane after contact until the The robot's center of mass reaches the desired resting height. Therefore, in some embodiments of the present application, the contact position of the end of the single mechanical leg away from the base that contacts the plane can be determined at the instant when the single mechanical leg lands, and the contact position can be used as the desired corresponding position of the single mechanical leg.
  • a single mechanical leg refers to the first mechanical leg that touches the ground.
  • determining the motion trajectory of the far away foot end of the remaining mechanical legs based on the first expected trajectory includes: at the instant when a single mechanical leg lands (contacts with a plane), determine the remaining mechanical legs based on the position corresponding to the instant in the first desired trajectory. The initial position of the foot end of the leg; based on the first expected trajectory, determine the position coordinates of the foot end of the remaining mechanical legs corresponding to the stable moment. Among them, at the stable moment, the center of mass posture of the footed robot returns to being parallel to the plane and in full contact with the four mechanical legs.
  • the leg lengths of the four mechanical legs are equal; interpolation is performed based on the initial position of the foot end corresponding to the instantaneous moment and the position coordinates of the foot end of the remaining mechanical legs corresponding to the stable moment (for example, using cubic spline difference for interpolation) to determine the remaining The motion trajectory of the far away foot of the mechanical leg.
  • the position coordinates of the foot ends of the other mechanical legs can be calculated correspondingly, and the position coordinates of the foot ends are regarded as the instant of landing.
  • the calculation process of the foot end position coordinates corresponding to the other mechanical legs at the stable moment is similar, and the embodiments of the present application will not be repeated here.
  • the foot end position coordinates of the other three mechanical legs can be calculated accordingly.
  • the foot end position coordinates are used as the foot end initial position at the moment of landing.
  • the electronic 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 measure at least two mechanical parts of the footed robot based on the sensing information.
  • the position of the leg at the current moment is calculated to obtain the position information.
  • the position information of the foot end position coordinates may include at least: 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 at least two mechanical legs 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, the rotation matrix can be calculated based on the current posture information.
  • the so-called rotation matrix means that by changing the direction of any vector, the direction of any vector can be changed.
  • a vector is mapped to a matrix in the robot's base coordinate system; here, the base attitude angle of the footed robot can be determined based on the current attitude information, and the rotation matrix is 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's base coordinate system to obtain the target position vector; here, the rotation matrix can be 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 first. 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 are fused to obtain a direction position vector corresponding to the horizontal axis direction; the fusion process here may include summation processing.
  • 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. Repeat the description again.
  • the position information may also include other vectors such as foot end position vectors or 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 ends of at least two mechanical legs 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: calculating the target position vector Perform inversion processing to obtain the foot end position vector.
  • the foot end speed vector is used to indicate: the three-dimensional speed of the foot ends of at least two mechanical legs of the footed robot in the robot's base coordinate system;
  • the leg odometry method for calculating the foot end speed vector may include: calculating the target position vector (pf )Enter Perform derivation processing and perform inverse processing on the derivation results to obtain the foot end velocity vector.
  • the x- and y-direction numerical sequences of the foot end positions of the other three mechanical legs use the positions at the initial time and the end time.
  • Implementation of Cubic Spline Interpolation In the same way, the x- and y-direction numerical sequences of the center of mass of the legged robot are implemented using the cubic spline difference between the positions at the initial time and the end time.
  • 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, tb) and (pc, vc, tc)
  • p represents position
  • v represents speed
  • t represents time
  • the calculation principle of the cubic spline difference can be seen in Figure 6: two cubic functions f 1 (t) and f 2 (t) can be constructed first, and then based on these two
  • the cubic function and the known data are used to establish a system of equations, and the cubic polynomial coefficients (a0, a1, a2, a3, b0, b1, b2, b3) are solved through the system of equations; after solving the cubic polynomial coefficients, Subsequently,
  • the z-direction numerical sequence of the other three mechanical legs can be solved correspondingly based on the first expected trajectory.
  • the z-direction numerical sequence of the other three mechanical legs 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 ends of these three mechanical legs can just touch the ground.
  • 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.
  • FIG. 7 shows a comparison diagram between the first expected trajectory of the embodiment of the present application and the actual trajectory of the center of mass of the footed robot.
  • FIG. 8A shows a simulation diagram before the legged robot lands on the ground according to the embodiment of the present application.
  • FIG. 8B shows a simulation diagram after the footed robot lands on the ground according to the embodiment of the present application.
  • the scheme of controlling the footed robot based on the dynamic equations of the footed robot and the first desired trajectory is also called Model Predictive Control (MPC).
  • MPC Model Predictive Control
  • WBC Whole-Body Dynamics Control
  • MPC and WBC are combined to realize buffer control during the landing process.
  • the process of realizing buffer control includes: calculating the trajectory of future control variables (that is, the first expected trajectory and the second expected 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 footed robot contacts the plane, and the end moment is the moment when the footed robot stands stably.
  • the dynamic equation of a footed robot can be expressed in formula (14).
  • the first six lines of formula (14) are the particle dynamics information of the footed robot.
  • M p represents the mass and inertia matrix corresponding to the base.
  • the center of mass position includes the position in the direction of gravity (z direction). position, and the x direction, y direction and rotation angle direction are all zero.
  • f is the contact force provided by the plane to the four foot ends. The contact force provided by the plane to each foot end is a three-dimensional force. Therefore, the total dimension of f is 12.
  • 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 the footed robot at each time step can be determined so that the actual trajectory of the center of mass of the footed robot complies with the first desired trajectory.
  • the lower part of the formula (14) (as shown in the following formula (16)) is the dynamic information of the joints 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, including the degrees of freedom corresponding to the 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 formula (15), other parameters of the robot dynamic model are known, and formula (16) can be used to calculate the torque ⁇ of each joint of the robot.
  • formula (16) can also be written in the form of formula (17).
  • k p and k d are coefficients of PD control.
  • the motor torque provided by each joint motor at each time step is determined to keep each mechanical leg away from the base.
  • the trajectory of one end conforms to the second desired trajectory.
  • curve 7-1 shows the first desired trajectory, in which the y-axis is the height of the center of mass of the footed robot and the x-axis is the time.
  • curve 7-2 shows the actual trajectory of the center of mass, which determines the height of the center of mass of the footed robot at different times through the above-mentioned data acquisition device. It can be seen that through the control of MPC and whole body dynamics, the actual height of the center of mass of the footed robot can follow the position of the center of mass planned by the simplified model mentioned above, achieving compliant landing control.
  • Figures 7 to 8B all indicate that when the footed robot has a large falling speed in the z direction (greater than the speed threshold) at the moment it touches the ground, applying the embodiment of the present application can reduce the impact on the joints of the footed robot during the entire landing process. impact, reducing the rebound of the upper body, eliminating the phenomenon of the legs landing twice after taking off, and forming a good anti-impact protection effect for the legged robot while ensuring the landing function.
  • the embodiment of the present application establishes a model of a footed robot under free fall motion, and based on this model, the center of mass movement trajectory and foot end position trajectory of the footed robot after landing are planned, and based on the planned center of mass movement trajectory and The foot position trajectory is used to solve the control torque of each motor to control the footed robot. Therefore, during the landing process of the legged robot, the impact force on each joint can be reduced, the body rebound can be reduced, and the landing performance can be ensured. It can also form a good impact protection effect on the legged robot.
  • 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 910 and lower limbs 920 connected to the base 910, and the lower limbs 920 may include at least two mechanical legs (for example, four lower limbs), each of the mechanical legs includes Hip joint and knee joint, the hip joint includes at least two degrees of freedom, and the knee joint includes at least one degree of freedom (for example, each lower limb may include two degrees of freedom of the hip joint and one degree of freedom of the knee joint).
  • 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 refers to the main part of the footed robot, such as the trunk of the footed robot.
  • the embodiments of the present application are not limited by the specific shape and composition of the base.
  • the base includes, for example, 2 spinal joints
  • the lower limb may include, for example, 8 lower limb joints.
  • the embodiments of the present application are not limited by the specific number of joints included in the base and the lower limb. It is also not limited by the specific joint configuration of the footed robot.
  • the footed robot may further include an electronic device 930, which is disposed on the footed robot and capable of performing the aforementioned method of controlling the footed robot and having the aforementioned functions.
  • the electronic device 930 includes, for example, a processing device.
  • 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 communications module may be wireless and may include a wireless interface, such as Institute of Electrical and Electronics Engineers (IEEE) 802.11, Bluetooth, a wireless local area network (WLAN) transceiver, or for accessing a cellular telephone network Radio interface (e.g. transceiver/antenna for access to CDMA, GSM, UMTS or other mobile communications networks).
  • IEEE Institute of Electrical and Electronics Engineers
  • WLAN wireless local area network
  • Radio interface e.g. transceiver/antenna for access to CDMA, GSM, UMTS or other mobile communications networks.
  • the communication module may be wired and may include an interface such as Ethernet, Universal Serial Bus (Universal Serial Bus, 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.
  • a plurality of footed robots may form a footed robot system to collaboratively complete a task, the plurality of footed robots being communicatively connected to a server and receiving collaborative footed robot instructions from the server.
  • Software modules in the device 1055 may include:
  • the planning calculation module 10551 is configured to determine the first expected trajectory corresponding to the footed robot in response to the footed robot falling into contact with the plane, and determine the second expected trajectory corresponding to the footed robot, wherein:
  • the first desired trajectory indicates the desired trajectory of the center of mass of the footed robot, and the second desired trajectory indicates the desired trajectory of the foot ends of at least two of the mechanical legs;
  • the control module 10552 is configured to control the joints of each joint after the footed robot contacts the plane based on the corresponding dynamic model of the footed robot and the first desired trajectory and the second desired trajectory. action.
  • the planning calculation module 10551 is further configured to determine, in response to the footed robot falling into contact with the plane, based on the approximate model corresponding to the footed robot, that the footed robot corresponds to The first desired trajectory, wherein in the approximate model, the footed robot is a single rigid body, and during the contact between the footed robot and the plane, at least two of the mechanical legs The combined force forms an upward thrust on the single rigid body.
  • the first expected trajectory is used to reach the extreme value of the combined value of the following items: the fluctuation amount of the center of mass of the footed robot, the total amount of impact force received by the footed robot, the The squatting amount of the footed robot and the sudden change of the impact force received by the footed robot.
  • the first desired trajectory satisfies the following constraints: the first constraint is used to indicate that the instantaneous impact force is less than the maximum impact force that the footed robot can withstand, and the instantaneous impact force is Refers to the impact force received by the footed robot at the instant when it contacts the plane; the second constraint condition is used to indicate that the impact force received by the footed 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 provided by the plane. The lower limit of the support force that the plane can provide; the third constraint is used to indicate that the height of the center of mass of the footed robot is greater than the minimum height.
  • the planning calculation module 10551 is also configured to determine the contact position of the foot end of the single mechanical leg in contact with the plane at the instant when the single mechanical leg contacts the plane, and determine the contact position with the plane.
  • Each contact position corresponding to each time step is regarded as the expected trajectory corresponding to the single mechanical leg, and each contact position remains unchanged at each time step; based on the first expected trajectory, the feet of the remaining mechanical legs are determined.
  • the motion trajectory of the end is used as the expected trajectory corresponding to the remaining mechanical legs.
  • the remaining mechanical legs refer to the mechanical legs other than the single mechanical leg among the at least two mechanical legs;
  • the desired trajectory corresponding to the single mechanical leg and the desired trajectory corresponding to the remaining mechanical legs are determined as the second desired trajectory corresponding to the footed robot.
  • the planning calculation module 10551 is also configured to calculate, at the instant when the single mechanical leg contacts the plane, the position corresponding to the instant in the first desired trajectory. , determine the initial position of the foot end corresponding to the remaining mechanical legs at the instant moment; based on the first expected trajectory, determine the foot end position coordinates corresponding to the remaining mechanical legs at the stable moment, wherein, at the stable moment , the centroid posture of the footed robot is restored to be parallel to the plane, at least two of the mechanical legs are in contact with the plane, and the leg lengths of at least two of the mechanical legs are equal; based on the initial position of the foot end and the The position coordinates of the foot ends corresponding to the remaining mechanical legs at the stable moment are interpolated to obtain the motion trajectories of the foot ends of the remaining mechanical legs.
  • control module 10552 is also configured to control the action of each joint after the footed robot comes into contact with a flat surface, to control a single mechanical leg of the footed robot to first contact and maintain contact with the flat surface. The contact position remains unchanged, and the remaining mechanical legs contact the plane in sequence, and maintain contact with the plane after contact until the center of mass of the footed robot reaches the expected rest height.
  • the first desired trajectory indicates that after the footed robot contacts the plane, the height of the center of mass of the footed robot gradually decreases and then gradually increases.
  • the second desired trajectory indicates: after a single mechanical leg of the footed robot comes into contact with the plane, the length of the remaining mechanical legs changes with the height of the center of mass of the footed robot. And change.
  • the dynamic model corresponding to the footed robot and the first phase The desired trajectory and the second desired trajectory are used to control the actions of each joint after the footed robot contacts the plane, including: based on the dynamic model corresponding to the footed robot, determining at each time step The contact force between the plane and the footed robot, the contact force is used to control the actual trajectory of the center of mass of the footed robot to comply with the first desired trajectory; based on the corresponding trajectory of the footed robot
  • the dynamic model and each of the contact forces determine the motor torque provided by each joint motor at each of the time steps.
  • the motor torque is used to control the trajectory of the foot ends of at least two of the mechanical legs to comply with the second desired trajectory. .
  • the device 1055 for controlling the footed robot also includes a contact determination module 10553 configured to determine contact information based on the current status information of the footed robot, and the contact information indicates at least two of the above-mentioned The contact state between the mechanical leg and the plane at the current moment; based on the contact information, it is determined that the footed robot has fallen into contact with the plane.
  • a contact determination module 10553 configured to determine contact information based on the current status information of the footed robot, and the contact information indicates at least two of the above-mentioned The contact state between the mechanical leg and the plane at the current moment; based on the contact information, it is determined that the footed robot has fallen into contact with the plane.
  • the contact determination module 10553 is also configured to obtain the historical state value of any of the mechanical legs at the previous moment of the current moment; based on the current state information of the footed robot, determine The current state value of the mechanical leg; based on the current state value and the historical state value, determine whether there is a mutation in the current state value; based on whether there is a mutation in the current state value, determine all the values corresponding to the mechanical leg contact information.
  • the current status information includes at least one of the following items: joint motor torques or current values or voltage values of at least two of the mechanical legs; the center of mass height, center of mass of the footed robot Posture, current joint angle information corresponding to at least two of the mechanical legs; current plantar tactile feedback values corresponding to at least two of the mechanical legs; and current acceleration of the footed robot in the vertical direction.
  • 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.
  • 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”. Additionally, aspects of the application may be embodied in one or more computer-readable media.
  • a computer product that includes computer readable program code.

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

一种控制足式机器人的方法,足式机器人包括基座和至少两条机械腿,每条机械腿包括至少一个关节,控制足式机器人的方法包括:响应于足式机器人下落至与平面接触,确定足式机器人对应的第一期望轨迹,并确定足式机器人对应的第二期望轨迹,其中,第一期望轨迹指示足式机器人的质心的期望轨迹,第二期望轨迹指示至少两条机械腿的足端的期望轨迹;基于足式机器人对应的动力学模型、以及第一期望轨迹和第二期望轨迹,控制足式机器人与平面接触后各个关节的动作。还提供一种控制足式机器人的装置、电子设备、计算机可读存储介质、计算机程序产品及足式机器人。

Description

一种控制足式机器人的方法、装置、电子设备、计算机可读存储介质、计算机程序产品及足式机器人
相关申请的交叉引用
本申请基于申请号为202210877092.6、申请日为2022年07月25日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。
技术领域
本申请涉及足式机器人技术领域中的足式机器人规划控制技术,尤其涉及一种控制足式机器人的方法、装置、电子设备、计算机可读存储介质、计算机程序产品及足式机器人。
背景技术
随着人工智能及足式机器人技术在民用和商用领域的广泛应用,基于人工智能及足式机器人技术的足式机器人在智能交通、智能家居等领域起到日益重要的作用,也面临着更高的要求。
目前,足式机器人(如四足足式机器人)已经能够执行多种不同的动作,例如,跳跃、空翻等。执行这些动作的足式机器人在落地过程中,往往动作僵硬,各个关节受到的冲击力大于冲击力阈值,增加了机身回弹,增加了足式机器人损坏概率。
发明内容
针对以上问题,本申请实施例提供了一种控制足式机器人的方法、装置、电子设备、计算机可读存储介质、计算机程序产品及足式机器人。
一种控制足式机器人的方法,所述足式机器人包括基座和至少两条机械腿,每条机械腿包括至少一个关节,所述方法包括:
响应于所述足式机器人下落至与平面接触,确定所述足式机器人对应的第一期望轨迹,并确定所述足式机器人对应的第二期望轨迹,其中,所述第一期望轨迹指示所述足式机器人的质心的期望轨迹,所述第二期望轨迹指示至少两条所述机械腿的足端的期望轨迹;
基于所述足式机器人对应的动力学模型、以及所述第一期望轨迹和所述第二期望轨迹,控制所述足式机器人与所述平面接触后各个所述关节的动作。
一种控制足式机器人的装置,所述足式机器人包括基座和至少两条机械腿,每条机械腿包括至少一个关节,所述装置包括:
规划计算模块,配置为响应于所述足式机器人下落至与平面接触,确定所述足式机器人对应的第一期望轨迹,并确定所述足式机器人对应的第二期望轨迹,其中,所述第一期望轨迹指示所述足式机器人的质心的期望轨迹,所述第二期望轨迹指示至少两条所述机械腿的足端的期望轨迹;
控制模块,配置为基于所述足式机器人对应的动力学模型、以及所述第一期望轨迹 和所述第二期望轨迹,控制所述足式机器人与所述平面接触后各个所述关节的动作。
一种足式机器人,包括:
基座;
下肢部,其连接至所述基座,所述下肢部包括至少两条机械腿,其中,每条所述机械腿包括髋关节和膝关节,所述髋关节包括至少两个自由度,所述膝关节包括至少一个自由度;
电子设备,所述电子设备设置在所述足式机器人上,且所述电子设备用于执行本申请实施例提供的控制足式机器人的方法。
一种控制足式机器人的电子设备,包括:
处理器;
存储器,其中,所述存储器中存储有计算机可执行程序,当所述计算机可执行程序由所述处理器运行时,执行本申请实施例提供的控制足式机器人的方法。
一种计算机可读存储介质,其上存储有计算机可执行程序,所述计算机可执行程序在被处理器执行时,使得所述处理器执行本申请实施例提供的控制足式机器人的方法。
一种计算机程序产品,包括计算机可执行程序,所述计算机可执行程序被处理器执行时,实现本申请实施例提供的控制足式机器人的方法。
本申请实施例至少具有以下有益效果:通过对足式机器人落地后的质心和机械腿的轨迹进行规划,并基于规划的质心和机械腿的足端的轨迹,控制足式机器人各个所述关节的动作,使得在足式机器人的落地过程中,能够降低各个关节受到的冲击力,减小机身回弹,提升足式机器人在落地过程中的抗冲击性,进而能够降低足式机器人的损坏概率。
附图说明
为了清楚地说明本申请实施例的技术方案,下面将对实施例的描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例性实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。以下附图并未刻意按实际尺寸等比例缩放绘制。
图1示出的是本申请实施例的足式机器人的示意图。
图2示出的是本申请实施例的控制足式机器人的方法的流程图。
图3示出的是本申请实施例的足式机器人与平面接触的瞬间的示意图。
图4示出的是本申请实施例的足式机器人落地过程中的质心变化的示意图。
图5示出的是本申请实施例的足式机器人落地过程中的机械腿与平面接触的示意图。
图6示出的是本申请实施例提供的一种三次样条差值的计算原理示意图。
图7示出的是本申请实施例的第一期望轨迹与足式机器人的质心的实际轨迹之间的对比图。
图8A示出的是本申请实施例的足式机器人落地之前的仿真图。
图8B示出的是本申请实施例的足式机器人落地之后的仿真图。
图9示出的是本申请实施例的足式机器人的示例性框图。
图10示出的是本申请实施例的控制足式机器人的装置的结构图。
具体实施方式
为了使得本申请的目的、技术方案和优点更为明显,下面将参考附图详细描述根据 本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。
如本申请实施例和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,也可能包含其他的步骤或元素。
虽然本申请实施例对根据本申请实施例提供的装置中的某些模块做出了各种引用,然而,任何数量的不同模块可以被使用并运行在用户终端和/或服务器上。所述模块仅是说明性的,并且所述装置和方法的不同方面可以使用不同模块。
本申请实施例中使用了流程图用来说明根据本申请实施例提供的方法和装置所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,根据需要,可以按照倒序或同时处理等顺序执行各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
为便于描述本申请实施例,以下介绍与本申请实施例有关的概念。
本申请实施例提供的足式机器人是一种使用机械腿进行移动的机器人;该足式机器人以动物为仿生对象,用于依据工程技术和科学研究成果模拟动物的运动形式和复制动物的运动能力。足式机器人适应于各种环境(包括结构化环境(诸如公路、铁路、经处理的平整路面等)和非结构化环境(诸如山地、沼泽、崎岖不平的路面等)),且可以适应地形的各种变化、翻越各种障碍物,以及可以有效地减小载荷、提高***的能量利用效率。足式机器人按照足数可分为单足足式机器人、双足足式机器人、四足足式机器人、六足足式机器人、八足足式机器人等,其中,四足足式机器人比双足足式机器人静态稳定性好,且比六足足式机器人和八足足式机器人运动简单灵活,因此,四足足式机器人是研究足式机器人的一种常见选择。四足足式机器人的步态是指四足足式机器人为了能够进行连续的移动,四条机械腿在时间和空间上的协调关系。四足足式机器人的步态来自于四足动物的步态,可以包括但不限于以下简化的三种形式:行走(Walk)、小跑(Trot)和跳跃(Bound)。
本申请实施例提供的控制足式机器人的方法可以是基于人工智能(Artificial Intelligence,AI)的。人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,用于了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。例如,基于人工智能的控制足式机器人的方法,能够以类似于人类引导活体动物运动的方式来规划足式机器人的运动轨迹和步态,使得足式机器人的运动灵活仿生。人工智能通过研究各种智能机器的设计原理与实现方法,使本申请实施例提供的控制足式机器人的方法能够自动高效地基于足式机器人的当前运动状态设计足式机器人的后续运动轨迹和步态。
综上所述,本申请实施例提供的控制足式机器人的方法涉及人工智能、机器学习等技术,下面将结合附图对本申请实施例提供的足式机器人的方法进行描述。
图1示出的是本申请实施例提供的足式机器人的示意图。
如图1所示,以四足足式机器人为例说明本申请实施例提供的足式机器人(称为示例足式机器人),图1中的图像1-1示出的为足式机器人的内部透视图,图像1-2示出的为足式机器人的外部结构图。
在本申请实施例中,示例足式机器人能够基于四条机械腿进行移动。其中,每条机械腿可以包括大腿和小腿,且每条机械腿可包括至少一个关节。例如,每条机械腿上可以包括多个下肢关节,多个下肢关节例如为两个自由度的髋关节和一个自由度的膝关节。
在本申请实施例中,每条机械腿还可配置有多个电机,该多个电机可以分别用来控制或组合控制四足足式机器人的髋关节的两个自由度和膝关节的一个自由度。
需要说明的是,足式机器人上还可配置各式各样的传感器,如惯性测量单元(Inertial Measurement Unit,IMU)传感器和关节角编码器等;其中,IMU传感器可以实时地提供足式机器人的加速度和姿态信息,关节角编码器可以实时地提供足式机器人的各个关节的关节角信息(如关节角的角度、角速度反馈值等)。
在本申请实施例中,示例足式机器人在上述提及的多个电机的控制下,可以实现空翻或跳跃等动作,并在执行完这些动作时以自由落地的形式落回平面。为了缓解足式机器人在落地过程中动作僵硬程度,降低各个关节受到的冲击力和机身回弹,以及为了降低由于足式机器人在落地时的损坏概率,常常在足式机器人的自由落地的过程中、以及在足式机器人与平面接触的过程对足式机器人进行控制。
为了对足式机器人的自由下落过程进行控制。例如,将四足足式机器人的每个足端与平面接触过程,等效为x轴和z轴(垂直于平面的竖直方向)方向上的两个虚拟弹簧的作用过程,如果利用控制方案(比如,PD控制方案)来调整虚拟弹簧的刚度和阻尼参数,就能等效地推导出各个关节电机的输出力矩,从而就能使得足式机器人能够灵巧的落地。再例如,可以将机械腿和环境分别等效为两个不同的模型(比如,RLC模型),并基于这两个模型,利用数据驱动(Data-Driven,一种机器学习控制方案),就能推导出各个关节电机的输出力矩,从而就能使得足式机器人能够灵巧的落地。
然而上述对足式机器人的自由下落过程进行控制的方案,都是在足式机器人的机械腿模型或环境模型建立上弹簧阻尼模型,而足式机器人的动力学约束条件和特性是通过机械腿和质心变化体现的,因此,上述对足式机器人的自由下落过程进行控制的方案,与足式机器人的动力学约束条件和特性存在偏差,影响了控制效果。
因此,针对上述问题,本申请实施例提供了一种控制足式机器人的方法,所述足式机器人包括基座和至少两条机械腿,每条机械腿包括至少一个关节,所述方法包括:响应于所述足式机器人下落至与平面接触,确定所述足式机器人对应的第一期望轨迹,并确定所述足式机器人对应的第二期望轨迹,其中,所述第一期望轨迹指示所述足式机器人的质心的期望轨迹,所述第二期望轨迹指示至少两条所述机械腿的足端的期望轨迹;基于所述足式机器人对应的动力学模型、以及所述第一期望轨迹和所述第二期望轨迹,控制所述足式机器人与所述平面接触后各个所述关节的动作。
本申请实施例还提供了一种控制足式机器人的装置,所述足式机器人包括基座和至少两条机械腿,每条机械腿包括至少一个关节,所述装置包括:规划计算模块,配置为响应于所述足式机器人下落至与平面接触,确定所述足式机器人对应的第一期望轨迹,并确定所述足式机器人对应的第二期望轨迹,其中,所述第一期望轨迹指示所述足式机器人的质心的期望轨迹,所述第二期望轨迹指示至少两条所述机械腿的足端的期望轨迹;
控制模块,配置为基于所述足式机器人对应的动力学模型、以及所述第一期望轨迹和所述第二期望轨迹,控制所述足式机器人与所述平面接触后各个所述关节的动作。
本申请实施例还提供了一种足式机器人,包括:基座;下肢部,其连接至所述基座,所述下肢部包括至少两条机械腿,其中,每条所述机械腿包括髋关节和膝关节,所述髋关节包括至少两个自由度,所述膝关节包括至少一个自由度;电子设备,所述电子设备设置在所述足式机器人上,且所述电子设备用于执行本申请实施例提供的控制足式机器人的方法。
本申请实施例提供了一种计算机可读存储介质,其上存储有计算机可执行程序,所述计算机可执行程序在被处理器执行时,使得所述处理器执行本申请实施例提供的控制足式机器人的方法。
本申请实施例提供了一种计算机程序产品,包括计算机可执行程序,所述计算机可执行程序被处理器执行时,实现本申请实施例提供的控制足式机器人的方法。
本申请实施例所提供的控制足式机器人的方法,不仅能够自动地实现对足式机器人的轨迹和步态规划,还能保证足式机器人在落地过程中,减小各个关节受到的冲击力和机身回弹,在保证落地功能的同时对足式机器人形成了抗冲击保护效果。
需要说明的是,以下所描述的本申请实施例提供的控制足式机器人的方法的执行主体为用于控制足式机器人的电子设备。另外,该电子设备可以集成在足式机器人上,也可以与足式机器人独立,本申请实施例对此不作限定。
图2示出的是本申请实施例提供的控制足式机器人的方法的流程图。本申请实施例提供的控制足式机器人的控制方法可以包括如图2所示的步骤S201和S202。如上所述,足式机器人包括基座和至少两条机械腿,每条机械腿包括至少一个关节。
在步骤S201中,响应于足式机器人下落至与平面接触,确定足式机器人对应的第一期望轨迹,并确定足式机器人对应的第二期望轨迹.。
需要说明的是,第一期望轨迹指示足式机器人的质心的期望轨迹,第二期望轨迹指示至少两条机械腿远离的足端的期望轨迹。
作为一个示例,步骤S201可以由任意的电子设备执行。此处的电子设备可以是终端或服务器;或者,此处的电子设备也可以是由终端和服务器共同执行,对此不作限定。其中,终端可以是智能手机、电脑(如平板电脑、笔记本电脑、台式计算机等)、智能穿戴设备(如智能手表、智能眼镜)、智能语音交互设备、智能家电(如智能电视)、车载终端或飞行器等;服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器,等等。
在本申请实施例中,终端和服务器可位于区块链网络内或区块链网络外,对此不作限定;在本申请实施例中,终端和服务器还可将内部所存储的任一数据上传至区块链网络进行存储,以防止内部所存储的数据被篡改,提升数据安全性。
例如,在足式机器人的下落过程中,足式机器人的至少两条机械腿与平面(如地面、桌面等)之间的接触情况会发生变化,使得足式机器人在与平面接触的过程中可包括多种运动形态,如从所有机械腿均离开平面的形态到部分机械腿接触平面的形态再到所有机械腿均接触平面的形态等。由于足式机器人下落的初速度不同,因此,需要确定足式机器人与平面接触的接触信息,并基于接触时刻足式机器人的姿态和状态信息来确定第一期望轨迹和第二期望轨迹。之后将结合图3描述确定足式机器人与平面接触的接触信息的过程,本申请实施例在此不再重复描述。
如上,第一期望轨迹指示足式机器人的质心的期望轨迹。例如,第一期望轨迹可以包括足式机器人的质心在各个时间步期望的位置信息、速度信息、加速度信息等。第一期望轨迹可以以各个时间步对应的质心相关信息组成的时序数值序列来进行表示。当然第一期望轨迹还可以以其他数据结构来进行表示,本申请并不以此为限。之后将结合图4描述确定第一期望轨迹的过程,本申请在此不再重复描述。
机械腿远离基座的一端称为足端,而第二期望轨迹指示至少两条机械腿中每条机械腿的足端的期望轨迹。例如,第二期望轨迹可以包括每条机械腿的足端的在各个时间步期望的位置信息、速度信息、加速度信息、角速度速度、角加速度信息等。又例如,第二期望轨迹还可以包括每条机械腿的各个关节在各个时间步期望的位置信息、速度信息、加速度信息、角速度速度、角加速度信息等。类似地,第二期望轨迹可以以各个时间步对应的每条机械腿相关信息组成的时序序列来进行表示。当然第二期望轨迹还可以以其 他数据结构来进行表示,本申请并不以此为限。之后将结合图5至图6描述确定第二期望轨迹的过程,本申请在此不再重复描述。
其中,一个时间步又可以被称为一帧。相邻时间步之间的时间差可以相同也可以不同。例如,由于足式机器人在刚刚与平面接触的一段时间,足式机器人的动作和受力的变化大于变化阈值,因此时间步之间的差异可以小于时长阈值,从而提升前期足式机器人的动作控制的灵活度。而在足式机器人逐渐达到稳定状态的过程中,时间步之间的差异可以大于时长阈值,以节省算力。本申请实施例并不对相邻时间步之间的时间差进行限定。
在步骤S202中,基于足式机器人对应的动力学模型、以及第一期望轨迹和第二期望轨迹,控制足式机器人与平面接触后各个关节的动作。
需要说明的是,动力学模型用于确定各关节的运动信息(比如,包括角度、角速度、角加速度和关节力矩)、质心运动信息(比如,包括角度、角速度和角加速度)和外界接触力的变化关系。也就是说,足式机器人对应的动力学模型用于表征足式机器人运动过程中以下信息的变化关系:各关节和质心分别对应的角度、角速度、角加速度,关节力矩,外界接触力。例如,该动力学模型可以以能量变化的角度来描述上述变化关系。例如,该动力学模型还可以以动量变化或受力变化的角度来描述上述变化关系。本申请对此不进行限定。
在足式机器人从下落至与平面接触的瞬间到足式机器人在平面上稳定站立的过程中,足式机器人受到的作用力包括重力、各个关节电机的驱动力以及平面向足式机器人提供的接触力(又称为支撑力)。基于重力、驱动力和接触力这三个力,以及足式机器人本体各部分的尺寸、质量、转动惯量、关节连接方式等足式机器人基础信息,可以对应地建立足式机器人对应的动力学模型。不同位姿的足式机器人受到的接触力和驱动力不同。基于足式机器人对应的动力学模型,确定在各个时间步平面与足式机器人之间的接触力,以使得足式机器人的质心的实际轨迹符合第一期望轨迹。
在本申请实施例中,基于足式机器人对应的动力学模型、以及在各个时间步平面与足式机器人之间的接触力,还可以确定各个关节电机在各个时间步提供的电机力矩,以使得至少两条机械腿的足端的轨迹符合第二期望轨迹。
也就是说,通过动力学模型、第一期望轨迹和第二期望轨迹,确定平面与足式机器人之间的接触力,以及确定各个关节电机提供的电机力矩,并基于确定的接触力和电机力矩控制各个关节的动作。
需要说明的是,本申请实施例中的“符合”是指在真机实际测试时,足式机器人的质心的实际轨迹与第一期望轨迹非常接近(轨迹偏差小于轨迹偏差阈值)甚至相同,至少两条机械腿远离的足端的轨迹与第二期望轨迹非常接近甚至相同。由于关节电机性能的限制,关节电机往往不能输出理想的力矩。同时,考虑到外界环境的变化(例如,突然出现风等其它的扰动),往往难以控制足式机器人完全符合第一期望轨迹和第二期望轨迹。因此,本申请实施例中所述的符合,可以是指实际轨迹和期望轨迹之间的差异小于差异阈值。
在本申请的一些实施例中,基于足式机器人对应的动力学模型,可以对应地求解出使得足式机器人的质心在各个时间步达到第一期望轨迹所指示的位置、速度和加速度所需的接触力,接触力为平面向各个机械腿的足端提供的支撑力。并且,基于足式机器人对应的动力学模型以及上述接触力,可以求解得到使得足式机器人的机械腿在各个时间步达到第二期望轨迹所指示的位姿所需的关节控制信息。
在本申请实施例中,关节控制信息既可以是各个关节电机的加速度,也可以是关节电机的力矩。在实际物理***当中,关节电机的加速度和力矩的测量准确度存在差异。 因此,本领域技术人员在实际应用中,可以根据实际情况,从关节电机的加速度和力矩中选择准确度较高的物理量进行后续计算。
图3示出的是本申请实施例的足式机器人3-1与平面3-2接触的瞬间的示意图。
如上所述,为了对足式机器人进行落地缓冲,可通过确定至少两条机械腿在当前时刻与平面之间的接触状态实现。所谓的当前时刻是指:在足式机器人的落地过程中,随着时间的推进,最新到达的***时刻。例如,至少两条机械腿在当前时刻与平面之间的接触状态包括:足式机器人的至少两条机械腿是否与平面接触、至少两条机械腿与平面的接触点的数量、以及各个接触点的位置等信息,以确定足式机器人的第一期望轨迹和第二期望轨迹。
在本申请的一些实施例中,接触状态是通过足式机器人在当前时刻对应的当前状态信息确定的。
在本申请实施例中,可调用足式机器人中的IMU传感器来确定足式机器人的当前状态信息。例如,首先,可以通过IMU传感器来采集足式机器人在当前时刻的加速度信息(可包括足式机器人在多个方向(如竖直方向、水平方向)上的加速度)和当前姿态信息,以及调用关节角编码器确定足式机器人的各个关节在当前时刻的关节角信息(如关节角的角度、角速度反馈值等)。其次,可将当前姿态信息和关节角信息(如关节角的角度、角速度反馈值)汇入腿部里程计(Leg Odometry),以计算出位置信息(可采用y1表示),该位置信息可包括:计算出的足式机器人的至少两条机械腿在当前时刻的位置。另外,可将加速度信息输入至状态空间观测器,以使得状态空间观测器可基于加速度信息和历史得到的足式机器人在当前时刻的状态估计结果输出位置观测结果(可采用ym表示),该位置观测结果可包括:观测出的足式机器人的至少两条机械腿在当前时刻的位置;其中,足式机器人在当前时刻的状态估计结果,可以是在当前时刻的上一时刻到达时,对足式机器人在当前时刻的状态进行估计所得到的,足式机器人在当前时刻的状态估计结果可存储在向量或其他数据结构中,对此不作限定。然后,可根据位置信息和位置观测结果,对足式机器人在当前时刻的下一时刻的状态进行估计。
例如,还可将位置信息和位置观测结果作为扩展卡尔曼滤波(Extended Kalman Filter,EKF)单元的输入,以通过该单元进行状态估计,从而得到足式机器人在下一时刻的状态估计结果。所谓的扩展卡尔曼滤波是标准卡尔曼滤波(简称卡尔曼滤波)在非线性情形下的一种扩展形式,通过将非线性函数进行泰勒展开,省略高阶项,保留展开项的一阶项,以此来实现非线性函数线性化。
在本申请实施例中,也可将位置信息和位置观测结果作为卡尔曼滤波单元的输入或基于机器学习所得到的状态估计模型的输入,以通过卡尔曼滤波单元或状态估计模型进行状态估计,得到足式机器人在下一时刻的状态估计结果。其中,足式机器人在下一时刻的状态估计结果,可同时用于足式机器人的控制和下一次状态估计时的状态空间观测器的输入;也就是说,通过状态估计所得到的估计结果可用于足式机器人的反馈控制,从而形成闭环。
下面对根据足式机器人的当前状态信息确定接触信息的几种实施方式进行阐述。
由于任意机械腿与平面之间的接触信息发生变化时,机械腿对应的任一项的状态值可发生突变,因此可以通过机械腿的当前状态值来判断机械腿在当前时刻与平面之间的接触信息。从而,在本申请实施例中,根据当前状态信息确定接触信息的方式包括:获取任一机械腿在当前时刻的上一时刻的历史状态值,并从当前状态信息中确定任一机械腿的当前状态值,从而可根据历史状态值,判断任一机械腿的当前状态值是否存在突变。
在本申请实施例中,当前状态值存在突变是指当前状态值和历史状态值之间的差值大于预设差值。基于此,可计算历史状态值与任一项的当前状态值之间的差值;若计算 出的差值大于预设差值,则判定当前状态值存在突变;若计算出的差值不大于预设差值,则判定当前状态值不存在突变。例如,设历史状态值为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中示出了两条曲线,其中实线4-1为足式机器人在落地过程中的质心位置高度随时间步变化的示意曲线,x轴为时间步,y轴为高度(单位为厘米),虚线4-2为足式机器人的质心在静止状态下的高度。该实线4-1示意性的示出了第一期望轨迹在z轴方向上的分量的变化。如该实线4-1所示,在足式机器人与地面接触后,足式机器人的质心的高度逐渐降低然后逐渐上升。
如图4所示,足式机器人首先以较大的加速度(大于加速度阈值)下落至单条机械腿与平面接触。此时,与平面接触的机械腿承受平面给的作用力,质心下降的速度逐渐减小。随着四条机械腿依次与平面接触,四条机械腿一起承受平面对足式机器人的作用力,并始终保持与平面的接触,直至足式机器人的质心达到预期的静止高度。
基于此,为了实现足式机器人在落地过程中的缓冲效果,并且降低足式机器人的机身回弹,可以基于图4中实线4-1与虚线4-2之间的关系,设定优化目标,以使得期望轨迹尽量实现预期的缓冲效果。例如,优化目标可以是降低超调、降低竖直方向的高度随时间的积分较小、最低的高度高于安全高度阈值、力的变化值低于变化值阈值、竖直方向的高度的变化速度要满足一定的约束条件等等。
在本申请的一些实施例中,可使用足式机器人对应的近似模型来确定足式机器人的质心期望轨迹。在近似模型中,足式机器人被近似为单刚体,并且在足式机器人与平面接触的过程中,至少两条机械腿的合力形成对单刚体的向上推力。进而,基于该对单刚体的向上推力确定足式机器人的支撑力。
例如,足式机器人可以被近似为一个质量为m的单刚体。在足式机器人包括四条机械腿的情况下,四条机械腿的合力形成对单刚体的向上推力u。基于这样的近似模型,再结合牛顿第二定律,可以确定公式(1)(称为动力学方程)。
其中,以竖直向上为正方向;g为重力系数,值等于-9.81(负号表示重力方向竖直向下);指示竖直方向上的加速度。
将该动力学方程写成状态空间表示(State Space Representation)形式,也即如下示出的公式(2)。
公式(2)可以被简写成公式(3)的形式。在本申请实施例中,粗体用于表示向量(矩阵)。
其中,对应地,将公式(3)按照时间步(时间步的长度为Δt)离散化,可以得到公式(4)。
令Ad=AcΔt+I,Bd=BcΔt。基于模型预测控制(Model Predictive Control,MPC)。由公式(4)可以得到公式(5)。
其中,x1表示第一时间步对应的由质心竖直方向高度、质心竖直方向速度、重力加速度组成的向量;x2表示第二时间步对应的由质心竖直方向高度、质心竖直方向速度、重力加速度组成的向量;依次类推,xk表示第k时间步对应的由质心竖直方向高度、质心竖直方向速度、重力加速度组成的向量。其中,x0为初始时刻对应的由质心竖直方向高度、质心竖直方向速度、重力加速度组成的向量。公式(5)也可以被简写成公式(6)
X=Aqpx0+BqpU                  (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示出的是本申请实施例提供的一种三次样条差值的计算原理示意图。
如图5所示,足式机器人的四条机械腿不是同一时间落地,而是存在一个先后顺序。当第一条机械腿接触地面之后,需要保证该机械腿与地面的接触位置在整个的落地过程中保持不变。其余机械腿依次与平面接触,并在接触后始终保持与平面的接触,直至足 式机器人的质心达到预期的静止高度。由此,在本申请的一些实施例中,可以在单条机械腿落地的瞬时时刻,确定单条机械腿远离基座的一端与平面接触的接触位置,将该接触位置作为该单条机械腿对应的期望轨迹,并在各个时间保持不变;基于第一期望轨迹,确定其余机械腿的足端的运动轨迹,运动轨迹作为其余机械腿对应的期望轨迹;最后,再将单条机械腿对应的期望轨迹、以及其余机械腿对应的期望轨迹,确定为足式机器人对应的第二期望轨迹。其中,单条机械腿是指第一条接触地面的机械腿。
例如,基于第一期望轨迹确定其余机械腿远离的足端的运动轨迹,包括:在单条机械腿落地(与平面接触)的瞬时时刻,根据第一期望轨迹中与瞬时时刻对应的位置,确定其余机械腿的足端初始位置;基于第一期望轨迹,确定稳定时刻对应的其余机械腿对应足端位置坐标,其中,在稳定时刻,足式机器人的质心姿态恢复到与平面平行、四条机械腿完全接触平面、四条机械腿的腿长相等;基于瞬时时刻对应的足端初始位置和稳定时刻对应的其余机械腿对应足端位置坐标进行插值(比如,使用三次样条差值进行插值),以确定其余机械腿远离的足端的运动轨迹。
在本申请实施例中,在单条机械腿落地的瞬时时刻,根据足式机器人的质心位置和姿态,可以对应地计算出其余机械腿的足端的位置坐标,将该足端的位置坐标作为落地的瞬时时刻的足端初始位置。其余机械腿在稳定时刻对应的足端位置坐标的计算过程类似,本申请实施例在此不再重复描述。
例如,参见图5中的足式机器人的姿态5-1,在单条机械腿落地的瞬时时刻,根据足式机器人的质心位置和姿态,可以对应地计算出其他三条机械腿的足端位置坐标,将该足端位置坐标作为落地时刻的足端初始位置。
在本申请实施例中,电子设备可将当前时刻采集到的足式机器人的传感信息输入至腿部里程计中,以使腿部里程计根据传感信息对足式机器人的至少两条机械腿在当前时刻的位置进行计算,得到位置信息。
其中,足端位置坐标的位置信息可至少包括:其他三条机械腿在世界坐标系下的各个方向位置向量。不同的方向位置向量对应不同的坐标轴方向;一个方向位置向量用于指示足式机器人的至少两条机械腿在相应坐标轴方向上的位置。其中,腿部里程计计算与水平轴方向对应的方向位置向量的方式包括:首先,可基于当前姿态信息计算旋转矩阵,所谓的旋转矩阵是指通过改变任一向量的方向,从而实现将该任一向量映射到机器人基坐标系中的矩阵;这里,可根据当前姿态信息确定足式机器人的基座姿态角,根据该基座姿态角计算出旋转矩阵。以及,还可根据各个关节的关节角信息计算出参考位置向量,该参考位置向量用于指示:足式机器人的基座质心和各条机械腿的足端之间的相对位置。接着,可采用旋转矩阵将参考位置向量映射到机器人基坐标系中,得到目标位置向量;这里,可将旋转矩阵乘以参考位置向量,得到目标位置向量。
另外,可先获取足式机器人的质心在世界坐标系下的三维位置向量。然后,对目标位置向量在水平轴方向上的分量,以及三维位置向量在水平轴方向上的分量进行融合处理,得到水平轴方向对应的方向位置向量;此处的融合处理可包括求和处理。
需要说明的是,腿部里程计计算与其他坐标轴(如竖直轴、垂直轴)方向对应的方向位置向量的方式,与计算与水平轴方向对应的方向位置向量的方式类似,在此不再重复描述。并且,位置信息除了包括世界坐标系下的至少两个方向位置向量以外,还可包括机器人基坐标系下的足端位置向量或足端速度向量等其他向量。其中,足端位置向量用于指示:足式机器人的至少两条机械腿的足端在机器人基坐标系下的三维位置;腿部里程计计算足端位置向量的方式可包括:对目标位置向量进行求逆处理,得到足端位置向量。足端速度向量用于指示:足式机器人的至少两条机械腿的足端在机器人基坐标系下的三维速度;腿部里程计计算足端速度向量的方式可包括:对目标位置向量(pf)进 行求导处理,并对求导结果进行求逆处理,得到足端速度向量。
参见图5中的足式机器人的姿态5-2,在第一条机械腿绝对位置不变的情况下,若足式机器人的质心姿态最终恢复到与平面平行、四条机械腿完全接触平面、四条机械腿的腿长相等状态时,将另外三条机械腿的足端位置与地面接触点的位置坐标,作为落地过程结束时刻的足端位置坐标。
在足式机器人从图5中的姿态5-1演变至图5中的姿态5-2的过程中,另外三条机械腿的足端位置的x和y方向数值序列使用初始时刻和结束时刻的位置的三次样条差值(Cubic Spline Interpolation)实现。同理,足式机器人的质心的x和y方向数值序列使用初始时刻和结束时刻的位置的三次样条差值实现。
如图6所示,本申请实施例提供的三次样条差值就是把已知数据分割成若干段,每段构造一个三次函数,并且保证曲线通过特定点,并保证在某些特定点满足一定的速度约束条件。示例性地,当已知数据包括(pa,va,ta)、(pb,tb)以及(pc,vc,tc)等三个数据时,p表示位置,v表示速度,t表示时间,且将已知数据分割成两段为例,三次样条差值的计算原理可参见图6所示:可先构造f1(t)和f2(t)两个三次函数,然后可基于这两个三次函数和已知数据建立等式方程组,从而通过该等式方程组求解出三次多项式系数(a0,a1,a2,a3,b0,b1,b2,b3);在求解出三次多项式系数后,后续便可利用这两个三次函数确定足式机器人在任一时刻所处的位置以及相应的速度,从而实现对足式机器人的控制。
在本申请实施例中,基于第一期望轨迹可以对应地求解另外三条机械腿的z方向数值序列。这里,在足式机器人的单条机械腿与平面接触后,其余机械腿的长度随着足式机器人的质心的高度的变化而变化。因此,另外三条机械腿的z方向数值序列可以被描述为:足式机器人的质心在z方向达到第一期望轨迹指示的位置时,这三条机械腿的足端正好可以接触地面的高度。此外,也可以使用三次样条差值求解另外三条机械腿的z方向数值序列,本申请实施例并不以此为限。
接下来,结合图7、图8A和图8B描述控制足式机器人与平面接触后各个关节的动作的过程。其中,图7示出了本申请实施例的第一期望轨迹与足式机器人的质心的实际轨迹之间的对比图。图8A示出了本申请实施例的足式机器人落地之前的仿真图。图8B示出了本申请实施例的足式机器人落地之后的仿真图。
基于足式机器人的动力学方程及第一期望轨迹对足式机器人进行控制的方案又称为模型预测控制(Model Predictive Control,MPC)。而结合动力学方程和第二期望轨迹对各个关节的控制方案又称全身动力学(Whole-Body Dynamics Control,WBC)。
在本申请实施例中,将MPC和WBC相结合实现了落地过程中的缓冲控制,其中,实现缓冲控制的过程包括:通过计算未来控制变量的轨迹(也即第一期望轨迹和第二期望轨迹),来优化控制器的输出(也即各个关节电机的力矩)。优化过程在一个有限的时间窗口进行,并且利用时间窗口的初始***信息进行优化。其中,时间窗口的起始时刻为足式机器人与平面接触的瞬间,终止时刻为足式机器人稳定站立的时刻。
作为一个示例,足式机器人的动力学方程可以以公式(14)进行表示。
公式(14)的前6行(如以下的公式(15)所示)即为足式机器人的质点动力学信息。
其中,Mp表示基座对应的质量和惯量矩阵。表示六维的质心位置和姿态向量,是第一期望轨迹对应的序列。在本申请实施例中,质心位置包括重力方向(z方向)的位 置,并且x方向、y方向以及旋转角度方向均为零。f为平面向4个足端提供的接触力,平面向每个足端提供的接触力均为3维的力,因此,f总维数为12。Cp表示基座的重力项、离心力项和科里奥利力项。表示基座的雅克比矩阵的转置。基于此,可以应用MPC求解出平面向足式机器人提供的接触力f。也即,基于足式机器人对应的动力学模型,能够确定在各个时间步平面与足式机器人之间的接触力,以使得足式机器人的质心的实际轨迹符合第一期望轨迹。
公式(14)的下半部分(如以下的公式(16)所示)即为足式机器人的关节的动力学信息。
其中,Mθ表示每个关节对应的质量和惯量矩阵,θ表示所有可驱动的自由度的角度(在图1或图5所示的四足机器人中,包括12个关节电机对应的自由度)。Cθ表示可驱动关节的重力项、离心力项和科里奥利力项。表示可驱动关节的雅克比矩阵的转置。为足式机器人的12个可以主动驱动的关节角加速度。τ为12个关节的输入力矩。根据公式(15)求出的接触力f,机器人动力学模型的其他参数均已知,可以应用公式(16)求出机器人各个关节力矩τ。
在本申请实施例中,公式(16)还可以被写成公式(17)的形式。
其中,可以由公式(18)求解。
其中,而xd由第二期望轨迹确定,kp、kd是PD控制的系数。
也即,基于足式机器人对应的动力学模型以及在各个时间步平面与足式机器人之间的接触力,确定各个关节电机在各个时间步提供的电机力矩,以使得各条机械腿远离基座的一端的轨迹符合第二期望轨迹。
如图7所示,曲线7-1示出了第一期望轨迹,其中y轴为足式机器人的质心高度,x轴为时刻。在图7中,曲线7-2示出了质心的实际轨迹,其通过上述提及的数据采集装置确定不同时刻的足式机器人的质心高度。可见经过MPC和全身动力学的控制,足式机器人实际质心高度可以跟随前述用简化模型规划出来的质心位置,实现落地的柔顺控制。
如图8A中的姿态8-11至姿态8-14所示,在仿真测试中,当足式机器人从高度0.75米的位置下落时,在接触地面瞬间,腿长收缩。接着如图8B的姿态8-21至姿态8-28所示,在落地缓冲的过程中,足式机器人的基座和地面之间的距离逐渐缩减,腿部给予足式机器人质心一个反作用力,该反作用力作用下足式机器人的本体姿态实现减速,但同时在足式机器人本体高度回弹的过程中不会让足式机器人的足端高度从地面反弹起来,降低了整个质心高度变化过程中的超调。在柔顺控制的结尾,足式机器人可以以一个预设姿态站立在地上,该姿态及质心的高度回弹过程整体符合预期。
图7至图8B均指示,在足式机器人接触地面瞬间有较大z方向下落速度(大于速度阈值)的情况下,应用本申请实施例,能够减少足式机器人在整个落地过程中对关节的冲击,减小上身回弹,消除了腿部腾空后二次落地的现象,在保证落地功能的同时对足式机器人形成了良好的抗冲击保护效果。
本申请实施例对自由落体运动下的足式机器人的建立了模型,并基于该模型,对足式机器人落地后的质心运动轨迹和足端位置轨迹进行了规划,并基于规划的质心运动轨迹和足端位置轨迹,求解各个电机的控制力矩,对足式机器人进行控制。从而,在足式机器人在落地过程中,能够减少各个关节受到的冲击力,减小机身回弹,在保证落地功 能的同时对足式机器人形成了良好的抗冲击保护效果。
本申请实施例提出了一种足式机器人900。图9示出了根据本申请实施例的足式机器人900的示例性框图。
该足式机器人900可以包括:基座910、连接至该基座910的下肢部920,并且所述下肢部920可以包括至少两条机械腿(比如,四条下肢),每条所述机械腿包括髋关节和膝关节,所述髋关节包括至少两个自由度,所述膝关节包括至少一个自由度(比如,每条下肢可以包括髋关节两个自由度和膝关节1个自由度)。
所述下肢部是指该足式机器人用于实现运动的足式部件,其例如包括机械腿及将机械腿与基座相连且用于实现对该机械腿的运动控制的电机。本申请实施例不受该下肢部的具体组成类型及其下肢数量的限制。
所述基座是指该足式机器人的主体部分,例如可以为该足式机器人的躯干部,本申请实施例不受该基座的具体形状及组成的限制。
在一些实施例中,该基座例如包括2个脊柱关节,该下肢部例如可以包括8个下肢关节,本申请实施例不受该基座及该下肢部所包括的具体关节个数的限制,也不受该足式机器人所具有的具体关节构型的限制。
该足式机器人还可以包括电子设备930,该电子设备930设置在该足式机器人上,且能够执行如前所述的控制足式机器人的方法,具有如前所述的功能。
电子设备930例如包括处理装置。处理装置可以包括微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列、状态机或用于处理从传感器线接收的电信号的其他处理器件。这种处理器件可以包括可编程电子设备,例如PLC,可编程中断控制器(PIC)、可编程逻辑器件(PLD)、可编程只读存储器(PROM)、电子可编程只读存储器等。
此外,该足式机器人还可以包括总线、存储器、传感器组件、通信模块和输入输出装置等。
总线可以是将该足式机器人的各部件互连并在各部件之中传递通信信息(例如,控制消息或数据)的电路。
传感器组件可以用于对物理世界进行感知,例如包括摄像头、红外传感器超声波传感器等。此外,传感器组件还可以包括用于测量足式机器人当前运行及运动状态的装置,例如霍尔传感器、激光位置传感器、或应变力传感器等。
通信模块例如可以通过有线或无效与网络连接,以便于与物理世界(例如,服务器)通信。通信模块可以是无线的并且可以包括无线接口,例如,电气与电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE)802.11、蓝牙、无线局域网(WLAN)收发器、或用于接入蜂窝电话网络的无线电接口(例如,用于接入CDMA、GSM、UMTS或其他移动通信网络的收发器/天线)。在本申请实施例中,通信模块可以是有线的并且可以包括诸如以太网、通用串行总线(Universal Serial Bus,USB)或IEEE 1394之类的接口。
输入输出装置可以将例如从用户或任何其他外部设备输入的命令或数据传送到足式机器人的一个或多个其他部件,或者可以将从足式机器人的一个或多个其他部件接收的命令或数据输出到用户或其他外部设备。
多个足式机器人可以组成足式机器人***以协同地完成一项任务,该多个足式机器人通信地连接到服务器,并且从服务器接收协同足式机器人指令。
下面继续说明本申请实施例提供的控制足式机器人的装置的实施为软件模块的示例性结构,在一些实施例中,如图10所示,存储在电子设备930的存储器1050的控制足式机器人的装置1055中的软件模块可以包括:
规划计算模块10551,配置为响应于所述足式机器人下落至与平面接触,确定所述足式机器人对应的第一期望轨迹,并确定所述足式机器人对应的第二期望轨迹,其中,所述第一期望轨迹指示所述足式机器人的质心的期望轨迹,所述第二期望轨迹指示至少两条所述机械腿的足端的期望轨迹;
控制模块10552,配置为基于所述足式机器人对应的动力学模型、以及所述第一期望轨迹和所述第二期望轨迹,控制所述足式机器人与所述平面接触后各个所述关节的动作。
在本申请实施例中,所述规划计算模块10551,还配置为响应于所述足式机器人下落至与所述平面接触,基于所述足式机器人对应的近似模型,确定所述足式机器人对应的所述第一期望轨迹,其中,在所述近似模型中,所述足式机器人为单刚体,并且在所述足式机器人与所述平面接触的过程中,至少两条所述机械腿的合力形成对所述单刚体的向上推力。
在本申请实施例中,所述第一期望轨迹用于将以下各项的组合值达到极值:所述足式机器人的质心波动量、所述足式机器人受到的冲击力总量、所述足式机器人的下蹲量、所述足式机器人受到的冲击力突变量。
在本申请实施例中,所述第一期望轨迹满足以下各项约束条件:第一约束条件,用于指示瞬间冲击力小于所述足式机器人能够承受的最大冲击力,所述瞬间冲击力是指所述足式机器人接触平面的瞬时时刻所受到的冲击力;第二约束条件,用于指示所述足式机器人受到的冲击力小于所述平面能够提供的支持力的上限,并大于所述平面能够提供的支持力的下限;第三约束条件,用于指示所述足式机器人的质心的高度大于最低高度。
在本申请实施例中,所述规划计算模块10551,还配置为在单条机械腿与所述平面接触的瞬时时刻,确定所述单条机械腿的足端与所述平面接触的接触位置,将与各个时间步对应的各个所述接触位置作为所述单条机械腿对应的期望轨迹,各个所述接触位置在各个所述时间步保持不变;基于所述第一期望轨迹,确定其余机械腿的足端的运动轨迹,将所述运动轨迹作为所述其余机械腿对应的期望轨迹,所述其余机械腿是指至少两条所述机械腿中除所述单条机械腿之外的所述机械腿;将所述单条机械腿对应的期望轨迹、以及所述其余机械腿对应的期望轨迹,确定为所述足式机器人对应的所述第二期望轨迹。
在本申请实施例中,所述规划计算模块10551,还配置为在所述单条机械腿与所述平面接触的所述瞬时时刻,根据所述第一期望轨迹中与所述瞬时时刻对应的位置,确定所述其余机械腿在所述瞬时时刻对应的足端初始位置;基于所述第一期望轨迹,确定所述其余机械腿在稳定时刻对应的足端位置坐标,其中,在所述稳定时刻,所述足式机器人的质心姿态恢复到与所述平面平行、至少两条所述机械腿接触所述平面、至少两条所述机械腿的腿长相等;基于所述足端初始位置和所述其余机械腿在所述稳定时刻对应的足端位置坐标进行插值,得到所述其余机械腿的足端的所述运动轨迹。
在本申请实施例中,所述控制模块10552,还配置为通过控制所述足式机器人与平面接触后各个关节的动作,控制所述足式机器人的单条机械腿先与所述平面接触并保持接触位置不变,其余机械腿依次与所述平面接触,并在接触后保持与所述平面的接触,直至所述足式机器人的质心达到预期的静止高度。
在本申请实施例中,所述第一期望轨迹指示:在所述足式机器人与所述平面接触后,所述足式机器人的质心的高度逐渐降低然后逐渐上升。
在本申请实施例中,所述第二期望轨迹指示:在所述足式机器人的单条机械腿与所述平面接触后,其余机械腿的长度随着所述足式机器人的质心的高度的变化而变化。
在本申请实施例中,所述基于所述足式机器人对应的动力学模型、以及所述第一期 望轨迹和所述第二期望轨迹,控制所述足式机器人与所述平面接触后各个所述关节的动作,包括:基于所述足式机器人对应的所述动力学模型,确定在各个时间步所述平面与所述足式机器人之间的接触力,所述接触力用于控制所述足式机器人的质心的实际轨迹符合所述第一期望轨迹;基于所述足式机器人对应的所述动力学模型以及各个所述接触力,确定各个关节电机在各个所述时间步提供的电机力矩,所述电机力矩用于控制至少两条所述机械腿的足端的轨迹符合所述第二期望轨迹。
在本申请实施例中,所述控制足式机器人的装置1055还包括接触判断模块10553,配置为基于所述足式机器人的当前状态信息,确定接触信息,所述接触信息指示至少两条所述机械腿在当前时刻与所述平面之间的接触状态;基于所述接触信息,确定所述足式机器人下落至与所述平面接触。
在本申请实施例中,所述接触判断模块10553,还配置为获取任一所述机械腿在当前时刻的上一时刻的历史状态值;基于所述足式机器人的所述当前状态信息,确定所述机械腿的当前状态值;基于所述当前状态值和所述历史状态值,确定所述当前状态值是否存在突变;基于所述当前状态值是否存在突变,确定所述机械腿对应的所述接触信息。
在本申请实施例中,所述当前状态信息包括以下各项中的至少一项:至少两条所述机械腿的关节电机力矩或电流值或电压值;所述足式机器人的质心高度、质心姿态、至少两条所述机械腿对应的当前关节角信息;至少两条所述机械腿对应的当前足底触觉反馈值;所述足式机器人在竖直方向上的当前加速度。
可以理解的是,在本申请实施例中,涉及到足式机器人的运动信息等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
技术中的程序部分可以被认为是以可执行的代码和/或相关数据的形式而存在的“产品”或“制品”,通过计算机可读的介质所参与或实现的。有形的、永久的储存介质可以包括任何计算机、处理器、或类似设备或相关的模块所用到的内存或存储器。例如,各种半导体存储器、磁带驱动器、磁盘驱动器或者类似任何能够为软件提供存储功能的设备。
所有软件或其中的一部分有时可能会通过网络进行通信,如互联网或其他通信网络。此类通信可以将软件从一个计算机设备或处理器加载到另一个。因此,另一种能够传递软件元素的介质也可以被用作局部设备之间的物理连接,例如光波、电波、电磁波等,通过电缆、光缆或者空气等实现传播。用来载波的物理介质如电缆、无线连接或光缆等类似设备,也可以被认为是承载软件的介质。在这里的用法除非限制了有形的“储存”介质,其他表示计算机或机器“可读介质”的术语都表示在处理器执行任何指令的过程中参与的介质。
本申请使用了特定词语来描述本申请的实施例。如“本申请实施例”和/或“本申请的一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本申请中在不同位置两次或多次提及的“本申请实施例”或“本申请的一些实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“***”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算 机产品,该产品包括计算机可读程序编码。
除非另有定义,这里使用的所有术语(包括技术和科学术语)具有与本发明所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
上面是对本申请的说明,而不应被认为是对其的限制。尽管描述了本申请的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本申请的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本申请范围内。应当理解,上面是对本申请的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要求书的范围内。本申请由权利要求书及其等效物限定。

Claims (18)

  1. 一种控制足式机器人的方法,所述足式机器人包括基座和至少两条机械腿,每条机械腿包括至少一个关节,所述方法包括:
    响应于所述足式机器人下落至与平面接触,确定所述足式机器人对应的第一期望轨迹,并确定所述足式机器人对应的第二期望轨迹,其中,所述第一期望轨迹指示所述足式机器人的质心的期望轨迹,所述第二期望轨迹指示至少两条所述机械腿的足端的期望轨迹;
    基于所述足式机器人对应的动力学模型、以及所述第一期望轨迹和所述第二期望轨迹,控制所述足式机器人与所述平面接触后各个所述关节的动作。
  2. 如权利要求1所述的方法,其中,所述响应于所述足式机器人下落至与平面接触,确定所述足式机器人对应的第一期望轨迹,包括:
    响应于所述足式机器人下落至与所述平面接触,基于所述足式机器人对应的近似模型,确定所述足式机器人对应的所述第一期望轨迹,其中,在所述近似模型中,所述足式机器人为单刚体,并且在所述足式机器人与所述平面接触的过程中,至少两条所述机械腿的合力形成对所述单刚体的向上推力。
  3. 如权利要求2所述的方法,其中,所述第一期望轨迹用于将以下各项的组合值达到极值:所述足式机器人的质心波动量、所述足式机器人受到的冲击力总量、所述足式机器人的下蹲量、所述足式机器人受到的冲击力突变量。
  4. 如权利要求3所述的方法,其中,所述第一期望轨迹满足以下各项约束条件:
    第一约束条件,用于指示瞬间冲击力小于所述足式机器人能够承受的最大冲击力,所述瞬间冲击力是指所述足式机器人接触平面的瞬时时刻所受到的冲击力;
    第二约束条件,用于指示所述足式机器人受到的冲击力小于所述平面能够提供的支持力的上限,并大于所述平面能够提供的支持力的下限;
    第三约束条件,用于指示所述足式机器人的质心的高度大于最低高度。
  5. 如权利要求1所述的方法,其中,所述确定所述足式机器人对应的第二期望轨迹,包括:
    在单条机械腿与所述平面接触的瞬时时刻,确定所述单条机械腿的足端与所述平面接触的接触位置,将与各个时间步对应的各个所述接触位置作为所述单条机械腿对应的期望轨迹,各个所述接触位置在各个所述时间步保持不变;
    基于所述第一期望轨迹,确定其余机械腿的足端的运动轨迹,将所述运动轨迹作为所述其余机械腿对应的期望轨迹,所述其余机械腿是指至少两条所述机械腿中除所述单条机械腿之外的所述机械腿;
    将所述单条机械腿对应的期望轨迹、以及所述其余机械腿对应的期望轨迹,确定为所述足式机器人对应的所述第二期望轨迹。
  6. 如权利要求5所述的方法,其中,所述基于所述第一期望轨迹,确定其余机械腿的足端的运动轨迹,包括:
    在所述单条机械腿与所述平面接触的所述瞬时时刻,根据所述第一期望轨迹中与所述瞬时时刻对应的位置,确定所述其余机械腿在所述瞬时时刻对应的足端初始位置;
    基于所述第一期望轨迹,确定所述其余机械腿在稳定时刻对应的足端位置坐标,其中,在所述稳定时刻,所述足式机器人的质心姿态恢复到与所述平面平行、至少两条所述机械腿接触所述平面、至少两条所述机械腿的腿长相等;
    基于所述足端初始位置和所述其余机械腿在所述稳定时刻对应的足端位置坐标进行插值,得到所述其余机械腿的足端的所述运动轨迹。
  7. 如权利要求1至6中任一项所述的方法,其中,所述控制所述足式机器人与所述平面接触后各个所述关节的动作,包括:
    通过控制所述足式机器人与所述平面接触后各个所述关节的动作,控制所述足式机器人的单条机械腿先与所述平面接触并保持接触位置不变,其余机械腿依次与所述平面接触,并在接触后保持与所述平面的接触,直至所述足式机器人的质心达到预期的静止高度。
  8. 如权利要求1至6中任一项所述的方法,其中,所述第一期望轨迹指示:在所述足式机器人与所述平面接触后,所述足式机器人的质心的高度逐渐降低然后逐渐上升。
  9. 如权利要求8所述的方法,其中,所述第二期望轨迹指示:在所述足式机器人的单条机械腿与所述平面接触后,其余机械腿的长度随着所述足式机器人的质心的高度的变化而变化。
  10. 如权利要求1至6中任一项所述的方法,其中,所述基于所述足式机器人对应的动力学模型、以及所述第一期望轨迹和所述第二期望轨迹,控制所述足式机器人与所述平面接触后各个所述关节的动作,包括:
    基于所述足式机器人对应的所述动力学模型,确定在各个时间步所述平面与所述足式机器人之间的接触力,所述接触力用于控制所述足式机器人的质心的实际轨迹符合所述第一期望轨迹;
    基于所述足式机器人对应的所述动力学模型以及各个所述接触力,确定各个关节电机在各个所述时间步提供的电机力矩,所述电机力矩用于控制至少两条所述机械腿的足端的轨迹符合所述第二期望轨迹。
  11. 如权利要求1至6中任一项所述的方法,其中,所述响应于所述足式机器人下落至与平面接触之前,所述方法还包括:
    基于所述足式机器人的当前状态信息,确定接触信息,所述接触信息指示至少两条所述机械腿在当前时刻与所述平面之间的接触状态;
    基于所述接触信息,确定所述足式机器人下落至与所述平面接触。
  12. 如权利要求11所述的方法,其中,所述基于所述足式机器人的当前状态信息,确定接触信息,包括:
    获取任一所述机械腿在当前时刻的上一时刻的历史状态值;
    基于所述足式机器人的所述当前状态信息,确定所述机械腿的当前状态值;
    基于所述当前状态值和所述历史状态值,确定所述当前状态值是否存在突变;
    基于所述当前状态值是否存在突变,确定所述机械腿对应的所述接触信息。
  13. 如权利要求11所述的方法,其中,所述当前状态信息包括以下各项中的至少一项:
    至少两条所述机械腿的关节电机力矩或电流值或电压值;
    所述足式机器人的质心高度、质心姿态、至少两条所述机械腿对应的当前关节角信息;
    至少两条所述机械腿对应的当前足底触觉反馈值;
    所述足式机器人在竖直方向上的当前加速度。
  14. 一种控制足式机器人的装置,所述足式机器人包括基座和至少两条机械腿,每条机械腿包括至少一个关节,所述装置包括:
    规划计算模块,配置为响应于所述足式机器人下落至与平面接触,确定所述足式机器人对应的第一期望轨迹,并确定所述足式机器人对应的第二期望轨迹,其中,所述第一期望轨迹指示所述足式机器人的质心的期望轨迹,所述第二期望轨迹指示至少两条所述机械腿的足端的期望轨迹;
    控制模块,配置为基于所述足式机器人对应的动力学模型、以及所述第一期望轨迹和所述第二期望轨迹,控制所述足式机器人与所述平面接触后各个所述关节的动作。
  15. 一种足式机器人,包括:
    基座;
    下肢部,其连接至所述基座,所述下肢部包括至少两条机械腿,其中,每条所述机械腿包括髋关节和膝关节,所述髋关节包括至少两个自由度,所述膝关节包括至少一个自由度;
    电子设备,所述电子设备设置在所述足式机器人上,且所述电子设备用于执行如权利要求1至13中任一项所述的控制足式机器人的方法。
  16. 一种控制足式机器人的电子设备,包括:
    处理器;
    存储器,其中,所述存储器中存储有计算机可执行程序,当所述计算机可执行程序由所述处理器运行时,执行权利要求1至13中任一所述的控制足式机器人的方法。
  17. 一种计算机可读存储介质,其上存储有计算机可执行程序,所述计算机可执行程序在被处理器执行时,使得所述处理器执行权利要求1至13中任一所述的控制足式机器人的方法。
  18. 一种计算机程序产品,包括计算机可执行程序,所述计算机可执行程序被处理器执行时,实现权利要求1至13中任一所述的控制足式机器人的方法。
PCT/CN2023/092460 2022-07-25 2023-05-06 一种控制足式机器人的方法、装置、电子设备、计算机可读存储介质、计算机程序产品及足式机器人 WO2024021744A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP23844959.9A EP4393656A1 (en) 2022-07-25 2023-05-06 Method and apparatus for controlling legged robot, electronic device, computer-readable storage medium, computer program product and legged robot
US18/419,470 US20240157555A1 (en) 2022-07-25 2024-01-22 Method, apparatus, and electronic device for controlling legged robot, computer-readable storage medium, computer program product, and legged robot

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210877092.6 2022-07-25
CN202210877092.6A CN116985110A (zh) 2022-07-25 2022-07-25 控制足式机器人的方法和装置及足式机器人

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/419,470 Continuation US20240157555A1 (en) 2022-07-25 2024-01-22 Method, apparatus, and electronic device for controlling legged robot, computer-readable storage medium, computer program product, and legged robot

Publications (1)

Publication Number Publication Date
WO2024021744A1 true WO2024021744A1 (zh) 2024-02-01

Family

ID=88532690

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/092460 WO2024021744A1 (zh) 2022-07-25 2023-05-06 一种控制足式机器人的方法、装置、电子设备、计算机可读存储介质、计算机程序产品及足式机器人

Country Status (4)

Country Link
US (1) US20240157555A1 (zh)
EP (1) EP4393656A1 (zh)
CN (1) CN116985110A (zh)
WO (1) WO2024021744A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130079929A1 (en) * 2011-09-28 2013-03-28 Samsung Electronics Co., Ltd. Robot and control method thereof
CN113359800A (zh) * 2021-06-30 2021-09-07 深圳市优必选科技股份有限公司 机器人行走控制方法、装置、机器人控制设备及存储介质
CN113524177A (zh) * 2021-06-25 2021-10-22 南方科技大学 一种足式机器人的控制方法
CN114137992A (zh) * 2021-10-20 2022-03-04 深圳鹏行智能研究有限公司 一种降低足式机器人抖动的方法及相关装置
CN114474034A (zh) * 2020-10-26 2022-05-13 腾讯科技(深圳)有限公司 足式机器人运动控制方法、装置、设备及介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130079929A1 (en) * 2011-09-28 2013-03-28 Samsung Electronics Co., Ltd. Robot and control method thereof
CN114474034A (zh) * 2020-10-26 2022-05-13 腾讯科技(深圳)有限公司 足式机器人运动控制方法、装置、设备及介质
CN113524177A (zh) * 2021-06-25 2021-10-22 南方科技大学 一种足式机器人的控制方法
CN113359800A (zh) * 2021-06-30 2021-09-07 深圳市优必选科技股份有限公司 机器人行走控制方法、装置、机器人控制设备及存储介质
CN114137992A (zh) * 2021-10-20 2022-03-04 深圳鹏行智能研究有限公司 一种降低足式机器人抖动的方法及相关装置

Also Published As

Publication number Publication date
US20240157555A1 (en) 2024-05-16
EP4393656A1 (en) 2024-07-03
CN116985110A (zh) 2023-11-03

Similar Documents

Publication Publication Date Title
US20220019196A1 (en) Feedforward control method for floating base dynamics, computer-readable storage medium and robot
JP7324932B2 (ja) 動的計画コントローラ
WO2010103399A1 (en) Robot apparatus and control method therefor
CN108897220B (zh) 一种自适应稳定平衡控制方法和***以及双足仿人机器人
JP6781101B2 (ja) 非線形システムの制御方法、二足歩行ロボットの制御装置、二足歩行ロボットの制御方法及びそのプログラム
Omran et al. Optimal task space control design of a Stewart manipulator for aircraft stall recovery
Noda et al. Generating whole-body motion keep away from joint torque, contact force, contact moment limitations enabling steep climbing with a real humanoid robot
WO2024021744A1 (zh) 一种控制足式机器人的方法、装置、电子设备、计算机可读存储介质、计算机程序产品及足式机器人
WO2023165174A1 (zh) 构建机器人的控制器的方法、机器人的运动控制方法、装置以及机器人
JP2016064454A (ja) 移動ロボットの制御装置
WO2024021767A1 (zh) 控制足式机器人的方法、装置、设备、足式机器人、计算机可读存储介质和计算机程序产品
Zhong et al. Theoretical and experimental study on remote dynamic balance control for a suspended wheeled mobile manipulator
JP7221833B2 (ja) 非線形モデル予測制御装置
Pajak et al. Planning of a point to point collision-free trajectory for mobile manipulators
WO2023165177A1 (zh) 构建机器人的控制器的方法、机器人的运动控制方法、装置以及机器人
CN116945151A (zh) 控制足式机器人的方法和装置及足式机器人
Xu et al. [Retracted] Attitude Analysis and Evaluation of Camera Based on Planar Double Joint Robot
WO2023165192A1 (zh) 机器人控制方法、装置、机器人以及计算机可读存储介质
Liu et al. Deep deterministic policy gradient with constraints for gait optimisation of biped robots
CN115309176B (zh) 一种多运动模式球形机器人的姿态控制方法、***及存储介质
Zhang et al. Research on Motion Stability Control Algorithm of Multi-axis Industrial Robot Based on Deep Reinforcement Learning
CN116176727A (zh) 一种基于约束与运动解耦的四足机器人全身协调控制方法
Zhang et al. Learning Efficient Robot Arm Reaching
Chu et al. Tracking Control of Upper Rehabilitation Training Manipulator Based on Generalized Inverse and PSO
Zhang et al. Design of Motion Control System for Frog-Inspired Bionic Hopping Robot

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23844959

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023844959

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2023844959

Country of ref document: EP

Effective date: 20240328