WO2024021749A1 - 足式机器人的运动控制方法、装置、足式机器人、存储介质及程序产品 - Google Patents

足式机器人的运动控制方法、装置、足式机器人、存储介质及程序产品 Download PDF

Info

Publication number
WO2024021749A1
WO2024021749A1 PCT/CN2023/092651 CN2023092651W WO2024021749A1 WO 2024021749 A1 WO2024021749 A1 WO 2024021749A1 CN 2023092651 W CN2023092651 W CN 2023092651W WO 2024021749 A1 WO2024021749 A1 WO 2024021749A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
footed robot
footed
unit area
foot
Prior art date
Application number
PCT/CN2023/092651
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 腾讯科技(深圳)有限公司
Publication of WO2024021749A1 publication Critical patent/WO2024021749A1/zh

Links

Classifications

    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot

Definitions

  • the present application relates to the field of robot motion control technology, and in particular to a motion control method and device for a footed robot, a footed robot, a computer-readable storage medium, and a computer program product.
  • Footed robots have received more and more attention due to their bionic and flexible characteristics.
  • the gaits of footed robots that have been realized in related technologies are very diverse, including walking, diagonal jogging, diagonal trotting, bipedal hopping, quadrupedal hopping, side-foot walking, galloping, etc.
  • Embodiments of the present application provide a motion control method and device for a footed robot, a footed robot, a computer-readable storage medium, and a computer program product, which can improve the control accuracy of the movement of the footed robot and expand the diversity of the movement of the footed robot. .
  • Embodiments of the present application provide a motion control method for a footed robot.
  • the footed robot includes at least two foot ends.
  • the method includes:
  • the jump instruction is used to instruct the footed robot to jump from at least two unit areas where it is currently located to a target unit area;
  • the footed robot In response to the jump instruction, the footed robot is controlled to jump to the target unit area, and in the target unit area, the distance between any two foot ends of the footed robot is less than the corresponding two before jumping. The distance between the toes.
  • An embodiment of the present application provides a motion control device for a footed robot, including:
  • the receiving module is configured to receive a jumping instruction for the footed robot when each foot end of the footed robot stands in an independent unit area, and the jumping instruction is used to instruct the footed robot to start from Jump to the target unit area from at least two unit areas currently located;
  • a control module configured to, in response to the jump instruction, control the footed robot to jump to the target unit area, and in the target unit area, the distance between any two foot ends of the footed robot is less than The distance between the corresponding two feet before jumping.
  • An embodiment of the present application provides a footed robot, which includes:
  • a robot body with at least two foot ends
  • a controller is provided on the robot body and is configured to execute the motion control method of the footed robot provided by the embodiment of the present application.
  • Embodiments of the present application provide a computer-readable storage medium that stores executable instructions for causing a processor to implement the motion control method of a footed robot provided by embodiments of the present application.
  • the footed robot can be controlled to stand in mutually independent unit areas from each foot end and jump to the target unit area. Since in the target unit area, any part of the footed robot can The distance between the two foot ends is smaller than the distance between the corresponding two foot ends before jumping. It can be seen that the jump performed by the footed robot has the restriction condition of the target unit area, that is, the foothold of the footed robot is limited, and the footing point is limited. The control of the footed robot's jump within a restricted area improves the control accuracy of the footed robot's jump and expands the diversity of the footed robot's movement.
  • FIGS. 1A-1B are schematic architectural diagrams of a motion control system 100 for a footed robot provided by an embodiment of the present application;
  • Figure 1C is a schematic structural diagram of a quadruped robot provided by an embodiment of the present application.
  • Figure 1D is a schematic structural diagram of a control device provided by an embodiment of the present application.
  • FIG. 2 is a schematic structural diagram of a control device 500 for implementing a motion control method for a footed robot provided by an embodiment of the present application;
  • 3A-3B is a schematic flowchart of a motion control method for a footed robot provided by an embodiment of the present application
  • Figure 4 is a schematic diagram of the plum blossom pile type terrain area provided by the embodiment of the present application.
  • Figure 5 is a schematic diagram of the initial state of the footed robot provided by the embodiment of the present application.
  • Figure 6 is a schematic diagram of the state parameter acquisition process provided by the embodiment of the present application.
  • Figure 7 is a schematic diagram of the take-off stage of the footed robot provided by the embodiment of the present application.
  • Figure 8 is a schematic diagram of the soaring stage of the legged robot provided by the embodiment of the present application.
  • Figure 9 is a schematic diagram of the landing stage of the legged robot provided by the embodiment of the present application.
  • Figure 10 is a schematic diagram of the angle implementation of the footed robot based on degrees of freedom provided by the embodiment of the present application;
  • Figure 11 is another flow chart of the motion control method of the footed robot provided by the embodiment of the present application.
  • Figure 12 is another schematic diagram of the take-off stage of the footed robot provided by the embodiment of the present application.
  • Figure 13 is a schematic diagram of the operations performed in the take-off phase of the footed robot provided by the embodiment of the present application;
  • Figure 14 is another schematic diagram of the landing stage of the footed robot provided by the embodiment of the present application.
  • Figure 15 is a schematic diagram of the continuous jumping process of the footed robot provided by the embodiment of the present application.
  • Figure 16 is another schematic diagram of the continuous jumping process of the footed robot provided by the embodiment of the present application.
  • Figure 17 is a schematic diagram of a plane model of a quadruped robot provided by an embodiment of the present application.
  • first ⁇ second ⁇ third are only used to distinguish similar objects and do not represent a specific ordering of objects. It is understandable that "first ⁇ second ⁇ third" Where permitted, the specific order or sequence may be interchanged so that the embodiments of the application described herein can be practiced in an order other than that illustrated or described herein.
  • Robot An intelligent machine that can work semi-autonomously or fully autonomously, including various types of machines and equipment that simulate human behavior or ideologically simulate other creatures (such as robot dogs, robot cats, etc.). Certain computer programs are also called robots in a broad sense. In contemporary industry, robots refer to man-made robots that can automatically perform tasks to replace or assist human work. They can be electromechanical devices, or controlled by computer programs or electronic circuits.
  • Footed robot Generally refers to a robot with a foot.
  • a footed robot can be configured with one or more legs, and each leg can be configured with one or more joints. Usually one leg corresponds to three joints, and each leg corresponds to one. Foot end.
  • Legged robots include bipedal robots, quadrupedal robots, or hexapodal robots. Quadruped robots such as robot dogs. Since a footed robot may include multiple foot ends, and the foot ends that land at different times may be different, in order to facilitate distinction, each foot end of the footed robot can be represented as the first foot end and the second foot end. ...The i-th foot, etc., when a certain foot touches the ground, the corresponding robot steps the leg corresponding to that foot.
  • Footing point refers to the position where the foot end of the robot contacts the contact surface. It is used to generally refer to the footing point of the robot. It can be the starting footing point or the candidate footing point. When the candidate footing point is selected as the footing point of the foot, Then the candidate foothold can be regarded as the target foothold.
  • the starting footing point refers to the footing point of the footed robot corresponding to the starting moment.
  • Generalized coordinates independent variables that can determine the position of the mass system (including at least one mass point), such as angles, areas, etc.
  • Polar coordinates, cylindrical coordinates, spherical coordinates, curved coordinates, etc. all belong to generalized coordinates.
  • generalized coordinates are nothing more than a set of coordinates.
  • For a particle moving in a three-dimensional space its position can be described by three rectangular coordinates, or its position can be described by three spherical coordinates. These are called generalized coordinates.
  • An example of independent coordinates is: a free particle in a three-dimensional space must require three coordinates to determine its position. These three coordinates are independent and lack Not even one.
  • a particle In three-dimensional space, a particle has three generalized coordinates, that is, three independent variables can be used to find any position in three-dimensional space.
  • Degree of freedom The independent coordinates owned by a single rigid body are called degrees of freedom.
  • an unconstrained single rigid body has 6 degrees of freedom, including 3 translational degrees of freedom and 3 rotational degrees of freedom.
  • the three rotational degrees of freedom include pitch, yaw and roll around the corresponding axis.
  • rotation around the X-axis is called roll.
  • Roll can be used to represent the angle of rotation around the Angle; use yaw to represent rotation around the Z axis, also called deflection angle.
  • Model Predictive Control A control method that predicts controlled objects. Model predictive control actually uses optimization methods to solve control problems, or is given by solving optimization problems. The actions of the controller and the operation of model predictive control are described as follows: During the control process, there is always an expected reference trajectory. Taking the time as the current moment (the position of the vertical axis of the coordinate system), the controller combines the current measurement value and the prediction model to predict the output of the system in a certain period of time in the future. By solving the optimization problem that satisfies the objective function and various constraints, the control is obtained. A series of control sequences in the time domain, and the first element of the control sequence is regarded as the actual control quantity of the controlled object.
  • Model predictive control is a type of feedback control. For example, when crossing the road, you will build a model in your mind of your speed at this moment and the speed of the cars passing by, and then you will correct this every step you take. The model adjusts its speed to make sure it doesn't get hit.
  • Space footing constraints Used to constrain the foot end of the footed robot to be in the work space corresponding to the foot end after each step. This spatial footing constraint can be used to constrain the robot's center of mass position change coefficient, step sequence, footing point, etc.
  • Friction constraint conditions used to constrain the foot end contact force to be within the friction cone to avoid slipping between the footed robot and the contact surface.
  • the friction cone is based on the normal vector of the footed robot at the candidate foothold. , determined by the friction coefficient between the foot end and the contact surface.
  • Foot-end contact force constraint conditions used to constrain the foot-end contact force in the normal direction to be less than or equal to the upper limit of the contact force to avoid excessive force between the footed robot and the contact surface.
  • FIGS 1A-1B are schematic architectural diagrams of a motion control system 100 for a footed robot provided by an embodiment of the present application.
  • the system includes a footed robot 400 and a control device 200.
  • the control device 200 and the footed robot 400 are two relatively independent devices, and the footed robot 400 includes at least two foot ends (a footed robot including four foot ends is shown as an example).
  • the legged robot 400 is connected to the control device 200 through a network 300.
  • the network 300 may be a wide area network or a local area network, or a combination of the two.
  • the legged robot 400 and the control device 200 can be connected directly or indirectly through wired or wireless communication methods, which are not limited in the embodiments of this application.
  • the control device 200 is configured to receive a jump instruction for the footed robot when each foot end of the footed robot stands in an independent unit area; where the jump instruction is used to instruct the footed robot to move from its current location. at least two unit areas, jump to the target unit area; in response to the jump instruction, send a control instruction to the footed robot 400, the control instruction is used to control the footed robot to jump to the target unit area;
  • the above-mentioned jump instruction can be received from a host computer or obtained according to a user's input operation, where the host computer can be any device connected wirelessly or wiredly to the control device 200, such as a terminal or a server;
  • the footed robot 400 is configured to, in response to the above control instructions, control the footed robot to jump to the target unit area, and in the target unit area, the distance between any two foot ends of the footed robot is smaller than the corresponding two foot ends before jumping. distance between.
  • the control device 200 can be implemented through a terminal or a server, and the terminal can be a smartphone, a tablet, a laptop, a desktop computer, a smart speaker, a smart watch, etc., but is not limited thereto.
  • Servers include but are not limited to: independent physical servers, server clusters composed of multiple physical servers, or distributed systems. They can also provide cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, Cloud servers for basic cloud computing services such as middleware services, domain name services, security services, Content Delivery Network (CDN), and big data and artificial intelligence platforms.
  • the terminal and the server can be connected directly or indirectly through wired or wireless communication methods, which are not limited in the embodiments of this application.
  • the control device 200 is a part of the footed robot 400, and the control device 200 can be disposed within the body of the footed robot 400.
  • the control device 200 is an internal processor in the footed robot 400; correspondingly , when each foot end of the footed robot stands in an independent unit area, the control device 200 receives a jump instruction for the footed robot.
  • the jump instruction is used to instruct the footed robot to jump from at least two locations where it is currently located. unit area, and jumps to the target unit area; in response to the jump command, the control device 200 controls the footed robot to jump to the target unit area.
  • the distance between any two foot ends of the footed robot is less than the corresponding distance before the jump. The distance between the two toes.
  • Figure 1C is a schematic structural diagram of a quadruped robot provided by an embodiment of the present application.
  • Number 1 shows the front leg
  • number 1-1 shows the front leg hip joint.
  • No. 1-2 shows the front thigh
  • No. 1-3 shows the front knee joint
  • No. 1-4 shows the front calf
  • No. 1-5 shows the front ankle joint;
  • Figure 1D is a schematic structural diagram of the control device provided by the embodiment of the present application.
  • An example introduction is given below in conjunction with the footed robot motion control system shown in Figure 1.
  • the visual perception unit 210 may be provided on the footed robot 400 , for example, mounted on the head of the footed robot 400 .
  • the visual sensing unit 210 includes, for example, one or more of a camera and an infrared camera. Camera such as RGBD camera.
  • the visual perception unit also includes functions for realizing instant positioning and map creation (Simultaneous Localization and Mapping).
  • the visual perception unit 210 collects status data of the legged robot.
  • the status data includes status data of the legged robot 400 at the starting time.
  • the visual perception unit 210 can also collect the location where the legged robot 400 is located.
  • the environment image is used to obtain the possible target unit area where the legged robot 400 lands each time (the landing point after the jumping operation).
  • the visual perception unit 210 may send the status data and the environment image to the trajectory generation unit 220 .
  • the trajectory generation unit 220 may obtain the status data of the footed robot 400 through internal sensors and external sensors of the footed robot 400 .
  • the trajectory generation unit 220 may use the expected state data at the end time of the previous planning cycle as the state data at the start time of the current corresponding planning cycle.
  • the trajectory generation unit 220 obtains the state data of the footed robot 400 through the state estimator of the motion control unit 230 .
  • the trajectory generation unit 220 receives the status data and the target unit area (the foothold after the jumping operation), and determines the status of the footed robot 400 at multiple moments (the status is based on joint angles, center of mass height, joint bending amplitude, joint descent height, etc.
  • the motion control unit 230 can determine the joint torque of each joint of the footed robot 230 based on the jumping trajectory and the target foothold, and control the rotation of each joint of the footed robot 400 according to each joint torque, thereby realizing the jumping motion of the footed robot 400.
  • the motion control unit 230 can also monitor real-time status data (status data composed of the values of each status parameter, which can also be called control data) during the jumping process of the footed robot 400, and control the foot based on the real-time status data.
  • the footed robot 400 can jump to ensure that the footed robot 400 can move stably.
  • Cloud technology refers to a system that unifies a series of resources such as hardware, software, and networks within a wide area network or a local area network to realize data calculation, storage, processing, and sharing. Hosting technology.
  • FIG. 2 is a schematic structural diagram of a control device 500 for implementing a motion control method for a footed robot provided by an embodiment of the present application.
  • the control device 500 can be a server or a terminal. Taking the control device 500 as a terminal as an example, the control device for implementing the motion control method of the footed robot in the embodiment of the present application will be described.
  • the control provided by the embodiment of the present application Device 500 includes: at least one processor 510, memory 550, at least one network interface 520, and user interface 530.
  • the various components in control device 500 are coupled together by bus system 540 .
  • the bus system 540 is used to implement connection communication between these components.
  • the bus system 540 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, the various buses are labeled bus system 540 in FIG. 2 .
  • the processor 510 may be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP, Digital Signal Processor), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware Components, etc., wherein the general processor can be a microprocessor or any conventional processor, etc.
  • DSP Digital Signal Processor
  • User interface 530 includes one or more output devices 531 that enable the presentation of media content, including one or more speakers and/or one or more visual displays.
  • User interface 530 also includes one or more input devices 532, including user interface components that facilitate user input, such as a keyboard, mouse, microphone, touch screen display, camera, and other input buttons and controls.
  • Memory 550 may be removable, non-removable, or a combination thereof.
  • Exemplary hardware devices include solid state memory, hard disk drives, optical disk drives, etc.
  • Memory 550 optionally includes one or more storage devices physically located remotely from processor 510 .
  • Memory 550 includes volatile memory or non-volatile memory, and may include both volatile and non-volatile memory.
  • Non-volatile memory can be read-only memory (ROM, Read Only Memory), and volatile memory can be random access memory (RAM, Random Access Memory).
  • RAM Random Access Memory
  • the memory 550 described in the embodiments of this application is intended to include any suitable type of memory.
  • the memory 550 is capable of storing data to support various operations, examples of which include programs, modules, and data structures, or subsets or supersets thereof, as exemplarily described below.
  • Operating system 551 including system programs used to handle various basic system services and perform hardware-related tasks, such as Such as the framework layer, core library layer, driver layer, etc., used to implement various basic services and handle hardware-based tasks;
  • Network communications module 552 configured to reach other computing devices via one or more (wired or wireless) network interfaces 520, example network interfaces 520 include: Bluetooth, Wireless Compliance Certified (WiFi), and Universal Serial Bus ( USB, Universal Serial Bus), etc.;
  • Presentation module 553 configured to enable the presentation of information (e.g., a user interface for operating peripheral devices and displaying content and information) via one or more output devices 531 (e.g., display screens, speakers, etc.) associated with user interface 530 );
  • information e.g., a user interface for operating peripheral devices and displaying content and information
  • output devices 531 e.g., display screens, speakers, etc.
  • Input processing module 554 is configured to detect user input or interaction from one or more input devices 532 and translate the detected input or interaction.
  • the motion control device of the footed robot provided by the embodiment of the present application can be implemented in a software manner.
  • Figure 2 shows the motion control 555 of the footed robot stored in the memory 550, which can be a program and a plug-in.
  • the software in other forms includes the following software modules: receiving module 5551 and control module 5552. These modules are logical, so they can be combined or split arbitrarily according to the functions implemented. The functions of each module will be explained below.
  • the motion control device of the footed robot provided by the embodiments of the present application can be implemented by combining software and hardware.
  • the motion control device of the footed robot provided by the embodiments of the present application can be implemented by using hardware translation.
  • a processor in the form of a code processor which is programmed to execute the motion control method of a footed robot provided by embodiments of the present application.
  • a processor in the form of a hardware decoding processor may adopt one or more Application Specific Integrated Circuits (ASICs).
  • ASICs Application Specific Integrated Circuits
  • DSP Digital Signal Processing
  • PLD Programmable Logic Device
  • CPLD Complex Programmable Logic Device
  • FPGA Field-Programmable Gate Array
  • the motion control method of the footed robot provided by the embodiment of the present application will be described in conjunction with the exemplary application and implementation of the footed robot provided by the embodiment of the present application.
  • the method is executed by a control device.
  • the control device can It exists independently of the footed robot.
  • the control device can be provided inside the footed robot and exist as a part of the footed robot.
  • 3A-3B is a schematic flowchart of a motion control method for a footed robot provided by an embodiment of the present application. Taking the footed robot executing the above method as an example, see FIG. 3A , which will be described in conjunction with the steps shown in FIG. 3A .
  • step 101 when each foot end of the footed robot stands in an independent unit area, the footed robot receives a jumping instruction for the footed robot.
  • the jump instruction is used to instruct the footed robot to jump from at least two unit areas where it is currently to the target unit area.
  • the unit area and the target unit area can be in the following form: the unit area and the target unit area are both end areas of a single pile in a plum blossom pile, and the shape and size of the unit area and the target unit area are All are the same.
  • the unit area can be a series of multiple dispersed and independent footholds (unit areas) obtained by the control device of the footed robot by refining the terrain area and dividing it into discrete areas.
  • the unit area can be similar to In the end area of single pile in plum blossom pile.
  • the footed robot can control itself to complete highly dynamic and difficult jumping actions in plum blossom piles or terrain areas that can be discretized into plum blossom piles.
  • the jumping action can include the footed robot standing on each single pile in the plum blossom piles from each foot end. The end area jumps to the end area of the same single pile.
  • the jumping action can be a four-pile jumping single-pile action of the quadruped robot starting from the four-legged stand-up state, and the four-legged feet are gathered together to balance on the ground. pile.
  • the jumping action may also include the legged robot standing on the end area of a single pile in the plum blossom pile and jumping to the end area of each single pile.
  • the jumping action may be the quadruped robot retracting from the four legs.
  • the target unit area is mainly used to represent the area where the foothold of the footed robot is restricted. That is, when the footed robot is in the target unit area (target foothold), it maintains balance with each foot end tucked under the body. When the feet are scattered, the legged robot is prone to missing or falling over.
  • FIG 4 is a schematic diagram of a plum-blossom pile type terrain area provided by an embodiment of the present application.
  • the plum blossom pile shown includes a plurality of independent single piles (unit areas) with the same area size.
  • different terrains can also be discretized into multiple unit areas with different heights and different area areas.
  • the initial state of the footed robot is that each foot end of the footed robot stands in multiple independent unit areas, that is, the foot ends of the footed robot correspond to the unit area one-to-one; for example , see Figure 5.
  • Figure 5 is a schematic diagram of the initial state of the legged robot provided by the embodiment of the present application.
  • a quadruped robot is taken as an example.
  • the unit area is the end area of a single pile in the plum blossom pile.
  • the quadruped robot has four legs. They are respectively erected on four single piles (i.e. unit areas) in the plum blossom piles.
  • the way in which the footed robot receives the jump instruction is explained.
  • the footed robot can receive the jump instruction directed to itself.
  • the triggering method of the jump instruction can be an external trigger or an internal trigger.
  • the external trigger can be a foot-type robot.
  • the footed robot receives a jump command input by the user (the input form can be voice input, text input), or the user triggers a function item used to control the footed robot to jump, or the user sends it through a terminal (such as a mobile phone, remote control)
  • the internal trigger can be a jump command issued by the footed robot according to the controller it carries. For example, it is generated when the footed robot needs to jump to the target unit area by judging the terrain during movement.
  • the jump instruction may include at least one of a forward jump instruction and an upward jump instruction. For example, it may be determined based on the position of the target unit area relative to the unit area.
  • the jump instruction is a forward jump instruction; when the target unit area is located at the center of each unit area, the jump instruction is an upward jump instruction.
  • the jump command refers to the forward jump command. Different forms of jump instructions have different jump processes.
  • step 102 in response to the jump command, the footed robot is controlled to jump to the target unit area.
  • the distance between any two foot ends of the footed robot is smaller than the distance between the corresponding two foot ends before jumping.
  • the distance between any two feet of the footed robot before jumping is the first distance.
  • the distance between any two feet is the second distance.
  • the second distance is smaller than the first distance.
  • the legged robot is a quadruped robot, including two front legs (first foot and second foot) and two rear feet (third foot and fourth foot).
  • the first foot and the fourth foot are The distance between the two feet is smaller than the distance between the first and second feet before jumping, the distance between the third and fourth feet after jumping is smaller than the distance between the third and fourth feet before jumping, and the distance between the first and fourth feet after jumping is The distance between the second foot and the third foot is smaller than the distance between the first foot and the third foot before jumping, and the distance between the second foot and the fourth foot after jumping is smaller than the distance between the second foot and the fourth foot before jumping.
  • the legged robot responds to the jumping command and performs the corresponding jumping action.
  • the footed robot can use the model predictive control (MPC) method to generate a reference jumping trajectory corresponding to the current jumping action.
  • the reference jumping trajectory can include state parameters of at least two key points, and each stage has corresponding controls.
  • Information the footed robot parses the control information and obtains the corresponding motion trajectories at each stage.
  • Figure 6 is a schematic diagram of the state parameter acquisition process provided by an embodiment of the present application.
  • the steps shown in Figure 6 illustrate the state parameters corresponding to each key point in the jumping process based on the reference jump trajectory. method of obtaining.
  • Step 201 The footed robot predicts the jumping trajectory of the footed robot and obtains a reference jumping trajectory.
  • the legged robot after the legged robot receives the jump instruction, it can use the model predictive control (MPC) method to obtain the reference jump trajectory corresponding to the jump instruction.
  • the reference jump trajectory is the solution to the optimization problem (the nonlinear optimization problem constructed for The jump trajectory corresponding to the current jump command is planned to achieve the optimization goal of minimum driving force) and then the most labor-saving reference trajectory that satisfies the constraints is obtained.
  • the reference jump trajectory can effectively ensure the feasibility of the footed robot to perform each action during the jumping process, thereby The reference jump trajectory can be predicted smoothly.
  • the footed robot controls its jumping action to be as consistent as possible with the reference jumping trajectory.
  • Step 202 Obtain the constraint conditions corresponding to the jump instruction.
  • the constraint conditions are used to constrain the jumping of the footed robot.
  • different jump instructions can correspond to different reference jump trajectories, and the constraints when obtaining different reference jump trajectories are also different.
  • Constraints are used to constrain the jumping of the legged robot.
  • the constraints for the jump instruction can be space foothold constraints, friction constraints, foot end restraint constraints, etc.
  • the constraint conditions include joint torque limiter, sole friction cone, joint descent height threshold, dynamic constraints and no slipping of the foot end, etc.
  • Step 203 Determine state parameters of at least two key points of the reference jump trajectory based on the reference jump trajectory and constraint conditions.
  • the footed robot when determining the state parameters of at least two key points, first obtains at least two key points in the reference jumping trajectory, where the key points include at least one of the following: the starting point of the reference jumping trajectory, Reference to the vertex of the jump trajectory, reference to the end point of the jump trajectory.
  • the key point can be the sampling point at each operation segment during the jumping process.
  • the parameter values of each state parameter corresponding to the footed robot at the sampling point can be represented in the form of generalized coordinates.
  • the parameter value of each state parameter corresponding to each key point is called control information, that is, one key point corresponds to one piece of control information.
  • the legged robot controls the corresponding operations performed by itself based on the obtained control information of each key point to be as close as possible to the reference jump. trajectory.
  • the state parameters may include the center of mass position of the footed robot, the position of each foot end, the joint angle of each joint, joint angular velocity, joint angular acceleration, joint moment, joint degree of freedom, etc.
  • the control data represented by generalized coordinates will be described in detail later using a quadruped robot as an example.
  • the footed robot can jump to the target unit area located in front of the footed robot in the following stages: in response to the jumping command, the footed robot controls the footed robot to jump forward through the take-off stage, the airborne stage and the landing stage. to the target unit area.
  • the entire process of jumping forward from the corresponding unit area to the target unit area can be divided into a take-off stage, a flight stage, and a landing stage.
  • the footed robot obtains the control information of each key point according to the reference jump trajectory corresponding to the current jump command.
  • the footed robot analyzes the control information and obtains the parameter values of the state parameters corresponding to each operation, thereby presenting the corresponding form.
  • the footed robot can perform the following operations during the take-off phase of the jumping process: during the take-off phase, the footed robot sequentially performs the actions of squatting to accumulate energy, pushing off the ground with its feet, and starting to fly.
  • the legged robot can at least obtain control information for the following key points in the reference jumping trajectory: squatting to accumulate power, pushing off the feet and starting to take off.
  • the footed robot starts from the initial state of standing normally in each independent unit area, and sequentially performs the operations of squatting to accumulate power, pushing the feet on the ground, and starting to take off.
  • Each operation of the footed robot is based on The corresponding control information controls the footed robot itself to be in a state corresponding to the operation.
  • Figure 7 is a schematic diagram of the take-off stage of a footed robot provided by an embodiment of the present application.
  • the footed robot in the figure is a four-legged robot, and the unit area is a single pile in a plum blossom pile.
  • Number 1 in the figure indicates is the initial state of the quadruped robot.
  • Number 2 in the figure shows the squatting and charging operation of the legged robot during the take-off stage of the jumping process.
  • Number 3 in the figure shows the squatting and charging operation of the footed robot during the take-off stage of the jumping process. The foot end of the robot presses on the ground.
  • Number 4 in the figure shows the beginning of the legged robot's airborne operation during the take-off phase of the jumping process.
  • each body part of the footed robot may show the following morphological changes: During the process of squatting and accumulating force, the legs of the footed robot are bent to move the feet. The center of mass of the foot-type robot is reduced from the initial height to the take-off height; during the process of the foot-type robot pushing on the ground, the foot-type robot increases the torque of the leg joints to increase the friction between each foot-end and the foot-end contact surface.
  • the footed robot When the footed robot begins to take off, the footed robot performs a take-off action forward and upward at the target pitch angle to increase the height of the knee joint and the height of the center of mass, and the height of the center of mass is higher than the initial height.
  • the footed robot obtains the first control information corresponding to the squatting force accumulation.
  • the first control information includes the joint angles of each joint of the footed robot and the height of the center of mass of the footed robot. Based on the first control information , controlling the joint angle of each joint of the footed robot to bend from the joint angle in the initial state to the joint angle specified in the first control information, and controlling the center of mass to drop from the initial height to the take-off height, where the take-off height is the first
  • the center of mass height specified in the first control information is determined based on the constraints that each joint cannot touch the contact surface of the unit area and the shutdown torque is limited.
  • the foot-type robot After squatting and accumulating energy, the foot-type robot starts to perform foot-stepping operation, and the foot-type robot obtains the second control information corresponding to the foot-stepping operation.
  • the second control information includes The value of the joint moment of the footed robot and the size of the pitch angle (such as the elevation angle) of the footed robot, during the process of pedaling, increase the joint moment of each joint to the value of the joint moment indicated in the second control information.
  • the friction between the big foot end and the contact surface controls the head of the footed robot to raise (adjust the pitch angle of the footed robot to the pitch angle indicated in the second control information), lower the height of the hip joint,
  • the angle between the body's trunk and thigh joints increases, such as 180 degrees, and the angle between the front leg joints increases, causing the center of mass to shift.
  • the second control information here is at least determined based on the constraint condition (friction force constraint condition) that the foot end does not slide during the pedaling process; when the foot end pedaling is completed, the action of starting to take off is performed.
  • the footed robot obtains and The third control information corresponding to the action of starting to fly, the third control information includes the position of the center of mass of the footed robot, the pitch angle, the joint angle of each joint and the change speed of the joint angle; the footed robot is based on the third control information , adjust the position of the center of mass to the position of the center of mass in the third control information.
  • the height of the center of mass is higher than the initial height.
  • the pitch angle is reduced to the pitch angle in the third control information relative to when the foot is on the ground, increasing the joints of each joint. joint angle to the joint angle in the third control information, and the change speed of the joint angle must be consistent with the joint angular speed of the third control information.
  • the legged robot as a four-legged robot as an example.
  • the control of the foot The joint angles of each joint of the robot are bent from the joint angles in the initial state, and the center of mass is controlled to drop from the initial height to the take-off height.
  • the foot-end operation of the foot robot shown as number 3 in the figure is compared to the state when squatting and accumulating force as shown by number 2 in figure 7.
  • the head of the foot robot is raised and the hip joints of the hind legs are controlled. Lower the height so that the torso and rear thighs are in a straight line.
  • the starting operation of the footed robot shown as number 4 in the figure is compared to the state when the foot end is pushing on the ground as shown by number 3 in figure 7.
  • the joint height of each joint is increased and the height of the center of mass is controlled to be higher than the initial height. , the center of mass moves forward and upward, increasing the joint angle of each joint, and the trunk is parallel to the pile surface.
  • the flying phase of the footed robot during jumping may include the following actions: the footed robot sequentially performs retracting the feet and legs in the air and extending the legs in the air.
  • the footed robot starts from the posture corresponding to the takeoff phase, and sequentially performs the actions of retracting its feet and legs in the air, and extending its legs in the air, and dynamically changes based on the control information corresponding to each action.
  • the posture of the footed robot when performing each action.
  • FIG 8 is a schematic diagram of the soaring stage of a footed robot provided by an embodiment of the present application.
  • the footed robot in the figure is a four-legged robot, and the unit area is a single pile in a plum blossom pile.
  • Number 1 in the figure indicates During the soaring phase of the jumping process, the foot-type robot retracts its feet and legs in the air.
  • Number 2 in the figure shows the foot-end operation of the footed robot pushing on the ground during the soaring stage of the jumping process.
  • Number 4 in the figure shows It is the leg-stretching operation of the legged robot in the air during the take-off stage of the jumping process.
  • each body part of the footed robot when the footed robot is in the air, can show the following morphological changes: When the footed robot retracts its legs in the air, the footed robot controls each leg to drive the corresponding foot. The end of the foot is gathered upward and below the center of the body; when the footed robot extends its legs in the air, the footed robot controls the front legs to extend toward the target unit area, and the extension range of the front legs enables each foot end of the footed robot to land on the target unit area. .
  • the footed robot obtains fourth control information corresponding to retracting its feet and legs in the air.
  • the fourth control information includes joint angular velocity, joint acceleration, height of the center of mass, and the horizontal direction of the center of mass (the moving direction of the footed robot).
  • the movement component of The joint angular velocity and joint acceleration in the control information increase to the joint acceleration specified in the fourth control information, and the height of the center of mass increases, and the component of the center of mass along the X-axis increases (that is, the center of mass moves forward); when the height of the center of mass begins to decrease, Obtain fifth control information for retracting the feet and extending the legs in the air.
  • the fifth control information includes the movement component of the center of mass in the horizontal direction (the moving direction of the footed robot), the height of the center of mass, the pitch angle of the footed robot, and the joint angles of each joint. , based on the fifth control information, continue to control the increase in the X-axis component of the center of mass, reduce the height of the center of mass, control the body to have a target pitch angle (the angle of view in the pitch angle), and continue to reduce the joint angle of each joint of the front leg to the fourth control information.
  • the joint angle is in preparation for landing.
  • the hind legs extend forward farther.
  • the data in the information such as the joint angle of the knee joint of the hind leg and the joint solution angle of the hip joint, control the extension of the hind leg toward the target unit area.
  • the legged robot as a four-legged robot as an example.
  • the footed robot is controlled to gradually move each foot end closer to the bottom of the body's center of mass in the air, and increase the height of the center of mass, and the component of the center of mass along the X-axis increases (that is, the center of mass moves forward).
  • the leg-extending operation of the legged robot shown as number 2 in the figure is compared to the state of retracting the legs in the air as shown by number 1 in Figure 8.
  • the X-axis component of the center of mass is continued to be controlled to increase, and the center of mass is controlled forward and downward. Move and lower the height of the center of mass, and control the head to have a target depression angle.
  • the landing phase of the footed robot during jumping may include the following actions: the footed robot sequentially performs foot-end landing, bent-leg buffering, and body balance.
  • the footed robot will start from the attitude of stretching to the target unit area in the airborne stage, and then start to perform the operations of foot landing, leg bending buffering, and body balance in sequence, and according to each operation
  • the corresponding control information dynamically changes the posture of the footed robot when performing each operation.
  • FIG 9 is a schematic diagram of the landing stage of a footed robot provided by an embodiment of the present application.
  • the footed robot in the figure is a four-legged robot, and the unit area is a single pile in a plum blossom pile.
  • Number 1 in the figure indicates It is the landing operation of the foot end of the footed robot during the landing stage of the jumping process.
  • Number 2 in the figure shows the bending leg buffering operation of the footed robot during the landing stage of the jumping process.
  • Number 4 in the figure shows the operation of the foot end of the footed robot during the landing stage. The body balance operation of the legged robot during the landing phase of the jumping process.
  • each body part of the footed robot can show the following morphological changes:
  • the footed robot controls each foot-end to contact the target unit area at the same time.
  • the footed robot adjusts its body posture to move the center of mass of the footed robot to the target unit area.
  • the foot-type robot obtains the sixth control information when the foot end lands.
  • the sixth control information includes the joint angle of each joint and the extension range (distance) of each leg.
  • Each foot-end of the foot-type robot contacts the target at the same time. The contact surface of the unit area.
  • the knee joint of the rear leg of the footed robot is still at a larger joint angle. This is because the distance that the rear leg extends to the target unit area is longer than the distance that the front leg extends to the target unit area.
  • the joint angle is larger than that of extending the leg in the air.
  • the footed robot After the foot ends simultaneously contact the contact surface of the target unit area, the footed robot begins to control each leg to perform a bent-leg action of bending and contraction according to the seventh control information corresponding to the bent-leg buffer, where the seventh control information includes the joints of each joint.
  • the seventh control information includes the joints of each joint.
  • the footed robot applies torque control to each joint at the same time to buffer and decelerate the footed robot, smoothly moving the body center of mass projection into the target unit area, thereby ultimately achieving balance. Since the hind legs extend farther forward when contacting the pile surface (the extension distance of the backward knee joint and hip joint is large), the knee joints of the hind legs will tend to move downward during the cushioning process after landing.
  • the seventh control information is determined based on friction constraints, space landing constraints and foot end contact force constraints. , according to the joint angle and center of mass position of each joint in the seventh control information, etc., when controlling the bent-leg buffering of the footed robot, the contraction amplitude of the rear leg bending does not exceed the contraction amplitude threshold, and the descending amplitude of the hind leg knee joint does not exceed the descending amplitude. threshold. In addition, it can also be ensured that the foot end will not rebound due to impact after contacting the pile surface, nor will it slide due to leg posture and force exertion (the seventh control information is determined based on friction constraints).
  • the legged robot as a four-legged robot as an example.
  • the state of the mid-air leg extending operation shown as number 2 in Figure 8 Control each foot end of the footed robot to contact the pile surface at the same time, the center of mass drops, the trunk is parallel to the pile surface, each joint bends, and the front leg hip joint and the trunk are approximately in the same straight line.
  • the bent leg buffering operation of the footed robot shown as number 2 in the figure is compared to the state when the foot end is landed as shown in number 1.
  • the footed robot when the target unit area is located at the center of each unit area where the foot end is located, the footed robot can jump upward in the following manner: the footed robot responds to the jump instruction and controls the footed robot to go through the take-off phase and soar into the air. Stage and landing stage, jump upward and land to the target unit area.
  • the footed robot obtains the reference jumping trajectory for upward jumping based on the MPC prediction, as well as the control information of each key point on the reference jumping trajectory (including the reference values of each state parameter), to realize the upward jumping of the footed robot to the target.
  • the process of jumping upward can be divided into the take-off stage, the airborne stage, and the landing stage.
  • the footed robot performs the actions of squatting down, accumulating energy and starting to take off; in the takeoff phase, the footed robot performs the action of retracting its feet and legs in the air; in the landing stage, the footed robot performs the steps of landing on the foot and bending the legs. Cushioning and body balancing movements.
  • the legs of the footed robot bend to lower the center of mass of the footed robot from the initial height to the take-off height; when the footed robot starts to take off, the foot The footed robot bounces upward to increase the height of the knee joints and the height of the center of mass.
  • the height of the center of mass is higher than the initial height; when the footed robot retracts its feet and legs in the air, the footed robot controls the trunk to be in an upright state.
  • Each leg of the robot drives the corresponding foot end upward to the bottom of the trunk.
  • the footed robot when the footed robot is a four-legged robot, the footed robot can also implement the jumping operation in the following manner: the footed robot responds to the jumping instruction, and when the jumping instruction indicates to perform a bipedal jumping, the footed robot is controlled to alternately Use two front legs and two back legs to jump to the target cell area.
  • the jumping gait of a quadruped robot when performing a jumping operation may include bipedal hopping or quadrupedal hopping, where bipedal hopping is used to instruct the footed robot to alternately use its two front legs and two hind legs to jump.
  • Jumping mode for example, the jumping mode of the legged robot can be the jumping mode of a quadruped animal (such as a dog).
  • the legged robot can realize the jumping process of bipedal hopping through the following stages:
  • the process of the footed robot alternately using two front legs and two hind legs to jump includes: a power accumulation stage and a four-legged grounding stage. , the front leg leaves the ground, the rear leg kicks off the ground, the airborne stage and the landing stage.
  • step 103 can be performed to control its own posture:
  • step 103 the footed robot is controlled to continuously perform at least one of the following operations in the target area based on at least one degree of freedom: a shaking motion and a tail swinging motion;
  • the robot when the legged robot receives an instruction for a target action in the target area, the robot is controlled to complete the target action based on at least one degree of freedom, where the target action includes at least one of a head-shaking action and a tail-wagging action.
  • the footed robot may also include a tail.
  • the tail is connected to the body part of the footed robot through at least one joint.
  • Each joint may correspond to at least one degree of freedom.
  • the degree of freedom includes at least one of roll, pitch, and deflection. .
  • the legged robot can realize head-wagging movements, tail-wagging movements, or continuous head-wagging and tail-wagging movements.
  • the degree of freedom of a footed robot is relative to the spatial coordinate system.
  • the coordinate system can be a world coordinate system, a body coordinate system with the body center of mass of the footed robot as its origin, etc.
  • the right-hand rule coordinate system is used, with the jumping direction of the footed robot (in front of the body of the footed robot) as the X-axis, and the left side of the footed robot in the direction perpendicular to the X-axis. is the Y-axis, and the direction vertically upward to the ground is the Z-axis.
  • the footed robot When the footed robot performs a head-wagging action, the footed robot can be controlled to rotate around the X-axis (X roll) to obtain the corresponding roll angle; the quadruped robot can be controlled to rotate around the Y-axis (Y pitch) to obtain the corresponding pitch angle; control The quadruped robot rotates around Z to obtain the corresponding deflection angle (Z deflection). Then, based on at least one of the pitch angle, deflection angle, and roll angle, it implements a head-shaking operation, a tail-wagging operation, or a head-wagging and tail-wagging operation.
  • the action reference trajectory when the footed robot performs a head-shaking action can be planned based on the MPC controller and combined with the status data of the footed robot in the current state.
  • the status data includes the center of mass position of the body's center of mass.
  • at least one of the joint torque of each joint and the joint angle of each joint is predicted based on MPC to obtain the optimal target state data when the footed robot performs a head-shaking or tail-wagging action.
  • the legged robot receives the target action command and the target state data adapted to the target action, and completes the corresponding target action (at least one of a head-shaking operation and a tail-wagging operation).
  • Figure 10 is an angle of a footed robot based on degrees of freedom provided by an embodiment of the present application.
  • the figure takes a quadruped robot as an example.
  • the quadruped robot gathers its four legs on a single plum blossom pile surface (it is in a balanced state at this time), rotates along the X-axis of the coordinate system shown in the figure, and realizes For the control of the roll angle of the quadruped robot on the pile, it rotates along the Y axis of the coordinate system shown in the figure, and to realize the pitch angle control of the quadruped robot on the pile, it rotates along the Z axis of the coordinate system shown in the figure. Realize the deflection angle control on the pile for the quadruped robot.
  • the above-mentioned angle control method based on degrees of freedom for footed robots can expand the movement capabilities of the robot and enrich the diversity of movements of the footed robot.
  • the jumping action completed by the footed robot improves the dynamics, difficulty and viewing of the movement of the footed robot, and expands the diversity of the movement of the footed robot, so that the footed robot can not only perform on flat ground, but also Complete difficult action demonstrations in scenes such as plum blossom piles and small stone piers.
  • the target unit area such as plum blossom piles
  • the distance between any two feet of the footed robot is smaller than the corresponding two feet before jumping. distance between each other, it can be seen that the jump performed by the footed robot has the restricted condition of the target unit area, that is, the foothold of the footed robot is limited. This realizes the control of the footed robot jumping into the restricted area and improves the control of the footed robot. Control accuracy of robot jumping.
  • FIG. 11 is another flowchart of a motion control method for a footed robot provided by an embodiment of the present application, which will be described in conjunction with the steps shown in Figure 11.
  • step 401 when each foot end of the footed robot stands in the same initial unit area and each foot end is gathered in the initial unit area, the footed robot receives a jumping instruction for the footed robot.
  • the jump command is used to instruct the footed robot to jump from the current initial unit area to an independent unit area that is independent of each other.
  • the foot end and the independent unit area There is a one-to-one correspondence between the foot end and the independent unit area; when the footed robot is in an independent unit area, any two The distance between two foot ends is greater than the distance between the corresponding two foot ends when the footed robot is in the initial unit area.
  • the distance between any two foot ends before the footed robot jumps is the third distance
  • the distance between any two foot ends after the footed robot jumps to the independent unit area is the fourth distance
  • the third distance is less than The fourth distance
  • the legged robot is a four-legged robot, including two front legs (first foot and second foot) and two rear feet (third foot and fourth foot).
  • the four-legged robot are all in the initial unit area.
  • the four foot ends of the legged robot are in independent unit areas after jumping.
  • the distance between the first foot and the second foot after jumping is greater than the distance between the first foot and the second foot before jumping.
  • the distance between the third and fourth feet after jumping is greater than the distance between the third and fourth feet before jumping, and the distance between the first and third feet after jumping is greater than the distance between the first and third feet before jumping.
  • Distance, the distance between the second foot and the fourth foot after jumping is greater than the distance between the second foot and the fourth foot before jumping.
  • the target unit area can be located in front of the legged robot, or it can be scattered around the initial unit area.
  • the terrain area where the footed robot is located includes at least two unit areas (which is consistent with the unit area in step 101).
  • the initial state of the footed robot is that each foot end of the footed robot stands in the same initial unit area, and each foot end is gathered in the initial unit area.
  • the initial unit area can be a restricted terrain area.
  • each foot end of the robot stands in this area at the same time, it usually stands in a posture with each foot end drawn downwards towards the center of the body; when the footed robot is in an independent unit area, the distance between any two foot ends is larger than that of the footed robot in the initial unit. Within the area, it corresponds to the distance between the two toes.
  • the footed robot Upon receiving the jump command (the way the footed robot receives the jump command is as described above), the footed robot can control itself to complete a highly dynamic and difficult first jump action in a plum blossom pile or a terrain area that can be discretized into a plum blossom pile form.
  • the first jumping action can be that the legged robot jumps from the end area of a single pile in the plum blossom pile in the initial state to the end area of each single pile.
  • the jumping action may be a single-pile jumping four-pile action of the quadruped robot starting from the four-legged state.
  • step 402 in response to the jumping instruction, the footed robot is controlled to jump to each independent unit area.
  • the legged robot responds to the jumping command and performs the corresponding jumping action.
  • the footed robot can use the model predictive control (MPC) method to generate a reference jumping trajectory corresponding to the current jumping action.
  • the reference jumping trajectory can include state parameters of at least two key points, and each stage has corresponding controls.
  • Information the footed robot parses the control information and obtains the corresponding motion trajectories at each stage.
  • the footed robot can jump to separate individual units located in front of the footed robot in the following stages: Meta-region: When each independent unit area is located in front of the footed robot, the footed robot responds to the jump command and controls itself to jump forward from the initial unit area to each independent unit area through the take-off phase, the airborne phase and the landing phase.
  • the process of the legged robot jumping from the initial unit area to the mutually independent independent unit areas may include at least one of a take-off phase, a soaring phase, and a landing phase.
  • the footed robot obtains the control information of each key point according to the reference jump trajectory corresponding to the current jump command.
  • the footed robot analyzes the control information and obtains the parameter values of the state parameters corresponding to each operation, thereby presenting the corresponding form.
  • the footed robot may include the following actions during the take-off phase of the jumping process: the footed robot sequentially performs the actions of the foot pushing on the ground and the front foot lifting off the ground.
  • the legged robot can at least obtain control information for the following key points in the reference jumping trajectory: the foot end kicks off the ground, and the front foot end leaves the ground (at this time, the rear foot end continues to push the ground).
  • the legged robot starts from the initial state and sequentially performs the foot-end kicking (each foot performs a kicking action in the initial unit area), the front-foot lifting off the ground (the front foot leaves the ground and the rear foot continues to push). ground) action, each action of the footed robot controls itself to be in a state corresponding to the action according to the corresponding control information.
  • FIG 12 is another schematic diagram of the take-off stage of a footed robot provided by an embodiment of the present application.
  • the footed robot in the figure is a quadruped robot, and the unit area is a single pile in a plum blossom pile.
  • Number 1 in the figure What is shown is the initial state of the quadruped robot.
  • Number 2 in the figure shows the foot end of the footed robot pushing on the ground during the take-off stage of the jumping process.
  • Number 3 in the figure shows the take-off stage of the jumping process. , the front foot of the legged robot operates off the ground.
  • each body part of the footed robot can show the following morphological changes: During the process of the footed robot pushing on the ground, the footed robot reduces the joints of the knee joints of the hind legs. angle, and increase the joint angle of the front leg knee joint so that the rear thigh and the trunk are in the same straight line, the trunk is raised at the target pitch angle, and the center of mass moves forward and upward.
  • the footed robot obtains the first control information corresponding to the key points of the foot in the reference jumping trajectory, parses the first control information, and adjusts the value of each state parameter to the value of each state parameter in the first control information.
  • Reference value each leg of the footed robot kicks on the ground simultaneously according to the reference jumping trajectory, so that the footed robot accelerates forward and upward at the target body pitch angle and center of mass position.
  • the footed robot as a quadruped robot as an example.
  • the foot-end When pedaling, the height of the knee joint is raised, the trunk of the quadruped robot and the rear thigh are in a straight line, the joint angle of the knee joint of the front leg is close to 180°, and the trunk is raised at the target pitch angle.
  • the footed robot when the footed robot performs a forefoot lift-off process (the front foot leaves the ground and the rear foot continues to push off the ground), the footed robot reduces the joint angle of the front leg knee joint of the footed robot to the first target angle.
  • the joint angle of the hind leg knee joint to the second target angle to increase the height of each knee joint and the height of the center of mass; among them, the height of the front leg knee joint is higher than the height of the center of mass, and the height of the hind leg knee joint is lower at the height of the center of mass; the first target angle is used to represent the angle of the front leg knee joint when the front thigh and the trunk of the footed robot are in the same straight line, and the second target angle is used to represent the rear calf of the footed robot.
  • the angle of the knee joint of the hind leg when it is perpendicular to the contact surface and the hind thigh and trunk are in the same straight line.
  • the footed robot performs the foot-stepping operation according to the reference jumping trajectory, and then performs the front-foot lifting operation. At this time, each rear foot continues to push the ground, and the footed robot obtains the corresponding front-foot lifting operation in the reference jumping trajectory.
  • the second control information of the key points on the ground is analyzed, and the second control information is analyzed, and the value of each state parameter of the footed robot is adjusted to the reference value of each state parameter in the second control information.
  • the footed robot orients according to the corresponding reference angle and position. Continue to accelerate the movement from the front and top to take off, while bending and contracting the front leg.
  • the legged robot as a four-legged robot as an example.
  • the foot end of the foot as shown as number 2 in Figure 12,
  • the center of mass moves forward and upward, the front legs bend and contract, the rear calves are perpendicular to the pile surface of the single pile, and the rear thighs and the trunk are in the same straight line, the trunk is raised at the target pitch angle.
  • the footed robot performs the operation of lifting its rear foot off the ground; During the process, the footed robot controls each front leg to extend toward the corresponding independent unit area, and controls each hind leg to contract first and then extend toward the corresponding independent unit area, so that each foot end of the footed robot can land on the corresponding independent unit area.
  • the footed robot After the footed robot performs the front-foot lift-off operation according to the reference jumping trajectory, it then performs the rear-foot lift-off operation. At this time, the foot-type robot begins to fly, and the foot-type robot obtains the corresponding rear-foot lift-off operation in the reference jumping trajectory.
  • the third control information of the key points on the ground is analyzed, and the value of each state parameter of the footed robot is adjusted to the reference value of each state parameter in the third control information.
  • the footed robot is completely airborne, and the front legs begin to move toward the corresponding The position of the independent unit area corresponding to the end of the foot stretches, and the hind legs first contract to provide a landing height for the swinging foot, and then begin to extend to the position of the independent unit area corresponding to the end of the foot to prepare for landing.
  • Figure 13 is a schematic diagram of the operation performed by the legged robot in the take-off phase provided by the embodiment of the present application.
  • the legged robot performs rear foot separation.
  • the footed robot controls the rear foot to stand, and the footed robot is completely airborne, and the front legs begin to move towards the corresponding target single pile.
  • the footed robot sequentially performs the operations of foot landing, leg bending, buffering, and body balancing.
  • the footed robot can at least obtain control information for the following key points in the reference jumping trajectory: foot landing, bent leg buffering and body balance.
  • the footed robot sequentially performs the operations of foot landing, leg bending, and body balance. Each operation of the footed robot controls itself to be in a state corresponding to the operation based on the corresponding control information.
  • Figure 14 is another schematic diagram of the landing stage of a footed robot provided by an embodiment of the present application.
  • the footed robot in the figure is a four-legged robot, and the unit area is a single pile in a plum blossom pile.
  • Number 1 in the figure indicates What is shown is a quadruped robot performing a foot-end landing operation.
  • Number 2 in the figure shows a bent-leg buffering operation performed by a footed robot.
  • Number 3 in the figure shows a body balancing operation of a footed robot.
  • each body part of the footed robot can show the following morphological changes:
  • the footed robot controls each foot end to contact the corresponding independent unit area at the same time. Contact surface; during the leg bending process of the footed robot, the footed robot performs the leg bending action of bending and contracting each leg, and increases the moment of the leg joints to reduce the speed of the footed robot; during the leg bending process of the footed robot During the process of body balance, the footed robot adjusts its body posture to move the center of mass of the footed robot to the area composed of each target unit area.
  • the footed robot obtains the fourth control information corresponding to the key point of the rear foot landing in the reference jumping trajectory, parses the fourth control information, and adjusts the values of each state parameter of the footed robot to each value in the fourth control information.
  • the reference value of the state parameter, each foot end of the footed robot contacts the contact surface of the corresponding independent unit area at the same time.
  • the knee joint of the front leg of the footed robot is still at a large joint angle, so that the body of the footed robot is in contact with the target.
  • the footed robot obtains the fifth control information of the key points of the curved leg buffering and performs the operation of the curved leg buffering.
  • the footed robot controls the bending and contraction of each leg while applying torque control to each joint, and smoothly moves the body center of mass projection into the four-leg support area.
  • the torso is raised at the target pitch angle, the rear thigh is extended backwards and is in a straight line with the torso, and the knee joint is lowered to a straight line with the contact surface of the corresponding target area, achieving balance in each independent unit area.
  • the legged robot as a quadruped robot as an example.
  • the four-legged robot The four foot ends of the robot contact the pile surface at the same time, and the knee joints of the hind legs move downward until the hind legs are nearly parallel to the contact surface.
  • the center of mass moves towards the rear legs to prepare for the subsequent bent leg buffering, and the trunk is raised at the target pitch angle.
  • Number 2 in the figure shows the bent-leg buffering operation of the footed robot.
  • the hind leg knee joint of the quadruped robot continues to move downward until the rear leg joint
  • the legs and torso are in the same straight line, the rear calves are nearly parallel to the contact surface, and the torso is raised at the target pitch angle.
  • Number 3 in the figure shows the foot landing operation of the foot robot.
  • the trunk of the quadruped robot is parallel to the pile surface, the center of mass moves to the center of the trunk, and the knee joints of the rear legs are raised to the knees of the front legs.
  • the joints are of the same height.
  • the footed robot can perform another continuous jumping action, that is, when the footed robot stands in independent unit areas from each foot end, steps 101-102 and steps 401-402 can be combined to realize the footed robot.
  • Continuous and stable jumping action of the robot That is, the footed robot starts from the initial state of each foot end standing in an independent unit area, jumps to the middle unit area through the above steps 101-102 (each foot end of the footed robot is gathered in the middle unit area), and then jumps to the middle unit area. From a single intermediate unit area, jump to multiple intermediate unit areas with the same number as the foot ends through the above steps 401-402.
  • FIG. 15 is a schematic diagram of a continuous jumping process of a footed robot provided by an embodiment of the present application.
  • the continuous jumping process includes a first jump and a second jump, where the first jump is a quadruped robot starting from On the four single piles of the plum blossom pile, jump to the single pile in front.
  • the second jump is based on the first jump, jumping from one single pile to the other four single piles.
  • the jumping process of the first jump is consistent with the jumping process shown in the above-mentioned steps 101-102
  • the jumping process of the second jump is consistent with the jumping process shown in the above-mentioned steps 401-402. It should be noted that the two jumping processes can be executed continuously and alternately, which is not limited by the embodiment of the present application.
  • the footed robot can also continuously perform jumping actions. That is, when the footed robot jumps from the initial unit area to the target unit area, steps 401-402 and steps 101-102 can be combined to achieve continuous and stable operation of the footed robot. jumping action. That is, the legged robot starts from an initial state in which each foot end stands in the same initial unit area and each foot end is gathered in the initial unit area. After the above steps 401-402, it jumps to multiple intermediate unit areas with the same number of foot ends. , and then jump from each intermediate unit area (at this time, each foot end corresponds to an intermediate unit area) to a target unit area through the above steps 101-102.
  • FIG 16 is another schematic diagram of a continuous jumping process of a footed robot provided by an embodiment of the present application.
  • the continuous jumping process includes a first jump and a second jump, where the first jump is four steps.
  • the foot robot jumps from a single pile located on the plum blossom pile to the four single piles in front.
  • the second jump is based on the first jump, jumping from the four single piles to another single pile.
  • the jumping process of the first jump is consistent with the jumping process shown in the above-mentioned steps 401-402
  • the jumping process of the second jump is consistent with the jumping process shown in the above-mentioned steps 101-102.
  • the two jumping processes can be executed continuously and alternately, which is not limited by the embodiment of the present application.
  • the application of the embodiments of the present application to control the jumping action of a legged robot can simultaneously combine the constraints of limited landing positions to achieve long and high takeoff, soaring, accurate landing, and smooth completion of buffering, balance, and attitude control.
  • the footed robot can be controlled to complete the set of jumping actions on various terrain areas such as plum blossom pile arrays, block stepping stones, flat ground, etc., which realizes the control of the footed robot jumping into restricted areas and improves the control of the footed robot.
  • the control accuracy of the robot's jumping can also expand the robot's movement capabilities and demonstrate the robot's excellent motion planning and control technology.
  • the jumping action realized by the footed robot in the embodiment of the present application has the advantages of high dynamics and difficulty, and has bionic characteristics, which can improve the dynamics, difficulty and viewing of the movement of the footed robot, and expand the diversity of the movement of the footed robot. sex.
  • the legged robot is a quadruped robot
  • the site where the quadruped robot is located is a plum blossom pile.
  • the execution process of the quadruped robot's jumping action is as follows: the quadruped robot stands on its four legs. A high pile with a smaller pile surface among the plum blossom piles jumps to a target pile surface with a limited pile surface in front of the quadruped robot's body. On the target pile surface, the quadruped robot draws its four foot ends downward toward the body. Stand and maintain balance.
  • embodiments of the present application provide a motion control method for a footed robot.
  • This method can be used in a scenario where a footed robot jumps on a plum blossom pile, and can realize a quadrupedal robot jumping from a normal standing posture to a quadrupedal jump. Achieve the air, then retract the four legs and smoothly land in a specific small area (a single plum blossom pile surface) while maintaining balance, and complete the shaking and tailing motion in place in the target posture.
  • this action is based on the design of a quadruped robot.
  • the most challenging plum blossom pile array scenario is used as an example to illustrate the action. See Figure 4.
  • the figure shows that the terrain area is a plum blossom pile, and each pile surface in the plum blossom pile can Viewed as independent unit areas in the terrain area, the quadruped robot is controlled to perform the jumping action in the current scene on the plum blossom pile.
  • the entire jumping process can be divided into the take-off stage, the airborne stage, and the landing stage. Below, these three stages will be explained in sequence:
  • the quadruped robot goes through the following state changes: initial state -> squatting and accumulating power -> starting to kick on the ground with four legs -> starting to take off.
  • initial state -> squatting and accumulating power -> starting to kick on the ground with four legs -> starting to take off When the quadruped robot is in the initial state, the four legs of the quadruped robot stand on the four pile surfaces in a normal standing posture (see the state of the quadruped robot shown in Figure 7 No. 1).
  • it actively Lower the height of the body to the planned take-off height (i.e.
  • the joint angle at the knee joint to increase (the forward acute angle gradually increases to the forward obtuse angle), the height of the center of mass of the body's center of mass increases, and the body accelerates forward and upward to take off (that is, starts to fly), (see the figure 7 No. 4 shows the starting state of flight).
  • the quadruped robot undergoes the following state changes in sequence: airborne, retracting the four legs and retracting the legs -> airborne, retracting the four legs and extending the legs.
  • the four legs of the quadruped robot are completely off the ground, and the robot is completely in the air.
  • the quadruped robot retracts its four legs and retracts its legs (see the state shown in Figure 8 No. 1), that is, by controlling the four legs to retract downwards from the center of the body,
  • the quadruped robot first retracts its legs upward (the joint angle of the knee joint decreases), and then the quadruped robot retracts its four legs and extends its legs (see the state shown by No. 2 in Figure 8). That is, with the four legs retracted, it continues to move toward Stretch forward and downward toward the (planned) landing point to prepare for landing.
  • the quadruped robot undergoes the following state changes: contacting the pile surface -> curved leg buffering -> maintaining balance.
  • the four legs of the quadruped robot contact the pile surface at the same time (see the state shown in Figure 9 No. 1), and then the four legs begin to bend and contract while applying torque control to each joint for buffering and deceleration (see the state shown in Figure 9 No. 2).
  • the hind legs When contacting the pile surface, the hind legs extend forward farther (the knee joints of the hind legs , the extension distance of the hip joint), and due to the freedom configuration of the legs of the quadruped robot, the knee joints of the rear legs will tend to move downward during the buffering process after landing. At the same time, in order to avoid the knee joints being lower than the target pile surface After reaching a certain height, the calf of the hind leg collides with the edge of the pile surface, or the knee joint collides with the ground on other terrain such as flat ground. When performing buffering motion control, it is necessary to limit the contraction range of the rear leg bending and the descending range of the rear leg knee joint. In addition, it is also necessary to ensure that the foot end does not rebound due to impact after contacting the pile surface, nor does it slide due to leg posture and force exertion.
  • the quadruped robot completes the jumping action toward the target pile surface through the three stages of the above jumping process, and maintains balance on the target pile surface with its four legs tucked under the body.
  • the quadruped robot when the quadruped robot maintains a balanced state on the target pile surface (at this time, it is standing with a small distance between the footholds), it can also receive instructions for controlling the quadruped robot to move its head and tail on the target pile surface.
  • the quadruped robot can complete the entire set of jumping actions on various terrains such as plum blossom piles, which can expand the robot's motion capabilities and demonstrate the robot's excellent motion planning and control technology.
  • the embodiment of the present application plans the most labor-saving jumping trajectory through a nonlinear optimization method, and performs motion control based on MPC to realize that the quadruped robot starts from a normal standing posture, accumulates force, kicks on the ground, soars into the air, closes the four legs, and lands on a small foot.
  • a complete set of highly dynamic and difficult jumping movements including touching the ground, buffering, balancing and shaking the tail.
  • the functional modules used by the quadruped robot to implement the current jumping action mainly include the jumping trajectory planning module, the jumping control module, and the terrain perception module.
  • x represents the X-axis component of the center of mass
  • z represents the Z-axis component of the center of mass
  • pitch represents the pitch angle of the center of mass
  • q hip front represents the joint angle of the front leg hip joint
  • q knee front represents the joint angle of the front leg knee joint
  • q hip,hind represents the joint angle of the hip joint of the hind leg
  • q knee,hind represents the joint angle of the knee joint of the hind leg.
  • the optimization goal is to minimize the sum of driving forces required to complete the entire set of actions:
  • f i is the contact force vector of all foot ends at the i-th sampling point
  • W is the weight parameter matrix
  • k is the number of sampling points of the action.
  • the constraints include (1) joint moment and contact force limits, (2) plantar friction cone, (3) hip and knee joints are higher than the height of the pile surface, and (4) dynamic constraints and no slipping of the foot end, where f min , f max is the minimum and maximum value of the contact force, f i,x ,f i,z is the component of the contact force at the i-th sampling point in the x and z directions, ⁇ is the friction coefficient, p hip,z ,p knee, z represents the height of the hip and knee joints, H, S, C, and G are respectively the generalized mass matrix, selection matrix, friction and Coriolis force related term matrix, and gravity term matrix.
  • J front and J hind represent the front and rear legs respectively. Jacobian matrix.
  • the first row in constraint (4) represents the dynamic constraints, and the second and third rows represent
  • the reference position of the center of mass is given based on the position of the single pile (x pole , z pole ) plus a specific offset (x offset , z offset ) based on the action design.
  • the reference pitch angle of the body, pitch touchdown is also given based on the action design, p pole + p offset, front/hind represents the expected foothold position of each foot on the pile, that is, based on the center position of the pile surface p pole plus the closing offset of each foot p offset, front/hind , and the reference joint angle of the leg.
  • IK( ⁇ ) is performed based on the desired foothold point on the pile and the reference position of the center of mass.
  • the foothold position of the four feet when the pile is dropped can be adjusted through the settings of p offset, front and p offset, hind .
  • the most labor-saving reference jump trajectory that satisfies the constraints is obtained.
  • the reference jumping trajectory can effectively ensure the feasibility of the entire set of jumping actions, allowing the control module to predict the reference trajectory smoothly.
  • the head-wagging and tail-wagging movements after balance is completed can be achieved through pre-programming or online remote control instructions.
  • k p and k d are PD gains respectively.
  • leg movement control is only realized through joint PD control.
  • the MPC controller is used to achieve buffering, balance and subsequent head and tail movements. Based on the optimal reference trajectory obtained through planning and the current status of the robot, an MPC optimization problem is constructed, and the optimal joint torque is obtained by solving the problem.
  • the entire set of maneuvers can be performed with or without terrain awareness.
  • online trajectory planning is performed based on the identification and positioning information of the independent single pile, that is, p pole ; when there is no perception module, prediction and determination can be based on the offline planned action trajectory, provided that there is a priori knowledge about the terrain. Knowledge.
  • the foot contact force is calculated based on the joint torque, and then the foot contact force is used to determine whether the pile surface is in contact, thereby providing timely sensing information for control algorithm switching.
  • b contact represents the Boolean type of sole contact state
  • f normal is the component of the sole contact force in the normal direction of the contact surface
  • f threshold is the threshold for judging whether there is contact or not.
  • the judgment logic of the plantar force sense is that if the component of the plantar contact force in the normal direction of the contact surface is greater than a given threshold, it is determined to be a contact state (1), otherwise it is determined to be a non-contact state (0).
  • the jumping action can be a quadrupedal jump or a bipedal jump.
  • bipedal jumping it can be divided into four stages: power accumulation, four-legged kicking, front leg off the ground, rear leg kicking, and airborne.
  • trajectory planning algorithm in addition to nonlinear optimization, other simple methods such as heuristics and spline interpolation can also be used. Although trajectory optimality cannot be guaranteed, similar actions can also be achieved.
  • the control method can also be based on QP controller to achieve motion prediction.
  • the completed jumping action improves the dynamics, difficulty and viewing angle of the quadruped robot movement. It expands the diversity of quadruped robot movements, allowing quadruped robots to perform difficult movements not only on flat ground, but also in scenes such as plum blossom piles and small stone piers.
  • the footed robot includes at least two foot ends.
  • the storage The software modules in the motion control device 555 of the footed robot in the memory 550 may include:
  • the receiving module is configured to receive a jumping instruction for the footed robot when each foot end of the footed robot stands in an independent unit area, and the jumping instruction is used to instruct the footed robot to start from Jump to the target unit area from at least two unit areas currently located;
  • control module configured to, in response to the jump instruction, control the footed robot to jump to the target unit area, where the distance between any two foot ends of the footed robot is less than the distance between the footed robot and the target unit area.
  • the front corresponds to the distance between the two toes.
  • the target unit area is located in front of the footed robot, and the control module is further configured to, in response to the jumping instruction, control the footed robot through a take-off phase, a flight phase, and a landing phase, Jump forward to the target cell area.
  • control module is further configured such that during the take-off phase, the footed robot sequentially performs the operations of squatting and accumulating energy, pushing off the ground with its feet, and starting to take flight; during the take-off phase, the footed robot The footed robot sequentially performs the operations of retracting the feet and legs in the air and extending the legs in the air; during the landing stage, the footed robot sequentially performs the operations of foot landing, leg bending, buffering, and body balance.
  • control module is further configured to bend the legs of the footed robot to move the center of mass of the footed robot during the process of squatting and accumulating force. Reduce from the initial height to the take-off height; during the process of the foot-end pushing on the ground, the foot-type robot increases the moment of the leg joints to increase the contact surface between each foot end. Friction force; when the footed robot starts to fly, the footed robot performs a take-off action forward and upward at the target pitch angle to increase the height of the knee joint and the height of the center of mass, which The height is higher than the initial height.
  • control module is further configured to control each leg to drive the corresponding foot end upward to the center of the body during the process of the foot-type robot retracting its feet and legs in the air.
  • the footed robot controls the front legs to extend toward the target unit area so that each foot end of the footed robot can land on the target. unit area.
  • control module is further configured to control each foot end of the foot type robot to simultaneously contact the contact surface in the target unit area during the foot end landing process of the foot type robot.
  • the footed robot performs the bent-leg buffering process, the footed robot performs a bent-leg action in which each leg bends and contracts, and increases the moment of the leg joints to reduce the force of the footed robot.
  • Speed During the process of the body balance of the footed robot, the footed robot adjusts its body posture to move the center of mass of the footed robot into the target unit area.
  • the footed robot includes a tail
  • the control module is further configured to control the footed robot to continuously perform at least one of the following operations in the target area based on at least one degree of freedom: a shaking motion. , tail swinging action; wherein the degree of freedom includes at least one of roll, pitch, and deflection.
  • the target unit area is located at the center of each unit area where the foot end is located, and the control module is further configured to control the footed robot to take off in response to the jump instruction. stage, airborne stage and landing stage, jump upward to the target unit area.
  • control module is further configured such that during the take-off phase, the footed robot sequentially performs the operations of squatting, accumulating energy and starting to fly; during the flight phase, the footed robot performs aerial operations.
  • control module is further configured to bend the legs of the footed robot to move the center of mass of the footed robot during the process of squatting and accumulating force. Reduce from the initial height to the take-off height; during the process of the footed robot starting to take off, the footed robot bounces upward to increase the height of the jump.
  • the height of the high knee joint and the height of the center of mass, the height of the center of mass is higher than the initial height; when the footed robot performs the process of retracting its feet and legs in the air, the footed robot controls the trunk to be in In the upright state, each leg of the footed robot drives the corresponding foot end upward to be folded under the trunk.
  • the footed robot is a four-legged robot
  • the control module is further configured to respond to the jumping instruction, and when the jumping instruction indicates bipedal jumping, control the footed robot to alternately Use two front legs and two back legs to jump to the target cell area.
  • control module is also configured such that the process of the legged robot using its two front legs and two hind legs alternately to jump includes: a power accumulation phase, a four-legged grounding phase, and a front leg lifting off the ground.
  • the unit area and the target unit area are both end areas of a single pile in a plum blossom pile, and the shape and size of the unit area and the target unit area are the same.
  • control module is further configured to predict the jumping trajectory of the footed robot to obtain a reference jumping trajectory; obtain the constraints corresponding to the jumping instructions, and the constraints are used to predict the jumping instructions.
  • the jumping of the footed robot is constrained; based on the reference jumping trajectory and the constraint conditions, state parameters of at least two key points of the reference jumping trajectory are determined.
  • control module is further configured to respond to the jump instruction and control the footed robot to jump to the target unit area based on the state parameters of each of the key points.
  • control module is further configured to obtain at least two key points in the reference jump trajectory; wherein the key points include at least one of the following: the starting point of the reference jump trajectory, the The vertex of the reference jump trajectory and the end point of the reference jump trajectory.
  • Embodiments of the present application provide a computer program product or computer program.
  • the computer program product or computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium.
  • the processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the motion control method of the footed robot mentioned above in the embodiment of the present application.
  • Embodiments of the present application provide a computer-readable storage medium storing executable instructions.
  • the executable instructions are stored therein.
  • the executable instructions When executed by a processor, they will cause the processor to execute the legged robot provided by the embodiments of the present application.
  • the motion control method for example, the motion control method of the footed robot as shown in Figures 3A-3B.
  • the computer-readable storage medium may be read-only memory (Read-Only Memory, ROM), random access memory (RAM), erasable programmable read-only memory (Erasable Programmable Read-Only Memory) , EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), flash memory, magnetic surface memory, optical disk, or CD-ROM; it can also include one or any combination of the above memories of various equipment.
  • ROM read-only memory
  • RAM random access memory
  • EPROM erasable programmable read-only memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • flash memory magnetic surface memory, optical disk, or CD-ROM
  • executable instructions may take the form of a program, software, software module, script, or code, written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and their May be deployed in any form, including deployed as a stand-alone program or deployed as a module, component, subroutine, or other unit suitable for use in a computing environment.
  • executable instructions may, but do not necessarily correspond to, files in a file system and may be stored as part of a file holding other programs or data, for example, in a Hyper Text Markup Language (HTML) document. in one or more scripts, in a single file that is specific to the program in question, or in multiple collaborative files (e.g., files that store one or more modules, subroutines, or portions of code).
  • HTML Hyper Text Markup Language
  • executable instructions may be deployed for execution on one computing device, or on multiple computing devices located at one location, or on multiple computing devices distributed across multiple locations and interconnected by a communications network implement.
  • the embodiments of the present application improve the dynamics, difficulty, and viewing of the movement of the quadruped robot, and expand the diversity of the movement of the quadruped robot, so that the quadruped robot can not only move on flat ground, but also on places such as plum blossom piles.
  • Complete difficult action demonstrations in scenes such as , small stone piers, etc.

Abstract

本申请公开了一种足式机器人的运动控制方法、装置、足式机器人、计算机可读存储介质及计算机程序产品;足式机器人包括至少两个足端,方法包括:当足式机器人的各个足端分别站立于相互独立的单元区域内时,接收到针对足式机器人的跳跃指令,该跳跃指令,用于指示足式机器人从当前所处的至少两个单元区域,跳跃至目标单元区域;响应于跳跃指令,控制足式机器人跳跃至目标单元区域,且在目标单元区域中,足式机器人的任意两个足端间的距离小于跳跃前相应两个足端间的距离。

Description

足式机器人的运动控制方法、装置、足式机器人、存储介质及程序产品
相关申请的交叉引用
本申请基于申请号为202210880649.1、申请日为2022年07月25日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。
技术领域
本申请涉及机器人运动控制技术领域,尤其涉及一种足式机器人的运动控制方法、装置、足式机器人、计算机可读存储介质及计算机程序产品。
背景技术
足式机器人以其仿生、灵活等特点得到越来越多的关注。相关技术中已经实现的足式机器人步态非常多样,包括行走,对角慢跑,对角快跑,双足跳,四足跳,侧足走,飞奔等。
然而,针对足式机器人的跳跃步态,足式机器人能够实现的跳跃动作大都是在平地或具有大落脚面积的地形上实现的连续步态运动,对足式机器人运动的控制精确度低。
发明内容
本申请实施例提供一种足式机器人的运动控制方法、装置、足式机器人、计算机可读存储介质及计算机程序产品,能够提高对足式机器人运动的控制精度,扩展足式机器人运动的多样性。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种足式机器人的运动控制方法,所述足式机器人包括至少两个足端,方法包括:
当足式机器人的各个足端分别站立于相互独立的单元区域内时,接收到针对所述足式机器人的跳跃指令;
其中,所述跳跃指令,用于指示所述足式机器人从当前所处的至少两个单元区域,跳跃至目标单元区域;
响应于所述跳跃指令,控制所述足式机器人跳跃至所述目标单元区域、且在所述目标单元区域中,所述足式机器人的任意两个足端间的距离小于跳跃前相应两个足端间的距离。
本申请实施例提供一种足式机器人的运动控制装置,包括:
接收模块,配置为当足式机器人的各个足端分别站立于相互独立的单元区域内时,接收到针对所述足式机器人的跳跃指令,所述跳跃指令,用于指示所述足式机器人从当前所处的至少两个单元区域,跳跃至目标单元区域;
控制模块,配置为响应于所述跳跃指令,控制所述足式机器人跳跃至所述目标单元区域、且在所述目标单元区域中,所述足式机器人的任意两个足端间的距离小于跳跃前相应两个足端间的距离。
本申请实施例提供一种足式机器人,所述足式机器人包括:
具有至少两个足端的机器人本体;
控制器,设置于所述机器人本体上,配置为执行本申请实施例提供的足式机器人的运动控制方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的足式机器人的运动控制方法。
本申请实施例具有以下有益效果:
应用本申请实施例,根据接收到的跳跃指令,能够控制足式机器人从各个足端分别站立于相互独立的单元区域内,跳跃至目标单元区域,由于在目标单元区域中,足式机器人的任意两个足端间的距离小于跳跃前相应两个足端间的距离,可知足式机器人所执行的跳跃存在目标单元区域这一受限条件,即足式机器人的落脚点受限,实现了足式机器人向受限区域内跳跃的控制,提高了对足式机器人跳跃的控制精度,并扩展了足式机器人运动的多样性。
附图说明
图1A-1B是本申请实施例提供的足式机器人的运动控制系统100的架构示意图;
图1C是本申请实施例提供的四足机器人结构示意图;
图1D是本申请实施例提供的控制设备结构示意图;
图2是本申请实施例提供的实施足式机器人的运动控制方法的控制设备500的结构示意图;
图3A-3B是本申请实施例提供的足式机器人的运动控制方法的流程示意图;
图4是本申请实施例提供的梅花桩式的地形区域示意图;
图5是本申请实施例提供的足式机器人的初始状态示意图;
图6是本申请实施例提供的状态参数获取流程示意图;
图7是本申请实施例提供的足式机器人起跳阶段示意图;
图8是本申请实施例提供的足式机器人腾空阶段示意图;
图9是本申请实施例提供的足式机器人落地阶段示意图;
图10是本申请实施例提供的基于自由度的足式机器人的角度实现示意图;
图11是本申请实施例提供的足式机器人的运动控制方法的另一流程图;
图12是本申请实施例提供的足式机器人起跳阶段的另一示意图;
图13是本申请实施例提供的足式机器人起跳阶段执行的操作示意图;
图14是本申请实施例提供的足式机器人落地阶段另一示意图;
图15是本申请实施例提供的足式机器人连续跳跃过程示意图;
图16是本申请实施例提供的足式机器人连续跳跃过程的另一示意图;
图17是本申请实施例提供的四足机器人平面模型示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行详细说明之前,对本申请实施例中涉及的名词和术语进行说明, 本申请实施例中涉及的名词和术语适用于如下的解释。
1)机器人(Robot):能够半自主或全自主工作的智能机器,包括各类模拟人类行为或思想上模拟其他生物的机器设备(如机器狗,机器猫等)。在广义上某些电脑程序也被称为机器人。在当代工业中,机器人指能自动执行任务的人造机器人,用以取代或协助人类工作,可以是机电装置,或由电脑程序或电子电路控制。
2)足式机器人:泛指具有足端的机器人,足式机器人可以配置一个或多个腿,每个腿可以配置一个或多个关节,通常一只腿对应是三个关节,每条腿对应一个足端。足式机器人例如两足机器人、四足机器人或六足机器人等。四足机器人例如机器狗。由于足式机器人可能包括多个足端,而在不同时刻落足的足端可能是不同的,因此为了便于区分,可以将足式机器人的各个足端表示为第一足端、第二足端……第i足端等,在某个足端落地时,也就对应机器人迈了该足端对应的腿。
3)落脚点:是指机器人足端与接触面接触的位置,用于泛指机器人的落脚点,可以是起始落脚点或候选落脚点,当候选落脚点被选中作为足端的落脚点时,则该候选落脚点又可以视为目标落脚点。其中起始落脚点是指起始时刻对应的足式机器人的落脚点。
4)广义坐标:能够确定质系(包括至少一个质点)位置的独立变量,如角度、面积等。极坐标、柱坐标、球坐标、曲线坐标等等,都属于广义坐标。也就是说,广义坐标不过就是一组坐标,对于一个三维空间中运动的质点,可以用三个直角坐标描述它的位置,也可以用三个球坐标描述它的位置,这些都叫广义坐标。在分析力学里,通常约定俗成地将广义坐标选取为一系列的独立的坐标,举例说明独立坐标:三维空间的自由质点必须要三个坐标才能确定它的位置,这三个坐标是独立的,缺一不可。
在三维空间中,1个质点拥有3个广义坐标,即可以用三个独立的变量来寻找三维空间中的任何一个位置。
5)自由度:单刚体拥有的独立坐标,称为自由度。三维空间中,1个非约束单刚体的自由度为6,包括3个平移的自由度、以及3个旋转的自由度。其中,三个旋转的自由度包括绕对应轴的俯仰、偏转及滚转。以三维空间中的右手笛卡尔坐标系为例,围绕X轴旋转称为滚转,可使用roll表示围绕X轴旋转的角度,即滚转角;使用pitch表示围绕Y轴旋转的角度,可称俯仰角;使用yaw表示围绕Z轴旋转,也称偏转角。
6)模型预测控制(MPC,Model Predictive Control):一种对受控对象进行预测的控制方法,模型预测控制实际上是以优化方法来求解控制问题,或者说是以优化问题的求解来给出控制器的动作,模型预测控制的运行描述如下:控制过程中,始终存在一条期望参考轨迹。以时刻作为当前时刻(坐标系纵轴所在位置)控制器结合当前的测量值和预测模型,预测系统未来一段时域内系统的输出,通过求解满足目标函数以及各种约束的优化问题,得到在控制时域内一系列的控制序列,并将该控制序列的第一个元素作为受控对象的实际控制量。当来到下一个时刻时,重复上述过程,如此滚动地完成一个个带约束的优化问题,以实现对被控对象的持续控制。模型预测控制属于反馈控制的一种,例如,过马路时,你脑子里会建立起一个此时此刻你的速度和边上过来的车行驶速度的模型,然后你每走一步,都会修正一下这个模型,调整自己的速度,以确定自己不会被撞上。
7)空间落脚约束条件:用于约束足式机器人在每次迈步后的足端均是处于该足端对应的工作空间中。该空间落脚约束条件可以用于约束机器人的质心位置变化系数、迈步次序和落脚点等。
8)摩擦力约束条件:用于约束足端接触力位于摩擦锥内,以避免足式机器人与接触面之间出现打滑的情况,其中,摩擦锥是根据足式机器人在候选落脚点的法向量、落脚的足端与接触面之间的摩擦系数确定的。
9)足端接触力约束条件:用于约束足端接触力在法线方向上的接触力小于或等于接触力上限,以避免足式机器人与接触面之间的作用力过大。
基于上述对本申请实施例中涉及的名词和术语的解释,下面说明本申请实施例提供的 足式机器人的运动控制系统。参见图1A-1B,图1A-1B是本申请实施例提供的足式机器人的运动控制系统100的架构示意图,为实现支撑一个示例性应用,系统包括足式机器人400和控制设备200,在一些实施例中,控制设备200与足式机器人400是相对独立的两个设备,足式机器人400包括至少两个足端(示例性的示出包括四个足端的足式机器人)在该情况下,足式机器人400通过网络300连接控制设备200,网络300可以是广域网或者局域网,又或者是二者的组合。足式机器人400和控制设备200可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
控制设备200配置为,当足式机器人的各个足端分别立于相互独立的单元区域内时,接收到针对足式机器人的跳跃指令;其中,跳跃指令,用于指示足式机器人从当前所处的至少两个单元区域,跳跃至目标单元区域;响应于跳跃指令,发送控制指令至足式机器人400,该控制指令用于控制足式机器人跳跃至目标单元区域;
这里,上述跳跃指令可以从上位机接收或根据用户的输入操作获得,其中,上位机可以为与控制设备200无线或有线连接的任意设备,上位机例如终端或服务器等;
足式机器人400配置为,响应于上述控制指令,控制足式机器人跳跃至目标单元区域、且在目标单元区域中,足式机器人的任意两个足端间的距离小于跳跃前相应两个足端间的距离。
控制设备200可以通过终端或服务器实现,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。服务器包括但不限于:独立的物理服务器、多个物理服务器构成的服务器集群、或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
在一些实施例中,控制设备200为足式机器人400的一部分,控制设备200可以设置在足式机器人400的机体内,例如,控制设备200为足式机器人400中的内部处理器等;相应的,当足式机器人的各个足端分别站立于相互独立的单元区域内时,控制设备200接收到针对足式机器人的跳跃指令,该跳跃指令,用于指示足式机器人从当前所处的至少两个单元区域,跳跃至目标单元区域;响应于跳跃指令,控制设备200控制足式机器人跳跃至目标单元区域,在目标单元区域中,足式机器人的任意两个足端间的距离小于跳跃前相应两个足端间的距离。
以足式机器人为四足机器人为例,参见图1C,图1C是本申请实施例提供的四足机器人结构示意图,编号1示出的前腿、编号1-1示出的为前腿髋关节、编号1-2示出的为前大腿、编号1-3示出的为前腿膝关节、编号1-4示出的为前小腿、编号1-5示出的为前腿踝关节;编号2示出的后腿、编号2-1示出的为后腿髋关节、编号2-2示出的为后大腿、编号2-3示出的为后腿膝关节、编号2-4示出的为后小腿、编号2-5示出的为后腿踝关节;编号3示出的是足端、编号4示出的是躯干,编号5示出的是头部,大腿与小腿朝向头部的角度为膝关节的关节角度,在无特别说明的情况下,各个量均是在世界坐标系下的表示结果。
为了更清楚地介绍控制设备200的结构,参见图1D,图1D是本申请实施例提供的控制设备结构示意图,下面结合图1所示的足式机器人运动控制系统进行示例介绍,图1中是以控制设备200包括视觉感知单元210、轨迹生成单元220和运动控制单元230为例。其中,视觉感知单元210可以设置在足式机器人400上,例如搭载在足式机器人400的头部。视觉感知单元210例如包括摄像头、红外摄像头中的一种或多种。摄像头例如RGBD摄像头。视觉感知单元还包括用于实现即时定位与地图创建(Simultaneous Localization and Mapping)功能。视觉感知单元210采集足式机器人的状态数据。状态数据包括足式机器人400起始时刻的状态数据。另外,视觉感知单元210还可以采集足式机器人400所处的 环境图像,获得足式机器人400每次落脚可能的目标单元区域(跳跃操作后的落脚点)。在获得状态数据、环境图像之后,视觉感知单元210可以将状态数据和环境图像发送至轨迹生成单元220。或者,轨迹生成单元220可以通过足式机器人400的内部传感器和外部传感器获得足式机器人400的状态数据。或者轨迹生成单元220可以将上一个规划周期的结束时刻的期望状态数据作为当前对应规划周期的起始时刻的状态数据。或者,轨迹生成单元220通过运动控制单元230的状态估计器获得足式机器人400的状态数据。轨迹生成单元220接收状态数据和目标单元区域(跳跃操作后的落脚点),确定足式机器人400在多个时刻的状态(状态是基于关节角度、质心高度、关节弯曲幅度、关节下降高度等状态数据确定的),并根据多个时刻的质心位置、目标单元区域的位置等获得该足式机器人400的质心运动轨迹,进而根据质心运动轨迹和目标单元区域(跳跃操作后的落脚点或称目标落脚点)确定足式机器人400的跳跃轨迹,将跳跃轨迹和目标落脚点发送给运动控制单元230。运动控制单元230可以根据跳跃轨迹和目标落脚点,确定该足式机器人230各个关节的关节力矩,按照各个关节力矩,控制足式机器人400的各个关节转动,从而实现足式机器人400的跳跃运动。
在一些实施例中,运动控制单元230还可以监测足式机器人400跳跃过程中实时的状态数据(各状态参数的值组成的状态数据,也可称控制数据),根据实时的状态数据,控制足式机器人400的跳跃,以保证足式机器人400能够稳定移动。
本申请实施例还可以借助于云技术(Cloud Technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
参见图2,图2是本申请实施例提供的实施足式机器人的运动控制方法的控制设备500的结构示意图。在实际应用中,控制设备500可以为服务器或终端,以控制设备500为终端为例,对实施本申请实施例的足式机器人的运动控制方法的控制设备进行说明,本申请实施例提供的控制设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。控制设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例 如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,配置为经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块553,配置为经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块554,配置为对来自一个或多个输入装置532的用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的足式机器人的运动控制装置可以采用软件方式实现,图2示出了存储在存储器550中的足式机器人的运动控制555,其可以是程序和插件等形式的软件,包括以下软件模块:接收模块5551和控制模块5552,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或拆分,将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的足式机器人的运动控制装置可以采用软硬件结合的方式实现,作为示例,本申请实施例提供的足式机器人的运动控制装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的足式机器人的运动控制方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
将结合本申请实施例提供的足式机器人的示例性应用和实施,说明本申请实施例提供的足式机器人的运动控制方法,该方法由控制设备执行,在一些实施例中,该控制设备可以独立于足式机器人存在,在另一些实施例中,该控制设备可设置于足式机器人内部,作为足式机器人的一部分存在。图3A-3B是本申请实施例提供的足式机器人的运动控制方法的流程示意图,以足式机器人执行上述方法为例,参见图3A,将结合图3A示出的步骤进行说明。
在步骤101中,当足式机器人的各个足端分别立于相互独立的单元区域内时,足式机器人接收到针对足式机器人的跳跃指令。
其中,跳跃指令,用于指示足式机器人从当前所处的至少两个单元区域,跳跃至目标单元区域。
对单元区域进行说明,在一些实施例中,单元区域和目标单元区域可以是以下形式:单元区域及目标单元区域均为梅花桩中单桩的端面区域,单元区域与目标单元区域的形状及大小均相同。
在实际实施时,单元区域可以是足式机器人的控制设备通过对地形区域进行细化等面积分割离散的方式,得到的一系列多个分散独立的落脚点(单元区域),单元区域可以是类似于梅花桩中单桩的端面区域。足式机器人可以控制自身在梅花桩或能够离散化成梅花桩形式的地形区域中完成高动态高难度的跳跃动作,跳跃动作可以包括足式机器人从各足端分别立于梅花桩中各个单桩的端面区域跳跃至同一单桩的端面区域,以四足机器人为例,该跳跃动作可以是四足机器人从四脚分散站立状态开始的四桩跳单桩动作、且四脚收拢于落地平衡的单桩。跳跃动作还可以包括足式机器人各个足端立于梅花桩中一个单桩的端面区域跳跃至各单桩的端面区域,以四足机器人为例,该跳跃动作可以是四足机器人从四脚收拢状态开始的单桩跳四桩动作。目标单元区域主要是用于表征足式机器人的落脚点受限的区域,即足式机器人在目标单元区域内(目标落脚点)时,是以各足端收拢于身体下方的姿态保持平衡的,当各足端分散时,足式机器人容易踩空或跌倒。
示例性地,参见图4,图4是本申请实施例提供的梅花桩式的地形区域示意图,图中 示出的梅花桩包括多个独立的、区域面积大小相同的单桩(单元区域)。在实际应用中,不同的地形也可以离散成包括多个高度不同、区域面积不同的单元区域。
在实际实施时,足式机器人的初始状态为足式机器人的各个足端分别站立于相互独立的多个单元区域内,也即,足式机器人的足端与单元区域一一对应;示例性地,参见图5,图5是本申请实施例提供的足式机器人的初始状态示意图,图中,以四足机器人为例,单元区域为梅花桩中的单桩的端面区域,四足机器人四足分别立于梅花桩中的四个单桩(即单元区域)上。
对足式机器人接收跳跃指令的方式进行说明,在实际实施时,足式机器人可以接收到针对自身的跳跃指令,其中,跳跃指令的触发方式,可以是外部触发或内部触发,外部触发可以是足式机器人接收到用户输入的跳跃指令(输入形式可以是语音输入、文字输入)、或用户触发用于控制足式机器人进行跳跃的功能项触发的,或用户通过终端(如手机、遥控器)发送至足式机器人;内部触发可以是足式机器人根据自身携带的控制器发出的跳跃指令,如足式机器人在运动过程中通过对地形判断需要跳跃至目标单元区域时所生成。
在实际应用中,跳跃指令可以包括向前跳跃指令、向上跳跃指令中至少之一,例如,可以根据目标单元区域相对于单元区域的位置确定,当目标单元区域位于足式机器人的前方时,跳跃指令为向前跳跃指令;当目标单元区域位于各单元区域的中心时,跳跃指令为向上跳跃指令。后续在无特别说明的情况下,跳跃指令是指向前跳跃指令。不同形式的跳跃指令,对应的跳跃过程不同。
在步骤102中,响应于跳跃指令,控制足式机器人跳跃至目标单元区域,在目标单元区域中,足式机器人的任意两个足端间的距离小于跳跃前相应两个足端间的距离。
这里,令足式机器人在跳跃前任意两足间的距离为第一距离,该足式机器人跳跃至目标单元区域后,该任意两足间的距离为第二距离,则第二距离小于第一距离;示例性地,该足式机器人为四足机器人,包括两个前足(第一足及第二足)和两个后足(第三足和第四足),跳跃后第一足和第二足间的距离小于跳跃前第一足和第二足间的距离,跳跃后第三足和第四足间的距离小于跳跃前第三足和第四足间的距离,跳跃后第一足和第三足间的距离小于跳跃前第一足和第三足间的距离,跳跃后第二足和第四足间的距离小于跳跃前第二足和第四足间的距离。
在实际实施时,足式机器人响应于跳跃指令,执行相应的跳跃动作。在执行跳跃动作之前,足式机器人可以采用模型预测控制(MPC)方法生成对应当前跳跃动作的参考跳跃轨迹,参考跳跃轨迹可以包括至少两个关键点的状态参数,每个阶段对应有相应的控制信息,足式机器人解析控制信息,得到在各个阶段对应的运动轨迹。
在一些实施例中,参见图6,图6是本申请实施例提供的状态参数获取流程示意图,结合图6示出的步骤说明基于参考跳跃轨迹执行的跳跃过程中各关键点对应的状态参数的获取方式。
步骤201,足式机器人对足式机器人的跳跃轨迹进行预测,得到参考跳跃轨迹。
在实际实施时,足式机器人接收到跳跃指令后,可以采用模型预测控制(MPC)方法获取与该跳跃指令对应的参考跳跃轨迹,该参考跳跃轨迹是求解优化问题(构建的非线性优化问题对当前跳跃指令对应的跳跃轨迹进行规划,以实现驱动力最小的优化目标)后得到满足约束条件的最省力参考轨迹,参考跳跃轨迹能够有效保证跳跃过程中足式机器人执行各动作的可行性,从而可以顺利对参考跳跃轨迹进行预测。在跳跃过程中,足式机器人控制自身的跳跃动作尽可能的与参考跳跃轨迹一致。
步骤202,获取跳跃指令对应的约束条件,约束条件用于对足式机器人的跳跃进行约束。
在实际实施时,不同的跳跃指令可以对应不同的参考跳跃轨迹,获取不同的参考跳跃轨迹时约束条件也不同。约束条件用于对足式机器人的跳跃进行约束。针对跳跃指令的约束条件可以为空间落脚点约束条件、摩擦力约束条件、足端约束力约束条件等。例如,针 对本申请实施例中足式机器人在梅花桩上的跳跃动作,约束条件包括关节力矩限幅、足底摩擦锥、关节下降高度阈值、动力学约束及足端无滑动等。
步骤203,基于参考跳跃轨迹及约束条件,确定参考跳跃轨迹的至少两个关键点的状态参数。
在一些实施例中,在确定至少两个关键点的状态参数时,足式机器人先获取参考跳跃轨迹中至少两个关键点,其中,关键点包括以下至少之一:参考跳跃轨迹的起始点、参考跳跃轨迹的顶点、参考跳跃轨迹的结束点。
在实际实施时,关键点可以是跳跃过程中,各操作分段处的采样点,采样点处足式机器人对应的各状态参数的参数值,可以采用广义坐标的形式表征,为了便于描述,将各关键点对应的各状态参数的参数值称作控制信息,即一个关键点对应一条控制信息,足式机器人根据得到的各关键点的控制信息控制自身执行的相应操作可以尽可能的接近参考跳跃轨迹。其中,状态参数可以包括足式机器人的质心位置、各足端的位置、各关节的关节角度、关节角速度、关节角加速度、关节力矩、关节自由度等。对于广义坐标表示的控制数据将在后续以四足机器人为例进行详细描述。
在一些实施例中,足式机器人可以分以下阶段跳跃至位于足式机器人前方的目标单元区域:足式机器人响应于跳跃指令,控制足式机器人经起跳阶段、腾空阶段及落地阶段,向前跳跃至目标单元区域。
在实际实施时,足式机器人的各个足端从相对应的单元区域,向前跳跃至目标单元区域跳跃的整个过程,可以划分为起跳阶段、腾空阶段、落地阶段。足式机器人根据当前跳跃指令对应的参考跳跃轨迹中获取各关键点的控制信息,足式机器人解析控制信息,得到各个操作所对应的状态参数的参数值,从而呈现相应的形态。
在一些实施例中,足式机器人在跳跃过程的起跳阶段可以执行以下操作:在起跳阶段,足式机器人依次执行下蹲蓄力、足端蹬地及开始腾空的动作。
在实际实施时,在起跳阶段,足式机器人至少可以得到参考跳跃轨迹中以下关键点的控制信息:下蹲蓄力、足端蹬地及开始腾空。在整个跳跃过程的起跳阶段,足式机器人从正常立于相互独立的各单元区域的初始状态开始,依次执行下蹲蓄力、足端蹬地、开始腾空的操作,每个操作足式机器人根据相应的控制信息,控制足式机器人自身处于与操作相对应的状态。
示例性地,参见图7,图7是本申请实施例提供的足式机器人起跳阶段示意图,图中足式机器人为四足机器人,单元区域为梅花桩中单桩,图中编号1示出的是四足机器人的初始状态,图中编号2示出的是在跳跃过程的起跳阶段,足式机器人的下蹲蓄力操作,图中编号3示出的是在跳跃过程的起跳阶段,足式机器人的足端蹬地操作,图中编号4示出的是在跳跃过程的起跳阶段,足式机器人的开始腾空操作。
在一些实施例中,足式机器人在起跳阶段,足式机器人的各身体部位可以呈现以下形态变化:在足式机器人进行下蹲蓄力的过程中,足式机器人的腿部弯曲,以将足式机器人的质心由初始高度降低至起跳高度;在足式机器人进行足端蹬地的过程中,足式机器人增大腿部关节的力矩,以增大各足端与足端接触面的摩擦力;在足式机器人进行开始腾空的过程中,足式机器人以目标俯仰角向前上方执行起跳动作,以增高膝关节的高度及质心的高度,质心的高度高于初始高度。
在实际实施时,足式机器人获取对应下蹲蓄力的第一控制信息,该第一控制信息中包括了足式机器人各关节的关节角度及足式机器人的质心高度,基于该第一控制信息,控制足式机器人的各关节的关节角度从初始状态时的关节角度弯曲至该第一控制信息中所指定的关节角度,并控制质心由初始高度下降至起跳高度,这里的起跳高度是该第一控制信息中指定的质心高度,第一控制信息中指定的质心高度是在基于各关节不能与单元区域的接触面触碰、以及关机力矩限幅的约束条件确定的。下蹲蓄力执行完后,足式机器人开始进行足端蹬地操作,足式机器人获取对应足端蹬地的第二控制信息,该第二控制信息中包括 足式机器人的关节力矩的值及足式机器人的俯仰角(如仰角)的大小,在蹬地过程中,增大各关节的关节力矩至第二控制信息中所指示的关节力矩的值,增大足端与接触面的摩擦力,同时,控制足式机器人的头部扬起(调整足式机器人的俯仰角增大至第二控制信息中所指示的俯仰角的大小)、髋关节高度降低、身体躯干与大腿关节间的夹角增大,如呈180度、前腿关节的夹角增大,并使质心迁移。这里的第二控制信息至少是基于蹬地过程中足端不滑动的约束条件(摩擦力约束条件)确定的;在完成足端蹬地时,执行开始腾空的动作,此时足式机器人获取与该开始腾空的动作相对应的第三控制信息,该第三控制信息包括足式机器人的质心的位置、俯仰角、各关节的关节角度及关节角度的变化速度;足式机器人基于第三控制信息,调整质心的位置至第三控制信息中的质心位置,此时质心的高度高于初始高度,俯仰角相对于足端蹬地时减小至第三控制信息中的俯仰角,增加各关节的关节角度至第三控制信息中的关节角度,关节角度的变化速度要与第三控制信息的关节角速度保持一致。
承接上例,以足式机器人是四足机器人为例,参见图7中编号2示出的足式机器人的下蹲蓄力操作,相比参见图7中编号1示出的初始状态,控制足式机器人的各关节的关节角度从初始状态时的关节角度弯曲,并控制质心由初始高度下降至起跳高度。图中编号3示出的足式机器人的足端蹬地操作,相比参见图7中编号2示出的下蹲蓄力时的状态,控制足式机器人的头部扬起、后腿髋关节高度降低、身体躯干与后大腿处于一条直线。图中编号4示出的足式机器人的开始腾空操作,相比参见图7中编号3示出的足端蹬地时的状态,增大各关节的关节高度、控制质心的高度高于初始高度、质心向前上方移动,增大各关节的关节角度,躯干与桩面平行。
在一些实施例中,足式机器人在跳跃过程中的腾空阶段可以包括以下动作:足式机器人依次执行空中收足收腿及空中伸腿。
在实际实施时,在整个跳跃过程中的腾空阶段,足式机器人从起跳阶段所对应的姿态开始,依次执行空中收足收腿、空中伸腿的动作,并依据各动作对应的控制信息,动态变化执行各动作时足式机器人的姿态。
示例性地,参见图8,图8是本申请实施例提供的足式机器人腾空阶段示意图,图中足式机器人为四足机器人,单元区域为梅花桩中单桩,图中编号1示出的是在跳跃过程的腾空阶段,足式机器人的空中收足收腿操作,图中编号2示出的是在跳跃过程的腾空阶段,足式机器人的足端蹬地操作,图中编号4示出的是在跳跃过程的起跳阶段,足式机器人的空中伸腿操作。
在一些实施例中,足式机器人在腾空阶段,足式机器人的各身体部位可以呈现以下形态变化:在足式机器人进行空中收足收腿的过程中,足式机器人控制各腿部带动相应足端向上收拢至身体中心下方;在足式机器人进行空中伸腿的过程中,足式机器人控制前腿朝向目标单元区域伸展,前腿的伸展幅度使得足式机器人的各个足端能够落地于目标单元区域。
在实际实施时,足式机器人获取空中收足收腿对应的第四控制信息,该第四控制信息中包括关节角速度、关节加速度、质心的高度及质心延水平方向(足式机器人的移动方向)的移动分量,基于该第四控制信息,控制足式机器人在空中逐渐将各足端向身体质心下方靠拢,即控制足式机器人在开始腾空的动作完成后,各关节的关节角度变化至第四控制信息中的关节角速度、关节加速度增加至第四控制信息中指定的关节加速度,并增大质心的高度、质心沿X轴的分量增加(即质心向前移动);当质心高度开始降低时,获取在空中收足并伸腿的第五控制信息,该第五控制信息包括质心延水平方向(足式机器人的移动方向)的移动分量、质心高度、足式机器人的俯仰角及各关节的关节角度,基于第五控制信息,继续控制质心的X轴分量增加、降低质心高度、控制身体具有目标俯角(俯仰角中的俯视角度),继续缩小前腿各关节的关节角度至第四控制信息中的关节角度以为落地做准备,同时由于目标单元区域的数量为1个,后腿向前伸的距离较远,此时,根据第五控制 信息中的后腿膝关节的关节角度、髋关节的关节解角度等数据,控制后腿向目标单元区域伸展。
承接上例,以足式机器人是四足机器人为例,参见图8中编号1示出的足式机器人的空中收足收腿操作,相比参见图7中编号4示出的开始腾空操作的状态,控制足式机器人在空中逐渐将各足端向身体质心下方靠拢,并增大质心的高度、质心沿X轴的分量增加(即质心向前方移动)。图中编号2示出的足式机器人的空中伸腿操作,相比参见图8中编号1示出的空中收足收腿时的状态,继续控制质心的X轴分量增加、控制质心向前向下移动、降低质心高度,控制头部具有目标俯角。
在一些实施例中,足式机器人在跳跃过程中的落地阶段可以包括以下动作:足式机器人依次执行足端落地、曲腿缓冲及身体平衡。
在实际实施时,在整个跳跃过程的落地阶段,足式机器人从腾空阶段的向目标单元区域伸展操作时的姿态,开始依次执行足端落地、曲腿缓冲、身体平衡的操作,并依据各操作对应的控制信息,动态变化执行各操作时足式机器人的姿态。
示例性地,参见图9,图9是本申请实施例提供的足式机器人落地阶段示意图,图中足式机器人为四足机器人,单元区域为梅花桩中单桩,图中编号1示出的是在跳跃过程的落地阶段,足式机器人的足端落地操作,图中编号2示出的是在跳跃过程的落地阶段,足式机器人的曲腿缓冲操作,图中编号4示出的是在跳跃过程的落地阶段,足式机器人的身体平衡操作。
在一些实施例中,足式机器人在落地阶段,足式机器人的各身体部位可以呈现以下形态变化:在足式机器人进行足端落地的过程中,足式机器人控制各个足端同时接触目标单元区域内的接触面;在足式机器人进行曲腿缓冲的过程中,足式机器人执行各腿弯曲收缩的曲腿动作,并增大腿部关节的力矩,以减小足式机器人的速度;在足式机器人进行身体平衡的过程中,足式机器人调整身体姿态,以将足式机器人的质心移动至目标单元区内。
在实际实施时,足式机器人获取足端落地时的第六控制信息,该第六控制信息包括各关节的关节角度及各腿的伸展幅度(距离),足式机器人的各个足端同时接触目标单元区域的接触面,此时,足式机器人后腿的膝关节仍然处于较大的关节角度,是由于后腿向目标单元区域伸展的距离相较于前腿,向目标单元区域伸展的距离长,为保证各足端的同时接触,相比于空中伸腿的关节角度更大。在足端同时接触目标单元区域的接触面之后,足式机器人开始根据曲腿缓冲对应的第七控制信息,控制各腿执行弯曲收缩的曲腿动作,其中,该第七控制信息包括各关节的力矩、质心位置及关节角度;足式机器人依据第七控制信息,同时为各关节施加力矩控制进行足式机器人的缓冲减速,将身体质心投影平顺移动到目标单元区域内,从而最终实现平衡。由于接触桩面时,后腿向前伸的距离较远(后退膝关节、髋关节的伸展距离大),在落地后缓冲的过程中后腿膝关节会倾向于向下方运动。同时为了避免膝关节低于目标单元区域的高度后,后腿小腿与目标单元区域的接触面产生碰撞,第七控制信息是基于摩擦力约束条件、空间落脚约束条件及足端接触力约束条件确定的,根据第七控制信息中各关节的关节角度、质心位置,等控制足式机器人的曲腿缓冲时后腿弯曲的收缩幅度不超过收缩幅度阈值、后腿膝关节的下降幅度不超过下降幅度阈值。另外还可以保证足端在接触桩面后不因冲击反弹,也不因腿部姿势和发力而发生滑动(第七控制信息是基于摩擦力约束条件确定的)。
承接上例,以足式机器人是四足机器人为例,参见图9中编号1示出的足式机器人的足端落地操作,相比参见图8中编号2示出的空中伸腿操作的状态,控制足式机器人各个足端同时接触桩面、质心下降、躯干与桩面平行、各关节弯曲、前腿髋关节与躯干近似处于同一条直线。图中编号2示出的足式机器人的曲腿缓冲操作,相比编号1示出的足端落地时的状态,继续控制膝关节弯曲、质心向后移动、后大腿与躯干和后小腿垂直、后小腿与桩面平行。图中编号3示出的足式机器人的身体平衡操作,相比编号2示出的曲腿缓冲时的状态,将身体质心投影平顺移动到单桩上。
在一些实施例中,目标单元区域位于足端所处的各单元区域的中心时,足式机器人可以通过以下方式实现向上跳跃:足式机器人响应于跳跃指令,控制足式机器人经起跳阶段、腾空阶段及落地阶段,向上跳跃并落地至目标单元区域。
在实际实施时,足式机器人根据MPC预测得到向上跳跃的参考跳跃轨迹,以及该参考跳跃轨迹上各个关键点的控制信息(包括各个状态参数的参考值),实现足式机器人的向上跳跃至目标单元区域,向上跳跃的过程可以划分为起跳阶段、腾空阶段、落地阶段。
对足式机器人在向上跳跃过程的各阶段所执行的动作进行说明。在起跳阶段,足式机器人依次执行下蹲蓄力及开始腾空的动作;在腾空阶段,足式机器人执行空中收足收腿的动作;在落地阶段,足式机器人依次执行足端落地、曲腿缓冲及身体平衡的动作。其中,在足式机器人进行下蹲蓄力的过程中,足式机器人的腿部弯曲,以将足式机器人的质心由初始高度降低至起跳高度;在足式机器人进行开始腾空的过程中,足式机器人向上进行弹跳,以增高膝关节的高度及质心的高度,质心的高度高于初始高度;在足式机器人进行空中收足收腿的过程中,足式机器人控制躯干处于直立状态,足式机器人各腿部带动相应足端向上收拢至躯干下方。
在一些实施例中,足式机器人为四足机器人时,足式机器人还可以采用以下方式实现跳跃操作:足式机器人响应于跳跃指令,当跳跃指令指示进行两足跳跃时,控制足式机器人交替使用两条前腿和两条后腿跳跃至目标单元区域。
在实际实施时,四足机器人执行跳跃操作的跳跃步态可以包括两足跳、四足跳,其中,两足跳用于指示足式机器人交替使用两条前腿和两条后腿进行跳跃的跳跃方式;例如,该足式机器人的跳跃方式可以为四足动物(如狗)的跳跃方式。
在一些实施例中,足式机器人可以通过以下阶段实现两足跳的跳跃过程:足式机器人交替使用两条前腿和两条后腿进行跳跃的过程包括:蓄力阶段、四足蹬地阶段、前腿离地后腿蹬地阶段、腾空阶段及落地阶段。
在一些实施例中,参见图3B,足式机器人的各个足端立于目标单元区域内,且保持平衡后,还可以执行步骤103,对自身的姿态进行控制:
在步骤103中,控制足式机器人基于至少一个自由度,在目标区域内连续执行以下操作至少之一:摇头动作、摆尾动作;
在实际实施时,当足式机器人在目标区域内,接收到目标动作的指令时,控制机器人基于至少一个自由度,完成目标动作,其中,目标动作包括摇头动作、摆尾动作中至少之一。在实际应用中,足式机器人还可以包括尾部,尾部与足式机器人身体部位通过至少一个关节相连,每个关节可以对应至少一个自由度,自由度包括沿滚转、俯仰、偏转中至少之一。足式机器人可以基于自由度,实现摇头动作、摆尾动作、或摇头摆尾连贯性的动作。足式机器人的自由度是相对于空间坐标系而言,坐标系可以是世界坐标系、以足式机器人的身体质心为原点的身体坐标系等。在实际应用中,在世界坐标系中,采用右手规则的坐标系,以足式机器人的跳跃方向(足式机器人的身体前方)为X轴,以足式机器人的左侧与X轴垂直的方向为Y轴,与地面垂直向上的方向为Z轴。在足式机器人执行摇头摆尾动作时,可以控制足式机器人围绕X轴转动(X滚转),得到相应的滚转角;控制四足机器人围绕Y轴转动(Y俯仰),得到相应的俯仰角;控制四足机器人围绕Z转动,得到相应的偏转角(Z偏转),然后,基于俯仰角、偏转角、滚转角中至少之一,实现摇头操作、摆尾操作、或摇头摆尾操作。在技术实现层面,可以根据MPC的控制器规划足式机器人执行摇头动作(摆尾动作)时的动作参考轨迹、并结合足式机器人在当前状态下的状态数据,状态数据包括身体质心的质心位置、各关节的关节力矩、各关节的关节角度中至少之一,基于MPC预测得到足式机器人执行摇头或摆尾动作时的最优的目标状态数据。足式机器人接收到目标动作指令、及与目标动作相适配的目标状态数据,完成相应的目标动作(摇头操作、摆尾操作中至少之一)。
示例性地,参见图10,图10是本申请实施例提供的基于自由度的足式机器人的角度 实现示意图,图中以四足机器人为例,四足机器人以四足收拢于一个单独的梅花桩桩面上(此时处于平衡状态),沿图中示出的坐标系的X轴转动,实现针对四足机器人的桩上滚转角度控制,沿图中示出的坐标系的Y轴转动,实现针对四足机器人的桩上俯仰角度控制,沿图中示出的坐标系的Z轴转动,实现针对四足机器人的桩上偏转角度控制。
上述针对足式机器人,基于自由度的角度控制方法,能够扩展机器人的运动能力,丰富足式机器人动作的多样性。
应用本申请实施例,足式机器人完成的跳跃动作,提高了足式机器人运动的动态性、难度以及观赏性,扩展了足式机器人运动的多样性,使得足式机器人不仅可以在平地,也可以在诸如梅花桩、小石墩等场景中完成高难度动作展示,同时,由于在目标单元区域(如梅花桩)中,足式机器人的任意两个足端间的距离小于跳跃前相应两个足端间的距离,可知足式机器人所执行的跳跃存在目标单元区域这一受限条件,即足式机器人的落脚点受限,实现了足式机器人向受限区域内跳跃的控制,提高了对足式机器人跳跃的控制精度。
接下来,继续说明本申请实施例提供的足式机器人的运动控制方法。此时,足式机器人的初始姿态是各足端以收拢姿态站立于同一个初始单元区域内,跳跃动作完成后,各足端分别立于不同的目标单元区域内。参见图11,图11是本申请实施例提供的足式机器人的运动控制方法的另一流程图,将结合图11示出的步骤进行说明。
在步骤401中,当足式机器人的各个足端立于同一个初始单元区域内、且各足端收拢于初始单元区域时,足式机器人接收到针对足式机器人的跳跃指令。
其中,跳跃指令,用于指示足式机器人从当前的初始单元区域,跳跃至相互独立的独立单元区域,足端与独立单元区域存在一一对应的关系;足式机器人处于独立单元区域时任意两个足端间的距离,大于足式机器人在初始单元区域内时相应两个足端间的距离。
示例性地,足式机器人跳跃前任意两个足端间的距离为第三距离,足式机器人跳跃至独立单元区域后该任意两个足端间的距离为第四距离,则第三距离小于第四距离;示例性地,该足式机器人为四足机器人,包括两个前足(第一足及第二足)和两个后足(第三足和第四足),跳跃前,四足均处于初始单元区域,跳跃后足式机器人的四个足端分别处于独立的独立单元区域,跳跃后第一足和第二足间的距离大于跳跃前第一足和第二足间的距离,跳跃后第三足和第四足间的距离大于跳跃前第三足和第四足间的距离,跳跃后第一足和第三足间的距离大于跳跃前第一足和第三足间的距离,跳跃后第二足和第四足间的距离大于跳跃前第二足和第四足间的距离。
目标单元区域可以位于足式机器人的前方,也可以以初始单元区域为中心分散的。
在实际实施时,足式机器人所处的地形区域包括至少两个单元区域(这与步骤101中的单元区域一致)。足式机器人的初始状态为足式机器人的各个足端立于同一个初始单元区域内、且各足端收拢于初始单元区域,可以理解的是,初始单元区域可以是受限制地形区域,足式机器人各足端同时立于该区域时,通常是以各足端向身体中心下方收拢的姿态站立;足式机器人处于独立单元区域时任意两个足端间的距离,大于足式机器人在初始单元区域内时相应两个足端间的距离。根据接收到跳跃指令(足式机器人接收跳跃指令的方式如前文所述),足式机器人可以控制自身在梅花桩或能够离散化成梅花桩形式的地形区域中完成高动态高难度的第一跳跃动作(与前述的跳跃动作区分),第一跳跃动作可以为足式机器人从上述以初始状态立于梅花桩中一个单桩的端面区域跳跃至各单桩的端面区域,以四足机器人为例,该跳跃动作可以是四足机器人从四脚收拢状态开始的单桩跳四桩动作。
在步骤402中,响应于跳跃指令,控制足式机器人跳跃至各独立单元区域。
在实际实施时,足式机器人响应于跳跃指令,执行相应的跳跃动作。在执行跳跃动作之前,足式机器人可以采用模型预测控制(MPC)方法生成对应当前跳跃动作的参考跳跃轨迹,参考跳跃轨迹可以包括至少两个关键点的状态参数,每个阶段对应有相应的控制信息,足式机器人解析控制信息,得到在各个阶段对应的运动轨迹。
在一些实施例中,足式机器人可以分以下阶段跳跃至位于足式机器人前方的各独立单 元区域:各独立单元区域位于足式机器人的前方时,足式机器人响应于跳跃指令,控制自身经起跳阶段、腾空阶段及落地阶段,从初始单元区域向前跳跃至各独立单元区域。
在实际实施时,足式机器人从初始单元区域,跳跃至相互独立的独立单元区域的过程,至少可以包括起跳阶段、腾空阶段、落地阶段中至少之一。足式机器人根据当前跳跃指令对应的参考跳跃轨迹中获取各关键点的控制信息,足式机器人解析控制信息,得到各个操作所对应的状态参数的参数值,从而呈现相应的形态。
对足式机器人在跳跃过程的起跳阶段依次执行的动作进行说明。在一些实施例中,足式机器人在跳跃过程的起跳阶段可以包括以下动作:足式机器人依次执行足端蹬地、前足端离地的动作。
在实际实施时,在起跳阶段,足式机器人至少可以得到参考跳跃轨迹中以下关键点的控制信息:足端蹬地、前足端离地(此时后足端继续蹬地)。在整个跳跃过程中的起跳阶段,足式机器人从初始状态开始,依次执行足端蹬地(各足端在初始单元区域中执行蹬地动作)、前足端离地(前足离地后足继续蹬地)的动作,每个动作足式机器人根据相应的控制信息,控制自身处于与该动作相对应的状态。
示例性地,参见图12,图12是本申请实施例提供的足式机器人起跳阶段的另一示意图,图中足式机器人为四足机器人,单元区域为梅花桩中单桩,图中编号1示出的是四足机器人的初始状态,图中编号2示出的是在跳跃过程的起跳阶段,足式机器人的足端蹬地操作,图中编号3示出的是在跳跃过程的起跳阶段,足式机器人的前足端离地操作。
在一些实施例中,足式机器人在起跳阶段,足式机器人的各身体部位可以呈现以下形态变化:在足式机器人进行足端蹬地的过程中,足式机器人减小后腿膝关节的关节角度、并增大前腿膝关节的关节角度,以使后大腿与躯干处于同一直线、躯干以目标俯仰角度扬起、质心向前上方迁移。
在实际实施时,足式机器人获取参考跳跃轨迹中对应足端蹬地关键点的第一控制信息,并解析第一控制信息,调整各状态参数的值调整为第一控制信息中各状态参数的参考值,足式机器人的各腿部按照参考跳跃轨迹同时蹬地,使足式机器人以目标身体俯仰角度和质心位置向前上方加速运动。
承接上例,以足式机器人是四足机器人为例,参见图12中编号2示出的足式机器人的足端蹬地操作,相比参见图12中编号1示出的初始状态,足端蹬地时膝关节高度升高,四足机器人的躯干与后大腿处于一条直线上,前腿膝关节的关节角度接近180°,躯干以目标俯仰角度扬起。
在一些实施例中,在足式机器人进行前足端离地的过程中(前足离地后足继续蹬地),足式机器人减小足式机器人的前腿膝关节的关节角度至第一目标角度,并增大后腿膝关节的关节角度至第二目标角度,以增高各膝关节的高度及质心的高度;其中,前腿膝关节的高度高于质心的高度,后腿膝关节的高度低于质心的高度;第一目标角度,用于表征以足式机器人的前大腿与躯干呈处于同一直线上时的前腿膝关节的角度,第二目标角度,用于表征足式机器人的后小腿与接触面垂直、且后大腿与躯干处于同一条直线时的后腿膝关节的角度。
在实际实施时,足式机器人依据参考跳跃轨迹执行足端蹬地操作之后,接着执行前足端离地操作,此时各个后足端继续蹬地,足式机器人获取参考跳跃轨迹中对应前足端离地关键点的第二控制信息,并解析第二控制信息,调整足式机器人的各状态参数的值为第二控制信息中各状态参数的参考值,足式机器人根据相应的参考角度和位置向前上方继续加速运动进行起跳,同时前腿弯曲收缩。
承接上例,以足式机器人是四足机器人为例,参见图12中编号3示出的足式机器人的前足端离地操作,相比参见图12中编号2示出的足端蹬地时的状态,质心向前上方移动,前腿弯曲收缩,后小腿与单桩的桩面垂直、后大腿与躯干处于同一直线时,躯干以目标俯仰角度扬起。
对足式机器人在跳跃过程的腾空阶段依次执行的动作进行说明,在一些实施例中,在腾空阶段,足式机器人执行后足端离地的操作;在足式机器人进行后足端离地的过程中,足式机器人控制各前腿朝向相应独立单元区域伸展,并控制各后腿先收缩后朝向相应独立单元区域伸展,以使足式机器人的各个足端能够落地于相应各独立单元区域。
在实际实施时,足式机器人依据参考跳跃轨迹执行前足端离地操作之后,接着执行后足端离地操作,此时足式机器人开始腾空,足式机器人获取参考跳跃轨迹中对应后足端离地关键点的第三控制信息,并解析第三控制信息,调整足式机器人的各状态参数的值为第三控制信息中各状态参数的参考值,足式机器人完全腾空,前腿开始向相应足端对应的独立单元区域的位置伸展,后腿先收缩以提供摆脚落地高度,后续也开始向相应足端对应的独立单元区域的位置伸展,为落地做好准备。
承接上例,以足式机器人是四足机器人为例,参见图13,图13是本申请实施例提供的足式机器人起跳阶段执行的操作示意图,在腾空阶段,足式机器人执行后足端离地的操作,相比于图12中编号3示出的前足端离地时的状态,足式机器人控制后足端立桩,足式机器人完全腾空,其中,前腿开始向对应的目标单桩(图中编号1示出的单桩)的位置伸展,后腿先收缩以提供摆脚落地高度然后向对应的目标单桩(图中编号2示出的单桩)的位置伸展。
对足式机器人在跳跃过程的落地阶段依次执行的操作进行说明,在一些实施例中,在落地阶段,足式机器人依次执行足端落地、曲腿缓冲及身体平衡的操作。
在实际实施时,在落地阶段,足式机器人至少可以得到参考跳跃轨迹中以下关键点的控制信息:足端落地、曲腿缓冲及身体平衡。在整个跳跃过程的落地阶段,足式机器人依次执行足端落地、曲腿缓冲及身体平衡的操作,每个操作足式机器人根据相应的控制信息,控制自身处于与操作相对应的状态。
示例性地,参见图14,图14是本申请实施例提供的足式机器人落地阶段另一示意图,图中足式机器人为四足机器人,单元区域为梅花桩中单桩,图中编号1示出的是四足机器人执行足端落地操作,图中编号2示出的是足式机器人执行的曲腿缓冲操作,图中编号3示出的是足式机器人的身体平衡操作。
在一些实施例中,在落地阶段,足式机器人的各身体部位可以呈现以下形态变化:在足式机器人进行足端落地的过程中,足式机器人控制各个足端同时接触相应独立单元区域内的接触面;在足式机器人进行曲腿缓冲的过程中,足式机器人执行各腿弯曲收缩的曲腿动作,并增大腿部关节的力矩,以减小足式机器人的速度;在足式机器人进行身体平衡的过程中,足式机器人调整身体姿态,以将足式机器人的质心移动至各目标单元区组成的区域范围内。
在实际实施时,足式机器人获取参考跳跃轨迹中对应后足端落地关键点的第四控制信息,并解析第四控制信息,调整足式机器人的各状态参数的值为第四控制信息中各状态参数的参考值,足式机器人各足端同时接触相应独立单元区域的接触面,此时,足式机器人前腿的膝关节仍然处于较大的关节角度,以式足式机器人的身体以目标俯仰角度扬起,后腿膝关节向下方运动直至后小腿与接触面接近平行,质心向后腿方向迁移,为后续曲腿缓冲做准备。足式机器人获取曲腿缓冲关键点的第五控制信息,执行曲腿缓冲的操作,足式机器人控制各腿弯曲收缩同时为各关节施加力矩控制,将身体质心投影平顺移动到四脚支撑区域内,此时,躯干以目标俯仰角度扬起,后大腿向后伸展与躯干处于一条直线上,膝关节下降至与相应目标区域的接触面处于一条直线上,实现在各独立单元区域内的平衡。
承接上例,以足式机器人是四足机器人为例,参见图14中编号1示出的足式机器人的足端落地操作,相比参见图13中足式机器人的腾空时的状态,四足机器人的四个足端同时接触桩面,后腿膝关节向下方运动直至后小腿与接触面接近平行,质心向后腿方向迁移,为后续曲腿缓冲做准备,躯干以目标俯仰角度扬起。图中编号2示出的足式机器人的曲腿缓冲操作,相比编号1示出的状态,四足机器人的后腿膝关节继续向下方运动,直至后大 腿与躯干处于同一直线,后小腿与接触面接近平行,躯干以目标俯仰角度扬起。图中编号3示出的足式机器人的足端落地操作,相比编号2示出的状态,四足机器人的躯干与桩面平行,质心迁移躯干中心,后腿膝关节升高至前腿膝关节同等高度。
在实际实施时,足式机器人可以执行另一种连续跳跃动作,即足式机器人从各个足端分别立于相互独立的单元区域内时,可以结合步骤101-102及步骤401-步骤402实现足式机器人的连续稳定的跳跃动作。即足式机器人从各个足端分别立于相互独立的单元区域内的初始状态,经过上述步骤101-102步骤跳跃至中间单元区域(足式机器人的各个足端收拢于中间单元区域),然后又从单个中间单元区域,经过上述步骤401-402跳跃至与足端数量相同的多个中间单元区域。
示例性地,参见图15,图15是本申请实施例提供的足式机器人连续跳跃过程示意图,该连续跳跃过程包括第一跳跃及第二跳跃,其中,第一次跳跃为以四足机器人从梅花桩的四个单桩上,跳跃至前方的一个单桩上,第二次跳跃是在第一次跳跃的基础上,从一个单桩跳跃至另外四个单桩上。第一次跳跃的跳跃过程与上述步骤101-102示出的跳跃过程一致,第二次跳跃的跳跃过程与上述步骤401-402示出的跳跃过程一致。需要说明的是,两次跳跃过程可以连续交替执行,本申请实施例不做限制。
在实际实施时,足式机器人还可以连续执行跳跃动作,即足式机器人从初始单元区域跳跃至目标单元区域内时,可以结合步骤401-402及步骤101-102实现足式机器人的连续稳定的跳跃动作。即足式机器人从各个足端立于同一个初始单元区域内、且各个足端收拢于初始单元区域的初始状态,经过上述步骤401-402步骤跳跃至与足端数量相同的多个中间单元区域,然后又从各个中间单元区域(此时各个足端各自对应一个中间单元区域),经过上述步骤101-102跳跃至一个目标单元区域。
示例性地,参见图16,图16是本申请实施例提供的足式机器人连续跳跃过程的另一示意图,该连续跳跃过程包括第一跳跃及第二跳跃,其中,第一次跳跃为以四足机器人从位于梅花桩上的一个单桩上,跳跃至前方的四个单桩,第二次跳跃是在第一次跳跃的基础上,从四个单桩跳跃至另一个单桩上。第一次跳跃的跳跃过程与上述步骤401-402示出的跳跃过程一致,第二次跳跃的跳跃过程与上述步骤101-102示出的跳跃过程一致。需要说明的是,两次跳跃过程可以连续交替执行,本申请实施例不做限制。
应用本申请实施例实现的对足式机器人的跳跃动作的控制,能够同时结合落脚位置受限的约束条件,实现又远又高的起跳、腾空、准确落脚并平顺完成缓冲、平衡及姿态控制的动作,如此,可以控制足式机器人在梅花桩阵、块状垫脚石、平地等各类地形区域上完成该套跳跃动作,实现了足式机器人向受限区域内跳跃的控制,提高了对足式机器人跳跃的控制精度,还可以扩展机器人的运动能力,展现出机器人优秀的运动规划和控制技术水平。同时,本申请实施例中足式机器人所实现的跳跃动作具备高动态高难度优势,并具有仿生的特性,能够提高足式机器人运动的动态性、难度以及观赏性,扩展足式机器人运动的多样性。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。在该应用场景中,足式机器人为四足机器人,四足机器人所处场地为梅花桩,该应用场景中,四足机器人的跳跃动作的执行过程如下:四足机器人从四个足端各自立于梅花桩中一个桩面较小的高桩跳跃至位于四足机器人身体前方的一个桩面受限的目标桩面上,在该目标桩面上四足机器人以四个足端向身体下方收拢的状态站立并保持平衡。
相关技术中,四足机器人可以实现的跳跃动作大都是在平地或具有大落脚面积的地形上实现的连续步态(如bound或pronk)运动,并未实现落脚点受限的约束情况下的跳跃动作。
在平地或具有大落脚面积的地形上实现的跳跃动作,由于四个落脚点位置分散开,增加了支撑投影区域面积,更容易实现平衡。然而,但对于四个落脚点位置受限的情况,尤其是需要收拢四个落脚点到靠近身体正下方的情况,相关技术中的实现方式,是在原地连 续Trot的步态下实现的,动态性相对不高,也无站定之后的动作。对于和高动态的跳跃动作(四足跳或双足跳)结合起来,实现在高落地冲击、落脚位置受限的条件下收拢四脚完成平顺缓冲、平衡及姿态控制的动作,尚不存在相关技术方案。
基于此,本申请实施例提供一种足式机器人的运动控制方法,该方法可以应用足式机器人在梅花桩上进行跳跃的场景,能够实现四足机器人从正常站立姿势以四足跳的跳跃方式实现腾空,然后收拢四足并平顺落在特定小面积区域内(单独一个梅花桩面)且保持平衡,并在目标姿势下完成原地摇头摆尾动作。
在实际实施时,本动作基于四足机器人设计,以挑战难度最高的梅花桩阵场景为例进行动作说明,参见图4,图中示出地形区域为梅花桩,梅花桩中每个桩面可看作地形区域中的相互独立的单元区域,控制四足机器人在梅花桩上实现当前场景中的跳跃动作,整个跳跃过程可以分为起跳阶段、腾空阶段、落地阶段。下面,依次从这三个阶段进行说明:
首先,在跳跃过程的起跳阶段,四足机器人依次经历如下的状态变化:初始状态->下蹲蓄力->开始四脚蹬地->开始腾空。四足机器人处于初始状态时,四足机器人的四个足端以正常站立姿势立于四个桩面上(参见图7编号1示出的四足机器人状态),在接收到跳跃指令时,主动降低身体高度至规划的起跳高度(即执行下蹲动作)(参见图7编号2示出的四足机器人状态);四足机器人处于下蹲蓄力状态时,四足机器人的四足按照规划阶段所输出的关节参考轨迹(预先规划的髋关节、膝关节的运动轨迹)同时蹬地,四足机器人以特定的身体俯仰角度(pitch)(参见图7编号3示出的下蹲蓄力状态),然后控制膝关节处的关节角度增大(朝前的锐角逐渐增大至朝前的钝角),身体质心的质心高度升高,向前上方加速运动进行起跳(即开始腾空),(参见图7编号4示出的开始腾空状态)。
其次,在跳跃过程的腾空阶段,四足机器人依次经历如下的状态变化:腾空收拢四足并收腿->腾空收拢四足并伸腿。四足机器人的四足完全离地,机器人完全腾空,在空中时,四足机器人收拢四足并收腿(参见图8编号1示出的状态),即在控制四足向身体中心下方收拢,同时还先向上收腿(膝关节的关节角度减小)、然后,四足机器人收拢四足并伸腿((参见图8编号2示出的状态),即在四足收拢的情况下,继续向前向下朝(规划的)落脚点伸展,为落地做好准备。
再次,在跳跃过程的落地阶段,四足机器人依次经历如下的状态变化:接触桩面->曲腿缓冲->保持平衡。四足机器人的四足同时接触桩面(参见图9编号1示出的状态),然后四腿开始弯曲收缩同时为各关节施加力矩控制进行缓冲减速(参见图9编号2示出的状态),将身体质心投影平顺移动到四足支撑区域内((参见图9编号3示出的状态),从而最终实现平衡。由于接触桩面时,后腿向前伸的距离较远(后腿膝关节、髋关节的伸展距离),且因四足机器人腿部的自由度构型,在落地后缓冲的过程中后腿膝关节会倾向于向下方运动。同时为了避免膝关节低于目标桩面的高度后,后腿小腿与桩面边缘产生碰撞,或者在其他地形例如平地上时膝关节与地面产生碰撞,进行缓冲运动控制时需要限制后腿弯曲的收缩幅度以及后腿膝关节的下降幅度。另外还需要保证足端在接触桩面后不因冲击反弹,也不因腿部姿势和发力而发生滑动。
在实际应用中,四足机器人经过上述跳跃过程中的三个阶段完成朝向目标桩面的跳跃动作,并在目标桩面上以四足收拢于身体下方的姿态保持平衡。
在实际实施时,四足机器人在目标桩面上保持平衡状态(此时是以小落脚点间距站立的状态)时,还可以接收到用于控制四足机器人摇头摆尾的指令,在目标桩面上以当前的平衡姿态进行四足机器人身体的姿态控制,沿滚转(参见图10编号1)、俯仰(参见图10编号3)和偏转(参见图10编号2)三个自由度中至少之一进行单独和复合的运动,实现摇头摆尾的仿生动作。
最后,需要说明的是,四足机器人在梅花桩等各类地形上完成该整套跳跃动作,可以扩展机器人的运动能力,展现出机器人优秀的运动规划和控制技术水平。
接下来,从技术侧说明本申请实施例提供的足式机器人的运动控制方法。在技术实现 方面本申请实施例通过非线性优化方法规划最省力的跳跃轨迹,并基于MPC进行运动控制,实现四足机器人从正常站立的姿势开始,蓄力、蹬地、腾空、收拢四脚、以小落脚点间距触地、缓冲、平衡并摇头摆尾的一整套高动态高难度的跳跃动作。在当前场景中的整个跳跃过程中,四足机器人实现当前的跳跃动作的功能模块,主要包括跳跃轨迹规划模块、跳跃控制模块以及地形感知模块等。
首先,对跳跃轨迹规划模块执行的操作进行详细说明。整套跳跃动作需要保证向前的跳跃距离和向上的跳跃高度,同时需要在落地后的极短时间内实现缓冲平衡,因此对关节电机的输出力矩要求极高。参见图17,图17是本申请实施例提供的四足机器人平面模型示意图,基于图中所示的四足机器人平面模型,定义广义坐标为:
q=[x,z,pitch,qhip,front,qknee,front,qhip,hind,qknee,hind]T
其中,x表示质心的X轴分量、z表示质心的Z轴分量,pitch表示质心的俯仰角、qhip,front表示前腿髋关节的关节角度、qknee,front表示前腿膝关节的关节角度、qhip,hind表示后腿髋关节的关节角度、qknee,hind表示后腿膝关节的关节角度。并构建如下示出的非线性优化问题对动作轨迹进行规划,优化目标为使完成整套动作所需的驱动力总和最小:

|fi,x|≤μfi,z,          (2)
0≤phip,z,0≤pknee,z,          (3)
其中,fi为第i个采样点处的所有足端的接触力向量,W为权重参数矩阵,k为动作的采样点个数。约束条件包括(1)关节力矩和接触力限幅、(2)足底摩擦锥、(3)髋关节膝关节高于桩面高度以及(4)动力学约束以及足端无滑动,其中fmin,fmax为接触力最小最大值,fi,x,fi,z为第i个采样点的接触力在x和z方向上的分量,μ为摩擦系数,phip,z,pknee,z代表髋关节和膝关节的高度,H,S,C,G分别为广义质量矩阵、选择矩阵、摩擦力和科氏力相关项矩阵、重力项矩阵,Jfront,Jhind分别代表前后腿的雅可比矩阵。约束条件(4)中的第一行代表动力学约束,第二和第三行分别代表在接触状态下前脚和后脚无滑动。
为了加速优化问题求解并获得产品侧中设计的动作尽可能相近的轨迹,需给定动作分段处的广义坐标采样点,依次为初始状态qstart,四脚离桩时刻状态qlift-off,四脚落单桩时刻状态qlift-off,四脚落单桩时刻状态qtouchdown和单桩平衡站立状态qend。该动作中较为独特的点在于四脚收拢落于单桩,对应的采样点采用如下的形式给出:
qtouchdown=[xpole+xoffset,zpole+zoffset,pitchtouchdown,IK(ppole+poffset,front),IK(ppole+poffset,hind)]T,
质心参考位置基于单桩的位置(xpole,zpole)加上根据动作设计的特定偏移量(xoffset,zoffset)给出,身体的参考俯仰角pitchtouchdown也是根据动作设计给定,ppole+poffset,front/hind代表各脚的期望桩上落脚点位置,即基于桩面中心位置ppole加上各脚的收拢偏移量poffset,front/hind,而腿部的参考关节角度则根据期望的桩上落脚点与质心参考位置进行逆运动学计算(IK(·))得到,通过poffset,front和poffset,hind的设置可以调整落桩时四脚收拢的落脚位置。
基于上述方式,求解优化问题后得到满足约束条件的最省力参考跳跃轨迹。参考跳跃轨迹可以有效地保证整套跳跃动作的可行性,使得控制模块可以顺利对参考轨迹进行预测。对于平衡完成后的摇头摆尾动作,可以通过预编程或者在线遥控指令的方法来实现。
其次,对跳跃控制模块的技术实现进行说明。对于起跳阶段,由于真机符合理论上的平面模型,因此可以直接将最优参考轨迹中的关节参考力矩τref作为前馈力矩τfeedforward,而基于关节参考角度qref和角速度来计算PD控制反馈力矩τfeedback,从而实现起跳动作的确定及预测,即:
其中,kp,kd分别为PD增益。
而在腾空阶段只通过关节PD控制来实现腿部动作控制。落地后由于真机上四腿在身体侧向的方向上也会向身体矢状面收拢,因此并不符合平面模型,无法直接获取最优关节参考力矩。另外由于腾空阶段身体的姿态、位置和落地时间等均存在与参考轨迹间的误差,因此通过MPC的控制器来实现缓冲、平衡及后续的摇头摆尾。基于规划得到的最优参考轨迹和机器人当前的状态构建MPC优化问题,求解得到最优的关节力矩。
最后,对地形感知模块执行的操作进行说明。整套动作在具备或不具备地形感知的情况下均可以实现。具备感知模块时根据对独立单桩的识别定位信息,即ppole进行在线的轨迹规划;不具备感知模块时则可以基于离线规划的动作轨迹进行预测及确定,前提是需要有关于地形的先验知识。
由于中间存在腾空阶段,而实际的腾空时间和腾空轨迹均会与规划的参考轨迹存在一定的误差,这导致实际的落地时刻与规划时刻存在差异。如果不具备足端触地感知能力的话四足机器人就无法及时切换MPC力控,从而导致足端碰撞反弹以及在桩面上滑动等问题。本申请实施例中基于关节力矩计算得到足端接触力,然后通过足底力感来判断是否接触了桩面,从而为控制算法切换提供及时的感知信息,计算式如下。
f=J-Tτ
其中,bcontact代表布尔类型的足底接触状态,fnormal为足底接触力在接触面法向上的分量,fthreshold为判断接触与否的阈值。足底力感的判断逻辑为如果足底接触力在接触面法向上的分量大于给定的阈值,则判定为接触状态(1),否则判定为非接触状态(0)。
需要说明的是,跳跃动作可以是四足跳,也可以是双足跳。对于双足跳,可以划分为蓄力、四足蹬地、前腿离地后腿蹬地和腾空四个阶段。对于轨迹规划算法,除了非线性优化,也可以使用其它诸如启发式、样条插值等简易方法,虽然无法保证轨迹最优性,但是同样可以实现类似的动作。控制方法上除了MPC,也可以基于QP控制器实现运动预测。
应用本申请实施例,完成的跳跃动作,提高了四足机器人运动的动态性、难度以及观 赏性,扩展了四足机器人运动的多样性,使得四足机器人不仅可以在平地,也可以在诸如梅花桩、小石墩等场景中完成高难度动作展示。
下面继续说明本申请实施例提供的足式机器人的运动控制装置555的实施为软件模块的示例性结构,在一些实施例中,足式机器人包括至少两个足端,如图2所示,存储在存储器550的足式机器人的运动控制装置555中的软件模块可以包括:
接收模块,配置为当足式机器人的各个足端分别站立于相互独立的单元区域内时,接收到针对所述足式机器人的跳跃指令,所述跳跃指令,用于指示所述足式机器人从当前所处的至少两个单元区域,跳跃至目标单元区域;
控制模块,配置为响应于所述跳跃指令,控制所述足式机器人跳跃至所述目标单元区域,在所述目标单元区域中,所述足式机器人的任意两个足端间的距离小于跳跃前相应两个足端间的距离。
在一些实施例中,所述目标单元区域位于所述足式机器人前方,所述控制模块,还配置为响应于所述跳跃指令,控制所述足式机器人经起跳阶段、腾空阶段及落地阶段,向前跳跃至所述目标单元区域。
在一些实施例中,所述控制模块,还配置为在所述起跳阶段,所述足式机器人依次执行下蹲蓄力、足端蹬地及开始腾空的操作;在所述腾空阶段,所述足式机器人依次执行空中收足收腿及空中伸腿的操作;在所述落地阶段,所述足式机器人依次执行足端落地、曲腿缓冲及身体平衡的操作。
在一些实施例中,所述控制模块,还配置为在所述足式机器人进行所述下蹲蓄力的过程中,所述足式机器人的腿部弯曲,以将所述足式机器人的质心由初始高度降低至起跳高度;在所述足式机器人进行所述足端蹬地的过程中,所述足式机器人增大腿部关节的力矩,以增大各足端与足端接触面的摩擦力;在所述足式机器人进行所述开始腾空的过程中,所述足式机器人以目标俯仰角向前上方执行起跳动作,以增高膝关节的高度及所述质心的高度,所述质心的高度高于所述初始高度。
在一些实施例中,所述控制模块,还配置为在所述足式机器人进行所述空中收足收腿的过程中,所述足式机器人控制各腿部带动相应足端向上收拢至身体中心下方;在所述足式机器人进行所述空中伸腿的过程中,所述足式机器人控制前腿朝向所述目标单元区域伸展,以使所述足式机器人的各个足端能够落地于所述目标单元区域。
在一些实施例中,所述控制模块,还配置为在所述足式机器人进行所述足端落地的过程中,所述足式机器人控制各个足端同时接触所述目标单元区域内的接触面;在所述足式机器人进行所述曲腿缓冲的过程中,所述足式机器人执行各腿弯曲收缩的曲腿动作,并增大腿部关节的力矩,以减小所述足式机器人的速度;在所述足式机器人进行所述身体平衡的过程中,所述足式机器人调整身体姿态,以将所述足式机器人的质心移动至所述目标单元区内。
在一些实施例中,所述足式机器人包括尾部,所述控制模块,还配置为控制所述足式机器人基于至少一个自由度,在所述目标区域内连续执行以下操作至少之一:摇头动作、摆尾动作;其中,所述自由度包括沿滚转、俯仰、偏转中至少之一。
在一些实施例中,所述目标单元区域位于所述足端所处的各所述单元区域的中心,所述控制模块,还配置为响应于所述跳跃指令,控制所述足式机器人经起跳阶段、腾空阶段及落地阶段,向上跳跃至所述目标单元区域。
在一些实施例中,所述控制模块,还配置为在所述起跳阶段,所述足式机器人依次执行下蹲蓄力及开始腾空的操作;在所述腾空阶段,所述足式机器人执行空中收足收腿的操作;在所述落地阶段,所述足式机器人依次执行足端落地、曲腿缓冲及身体平衡的操作。
在一些实施例中,所述控制模块,还配置为在所述足式机器人进行所述下蹲蓄力的过程中,所述足式机器人的腿部弯曲,以将所述足式机器人的质心由初始高度降低至起跳高度;在所述足式机器人进行所述开始腾空的过程中,所述足式机器人向上进行弹跳,以增 高膝关节的高度及所述质心的高度,所述质心的高度高于所述初始高度;在所述足式机器人进行所述空中收足收腿的过程中,所述足式机器人控制躯干处于直立状态,所述足式机器人各腿部带动相应足端向上收拢至所述躯干下方。
在一些实施例中,所述足式机器人为四足机器人,所述控制模块,还配置为响应于所述跳跃指令,当所述跳跃指令指示进行两足跳跃时,控制所述足式机器人交替使用两条前腿和两条后腿跳跃至所述目标单元区域。
在一些实施例中,所述控制模块,还配置为所述足式机器人交替使用两条前腿和两条后腿进行跳跃的过程包括:蓄力阶段、四足蹬地阶段、前腿离地后腿蹬地阶段、腾空阶段及落地阶段。
在一些实施例中,所述单元区域及所述目标单元区域均为梅花桩中单桩的端面区域,所述单元区域与所述目标单元区域的形状及大小均相同。
在一些实施例中,所述控制模块,还配置为对所述足式机器人的跳跃轨迹进行预测,得到参考跳跃轨迹;获取所述跳跃指令对应的约束条件,所述约束条件用于对所述足式机器人的跳跃进行约束;基于所述参考跳跃轨迹及所述约束条件,确定所述参考跳跃轨迹的至少两个关键点的状态参数。相应的,所述控制模块,还配置为响应于所述跳跃指令,基于各所述关键点的状态参数,控制所述足式机器人跳跃至所述目标单元区域。
在一些实施例中,所述控制模块,还配置为获取所述参考跳跃轨迹中至少两个关键点;其中,所述关键点包括以下至少之一:所述参考跳跃轨迹的起始点、所述参考跳跃轨迹的顶点、所述参考跳跃轨迹的结束点。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的足式机器人的运动控制方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的足式机器人的运动控制方法,例如,如图3A-3B示出的足式机器人的运动控制方法。
在一些实施例中,计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随即存储器(Random Access Memory,RAM)、可擦写可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper Text Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本申请实施例提高了四足机器人运动的动态性、难度以及观赏性,扩展了四足机器人运动的多样性,使得四足机器人不仅可以在平地,也可以在诸如梅花桩、小石墩等场景中完成高难度动作展示。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (19)

  1. 一种足式机器人的运动控制方法,所述方法由控制设备执行,所述足式机器人包括至少两个足端,所述方法包括:
    当足式机器人的各个足端分别站立于相互独立的单元区域内时,接收到针对所述足式机器人的跳跃指令,所述跳跃指令,用于指示所述足式机器人从当前所处的至少两个单元区域,跳跃至目标单元区域;
    响应于所述跳跃指令,控制所述足式机器人跳跃至所述目标单元区域,在所述目标单元区域中,所述足式机器人的任意两个足端间的距离小于跳跃前相应两个足端间的距离。
  2. 如权利要求1所述的方法,其中,所述目标单元区域位于所述足式机器人前方,所述响应于所述跳跃指令,控制所述足式机器人跳跃至所述目标单元区域,包括:
    响应于所述跳跃指令,控制所述足式机器人经起跳阶段、腾空阶段及落地阶段,向前跳跃至所述目标单元区域。
  3. 如权利要求2所述的方法,其中,
    在所述起跳阶段,所述足式机器人依次执行下蹲蓄力、足端蹬地及开始腾空的动作;
    在所述腾空阶段,所述足式机器人依次执行空中收足收腿、及空中伸腿的动作;
    在所述落地阶段,所述足式机器人依次执行足端落地、曲腿缓冲及身体平衡的动作。
  4. 如权利要求3所述的方法,其中,
    在所述足式机器人执行所述下蹲蓄力的过程中,所述足式机器人的腿部弯曲,并将所述足式机器人的质心由初始高度降低至起跳高度;
    在所述足式机器人执行所述足端蹬地的过程中,所述足式机器人增大腿部关节的力矩,所述力矩的大小与摩擦力的大小呈正相关关系,所述摩擦力为所述足式机器人的各足端与足端接触面的摩擦力;
    在所述足式机器人执行所述开始腾空的过程中,所述足式机器人以目标俯仰角向前上方执行起跳动作,;
    其中,所述目标俯仰角的大小能够增高膝关节的高度及所述质心的高度,所述质心的高度高于所述初始高度。
  5. 如权利要求3所述的方法,其中,所述足式机器人为四足机器人;
    在所述足式机器人执行所述空中收足收腿的过程中,所述足式机器人的各腿部带动相应足端向上收拢至身体中心下方;
    在所述足式机器人执行所述空中伸腿的过程中,所述足式机器人的前腿朝向所述目标单元区域伸展,所述足式机器人前腿的伸展幅度使得所述足式机器人的各个足端能够落地于所述目标单元区域。
  6. 如权利要求3所述的方法,其中,
    在所述足式机器人执行所述足端落地的过程中,所述足式机器人的各个足端同时接触所述目标单元区域内的接触面;
    在所述足式机器人执行所述曲腿缓冲的过程中,所述足式机器人的各腿弯曲收缩,增大腿部关节的力矩,并减小所述足式机器人的速度;
    在所述足式机器人执行所述身体平衡的过程中,所述足式机器人调整身体姿态,以将所述足式机器人的质心移动至所述目标单元区内。
  7. 如权利要求1所述的方法,其中,所述足式机器人包括尾部,所述控制所述足式机器人跳跃至所述目标单元区域之后,所述方法还包括:
    控制所述足式机器人基于至少一个自由度,在所述目标区域内连续执行以下操作至少之一:摇头动作、摆尾动作;
    其中,所述自由度包括滚转、俯仰、偏转中至少之一。
  8. 如权利要求1所述的方法,其中,所述目标单元区域位于所述足端所处的各所述单元区域的中心,所述响应于所述跳跃指令,控制所述足式机器人跳跃至所述目标单元区域,包括:
    响应于所述跳跃指令,控制所述足式机器人经起跳阶段、腾空阶段及落地阶段,向上跳跃并落地至所述目标单元区域。
  9. 如权利要求8所述的方法,其中,
    在所述起跳阶段,所述足式机器人依次执行下蹲蓄力及开始腾空的动作;
    在所述腾空阶段,所述足式机器人执行空中收足收腿的动作;
    在所述落地阶段,所述足式机器人依次执行足端落地、曲腿缓冲及身体平衡的动作。
  10. 如权利要求9所述的方法,其中,
    在所述足式机器人执行所述下蹲蓄力的过程中,所述足式机器人的腿部弯曲,将所述足式机器人的质心由初始高度降低至起跳高度;
    在所述足式机器人执行所述开始腾空的过程中,所述足式机器人向上进行弹跳,所述弹跳用于增高膝关节的高度及所述质心的高度,所述质心的高度高于所述初始高度;
    在所述足式机器人执行所述空中收足收腿的过程中,所述足式机器人的躯干处于直立状态,所述足式机器人各腿部带动相应足端向上收拢至所述躯干下方。
  11. 如权利要求1所述的方法,其中,所述足式机器人为四足机器人,所述响应于所述跳跃指令,控制所述足式机器人跳跃至所述目标单元区域,包括:
    响应于所述跳跃指令,当所述跳跃指令指示进行两足跳跃时,控制所述足式机器人交替使用两条前腿和两条后腿跳跃至所述目标单元区域。
  12. 如权利要求11所述的方法,其中,
    所述足式机器人交替使用两条前腿和两条后腿进行跳跃的过程包括:蓄力阶段、四足蹬地阶段、前腿离地后腿蹬地阶段、腾空阶段及落地阶段。
  13. 如权利要求1至12任一项所述的方法,其中,
    所述单元区域及所述目标单元区域均为梅花桩中单桩的端面区域,所述单元区域与所述目标单元区域的形状及大小均相同。
  14. 如权利要求1至12任一项所述的方法,其中,在所述接收到针对所述足式机器人的跳跃指令之后,所述方法还包括:
    对所述足式机器人的跳跃轨迹进行预测,得到参考跳跃轨迹;
    获取所述跳跃指令对应的约束条件,所述约束条件用于对所述足式机器人的跳跃进行约束;
    基于所述参考跳跃轨迹及所述约束条件,确定所述参考跳跃轨迹中至少两个关键点的状态参数;
    所述响应于所述跳跃指令,控制所述足式机器人跳跃至所述目标单元区域,包括:
    响应于所述跳跃指令,基于各所述关键点的状态参数,控制所述足式机器人跳跃至所述目标单元区域。
  15. 如权利要求14所述的方法,其中,所述基于所述参考跳跃轨迹及所述约束条件,确定所述参考跳跃轨迹中至少两个关键时间点的状态参数之前,所述方法还包括:
    获取所述参考跳跃轨迹中至少两个关键点;
    其中,所述关键点包括以下至少之一:
    所述参考跳跃轨迹的起始点、所述参考跳跃轨迹的顶点及所述参考跳跃轨迹的结束点。
  16. 一种足式机器人的运动控制装置,所述足式机器人包括至少两个足端,所述装置包括:
    接收模块,配置为当足式机器人的各个足端分别站立于相互独立的单元区域内时,接收到针对所述足式机器人的跳跃指令,所述跳跃指令,用于指示所述足式机器人从当前所处的至少两个单元区域,跳跃至目标单元区域;
    控制模块,配置为响应于所述跳跃指令,控制所述足式机器人跳跃至所述目标单元区域,在所述目标单元区域中,所述足式机器人的任意两个足端间的距离小于跳跃前相应两个足端间的距离。
  17. 一种足式机器人,所述足式机器人包括:
    具有至少两个足端的机器人本体;
    控制器,设置于所述机器人本体上,配置为执行如权利要求1至15任一项所述的足式机器人的运动控制方法。
  18. 一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时,实现权利要求1至15任一项所述的足式机器人的运动控制方法。
  19. 一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时,实现权利要求1至15任一项所述的足式机器人的运动控制方法。
PCT/CN2023/092651 2022-07-25 2023-05-08 足式机器人的运动控制方法、装置、足式机器人、存储介质及程序产品 WO2024021749A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210880649.1 2022-07-25
CN202210880649.1A CN117008580A (zh) 2022-07-25 2022-07-25 足式机器人的运动控制方法、装置、设备及存储介质

Publications (1)

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

Family

ID=88562430

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/092651 WO2024021749A1 (zh) 2022-07-25 2023-05-08 足式机器人的运动控制方法、装置、足式机器人、存储介质及程序产品

Country Status (2)

Country Link
CN (1) CN117008580A (zh)
WO (1) WO2024021749A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9618937B1 (en) * 2014-08-25 2017-04-11 Google Inc. Slip detection using robotic limbs
CN108860360A (zh) * 2018-08-01 2018-11-23 清华大学深圳研究生院 一种四足机器人跳跃障碍的系统
CN111766885A (zh) * 2020-07-08 2020-10-13 清华大学深圳国际研究生院 一种四足机器人的静步态规划方法
CN112114589A (zh) * 2020-09-07 2020-12-22 腾讯科技(深圳)有限公司 足式机器人运动控制方法、装置、设备及介质
CN112650222A (zh) * 2020-12-10 2021-04-13 华南理工大学 一种多足机器人的跳跃步态规划方法
CN114248855A (zh) * 2021-12-20 2022-03-29 北京理工大学 双足机器人空间域步态规划与控制方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9618937B1 (en) * 2014-08-25 2017-04-11 Google Inc. Slip detection using robotic limbs
CN108860360A (zh) * 2018-08-01 2018-11-23 清华大学深圳研究生院 一种四足机器人跳跃障碍的系统
CN111766885A (zh) * 2020-07-08 2020-10-13 清华大学深圳国际研究生院 一种四足机器人的静步态规划方法
CN112114589A (zh) * 2020-09-07 2020-12-22 腾讯科技(深圳)有限公司 足式机器人运动控制方法、装置、设备及介质
CN112650222A (zh) * 2020-12-10 2021-04-13 华南理工大学 一种多足机器人的跳跃步态规划方法
CN114248855A (zh) * 2021-12-20 2022-03-29 北京理工大学 双足机器人空间域步态规划与控制方法

Also Published As

Publication number Publication date
CN117008580A (zh) 2023-11-07

Similar Documents

Publication Publication Date Title
US20230055206A1 (en) Legged robot motion control method, apparatus, and device, and medium
Shamsuddin et al. Humanoid robot NAO: Review of control and motion exploration
JP7324932B2 (ja) 動的計画コントローラ
EP4116782A1 (en) Legged robot movement control method, apparatus and device, and medium
JP6715952B2 (ja) バランスのとれた運動および行動能力が向上した移動型ロボット
Kim et al. Computationally-robust and efficient prioritized whole-body controller with contact constraints
US20220260998A1 (en) Navigating a Mobile Robot
EP4144487A1 (en) Legged robot motion control method and apparatus, device, medium and program
CN113524177B (zh) 一种足式机器人的控制方法
CN114253281A (zh) 一种四足机器人运动控制方法、相关装置及存储介质
WO2024021749A1 (zh) 足式机器人的运动控制方法、装置、足式机器人、存储介质及程序产品
Lee et al. A gait transition algorithm based on hybrid walking gait for a quadruped walking robot
Gromov et al. Guiding quadrotor landing with pointing gestures
Petrič et al. Reflexive stability control framework for humanoid robots
Sim et al. Position/torque hybrid control of a rigid, high-gear ratio quadruped robot
Wasielica et al. Interactive programming of a mechatronic system: A small humanoid robot example
US20220143819A1 (en) System and methods for training robot policies in the real world
CN117008592A (zh) 足式机器人的运动控制方法、装置、设备及存储介质
Yi et al. Active stabilization of a humanoid robot for real-time imitation of a human operator
Luo et al. CPG-based control scheme for quadruped robot to withstand the lateral impact
Becht et al. A dynamic kick for the NAO robot
WO2022089247A1 (zh) 足式机器人运动控制方法、装置、设备、介质及程序
CN114633826B (zh) 一种足式机器人腿部磕碰处理的方法及足式机器人
WO2024041151A1 (zh) 移动机器人的运动控制方法和移动机器人
JP3555947B2 (ja) 移動ロボット装置、移動ロボット装置の制御方法、移動ロボット装置の運動パターン生成方法、並びに移動ロボット装置の運動制御プログラム

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: 23844964

Country of ref document: EP

Kind code of ref document: A1