Motion control method, device and equipment of foot-type robot and storage medium
By controlling the legged robot to receive jumping instructions within the initial unit area and execute the actions of taking off, flying and landing, the problem of jumping with a limited take-off point is solved, and the dynamics and viewing experience are improved.
Patent Information
- Application Number
- CN202210880627.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-25
- Publication Date
- 2025-10-17
- Estimated Expiration
- 2042-07-25
AI Technical Summary
Existing legged robots find it difficult to perform jumping movements under the constraints of limited take-off and landing points, and lack dynamism and visual appeal.
By controlling the legged robot to receive the jumping instruction in the initial unit area, it is controlled to jump from the initial unit area to the target unit area. The action control of the take-off, flight and landing stages is adopted, including the foot pushing off the ground, leaving the ground, landing and body balance operations. The model predictive control is used to generate a reference jumping trajectory and perform jumping under constraint conditions.
It achieved successful jumping to the target unit area under restricted take-off conditions, improved the dynamics and viewing experience of the legged robot, and expanded the diversity of movement.
Smart Images

Figure CN117008592B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of robot motion control, and in particular to a motion control method, device and equipment of a foot-type robot and a computer readable storage medium. BACKGROUND
[0002] The foot-type robot has been paid more and more attention due to its bionics and flexibility. The gait of the foot-type robot has been realized in the related art is very diverse, including walking, diagonal slow running, diagonal fast running, double-foot jumping, four-foot jumping, side-foot walking and sprinting.
[0003] However, for the jumping gait of the foot-type robot, the jumping actions that can be realized by the foot-type robot are mostly continuous gait motions on flat ground or terrain with large foot placement area, and the jumping actions under the constraint of limited take-off point or foot placement point have not been realized. SUMMARY
[0004] The embodiments of the present application provide a motion control method, device and computer readable storage medium of a foot-type robot, which can improve the dynamics, difficulty and ornamental value of the motion of the foot-type robot and expand the diversity of the motion of the foot-type robot.
[0005] The technical solution of the embodiments of the present application is as follows:
[0006] The embodiments of the present application provide a motion control method of a foot-type robot, the foot-type robot comprising at least two foot ends, and the method comprising:
[0007] When each foot end of the foot-type robot stands in the same initial unit area and each foot end is retracted in the initial unit area, a jumping instruction for the foot-type robot is received;
[0008] The jumping instruction is used to instruct the foot-type robot to jump from the initial unit area currently located to a target unit area independent of each other, and the foot end and the target unit area have a one-to-one corresponding relationship.
[0009] The distance between any two foot ends of the foot-type robot in the target unit area is greater than the distance between the corresponding two foot ends of the foot-type robot in the initial unit area.
[0010] In response to the jumping instruction, the foot-type robot is controlled to jump to each target unit area.
[0011] The embodiments of the present application provide a motion control device of a foot-type robot, comprising:
[0012] receive a jump instruction for the legged robot when each foot end of the legged robot stands in a same initial cell region and each foot end is retracted in the initial cell region;
[0013] The jump instruction is used to instruct the legged robot to jump from an initial cell region where the legged robot currently locates to a target cell region which is independent of the initial cell region, and the foot end of the legged robot has a one-to-one correspondence with the target cell region. In the initial cell region, the distance between any two foot ends of the legged robot is less than a standard distance between the corresponding two foot ends of the legged robot, and the standard distance is used to indicate the distance between any two foot ends of the legged robot in an upright posture in a planar region.
[0014] The control module is configured to control the legged robot to jump to each target cell region in response to the jump instruction.
[0015] In the above scheme, the target cell region is located in front of the legged robot, and the control module is further configured to control the legged robot to jump forward to each target cell region through a take-off stage, a flight stage and a landing stage in response to the jump instruction.
[0016] In the above scheme, the control module is further configured to control the legged robot to sequentially perform a foot end ground-pushing operation and a front foot end ground-leaving operation in the take-off stage.
[0017] In the flight stage, the legged robot performs a rear foot end ground-leaving operation.
[0018] In the landing stage, the legged robot sequentially performs a foot end landing operation, a leg bending operation and a body balancing operation.
[0019] In the above scheme, the control module is further configured to, during the foot end ground-pushing operation of the legged robot, reduce a joint angle of a rear leg knee joint and increase a joint angle of a front leg knee joint, so that the rear upper leg is in a same straight line as the torso, the torso is raised at a target pitch angle, and the center of mass is shifted upward and forward.
[0020] During the front foot end ground-leaving operation of the legged robot, the legged robot reduces the joint angle of the front leg knee joint to a first target angle and increases the joint angle of the rear leg knee joint to a second target angle, so as to increase the height of each knee joint and the height of the center of mass.
[0021] In the above scheme, the height of the front leg knee joint is higher than the height of the center of mass, and the height of the rear leg knee joint is lower than the height of the center of mass.
[0022] The first target angle is used to represent an angle of a front leg knee joint when a front thigh of the legged robot is in a straight line with the torso.
[0023] The second target angle is used to represent an angle of a rear leg knee joint when a rear shank of the legged robot is perpendicular to the contact surface and a rear thigh is in a straight line with the torso.
[0024] In the above solution, the legged robot is a quadruped robot, and the control module is further configured to, during the process in which the legged robot performs the rear foot end to leave the ground, control each front leg of the legged robot to stretch towards a corresponding target unit area, and control each rear leg of the legged robot to first contract and then stretch towards the corresponding target unit area, so that each foot end of the legged robot can land on a corresponding target unit area.
[0025] In the above solution, the control module is further configured to, during the process in which the legged robot performs the foot end to land, control each foot end of the legged robot to simultaneously contact a contact surface in a corresponding target unit area.
[0026] During the process in which the legged robot performs the leg bending buffering, the legged robot performs a leg bending action of each leg to bend and contract, and increases a torque of a leg joint to reduce a speed of the legged robot.
[0027] During the process in which the legged robot performs the body balance, the legged robot adjusts a body posture to move a center of mass of the legged robot to a range of an area formed by the target unit areas.
[0028] In the above solution, the legged robot includes a tail, and the control module is further configured to control the legged robot to continuously perform at least one of the following operations in the target unit area based on at least one degree of freedom: a head shaking action, a tail swinging action.
[0029] The degree of freedom includes at least one of a roll and a pitch.
[0030] In the above solution, the initial unit area is located at a center of each target unit area, and the control module is further configured to, in response to the jumping instruction, control the legged robot to jump upward through a take-off stage, a flight stage and a landing stage to land on each target unit area.
[0031] In the jumping process of jumping upward, the control module is further configured to, in the take-off stage, perform the following operations in sequence: squatting to store energy and starting to fly.
[0032] In the flight stage, the legged robot performs an operation of stretching a foot and a leg in the air.
[0033] In the landing phase, the foot robot sequentially performs the operations of foot end landing, leg bending buffering, and body balancing.
[0034] In the above scheme, the control module is further configured to, during the process of the squatting force storage of the foot robot, bend the leg of the foot robot to lower the center of mass of the foot robot from an initial height to a take-off height.
[0035] During the process of the foot robot starting to take off, the foot robot performs upward bouncing to increase the height of the knee joint and the height of the center of mass, which is higher than the initial height.
[0036] During the process of the foot robot stretching the foot and leg in the air, each leg of the foot robot drives the corresponding foot end to stretch outward and downward below the corresponding hip joint.
[0037] In the above scheme, the foot robot is a quadruped robot, and the control module is further configured to control the foot robot to jump to the target unit area in a quadruped jumping manner in response to the jumping instruction.
[0038] The process of jumping includes a force storage phase, a quadruped ground kicking phase, a taking-off phase, and a landing phase.
[0039] In the above scheme, the unit area and the target unit area are both end face areas of a single pile in a plum-blossom pile, and the shapes and sizes of the unit area and the target unit area are the same.
[0040] In the above scheme, the control module is further configured to predict a jumping trajectory of the foot robot to obtain a reference jumping trajectory.
[0041] Obtain a constraint condition corresponding to the jumping instruction, the constraint condition being used to constrain the jumping of the foot robot.
[0042] Based on the reference jumping trajectory and the constraint condition, determine state parameters of at least two key points of the reference jumping trajectory. Correspondingly,
[0043] The control module is further configured to, in response to the jumping instruction, control the foot robot to jump to each target unit area based on the state parameters of each key point.
[0044] In the above scheme, the control module is further configured to obtain at least two key points in the reference jumping trajectory.
[0045] The key points include at least one of the following:
[0046] A starting point of the reference jump trajectory, a vertex of the reference jump trajectory, and an ending point of the reference jump trajectory.
[0047] The embodiment of the present application provides a foot-type robot, which comprises:
[0048] A robot body with at least two foot ends;
[0049] A controller arranged on the robot body and configured to execute the motion control method of the foot-type robot.
[0050] The embodiment of the present application provides a computer readable storage medium storing executable instructions, which are configured to cause a processor to execute the motion control method of the foot-type robot.
[0051] The embodiment of the present application has the following beneficial effects:
[0052] According to the embodiment of the present application, when the foot ends of the foot-type robot are retracted in the initial unit area, the foot-type robot is controlled to jump from the initial unit area to each target unit area according to the received jump instruction, so that the jumping action to the target unit area can be realized under the limited condition of the initial unit area for take-off, the dynamicity, difficulty and watchability of the motion of the foot-type robot are improved, and the diversity of the motion of the foot-type robot is expanded. BRIEF DESCRIPTION OF DRAWINGS
[0053] Figures 1A-1B FIG. 1 is a schematic diagram of an architecture of a motion control system 100 of a foot-type robot provided by the embodiment of the present application;
[0054] Figure 1C FIG. 2 is a schematic diagram of a structure of a four-foot robot provided by the embodiment of the present application;
[0055] Figure 1D FIG. 3 is a schematic diagram of a structure of a control device provided by the embodiment of the present application;
[0056] Figure 2 FIG. 4 is a schematic diagram of a structure of an electronic device 500 for implementing the motion control method of the foot-type robot provided by the embodiment of the present application;
[0057] Figures 3A-3B FIG. 5 is a schematic diagram of a flow of the motion control method of the foot-type robot provided by the embodiment of the present application;
[0058] Figure 4 FIG. 6 is a schematic diagram of a plum-blossom pile type terrain area provided by the embodiment of the present application;
[0059] Figure 5 FIG. 7 is a schematic diagram of an initial state of the foot-type robot provided by the embodiment of the present application;
[0060] Figure 6 is a state parameter acquisition process schematic diagram provided by an embodiment of the present application;
[0061] Figure 7 is a take-off stage schematic diagram of a legged robot provided by an embodiment of the present application;
[0062] Figure 8 is an operation schematic diagram of a take-off stage of a legged robot provided by an embodiment of the present application;
[0063] Figure 9 is a landing stage schematic diagram of a legged robot provided by an embodiment of the present application;
[0064] Figure 10 is a degree-of-freedom-based angle implementation schematic diagram of a legged robot provided by an embodiment of the present application;
[0065] Figure 11 is another flowchart of a motion control method of a legged robot provided by an embodiment of the present application;
[0066] Figure 12 is a state change process schematic diagram of a legged robot in a first jumping process provided by an embodiment of the present application;
[0067] Figure 13 is a continuous jumping process schematic diagram of a legged robot provided by an embodiment of the present application;
[0068] Figure 14 is another continuous jumping process schematic diagram of a legged robot provided by an embodiment of the present application;
[0069] Figure 15 is a planar model schematic diagram of a quadruped robot provided by an embodiment of the present application. DETAILED DESCRIPTION
[0070] In order to make the purposes, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the drawings, and the described embodiments should not be regarded as limiting the present application, and all other embodiments obtained by those skilled in the art without creative labor fall within the scope of protection of the present application.
[0071] In the following description, “some embodiments” are related to a subset of all possible embodiments, but it can be understood that “some embodiments” can be the same subset or different subsets of all possible embodiments, and can be combined with each other without conflict.
[0072] If the application file contains similar descriptions of "first / second", the following description is added. In the following description, the terms "first\second\third" are only used to distinguish similar objects, and do not represent a specific order of the objects. Understandably, "first\second\third" can be interchanged in a specific order or sequence as allowed, so that the embodiments described herein can be implemented in an order other than that illustrated or described herein.
[0073] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used in the description herein is for describing the embodiments of the application only and is not intended to be limiting of the application.
[0074] Before the embodiments of the application are further described in detail, the terms and phrases involved in the embodiments of the application are explained, which are applicable to the following explanations.
[0075] 1) Robot: includes various types of machines that simulate human behavior or simulate other living beings in thought (such as robotic dogs, robotic cats, etc.). In a broad sense, some computer programs are also called robots. In modern industry, robots refer to artificial robots that can automatically perform tasks to replace or assist human work, which can be electromechanical devices or controlled by computer programs or electronic circuits.
[0076] 2) Legged robot: refers to a robot with foot ends. The legged robot can be configured with one or more legs, each leg can be configured with one or more joints, and each leg corresponds to a foot end. The legged robot is, for example, a biped robot, a quadruped robot, or a hexapod robot. The quadruped robot is, for example, a robotic dog. Since the legged robot can include multiple foot ends, and the foot ends that fall at different times can be different, in order to facilitate distinction, each foot end of the legged robot can be represented as a first foot end, a second foot end, an i-th foot end, etc. When a foot end falls, it corresponds to the leg corresponding to the foot end.
[0077] 3) Foot point: refers to the position where the foot end of the robot contacts with the contact force, which is used to refer to the foot point of the robot, which can be a starting foot point or a candidate foot point. When the candidate foot point is selected as the foot point of the foot end, the candidate foot point can also be regarded as a target foot point. The starting foot point refers to the foot point of the legged robot at the starting time.
[0078] 4) Generalized coordinates: independent variables that can determine the position of a system of particles (including at least one particle), such as angles, areas, etc. Polar coordinates, cylindrical coordinates, spherical coordinates, curvilinear coordinates, etc. are all generalized coordinates. That is, 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 three spherical coordinates. These are all generalized coordinates. In analytical mechanics, it is customary to select a series of independent coordinates as generalized coordinates. For example, a free particle in three-dimensional space must have three coordinates to determine its position, and these three coordinates are independent and indispensable.
[0079] 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.
[0080] 5) Degree of freedom: the number of independent coordinates a single rigid body has, which is called degree of freedom. In three-dimensional space, a non-constrained single rigid body has 6 degrees of freedom, including 3 degrees of freedom of translation and 3 degrees of freedom of rotation. Among them, the three degrees of freedom of rotation include pitch, yaw and roll around the corresponding axis. Taking the right-handed Cartesian coordinate system in three-dimensional space as an example, rotation around the X-axis is called roll, and the angle of rotation around the X-axis can be represented by roll, which is the roll angle; the angle of rotation around the Y-axis can be represented by pitch, which is called pitch angle; the angle of rotation around the Z-axis is also called yaw angle, which can be represented by yaw.
[0081] 6) Model predictive control (MPC): a control method that predicts the controlled object. Model predictive control is actually an optimization method to solve the control problem, or in other words, the solution to the optimization problem is used to give the action of the controller. The operation of model predictive control is described as follows: in the control process, there is always a desired reference trajectory. Taking time as the current time (the position of the longitudinal axis of the coordinate system), the controller combines the current measurement value and the prediction model to predict the output of the system in the future time domain. By solving the optimization problem that meets the objective function and various constraints, a series of control sequences in the control time domain are obtained, and the first element of the control sequence is taken as the actual control quantity of the controlled object. When it comes to the next time, repeat the above process, and thus complete a series of constrained optimization problems to achieve continuous control of the controlled object. Model predictive control belongs to a kind of feedback control. For example, when crossing the road, you will establish a model of your speed and the speed of the car coming from the side at that moment in your mind, and then you will adjust your speed every step to determine that you will not be hit.
[0082] 7) Space landing constraint condition: used to constrain the foot end of the foot-type robot to be in the workspace corresponding to the foot end after each step. The space landing constraint condition can be used to constrain the centroid position variation coefficient, step sequence and landing point of the robot.
[0083] 8) Friction force constraint condition: used to constrain the foot end contact force to be within the friction cone to avoid slipping between the foot-type robot and the contact surface, wherein the friction cone is determined according to the normal vector of the candidate landing point of the foot-type robot and the friction coefficient between the landing foot end and the contact surface.
[0084] 9) Foot end contact force constraint condition: used to constrain the contact force of the foot end in the normal direction to be less than or equal to the upper limit of the contact force to avoid excessive force between the foot-type robot and the contact surface
[0085] Based on the above explanations of the terms and names involved in the embodiments of the present application, the motion control system of the foot-type robot provided by the embodiments of the present application is described below. Referring to Figures 1A-1B , Figures 1A-1B is a schematic diagram of the architecture of the motion control system 100 of the foot-type robot provided by the embodiments of the present application. To realize one exemplary application, the system includes a foot-type robot 400 and a control device 200, the control device 200 and the foot-type robot 400 are two relatively independent devices, the foot-type robot 400 includes at least two foot ends (an exemplary foot-type robot including four foot ends is shown). In this case, the foot-type robot 400 is connected to the control device 200 through a network 300, which can be a wide area network or a local area network, or a combination of the two. The foot-type robot 400 and the control device 200 can be directly or indirectly connected through wired or wireless communication, which is not limited in the embodiments of the present application.
[0086] The foot-type robot 400 is configured to receive a jump instruction for the foot-type robot when each foot end of the foot-type robot stands in the same initial cell region and each foot end is retracted in the initial cell region; the jump instruction is used to instruct the foot-type robot to jump from the initial cell region currently located to a target cell region independent of each other, and the foot end has a one-to-one correspondence with the target cell region; the distance between any two foot ends of the foot-type robot in the target cell region is greater than the distance between the corresponding two foot ends of the foot-type robot in the initial cell region; and the foot-type robot is controlled to jump to each target cell region in response to the jump instruction.
[0087] The control device 200 is configured to receive a jump instruction from a host computer or obtain a jump instruction based on a user input operation before controlling the legged robot 400 to move. The jump instruction can instruct the legged robot 400 to perform a corresponding jump action. The host computer can be any device connected to the control device 200 wirelessly or by wire, such as a terminal or server.
[0088] The control device 200 can be implemented through a terminal or a server. The terminal can be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited to this. The server includes but is not limited to: an independent physical server, a server cluster composed of multiple physical servers, or a distributed system. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms. The terminal and the server can be directly or indirectly connected through wired or wireless communication, which is not limited in the embodiments of the present application.
[0089] In some embodiments, the control device 200 is a part of the legged robot 400 , and the control device 200 can be set in the body of the legged robot 400 , for example, the control device 200 is an internal processor in the legged robot 400 .
[0090] Taking the quadruped robot as an example, see Figure 1C , Figure 1C This is a schematic diagram of the structure of a quadruped robot provided in an embodiment of the present application, in which number 1 shows the front leg, number 1-1 shows the front leg hip joint, number 1-2 shows the front thigh, number 1-3 shows the front leg knee joint, number 1-4 shows the front calf, and number 1-5 shows the front leg ankle joint; number 2 shows the hind leg, number 2-1 shows the hind leg hip joint, number 2-2 shows the hind thigh, number 2-3 shows the hind leg knee joint, number 2-4 shows the hind leg, and number 2-5 shows the hind leg ankle joint; number 3 shows the foot end, number 4 shows the torso, and number 5 shows the head. The angles of the thigh and calf toward the head are the joint angles of the knee joint. Unless otherwise specified, all quantities are expressed in the world coordinate system.
[0091] To more clearly describe the structure of the control device 200, see Figure 1D , Figure 1DFig. 1 is a schematic diagram of a control device structure provided by an embodiment of the present application. The following will be described by way of example in combination with a motion control system of a legged robot shown in Fig. 1. In Fig. 1, the control device 200 includes a visual perception unit 210, a trajectory generation unit 220 and a motion control unit 230. The visual perception unit 210 can be arranged on the legged robot 400, for example, on the head of the legged robot 400. The visual perception unit 210 includes one or more of a camera, an infrared camera, for example. The camera is an RGBD camera, for example. The visual perception unit further includes a function for realizing simultaneous localization and mapping (SLAM). The visual perception unit 210 collects state data of the legged robot. The state data includes state data of the legged robot 400 at a starting time. In addition, the visual perception unit 210 can also collect an environmental image of the legged robot 400, and obtain a possible target cell area (landing point after a jumping operation) of the legged robot 400 each time it lands. After obtaining the state data and the environmental image, the visual perception unit 210 can send the state data and the environmental image to the trajectory generation unit 220. Alternatively, the trajectory generation unit 220 can obtain the state data of the legged robot 400 through internal sensors and external sensors of the legged robot 400. Alternatively, the trajectory generation unit 220 can take the expected state data at the end time of the last planning period as the state data at the starting time of the current corresponding planning period. Alternatively, the trajectory generation unit 220 obtains the state data of the legged robot 400 through a state estimator of the motion control unit 230. The trajectory generation unit 220 receives the state data and the target cell area (landing point after a jumping operation), determines the state of the legged robot 400 at multiple times (the state is determined based on state data such as joint angle, center of mass height, joint bending amplitude, joint lowering height, etc.), and obtains a center of mass motion trajectory of the legged robot 400 according to the center of mass position at the multiple times and the position of the target cell area, and further determines a jumping trajectory of the legged robot 400 according to the center of mass motion trajectory and the target cell area (landing point after a jumping operation or target landing point), and sends the jumping trajectory and the target landing point to the motion control unit 230. The motion control unit 230 can determine joint torques of each joint of the legged robot 230 according to the jumping trajectory and the target landing point, and control the rotation of each joint of the legged robot 400 according to the joint torques, thereby realizing the jumping motion of the legged robot 400.
[0092] Further, the motion control unit 230 can also detect real-time state data (state data composed of values of various state parameters, which can also be referred to as control data) of the legged robot 400 during the jumping process, and control the jumping of the legged robot 400 according to the real-time state data, so as to ensure that the legged robot 400 can move stably.
[0093] The embodiment of the present application can also be implemented by means of cloud technology. The cloud technology refers to a kind of hosting technology that unifies series of resources such as hardware, software and network in wide area network or local area network to realize data calculation, storage, processing and sharing.
[0094] The cloud technology is a general term of network technology, information technology, integration technology, management platform technology and application technology applied based on cloud computing business model, can form resource pool, and is used on demand, flexible and convenient. Cloud computing technology will become an important support. The background service of technical network system needs a large amount of computing and storage resources.
[0095] Referring to Figure 2 , Figure 2 is a structural schematic diagram of an electronic device 500 for implementing the motion control method of the biped robot provided by the embodiment of the present application. In actual application, the electronic device 500 can be a server or a terminal shown in FIG. 1. Taking the terminal shown in FIG. 1 as an example, the electronic device for implementing the marker processing method in the virtual scene is described. The electronic device 500 provided by the embodiment of the present application includes at least one processor 510, a memory 550, at least one network interface 520 and a user interface 530. Each component in the electronic device 500 is coupled together through a bus system 540. It can be understood that the bus system 540 is used to realize the connection and communication between the components. In addition to including a data bus, the bus system 540 also includes a power bus, a control bus and a status signal bus. However, in order to clearly illustrate the present application, all kinds of buses are marked as the bus system 540 in the Figure 2 .
[0096] The processor 510 can be an integrated circuit chip with signal processing capability, such as a general purpose processor, a digital signal processor (DSP), or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, etc. The general purpose processor can be a microprocessor or any conventional processor.
[0097] The user interface 530 includes one or more output devices 531 that enable presentation of media content, including one or more speakers and / or one or more visual display screens. The user interface 530 also includes one or more input devices 532, including user interface components that facilitate user input, such as a keyboard, a mouse, a microphone, a touch screen display, a camera, other input buttons and controls.
[0098] The memory 550 can be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard drives, optical drives, and the like. The memory 550 optionally includes one or more storage devices remotely located from the processor 510.
[0099] The memory 550 includes volatile memory or nonvolatile memory, and can also include both volatile and nonvolatile memory. Nonvolatile memory can be read only memory (ROM), volatile memory can be random access memory (RAM). The memory 550 described in the embodiments of the present application is intended to include any suitable type of memory.
[0100] In some embodiments, 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, which are exemplarily illustrated below.
[0101] The operating system 551 includes system programs for processing various basic system services and performing hardware-related tasks, such as a framework layer, a core library layer, a driver layer, and the like, for implementing various basic services and processing hardware-based tasks;
[0102] The network communication module 552 is used to communicate with other computing devices via one or more (wired or wireless) network interfaces 520, exemplary network interfaces 520 including Bluetooth, wireless fidelity (WiFi), and universal serial bus (USB), and the like;
[0103] The presentation module 553 is used to enable the presentation of information via one or more output devices 531 associated with the user interface 530 (e.g., a display screen, a speaker, and the like) (e.g., a user interface for operating peripheral devices and displaying content and information);
[0104] The input processing module 554 is used to detect and interpret one or more user inputs or interactions from one or more input devices 532.
[0105] In some embodiments, the motion control device of the foot robot provided by the embodiments of the present application can be realized in a software manner, Figure 2 A marker processing device 555 in a virtual scene stored in the memory 550 is shown, which can be software in the form of programs and plug-ins, including the following software modules: a receiving module 5551 and a control module 5552, which are logical, and thus can be combined or further split according to the functions implemented, and the functions of each module will be described below.
[0106] In other embodiments, the motion control device of the legged robot provided in the embodiments of the present application can be implemented by a combination of software and hardware. As an example, the motion control device of the legged robot provided in the embodiments of the present application can be a processor in the form of a hardware decoding processor, which is programmed to execute the marking processing method in the virtual scene provided in the embodiments of the present application. For example, the processor in the form of a hardware decoding processor can adopt one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs) or other electronic components.
[0107] The motion control method of the legged robot provided in the embodiment of the present application will be explained in combination with the exemplary application and implementation of the legged robot provided in the embodiment of the present application. Figures 3A-3B This is a flow chart of the motion control method of the legged robot provided in the embodiment of the present application, see Figure 3A , will combine Figure 3A The steps shown are explained.
[0108] In step 101 , when the foot ends of the legged robot are standing in the same initial unit area and the foot ends are retracted in the initial unit area, the legged robot receives a jump instruction for the legged robot.
[0109] The jump command instructs the legged robot to jump from its current initial unit area to an independent target unit area. There is a one-to-one correspondence between the foot tips and the target unit areas. The distance between any two foot tips of the legged robot in the target unit area is greater than the distance between the corresponding two foot tips when the legged robot is in the initial unit area. The target unit areas can be located in front of the legged robot or dispersed around the initial unit area.
[0110] To illustrate the unit area, in some embodiments, 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 face areas of a single pile in a plum blossom pile, and the unit area and the target unit area have the same shape and size.
[0111] In actual implementation, the unit area can be a series of discrete and independent landing points (unit areas) obtained by the control device of the legged robot through area segmentation and discretization of the terrain area. The unit area can be similar to the end face area of a single pile in a plum-pudding pile. The legged robot can control itself to complete a high-dynamic and high-difficulty jumping action in the plum-pudding pile or the terrain area which can be discretized into a plum-pudding pile form. The jumping action can include jumping of the legged robot from the end face area of a single pile in the plum-pudding pile in the initial state to the end face area of each single pile. Taking a quadruped robot as an example, the jumping action can be a single-pile jumping-four-pile action of the quadruped robot starting from a four-foot folding state. The jumping action can also include jumping of the legged robot from the end face area of each single pile in the plum-pudding pile to the end face area of the same single pile. Taking a quadruped robot as an example, the jumping action can be a four-pile jumping-single-pile action of the quadruped robot starting from a four-foot dispersed standing state and folding the four feet on the landing balance single pile. The initial unit area is mainly used to represent a region in which the landing point (which can be referred to as a take-off point) of the legged robot is limited when taking off. That is, when the legged robot is in the initial unit area (take-off point), it maintains balance in a posture in which each foot end is folded below the body. When the foot ends of the legged robot are dispersed in the initial unit area, the legged robot is prone to missing or falling.
[0112] Exemplarily, referring to Figure 4 , Figure 4 is a plum-pudding pile type terrain area schematic diagram provided by the embodiment of the present application. The plum-pudding pile shown in the diagram includes a plurality of independent single piles (unit areas) with the same area size. In actual application, different terrains can also be discretized into a plurality of unit areas with different heights and different area sizes.
[0113] In actual implementation, the initial state of the legged robot is that each foot end of the legged robot stands in the same initial unit area, and each foot end is folded in the initial unit area. It can be understood that the initial unit area can be a limited terrain area. When each foot end of the legged robot stands in the area, it is usually in a posture in which each foot end is folded below the center of the body. The distance between any two foot ends of the legged robot in the target unit area is greater than the distance between the corresponding two foot ends of the legged robot in the initial unit area.
[0114] Exemplarily, referring to Figure 5 , Figure 5 is a schematic diagram of the initial state of the legged robot provided by the embodiment of the present application. In the diagram, taking a quadruped robot as an example, the unit area is the end face area of a single pile in a plum-pudding pile, and the four feet of the quadruped robot stand on the single pile in the plum-pudding pile and are folded below the center of the body.
[0115] The way in which the foot-type robot receives the jump instruction is described. In actual implementation, the foot-type robot can receive a jump instruction for itself. The trigger mode of the jump instruction can be external triggering or internal triggering. The external triggering can be that the foot-type robot receives a jump instruction input by a user (the input form can be voice input or text input) or that the user triggers a function item for controlling the foot-type robot to jump. The internal triggering can be that the foot-type robot receives a jump instruction sent by a controller carried by the foot-type robot. In addition, the jump instruction can include at least one of a forward jump instruction and an upward jump instruction. Specifically, the jump instruction can be determined according to the position of a target unit region relative to each unit region. When the target unit region is located in front of the foot-type robot, the jump instruction is the forward jump instruction. When the initial unit region is located at the center of each target unit region, the jump instruction is the upward jump instruction. Subsequently, the jump instruction refers to the forward jump instruction unless otherwise specified. Different forms of jump instructions correspond to different jump processes.
[0116] In step 102, in response to the jump instruction, the foot-type robot jumps to each target unit region.
[0117] In actual implementation, the foot-type robot performs a corresponding jump action in response to the jump instruction. Before performing the jump action, the foot-type robot can generate a reference jump trajectory corresponding to the current jump action by using a model predictive control (MPC) method. The reference jump trajectory can include state parameters of at least two key points. Each stage corresponds to corresponding control information. The foot-type robot analyzes the control information to obtain a motion trajectory corresponding to each stage.
[0118] In some embodiments, referring to Figure 6 , Figure 6 is a state parameter acquisition process schematic diagram provided by the embodiment of the present application. In combination with the steps shown in Figure 6 , the acquisition mode of the state parameters of each key point in the jump process performed based on the reference jump trajectory is described.
[0119] In step 201, the foot-type robot predicts a jump trajectory of the foot-type robot to obtain a reference jump trajectory.
[0120] In actual implementation, after receiving the jumping instruction, the legged robot can obtain a reference jumping trajectory corresponding to the jumping instruction by using a model predictive control (MPC) method. The reference jumping trajectory is a most energy-saving reference trajectory satisfying a constraint condition obtained by solving an optimization problem (a nonlinear optimization problem constructed to plan a jumping trajectory corresponding to the current jumping instruction to achieve an optimization goal of minimum driving force). The reference jumping trajectory can effectively ensure the feasibility of the legged robot performing each action in the jumping process, so that the reference jumping trajectory can be successfully predicted. In the jumping process, the legged robot controls its jumping action to be consistent with the reference jumping trajectory as much as possible.
[0121] In step 202, a constraint condition corresponding to the jumping instruction is obtained, and the constraint condition is used to constrain the jumping of the legged robot.
[0122] In actual implementation, different jumping instructions correspond to different reference jumping trajectories, and the constraint conditions are different when different reference jumping trajectories are obtained. The constraint condition is used to constrain the jumping of the legged robot. The constraint condition for the jumping instruction can be a spatial landing point constraint condition, a friction force constraint condition, a foot end constraint force constraint condition, etc. For example, for the jumping action of the legged robot on the plum-blossom pile in the embodiment of the present application, the constraint conditions include joint torque limiting, foot bottom friction cone, joint drop height threshold, dynamics constraint, and foot end non-slip, etc.
[0123] In step 203, the state parameters of at least two key points of the reference jumping trajectory are determined based on the reference jumping trajectory and the constraint condition.
[0124] In some embodiments, when determining the state parameters of the at least two key points, the legged robot first obtains at least two key points in the reference jumping trajectory, wherein the key points include at least one of the following: a starting point of the reference jumping trajectory, a vertex of the reference jumping trajectory, and an ending point of the reference jumping trajectory.
[0125] In actual implementation, the key points can be sampling points at each operation segment in the jumping process. The parameter values of the state parameters corresponding to the legged robot at the sampling points can be represented in the form of generalized coordinates. In order to facilitate description, the parameter values of the state parameters corresponding to each key point are referred to as control information, that is, one key point corresponds to one piece of control information. The corresponding operation of the legged robot controlled according to the obtained control information of each key point can be as close as possible to the reference jumping trajectory. The state parameters can include the center of mass position of the legged robot, the positions of each foot end, the joint angles of each joint, the joint angular velocity, the joint angular acceleration, the joint torque, the joint degrees of freedom, etc. The control data represented by the generalized coordinates will be described in detail below taking a quadruped robot as an example.
[0126] In some embodiments, the foot-type robot can jump to each target cell region located in front of the foot-type robot in the following stages: when each first target cell region is located in front of the foot-type robot, the foot-type robot, in response to the jump instruction, controls itself to jump from the initial cell region to each target cell region through a take-off stage, a flight stage, and a landing stage.
[0127] In actual implementation, the process in which the foot-type robot jumps from the initial cell region to the target cell region independent of each other can at least include at least one of the take-off stage, the flight stage, and the landing stage. The foot-type robot obtains control information of each key point in the reference jump trajectory corresponding to the current jump instruction, analyzes the control information to obtain parameter values of state parameters corresponding to each operation, and thus presents a corresponding form.
[0128] The operations performed by the foot-type robot in the take-off stage of the jumping process are described. In some embodiments, the foot-type robot can perform the following operations in the take-off stage of the jumping process: in the take-off stage, the foot-type robot sequentially performs foot end ground pushing and forefoot end ground leaving operations.
[0129] In actual implementation, in the take-off stage, the foot-type robot can at least obtain control information of the following key points in the reference jump trajectory: foot end ground pushing and forefoot end ground leaving (at this time, the hind foot end continues to push the ground). In the take-off stage of the entire jumping process, the foot-type robot starts from an initial state and sequentially performs foot end ground pushing (each foot end performs a ground pushing action in the initial cell region) and forefoot end ground leaving (after the forefoot leaves the ground, the hind foot continues to push the ground) operations. The foot-type robot controls itself to be in a state corresponding to each operation according to corresponding control information.
[0130] Exemplarily, refer to Figure 7 , Figure 7 is a schematic diagram of the take-off stage of the foot-type robot provided by the embodiments of the present application. In the diagram, the foot-type robot is a quadruped robot, and the cell region is a single stake in a plum-blossom stake. In the diagram, number 1 shows the initial state of the quadruped robot, number 2 shows the foot end ground pushing operation of the foot-type robot in the take-off stage of the jumping process, and number 3 shows the forefoot end ground leaving operation of the foot-type robot in the take-off stage of the jumping process.
[0131] In some embodiments, in the take-off stage, each body part of the foot-type robot can present the following form changes: in the process in which the foot-type robot performs the foot end ground pushing operation, the foot-type robot reduces the joint angle of the hind leg knee joint and increases the joint angle of the foreleg knee joint, so that the hind thigh is in the same straight line as the trunk, the trunk is raised at a target pitch angle, and the center of mass is migrated forward and upward.
[0132] In actual implementation, the foot robot obtains the first control information corresponding to the key point of the foot end of the foot robot in the reference jumping trajectory, analyzes the first control information, adjusts the values of the state parameters to the reference values of the state parameters in the first control information, and makes each leg of the foot robot simultaneously kick the ground according to the reference jumping trajectory, so that the foot robot moves forward and upward at a target body pitch angle and a center of mass position.
[0133] Taking the foot robot as a quadruped robot, referring to the foot end kicking operation of the foot robot shown in FIG. 2 of the preceding example, referring to the initial state shown in FIG. 1 of the preceding example, the height of the knee joint is increased during the foot end kicking, the trunk of the quadruped robot is in a straight line with the rear thigh, the joint angle of the knee joint of the front leg is close to 180°, and the trunk is lifted at a target pitch angle. Figure 7 Figure 7 Taking the foot robot as a quadruped robot, referring to the foot end kicking operation of the foot robot shown in FIG. 2 of the preceding example, referring to the initial state shown in FIG. 1 of the preceding example, the height of the knee joint is increased during the foot end kicking, the trunk of the quadruped robot is in a straight line with the rear thigh, the joint angle of the knee joint of the front leg is close to 180°, and the trunk is lifted at a target pitch angle.
[0134] In some embodiments, during the process of the foot robot performing the front foot end take-off (the front foot takes off and the rear foot continues to kick), the foot robot reduces the joint angle of the knee joint of the front leg of the foot robot to a first target angle and increases the joint angle of the knee joint of the rear leg to a second target angle, so as to increase the height of each knee joint and the height of the center of mass; wherein the height of the knee joint of the front leg is higher than the height of the center of mass, and the height of the knee joint of the rear leg is lower than the height of the center of mass; the first target angle is used to represent the angle of the knee joint of the front leg when the front thigh of the foot robot is in a straight line with the trunk, and the second target angle is used to represent the angle of the knee joint of the rear leg when the rear shank of the foot robot is perpendicular to the contact surface and the rear thigh is in a straight line with the trunk.
[0135] In actual implementation, after the foot robot performs the foot end kicking operation according to the reference jumping trajectory, the foot robot then performs the front foot end take-off operation, at this time each rear foot end continues to kick, the foot robot obtains the second control information corresponding to the key point of the front foot end take-off in the reference jumping trajectory, analyzes the second control information, adjusts the values of the state parameters of the foot robot to the reference values of the state parameters in the second control information, and the foot robot continues to accelerate forward and upward to perform take-off according to the corresponding reference angle and position, while the front leg is bent and retracted.
[0136] Taking the foot robot as a quadruped robot, referring to the front foot end take-off operation of the foot robot shown in FIG. 3 of the preceding example, referring to the state during the foot end kicking shown in FIG. 2 of the preceding example, the center of mass moves forward and upward, the front leg is bent and retracted, the trunk is lifted at a target pitch angle when the rear shank is perpendicular to the pile surface of the single pile and the rear thigh is in a straight line with the trunk. Figure 7 Figure 7 Taking the foot robot as a quadruped robot, referring to the front foot end take-off operation of the foot robot shown in FIG. 3 of the preceding example, referring to the state during the foot end kicking shown in FIG. 2 of the preceding example, the center of mass moves forward and upward, the front leg is bent and retracted, the trunk is lifted at a target pitch angle when the rear shank is perpendicular to the pile surface of the single pile and the rear thigh is in a straight line with the trunk.
[0137] The operations performed by the legged robot in the take-off phase of the jumping process are described in sequence. In some embodiments, in the take-off phase, the legged robot performs the operation of lifting the rear foot end off the ground; in the process of lifting the rear foot end off the ground, the legged robot controls each front leg to stretch towards the corresponding target unit area, and controls each rear leg to first contract and then stretch towards the corresponding target unit area, so that each foot end of the legged robot can land on the corresponding target unit area.
[0138] In actual implementation, after the legged robot performs the operation of lifting the front foot end off the ground according to the reference jumping trajectory, the legged robot then performs the operation of lifting the rear foot end off the ground, at which time the legged robot starts to take off. The legged robot obtains third control information corresponding to the key point of lifting the rear foot end off the ground in the reference jumping trajectory, and analyzes the third control information. The legged robot adjusts the values of the state parameters of the legged robot to the reference values of the state parameters in the third control information. The legged robot completely takes off, and the front leg starts to stretch towards the position of the target unit area corresponding to the corresponding foot end. The rear leg first contracts to provide a foot swinging landing height, and then starts to stretch towards the position of the target unit area corresponding to the corresponding foot end, preparing for landing.
[0139] Taking the legged robot as an example, the legged robot is a quadruped robot, referring to Figure 8 , Figure 8 is a schematic diagram of the operation performed by the legged robot in the take-off phase provided by the embodiments of the present application. In the take-off phase, the legged robot performs the operation of lifting the rear foot end off the ground. Compared with the state shown in No. 3 in Figure 7 , the legged robot controls the rear foot end to stand upright, and the legged robot completely takes off. Among them, the front leg starts to stretch towards the position of the corresponding target single pile (the single pile shown in No. 1 in the figure), and the rear leg first contracts to provide a foot swinging landing height and then stretches towards the position of the corresponding target single pile (the single pile shown in No. 2 in the figure).
[0140] The operations performed by the legged robot in the landing phase of the jumping process are described in sequence. In some embodiments, in the landing phase, the legged robot performs the operations of foot end landing, leg bending buffering, and body balancing in sequence.
[0141] In actual implementation, in the landing phase, the legged robot can at least obtain control information of the following key points in the reference jumping trajectory: foot end landing, leg bending buffering, and body balancing. In the landing phase of the entire jumping process, the legged robot performs the operations of foot end landing, leg bending buffering, and body balancing in sequence. For each operation, the legged robot controls itself to be in a state corresponding to the operation according to the corresponding control information.
[0142] Exemplarily, referring to Figure 9 , Figure 9is a landing phase schematic diagram of a legged robot provided by an embodiment of the present application, the legged robot in the diagram is a quadruped robot, and the unit area is a single pile in a plum-pudding pile. Number 1 in the diagram shows that the quadruped robot performs foot end landing operation, number 2 in the diagram shows that the legged robot performs curved leg buffering operation, and number 3 in the diagram shows that the legged robot performs body balancing operation.
[0143] In some embodiments, in the landing phase, each body part of the legged robot can present the following morphological changes: in the process of the foot end landing of the legged robot, the legged robot controls each foot end to simultaneously contact the contact surface in the corresponding target unit area; in the process of the curved leg buffering of the legged robot, the legged robot performs the curved leg action of bending and contracting each leg, and increases the torque of the leg joint to reduce the speed of the legged robot; in the process of the body balancing of the legged robot, the legged robot adjusts the body posture to move the center of mass of the legged robot to the area range composed of each target unit area group.
[0144] In actual implementation, the legged robot obtains fourth control information corresponding to the landing key point of the rear foot end in the reference jumping trajectory, and analyzes the fourth control information. The values of each state parameter of the legged robot are adjusted to the reference values of each state parameter in the fourth control information. Each foot end of the legged robot simultaneously contacts the contact surface of the corresponding target unit area. At this time, the knee joint of the front leg of the legged robot is still at a large joint angle, the body of the legged robot is raised at a target pitch angle, the knee joint of the rear leg moves downward until the rear calf is close to parallel with the contact surface, and the center of mass moves to the rear leg direction, preparing for subsequent curved leg buffering. The legged robot obtains fifth control information of the curved leg buffering key point, and performs the curved leg buffering operation. The legged robot controls each leg to bend and contract while applying torque control to each joint, and smoothly moves the body center of mass to the four-foot support area. At this time, the torso is raised at a target pitch angle, the rear thigh is stretched backward and is in a straight line with the torso, the knee joint is lowered to be in a straight line with the contact surface of the corresponding target unit area, and balance in each target unit area is achieved.
[0145] Taking the legged robot as a quadruped robot as an example, referring to the foot end landing operation of the legged robot shown in number 1 in Figure 9 Figure 8 The state of the foot robot in the air, the four feet of the four-legged robot simultaneously contact the pile surface, the rear knee joint moves downward until the rear lower leg is close to parallel with the contact surface, the center of mass moves to the rear leg direction, preparing for the subsequent leg bending buffer, and the torso is raised at the target pitch angle. The leg bending buffer operation of the foot robot shown in Figure 2, compared with the state shown in Figure 1, the rear knee joint of the four-legged robot continues to move downward until the rear thigh is in the same straight line with the torso, the rear lower leg is close to parallel with the contact surface, and the torso is raised at the target pitch angle. The foot end landing operation of the foot robot shown in Figure 3, compared with the state shown in Figure 2, the torso of the four-legged robot is parallel to the pile surface, the center of mass moves to the center of the torso, and the rear knee joint is raised to the same height as the front knee joint.
[0146] In some embodiments, the initial cell region is located at the center of each target cell region, and the foot robot can implement upward jumping by the following manner: in response to the jumping instruction, controlling the foot robot to jump upward through the take-off phase, the air phase, and the landing phase to land on each target cell region.
[0147] In actual implementation, the foot robot obtains a reference jumping trajectory for upward jumping and control information of each key point on the reference jumping trajectory (including reference values of each state parameter) according to MPC prediction, and implements upward jumping of the foot robot to each target cell region.
[0148] In some embodiments, the foot robot can sequentially perform the following operations in each phase of the upward jumping process: in the take-off phase, the foot robot sequentially performs the operations of squatting to store energy and starting to take off, wherein in the process of squatting to store energy of the foot robot, the leg of the foot robot is bent to lower the center of mass of the foot robot from the initial height to the take-off height; in the air phase, the foot robot performs the operation of stretching the foot and leg in the air, wherein in the process of starting to take off of the foot robot, the foot robot performs upward bouncing 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; in the landing phase, the foot robot sequentially performs the operations of foot end landing, leg bending buffer, and body balance, wherein in the process of stretching the foot and leg in the air of the foot robot, each leg of the foot robot drives the corresponding foot end to stretch outward and downward below the corresponding hip joint.
[0149] In some embodiments, when the foot robot is a four-legged robot, the foot robot can also implement the jumping operation in the following manner: in response to the jumping instruction, the foot robot controls the foot robot to jump to the target cell region in the manner of four-legged jumping; wherein the process of jumping includes: the energy storage phase, the four-legged ground kicking phase, the air phase, and the landing phase.
[0150] In actual implementation, the step of jumping of the quadruped robot performing the jumping operation can include two-foot jumping and four-foot jumping. When completing the jumping action of forward jumping, the two-foot jumping or the four-foot jumping can be used to jump to the target cell region.
[0151] In some embodiments, referring to Figure 3B After the feet of the legged robot stand in the corresponding target cell regions and keep balance, the legged robot can further perform step 103 to control the posture of the legged robot.
[0152] In step 103, the legged robot controls the legged robot to continuously perform at least one of the following operations in the target cell region based on at least one degree of freedom: head shaking action, tail swinging action.
[0153] In actual implementation, when the feet of the legged robot stand in the corresponding target cell regions and the action instruction of performing the target action is received, the legged robot completes the target action based on at least one degree of freedom, and the target action includes the head shaking action, the tail swinging action, etc. In actual application, the legged robot can further include a tail connected to the torso of the legged robot through at least one joint, each joint can correspond to at least one degree of freedom, and the degree of freedom includes at least one of roll, pitch, and yaw. The legged robot can realize the head shaking action, the tail swinging action, or the head shaking and tail swinging actions based on the degree of freedom. The degree of freedom of the legged robot is relative to a spatial coordinate system, which can be a world coordinate system or a body coordinate system with the body center of mass of the legged robot as the origin. In actual application, in the world coordinate system, the right-hand rule coordinate system is used, the jumping direction of the legged robot (the front of the body of the legged robot) is used as the X axis, the direction perpendicular to the X axis on the left side of the legged robot is used as the Y axis, and the direction perpendicular to the ground is used as the Z axis. When the legged robot performs the head shaking and tail swinging actions, the legged robot can be controlled to rotate around the X axis (X roll) to obtain a corresponding roll angle, to rotate around the Y axis (Y pitch) to obtain a corresponding pitch angle, and to rotate around the Z axis to obtain a corresponding yaw angle (Z yaw), and then the head shaking operation, the tail swinging operation, or the head shaking and tail swinging operations are realized based on at least one of the pitch angle, the yaw angle, and the roll angle. In terms of technical implementation, the action reference trajectory of the legged robot performing the head shaking action (tail swinging action) can be planned according to the MPC controller, and the state data of the legged robot in the current state, including at least one of the body center position of the body center of mass, the joint torque of each joint, and the joint angle of each joint, is combined to obtain the optimal target state data of the legged robot performing the head shaking or tail swinging action based on the MPC prediction. The legged robot receives the target action instruction and the target state data suitable for the target action to complete the corresponding target action (at least one of the head shaking operation and the tail swinging operation).
[0154] Exemplarily, refer to Figure 10 , Figure 10 is an angle implementation schematic diagram of a legged robot based on degrees of freedom provided by the embodiment of the application. In the figure, a quadruped robot is taken as an example, and rotation is performed along the X axis of the coordinate system shown in the figure to achieve roll angle control on the pile for the quadruped robot.
[0155] The above angle control method for the legged robot based on degrees of freedom can expand the motion ability of the robot and enrich the diversity of the legged robot motion.
[0156] The jumping motion completed by the legged robot by applying the embodiment of the application improves the dynamics, difficulty, and ornamental value of the legged robot motion, expands the diversity of the legged robot motion, and enables the legged robot to not only perform high-difficulty motion display on flat ground but also perform high-difficulty motion display in scenes such as plum-blossom piles and stone piers.
[0157] Next, the motion control method of the legged robot provided by the embodiment of the application is described. At this time, the initial state of the legged robot is that each foot end stands in a mutually independent unit area, and after the jumping motion is completed, each foot end is collected in a target unit area and keeps balance. Refer to Figure 11 , Figure 11 is another flowchart of the motion control method of the legged robot provided by the embodiment of the application, which will be described in combination with the steps shown in Figure 11 .
[0158] In step 401, when each foot end of the legged robot stands in a mutually independent unit area, the legged robot receives a jumping instruction for the legged robot.
[0159] The jumping instruction is used to instruct the legged robot to jump from at least two unit areas in which the legged robot currently stands to a first target unit area (distinguished from the foregoing).
[0160] In actual implementation, the terrain area in which the legged robot stands includes at least two unit areas (which is consistent with the unit area in step 101). In the initial state, each foot end of the legged robot stands in each unit area, that is, one foot end occupies one unit area. According to the received jumping instruction (the manner in which the legged robot receives the jumping instruction is described above), the legged robot can control itself to complete a first jumping motion (distinguished from the foregoing jumping motion) of high dynamics and high difficulty in a plum-blossom pile or a terrain area that can be discretized into a plum-blossom pile form. The first jumping motion can be that the legged robot jumps from the end face area of each single pile in which each foot end stands to the end face area of the same single pile. Taking a quadruped robot as an example, the first jumping motion can be a four-pile jump single-pile motion of the quadruped robot starting from a four-foot dispersed standing state and the quadruped being collected on a single pile on which balance is kept.
[0161] In step 402, in response to the jumping instruction, the control of the legged robot jumps to the first target cell region, so that each foot end of the legged robot is retracted in the first target cell region, and in the first target cell region, the distance between any two foot ends of the legged robot is less than the distance between the corresponding two foot ends before jumping.
[0162] In actual implementation, the legged robot, in response to the jumping instruction, performs a first jumping action to jump to the first target cell region. Before performing the first jumping action, the legged robot can generate a first reference jumping trajectory corresponding to the first jumping action by using the MPC method. The first reference jumping trajectory can include state parameters of at least two key points. The legged robot analyzes the state parameters of each key point and performs corresponding operations so that the actual jumping trajectory is infinitely close to the first reference jumping trajectory. Here, the manner of obtaining the first reference jumping trajectory can refer to the manner described in steps 201-203, which will not be described here.
[0163] In some embodiments, the legged robot can jump to the first target cell region located in front of the legged robot in the following stages: the legged robot, in response to the (forward) jumping instruction, controls the legged robot to jump forward to the first target cell region through a take-off stage, a flight stage, and a landing stage.
[0164] In actual implementation, the first jumping process of the legged robot performing the first jumping action can at least include at least one of the take-off stage, the flight stage, and the landing stage. The legged robot obtains control information of each key point from a reference jumping trajectory corresponding to the first jumping action to obtain parameter values of state parameters corresponding to each operation, thereby presenting a corresponding form.
[0165] Exemplarily, referring to Figure 12 , Figure 12 is a schematic diagram of the state change process of the legged robot in the first jumping process provided by the example of the present application. In the diagram, the legged robot is a quadruped robot, and the cell region is a single stake in a plum-pudding stake. The quadruped robot stands on each single stake of the plum-pudding stake in an initial state (shown as No. 1 in the diagram). In the take-off stage of the first jumping process, the legged robot performs the squatting and storing energy shown as No. 2 in the diagram, the foot end kicking the ground shown as No. 3, and the starting flight operation shown as No. 4 in sequence. In the flight stage of the first jumping process, the legged robot performs the in-flight foot retraction and leg retraction shown as No. 4 in the diagram, and the in-flight leg stretching operation shown as No. 5 in sequence. In the landing stage of the first jumping process, the legged robot performs the foot landing shown as No. 6 in the diagram, the curved leg buffering shown as No. 7, and the body balancing operation shown as No. 8 in sequence.
[0166] In some embodiments, the foot-type robot can perform the following operations in the take-off phase of the first jump process: in the take-off phase, the foot-type robot sequentially performs the operations of squatting and accumulating force, foot-end ground-treading, and starting to take off.
[0167] In actual implementation, in the take-off phase of the first jump process, the foot-type robot starts from a state of standing normally on the mutually independent unit areas, sequentially performs the operations of squatting and accumulating force, foot-end ground-treading, and starting to take off, and each operation is performed by the foot-type robot according to corresponding control information, so that the foot-type robot is in a state corresponding to the operation.
[0168] In some embodiments, in the take-off phase of the first jump process, each body part of the foot-type robot can present the following morphological changes: in the process of squatting and accumulating force of the foot-type robot, the leg of the foot-type robot is bent to lower the center of mass of the foot-type robot from an initial height to a take-off height; in the process of foot-end ground-treading of the foot-type robot, the foot-type robot increases the torque of the leg joint to increase the friction between each foot end and the foot-end contact surface; in the process of starting to take off of the foot-type robot, the foot-type robot performs a take-off action forward and upward at a 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.
[0169] In actual implementation, the foot-type robot obtains the eighth control information after the squatting and power accumulating operation is completed, adjusts the joint angles of the joints of the foot-type robot to the joint angles specified in the eighth control information, and controls the center of mass to be lowered from the initial height to a take-off height, where the take-off height is the center of mass height specified in the eighth control information, which is determined based on the constraint conditions that the joints cannot touch the contact surface of the unit region and the shutdown torque is limited. After the squatting and power accumulating operation is completed, the foot-type robot starts the foot-end ground-pushing operation. During the ground-pushing process, the foot-type robot analyzes the ninth control information corresponding to the foot-end ground-pushing, increases the joint torque of each joint to the value of the corresponding joint torque in the ninth control information, increases the friction between the foot end and the end surface of the single pile, controls the head of the foot-type robot to be raised (adjusts the pitch angle of the foot-end robot to increase to the pitch angle in the ninth control information), the height of the hip joint is lowered, the angle between the trunk and the hip joint is increased (for example, to 180 degrees), the angle of the front leg joint is increased, and the center of mass is migrated. The ninth control information is determined based on at least the constraint condition that the foot end does not slide during the ground-pushing process (friction constraint condition). When the foot-end ground-pushing operation is completed, the take-off operation is started. At this time, the foot-end robot obtains the control information corresponding to the key point, adjusts the position of the center of mass to the center of mass position in the current control information, at this time, the height of the center of mass is higher than the initial height, the pitch angle is reduced relative to the foot-end ground-pushing to the pitch angle in the third control information, the joint angle of each joint is increased to the joint angle in the current control information, and the change speed of the joint angle is consistent with the joint angular velocity in the third control information.
[0170] In the above example, referring to Figure 12 the squatting and power accumulating operation state shown in No. 2 in FIG. 4, the center of mass is lowered from the initial height to the take-off height; the foot-end ground-pushing operation state shown in No. 3 in FIG. 4, the head of the foot-type robot is controlled to be raised, the height of the hip joint is lowered, the angle between the trunk and the hip joint is increased (for example, to 180 degrees), the angle of the front leg joint is increased, and the center of mass is migrated; and the take-off operation state shown in No. 4 in FIG. 4, the joint height of each joint is controlled to be raised, the center of mass is migrated forward, and the joint angle of each knee joint is increased.
[0171] In some embodiments, the foot-type robot can perform the following operation in the take-off phase of the first jump process: in the take-off phase, the foot-type robot sequentially performs the in-air foot and leg collecting operation and the in-air leg stretching operation.
[0172] In actual implementation, in the flight phase of the first jump process, the foot-type robot sequentially performs the operations of in-air foot retraction and leg retraction, in-air leg extension, and dynamically changes the state changes (also referred to as attitude changes) of the foot-type robot corresponding to each operation according to the control information corresponding to each operation, starting from the attitude corresponding to the start of the in-air flight operation of the take-off phase.
[0173] In actual implementation, the foot-type robot obtains the control information corresponding to the in-air foot retraction and leg extension, controls the foot-type robot to gradually retract the foot ends below the body mass center in the air, and increases the height of the mass center; when the height of the mass center starts to decrease, the control information for in-air foot retraction and leg extension is obtained, the X-axis component of the mass center is continuously controlled to increase, the height of the mass center is lowered, the body is controlled to have a target pitch angle (a downward viewing angle in the pitch angle), the joint angles of the joints of the front legs are continuously reduced to the joint angles in the fourth control information to prepare for landing, and at the same time, since the number of target unit regions is one, the distance of the rear legs extending forward is far, at this time, the rear legs are controlled to extend toward the target unit region according to the joint angle of the knee joint of the rear leg and the joint angle of the hip joint in the fifth control information.
[0174] In some embodiments, the foot-type robot can perform the following operations in the landing phase of the jump process: in the landing phase, the foot-type robot sequentially performs the operations of foot end landing, leg bending buffering, and body balancing.
[0175] In actual implementation, in the landing phase of the entire jump process, the foot-type robot sequentially performs the operations of foot end landing, leg bending buffering, and body balancing, starting from the attitude when the rear legs extend toward the target unit region in the flight phase, and dynamically changes the state changes (also referred to as attitude changes) of the foot-type robot corresponding to each operation according to the control information corresponding to each operation.
[0176] In some embodiments, in the landing phase, each body part of the foot-type robot can have the following morphological changes: in the process of foot end landing of the foot-type robot, the foot-type robot controls each foot end to simultaneously contact the contact surface in the target unit region; in the process of leg bending buffering of the foot-type robot, the foot-type robot performs the leg bending action of bending and contracting each leg, and increases the torque of the leg joint to reduce the speed of the foot-type robot; in the process of body balancing of the foot-type robot, the foot-type robot adjusts the body attitude to move the mass center of the foot-type robot to the target unit region.
[0177] In actual implementation, the foot ends of the legged robot simultaneously contact the contact surface of the target unit region, at this time, the knee joint of the hind leg of the legged robot is still at a larger joint angle, because the distance of the hind leg stretching to the target unit region is longer than the distance of the foreleg stretching to the target unit region, and in order to ensure the simultaneous contact of the simultaneous foot ends, the joint angle is larger than that of the leg stretching in the air. After the foot ends simultaneously contact the contact surface of the first target unit region, the legged robot starts to control each leg to perform the bending action of bending and shrinking according to the corresponding control information of the bending buffer, and simultaneously applies torque control to each joint to buffer and decelerate the legged robot, so as to smoothly move the projection of the body center of mass into the target unit region, thereby finally realizing balance. Because the distance of the hind leg stretching forward is far (the stretching distance of the hind leg knee joint and hip joint is large) when contacting the pile surface, the knee joint of the hind leg tends to move downward during the buffering process after landing. In order to avoid the collision between the lower leg of the hind leg and the contact surface of the target unit region after the knee joint of the hind leg is lower than the height of the target unit region, the bending and shrinking amplitude of the hind leg during the bending buffer of the legged robot does not exceed the shrinking amplitude threshold, and the descending amplitude of the knee joint of the hind leg does not exceed the descending amplitude threshold. In addition, based on the friction force constraint condition, it is ensured that the foot end does not rebound due to impact after contacting the pile surface, and does not slide due to the leg posture and force.
[0178] In the above example, referring to Figure 12 In the above example, referring to
[0179] In some embodiments, when the legged robot is a quadruped robot, the legged robot can also implement the jumping operation in the following manner: the legged robot responds to the jumping instruction, and when the jumping instruction indicates to perform two-foot jumping, the legged robot controls the legged robot to jump to the target unit region by alternately using two forelegs and two hind legs, wherein the jumping process of two-foot jumping can include a power storage phase, a quadruped ground-pushing phase, a foreleg-off-the-ground and hind leg-ground-pushing phase, a flying phase, and a landing phase.
[0180] In actual implementation, the foot-type robot can continuously perform the jumping action, i.e., when the foot-type robot jumps from the initial unit area to the target unit area, the continuous and stable jumping action of the foot-type robot can be realized by combining steps 101-102 and steps 401-402. That is, the foot-type robot is in the initial state of standing on the same initial unit area by each foot end and folding each foot end in the initial unit area, jumps to the same plurality of intermediate unit areas as the number of foot ends through steps 101-102, and then jumps from each intermediate unit area (at this time each foot end corresponds to one intermediate unit area) to one target unit area through steps 401-402.
[0181] Exemplarily, referring to Figure 13 , Figure 13 is a schematic diagram of the continuous jumping process of the foot-type robot provided by the embodiment of the present application, which includes the first jump and the second jump, wherein the first jump is for the four-foot robot to jump from one single stake on the plum-blossom stake to four single stakes in front, and the second jump is for the four-foot robot to jump from the four single stakes to another single stake on the basis of the first jump. The jumping process of the first jump is consistent with the jumping process shown in steps 101-102, and the jumping process of the second jump is consistent with the jumping process shown in steps 401-402. It should be noted that the two jumping processes can be continuously and alternately performed, and the embodiment of the present application does not make any limitation.
[0182] In actual implementation, the foot-type robot can also perform another continuous jumping action, i.e., when the foot-type robot stands in the independent unit area by each foot end, the continuous and stable jumping action of the foot-type robot can be realized by combining steps 401-402 and steps 101-102. That is, the foot-type robot is in the initial state of standing in the independent unit area by each foot end, jumps to the intermediate unit area (each foot end of the foot-type robot is folded in the intermediate unit area) through steps 401-402, and then jumps from the single intermediate unit area to the same plurality of intermediate unit areas as the number of foot ends through steps 101-102.
[0183] Exemplarily, referring to Figure 14 , Figure 14is another schematic diagram of a continuous jumping process of a legged robot provided by an embodiment of the present application, and the continuous jumping process includes a first jump and a second jump, where the first jump is a jump from four single piles of a plum-pudding pile to one single pile in front of the four single piles, and the second jump is a jump from one single pile to another four single piles on the basis of the first jump. The jumping process of the first jump is consistent with the jumping process shown in steps 401-402, and the jumping process of the second jump is consistent with the jumping process shown in steps 101-102. It should be noted that the two jumping processes can be continuously and alternately performed, and the embodiment of the present application does not make any limitation.
[0184] The jumping action of the legged robot implemented by the embodiment of the present application can realize the action of high and far take-off, accurate landing, smooth completion of buffering, balancing and posture control, while combining the constraint condition of limited landing position, so that the legged robot can complete the set of jumping actions on various terrain areas such as plum-pudding pile arrays, block-shaped cushioning piles and flat ground, and can also expand the motion ability of the robot and show the excellent motion planning and control technology level of the robot. Meanwhile, the jumping action of the legged robot implemented in the embodiment of the present application has the advantages of high dynamics and high difficulty, and has the characteristics of bionics, which can improve the dynamics, difficulty and ornamental nature of the motion of the legged robot and expand the diversity of the motion of the legged robot.
[0185] In the following, an exemplary application of the embodiment of the present application in an actual application scenario will be described. In the application scenario, the legged robot is a quadruped robot, and the quadruped robot is located in a plum-pudding pile, and the execution process of the jumping action of the quadruped robot is as follows: the quadruped robot starts from the initial state of four foot ends being gathered on a single pile, and jumps forward to four independent single piles and keeps balance.
[0186] In the related art, the jumping action that can be realized by the quadruped robot is mostly continuous gait (such as bound or pronk) motion on flat ground or terrain with large landing area, and the jumping action in the case of limited constraint of the area (take-off point) where take-off is located is not realized.
[0187] The jump action realized on flat ground or terrain with a large foot placement area is easier to balance because the four foot placement positions are dispersed, increasing the support projection area. However, for the case where the four foot placement positions are limited, especially when the quadruped robot retracts the four legs close to the body directly below, the implementation in the related art is realized in a continuous trot gait, which is relatively low in dynamics and has no action after standing. Based on the initial state of the four legs being retracted in a small area, a high-dynamic jump action (bound biped jump or pronk quadruped jump) is performed, while combining the constraint condition of limited foot placement positions, a jump that is both far and high, a flight, accurate foot placement, and smooth completion of the buffering, balancing, and posture control action are still not available in the related art.
[0188] Based on this, the embodiments of the present application provide a motion control method for a legged robot, which can be applied to the scenario of the legged robot jumping on a plum-pudding terrain, and can realize the jump action of the quadruped robot standing on a single stake with the four legs, sequentially performing four leg ground kicking, the front leg leaving the ground and the rear leg continuing to kick the ground, flying, spreading the four legs to land on the four stake surfaces, buffering, and balancing. Further, the action of shaking the head and wagging the tail can also be realized.
[0189] In actual implementation, the jump action is based on the design of the quadruped robot and realizes the jump action of the quadruped robot on the plum-pudding terrain. Referring to Figure 4 , the terrain area is a plum-pudding terrain, and each stake surface in the plum-pudding terrain can be regarded as a mutually independent unit area in the terrain area. The jump action of the quadruped robot in the current scenario is controlled on the plum-pudding terrain, and the entire jump process can be divided into a jump stage, a flight stage, and a landing stage. Next, the three stages are described in turn:
[0190] First, in the jump stage, the quadruped robot sequentially experiences the following state changes: initial state -> four legs kicking the ground -> front leg leaving the stake and rear leg continuing to kick the ground. When the quadruped robot is in the initial state, the four legs of the quadruped robot are retracted and stand on a stake surface (see the quadruped robot state shown in Figure 7 1). When receiving a jump instruction, the quadruped robot drives the four legs to kick the ground at the same time according to the center of mass reference jump trajectory, so that the quadruped robot accelerates forward and upward at a specific body pitch angle and center of mass position (see the quadruped robot state shown in Figure 7 2); the front leg of the quadruped robot leaves the stake, and the rear leg continues to kick the ground, so that the body continues to accelerate forward and upward at the planned reference pitch angle and center of mass position to jump, and the front leg is bent and retracted (see the start of the flight state shown in Figure 7 3).
[0191] Secondly, in the flight stage, the rear leg of the quadruped robot leaves the stake and is completely in flight, referring toFigure 8 In the process of the emptying, the front legs start to stretch towards the position of the landing pile, the rear legs first contract to provide the swing pile landing height, and then start to stretch towards the position of the corresponding landing pile of the rear foot to prepare for the pile landing.
[0192] Again, in the landing (pile) stage of the jumping process, the quadruped robot sequentially experiences the following state changes: contact pile surface -> leg bending buffer -> keep balance. The four feet of the quadruped robot simultaneously contact the pile surface (see Figure 9 The state of the quadruped robot shown in FIG. 1), and then the four legs start to bend and contract while applying torque control to each joint for buffering and deceleration (see Figure 9 The state of the quadruped robot shown in FIG. 2), and the body center of mass is smoothly moved into the four-foot support area, so as to finally achieve balance (see Figure 9 The state of the quadruped robot shown in FIG. 3). Since the rear legs stretch a long distance (the extension distance of the knee joint and hip joint of the rear leg) when the quadruped robot contacts the pile surface, and due to the configuration of the degrees of freedom of the legs of the quadruped robot, the knee joint of the rear leg tends to move downward during the buffering after landing. In order to avoid the knee joint being lower than the height of the target pile surface, or the knee joint colliding with the ground when on other terrains such as flat ground, the contraction amplitude of the rear leg bending and the downward amplitude of the knee joint of the rear leg need to be limited when performing the buffering motion control. In addition, it is also necessary to ensure that the foot end does not bounce after contacting the pile surface, and does not slide due to the leg posture and force.
[0193] In actual application, the quadruped robot completes the jumping action towards each target pile surface through the above-mentioned three stages in the jumping process, and can ensure that the quadruped robot stands on the corresponding target pile surface with the four foot ends, and keeps balance.
[0194] In actual implementation, when the quadruped robot keeps balance on the four independent pile surfaces (at this time, it is in the state of standing with small landing point spacing), it can also receive instructions for controlling the shaking and wagging of the quadruped robot, and perform posture control of the body of the quadruped robot on each target pile surface with the current balance posture, along the two degrees of freedom of roll and pitch to perform compound motion, and realize the shaking and wagging of the quadruped robot (see Figure 10 The state of the quadruped robot shown in FIG. 4).
[0195] Finally, it should be noted that the quadruped robot can complete the above-mentioned jumping action on various terrains such as plum-blossom piles, which can expand the motion capability of the robot and demonstrate the excellent motion planning and control technology level of the robot.
[0196] Next, the motion control method of the legged robot provided by the embodiments of the present application is described from the technical side. In terms of technical implementation, the embodiments of the present application obtain the most economical reference jumping trajectory by constructing a corresponding nonlinear optimization problem to plan the motion trajectory of the jumping process, and perform motion control based on MPC, so as to realize the action of the quadruped robot standing on a single pile, sequentially performing four-legged ground kicking, front leg off the ground and rear leg continuing to kick the ground, emptying, spreading four feet on four pile surfaces, buffering, balancing and shaking head and tail. The functional modules of the quadruped robot to realize the current jumping action mainly include a jumping trajectory planning module, a jumping control module, a terrain perception module and a state estimation module.
[0197] First, the implementation function of the jumping trajectory planning module is described in detail. Since the initial state of the quadruped robot is that the four legs are collected under the body, the leg hip lateral swing joint is close to the limit position of the motion space, and therefore if the quadruped jumping mode is adopted, the action space of the foot end kicking the ground will be limited. In order to obtain a far enough forward jumping distance and a high enough upward jumping height, a bipedal gait is adopted. Even so, the current jumping action requires a very high output torque of the joint motor. Referring to Figure 15 , Figure 15 is a schematic diagram of a quadruped robot planar model provided by the embodiments of the present application, based on the quadruped robot planar model shown in the figure, the generalized coordinates are defined as:
[0198] q = [x, z, pitch, q hip,front , q knee,front , q hip,hind , q knee,hind ] T
[0199] Among them, x represents the X-axis component of the mass center, z represents the Z-axis component of the mass center, pitch represents the pitch angle of the mass center, 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 rear leg hip joint, and q knee,hind represents the joint angle of the rear leg knee joint. The nonlinear optimization problem shown below is constructed to plan the motion trajectory, and the optimization goal is to minimize the total driving force required to complete the entire action:
[0200]
[0201] s.t.
[0202] f min ≤ f i ≤ f max , (1)
[0203] | f i,x|≤μf i,z , (2)
[0204] 0≤p hip,z ,0≤p knee,z , (3)
[0205]
[0206] where the optimization objective is to minimize the total driving force required to complete the jump motion, f i is the contact force vector of all foot ends at the i-th sampling point, W is the weight parameter matrix, and k is the number of sampling points of the motion. The constraint conditions include (1) joint torque and contact force amplitude, (2) foot bottom friction cone, (3) hip and knee heights higher than the ground surface height, and (4) dynamics constraints and no slip at 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 the generalized mass matrix, selection matrix, friction force and Coriolis force related item matrix, and gravity item matrix, respectively, J front , J hind represent the Jacobian matrices of the front and rear legs, respectively. The first row in constraint condition (4) represents the dynamics constraint, and the second and third rows represent no slip at the front foot and rear foot, respectively, in the contact state.
[0207] In order to accelerate the solution of the optimization problem and obtain a jump trajectory as close as possible to the designed motion on the product side, the generalized coordinate sampling points at the motion segmentation are given, in turn, the initial state q start , the state at the time when the front foot leaves the post q lift-off,front , the state at the time when the rear foot leaves the post q lift-off,hind , the state at the time when the four feet fall on the four posts q touchdown , and the state of four post balance standing q end . Due to the special initial state in this motion, the unique points are at the time when the rear foot leaves the post and the four feet fall on the post, and the corresponding sampling points are given in the following form:
[0208] q lift-off,hind =[x start +x offset ,z start +z offset ,pitch lift-off ,IK(p front,swing ),IK(p hind,start )] T ,
[0209] q touchdown = [x poles,mean +x offset , z poles,mean +z offset , pitch touchdown , IK(p pole,front ), IK(p pole,hind )] T ,
[0210] where the reference position of the center of mass when the back leg leaves the peg is given based on the initial position (x start , z start ) plus a specific offset (x offset , z offset ) according to the motion design, the reference pitch angle of the body pitch lift-off is also given according to the motion design, and the reference joint angles of the legs are calculated through inverse kinematics based on the desired front foot swing position p front,swing and the back leg initial position p hind,start in combination with the reference position of the center of mass. The reference position of the center of mass when the four legs land on the peg is given based on the average position of the centers of the four pegs (x poles,mean , z poles,mean ) plus a specific offset (x offset , z offset ) according to the motion design, the reference pitch angle of the body pitch touchdown is also given according to the motion design, and the reference joint angles of the legs are calculated through inverse kinematics based on the target landing positions of the front and back legs p pole,front and p pole,hind in combination with the reference position of the center of mass. Wherein the reference position of the center of mass is given based on the position of the single peg (x pole , z pole ) plus a specific offset (x offset , z offset ) according to the motion design, the reference pitch angle of the body pitch touchdown is also given according to the motion design, p pole + p offset,front / hind represent the desired foot landing positions on the peg, i.e. based on the center position of the peg surface p pole plus the folding offset of each leg p offset,front / hind , and the reference joint angles of the legs are calculated through inverse kinematics based on the desired foot landing positions on the peg and the reference position of the center of mass, and the settings of p offset,front and p offset,hind can adjust the foot landing positions of the four legs when landing on the peg.
[0211] Finally, the optimization problem is solved to obtain the minimum energy reference trajectory that satisfies the constraint conditions. The reference trajectory can effectively ensure the feasibility of the jumping action, so that the control module can smoothly predict and determine the reference trajectory. For the balance completed shaking and wagging action, it can be achieved by pre-programming or online remote control instruction method.
[0212] Secondly, the technical implementation of the jumping control module is described. Since the initial state of the robot is that the four legs are collected below the body center, which does not conform to the planar dynamics model, the optimal joint reference torque obtained cannot be directly determined. The embodiment of the application adopts the optimal centroid reference trajectory based on planning, and uses the MPC controller based on centroid dynamics to obtain the take-off action, wherein the constructed MPC problem is as follows:
[0213]
[0214] s.t.
[0215] f min ≤f i ≤f max ,
[0216] |f i,x |≤μf i,z ,
[0217] Wherein, the state quantity x=[p T ,θ T ,v T ,ω T ] T represent the position, attitude, linear velocity and angular velocity of the centroid, represents the reference trajectory vector corresponding to the i-th prediction time, represents the predicted state of the i-th prediction time obtained based on the current state x0 according to the dynamics equation, and n represents the prediction window length. The optimization target is to minimize the state quantity error and the required foot force. The constraint conditions include that the foot force satisfies the amplitude constraint and the friction cone constraint. Finally, the optimal foot contact force is obtained by solving, and is converted into joint torque for feedforward control. The leg action control in the air phase is realized by joint PD control. After the four legs land on the pile, the buffer, balance and shaking and wagging are also realized based on the above MPC controller.
[0218] Thirdly, the operation of the terrain area perception module is described. The whole set of jumping actions can be realized with or without terrain perception. When the perception module is provided, the four landing piles are identified and positioned according to the information, i.e. p polesPerform online trajectory planning; if there is no perception module, the action trajectory can be predicted and determined based on offline planning, provided that there is prior knowledge about the terrain.
[0219] Since there is a flying stage in the middle, the actual flying time and flying trajectory will have a certain error compared with the planned reference trajectory, which leads to a difference between the actual landing time and the planned time. If the quadruped robot does not have the ability to sense the foot-end touchdown, it will not be able to switch to MPC force control in time, which will lead to problems such as foot-end collision rebound and sliding on the pile surface. In the embodiment of the present application, the foot-end contact force is calculated based on the joint torque, and then the sole force is used to determine whether the pile surface is in contact, thereby providing timely perception information for the control algorithm switching. The specific calculation formula is as follows:
[0220] f=J -T τ
[0221]
[0222] Among them, b contact Represents the foot contact state of Boolean type, f normal is the component of the plantar contact force in the normal direction of the contact surface, f threshold The judgment logic of the plantar force is as follows: if the component of the plantar contact force in the normal direction of the contact surface is greater than the given threshold, it is judged to be in contact state (b contact =1), otherwise it is determined to be in non-contact state (b contact =0).
[0223] Finally, the acquisition of the entire jumping action does not have a strong dependence on the accuracy of the state estimation. When the state estimation accuracy is good enough, the MPC control algorithm can be used to predict and determine the motion. In the absence of high-precision state estimation, the trend of the reference trajectory, that is, the increment of displacement and posture, can be used. The MPC optimization problem is constructed by adding it to the current state estimation result x0 (which is not very accurate), thereby avoiding the dependence on the accuracy of the state estimation and achieving the acquisition and determination of the action. The specific form is as follows:
[0224]
[0225] st
[0226] f min ≤f i ≤f max ,
[0227] |f i,x |≤μf i,z ,
[0228] It should be noted that the current jumping action can be a two-foot jump or a four-foot jump, although the four-foot jump will result in a smaller jump distance and height. For the take-off process of the four-foot jump, it can be divided into three stages of force storage, four-foot ground kicking, and flight. For the trajectory planning algorithm, in addition to nonlinear optimization, other simple methods such as heuristic, spline interpolation, etc. can also be used, although the optimality of the trajectory cannot be guaranteed, but similar actions can also be achieved. In addition to MPC, the motion prediction and determination can also be realized based on the QP controller.
[0229] By applying the embodiments of the present application, the whole set of jumping actions completed by the quadruped robot improves the dynamics, difficulty and watchability of the quadruped robot movement, expands the diversity of the quadruped robot movement, so that the quadruped robot can not only complete high-difficulty single-pole jump four-pole action display on flat ground, but also in scenes such as plum-blossom stakes and small stone piers, and can complete the prediction of the above actions under the condition of whether there is high-precision state estimation.
[0230] The following continues to illustrate an exemplary structure of the motion control device 555 of the legged robot provided by the embodiments of the present application as a software module. In some embodiments, as shown in FIG. 5, the software module stored in the motion control device 555 of the legged robot in the memory 550 can include: Figure 2
[0231] The receiving module 5551 is configured to receive a jumping instruction for the legged robot when each foot end of the legged robot stands in the same initial cell region and each foot end is retracted in the initial cell region. The legged robot includes at least two foot ends, and the jumping instruction is used to instruct the legged robot to jump from the initial cell region currently located to a target cell region independent of each other. The foot end and the target cell region have a one-to-one correspondence. In the initial cell region, the distance between any two foot ends of the legged robot is less than the standard distance between the corresponding two foot ends of the legged robot, and the standard distance is used to indicate the distance between any two foot ends of the legged robot in the standing posture on the plane region.
[0232] The control module 5552 is configured to control the legged robot to jump to each target cell region in response to the jumping instruction.
[0233] In some embodiments, the target cell region is located in front of the legged robot, and the control module is further configured to control the legged robot to jump forward to each target cell region through a take-off stage, a flight stage and a landing stage in response to the jumping instruction.
[0234] In some embodiments, the control module is further configured to control the quadruped robot to sequentially perform operations of foot end ground pushing and front foot end ground leaving during the take-off phase; perform an operation of rear foot end ground leaving during the flight phase; and sequentially perform operations of foot end landing, leg bending and body balancing during the landing phase.
[0235] In some embodiments, the control module is further configured to, during the process of the foot end ground pushing, control the quadruped robot to reduce an angle of a knee joint of a rear leg and increase an angle of a knee joint of a front leg, so that a rear upper leg is in a same straight line as a trunk, the trunk is raised at a target pitch angle, and a center of mass is moved upward and forward; during the process of the front foot end ground leaving, control the quadruped robot to reduce the angle of the knee joint of the front leg to a first target angle and increase the angle of the knee joint of the rear leg to a second target angle, so as to increase heights of the knee joints and the center of mass; wherein the height of the knee joint of the front leg is higher than the height of the center of mass, and the height of the knee joint of the rear leg is lower than the height of the center of mass; the first target angle is used to represent an angle of the knee joint of the front leg when the front upper leg is in the same straight line as the trunk; and the second target angle is used to represent an angle of the knee joint of the rear leg when a rear lower leg is perpendicular to a contact surface and the rear upper leg is in a straight line with the trunk.
[0236] In some embodiments, the quadruped robot is a quadruped robot, and the control module is further configured to, during the process of the rear foot end ground leaving, control each front leg of the quadruped robot to stretch towards a corresponding target unit region, and control each rear leg of the quadruped robot to first contract and then stretch towards a corresponding target unit region, so that each foot end of the quadruped robot can land on a corresponding target unit region.
[0237] In some embodiments, the control module is further configured to, during the process of the foot end landing, control each foot end of the quadruped robot to simultaneously contact a contact surface in a corresponding target unit region; during the process of the leg bending, control the quadruped robot to perform a leg bending action of bending and contracting each leg, and increase a torque of a leg joint, so as to reduce a speed of the quadruped robot; and during the process of the body balancing, control the quadruped robot to adjust a body posture, so as to move a center of mass of the quadruped robot to a range of a region formed by the target unit regions.
[0238] In some embodiments, the legged robot comprises a tail, and the control module is further configured to control the legged robot to continuously perform at least one of the following operations in the target cell region based on at least one degree of freedom: a head shaking action, a tail swinging action, wherein the degree of freedom comprises at least one of a roll, a pitch.
[0239] In some embodiments, the initial cell region is located at the center of each target cell region, and the control module is further configured to control the legged robot to jump upward and land in each target cell region via a take-off stage, a flight stage, and a landing stage in response to the jumping instruction.
[0240] In some embodiments, during the jumping process of jumping upward, the control module is further configured to control the legged robot to sequentially perform the following operations in the take-off stage: squatting to accumulate power and starting to fly; in the flight stage, the legged robot performs the operation of stretching the legs in the air; and in the landing stage, the legged robot sequentially performs the following operations: landing of the foot end, bending of the leg, and body balance.
[0241] In some embodiments, the control module is further configured to control the legged robot to bend the legs to lower the center of mass of the legged robot from an initial height to a take-off height during the process of accumulating power by squatting, to perform a bounce upward to increase the height of the knee joint and the height of the center of mass during the process of starting to fly, and to extend each leg of the legged robot outward and downward below the corresponding hip joint during the process of stretching the legs in the air.
[0242] In some embodiments, the legged robot is a quadruped robot, and the control module is further configured to control the legged robot to jump to the target cell region in a quadruped jumping manner in response to the jumping instruction, wherein the jumping process comprises a power accumulation stage, a quadruped ground-pushing stage, a flight stage, and a landing stage.
[0243] In some embodiments, the cell region and the target cell region are both end surface regions of a single stake in a plum-blossom stake, and the shape and size of the cell region and the target cell region are the same.
[0244] In some embodiments, the control module is further configured to predict a jumping trajectory of the legged robot to obtain a reference jumping trajectory, obtain a constraint condition corresponding to the jumping instruction, the constraint condition being configured to constrain the jumping of the legged robot, and determine a state parameter of at least two key points of the reference jumping trajectory based on the reference jumping trajectory and the constraint condition. Correspondingly, the control module is further configured to control the legged robot to jump to each of the target unit regions based on the state parameter of each of the key points in response to the jumping instruction.
[0245] In some embodiments, the control module is further configured to obtain at least two key points in the reference jumping trajectory, wherein the key points include at least one of a starting point of the reference jumping trajectory, a vertex of the reference jumping trajectory, and an ending point of the reference jumping trajectory.
[0246] The embodiment of the present application provides a computer program product or a computer program, which comprises computer instructions stored in a computer readable storage medium. A processor of a 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 legged robot provided in the embodiment of the present application.
[0247] The embodiment of the present application provides a computer readable storage medium storing executable instructions, wherein the executable instructions are stored in the computer readable storage medium. When the executable instructions are executed by a processor, the processor will execute the motion control method of the legged robot provided in the embodiment of the present application, for example, as shown in the motion control method of the legged robot. Figures 3A-3B The embodiment of the present application provides a computer readable storage medium storing executable instructions, wherein the executable instructions are stored in the computer readable storage medium. When the executable instructions are executed by a processor, the processor will execute the motion control method of the legged robot provided in the embodiment of the present application, for example, as shown in the motion control method of the legged robot.
[0248] In some embodiments, the computer readable storage medium can be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface memory, optical disc, or CD-ROM, etc.; or can be various devices including one or any combination of the above memories.
[0249] In some embodiments, the executable instructions can be in the form of a program, software, software module, script or code, written in any form of programming language (including a compiled or interpreted language, or a declarative or procedural language), and can be deployed in any form, including being deployed as a standalone program or as a module, component, subroutine or other unit suitable for use in a computing environment.
[0250] By way of example, executable instructions can correspond to a file in a file system, can be stored in a portion of a file that holds other programs or data, e.g., one or more scripts stored in a markup language document, in a single file dedicated to the program in question, or in multiple coordinated files, e.g., files that store one or more modules, sub programs, or portions of code.
[0251] By way of example, executable instructions can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
[0252] In summary, the embodiment of the present application improves the dynamicity, difficulty and ornamental of the quadruped robot movement, expands the diversity of the quadruped robot movement, so that the quadruped robot can not only move on the flat ground, but also complete high-difficulty action display in scenes such as plum-blossom stake and small stone pier.
[0253] The above merely provides an example of the embodiment of the present application, and is not used to limit the protection scope of the present application. Any modification, equivalent replacement and improvement within the spirit and scope of the present application are included in the protection scope of the present application.
Claims
1. A motion control method for a legged robot, characterized in that: The legged robot includes at least two foot ends, and the method includes: When the foot ends of the legged robot are positioned within the same initial unit area and the foot ends are retracted within the initial unit area, a jump instruction for the legged robot is received; The jump instruction is used to instruct the legged robot to jump from the current initial unit area to an independent target unit area. There is a one-to-one correspondence between the foot end and the target unit area. Both the unit area and the target unit area are end surface areas of a single pile in a plum blossom pile. The unit area and the target unit area have the same shape and size. The distance between any two foot ends of the legged robot when it is in the target unit area is greater than the distance between the corresponding two foot ends of the legged robot when it is in the initial unit area; In response to the jump instruction, controlling the legged robot to jump to each of the target unit areas includes: Predicting a jumping trajectory of the legged robot to obtain a reference jumping trajectory; obtaining constraints corresponding to the jumping instruction, wherein the constraints are used to constrain the jumping of the legged robot; determining state parameters of at least two key points of the reference jumping trajectory based on the reference jumping trajectory and the constraints; and controlling the legged robot to jump to each of the target unit areas in response to the jumping instruction based on the state parameters of each of the key points; Alternatively, when the target unit area is located in front of the legged robot, in response to the jumping instruction, the legged robot is controlled to jump forward to each target unit area through the take-off stage, the flight stage and the landing stage; wherein, in the take-off stage, the legged robot sequentially performs the operations of pushing off the ground with the foot end and lifting off the ground with the front foot end; in the flight stage, the legged robot performs the operations of lifting off the ground with the rear foot end; in the landing stage, the legged robot sequentially performs the operations of landing on the ground with the foot end, bending the leg for buffering and balancing the body; in the process of the legged robot pushing off the ground with the foot end, the legged robot reduces the joint angle of the knee joint of the hind leg and increases the joint angle of the knee joint of the front leg, so that the rear thigh and the trunk are in the same straight line and the trunk is tilted at the target The elevation angle is raised and the center of mass moves forward and upward; in the process of the legged robot lifting the front foot end off the ground, the legged robot reduces the joint angle of the knee joint of the front leg of the legged robot to a first target angle, and increases the joint angle of the knee joint of the hind leg to a second target angle, so as to increase the height of each knee joint and the height of the center of mass; wherein the height of the knee joint of the front leg is higher than the height of the center of mass, and the height of the knee joint of the hind leg is lower than the height of the center of mass; the first target angle is used to represent the angle of the knee joint of the front leg when the front thigh of the legged robot is in the same straight line with the torso; the second target angle is used to represent the angle of the knee joint of the hind leg when the hind calf of the legged robot is perpendicular to the contact surface and the hind thigh is in a straight line with the torso; Alternatively, when the initial unit area is located at the center of each of the target unit areas, in response to the jump instruction, the legged robot is controlled to jump upward through a take-off phase, a soaring phase, and a landing phase to land in each of the target unit areas; in the take-off phase, the legged robot sequentially performs the operations of squatting to accumulate power and starting to soar; in the soaring phase, the legged robot performs the operations of extending the feet and legs in the air; in the landing phase, the legged robot sequentially performs the operations of landing at the foot end, bending the legs for cushioning, and balancing the body; during the squatting and power accumulation process of the legged robot, the legs of the legged robot are bent to lower the center of mass of the legged robot from the initial height to the take-off height; during the starting to soar, the legged robot bounces upward to increase the height of the knee joint and the height of the center of mass, the height of the center of mass being higher than the initial height; during the extending the feet and legs in the air, each leg of the legged robot drives the corresponding foot end to extend outward and downward to below the corresponding hip joint; When the legged robot includes a tail, after controlling the legged robot to jump to each of the target unit areas, the legged robot is controlled to continuously perform at least one of the following operations within the target unit area based on at least one degree of freedom: shaking head and tail; wherein the degree of freedom includes at least one of rolling and pitching.
2. The method according to claim 1, wherein When the legged robot jumps into the air of each target unit area, the legged robot controls each front leg to extend toward the corresponding target unit area, and controls each hind leg to first contract and then extend toward the corresponding target unit area, so that each foot end of the legged robot can land on the corresponding target unit area.
3. The method according to claim 1, wherein During the process of the foot-end landing of the legged robot, the legged robot controls each foot end to contact the contact surface within the corresponding target unit area at the same time; During the leg-bending buffering process, the leg-bending robot performs a leg-bending action in which each leg is bent and contracted, and increases the torque of the leg joints to reduce the speed of the leg-bending robot. During the process of the legged robot performing the body balancing, the legged robot adjusts its body posture to move the center of mass of the legged robot to within the area formed by each of the target unit areas.
4. The method according to claim 1, wherein The legged robot is a quadruped robot, and in response to the jump instruction, controlling the legged robot to jump to each of the target unit areas includes: In response to the jump instruction, controlling the legged robot to jump to the target unit area in a quadrupedal jump manner; The jumping process includes: the power accumulation stage, the four-legged pushing off the ground stage, the flying stage and the landing stage.
5. The method according to claim 1, wherein Before determining the state parameters of at least two key points of the reference jump trajectory based on the reference jump trajectory and the constraint conditions, the method further includes: Obtaining at least two key points in the reference jump trajectory; The key points include at least one of the following: The starting point of the reference jump trajectory, the vertex of the reference jump trajectory, and the ending point of the reference jump trajectory.
6. A motion control device for a legged robot, characterized in that: The device comprises: a receiving module, configured to receive a jump instruction for the legged robot when the respective foot ends of the legged robot are standing in the same initial unit area and the foot ends are retracted into the initial unit area; The legged robot includes at least two foot ends, and the jump instruction is used to instruct the legged robot to jump from the current initial unit area to a mutually independent target unit area. There is a one-to-one correspondence between the foot ends and the target unit areas. The unit area and the target unit area are both end surface areas of a single pile in a plum blossom pile. The unit area and the target unit area have the same shape and size. In the initial unit area, the distance between any two foot ends of the legged robot is less than the standard distance between the corresponding two foot ends of the legged robot. The standard distance is used to indicate the distance between any two foot ends of the legged robot when the legged robot is in a standing posture in a plane area. A control module, configured to control the legged robot to jump to each of the target unit areas in response to the jump instruction, comprising: predicting a jumping trajectory of the legged robot to obtain a reference jumping trajectory; obtaining constraint conditions corresponding to the jump instruction, wherein the constraint conditions are used to constrain the jumping of the legged robot; determining state parameters of at least two key points of the reference jumping trajectory based on the reference jumping trajectory and the constraint conditions; and controlling the legged robot to jump to each of the target unit areas in response to the jump instruction based on the state parameters of each of the key points; Alternatively, when the target unit area is located in front of the legged robot, the control module is further used to respond to the jumping instruction and control the legged robot to jump forward to each target unit area through the take-off stage, the flight stage and the landing stage; in the take-off stage, the legged robot sequentially performs the operations of pushing off the ground with the foot end and lifting off the ground with the front foot end; in the flight stage, the legged robot performs the operations of lifting off the ground with the rear foot end; in the landing stage, the legged robot sequentially performs the operations of landing on the ground with the foot end, bending the legs for buffering and balancing the body; in the process of the legged robot pushing off the ground with the foot end, the legged robot reduces the joint angle of the knee joint of the hind leg and increases the joint angle of the knee joint of the front leg, so that the rear thigh and the torso are in the same straight line and the torso is in the same straight line. The target pitch angle is raised and the center of mass moves forward and upward; when the footed robot lifts off the ground with its front foot, the footed robot reduces the joint angle of the knee joint of the front leg to a first target angle and increases the joint angle of the knee joint of the hind leg to a second target angle, so as to increase the height of each knee joint and the height of the center of mass; wherein the height of the knee joint of the front leg is higher than the height of the center of mass, and the height of the knee joint of the hind leg is lower than the height of the center of mass; the first target angle is used to represent the angle of the knee joint of the front leg when the front thigh and the torso of the footed robot are in the same straight line; the second target angle is used to represent the angle of the knee joint of the hind leg when the hind calf of the footed robot is perpendicular to the contact surface and the hind thigh and the torso are in a straight line; Alternatively, when the initial unit area is located at the center of each of the target unit areas, the control module is configured to, in response to the jump instruction, control the legged robot to jump upward through a take-off phase, a soaring phase, and a landing phase to land in each of the target unit areas; in the take-off phase, the legged robot sequentially performs the operations of squatting to accumulate power and starting to soar; in the soaring phase, the legged robot performs the operations of extending the feet and legs in the air; in the landing phase, the legged robot sequentially performs the operations of landing at the foot end, bending the legs for cushioning, and balancing the body; during the squatting and power accumulation process of the legged robot, the legs of the legged robot bend to lower the center of mass of the legged robot from the initial height to the take-off height; during the starting to soar, the legged robot bounces upward to increase the height of the knee joint and the height of the center of mass, the height of the center of mass being higher than the initial height; during the extending the feet and legs in the air, each leg of the legged robot drives the corresponding foot end to extend outward and downward to below the corresponding hip joint; When the legged robot includes a tail, the control module is used to control the legged robot to continuously perform at least one of the following operations within the target unit area based on at least one degree of freedom after controlling the legged robot to jump to each target unit area: shaking head and tail; wherein the degree of freedom includes at least one of rolling and pitching.
7. The device according to claim 6, characterized in that The control module is also used to control each front leg of the legged robot to extend toward the corresponding target unit area when the legged robot jumps into the air of each target unit area, and to control each hind leg to first contract and then extend toward the corresponding target unit area, so that each foot end of the legged robot can land on the corresponding target unit area.
8. The device according to claim 6, wherein The control module is also used to control each foot end of the leg robot to contact the contact surface within the corresponding target unit area at the same time during the process of the leg robot landing the foot end; during the process of the leg robot performing the leg bending buffering, the leg robot performs the leg bending action of bending and contracting each leg, and increases the torque of the leg joints to reduce the speed of the leg robot; during the process of the leg robot performing the body balancing, the leg robot adjusts the body posture to move the center of mass of the leg robot to the area composed of each target unit area.
9. The device according to claim 6, wherein The legged robot is a quadruped robot, and the control module is further used to control the legged robot to jump to the target unit area in a quadruped jumping manner in response to the jumping instruction; wherein the jumping process includes: a power accumulation stage, a quadruped pushing stage, a take-off stage and a landing stage.
10. The device according to claim 6, wherein The control module is further configured to obtain at least two key points in the reference jump trajectory before determining the state parameters of the at least two key points in the reference jump trajectory based on the reference jump trajectory and the constraint condition; wherein the key points include at least one of the following: The starting point of the reference jump trajectory, the vertex of the reference jump trajectory, and the ending point of the reference jump trajectory.
11. A legged robot, characterized in that: The foot-type robot comprises: A robot body having at least two foot ends; A controller is provided on the robot body and is used to execute the motion control method of the legged robot according to any one of claims 1 to 5.
12. A computer-readable storage medium storing executable instructions, characterized in that: When the executable instructions are executed by the processor, the motion control method of the legged robot according to any one of claims 1 to 5 is implemented.
13. A computer program product comprising computer executable instructions, characterized in that: When the computer executable instructions are executed by a processor, the motion control method of the legged robot according to any one of claims 1 to 5 is implemented.
Citation Information
Patent Citations
Obstacle-jumping system for quadruped robot
CN108860360A