WO2025195136A1 - 机器人的控制方法、装置、设备及存储介质 - Google Patents

机器人的控制方法、装置、设备及存储介质

Info

Publication number
WO2025195136A1
WO2025195136A1 PCT/CN2025/079604 CN2025079604W WO2025195136A1 WO 2025195136 A1 WO2025195136 A1 WO 2025195136A1 CN 2025079604 W CN2025079604 W CN 2025079604W WO 2025195136 A1 WO2025195136 A1 WO 2025195136A1
Authority
WO
WIPO (PCT)
Prior art keywords
mechanical
robot
leg group
mechanical leg
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/CN2025/079604
Other languages
English (en)
French (fr)
Inventor
王帅
迟万超
郑宇�
黎雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology (Shenzhen) Co Ltd
Original Assignee
Tencent Technology (Shenzhen) Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology (Shenzhen) Co Ltd filed Critical Tencent Technology (Shenzhen) Co Ltd
Publication of WO2025195136A1 publication Critical patent/WO2025195136A1/zh
Anticipated expiration legal-status Critical
Pending legal-status Critical Current

Links

Classifications

    • B—PERFORMING OPERATIONS; TRANSPORTING
    • B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62D—MOTOR VEHICLES; TRAILERS
    • B62D57/00—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
    • B62D57/02—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
    • B62D57/032—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
    • B—PERFORMING OPERATIONS; TRANSPORTING
    • B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62D—MOTOR VEHICLES; TRAILERS
    • B62D57/00—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
    • B62D57/02—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
    • B62D57/028—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members having wheels and mechanical legs
    • G—PHYSICS
    • G05—CONTROLLING; REGULATING
    • G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00—Program-control systems
    • G05B19/02—Program-control systems electric
    • G05B19/04—Program control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042—Program control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G—PHYSICS
    • G05—CONTROLLING; REGULATING
    • G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00—Program-control systems
    • G05B19/02—Program-control systems electric
    • G05B19/04—Program control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042—Program control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423—Input/output
    • G—PHYSICS
    • G05—CONTROLLING; REGULATING
    • G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00—Program-control systems
    • G05B2219/20—Pc systems
    • G05B2219/25—Pc structure of the system
    • G05B2219/25257—Microcontroller

Definitions

  • the embodiments of the present application relate to the field of artificial intelligence technology, and in particular to a robot control method, device, equipment, and storage medium.
  • wheel-legged robots with mechanical wheels as feet. These wheel-legged robots can not only rely on mechanical wheels to slide quickly, but also rely on mechanical wheels to walk, climb stairs, and overcome obstacles.
  • related technologies can control the alternating swinging of the robot's two sets of mechanical legs to perform tasks such as gait walking on a support surface, climbing stairs, and overcoming obstacles.
  • related technologies rely solely on the contact between the mechanical legs and the support surface. For example, during the swinging of the mechanical legs, the robot is kept standing by only two contact points between one set of mechanical legs and the support surface (i.e., the contact points between the mechanical legs and the support surface). This can easily lead to unstable standing of the robot, and thus unstable movement of the robot.
  • the embodiments of the present application provide a robot control method, device, equipment, and storage medium.
  • the technical solutions provided by the embodiments of the present application include the following contents.
  • a method for controlling a robot is provided, the method being executed by a computer device, wherein the robot includes a body, a first mechanical leg group and a second mechanical leg group connected to the body via a hip joint, at least one of the first mechanical leg group and the second mechanical leg group includes at least two mechanical legs, at least one of the mechanical legs having a foot remote from the hip joint provided with a mechanical wheel and a mechanical foot, the rotation axis of the hip joint corresponding to the first mechanical leg group and the rotation axis of the hip joint corresponding to the second mechanical leg group being located in the same vertical plane, and during movement of the robot, the mechanical leg group used for swinging is the swinging mechanical leg group, and the mechanical leg group used for standing is the supporting mechanical leg group; the method comprising:
  • the robot stands on the support surface through the mechanical wheels and mechanical feet of the supporting mechanical leg group, rotates the hip joints corresponding to the swinging mechanical leg group so that the swinging mechanical leg group swings in the first direction, and adjusts the lengths of the mechanical legs in the swinging mechanical leg group and the rotation angles of the mechanical feet in the swinging mechanical leg group, so that the robot enters the second state from the first state, wherein in the first state and the second state, the mechanical wheels and mechanical feet on each foot of the robot are in contact with the support surface, in the first state, the supporting mechanical leg group is located in front of the swinging mechanical leg group under the first direction constraint, and in the second state, the supporting mechanical leg group is located behind the swinging mechanical leg group under the first direction constraint;
  • the robot in the swing period moves toward the first direction on the supporting surface.
  • a control device for a robot wherein the robot includes a body, a first mechanical leg group and a second mechanical leg group connected to the body via a hip joint, at least one of the first mechanical leg group and the second mechanical leg group includes at least two mechanical legs, and at least one of the mechanical legs is provided with a mechanical wheel and a mechanical foot at a foot away from the hip joint, the rotation axis of the hip joint corresponding to the first mechanical leg group and the rotation axis of the hip joint corresponding to the second mechanical leg group are located in the same vertical plane, and during movement of the robot, the mechanical leg group used for swinging is the swinging mechanical leg group, and the mechanical leg group used for standing is the supporting mechanical leg group; the device includes:
  • a second state switching module configured to, in each swing cycle, stand on a support surface via the mechanical wheels and mechanical feet of the supporting mechanical leg group, rotate the hip joints corresponding to the swinging mechanical leg group so that the swinging mechanical leg group swings in a first direction, and adjust the lengths of the mechanical legs of the swinging mechanical leg group and the rotation angles of the mechanical feet of the swinging mechanical leg group, so that the robot enters a second state from a first state, wherein in the first state and the second state, the mechanical wheels and mechanical feet on each foot of the robot are in contact with the support surface, in the first state, the supporting mechanical leg group is located in front of the swinging mechanical leg group under the first direction constraint, and in the second state, the supporting mechanical leg group is located behind the swinging mechanical leg group under the first direction constraint;
  • a third state switching module configured to control the extension of each mechanical leg in the supporting mechanical leg group and the shortening of each mechanical leg in the swinging mechanical leg group, so that the robot enters a third state from the second state, wherein in the third state, the body of the robot is located in a corresponding area above the swinging mechanical leg group;
  • the first state switching module is used to interchange the functions of the supporting mechanical leg group and the swinging mechanical leg group, so that the robot enters the first state from the third state; wherein, the robot in the swinging cycle moves in the first direction on the supporting surface.
  • a chip in which a computer program is stored.
  • the computer program is loaded and executed by a processor to implement the above-mentioned robot control method.
  • a computer device comprising a processor and a memory, wherein a computer program is stored in the memory, and the computer program is loaded and executed by the processor to implement the above-mentioned robot control method.
  • a computer-readable storage medium in which a computer program is stored.
  • the computer program is loaded and executed by a processor to implement the above-mentioned robot control method.
  • the mechanical feet of the feet assist the mechanical wheels to enable the robot to remain standing on the support surface, so that the feet can maintain the robot standing with no less than two contact points (such as the contact points between the mechanical feet and the mechanical wheels and the support surface respectively).
  • the robot can stand more stably on the support surface and is less likely to fall, thereby effectively improving the robot's movement stability.
  • FIG1 is a schematic diagram of an implementation environment of a solution provided by an embodiment of the present application.
  • FIG3 is a schematic diagram of a foot-wheel hybrid robot climbing stairs provided by one embodiment of the present application.
  • FIG4 is a schematic diagram of a wheeled-foot hybrid robot crossing a road shoulder according to an embodiment of the present application
  • FIG5 is a schematic diagram of a foot-wheel hybrid robot crossing a pit provided by one embodiment of the present application.
  • FIG6 is a schematic diagram of a robot control method provided by one embodiment of the present application.
  • FIG7 is a schematic diagram of a method for controlling a robot within a swing cycle provided by one embodiment of the present application.
  • FIG8 is a schematic diagram of a method for controlling a robot within a swing cycle provided by another embodiment of the present application.
  • FIG9 is a schematic diagram of a method for controlling a robot in a pre-motion period according to an embodiment of the present application.
  • FIG10 is a schematic diagram of a method for controlling a robot during a finishing motion cycle according to an embodiment of the present application
  • FIG11 is a schematic diagram of a control method for a quadrupedal-foot-wheel hybrid robot provided by one embodiment of the present application.
  • FIG12 is a schematic diagram of a robot control method provided by another embodiment of the present application.
  • FIG13 is a schematic diagram of a desired operation space task provided by one embodiment of the present application.
  • FIG14 is a schematic diagram of an inverted pendulum model of a robot provided in one embodiment of the present application.
  • FIG15 is a simplified diagram of a quadrupedal hybrid robot according to an embodiment of the present application.
  • FIG16 is a schematic diagram of simulated flat-ground stepping motion data of a quadrupedal-wheel hybrid robot provided by one embodiment of the present application.
  • FIG17 is a block diagram of a control device of a robot provided by one embodiment of the present application.
  • FIG18 is a block diagram of a robot control device provided by another embodiment of the present application.
  • FIG19 is a simplified structural block diagram of a computer device provided in one embodiment of the present application.
  • AI Artificial Intelligence
  • digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, to perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results.
  • AI is a comprehensive technology within computer science that seeks to understand the essence of intelligence and produce new intelligent machines that can respond in a manner similar to human intelligence.
  • AI also involves studying the design principles and implementation methods of various intelligent machines, enabling them to possess the capabilities of perception, reasoning, and decision-making.
  • AI technology is a comprehensive discipline encompassing a wide range of fields, encompassing both hardware and software technologies.
  • Foundational AI technologies generally include sensors, specialized AI chips, cloud computing, distributed storage, big data processing, pre-trained models, operating/interaction systems, and mechatronics.
  • Pre-trained models also known as large models or basic models, can be fine-tuned and widely applied to downstream tasks across various AI disciplines.
  • AI software technologies primarily encompass computer vision, speech processing, natural language processing, and machine learning/deep learning.
  • artificial intelligence technology has been studied and applied in many fields, such as common smart homes, smart wearable devices, virtual assistants, smart speakers, smart marketing, unmanned driving, autonomous driving, drones, digital twins, virtual humans, robots, artificial intelligence generated content (AIGC, Artificial Intelligence Generated Content), conversational interaction, smart medical care, smart customer service, game AI, etc. It is believed that with the development of technology, artificial intelligence technology will be applied in more fields and play an increasingly important role.
  • AIGC Artificial Intelligence Generated Content
  • a robot is a mechanical and electronic device that can imitate certain human skills by combining mechanical transmission and modern microelectronics technology.
  • Robots are developed on the basis of electronic, mechanical and information technologies.
  • a robot does not necessarily have to look like a human. As long as it can independently complete the tasks and commands assigned to it by humans, it belongs to the robot family.
  • a robot is an automated machine that has some intelligent capabilities similar to those of humans or biological organisms, such as perception, planning, movement and coordination capabilities. It is an automated machine with high flexibility.
  • robots have been greatly improved in terms of function and technical level. Mobile robots and robot vision and touch technologies are typical representatives.
  • the execution entity of each step may be a computer device, which may refer to an electronic device with data calculation, processing and storage capabilities.
  • the computer device can be a personal computer (PC) device such as a desktop computer or laptop computer used to control the robot; or it can be a server used to control the robot.
  • the server can be a standalone physical server, a server cluster or distributed system consisting of multiple physical servers, or a cloud server providing cloud computing services.
  • the computer device and the robot can be connected via physical lines, a network, or the like.
  • the computer device 101 can determine the expected operation space task of the robot 103 based on the reference movement trajectory of the robot 103, such as the expected operation space task can include the expected acceleration of each part of the robot 103 in the operation space of the robot 103, and then calculate the expected joint torque set corresponding to the robot 103 based on the expected operation space task, and control the movement of the robot 103 (such as the various joint motors of the robot 103) through the network 102 according to the expected joint torque set.
  • the expected operation space task can include the expected acceleration of each part of the robot 103 in the operation space of the robot 103, and then calculate the expected joint torque set corresponding to the robot 103 based on the expected operation space task, and control the movement of the robot 103 (such as the various joint motors of the robot 103) through the network 102 according to the expected joint torque set.
  • the computer device 101 can control the first mechanical leg group 104 and the second mechanical leg group 105 of the robot 103 to swing alternately according to the expected joint torque set corresponding to the expected operation space task of the robot 103, so that the robot 103 moves on the support surface according to the reference movement trajectory corresponding to the expected operation space task.
  • the above-mentioned reference movement trajectory is a trajectory planned for the movement of the robot, such as it can be planned based on the movement trajectory of the robot on the support surface.
  • the above-mentioned computer device can also be the robot itself, that is, the execution subject of each step in the technical solution provided in the embodiment of the present application is a robot.
  • the computer device 101 can send the expected operating space task (or reference movement trajectory) of the robot 103 to the robot 103 through the network 102, and the robot 103 calculates the corresponding expected joint torque set according to the expected operating space task (or reference movement trajectory), and then moves according to the expected joint torque set.
  • the robot 103 can also automatically plan the reference movement trajectory according to the real environment, and calculate the expected operating space task corresponding to the reference movement trajectory to perform different tasks in the real environment.
  • the embodiment of the present application is not limited to this.
  • the robot in the embodiments of this application may be a wheeled-foot hybrid robot.
  • a wheeled-foot hybrid robot may be a legged robot with mechanical wheels and mechanical feet on its feet.
  • the legged robot is a robot that moves based on mechanical legs.
  • the wheeled-foot hybrid robot can perform tasks such as gliding, gaiting, climbing stairs, and navigating obstacles using only mechanical wheels, or it can perform gaiting, climbing stairs, and navigating obstacles using mechanical feet as an aid to mechanical wheels. This is not limited in the embodiments of this application.
  • the robot in the embodiments of the present application may include a body, a first mechanical leg group and a second mechanical leg group connected to the body via a hip joint, wherein at least one of the first mechanical leg group and the second mechanical leg group includes at least two mechanical legs.
  • the first mechanical leg group includes at least two mechanical legs
  • the second mechanical leg group may also include at least two mechanical legs. At least two mechanical legs in the first mechanical leg group are respectively located on either side of the robot's central axis (i.e., the sagittal plane), and at least two mechanical legs in the second mechanical leg group are also respectively located on either side of the robot's central axis.
  • the robot's mechanical legs are arranged side by side, that is, the rotation axis of the hip joint corresponding to the first mechanical leg group and the rotation axis of the hip joint corresponding to the second mechanical leg group are located in the same vertical plane.
  • the first mechanical leg group is an outer mechanical leg group
  • the first mechanical leg group includes at least two mechanical legs, and the at least two mechanical legs can be evenly arranged on both sides of the second mechanical leg group.
  • the mechanical legs in the first mechanical leg group and the mechanical legs in the second mechanical leg group are arranged side by side.
  • the second mechanical leg group can be referred to as an inner mechanical leg group; when the second mechanical leg group is an outer mechanical leg group, the second mechanical leg group includes at least two mechanical legs, and the at least two mechanical legs can be evenly arranged on both sides of the first mechanical leg group.
  • This embodiment of the present application is not limited to this.
  • all the mechanical legs of the above-mentioned robot are provided with a pair of coaxial mechanical wheels and mechanical feet; or, some of the mechanical legs of the above-mentioned robot are provided with a pair of coaxial mechanical wheels and mechanical feet, which is not limited in the embodiment of the present application.
  • each mechanical leg corresponding to the quadruped-foot-wheel hybrid robot can be provided with a pair of coaxial mechanical wheels and mechanical feet; or, for the two mechanical leg groups corresponding to the quadruped-foot-wheel hybrid robot, each mechanical leg in one and only one mechanical leg group is provided with a pair of coaxial mechanical wheels and mechanical feet; or, for the two mechanical leg groups corresponding to the quadruped-foot-wheel hybrid robot, each mechanical leg group has a mechanical leg corresponding to a pair of coaxial mechanical wheels and mechanical feet; or, for each mechanical leg corresponding to the quadruped-foot-wheel hybrid robot, one and only one mechanical leg is provided with a pair of coaxial mechanical wheels and mechanical feet.
  • the embodiments of the present application do not limit this.
  • each mechanical wheel can be driven independently, and each mechanical foot can rotate independently.
  • the mechanical foot can be placed on the left side of the mechanical wheel, or on the right side of the mechanical wheel.
  • the mechanical wheel can also be placed in a hollowed-out area at the root of the mechanical foot in a hollowed-out style. The position between the mechanical foot and the mechanical wheel is not limited in this embodiment of the application.
  • the aforementioned mechanical feet can be used to assist the mechanical wheels to enable the robot to stand more stably on the support surface.
  • the mechanical feet can be rotated to coincide with the mechanical legs, or can be rotated to be perpendicular to the mechanical legs, or can be rotated to any angle that does not affect the contact between the mechanical wheels and the support surface. This embodiment of the present application is not limited to this.
  • the mechanical feet can be rotated to contact the support surface to jointly support the robot standing on the support surface with the mechanical wheels.
  • the mechanical foot coaxial with the mechanical wheel can be used to assist the mechanical wheel to support the robot to stand; or, when a pair of coaxial mechanical wheels and mechanical feet are provided on each mechanical leg in only one mechanical leg group, if the mechanical leg group without mechanical feet is used for support, the robot can only rely on the mechanical wheels corresponding to the mechanical leg group to support the robot to stand; if the mechanical leg group with mechanical feet is used for support, the robot can rely on the mechanical wheels and mechanical feet corresponding to the mechanical leg group to support the robot to stand; or, when a pair of coaxial mechanical wheels and mechanical feet are provided on one and only mechanical leg, if the mechanical leg group without mechanical feet is used for support, the robot can only rely on the mechanical wheels corresponding to the mechanical leg group to support the robot to stand; if
  • each foot of the robot being provided with a pair of coaxial mechanical wheels and mechanical feet to illustrate the technical solution provided in the embodiment of the present application.
  • the robot's body is provided with a corresponding pitch joint, which can be used to control the body's rotation.
  • a pitch joint which can be used to control the body's rotation.
  • the robot's hip joint can be used to rotate the robot's mechanical legs.
  • the robot's mechanical legs can be controlled to rotate.
  • Each of the robot's mechanical legs can be independently extended and retracted.
  • the quadrupedal, wheeled hybrid robot 200 may include: a body, hip joints, and mechanical legs.
  • the quadrupedal, wheeled, and foot-hybrid robot 200 has four mechanical legs: two outer mechanical legs 201 and two inner mechanical legs 202.
  • the two inner mechanical legs 202 are located between the two outer mechanical legs 201. All four mechanical legs can be independently extended and retracted in the directions shown in Figure 2 (double-headed arrows).
  • the four mechanical legs can be symmetrically distributed on both sides of the sagittal plane 206, and the four mechanical legs are arranged side by side.
  • the two outer mechanical legs 201 can form a first mechanical leg group (also referred to as an outer mechanical leg group), and the two inner mechanical legs 202 can form a second mechanical leg group (also referred to as an inner mechanical leg group).
  • Each of the four robotic legs is equipped with a pair of coaxial mechanical wheels 203 and mechanical feet 204. That is, the rotation axes corresponding to the mechanical wheels 203 and the mechanical feet 204 are located on the same straight line, and the mechanical feet 204 are installed on the outside of the mechanical wheels 203.
  • Each mechanical wheel 203 can be driven independently, and each mechanical foot 204 can also be driven independently.
  • the quadruped-wheel hybrid robot 200 can stand on the two inner mechanical legs 202 or the two outer mechanical legs 201 to be in a two-legged standing state; the quadruped-wheel hybrid robot 200 can also stand on the two inner mechanical legs 202 and the two outer mechanical legs 201 at the same time to be in a four-legged standing state, which is not limited in the embodiments of the present application.
  • the two inner mechanical legs 202 may be implemented as a whole, that is, the quadrupedal-wheeled hybrid robot 200 may be implemented as a tripedal-wheeled hybrid robot having only one inner mechanical leg.
  • Each mechanical leg is connected to a hip joint 211 at the other end away from the foot.
  • Each mechanical leg can rotate around its own hip joint 211 and maintain linkage.
  • the rotation axes of the hip joints 204 corresponding to the quadrupedal-wheeled hybrid robot 200 are located in the same vertical plane 205, and the rotation planes of the mechanical legs corresponding to the quadrupedal-wheeled hybrid robot 200 are parallel.
  • the hip joints 211 corresponding to the two inner mechanical legs 202 are located between the hip joints 211 corresponding to the two outer mechanical legs 201.
  • the four hip joints 211 are symmetrically distributed on both sides of the sagittal plane 206.
  • the hip joints 211 corresponding to the quadruped-wheeled hybrid robot 200 may be coaxial, i.e., the rotation axes of the hip joints 211 are located on the same straight line.
  • the hip joints 211 corresponding to the quadruped-wheeled hybrid robot 200 may also be coaxial, such as the hip joints 211 corresponding to the two inner mechanical legs 202 and the hip joints 211 corresponding to the two outer mechanical legs 201, but the hip joints 211 corresponding to the two inner mechanical legs 202 are not coaxial with the hip joints 211 corresponding to the two outer mechanical legs 201.
  • each hip joint 211 corresponding to the quadrupedal-wheel hybrid robot 200 can also be independently driven by its own corresponding drive motor, which is not limited in this embodiment of the present application.
  • the body of the quadruped-wheel hybrid robot 200 may include a waist 207 , a torso 208 , a head 209 and upper limbs 210 .
  • the corresponding hip joints 211 of the quadruped-wheel hybrid robot 200 are connected to the same end of the waist 207, and the other end of the waist 207 is connected to one end of the torso 208.
  • the waist 207 has two rotation axes: a pitch rotation axis that allows the torso 208 to pitch (which can be provided with a corresponding pitch joint), and a roll rotation axis that allows the torso 208 to swing (which can be provided with a corresponding roll joint).
  • the roll joint is designed in series with the pitch joint and is located at the upper end of the pitch joint and connected to the torso 208.
  • Rotating the body in this embodiment of the application may refer to the process of rotating the pitch joint about the pitch rotation axis to rotate (pitch) the torso 208.
  • the torso 208 can be rotated by rotating the roll joint about the roll rotation axis, such as by rotating left and right about the roll rotation axis to complete the torso 208's roll (turn).
  • the roll rotation axis can be parallel to the direction of gravity, and the pitch rotation axis can be horizontal.
  • the other end of the torso 208 is connected to the head 209 and the upper limb 210.
  • the upper limb 210 can be a multi-degree-of-freedom upper limb, such as a multi-degree-of-freedom robotic arm.
  • an end effector such as a robotic gripper or suction cup, is deployed on the upper limb 210.
  • Data acquisition equipment such as image acquisition equipment, video capture equipment, and an IMU (Inertial Measurement Unit) can be deployed in the head 209 to perceive the real environment.
  • the IMU can also be placed at the geometric center of the torso 208, the center point of the hip joint, etc., and can be used to measure the actual acceleration, actual attitude angular velocity, actual Euler angle, etc. of the torso 208.
  • a workstation can also be deployed in the quadruped-wheel hybrid robot 200 to control the movement of various parts of the robot.
  • the workstation can be implemented as a NUC (Next Unit of Computing) small computer.
  • the mechanical wheels, mechanical feet, mechanical legs, hip joints, pitch joints and body (including IMU) of the quadruped-wheel hybrid robot 200 are necessary hardware for the control algorithm, and the rest are non-essential hardware.
  • the robot control method provided by the present invention can be applied to a variety of scenarios, such as robot walking, robot climbing stairs, robot crossing thresholds, robot crossing curbs, robot crossing potholes, and any other obstacle-crossing scenario. This helps improve the robot's adaptability to the environment and its versatility.
  • the present invention uses mechanical feet to assist mechanical wheels in maintaining the robot's standing position, which can improve the robot's motion stability.
  • quadrupedal hybrid robots Compared to quadruped, wheeled, and legged robots, quadrupedal hybrid robots have a more stable structure. Thanks to their mechanical legs, they are more resistant to external impacts and disturbances. They can carry heavy loads, navigate narrow spaces, and perform tasks on objects of varying heights, making them highly adaptable to their environment.
  • the quadruped and wheeled hybrid robot 301 when it performs a stair climbing task, it can first plan a reference movement trajectory corresponding to the quadruped and wheeled hybrid robot 301 according to the stairs.
  • the reference movement trajectory can guide the quadruped and wheeled hybrid robot 301 to complete the stair climbing task, and then calculate the expected operation space task corresponding to the reference movement trajectory, and then calculate the expected joint torque set corresponding to the expected operation space task.
  • the outer mechanical leg group 302 i.e., the first mechanical leg group
  • the inner mechanical leg group 303 i.e., the second mechanical leg group
  • the outer mechanical leg group 302 is used as the supporting mechanical leg group for support, and the inner mechanical leg group 303 is used as the swinging mechanical leg group for swinging, so that the quadrupedal-wheeled hybrid robot 301 climbs the first step.
  • the inner mechanical leg group 303 is used as the supporting mechanical leg group for support
  • the outer mechanical leg group 302 is used as the swinging mechanical leg group for swinging, so that the quadrupedal-wheeled hybrid robot 301 climbs the second step.
  • the outer mechanical leg group 302 and the inner mechanical leg group 303 swing alternately in sequence to complete the stair climbing task.
  • the mechanical leg group used for swinging is the swinging mechanical leg group
  • the mechanical leg group used for standing is the supporting mechanical leg group.
  • the mechanical feet can also be controlled to assist the mechanical wheels so that the quadrupedal-foot-wheel hybrid robot 301 can maintain a stable standing position, and the body can be rotated to coordinate with the alternating swinging of the mechanical leg group so that the quadrupedal-foot-wheel hybrid robot 301 can climb stairs more bionically.
  • a quadruped-wheeled hybrid robot 401 when a quadruped-wheeled hybrid robot 401 performs a shoulder-crossing task, it can first plan a reference movement trajectory corresponding to the quadruped-wheeled hybrid robot 401 based on the shoulder.
  • This reference movement trajectory can guide the quadruped-wheeled hybrid robot 401 to complete the shoulder-crossing task, then calculate the desired operation space task corresponding to the reference movement trajectory, and then calculate the desired joint torque set corresponding to the desired operation space task.
  • the outer mechanical leg group 402 and the inner mechanical leg group 403 are controlled to swing alternately to complete the shoulder-crossing task.
  • the inner mechanical leg group 403 is first used as the supporting mechanical leg group for support, and the outer mechanical leg group 402 is used as the swinging mechanical leg group for swinging, so that the outer mechanical leg group 402 of the quadruped-wheeled hybrid robot 401 climbs onto the shoulder. Then, the outer mechanical leg group 402 is used as the supporting mechanical leg group for support, and the inner mechanical leg group 403 is used as the swinging mechanical leg group for swinging, so that the quadruped-wheeled hybrid robot 401 completely crosses the shoulder.
  • the mechanical feet can also be controlled to assist the mechanical wheels so that the quadrupedal-foot-wheel hybrid robot 401 can maintain a stable standing position, and the body can be rotated to coordinate with the alternating swinging of the mechanical leg group so that the quadrupedal-foot-wheel hybrid robot 401 can cross the road shoulder more bionically.
  • a quadruped-wheeled hybrid robot 501 when a quadruped-wheeled hybrid robot 501 performs a pit-crossing task, it can first plan a reference movement trajectory corresponding to the quadruped-wheeled hybrid robot 501 according to the pit.
  • the reference movement trajectory can guide the quadruped-wheeled hybrid robot 501 to complete the pit-crossing task, then calculate the desired operation space task corresponding to the reference movement trajectory, and then calculate the desired joint torque set corresponding to the desired operation space task.
  • the outer mechanical leg group 502 and the inner mechanical leg group 503 are controlled to swing alternately to complete the pit-crossing task.
  • the inner mechanical leg group 503 is first used as the supporting mechanical leg group for support, and the outer mechanical leg group 502 is used as the swinging mechanical leg group for swinging, so that the outer mechanical leg group 502 of the quadruped-wheeled hybrid robot 501 crosses the pit. Then, the outer mechanical leg group 502 is used as the supporting mechanical leg group for support, and the inner mechanical leg group 503 is used as the swinging mechanical leg group for swinging, so that the quadruped-wheeled hybrid robot 501 completely crosses the pit.
  • the mechanical feet can also be controlled to assist the mechanical wheels so that the quadrupedal-foot-wheel hybrid robot 501 can maintain a stable standing position, and the body can be rotated to coordinate with the alternating swinging of the mechanical leg group so that the quadrupedal-foot-wheel hybrid robot 501 can cross the road shoulder more bionically.
  • Figure 6 shows a flow chart of a robot control method provided by one embodiment of the present application.
  • the robot control method is described by taking the robot as the execution subject of each step as an example.
  • the method may include the following steps (601-603).
  • Step 601 in each swing cycle, by supporting the mechanical wheels and mechanical feet in the mechanical leg group to stand on the support surface, rotating the hip joints corresponding to the swinging mechanical leg group to make the swinging mechanical leg group swing in the first direction, and adjusting the lengths of the mechanical legs in the swinging mechanical leg group and the rotation angles of the mechanical feet in the swinging mechanical leg group, so that the robot enters the second state from the first state, wherein in the first state and the second state, the mechanical wheels and mechanical feet on each foot of the robot are in contact with the support surface, in the first state, the supporting mechanical leg group is located in front of the swinging mechanical leg group under the first direction constraint, and in the second state, the supporting mechanical leg group is located behind the swinging mechanical leg group under the first direction constraint.
  • the mechanical leg group used for swinging is the swinging mechanical leg group
  • the mechanical leg group used for standing is the supporting mechanical leg group.
  • the mechanical legs in the swinging mechanical leg group can be referred to as swinging mechanical legs
  • the mechanical legs in the supporting mechanical leg group can be referred to as supporting mechanical legs.
  • the supporting mechanical legs can be used to support the robot standing on a supporting surface, and the swinging mechanical legs can be used to achieve the robot's movement.
  • the robot in the embodiment of the present application is the same as that described in the above embodiment. For matters not described in the embodiment of the present application, please refer to the above embodiment and will not be repeated here.
  • the first mechanical leg group can be called the supporting mechanical leg group and the second mechanical leg group can be called the swinging mechanical leg group;
  • the second mechanical leg group can be called the supporting mechanical leg group and the first mechanical leg group can be called the swinging mechanical leg group;
  • both the first mechanical leg group and the second mechanical leg group can be called the supporting mechanical leg group, and the embodiments of the present application do not limit this.
  • the robot's movement process can be implemented as a process of alternating swinging of the first and second mechanical leg groups.
  • the robot 701 first uses the first mechanical leg group 702 as support and swings the second mechanical leg group 703 to complete the first step of movement. Then, using the second mechanical leg group 703 as support, it swings the first mechanical leg group 702 to complete the second step of movement. The alternating swinging of the first and second mechanical leg groups 702 and 703 completes the walking process.
  • the robot 801 first uses the first mechanical leg group 802 as support, swings the second mechanical leg group 803, and crosses the first step, and then uses the second mechanical leg group 803 as support, swings the first mechanical leg group 802, and crosses the second step. By alternately swinging the first mechanical leg group 802 and the second mechanical leg group 803, the robot can complete climbing the stairs.
  • the embodiment of the present application can divide the movement process of the robot into multiple swing cycles, each swing cycle corresponds to a complete swing process of the swinging mechanical leg group, that is, the process of the swinging mechanical leg group from leaving the support surface to contacting the support surface again, and the multiple swing cycles can correspond to the complete alternating swing process of the first mechanical leg group and the second mechanical leg group.
  • the movement process of the robot can be understood as a repeated swing process of the swinging mechanical leg group, that is, within each swing cycle, the movement method of the robot is the same.
  • the embodiment of the present application takes the movement of the robot within a certain swing cycle as an example for illustration.
  • the above-mentioned swing cycle can be implemented as a time period for the swinging mechanical leg group to complete a complete swing process, and each swing cycle is connected end to end to correspond to a complete time period of the robot's movement.
  • one swing cycle may be set for a complete swing process of the second robotic leg group 703 (or the first robotic leg group 702).
  • one swing cycle may be set for a complete swing process of the second robotic leg group 803 (or the first robotic leg group 802).
  • the robot in the swing cycle moves in the first direction on the support surface, that is, the swing mechanical leg group swings in the first direction, and after one swing cycle, the robot is displaced in the first direction.
  • the embodiment of the present application does not limit the first direction, which can be used to indicate the forward direction of the robot.
  • the first direction may refer to the horizontal direction (i.e., the direction perpendicular to the direction of gravity) to indicate the forward direction of the robot.
  • the support surface refers to the surface for the robot to stand.
  • the support surface may include only one plane, such as a flat ground, a road, etc., and the support surface may also include multiple planes of different heights, such as stairs, a road surface with shoulders, a ground with pits, etc., which is not limited in the embodiment of the present application.
  • each swing cycle can be divided into three stages: the first stage: the robot changes from the first state to the second state; the second stage: the robot changes from the second state to the third state; the third stage: the robot changes from the third state to the first state.
  • the above-mentioned first state refers to the initial state of the robot within the swing cycle, rather than the actual initial state of the robot.
  • Each swing cycle takes the first state as the initial state, that is, at the end of each swing cycle, the robot needs to return to the first state.
  • the robot needs to be adjusted to the first state to provide a basis for the robot to perform periodic motion.
  • the above-mentioned second state is the swinging state of the robot within the swing cycle, that is, the state after the swinging mechanical leg group completes the displacement in the first direction, such as the swinging mechanical leg group stops moving after moving from the position corresponding to the first state to the position corresponding to the second state.
  • the above-mentioned third state is the adjustment state of the robot within the swing cycle, that is, the state after the contact point between the robot and the contact surface no longer produces a position change and only the posture of the robot is adjusted.
  • the following will explain the robot in each state.
  • the mechanical wheels and mechanical feet on each foot of the robot are in contact with the support surface.
  • the robot stands on the support surface with the mechanical wheels and mechanical feet on each foot (such as the feet of each mechanical leg for standing), that is, each mechanical leg contacts the support surface through its corresponding pair of mechanical wheels and mechanical feet, so that each foot supports the robot to stand through at least two contact points.
  • each foot when the toe of the mechanical foot contacts the support surface, each foot includes a contact point between the mechanical wheel and the support surface, and a contact point between the mechanical foot and the support surface; when the auxiliary surface of the mechanical foot contacts the support surface, each foot includes a contact point between the mechanical wheel and the support surface, and multiple contact points between the auxiliary surface and the support surface.
  • the auxiliary surface of the robotic foot can be used to contact the support surface to assist the mechanical wheels in enabling the robot to stand.
  • the auxiliary surface can be a flat surface, which can be set at the bottom of the toe so that it is aligned with the support surface (i.e., parallel and in contact) when in contact with the support surface.
  • the embodiment of the present application does not limit the size and style of the auxiliary surface, which can be set and adjusted according to actual usage requirements.
  • the robot in the first state can also control the body of the robot to be located in the corresponding area above the supporting mechanical leg group, such as the body can be controlled to be located directly above the supporting mechanical leg group (that is, the body and the supporting mechanical leg group are located on the same straight line), the body can also be controlled to be located to the upper left of the supporting mechanical leg group, and the body can also be controlled to be located to the upper right of the supporting mechanical leg group.
  • the body can include a waist, a torso, a head, and upper limbs. During the movement of the robot, the waist, torso, head, and upper limbs can be regarded as a whole.
  • the body can be controlled to be located directly above the supporting mechanical leg group so that the projection of the center of mass of the robot on the supporting surface falls on the mechanical foot in the supporting mechanical leg group, thereby making the robot stand more stably.
  • the supporting mechanical leg group is controlled to be located in front of the swinging mechanical leg group under the first direction constraint. This is beneficial for keeping the robot standing by the supporting mechanical leg group and moving the robot by the swinging mechanical leg group during the subsequent movement, making the robot less likely to fall.
  • the robot 701 stands on the ground with the mechanical wheels and mechanical feet on each foot, the body of the robot 701 is located directly above the supporting mechanical leg group (i.e., the first mechanical leg group 702 to be used for standing), and the supporting mechanical leg group of the robot 701 is located in front of the swinging mechanical leg group (i.e., the second mechanical leg group 703 to be used for swinging) under the constraint in the first direction (e.g., horizontally to the right).
  • the supporting mechanical leg group i.e., the first mechanical leg group 702 to be used for standing
  • the supporting mechanical leg group of the robot 701 is located in front of the swinging mechanical leg group (i.e., the second mechanical leg group 703 to be used for swinging) under the constraint in the first direction (e.g., horizontally to the right).
  • the robot 801 stands on the stairs with the mechanical wheels and mechanical feet on each foot, wherein the first mechanical leg group 802 is located on the first step, and the second mechanical leg group 803 is located on the ground, so that the robot 801 stands stably, and the body of the robot 801 is located directly above the supporting mechanical leg group (i.e., the first mechanical leg group 802 to be used for standing), and the supporting mechanical leg group of the robot 801 is located in front of the swinging mechanical leg group (i.e., the second mechanical leg group 803 to be used for swinging) under the constraint in the first direction (such as horizontally to the right).
  • the supporting mechanical leg group i.e., the first mechanical leg group 802 to be used for standing
  • the supporting mechanical leg group of the robot 801 is located in front of the swinging mechanical leg group (i.e., the second mechanical leg group 803 to be used for swinging) under the constraint in the first direction (such as horizontally to the right).
  • the mechanical wheels and mechanical feet on each foot of the robot are also in contact with the support surface.
  • the robot in the second state also stands on the support surface with the mechanical wheels and mechanical feet on each foot (hereinafter referred to as the full-leg standing state), that is, within one swing cycle, the full-leg standing state that the robot enters for the first time after the first state can be determined as the second state.
  • the control support mechanical leg group is located behind the swinging mechanical leg group under the first direction constraint, so as to facilitate the alternating swinging of the first mechanical leg group and the second mechanical leg group.
  • the body of the robot in the second state has not yet moved to the area corresponding to the third state, that is, the area corresponding to the upper part after the swinging mechanical leg group contacts the support surface.
  • the robot 701 in the second state, also stands on the ground with the mechanical wheels and mechanical feet on each foot.
  • the supporting mechanical leg group (i.e., the first mechanical leg group 702) of the robot 701 is located behind the swinging mechanical leg group (i.e., the second mechanical leg group 703) constrained in the first direction (such as horizontally to the right), and the body of the robot 701 has not yet moved directly above the supporting mechanical leg group.
  • the robot 801 in the second state, also stands on the stairs with the mechanical wheels and mechanical feet on each foot, wherein the first mechanical leg group 802 is located on the first step, and the second mechanical leg group 803 is located on the second step, so that the robot 801 stands stably, and the supporting mechanical leg group (i.e., the first mechanical leg group 802) of the robot 801 is located behind the swinging mechanical leg group (i.e., the second mechanical leg group 803) constrained in the first direction (such as horizontally to the right), and the body of the robot 801 has not yet moved directly above the supporting mechanical leg group.
  • the supporting mechanical leg group i.e., the first mechanical leg group 802
  • the swinging mechanical leg group i.e., the second mechanical leg group 803
  • the robot can always control the various mechanical wheels and various mechanical feet in the supporting mechanical leg group to maintain contact with the support surface, so that the robot can stand stably on the support surface.
  • the robot may not rotate the various mechanical legs in the supporting mechanical leg group, nor may it extend or retract the mechanical legs in the supporting mechanical leg group.
  • the robot can control the hip joints and the retractable joints of the supporting mechanical legs, the wheel joints of the supporting mechanical wheels, and the foot joints of the supporting mechanical feet not to rotate, so as to control the supporting mechanical leg group to always maintain contact with the support surface.
  • the retractable joints are used to control the extension and retraction of the mechanical legs to adjust the length of the mechanical legs.
  • the wheel joints are used to control the rotation of the mechanical wheels, and the foot joints are used to control the rotation of the mechanical feet.
  • the mechanical wheels used for support are called supporting mechanical wheels, and the mechanical feet used for support are called supporting mechanical feet.
  • the robot can synchronously control the hip joints corresponding to the swinging mechanical leg group to rotate around their respective rotation axes, so that the mechanical legs in the swinging mechanical leg group swing synchronously in a first direction.
  • the rotation direction of the hip joints is related to the first direction. For example, when the first direction is horizontally to the right, the hip joints corresponding to the swinging mechanical leg group can be controlled to rotate counterclockwise around their respective rotation axes; when the first direction is horizontally to the left, the hip joints corresponding to the swinging mechanical leg group can be controlled to rotate clockwise around their respective rotation axes.
  • This embodiment of the application is not limited to this.
  • the swinging mechanical leg can be synchronously controlled to shorten to avoid the swinging mechanical leg from colliding with the support surface.
  • the swinging mechanical leg can be synchronously controlled to extend so that the mechanical wheel and mechanical foot on the swinging mechanical leg can contact the support surface.
  • the timing of shortening and extending the swinging mechanical leg can be set and adjusted according to actual use requirements, and the embodiments of the present application are not limited to this.
  • the length of the swinging mechanical leg can be shortened by controlling the telescopic joint of the swinging mechanical leg, and then the length of the swinging mechanical leg can be extended by controlling the telescopic joint of the swinging mechanical leg.
  • the robot may adaptively adjust the rotation angle of the mechanical foot on the swinging robotic leg.
  • the rotation angle of the mechanical foot is used to indicate the posture of the mechanical foot, such as the angle through which the mechanical foot has rotated.
  • the robotic foot is provided with a foot joint to control the rotation of the robotic foot.
  • the rotation angle of the foot joint is the rotation angle of the mechanical foot.
  • the rotation angle can be used to indicate the change in the joint angle of the foot joint relative to the initial joint angle (e.g., 0).
  • a method for adjusting the rotation angle of the robotic foot may include at least one of the following:
  • the auxiliary surface of the mechanical foot on the robotic leg is controlled to be parallel to the supporting surface.
  • the auxiliary surface is used to contact the supporting surface to assist the mechanical wheel so that the robot can stand.
  • the robot can dynamically adjust the rotation angle of the mechanical foot on the swinging mechanical leg so that the auxiliary surface corresponding to the swinging mechanical leg is always parallel to the supporting surface.
  • the auxiliary surface can be parallel to and in contact with the supporting surface, which is conducive to maintaining the stable standing of the robot and facilitating the smooth conversion between the supporting mechanical leg and the swinging mechanical leg, so that the swinging mechanical leg can quickly replace the supporting mechanical leg to keep the robot standing stably, thereby avoiding the problem of unstable standing of the robot when converting between the supporting mechanical leg and the swinging mechanical leg, and further improving the robot's movement stability.
  • the auxiliary surface of the mechanical foot on the robotic leg is controlled to be parallel to the support surface at a first control moment.
  • the first control moment refers to the moment when the robotic foot is planned to contact the support surface.
  • the robot only needs to complete the adjustment of the rotation angle of the mechanical foot at the first control moment, and during most of the time before the first control moment, the rotation angle of the mechanical foot does not need to be adjusted. This helps reduce the workload of controlling the rotation angle of the mechanical foot and the control complexity of the mechanical foot.
  • the rotation angle of the robotic foot is adjusted so that the auxiliary surface of the robotic foot is parallel to the support surface at the first control moment.
  • the timing of adjusting the rotation angle can be set and adjusted according to actual usage needs and is not limited in this embodiment of the application.
  • the robot controls the toes and the mechanical wheels on the swinging mechanical legs to simultaneously contact the support surface at the first control moment, so that the swinging mechanical legs form a stable support for the robot.
  • the robot only needs to complete the adjustment of the rotation angle of the mechanical feet at the first control moment.
  • the robot controls the mechanical wheel on the swinging mechanical leg to contact the support surface first, and then adjusts the rotation angle of the mechanical foot on the swinging mechanical leg so that the mechanical foot (such as the toe, auxiliary surface) on the swinging mechanical leg also contacts the support surface.
  • the robot completes controlling the mechanical wheel on the swinging mechanical leg to contact the support surface.
  • the robot rotates the mechanical foot on the swinging mechanical leg to make the auxiliary surface of the mechanical foot parallel to and in contact with the support surface.
  • the process of the robot 701 changing from the first state to the second state can be as follows: the robot 701 in the first state stands on the ground through the various mechanical wheels and various mechanical feet in the first mechanical leg group 702 (supporting mechanical leg group), and rotates the hip joint corresponding to the second mechanical leg group 703 counterclockwise to make the second mechanical leg group 703 swing to the right.
  • the first mechanical leg group 702 is controlled to always contact the supporting surface to form support for the robot 701, and the various mechanical legs in the second mechanical leg group 703 are first controlled to shorten, and then the various mechanical legs in the second mechanical leg group 703 are controlled to extend, and at the same time, the auxiliary surfaces of the various mechanical feet corresponding to the second mechanical leg group 703 are controlled to remain parallel to the ground.
  • the robot 701 changes to the second state.
  • the process of the robot 801 changing from the first state to the second state can be as follows: the robot 801 in the first state stands on the first step through the various mechanical wheels and various mechanical feet in the first mechanical leg group 802 (supporting mechanical leg group), and rotates the hip joint corresponding to the second mechanical leg group 803 counterclockwise to make the second mechanical leg group 803 swing to the right.
  • the first mechanical leg group 802 is controlled to always contact the supporting surface to form support for the robot 801, and the various mechanical legs in the second mechanical leg group 803 are first controlled to shorten, and then the various mechanical legs in the second mechanical leg group 803 are controlled to extend.
  • the various mechanical feet in the second mechanical leg group 803 are rotated clockwise so that the various auxiliary surfaces corresponding to the second mechanical leg group 803 are in contact with and parallel to the second step, and the robot 801 changes to the second state.
  • the embodiments of the present application provide multiple adjustment methods for the rotation angle of the mechanical foot, which is conducive to improving the adjustment flexibility of the mechanical foot and further conducive to improving the control flexibility of the robot.
  • the robot undergoes a pre-motion period before entering its first swing cycle.
  • This motion period corresponds to the complete transition from the robot's initial state to the first state.
  • the pre-motion period can be implemented as the time period corresponding to the complete transition from the initial state to the first state, with the end time of the pre-motion period corresponding to the start time of the first swing cycle.
  • control method of the robot in the pre-motion period may include the following:
  • the initial state may refer to the actual initial state of the robot, and the embodiments of the present application do not limit the initial state of the robot.
  • the robot when the initial state is a two-legged standing state, the robot may stand on the support surface by means of the mechanical wheels and mechanical feet in the first mechanical leg group or the second mechanical leg group, or may stand on the support surface only by means of the mechanical wheels in the first mechanical leg group or the second mechanical leg group, and the embodiments of the present application do not limit this.
  • the mechanical legs of the robot may overlap in the horizontal direction, the body may be kept vertical, and the body and the mechanical legs may be in the same straight line.
  • the robot When the robot is in a four-legged standing state, the robot can simultaneously stand on the support surface using the mechanical wheels and mechanical feet of the first and second mechanical leg groups, or can simultaneously stand on the support surface using only the mechanical wheels of the first and second mechanical leg groups. This is not limited in this embodiment of the present application.
  • the first and second mechanical leg groups can overlap or not overlap in the horizontal direction, which is not limited in this embodiment of the present application.
  • the robot stands on the support surface with mechanical wheels and mechanical feet.
  • the mechanical feet are retracted.
  • the initial state can be a two-legged mixed standing state, that is, on the basis of the two-legged standing state, the mechanical feet on the supporting mechanical legs are also in contact with the support surface;
  • the initial state can also be a four-legged mixed standing state (such as the first state and the second state mentioned above), that is, on the basis of the four-legged standing state, the mechanical feet on the supporting mechanical legs are also in contact with the support surface.
  • the embodiments of the present application do not limit this.
  • the above-mentioned pre-movement state may include at least one of the following: a two-legged mixed standing state and a four-legged mixed standing state.
  • the vertically upward mechanical foot of the supporting mechanical leg can be rotated until it contacts the supporting surface, and the robot enters a two-legged mixed stance state.
  • the vertically upward mechanical foot e.g., the auxiliary surface
  • the mechanical foot can remain unchanged.
  • the robot's initial state is a four-legged standing state (ie, the mechanical feet are not used)
  • the vertically upward mechanical foot can be rotated to contact the support surface, and the robot enters a four-legged mixed standing state.
  • the mechanical leg group used for support can be determined as the supporting mechanical leg group
  • the mechanical leg group not used for support can be determined as the swinging mechanical leg group.
  • the robot stands on the support surface by means of the mechanical wheels and mechanical feet in the supporting mechanical leg group, rotates the hip joints corresponding to the swinging mechanical leg group so that the swinging mechanical leg group swings in the first direction, and adjusts the length of the mechanical legs in the swinging mechanical leg group and the rotation angle of the mechanical feet in the swinging mechanical leg group so that the robot enters the second state from the initial state, then switches the robot from the second state to the third state, and finally switches the robot from the third state to the first state.
  • the process of the robot switching from the second state to the third state and the process of the robot switching from the third state to the first state will be described in detail below and will not be repeated here.
  • the robot can be adjusted from the four-legged mixed standing state to the two-legged mixed standing state, and then the robot can be adjusted from the two-legged mixed standing state to the first state, or the four-legged mixed standing state can be directly adjusted to the first state. For example, if the first mechanical leg group and the second mechanical leg group of the robot in the four-legged mixed standing state do not overlap, then after determining the supporting mechanical leg group, the robot can be made to enter the first state by adjusting the fuselage to the corresponding area above the supporting mechanical leg group.
  • the pre-motion state is the above-mentioned first state
  • the supporting mechanical leg group, the swinging mechanical leg group and the fuselage are kept different, that is, zero adjustment.
  • the robot can be switched from the second state to the third state first, and then the robot can be switched from the third state to the first state.
  • the process of the robot 701 changing from the pre-motion state to the first state can be as follows: the robot 701 in the pre-motion state stands on the ground through the second mechanical leg group 703, and controls the hip joint corresponding to the first mechanical leg group 702 to rotate so that the first mechanical leg group 702 swings to the right.
  • the various mechanical legs in the first mechanical leg group 702 are controlled to extend, and the various mechanical legs in the first mechanical leg group 702 are rotated so that the auxiliary surface of each mechanical foot is always parallel to the ground.
  • the robot 701 enters the second state, and then the robot 701 is switched from the second state to the third state, and finally the robot 701 is switched from the third state to the first state.
  • the process of the robot 801 changing from the pre-motion state to the first state can be as follows: the robot 801 in the pre-motion state stands on the ground through the second mechanical leg group 803, and controls the hip joint corresponding to the first mechanical leg group 802 to rotate so that the first mechanical leg group 802 swings to the right.
  • the robot 801 enters the second state, and then switches the robot 801 from the second state to the third state, and finally switches the robot 801 from the third state to the first state.
  • the embodiment of the present application sets a pre-motion cycle, so that the robot can enter the first state regardless of the initial state of the robot, thereby realizing periodic motion based on the first state, which is beneficial to reducing the control complexity of the robot.
  • Step 602 controlling the extension of each mechanical leg in the supporting mechanical leg group, and controlling the shortening of each mechanical leg in the swinging mechanical leg group, so that the robot enters the third state from the second state, wherein, in the third state, the body of the robot is located in the corresponding area above the swinging mechanical leg group.
  • the posture of the robot in the third state is the same as that of the robot in the first state, but the function corresponding to the first mechanical leg group of the robot in the third state is different from the function corresponding to the first mechanical leg group of the robot in the first state, and the function corresponding to the second mechanical leg group of the robot in the third state is different from the function corresponding to the second mechanical leg group of the robot in the first state.
  • the first mechanical leg group is used for swinging and the second mechanical leg group is used for standing, while in the first state, the first mechanical leg group is used for standing and the second mechanical leg group is used for swinging.
  • the robot in the third state only changes in posture, and the posture change is aimed at adjusting the body so that the robot can stand stably in the next swing cycle.
  • the robot's body can be determined to be located in the corresponding area above the robotic leg group.
  • the robot's body can be determined to be located in the corresponding area above the robotic leg group. This embodiment of the present application is not limited to this.
  • the robot when the robot changes from the second state to the third state, the robot controls the extension of each mechanical leg in the supporting mechanical leg group while controlling the contraction of each mechanical leg in the swinging mechanical leg group, thereby causing the robot to move in the first direction until the robot moves to the corresponding area above the swinging mechanical leg group.
  • the length changes of the supporting mechanical legs and the swinging mechanical legs can be set and adjusted according to actual usage requirements and are not limited in this embodiment of the present application.
  • the robot 701 in the second state controls the extension of each mechanical leg in the first mechanical leg group 702 while controlling the shortening of each mechanical leg in the second mechanical leg group 703 to move the body to the right.
  • the robot 701 enters the third state.
  • the robot 801 in the second state controls the extension of each mechanical leg in the first mechanical leg group 802 while controlling the shortening of each mechanical leg in the second mechanical leg group 803 to move the body to the right.
  • the robot 801 enters the third state.
  • Step 603 swap the functions of the supporting mechanical leg group and the swinging mechanical leg group, so that the robot enters the first state from the third state.
  • the supporting mechanical leg group is switched from the standing function to the swinging function, and the swinging mechanical leg group is switched from the swinging function to the supporting function, so that the robot enters the first state from the third state.
  • the original supporting mechanical leg group is updated to the new swinging mechanical leg group, and the original swinging mechanical leg group is updated to the new supporting mechanical leg group.
  • the first mechanical leg group 702 is switched from the standing function to the swinging function, and the second mechanical leg group 703 is switched from the swinging function to the standing function, and the robot 701 enters the first state from the third state.
  • Controlling the rotation of the fuselage to tilt in the first direction can cause the fuselage to tilt forward in the forward direction, thereby causing the supporting mechanical leg group to tilt.
  • the swinging mechanical leg group contacts the supporting surface, it is beneficial to maintain the standing stability of the robot together with the swinging mechanical leg group.
  • the robot controls the body to rotate in the opposite direction to restore the vertical position.
  • the embodiment of the present application does not limit the timing of the body's reverse rotation, which can be set and adjusted according to actual usage requirements.
  • the robot can also control the body to rotate to restore the body to a near vertical position.
  • the body By controlling the rotation of the body to adjust to a vertical position, the body can be prevented from leaning forward and causing the robot to stand unstable.
  • the rotation direction of the body in step 2 is opposite to the rotation direction of the body in step 1.
  • robot 701 when robot 701 changes from the first state to the second state, it first rotates its body clockwise to tilt to the right, and then rotates its body counterclockwise to restore the upright position.
  • robot 801 when robot 801 changes from the first state to the second state, it first rotates its body clockwise to tilt to the right, and then rotates its body counterclockwise to restore the upright position.
  • the closing motion cycle corresponds to the complete process of the robot recovering from the first state to the initial state or the specified state.
  • the closing motion cycle can be implemented as the time period corresponding to the complete process of the robot changing from the first state to the initial state, and the starting moment corresponding to the closing motion cycle is the end moment corresponding to the last swing cycle.
  • the specified state can be set and adjusted according to actual use requirements, such as the above-mentioned two-leg mixed standing state, four-leg mixed standing state, two-wheel standing state (relying only on the two mechanical wheels in one mechanical leg group to maintain standing), four-wheel standing state (relying on the four mechanical wheels in two mechanical leg groups to maintain standing), etc.
  • the technical solution provided in the embodiments of the present application is described by taking the motion process of a quadruped-foot-wheel hybrid robot as an example.
  • the motion process may include a pre-motion cycle, multiple swing cycles, and a finishing motion cycle.
  • the robot 1101 in the initial state (the same as the pre-motion state, i.e. the mechanical feet have been adjusted) uses the second mechanical leg group 1103 as support and swings the first mechanical leg group 1102 to enter the first state.
  • the first swing cycle the robot 1101 in the first state, with the first mechanical leg group 1102 as support, swings the second mechanical leg group 1103, and enters the second state; the robot 1101 in the second state controls the shortening of each mechanical leg in the first mechanical leg group 1102, and controls the extension of each mechanical leg in the second mechanical leg group 1103, and enters the third state, interchanges the functions of the first mechanical leg group 1102 and the second mechanical leg group 1103, and enters the first state.
  • the second swing cycle the robot 1101 in the first state, with the second mechanical leg group 1103 as support, swings the first mechanical leg group 1102, and enters the second state; the robot 1101 in the second state controls the shortening of each mechanical leg in the second mechanical leg group 1103, and controls the extension of each mechanical leg in the first mechanical leg group 1102, and enters the third state, interchanges the functions of the first mechanical leg group 1102 and the second mechanical leg group 1103, and enters the first state.
  • the third swing cycle the robot 1101 in the first state, with the first mechanical leg group 1102 as support, swings the second mechanical leg group 1103, and enters the second state; the robot 1101 in the second state controls the shortening of each mechanical leg in the first mechanical leg group 1102, and controls the extension of each mechanical leg in the second mechanical leg group 1103, enters the third state, interchanges the functions of the first mechanical leg group 1102 and the second mechanical leg group 1103, and enters the first state.
  • Ending motion cycle In the first state, the robot 1101, supported by the second mechanical leg group 1103, swings the first mechanical leg group 1102 until it overlaps with the second mechanical leg group 1103, entering the initial state. During this process, the body of the robot 1101 remains vertical.
  • the mechanical foot corresponding to the robot 1101 overlaps with the mechanical leg in the vertical direction, and the toes of the mechanical foot are facing upward; for other states other than the initial state, the auxiliary surface of the mechanical foot corresponding to the robot 1101 always remains parallel to the support surface, and the auxiliary surface of the mechanical foot used to assist the mechanical wheel is parallel to and in contact with the support surface, so that the robot 1101 can stand stably during movement; during the swinging of the first mechanical leg group 1102 or the second mechanical leg group 1103, the body of the robot 1101 rotates back and forth periodically to assist the swinging of the first mechanical leg group 1102 or the second mechanical leg group 1103.
  • the supporting mechanical feet are always in contact with the supporting surface to maintain the stable standing of the robot 1101 together with the supporting mechanical wheels.
  • the technical solution provided by the embodiment of the present application is for a robot having a first mechanical leg group and a second mechanical leg group, and having mechanical legs with mechanical wheels and mechanical feet on the feet.
  • the mechanical feet of the feet assist the mechanical wheels so that the robot remains standing on the support surface, and the feet maintain the robot standing in a manner of no less than two contact points (such as the contact points between the mechanical feet and the mechanical wheels and the support surface respectively).
  • the robot can stand more stably on the support surface and is less likely to fall, thereby effectively improving the robot's motion stability.
  • controlling the movement of the robot by alternating the swinging of the first mechanical leg group and the second mechanical leg group can further improve the robot's movement efficiency.
  • FIG 12 shows a flow chart of a robot control method provided by another embodiment of the present application.
  • the robot control method is described by taking the robot as the execution subject of each step as an example.
  • the method may include the following steps (1201-1203):
  • Step 1201 Obtain an expected operating space task of the robot on the support surface, wherein the expected operating space task includes expected accelerations of various parts of the robot in the operating space of the robot and expected acceleration of the center of mass of the robot in the operating space.
  • the expected operating space task is used to guide the robot to move in a first direction on the support surface.
  • the expected operational space task refers to the robot's expected task within the operational space. This task can be planned based on the robot and its real environment. For example, by planning the robot's expected movement on the support surface, the expected operational space task corresponding to that scenario can be obtained.
  • the expected task is the task the robot is expected to perform, such as the aforementioned gait walking, stair climbing, and obstacle crossing tasks.
  • the desired operational space task corresponds to the robot's complete motion process.
  • the desired operational space task may include the robot's desired tasks during the pre-motion period, swing period, and final period.
  • the desired operational space task can be obtained by performing unified planning for the robot's entire motion process.
  • corresponding desired operation space tasks can be planned for scenarios such as gait walking, stair climbing, and obstacle crossing.
  • the desired operation space task corresponding to gait walking can be used to guide the robot to alternately swing the first and second mechanical leg groups to achieve the gait walking task;
  • the desired operation space task corresponding to stair climbing can be used to guide the robot to alternately swing the first and second mechanical leg groups to achieve the stair climbing task;
  • the desired operation space task corresponding to obstacle crossing can be used to guide the robot to alternately swing the first and second mechanical leg groups to achieve the obstacle crossing task.
  • the robot can control the movement of various parts of the robot through the expected acceleration in the above-mentioned expected operating space task to realize the movement of the robot on the support surface.
  • the robot can control the mechanical legs, mechanical feet, mechanical wheels and body of the robot through the expected acceleration in the above-mentioned expected operating space task to enable the robot to alternately swing the first mechanical leg group and the second mechanical leg group to move on the support surface.
  • the desired acceleration refers to the acceleration derived from the real environment and used to control the robot.
  • the reference acceleration described below, is a planned value used to guide the robot along the reference trajectory.
  • the robot can use this desired acceleration to control its movement along the reference trajectory.
  • the desired acceleration of a robotic leg can be used to control its swing
  • the desired acceleration of a robotic foot can be used to control its rotation
  • the desired acceleration of the body can be used to control its rotation.
  • the expected operational space mission includes the expected acceleration of each robot component at each control moment, so that the robot as a whole moves according to the planned trajectory.
  • a control moment refers to the moment when the robot is controlled by a control signal.
  • the control moments are arranged at specified time intervals, which can be set and adjusted according to actual usage requirements.
  • the expected operational space mission at a given control moment includes the expected acceleration of each robot component at that control moment.
  • the robot's operating space may refer to the robot's corresponding Cartesian space.
  • TWBC Task-Oriented Whole Body Control
  • the robot's corresponding Cartesian space may be referred to as the robot's operating space.
  • each position in the robot's operating space may be represented based on the robot's world coordinate system.
  • the robot's world coordinate system can be constructed with the contact point between the robot's foot (such as a mechanical wheel) and the support surface in the initial state as the origin, the horizontal direction as the x-axis direction, the vertical direction as the z-axis direction, and the direction perpendicular to both the horizontal and vertical directions as the y-axis direction.
  • the position of the robot in the operating space can be characterized based on the three-dimensional coordinates of the robot in the world coordinate system.
  • the calculation processes in the embodiments of the present application all occur in the robot's world coordinate system.
  • the above-mentioned parts may include the robot's mechanical legs, mechanical feet, mechanical wheels and body, and the expected operation space task may include the expected accelerations corresponding to the mechanical legs, mechanical feet, mechanical wheels and body respectively.
  • the expected acceleration included in the expected operation space task can be calculated by a feedback controller based on the reference movement trajectory of each part of the robot and the actual state of the robot, such as a PD (Proportional Derivative) feedback controller and other feedback controllers.
  • a feedback controller based on the reference movement trajectory of each part of the robot and the actual state of the robot, such as a PD (Proportional Derivative) feedback controller and other feedback controllers.
  • step 1201 may further include the following sub-steps:
  • Step 1201a obtaining the expected swing acceleration of the swinging mechanical leg group in the operating space according to the swinging reference movement trajectory corresponding to the swinging mechanical leg group, wherein the swinging reference movement trajectory is obtained according to the movement trajectory planning of the support surface to the swinging mechanical leg group.
  • the swing reference trajectory refers to the reference trajectory of the swinging mechanical leg in the swinging mechanical leg group.
  • it can be represented by the reference trajectory of the mechanical wheel on the swinging mechanical leg.
  • the reference trajectory is used to guide the movement of the robot.
  • the reference trajectory can include the reference position of the robot at each control moment.
  • the reference position refers to the position that the robot is planned to reach.
  • the reference trajectory of the mechanical wheel includes the reference position of the mechanical wheel at each control moment to guide the mechanical wheel to move according to the reference trajectory of the mechanical wheel.
  • the reference position of the swinging mechanical leg (such as the mechanical wheel) on each step can be planned based on the size information of each step of the stairs (such as width, height, length, etc.) (represented by three-dimensional coordinates in the world coordinate system), and then interpolation is performed between each reference position to obtain the swinging reference movement trajectory.
  • the aforementioned desired swing acceleration includes the desired acceleration of the swinging mechanical leg at various control moments.
  • the desired acceleration of the mechanical wheel of the swinging mechanical leg at various control moments can be determined as the desired swing acceleration.
  • the desired swing acceleration can be used to control the swinging mechanical leg (including the mechanical wheel) to follow the swing reference movement trajectory, thereby causing the swinging mechanical leg to swing.
  • the process of obtaining the desired acceleration of the swing may be as follows:
  • the reference position of the swinging mechanical leg group (e.g., a mechanical wheel) at a certain control moment can be directly determined based on the swinging reference movement trajectory. Furthermore, based on the reference position of the swinging mechanical leg group at that control moment, the reference speed and reference acceleration of the swinging mechanical leg group at that control moment can be obtained. For example, by taking the first-order and second-order derivatives of the reference position of the swinging mechanical leg group at that control moment with respect to time, the reference speed and reference acceleration of the swinging mechanical leg group at that control moment can be obtained.
  • the reference speed refers to the speed planned to be achieved
  • the reference acceleration refers to the acceleration planned to be achieved.
  • the reference movement trajectory of the robotic leg group can be the movement trajectory of any robotic leg in the robotic leg group in the x-axis and z-axis directions, and the y-axis direction can be ignored.
  • the robotic legs in the embodiments of the present application always remain vertical and cannot be bent.
  • the expected acceleration of the swing at the control moment is calculated based on the reference position, reference speed and reference acceleration of the swing mechanical leg group at the control moment, as well as the actual position and actual speed of the swing mechanical leg group at the control moment.
  • the acceleration, angular velocity, and attitude of the fuselage i.e., the actual Euler angle
  • the actual position, actual velocity, actual attitude, and actual angular velocity of the fuselage in the world coordinate system can be obtained using a state estimation algorithm.
  • the state of the hip joint center point can be calculated based on the state of the fuselage (i.e., the actual position, actual velocity, actual attitude, and actual angular velocity of the fuselage in the world coordinate system).
  • a PD feedback controller is used to determine the desired swing acceleration based on the difference between the actual position and the reference position of the swinging mechanical leg, the difference between the actual speed and the reference speed of the swinging mechanical leg, and the reference acceleration of the swinging mechanical leg.
  • the desired swing acceleration can be expressed as follows:
  • the mechanical legs corresponding to the first and second mechanical leg groups move synchronously, meaning that all the swinging mechanical legs in the swinging mechanical leg group move synchronously. If the robot has no displacement in the y-axis direction, then ignoring the y-axis, the swing reference movement trajectory of each swinging mechanical leg in the swinging mechanical leg group is the same. By calculating the expected swing acceleration for any swinging mechanical leg, the expected swing acceleration corresponding to the swinging mechanical leg group can be obtained. This reduces the computational effort required to calculate the expected swing acceleration, thereby improving robot control efficiency.
  • the support reference trajectory refers to the reference trajectory of the supporting robotic legs in the supporting robotic leg group.
  • it can be implemented as the reference trajectory of the robotic foot attached to the supporting robotic leg.
  • the support desired acceleration includes the desired acceleration of the supporting robotic leg at each control moment. The support desired acceleration is used to control the supporting robotic leg to follow the support reference trajectory to keep the robot standing.
  • the reference position of the supporting mechanical leg on the supporting surface is a fixed value, and during the supporting process of the supporting mechanical leg, there is no relative sliding between the mechanical foot of the supporting mechanical leg and the supporting surface, so the value of the expected support acceleration is always zero.
  • the support expected acceleration can be expressed as follows:
  • Step 1201c according to the center of mass reference movement trajectory corresponding to the center of mass of the robot, obtain the expected acceleration of the center of mass in the operation space, and the center of mass reference movement trajectory is obtained based on the movement trajectory planning of the support surface to the center of mass.
  • the center of mass reference trajectory refers to the reference trajectory of the robot's center of mass.
  • the center of mass reference trajectory includes the reference position of the robot's center of mass at each control moment, which can be used to guide the movement of the robot's center of mass.
  • the center of mass of the robot not only needs to move continuously along the first direction (i.e., the forward direction), but also needs to help the robot maintain dynamic balance. Therefore, a balance controller needs to be constructed to calculate the expected acceleration of the center of mass in the first direction.
  • the center of mass reference movement trajectory may be divided into a sub-reference movement trajectory in the first direction and a sub-reference movement trajectory in the vertical direction. Then, the sub-expected acceleration of the center of mass in the first direction is determined based on the sub-reference movement trajectory in the first direction, and the sub-expected acceleration of the center of mass in the vertical direction is determined based on the sub-reference movement trajectory in the vertical direction.
  • This process may include the following:
  • the first direction may be the forward direction of the robot, such as the x-axis direction of the world coordinate system.
  • the robot can be converted into an inverted pendulum model for the construction of a balancing controller.
  • the robot since the robot always moves in the first direction (such as no displacement in the y-axis direction of the above-mentioned world coordinate system), and the mechanical legs in the supporting mechanical leg group move synchronously, the mechanical legs in the swinging mechanical leg group move synchronously, and the hip joints of the robot are coaxial, the robot can be simplified into a plane model under the sagittal plane (such as the sagittal plane 206 in Figure 2).
  • the mass of the robot is concentrated at the center of mass 1402 of the robot. If the center of the line between the feet of the two supporting mechanical legs is the virtual support contact point 1401 between the robot's inverted pendulum model and the supporting surface (because it represents the contact point between the foot and the supporting surface), after connecting the center of mass 1402 and the virtual support contact point 1401, the robot's plane model can be converted into an inverted pendulum model 1400 of the robot.
  • a balance controller can be constructed based on the inverted pendulum model. Then, based on the balance controller, the expected acceleration of the center of mass in the first direction can be calculated. The process can be as follows:
  • the robot's inverted pendulum dynamics equation is constructed using the position of the center of mass, the velocity of the center of mass, the distance between the center of mass and the support contact point in the first direction, and the derivative of the distance as state variables, and the acceleration of the center of mass relative to the support contact point in the first direction as the control variable.
  • the support contact point refers to the contact point between the foot corresponding to the supporting mechanical leg group and the support surface.
  • the support contact point is represented by a virtual support contact point.
  • the dynamic equation of the inverted pendulum of the robot can be expressed as follows:
  • ⁇ x and are the distance between the center of mass and the support contact point (i.e., virtual support contact point) in the first direction, and the derivative of the distance, x com and are the position and velocity of the center of mass in the first direction, is the acceleration of the center of mass relative to the virtual support contact point in the first direction, z com is the position of the center of mass in the vertical direction, and g is the acceleration due to gravity.
  • the Linear Quadratic Regulator (LQR) is built based on the Quadratic Programming optimization method. Its essence is to find a multidimensional vector under linear constraints so that the quadratic objective function of the multidimensional vector is minimized (or maximized).
  • a linear quadratic programming regulator is used to construct an objective function of the inverted pendulum dynamics equation, and then the feedback gain matrix of the inverted pendulum dynamics equation is iteratively obtained with the goal of minimizing the objective function.
  • the sub-reference movement trajectory of the center of mass in the first direction can be obtained by planning methods such as heuristic (i.e., giving a trajectory based on experience and the real environment) and inverted pendulum model (planning the trajectory using an inverted pendulum model), based on the reference position planning of the supporting mechanical leg.
  • heuristic i.e., giving a trajectory based on experience and the real environment
  • inverted pendulum model planning the trajectory using an inverted pendulum model
  • the reference position of the center of mass at the control moment and in the first direction can be directly obtained, and then the first-order derivative of the reference position of the center of mass at the control moment and in the first direction with respect to time is performed to obtain the reference speed of the center of mass at the control moment and in the first direction.
  • the reference position and reference speed of the support contact point at the control moment and the first direction can be obtained, and then the reference position of the virtual support contact point can be obtained by taking the geometric average of the reference position of the support contact point at the control moment and the first direction, and the reference speed of the virtual support contact point can be obtained by taking the geometric average of the reference speed of the support contact point at the control moment and the first direction.
  • the reference position of the virtual support contact point at the control moment and the first direction is subtracted from the reference position of the center of mass at the control moment and the first direction to obtain the reference distance between the center of mass and the virtual support contact point
  • the reference speed of the virtual support contact point at the control moment and the first direction is subtracted from the reference speed of the center of mass at the control moment and the first direction to obtain the reference speed between the center of mass and the virtual support contact point.
  • the reference position, reference speed, reference distance and reference speed between the center of mass and the support contact point at the control moment and the first direction, the third sub-expected acceleration at the control moment and the first direction is obtained.
  • the reference position of the center of mass at the control moment and in the first direction, the reference speed, the reference distance between the center of mass and the support contact point, and the reference speed are used as reference values of the control variables.
  • the control variables of the inverted pendulum dynamics equation can be obtained based on the reference values of the control variables through LQR.
  • the process can be expressed as follows:
  • Control variables of the inverted pendulum dynamics equation That is the expected acceleration of the center of mass in the first direction, recorded as The desired acceleration of the center of mass in the first direction obtained in this way can not only ensure the following of the reference moving trajectory of the center of mass in the first direction, but also maintain the dynamic balance of the robot during the movement, thereby improving the movement stability of the robot.
  • the expected acceleration of the center of mass in the first direction can also be calculated using a PD feedback controller based on the reference position, reference velocity and reference acceleration of the center of mass in the first direction at the control moment, and the actual position and actual velocity of the center of mass in the first direction at the control moment.
  • This embodiment of the present application is not limited to this.
  • the vertical direction may refer to the z-axis direction of the world coordinate system.
  • the height between the center of mass of the robot and the foot of the robot's supporting mechanical leg is set to a constant value.
  • This constant value can refer to the distance between the center of mass of the robot and the center of the foot corresponding to the supporting mechanical leg (such as the wheel center) in the z-axis direction. Therefore, based on the supporting reference movement trajectory and this constant value, a sub-reference movement trajectory of the center of mass in the vertical direction can be planned. For example, using a spline curve interpolation method, based on the sum of the reference position in the supporting reference movement trajectory and the constant value, the sub-reference movement trajectory of the center of mass in the vertical direction is interpolated.
  • the sub-reference movement trajectory in the vertical direction may be equivalent to the reference movement trajectory of the robot's body in the vertical direction.
  • the body can be moved in the vertical direction to complete the adjustment of the center of mass position.
  • the robot can climb the stairs in the vertical direction.
  • the process of obtaining the expected acceleration of the center of mass in the vertical direction may be as follows:
  • the reference position of the center of mass in the vertical direction at a certain control moment can be determined directly based on the sub-reference movement trajectory in the vertical direction, and then the first-order derivative and second-order derivative of the reference position of the center of mass in the vertical direction at the control moment are taken with respect to time, respectively, to obtain the reference velocity and reference acceleration of the center of mass in the vertical direction at the control moment.
  • a PD feedback controller is used to calculate the expected acceleration of the center of mass at the control moment and in the vertical direction based on the reference position, reference velocity and reference acceleration of the center of mass at the control moment and in the vertical direction, as well as the actual position and actual velocity of the center of mass at the control moment and in the vertical direction.
  • the acceleration, angular velocity and posture i.e., the actual Euler angle
  • the state estimation algorithm can be used to obtain the actual position, actual velocity, actual posture and actual angular velocity of the fuselage in the world coordinate system.
  • the actual position and actual velocity of the fuselage and the mechanical legs in the world coordinate system the actual position and actual velocity of the center of mass in the world coordinate system are determined, and then the actual position and actual velocity of the center of mass in the vertical direction are obtained.
  • the expected acceleration of the center of mass in the vertical direction can be expressed as follows:
  • k p,base and k d,base correspond to the proportional coefficient and differential coefficient of the center of mass, respectively.
  • the expected acceleration of the center of mass is obtained according to the expected acceleration of the center of mass in the first direction and the expected acceleration of the center of mass in the vertical direction.
  • the center of mass sub-expected acceleration in the first direction and the vertical sub-expected acceleration in the vertical direction are combined to obtain the center of mass expected acceleration.
  • This center of mass expected acceleration can be used to control the robot's center of mass to follow the center of mass reference movement trajectory, so that the robot as a whole moves in the first direction.
  • Step 1201d Obtain the expected acceleration of the robot's body in the operating space based on the reference trajectory of the robot's body posture.
  • the reference trajectory of the body posture is obtained by planning the trajectory of the body posture.
  • the "reference posture change trajectory” refers to a reference change trajectory of the robot's body posture, which can be used to describe the robot's body posture changes.
  • it may include the reference posture of the robot's body at each control moment, where the reference posture is the planned posture.
  • the body posture can be represented by Euler angles, such as the Euler angles of the body's roll, pitch, and yaw.
  • the reference posture change trajectory may refer to the corresponding Euler angle reference movement trajectory of the robot's body, which includes the reference posture angles (i.e., reference Euler angles) at each control moment, where the reference posture angles are the planned posture angles.
  • the expected acceleration of the posture includes the expected acceleration of the robot body at each control moment.
  • the expected acceleration may refer to the expected posture angular acceleration (ie, the expected Euler angular acceleration).
  • the body of the robot remains vertical during the movement of the robot (hereinafter referred to as the vertical task); in one example, the body of the robot rotates dynamically during the movement of the robot (hereinafter referred to as the angular momentum task); in one example, during the movement of the robot, the robot takes into account the vertical task and the angular momentum task of the body in a weighted manner. For example, when the weight parameter of the vertical task is greater than the weight parameter of the angular momentum task, the robot will focus on executing the vertical task but will not abandon the angular momentum task; when the weight parameter of the vertical task is less than or equal to the weight parameter of the angular momentum task, the robot will focus on executing the angular momentum task but will not abandon the vertical task.
  • the weight parameters of the vertical task and the weight parameters of the angular momentum task can be dynamically set and adjusted according to actual use requirements, and the embodiments of the present application are not limited to this.
  • attitude desired acceleration for vertical tasks and the desired angular momentum acceleration for angular momentum tasks (also referred to as attitude desired acceleration).
  • attitude desired acceleration is used to guide the aircraft to maintain vertical orientation, while the angular momentum desired acceleration is used to guide the aircraft to rotate.
  • the value of the reference posture angle, the value of the reference posture angular velocity, and the value of the reference posture angular acceleration corresponding to the body are all zero.
  • the value of the reference posture angle, the value of the reference posture angular velocity, and the value of the reference posture angular acceleration can be expressed as:
  • the acceleration, angular velocity and attitude of the fuselage i.e., the actual Euler angle
  • the state estimation algorithm can be used to obtain the actual position, actual speed, actual attitude and actual angular velocity (i.e., the actual state) of the fuselage in the world coordinate system.
  • the actual attitude angle i.e., the actual Euler angle
  • actual attitude angular velocity i.e., the actual Euler angular velocity
  • a PD feedback controller is used to determine the desired attitude acceleration based on the difference between the actual attitude angle and the reference attitude angle of the fuselage, the difference between the actual attitude angular velocity and the reference attitude angular velocity of the fuselage, and the reference attitude angular acceleration of the fuselage.
  • the desired attitude acceleration can be expressed as follows:
  • k p,euler and k d,euler correspond to the proportional coefficient and differential coefficient of the robot attitude, respectively.
  • the desired attitude acceleration is used to control the robot's body to follow the attitude reference trajectory to keep it upright.
  • the process of obtaining the expected angular momentum acceleration may be as follows:
  • the angular momentum reference change trajectory may include the reference angular momentum of the robot's center of mass at each control moment.
  • the reference angular momentum of the center of mass at a particular control moment can be directly determined based on the angular momentum reference change trajectory.
  • the reference angular momentum of the center of mass at that control moment can then be derived by taking the first-order and second-order derivatives of the reference angular momentum with respect to time (i.e., the first-order derivative of the reference angular momentum with respect to time, and the second-order derivative of the reference angular momentum with respect to time). This yields the reference angular momentum velocity and reference angular momentum acceleration of the center of mass at that control moment.
  • the reference angular momentum, reference angular momentum velocity, and reference angular momentum acceleration can all be set to 0 to simplify calculations, or only the reference angular momentum velocity can be set to 0. This is not limited in this embodiment of the present application.
  • the moment of inertia and angular acceleration of the line between the center of mass and the rotation center of the mechanical wheel on the supporting mechanical leg at each control moment can be determined, so that the angular momentum of the center of mass can be obtained, and then the angular momentum reference change trajectory can be obtained.
  • angular momentum refers to the product of moment of inertia and angular acceleration.
  • the angular momentum of the center of mass can be determined based on the moment of inertia and angular acceleration of the line connecting the center of mass and the center of rotation of the mechanical wheel supporting the mechanical leg. If the initial angular momentum of the center of mass is 0, the angle can be directly determined as the angular momentum of the center of mass.
  • the center of mass of the robot is used to characterize the center of mass of the robot. It can be calculated based on the center of mass of each part of the robot and each joint angle at the current moment and is recorded as CoM.
  • the position of the center of mass of the robot can be obtained based on the position of the center of mass of each part of the robot.
  • the position of the center of mass of the robot can be obtained by averaging the positions of the center of mass of each part of the robot.
  • Figure 15 is a simplified diagram of a model of a quadrupedal hybrid robot with feet and wheels provided in one embodiment of the present application.
  • the center of mass 1501 of the robot 1500 can be calculated.
  • the line connecting the center of mass 1501 and the rotational center of the mechanical wheels supporting the mechanical legs is first obtained, and the angular momentum of the center of mass is determined by multiplying the moment of inertia of this line by the angular acceleration.
  • the various joints of the robot 1500 rotate (i.e., the various parts move), the joint angles vary, the position of the center of mass 1501 changes constantly, and the angular momentum of the center of mass 1501 also changes constantly.
  • the expected angular momentum acceleration at the control moment is calculated based on the reference angular momentum, reference angular momentum velocity and reference angular momentum acceleration of the center of mass at the control moment, as well as the actual angular momentum and actual angular momentum velocity of the center of mass at the control moment.
  • the acceleration, angular velocity and posture of the fuselage i.e., the actual Euler angle
  • the state estimation algorithm can be used to obtain the actual position and actual posture of the fuselage and mechanical legs in the world coordinate system. Then, based on the actual position and actual posture of the fuselage and mechanical legs in the world coordinate system, the position of the center of mass is determined, and the actual angular momentum and actual angular momentum velocity of the center of mass are obtained.
  • a PD feedback controller is used to determine the desired angular momentum acceleration based on the difference between the actual angular momentum of the center of mass and the reference angular momentum, the difference between the actual angular momentum velocity of the center of mass and the reference angular momentum velocity, and the reference angular momentum acceleration of the center of mass.
  • the desired angular momentum acceleration can be expressed as follows:
  • k p,momentum and k d,momentum are the proportional coefficient and differential coefficient corresponding to the angular momentum of the center of mass, respectively.
  • the desired angular momentum acceleration is used to control the robot's body movement to follow the reference angular momentum trajectory, thereby achieving the body's angular momentum task.
  • the robot's body is not locked at a fixed angle during movements (such as walking and stair climbing), but instead moves based on the principle of mutual cancellation of angular momentum between different joints.
  • This reference movement trajectory better aligns with the dynamics of the robot system and further enhances the biomimetic nature of the robot's gait.
  • the above-mentioned expected operation space task also includes the expected foot acceleration of each mechanical foot in the operation space.
  • the expected foot acceleration is used to control the mechanical foot to move along the reference movement trajectory of the foot to assist the mechanical wheel to make the robot stand more stably, thereby improving the stability of the robot during movement.
  • the robot stops moving after a plurality of control moments.
  • the embodiment of the present application may further include the following steps:
  • Step 1201e Obtain the expected acceleration of the mechanical foot in the operating space according to the reference movement trajectory of the mechanical foot of the robot.
  • the reference change trajectory of the foot is obtained by planning the change trajectory of the mechanical foot.
  • the foot reference trajectory is planned based on the trajectory of the support surface relative to the robotic foot. This refers to the reference trajectory of the robotic foot, such as the reference trajectory of the robotic foot supporting or swinging a robotic leg.
  • the foot desired acceleration includes the desired acceleration of the robotic foot at each control moment.
  • a spline curve interpolation method can be used to obtain the foot reference movement trajectory.
  • the initial position may refer to the position when the auxiliary surface of the mechanical foot contacts and is parallel to the support surface
  • the end position may refer to the position when the auxiliary surface of the mechanical foot contacts and is parallel to the support surface for the first time after the initial position.
  • the foot reference movement trajectory can be set and adjusted according to actual use requirements, and the embodiments of the present application are not limited to this.
  • the process of obtaining the expected acceleration can be as follows:
  • the foot reference movement trajectory may include the reference position of the robot's mechanical foot at each control moment.
  • the reference position of the mechanical foot at a certain control moment can be determined directly based on the foot reference movement trajectory, and then the reference position of the mechanical foot at the control moment can be derived by taking the first-order derivative and the second-order derivative with respect to time, respectively, to obtain the reference speed and reference acceleration of the mechanical foot at the control moment.
  • the reference speed of the mechanical foot at each control moment may be set to 0 to simplify the calculation, which is not limited in the embodiment of the present application.
  • the expected acceleration of the foot at the control moment is calculated based on the reference position, reference velocity and reference acceleration of the mechanical foot at the control moment, as well as the actual position and actual velocity of the mechanical foot at the control moment.
  • the acceleration, angular velocity and posture i.e., the actual Euler angle
  • the state estimation algorithm can be used to obtain the actual position and actual posture of the fuselage and mechanical legs in the world coordinate system.
  • the actual position and actual speed of the mechanical foot at the control moment can be determined.
  • the actual position and actual speed of the toe of the mechanical foot at the control moment can be determined as the actual position and actual speed of the mechanical foot at the control moment.
  • a PD feedback controller is used to determine the desired acceleration of the foot based on the difference between the actual position and the reference position of the mechanical foot, the difference between the actual speed and the reference speed of the mechanical foot, and the reference acceleration of the mechanical foot.
  • the desired acceleration of the foot can be expressed as follows:
  • k p,foot and k d,foot are the proportional coefficient and differential coefficient corresponding to the robotic foot, respectively.
  • Step 1201f obtain the expected operation space task according to the expected swing acceleration, the expected support acceleration, the expected center of mass acceleration, the expected posture acceleration and the expected foot acceleration.
  • the expected operation space task By combining the swing expected acceleration, support expected acceleration, center of mass expected acceleration, attitude expected acceleration and foot expected acceleration, the expected operation space task can be obtained.
  • the desired operational space mission can be expressed as follows:
  • Step 1202 based on the expected operation space task, and the robot's whole-body dynamics model and forward kinematics model, obtain the expected joint torque set corresponding to the expected operation space task, which includes the expected joint torques for controlling various parts and the center of mass of the robot.
  • the above-mentioned expected operation space task can be used for task-oriented whole body control of the robot, that is, by considering the mass, inertia and other dynamic information of all the links of the robot, all the degrees of freedom of the robot can be mobilized to control the robot to complete one or more set tasks.
  • the whole body dynamics model of the robot in the joint space system can be expressed as follows:
  • NG represents the total degrees of freedom of the robot, that is, the sum of the floating basis degrees of freedom NF and the active joint degrees of freedom NJ .
  • NC represents the number of contact forces corresponding to the robot, that is, the product of the number of contact points nC and the dimension of a single contact force ND ⁇ ⁇ 0, 1, 2, 3 ⁇ .
  • the connecting rods of the quadruped-foot-wheel hybrid robot can include 4 mechanical legs, 4 mechanical wheels, 4 mechanical feet, the waist in the fuselage (a separate connecting root), and the torso, upper limbs and head in the fuselage (the three are a whole).
  • the active joints of the quadruped-foot-wheel hybrid robot can include 2 hip joints, the telescopic joints corresponding to the 4 mechanical legs, the rotation joints of the 4 mechanical wheels, the foot joints of the 4 mechanical feet, and 2 pitch rotation joints (i.e., pitch joint + side swing joint).
  • the active joint degrees of freedom of the robot are the degrees of freedom corresponding to the above 16 active joints.
  • the floating base degrees of freedom refer to the robot's floating base coordinate system's six degrees of freedom (position, px, py, pz, and attitude, yaw, roll, and pitch) in the world coordinate system.
  • the floating base coordinate system is constructed with the hip joint's center of rotation as its origin. Initially, the coordinate axes of the floating base coordinate system are aligned with those of the world coordinate system.
  • the number of contact points refers to the number of contact points between the supporting leg and the supporting surface. For example, during the swinging motion of the swinging leg group, the number of contact points must be at least four (with at least two contact points per supporting leg).
  • the above forward kinematics model is used to indicate the relationship between the acceleration of the robot in the operation space and the velocity and acceleration of the robot in the joint space of the robot.
  • the forward kinematics equation of the robot can be expressed as follows:
  • J t represents the acceleration of the robot in the operating space at the control time t, and They represent the velocity and acceleration of the robot in the joint space, that is, the generalized position vector and generalized velocity vector at each degree of freedom of the robot, J t and Represents the Jacobian matrix and the first-order derivative of the Jacobian matrix corresponding to the task space.
  • the process of obtaining the desired joint torque set may include the following:
  • the whole-body dynamics model and the forward kinematics model are combined to obtain the dynamics equation to be solved.
  • the dynamics equation to be solved uses the acceleration of the robot in the joint space as the unknown variable.
  • the robot's motion it is also subject to the physical limitations of the robot's body structure and the drive motor.
  • the present application also sets constraints in the process of solving the expected joint torque set.
  • the solution process of the dynamic equation to be solved can be as follows:
  • the joint physical constraint expression is used to constrain the various joints of the robot.
  • the contact force between the robot and the support surface under the constraint of the friction constraint expression satisfies the friction cone constraint.
  • the active joint torque in the unknown variable is limited by ⁇ , that is, the joint physical constraint expression can be: ⁇ 1b ⁇ ub ; where ⁇ 1b and ⁇ ub respectively represent the minimum and maximum values of the drive motor torque (such as the torque of all the drive motors of the robot).
  • the contact force corresponding to the foot of the robot's mechanical leg should satisfy the friction cone constraint.
  • the friction cone can be approximated as a friction angle cone, and the friction constraint expression can be:
  • nx , ny , and nz represent the unit orthogonal basis along the contact surface in the world coordinate system
  • ⁇ i represents the friction coefficient corresponding to the i-th contact force
  • fi represents the i-th contact force
  • fz ,lb and fz ,ub represent the minimum and maximum non-negative positive pressures perpendicular to the contact surface, respectively.
  • Each foot corresponds to a contact force, which can be the combined force of the mechanical wheel and the mechanical foot. Alternatively, each foot can be divided into two contact forces: one for the mechanical wheel and one for the mechanical foot. This is not limited in this embodiment of the present application.
  • the support surface exerts a reaction force fw (i.e., contact force) on the mechanical wheels, satisfying the friction cone constraint on the wheels and preventing them from slipping or lifting off the ground.
  • the support surface also exerts a reaction force ff on the mechanical feet, satisfying the friction cone constraint on the feet and preventing them from slipping or lifting off the ground.
  • the combination of these two forces is equivalent to superimposing the torque of the mechanical wheels and the torque of the feet, which together help maintain balance and enable the robot to stand more stably.
  • the quadratic programming optimization method can be used to construct the objective function of the intermediate dynamic equation.
  • the desired joint torque set is iteratively determined with the objective function minimized as the optimization goal.
  • the desired joint torque set is iteratively determined with the objective function minimized as the optimization goal.
  • the active joint torque ⁇ in the unknown variable X can then be directly determined as the desired joint torque set.
  • the expected joint torque set can include the expected joint torques corresponding to the two hip joints (each corresponding to a leg group), the four corresponding extension joints of the legs, the four wheel joints, the four foot joints, and the two pitch and rotation joints (i.e., the pitch joint and the roll joint).
  • the expected joint torque is the desired joint torque that can be used to directly control the drive motors that drive the joints, such as controlling joint rotation.
  • the robot model structure is relatively simple
  • This embodiment of the present application is not limited to this.
  • Step 1203 According to the expected joint torque set, the robot is controlled to move under the guidance of the expected operation space task.
  • the expected joint torque set includes the expected joint torques of each active joint of the robot at each control moment. At any control moment, for any active joint, it is only necessary to drive the drive motor corresponding to the active joint according to the expected joint torque of the active joint at that control moment to achieve the following of the expected operation space task. That is, the robot can move under the guidance of the expected operation space task and follow the various reference movement trajectories corresponding to the expected operation space task to achieve the control of the robot.
  • the above-mentioned desired joint torque set can be used to control the robot to move in the pre-motion cycle, swing cycle and final motion cycle respectively to achieve tasks such as gait walking, climbing stairs, and crossing obstacles.
  • the motion process of a quadruped-foot-wheel hybrid robot is used as an example to illustrate the technical solution provided by the embodiment of the present application.
  • the motion process may include a pre-motion cycle, multiple swing cycles, and a final motion cycle.
  • the robot's motion process may include the following:
  • the robot 1101 in the initial state (the same as the pre-motion state, i.e. the mechanical feet have been adjusted) uses the second mechanical leg group 1103 as support and swings the first mechanical leg group 1102 to enter the first state.
  • the hip joint rotation is controlled according to the desired joint torque of the corresponding hip joint (corresponding to the desired swing acceleration), so that the two swinging mechanical legs swing synchronously in the forward direction, and at the same time, the telescopic joint is controlled to contract according to the desired joint torque of the corresponding telescopic joint.
  • the two swinging mechanical legs are first shortened synchronously to avoid the swinging mechanical legs from colliding with the ground, and then the telescopic joint is controlled to extend according to the desired joint torque of the corresponding telescopic joint, and the two swinging mechanical legs are extended synchronously, so that the first mechanical leg group 1102 contacts the ground to take the first step.
  • the two supporting mechanical legs in the second mechanical leg group 1103 are controlled to remain standing through the desired joint torque (corresponding to the desired support acceleration) of the hip joints corresponding to the second mechanical leg group 1103 .
  • the pitch joint rotation is controlled by the desired joint torque corresponding to the body (corresponding to the desired angular momentum acceleration, the desired center of mass acceleration, and the desired attitude acceleration), so that the body first rotates clockwise (i.e., tilts forward) and then rotates counterclockwise (i.e., returns to vertical) to match the swing of the first mechanical leg group 1102.
  • the lateral swing joint remains stationary.
  • the desired joint torque of the foot joint corresponding to the first robotic leg group 1102 (corresponding to the desired foot acceleration) is used to control the auxiliary surface of the mechanical foot in the first robotic leg group 1102 to always remain parallel to the support surface
  • the desired joint torque of the foot joint corresponding to the second robotic leg group 1103 is used to control the auxiliary surface of the mechanical foot in the second robotic leg group 1103 to be parallel to and in contact with the support surface, so that the robot 1101 can stand stably during movement.
  • the first swing cycle the robot 1101 in the first state, with the first mechanical leg group 1102 as support, swings the second mechanical leg group 1103, and enters the second state; the robot 1101 in the second state controls the shortening of each mechanical leg in the first mechanical leg group 1102, and controls the extension of each mechanical leg in the second mechanical leg group 1103, and enters the third state, interchanges the functions of the first mechanical leg group 1102 and the second mechanical leg group 1103, and enters the first state.
  • the hip joints are controlled to rotate according to the desired joint torque of their corresponding hip joints, so that the two swinging mechanical legs swing synchronously in the forward direction, and at the same time, the telescopic joints are controlled to contract according to the desired joint torque of their corresponding telescopic joints, and the two swinging mechanical legs are first shortened synchronously to avoid collision with the ground, and then the telescopic joints are controlled to extend according to the desired joint torque of their corresponding telescopic joints, and the two swinging mechanical legs are extended synchronously, so that the second mechanical leg group 1103 contacts the ground to take the second step.
  • the two supporting mechanical legs in the first mechanical leg group 1102 are controlled to keep standing through the desired joint torque of the hip joints corresponding to the first mechanical leg group 1102.
  • the pitch rotation joint is controlled by the desired joint torque corresponding to the fuselage, so that the fuselage rotates clockwise first and then counterclockwise to match the swing of the second mechanical leg group 1103.
  • the auxiliary surface of the mechanical foot in the second robotic leg group 1103 is controlled to always remain parallel to the support surface through the desired joint torque of the foot joint corresponding to the second robotic leg group 1103, and the auxiliary surface of the mechanical foot in the first robotic leg group 1102 is controlled to be parallel to and in contact with the support surface through the desired joint torque of the foot joint corresponding to the first robotic leg group 1102, so that the robot 1101 can stand stably during movement.
  • the two supporting mechanical legs in the first mechanical leg group 1102 are controlled to shorten by the desired joint torque of the hip joint corresponding to the first mechanical leg group 1102, and the mechanical legs in the second mechanical leg group 1103 are controlled to shorten by the desired joint torque of the hip joint corresponding to the second mechanical leg group 1103, so that the fuselage is located directly above the first mechanical leg group 1102.
  • the other joints remain stationary.
  • the control method of the robot is the same as that for the first swing cycle, which will not be repeated here.
  • Ending motion cycle In the first state, the robot 1101, supported by the second mechanical leg group 1103, swings the first mechanical leg group 1102 until it overlaps with the second mechanical leg group 1103, entering the initial state. During this process, the body of the robot 1101 remains vertical.
  • the hip joints are controlled to rotate according to the desired joint torque of their corresponding hip joints, so that the two swinging mechanical legs swing synchronously in the forward direction, and at the same time, the telescopic joints are controlled to contract according to the desired joint torque of their corresponding telescopic joints, and the two swinging mechanical legs are first shortened synchronously to avoid collision with the ground, and then the telescopic joints are controlled to extend according to the desired joint torque of their corresponding telescopic joints, and the two swinging mechanical legs are extended synchronously, so that the first mechanical leg group 1102 swings to overlap with the second mechanical leg group 1103.
  • the two supporting robotic legs in the second robotic leg group 1103 are controlled to keep standing by the desired joint torque of the hip joints corresponding to the second robotic leg group 1103 .
  • the pitch rotation joint is controlled not to rotate by the desired joint torque corresponding to the fuselage, so that the fuselage remains vertical.
  • the desired joint torque of the foot joint corresponding to the first mechanical leg group 1102 is used to control the auxiliary surface of the mechanical foot in the first mechanical leg group 1102 to always remain parallel to the support surface until the auxiliary surface of the mechanical foot in the first mechanical leg group 1102 is parallel to and in contact with the support surface (i.e., four-legged standing state), and the desired joint torque of the foot joint corresponding to the second mechanical leg group 1103 is used to control the auxiliary surface of the mechanical foot in the second mechanical leg group 1103 to be parallel to and in contact with the support surface, so that the robot 1101 can stand stably during movement.
  • Figure 16 is a simulated flat-ground walking motion data of a quadruped and wheeled hybrid robot provided by an embodiment of the present application.
  • curve 1601 is a curve showing the change of the expected joint torque command (i.e., the expected joint torque) of the rotary joint of the mechanical wheel over time
  • curve 1602 is a curve showing the change of the expected joint torque command of the foot joint of the mechanical foot over time. Except for the peak of the first expected joint torque command coming from the preparatory action of taking a step (i.e., the pre-motion cycle), the quadruped and wheeled hybrid robot took a total of 3 steps forward (i.e., three swing cycles) during this process.
  • the rotary joint of the mechanical wheel can contribute a maximum torque of about 2.5Nm, while the foot joint can contribute about 15-30Nm of torque. From this, it can be seen that the contribution of the mechanical wheel is relatively small. This is because the radius of the mechanical wheel is small. In addition, due to the need to meet the constraint of no relative sliding between the mechanical wheel and the ground, from the physical limit analysis, the contribution of the mechanical wheel will not be too large. However, the experimental data proves that the wheel-foot hybrid structure has a torque superposition effect, which enables the robot to stand more stably.
  • the technical solution provided by the embodiments of the present application is that for a robot having a first mechanical leg group and a second mechanical leg group, and having mechanical legs with mechanical wheels and mechanical feet on the feet, in the process of controlling the movement of the robot by alternating swinging of the first mechanical leg group and the second mechanical leg group, the mechanical feet of the feet assist the mechanical wheels to enable the robot to remain standing on the support surface, so that the feet can maintain the robot standing with no less than two contact points (such as the contact points between the mechanical feet and the mechanical wheels and the support surface respectively).
  • the robot can stand more stably on the support surface and is not prone to falling, thereby effectively improving the robot's movement stability.
  • the robot can be made to stand with one set of mechanical legs and swing with another set of mechanical legs by planning the desired operation space task, so as to move quickly in a dynamic equilibrium state (i.e., the center of gravity of the robot can exceed the support area of the robot), thereby improving the movement efficiency of the robot.
  • the center of gravity of the robot refers to the point where the gravity of the robot is concentrated, and the center of mass of the robot is the weighted average of the position of the mass point with respect to its mass. If the gravity is uniform, the center of mass and the center of gravity can coincide.
  • the support area of the robot refers to the area enclosed by the contact points between the feet of each mechanical leg of the robot and the support surface.
  • the related technology needs to always control the projection of the center of gravity within the support area, resulting in a very small center of mass speed of the robot and a very slow entire movement.
  • the center of gravity of the robot in the embodiment of the present application can exceed the support area of the robot, and the entire movement is very fast, thereby improving the movement efficiency of the robot.
  • the expected joint torque set corresponding to the expected operation space task can be accurately obtained according to the expected operation space task, and then the expected operation space task can be accurately achieved according to the expected joint torque set, thereby improving the control accuracy of the robot.
  • the inverted pendulum model is used to calculate the expected acceleration of the center of mass in the first direction (i.e., the forward direction), so that the center of mass of the robot can not only move continuously along the first direction, but also help the robot maintain dynamic balance, so that the robot can move stably and quickly, further improving the control stability and movement efficiency of the robot.
  • FIG. 17 a block diagram of a robot control device provided by one embodiment of the present application is shown.
  • the device has the function of implementing the above-described robot control method, which can be implemented by hardware or by hardware executing corresponding software.
  • the device can be the computer device described above (such as a foot-wheel hybrid robot), or it can be placed in a computer device.
  • the device 1700 includes: a second state switching module 1701, a third state switching module 1702, and a first state switching module 1703.
  • the second state switching module 1701 is used to stand on the support surface through the mechanical wheels and mechanical feet in the supporting mechanical leg group in each swing cycle, rotate the hip joints corresponding to the swinging mechanical leg group to make the swinging mechanical leg group swing in the first direction, and adjust the length of the mechanical legs in the swinging mechanical leg group and the rotation angle of the mechanical feet in the swinging mechanical leg group, so that the robot enters the second state from the first state, wherein, in the first state and the second state, the mechanical wheels and mechanical feet on each foot of the robot are in contact with the support surface, in the first state, the supporting mechanical leg group is located in front of the swinging mechanical leg group under the first direction constraint, and in the second state, the supporting mechanical leg group is located behind the swinging mechanical leg group under the first direction constraint.
  • the third state switching module 1702 is used to control the extension of each mechanical leg in the supporting mechanical leg group, and to control the shortening of each mechanical leg in the swinging mechanical leg group, so that the robot enters the third state from the second state, wherein, in the third state, the body of the robot is located in the corresponding area above the swinging mechanical leg group.
  • the first state switching module 1703 is used to interchange the functions of the supporting mechanical leg group and the swinging mechanical leg group, so that the robot enters the first state from the third state; wherein, the robot in the swinging cycle moves in the first direction on the supporting surface.
  • the second state switching module 1701 is further configured to:
  • the fuselage Before each mechanical wheel and each mechanical foot in the swinging mechanical leg group moves to contact the support surface, the fuselage is controlled to rotate so as to be adjusted to be vertical.
  • the second state switching module 1701 is further configured to:
  • the auxiliary surface of the mechanical foot on the robotic leg is controlled to be parallel to the support surface at a first control moment, where the first control moment refers to a planned moment when the mechanical foot contacts the support surface;
  • controlling the toe of the mechanical foot on the mechanical leg to contact the support surface at a first control moment
  • the mechanical wheel feet in the swinging mechanical leg group are controlled to rotate to contact the support surface.
  • the robot also has a pre-motion cycle before entering the first swing cycle; as shown in FIG18 , the device 1700 further includes: a pre-motion state switching module 1704 .
  • a pre-motion state switching module 1704 configured to control the rotation of the mechanical feet during the pre-motion period so that the robot enters the pre-motion state from an initial state, wherein in the initial state, the robot stands on the support surface with the mechanical wheels, and in the pre-motion state, each mechanical wheel and each mechanical foot corresponding to the supporting mechanical leg group is in contact with the support surface;
  • the first state switching module 1703 is further configured to adjust the supporting mechanical leg group, the swinging mechanical leg group, and the body so that the robot enters the first state from the pre-motion state.
  • the apparatus 1700 further includes: an expected task acquisition module 1705 , an expected torque acquisition module 1706 , and a robot movement module 1707 .
  • the expected task acquisition module 1705 is used to obtain the expected operation space task of the robot on the support surface, wherein the expected operation space task includes the expected acceleration of each part of the robot in the operation space of the robot, and the expected acceleration of the center of mass of the robot in the operation space, and the expected operation space task is used to guide the robot to move in the first direction on the support surface.
  • the expected torque acquisition module 1706 is used to obtain the expected joint torque set corresponding to the expected operation space task based on the expected operation space task, the whole-body dynamics model and the forward kinematics model of the robot, and the expected joint torque set includes the expected joint torques for controlling various parts of the robot and the center of mass.
  • the robot movement module 1707 is used to control the robot to move under the guidance of the expected operation space task according to the expected joint torque set.
  • the expected operation space task includes the expected acceleration of each of the mechanical feet in the operation space; the expected task acquisition module 1705 is further configured to:
  • any control moment corresponding to the robot obtain a reference position, a reference velocity, and a reference acceleration of the mechanical foot at the control moment according to a foot reference movement trajectory corresponding to the mechanical foot, wherein the foot reference movement trajectory is obtained according to a movement trajectory planning of the support surface relative to the mechanical foot;
  • a proportional differential (PD) feedback controller is used to calculate the expected acceleration of the foot at the control moment based on the reference position, reference speed, and reference acceleration of the mechanical foot at the control moment, as well as the actual position and actual speed of the mechanical foot at the control moment.
  • the expected operation space task further includes an expected angular momentum acceleration of the center of mass of the robot in the operation space, and the expected angular momentum acceleration is used to guide the rotation of the body; the expected task acquisition module 1705 is further used to:
  • a PD feedback controller is used to calculate the expected acceleration of the angular momentum at the control moment based on the reference angular momentum, reference angular momentum velocity and reference angular momentum acceleration of the center of mass at the control moment, as well as the actual angular momentum and actual angular momentum velocity of the center of mass at the control moment.
  • the mechanical legs corresponding to the first mechanical leg group move synchronously
  • the mechanical legs corresponding to the second mechanical leg group move synchronously
  • the mechanical feet corresponding to the first mechanical leg group move synchronously
  • the mechanical feet corresponding to the second mechanical leg group move synchronously.
  • the technical solution provided by the embodiments of the present application is for a robot having a first mechanical leg group and a second mechanical leg group, and having mechanical legs with mechanical wheels and mechanical feet on the feet.
  • the mechanical feet of the feet assist the mechanical wheels to enable the robot to remain standing on the support surface, so that the feet can maintain the robot standing with no less than two contact points (such as the contact points between the mechanical feet and the mechanical wheels and the support surface respectively).
  • the robot can stand more stably on the support surface and is not prone to falling, thereby effectively improving the robot's movement stability.
  • the apparatus provided in the above embodiments when implementing its functions, is only illustrated by the division of the above functional modules.
  • the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
  • the apparatus and method embodiments provided in the above embodiments are based on the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.
  • FIG 19 shows a simplified block diagram of a computer device 1900 provided in one embodiment of the present application.
  • the computer device 1900 can be any electronic device capable of data calculation, processing, and storage.
  • the computer device 1900 can be used to implement the robot control method provided in the above embodiments.
  • the computer device 1900 includes a processor 1901 and a memory 1902 .
  • the processor 1901 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc.
  • the processor 1901 may be implemented in at least one hardware form of DSP (Digital Signal Processing), FPGA (Field Programmable Gate Array), or PLA (Programmable Logic Array).
  • the processor 1901 may also include a main processor and a coprocessor.
  • the main processor is a processor for processing data in the awake state, also known as a CPU (Central Processing Unit); the coprocessor is a low-power processor for processing data in the standby state.
  • the processor 1901 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the display screen.
  • the processor 1901 may also include an AI processor for processing computing operations related to machine learning.
  • Memory 1902 may include one or more computer-readable storage media, which may be non-transitory. Memory 1902 may also include high-speed random access memory and non-volatile memory, such as one or more magnetic disk storage devices and flash memory storage devices. In some embodiments, the non-transitory computer-readable storage media in memory 1902 is used to store a computer program, which is configured to be executed by one or more processors to implement the above-mentioned robot control method.
  • FIG19 does not constitute a limitation on the computer device 1900 , and may include more or fewer components than shown, or combine certain components, or adopt a different component arrangement.
  • a chip is further provided, in which a computer program is stored.
  • the computer program is loaded and executed by a processor to implement the above-mentioned robot control method.
  • a computer-readable storage medium is further provided, wherein the storage medium stores a computer program, and the computer program implements the above-mentioned robot control method when executed by a processor of a computer device.
  • the computer-readable storage medium may include: ROM (Read-Only Memory), RAM (Random-Access Memory), SSD (Solid State Drives), or an optical disk, etc.
  • the random access memory may include ReRAM (Resistance Random Access Memory) and DRAM (Dynamic Random Access Memory).
  • a computer program product comprising a computer program stored in a computer-readable storage medium.
  • a processor of a computer device reads the computer program from the computer-readable storage medium and executes the computer program, causing the computer device to perform the above-described robot control method.
  • a prompt interface, pop-up window or voice prompt information before collecting the relevant data of the user and during the process of collecting the relevant data of the user, a prompt interface, pop-up window or voice prompt information can be displayed.
  • the prompt interface, pop-up window or voice prompt information is used to remind the user that its relevant data is currently being collected, so that the present application only starts to execute the relevant steps of obtaining the relevant data of the user after obtaining the confirmation operation issued by the user on the prompt interface or pop-up window. Otherwise (that is, when the confirmation operation issued by the user on the prompt interface or pop-up window is not obtained), the relevant steps of obtaining the relevant data of the user are terminated, that is, the relevant data of the user is not obtained.

Landscapes

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

Abstract

一种机器人的控制方法、装置、设备及存储介质,涉及人工智能技术领域。该方法包括:对于具有第一机械腿组和第二机械腿组、且存在设置有机械轮和机械足的机械腿的机器人,在每一个摆动周期内,通过支撑机械腿组中的机械轮和机械足站立在支撑面上,控制摆动机械腿组向第一方向摆动,以及调整摆动机械腿组中的机械腿的长度和机械足的旋转角度,使得机器人从第一状态进入第二状态(601);控制支撑机械腿组中的各个机械腿伸长,以及控制摆动机械腿组中的各个机械腿缩短,使得机器人从第二状态进入第三状态(602);对支撑机械腿组和摆动机械腿组功能互换,使得机器人从第三状态进入第一状态(603)。本申请能够提高机器人的运动稳定性。

Description

机器人的控制方法、装置、设备及存储介质
本申请要求于2024年03月20日提交的申请号为202410327875.6、发明名称为“机器人的控制方法、装置、设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及人工智能技术领域,特别涉及一种机器人的控制方法、装置、设备及存储介质。
背景技术
随着机器人控制技术的发展,一些组织和科研机构相继推出了以机械轮为足的轮腿式机器人,该轮腿式机器人不仅可依靠机械轮快速滑行,还可依靠机械轮步态行走、爬楼梯、越障碍等。
以四足轮腿式机器人为例,相关技术可通过控制四足轮腿式机器人的两组机械腿交替摆动,以执行在支撑面上步态行走、爬楼梯、越障碍等任务。然而,相关技术仅依靠机械足与支撑面接触,如在摆动机械腿的过程中,仅通过一组机械腿与支撑面之间的两个接触点(即机械足与支撑面之间的接触点)来保持四足轮腿式机器人站立,这容易导致机器人的站立不够稳定,进而导致机器人的运动不够稳定。
发明内容
本申请实施例提供了一种机器人的控制方法、装置、设备及存储介质。本申请实施例提供的技术方案包括如下内容。
根据本申请实施例的一个方面,提供了一种机器人的控制方法,所述方法由计算机设备执行,所述机器人包括机身、通过髋关节与所述机身相连的第一机械腿组和第二机械腿组,所述第一机械腿组和所述第二机械腿组中的至少一个机械腿组包括至少两个机械腿,存在至少一个所述机械腿远离所述髋关节的足部设置有机械轮和机械足,所述第一机械腿组对应的髋关节的旋转轴和所述第二机械腿组对应的髋关节的旋转轴位于同一竖直平面,在所述机器人的移动过程中,用于摆动的机械腿组为摆动机械腿组,用于站立的机械腿组为支撑机械腿组;所述方法包括:
在每一个摆动周期内,通过所述支撑机械腿组中的机械轮和机械足站立在支撑面上,旋转所述摆动机械腿组对应的髋关节以使得所述摆动机械腿组向第一方向摆动,以及调整所述摆动机械腿组中的机械腿的长度和所述摆动机械腿组中的机械足的旋转角度,使得所述机器人从第一状态进入第二状态,其中,在所述第一状态和所述第二状态下,所述机器人的各个足部上的机械轮和机械足与所述支撑面接触,在所述第一状态下,所述支撑机械腿组位于所述摆动机械腿组在所述第一方向约束下的前方,在所述第二状态下,所述支撑机械腿组位于所述摆动机械腿组在所述第一方向约束下的后方;
控制所述支撑机械腿组中的各个机械腿伸长,以及控制所述摆动机械腿组中的各个机械腿缩短,使得所述机器人从所述第二状态进入第三状态,其中,在所述第三状态下,所述机器人的机身位于所述摆动机械腿组上方对应的区域;
对所述支撑机械腿组和所述摆动机械腿组功能互换,使得所述机器人从所述第三状态进入所述第一状态;
其中,处于所述摆动周期内的机器人在所述支撑面上向所述第一方向移动。
根据本申请实施例的一个方面,提供了一种机器人的控制装置,所述机器人包括机身、通过髋关节与所述机身相连的第一机械腿组和第二机械腿组,所述第一机械腿组和所述第二机械腿组中的至少一个机械腿组包括至少两个机械腿,存在至少一个所述机械腿远离所述髋关节的足部设置有机械轮和机械足,所述第一机械腿组对应的髋关节的旋转轴和所述第二机械腿组对应的髋关节的旋转轴位于同一竖直平面,在所述机器人的移动过程中,用于摆动的机械腿组为摆动机械腿组,用于站立的机械腿组为支撑机械腿组;所述装置包括:
第二状态切换模块,用于在每一个摆动周期内,通过所述支撑机械腿组中的机械轮和机械足站立在支撑面上,旋转所述摆动机械腿组对应的髋关节以使得所述摆动机械腿组向第一方向摆动,以及调整所述摆动机械腿组中的机械腿的长度和所述摆动机械腿组中的机械足的旋转角度,使得所述机器人从第一状态进入第二状态,其中,在所述第一状态和所述第二状态下,所述机器人的各个足部上的机械轮和机械足与所述支撑面接触,在所述第一状态下,所述支撑机械腿组位于所述摆动机械腿组在所述第一方向约束下的前方,在所述第二状态下,所述支撑机械腿组位于所述摆动机械腿组在所述第一方向约束下的后方;
第三状态切换模块,用于控制所述支撑机械腿组中的各个机械腿伸长,以及控制所述摆动机械腿组中的各个机械腿缩短,使得所述机器人从所述第二状态进入第三状态,其中,在所述第三状态下,所述机器人的机身位于所述摆动机械腿组上方对应的区域;
第一状态切换模块,用于对所述支撑机械腿组和所述摆动机械腿组功能互换,使得所述机器人从所述第三状态进入所述第一状态;其中,处于所述摆动周期内的机器人在所述支撑面上向所述第一方向移动。
根据本申请实施例的一个方面,提供了一种芯片,所述芯片中存储有计算机程序,所述计算机程序由处理器加载并执行以实现上述机器人的控制方法。
根据本申请实施例的一个方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现上述机器人的控制方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现上述机器人的控制方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述机器人的控制方法。
本申请实施例提供的技术方案可以包括如下有益效果:
对于拥有第一机械腿组和第二机械腿组、且存在足部设置有机械轮和机械足的机械腿的机器人,在以第一机械腿组和第二机械腿组交替摆动的方式来控制机器人移动的过程中,通过足部的机械足辅助机械轮,以使得机器人保持站立在支撑面上,实现该足部以不小于2个接触点(如机械足和机械轮分别与支撑面之间的接触点)的方式来保持机器人站立,相比于相关技术中的1个接触点,可使得机器人能够更稳定地站立在支撑面上,不易跌倒,从而有效提高了机器人的运动稳定性。
附图说明
图1是本申请一个实施例提供的方案实施环境的示意图;
图2是本申请一个实施例提供的四足足轮混合式机器人的示意图;
图3是本申请一个实施例提供的足轮混合式机器人爬楼梯的示意图;
图4是本申请一个实施例提供的足轮混合式机器人跨路肩的示意图;
图5是本申请一个实施例提供的足轮混合式机器人跨凹坑的示意图;
图6是本申请一个实施例提供的机器人的控制方法的示意图;
图7是本申请一个实施例提供的摆动周期内机器人的控制方法的示意图;
图8是本申请另一个实施例提供的摆动周期内机器人的控制方法的示意图;
图9是本申请一个实施例提供的预运动周期内机器人的控制方法的示意图;
图10是本申请一个实施例提供的收尾运动周期内机器人的控制方法的示意图;
图11是本申请一个实施例提供的四足足轮混合式机器人的控制方法的示意图;
图12是本申请另一个实施例提供的机器人的控制方法的示意图;
图13是本申请一个实施例提供的期望操作空间任务的示意图;
图14是本申请一个实施例提供的机器人的倒立摆模型的示意图;
图15是本申请一个实施例提供的四足足轮混合式机器人的模型简化图;
图16是本申请一个实施例提供的四足足轮混合式机器人的仿真平地迈步动作数据的示意图;
图17是本申请一个实施例提供的机器人的控制装置的框图;
图18是本申请另一个实施例提供的机器人的控制装置的框图;
图19是本申请一个实施例提供的计算机设备的简化结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、预训练模型技术、操作/交互系统、机电一体化等。其中,预训练模型又称大模型、基础模型,经过微调后可以广泛应用于人工智能各大方向下游任务。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、数字孪生、虚拟人、机器人、人工智能生成内容(AIGC,Artificial Intelligence Generated Content)、对话式交互、智能医疗、智能客服、游戏AI等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的技术方案主要涉及人工智能技术中的机器人技术,主要涉及机器人智能控制。机器人是利用机械传动、现代微电子技术组合而成的一种能模仿人某种技能的机械电子设备,机器人是在电子、机械及信息技术的基础上发展而来的。机器人的样子不一定必须像人,只要能自主完成人类所赋予他的任务与命令,就属于机器人大家族的成员。机器人是一种自动化的机器,这种机器具备一些与人或生物相似的智能能力,如感知能力、规划能力、动作能力和协同能力,是一种具有高度灵活性的自动化机器。随着计算机技术和人工智能技术的发展,使机器人在功能和技术层次上有了很大的提高,移动机器人和机器人的视觉和触觉等技术就是典型的代表。
本申请实施例提供的技术方案,各步骤的执行主体可以是计算机设备,该计算机设备可以是指具备数据计算、处理和存储能力的电子设备。
可选地,上述计算机设备可以是诸如台式计算机、笔记本电脑等用于控制机器人的PC(Personal Computer,个人计算机)设备;也可以是用于控制机器人的服务器。其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。计算机设备和机器人之间可以通过物理线路、网络等连接。例如,参考图1,计算机设备101可根据机器人103的参考移动轨迹,确定机器人103的期望操作空间任务,如该期望操作空间任务可以包括机器人103的各个部位分别在机器人103的操作空间下的期望加速度,再基于期望操作空间任务计算出机器人103对应的期望关节力矩集,以及根据期望关节力矩集通过网络102控制机器人103(如机器人103的各个关节电机)运动,如计算机设备101可根据机器人103的期望操作空间任务对应的期望关节力矩集,控制机器人103的第一机械腿组104和第二机械腿组105交替摆动,以使得机器人103按照期望操作空间任务对应的参考移动轨迹在支撑面上移动。上述参考移动轨迹为针对机器人的移动而规划得到的轨迹,如其可以是根据支撑面对机器人的运动轨迹进行规划得到的。
可选地,上述计算机设备也可以是机器人本身,也即本申请实施例提供的技术方案中各个步骤的执行主体为机器人。例如,参考图1,计算机设备101可将机器人103的期望操作空间任务(或参考移动轨迹),通过网络102发送给机器人103,机器人103根据期望操作空间任务(或参考移动轨迹)计算出对应的期望关节力矩集,再根据期望关节力矩集进行移动。可选地,机器人103还可以根据真实环境,自动规划参考移动轨迹,并计算得到参考移动轨迹对应的期望操作空间任务,以在真实环境中执行不同的任务,本申请实施例对此不作限定。
在一个示例中,本申请实施例中的机器人可以是指足轮混合式机器人,足轮混合式机器人可以是指足部设置有机械轮和机械足的腿式机器人,如存在至少一个足部设置有一对机械轮和机械足的腿式机器人,腿式机器人为基于机械腿移动的机器人。可选地,足轮混合式机器人可单独通过机械轮执行滑行、步态行走、爬楼地、越障碍等任务,也可以通过机械足辅助机械轮执行步态行走、爬楼地、越障碍等任务,本申请实施例对此不作限定。
示例性地,本申请实施例中的机器人可以包括机身、通过髋关节与机身相连的第一机械腿组和第二机械腿组,第一机械腿组和第二机械腿组中的至少一个机械腿组包括至少两个机械腿。例如,第一机械腿组包括至少两个机械腿,第二机械腿组也可以包括至少两个机械腿,第一机械腿组中存在至少两个机械腿分别位于机器人的中轴线(即矢状面)两侧,第二机械腿组中存在至少两个机械腿也分别位于机器人的中轴线两侧。
可选地,机器人的各个机械腿并排分布,也即第一机械腿组对应的髋关节的旋转轴和第二机械腿组对应的髋关节的旋转轴位于同一竖直平面。例如,在第一机械腿组为外侧机械腿组的情况下,第一机械腿组包括至少两个机械腿,该至少两个机械腿可以均匀设置在第二机械腿组的两侧,第一机械腿组中的机械腿与第二机械腿组中的机械腿并排分布,在这种情况下,第二机械腿组可被称为内侧机械腿组;在第二机械腿组为外侧机械腿组的情况下,第二机械腿组包括至少两个机械腿,该至少两个机械腿可以均匀设置在第一机械腿组的两侧,本申请实施例对此不作限定。
在一个示例中,上述机器人可以为四足足轮混合式机器人,如该机器人包括四条机械腿,每个机械腿组可以包括两条机械腿,每条机械腿上具有一个足部,如四足足轮混合式机器人可以包括两条外侧机械腿和两条内侧机械腿;上述机器人也可以为三足足轮混合式机器人,如该机器人包括两条外侧机械腿和一条内侧机械腿,本申请实施例对此不作限定。可选地,上述机器人可通过外侧机械腿或内侧机械腿站立在支撑面上,也可通过外侧机械腿上的机械轮轮或内侧机械腿上的机械轮,在支撑面上滑行,还可通过控制外侧机械腿组和内侧机械腿组交替摆动,在支撑面上移动(即行走)。
在本申请实施例中,对于上述机器人,存在至少一个机械腿远离髋关节的足部设置有机械轮和机械足,本申请实施例对同一个足部上的机械轮的数量和机械足的数量不作限定,其可根据实际使用需求进行设置与调整。示例性地,存在至少一个机械腿远离髋关节的足部设置有一对同轴的机械轮和机械足,也即存在至少一个足部,其对应的机械轮的旋转轴和其对应的机械足的旋转轴位于同一直线上。可选地,上述机器人的所有机械腿上均设置有一对同轴的机械轮和机械足;或者,上述机器人的部分机械腿上设置有一对同轴的机械轮和机械足,本申请实施例对此不作限定。
例如,以四足足轮混合式机器人为例,该四足足轮混合式机器人对应的各个机械腿上均可设置有一对同轴的机械轮和机械足;或者,对于该四足足轮混合式机器人对应的两个机械腿组,有且仅有一个机械腿组中的各个机械腿上设置有一对同轴的机械轮和机械足;或者,对于该四足足轮混合式机器人对应的两个机械腿组,每个机械腿组中均有一个机械腿对应设置有一对同轴的机械轮和机械足;或者,对于该四足足轮混合式机器人对应的各个机械腿,有且仅有一个机械腿上设置有一对同轴的机械轮和机械足,本申请实施例对此不作限定。
可选地,各个机械轮可独立驱动,各个机械足可独立旋转。可以将机械足设置在机械轮的左侧,也可以将机械足设置在机械轮的右侧,还可以以镂空的样式将机械轮设置在机械足的根部镂空区域,本申请实施例机械足和机械轮之间的位置不作限定。
本申请实施例对机械轮和机械足的尺寸也不作限定,如各个机械轮的直径相同,各个机械足的长度相同,机械足的长度可以是机械轮的直径的1.5倍、2倍等。本申请实施例对机械足的样式也不作限定,如机械足的样式可以包括以下至少一项:类足样式、长方形样式、三角形样式。
上述机械足可用于辅助机械轮以使得机器人更平稳地站立在支撑面上。可选地,在不需要借助机械足的情况下,该机械足可旋转至与机械腿重合,也可以旋转至与机械腿垂直,还可以旋转至任意不影响机械轮与支撑面接触的角度,本申请实施例对此不作限定。在需要借助机械足的情况下,该机械足可以旋转至与支撑面接触,以与机械轮共同支撑机器人站立在支撑面上。
例如,以四足足轮混合式机器人为例,在四足足轮混合式机器人对应的各个机械腿上均设置有一对同轴的机械轮和机械足的情况下,若任一机械轮与支撑面接触,均可使用与该机械轮同轴的机械足来辅助该机械轮,支撑机器人站立;或者,在有且仅有一个机械腿组中的各个机械腿上设置有一对同轴的机械轮和机械足的情况下,若不具有机械足的机械腿组用于支撑,则仅依靠该机械腿组对应的各个机械轮,支撑机器人站立,若具有机械足的机械腿组用于支撑,则可依靠该机械腿组对应的各个机械轮和各个机械足,支撑机器人站立;或者,在有且仅有一个机械腿上设置有一对同轴的机械轮和机械足的情况下,若不具有机械足的机械腿组用于支撑,则仅依靠该机械腿组对应的各个机械轮来支撑机器人站立,若有具机械足的机械腿组用于支撑,则可依靠该机械腿组对应的各个机械轮和一个机械足来支撑机器人站立,本申请实施例对此不作限定。
为了便于说明,下文将以机器人的各个足部均设置有一对同轴的机械轮和机械足为例,对本申请实施例提供的技术方案进行说明。
可选地,机器人的机身对应设置有俯仰关节,通过该俯仰关节可控制机身旋转,如通过旋转俯仰关节,可控制机器人的机身作出俯仰动作。机器人的髋关节可用于旋转机器人的机械腿,如通过旋转髋关节可控制机器人的机械腿旋转,机器人的各个机械腿可独立伸缩。
在一个示例中,第一机械腿组对应的机械足同步运动,第二机械腿组对应的机械足同步运动,如对于任一机械腿组,机械腿组中的各个机械足同步旋转;第一机械腿组对应的机械腿同步运动,第二机械腿组对应的机械腿同步运动,如对于任一机械腿组,机械腿组中的各个机械腿同步旋转和伸缩;第一机械腿组对应的机械轮同步运动,第二机械腿组对应的机械轮同步运动,如对于任一机械腿组,机械腿组中的各个机械轮同步旋转。
例如,参考图2,其是本申请一个实施例提供的四足足轮混合式机器人的结构示意图。该四足足轮混合式机器人200可以包括:机身、髋关节和机械腿。
其中,四足足轮混合式机器人200具有四个机械腿:2个外侧机械腿201和2个内侧机械腿202,2个内侧机械腿202位于2个外侧机械腿201之间,四个机械腿均可以沿图2所示方向(双向箭头)独立伸缩。四个机械腿可对称分布在矢状面206的两侧,四个机械腿呈并排分布。2个外侧机械腿201可形成第一机械腿组(也可以称为外侧机械腿组),2个内侧机械腿202可形成第二机械腿组(也可以称为内侧机械腿组)。
四个机械腿的足部均安装有一对共轴的机械轮203和机械足204,也即机械轮203对应的旋转轴和机械足204对应的旋转轴位于同一直线,机械足204安装在机械轮203的外侧。每个机械轮203均可以独立驱动,每个机械足204也均可以独立驱动。
四足足轮混合式机器人200可通过2个内侧机械腿202或2个外侧机械腿201站立,以处于双腿站立状态;四足足轮混合式机器人200也可同时通过2个内侧机械腿202和2个外侧机械腿201站立,以处于四腿站立状态,本申请实施例对此不作限定。
在一个可行示例中,2个内侧机械腿202可以被实现为一个整体,也即四足足轮混合式机器人200可以被实现为三足足轮混合式机器人,其仅具有一个内侧机械腿。
各个机械腿远离足部的另一个末端连接有髋关节211,各个机械腿可绕各自的髋关节211旋转,并保持联动。在本申请实施例中,四足足轮混合式机器人200对应的各个髋关节204的旋转轴位于同一竖直平面205,且四足足轮混合式机器人200对应的各个机械腿的旋转平面平行。两条内侧机械腿202对应的髋关节211位于两条外侧机械腿201对应的髋关节211之间,四个髋关节211对称分布在矢状面206的两侧。
可选地,四足足轮混合式机器人200对应的各个髋关节211可以同轴,即各个髋关节211的旋转轴位于同一直线。四足足轮混合式机器人200对应的各个髋关节211也可以不同轴,如2个内侧机械腿202对应的髋关节211同轴,2个外侧机械腿201对应的髋关节211同轴,但2个内侧机械腿202对应的髋关节211,与2个外侧机械腿201对应的髋关节211不同轴。
在一个示例中,2个外侧机械腿201对应的髋关节211共用同一个驱动电机,以使得2个外侧机械腿201同步运动;2个内侧机械腿202对应的髋关节211共用同一个驱动电机,以使得2个内侧机械腿202同步运动。在一个可行示例中,四足足轮混合式机器人200对应的各个髋关节211也可由各自对应的驱动电机独立驱动,本申请实施例对此不作限定。
可选地,四足足轮混合式机器人200的机身可以包括腰部207、躯体208、头部209和上肢210。
其中,四足足轮混合式机器人200对应的各个髋关节211与腰部207的同一端相连接,腰部207的另一端与躯体208的一端相连接。腰部207有两个旋转轴:可以使躯体208实现俯仰的俯仰旋转轴(可对应设置俯仰关节),以及可以使躯体208侧摆的侧摆旋转轴(可对应设置侧摆关节),侧摆关节与俯仰关节保持串联设计,且处于俯仰关节的上端,与躯体208相连接。本申请实施例中的旋转机身可以是指绕俯仰旋转轴旋转俯仰关节,使得躯体208旋转(俯仰)的过程。可选地,通过绕侧摆旋转轴旋转侧摆关机,可以使得躯体208旋转,如绕着侧摆旋转轴左右旋转,完成躯体208的侧摆(转身)。其中,侧摆旋转轴可平行于重力方向,俯仰旋转轴可呈水平方向。
躯体208的另一端与头部209和上肢210相连接,上肢210可以是多自由度的上肢,如上肢210可实现为多自由度的机械臂。可选地,上肢210上部署有末端执行器,诸如机械手爪、吸盘等。头部209中可以部署数据采集设备以对真实环境进行感知,诸如图像采集设备、视频拍摄设备、IMU(Inertial Measurement Unit,惯性测量单元)等。其中,IMU还可被安置在躯体208的几何中心处、髋关节中心点处等,其可用于测量躯体208的实际加速度、实际姿态角速度、实际欧拉角等。
在一些可行示例中,四足足轮混合式机器人200中还可以部署有工作站,工作站可用于控制机器人的各个部位运动。可选地,该工作站可以实现为一台NUC(Next Unit of Computing,下一个计算单元)小型计算机。
在本申请实施例提供的技术方案中,四足足轮混合式机器人200的机械轮、机械足、机械腿、髋关节、俯仰关节和机身(包括IMU)为控制算法必须硬件,其余为非必须硬件。
在一些实施例中,本申请实施例提供的机器人的控制方法可适用于多种场景,诸如机器人步态行走、机器人爬楼梯、机器人跨门槛、机器人跨路肩、机器人跨凹坑,以及任何跨越障碍的场景,这有利于提高机器人对环境的适应能力,以及机器人的通用性。另外,本申请实施例通过机械足辅助机械轮保持机器人站立,能够提高机器人的运动稳定性。
下文将以四足足轮混合式机器人为例,对本申请实施例提供的技术方案的应用场景进行举例说明。
四足足轮混合式机器人相对于四足轮腿式机器人具有更稳定的结构。基于机械足,四足足轮混合式机器人抗外界冲击扰动的能力更强,其既可承担大负载,又可在狭窄空间通行,还可对不同高度的物体执行任务,这使得四足足轮混合式机器人对环境具有较强的适应能力。
在一个示例中,参考图3,四足足轮混合式机器人301在执行爬楼梯任务时,可先根据楼梯规划出四足足轮混合式机器人301对应的参考移动轨迹,该参考移动轨迹可引导四足足轮混合式机器人301完成爬楼梯任务,再计算出参考移动轨迹对应的期望操作空间任务,然后计算出期望操作空间任务对应的期望关节力矩集,最后根据期望关节力矩集控制外侧机械腿组302(即第一机械腿组)和内侧机械腿组303(即第二机械腿组)交替摆动,来完成爬楼梯。例如,先以外侧机械腿组302为支撑机械腿组进行支撑,内侧机械腿组303为摆动机械腿组进行摆动,使得四足足轮混合式机器人301爬上第一台阶,再以内侧机械腿组303为支撑机械腿组进行支撑,外侧机械腿组302为摆动机械腿组进行摆动,使得四足足轮混合式机器人301爬上第二台阶,外侧机械腿组302和内侧机械腿组303依次交替摆动,以完成爬楼梯任务。其中,在机器人的移动过程中,用于摆动的机械腿组为摆动机械腿组,用于站立的机械腿组为支撑机械腿组。
在这个过程中,还可控制机械足辅助机器轮,以使得四足足轮混合式机器人301保持稳定站立,以及旋转机身以配合机械腿组交替摆动,以使得四足足轮混合式机器人301进行更仿生地爬楼梯。
在一个示例中,参考图4,四足足轮混合式机器人401在执行跨路肩任务时,可先根据路肩规划出四足足轮混合式机器人401对应的参考移动轨迹,该参考移动轨迹可引导四足足轮混合式机器人401完成跨路肩任务,再计算出参考移动轨迹对应的期望操作空间任务,然后计算出期望操作空间任务对应的期望关节力矩集,最后根据期望关节力矩集控制外侧机械腿组402和内侧机械腿组403交替摆动,来完成跨路肩。例如,先以内侧机械腿组403为支撑机械腿组进行支撑,外侧机械腿组402为摆动机械腿组进行摆动,使得四足足轮混合式机器人401的外侧机械腿组402爬上路肩,再以外侧机械腿组402为支撑机械腿组进行支撑,内侧机械腿组403为摆动机械腿组进行摆动,使得四足足轮混合式机器人401完全跨过路肩。
在这个过程中,还可控制机械足辅助机器轮,以使得四足足轮混合式机器人401保持稳定站立,以及旋转机身以配合机械腿组交替摆动,以使得四足足轮混合式机器人401进行更仿生地跨路肩。
在一个示例中,参考图5,四足足轮混合式机器人501在执行跨凹坑任务时,可先根据凹坑规划出四足足轮混合式机器人501对应的参考移动轨迹,该参考移动轨迹可引导四足足轮混合式机器人501完成跨凹坑任务,再计算出参考移动轨迹对应的期望操作空间任务,然后计算出期望操作空间任务对应的期望关节力矩集,最后根据期望关节力矩集控制外侧机械腿组502和内侧机械腿组503交替摆动,来完成跨凹坑。例如,先以内侧机械腿组503为支撑机械腿组进行支撑,外侧机械腿组502为摆动机械腿组进行摆动,使得四足足轮混合式机器人501的外侧机械腿组502跨过凹坑,再以外侧机械腿组502为支撑机械腿组进行支撑,内侧机械腿组503为摆动机械腿组进行摆动,使得四足足轮混合式机器人501完全跨过凹坑。
在这个过程中,还可控制机械足辅助机器轮,以使得四足足轮混合式机器人501保持稳定站立,以及旋转机身以配合机械腿组交替摆动,以使得四足足轮混合式机器人501进行更仿生地跨路肩。
下文将采用方法实施例对本申请实施例提供的机器人的控制方法进行说明,该方法实施例未说明的内容可参考上述实施例,这里不再赘述。
请参考图6,其示出了本申请一个实施例提供的机器人的控制方法的流程图。在本申请实施例中,以各个步骤的执行主体为机器人为例,对机器人的控制方法进行说明。该方法可以包括如下几个步骤(601~603)。
步骤601,在每一个摆动周期内,通过支撑机械腿组中的机械轮和机械足站立在支撑面上,旋转摆动机械腿组对应的髋关节以使得摆动机械腿组向第一方向摆动,以及调整摆动机械腿组中的机械腿的长度和摆动机械腿组中的机械足的旋转角度,使得机器人从第一状态进入第二状态,其中,在第一状态和第二状态下,机器人的各个足部上的机械轮和机械足与支撑面接触,在第一状态下,支撑机械腿组位于摆动机械腿组在第一方向约束下的前方,在第二状态下,支撑机械腿组位于摆动机械腿组在第一方向约束下的后方。
在机器人的移动过程中,用于摆动的机械腿组为摆动机械腿组,用于站立的机械腿组为支撑机械腿组,摆动机械腿组中的机械腿可被称为摆动机械腿,支撑机械腿组中的机械腿可被称为支撑机械腿,支撑机械腿可用于支撑机器人站立在支撑面上,摆动机械腿可用于实现机器人的移动。本申请实施例中的机器人与上述实施例介绍相同,本申请实施例未说明的内容,可以参考上述实施例,这里不再赘述。
例如,在通过机器人的第一机械腿组站立在支撑面上,以及控制机器人的第二机械腿组摆动的情况下,第一机械腿组可被称为支撑机械腿组,第二机械腿组可被称为摆动机械腿组;在通过机器人的第二机械腿组站立在支撑面上,以及控制机器人的第一机械腿组摆动的情况下,第二机械腿组可被称为支撑机械腿组,第一机械腿组可被称为摆动机械腿组;在同时通过机器人的第一机械腿组和第二机械腿组站立在支撑面上的情况下,第一机械腿组和第二机械腿组均可被称为支撑机械腿组,本申请实施例对此不作限定。
可选地,在机器人步态行走、爬楼梯、跨障碍等场景中,机器人的移动过程可实现为第一机械腿组和第二机械腿组交替摆动的过程。例如,参考图7,以步态行走为例,机器人701先以第一机械腿组702为支撑,摆动第二机械腿组703,完成第一步移动,再以第二机械腿组703为支撑,摆动第一机械腿组702,完成第二步移动,如此交替摆动第一机械腿组702和第二机械腿组703,即可完成步态行走。
又例如,参考图8,以爬楼梯为例,机器人801先以第一机械腿组802为支撑,摆动第二机械腿组803,跨过第一个台阶,再以第二机械腿组803为支撑,摆动第一机械腿组802,跨过第二个台阶,如此交替摆动第一机械腿组802和第二机械腿组803,即可完成爬楼梯。
在一个示例中,本申请实施例可将机器人的移动过程划分为多个摆动周期,每个摆动周期对应摆动机械腿组的一个完整摆动过程,即摆动机械腿组从离开支撑面到再次与支撑面相接触的过程,该多个摆动周期可对应第一机械腿组和第二机械腿组的完整交替摆动过程。在将机器人的机械腿组根据功能(如支撑和站立)划分成支撑机械腿组和摆动机械腿组的情况下,可将机器人的移动过程理解为摆动机械腿组的重复摆动过程,也即在每个摆动周期内,机器人的运动方法相同,本申请实施例以某一个摆动周期内机器人的运动为例进行示例说明。可选地,上述摆动周期可以实现为摆动机械腿组完成一个完整摆动过程的时间段,各个摆动周期首尾依次相接,以对应机器人运动的完整时间段。
例如,如图7所示,对于第二机械腿组703(或第一机械腿组702)的一个完整摆动过程,可对应设置一个摆动周期。又如图8所示,对于第二机械腿组803(或第一机械腿组802)的一个完整摆动过程,可对应设置一个摆动周期。
可选地,处于摆动周期内的机器人在支撑面上向第一方向移动,也即摆动机械腿组向第一方向摆动,经过一个摆动周期后,机器人在第一方向上产生位移。本申请实施例对第一方向不作限定,其可以用于指示机器人的前进方向。示例性地,在步态行走、爬楼梯、跨障碍等场景中,该第一方向可以是指水平方向(即与重力方向垂直的方向),以用于指示机器人的前进方向。支撑面是指供机器人站立的面。在本申请实施例中,该支撑面可以仅包括一个平面,如平坦的地面、道路等,该支撑面也可以包括多个高度不同的平面,如楼梯、带有路肩的路面、带有凹坑的地面等,本申请实施例对此不作限定。
在一个示例中,每个摆动周期可以被划分为三个阶段,第一阶段:机器人从第一状态变更至第二状态;第二阶段:机器人从第二状态变更至第三状态;第三阶段:机器人从第三状态变更至第一状态。
上述第一状态是指机器人在摆动周期内的初始状态,而不是机器人真实的初始状态,每个摆动周期均以第一状态为初始状态,也即每个摆动周期结束时,机器人需恢复至第一状态。可选地,在机器人真实的初始状态不是第一状态的情况下,需要将机器人调整至第一状态,以为机器人进行周期性运动提供基础。上述第二状态是机器人在摆动周期内的摆动态,也即摆动机械腿组在第一方向上完成位移后的状态,如摆动机械腿组在从第一状态对应的位置移动至第二状态对应的位置后,停止继续移动。上述第三状态是机器人在摆动周期内的调整态,也即机器人与接触面之间的接触点不再产生位置变化,仅对机器人的姿态进行调整后的状态。下文将对各个状态下的机器人进行说明。
在本申请实施例中,在第一状态下,机器人的各个足部上的机械轮和机械足与支撑面接触,如第一状态下的机器人以各个足部(如用于站立的各个机械腿的足部)上的机械轮和机械足站立在支撑面上,也即每个机械腿通过其对应的一对机械轮和机械足,与支撑面接触,实现每个足部通过至少两个接触点来支撑机器人站立。可选地,在机械足的足尖与支撑面接触的情况下,每个足部包括机械轮与支撑面之间的接触点,以及机械足与支撑面之间的接触点;在机械足的辅助面与支撑面接触的情况下,每个足部包括机械轮与支撑面之间的接触点,以及辅助面与支撑面之间的多个接触点,这使得机器人能够更稳定地站立在支撑面上,不易跌倒,从而有效提高了机器人的运动稳定性。
其中,机械足的辅助面可用于与支撑面接触以辅助机械轮,使得机器人站立。该辅助面可以是一个平面,其可被设置在足尖的底部,以在与支撑面接触时与支撑面相贴合(即平行且接触),本申请实施例对辅助面的尺寸、样式不作限定,其可以根据实际使用需求进行设置与调整。
可选地,第一状态下的机器人,还可控制机器人的机身位于支撑机械腿组上方对应的区域,如可控制机身位于支撑机械腿组的正上方(也即机身与支撑机械腿组位于同一直线上),也可控制机身位于支撑机械腿组的左上方,还可控制机身位于支撑机械腿组的右上方,本申请实施例对此不作限定。其中,该机身可以包括腰部、躯体、头部和上肢,在机器人的运动过程中,腰部、躯体、头部和上肢可视为一个整体。例如,可控制机身位于支撑机械腿组的正上方,以使得机器人的质心在支撑面上的投影落在支撑机械腿组中的机械足上,从而使得机器人更稳定地站立。
可选地,第一状态下的机器人,控制支撑机械腿组位于摆动机械腿组在第一方向约束下的前方,如此有利于在接下来的运动过程中,通过支撑机械腿组保持机器人站立,以及通过摆动机械腿组实现机器人的移动,使得机器人不易摔倒。
例如,参考图7中箭头指引下的第一个画面和第五个画面,在第一状态下,机器人701以各个足部上的机械轮和机械足站立在地面上,机器人701的机身位于支撑机械腿组(即即将用于站立的第一机械腿组702)的正上方,机器人701的支撑机械腿组位于摆动机械腿组(即即将用于摆动的第二机械腿组703)在第一方向(如水平向右)约束下的前方。
又例如,参考图8中箭头指引下的第一个画面和第七个画面,在第一状态下,机器人801以各个足部上的机械轮和机械足站立在楼梯上,其中,第一机械腿组802位于第一个台阶上,第二机械腿组803位于地面上,以使得机器人801稳定站立,机器人801的机身位于支撑机械腿组(即即将用于站立的第一机械腿组802)的正上方,机器人801的支撑机械腿组位于摆动机械腿组(即即将用于摆动的第二机械腿组803)在第一方向(如水平向右)约束下的前方。
在本申请实施例中,在第二状态下,机器人的各个足部上的机械轮和机械足也与支撑面接触,如第二状态下的机器人也以各个足部上的机械轮和机械足站立在支撑面上(以下简称全腿站立态),也即在一个摆动周期内,可以将第一状态后,机器人首次所进入的全腿站立态确定为第二状态。区别于第一状态,第二状态下的机器人,控制支撑机械腿组位于摆动机械腿组在第一方向约束下的后方,以便于第一机械腿组和第二机械腿组的交替摆动。第二状态下的机器人的机身尚未移动至第三状态对应的区域,即摆动机械腿组与支撑面相接触后上方对应的区域。
例如,参考图7中箭头指引下的第四个画面,在第二状态下,机器人701也以各个足部上的机械轮和机械足站立在地面上,机器人701的支撑机械腿组(即第一机械腿组702)位于摆动机械腿组(即第二机械腿组703)在第一方向(如水平向右)约束下的后方,机器人701的机身尚未移动至支撑机械腿组的正上方。
又例如,参考图8中箭头指引下的第六个画面,在第二状态下,机器人801也以各个足部上的机械轮和机械足站立在楼梯上,其中,第一机械腿组802位于第一个台阶上,第二机械腿组803位于第二个台阶上,以使得机器人801稳定站立,机器人801的支撑机械腿组(即第一机械腿组802)位于摆动机械腿组(即第二机械腿组803)在第一方向(如水平向右)约束下的后方,机器人801的机身尚未移动至支撑机械腿组的正上方。
在一个示例中,在机器人从第一状态变更至第二状态的过程中,机器人可始终控制支撑机械腿组中的各个机械轮和各个机械足,与支撑面保持接触,以使得机器人稳定站立在支撑面上。可选地,在该过程中,机器人可以不对支撑机械腿组中的各个机械腿进行旋转,也可以不对支撑机械腿组中的机械腿进行伸缩。例如,机器人可控制支撑机械腿的髋关节和伸缩关节、支撑机械轮的轮关节和支撑机械足的足关节均不旋转,以控制支撑机械腿组始终与支撑面保持接触。其中,伸缩关节用于控制机械腿的伸缩,以调整机械腿的长度。轮关节用于控制机械轮的旋转,足关节用于控制机械足的旋转。用于支撑的机械轮被称为支撑机械轮,用于支撑的机械足被称为支撑机械足。
机器人可同步控制摆动机械腿组对应的各个髋关节绕着各自的旋转轴旋转,以使得摆动机械腿组中的各个机械腿同步向第一方向摆动。髋关节的旋转方向与第一方向相关,如在第一方向为水平向右的情况下,可控制摆动机械腿组对应的各个髋关节绕着各自的旋转轴逆时针旋转;在第一方向为水平向左的情况下,可控制摆动机械腿组对应的各个髋关节绕着各自的旋转轴顺时针旋转,本申请实施例对此不作限定。
可选在,在摆动机械腿组的摆动过程中,可先同步控制摆动机械腿缩短,以避免摆动机械腿与支撑面发生碰撞,在摆动机械腿经过支撑机械腿后,可同步控制摆动机械腿伸长,以使得摆动机械腿上的机械轮和机械足能够与支撑面相接触。其中,摆动机械腿的缩短时机和伸长时机,可根据实际使用需求进行设置与调整,本申请实施例对此不作限定。例如,在摆动机械腿组的摆动过程中,对于各个摆动机械腿,可通过控制摆动机械腿的伸缩关节,先缩短摆动机械腿的长度,再通过控制摆动机械腿的伸缩关节,伸长摆动机械腿的长度。
可选地,在旋转摆动机械腿组的同时,机器人可适应性调整摆动机械腿上的机械足的旋转角度,机械足的旋转角度用于指示机械足的姿态,如机械足以旋转过的角度。示例性地,机械足对应设置有足关节,以控制机械足的旋转,足关节的旋转角度即为机械足的旋转角度,如该旋转角度可用于指示相对于足关节的初始关节角度(如0),足关节的关节角度的变化量。
在一个示例中,机械足的旋转角度的调整方法可以包括以下至少一种:
1、在控制机械腿摆动的过程中,控制机械腿上的机械足的辅助面与支撑面平行,该辅助面用于与支撑面接触以辅助机械轮,使得机器人站立。
可选地,机器人可动态调整摆动机械腿上的机械足的旋转角度,以使得摆动机械腿对应的辅助面始终与支撑面平行,如此在机械足与支撑面相接触时,即可使得辅助面与支撑面平行且接触,从而有利于保持机器人的稳定站立,以及有利于支撑机械腿与摆动机械腿之间的顺利转换,从而使得摆动机械腿可快速替代支撑机械腿保持机器人稳定站立,进而避免支撑机械腿与摆动机械腿转换时,机器人站立不稳的问题,进一步提高了机器人的运动稳定性。
2、在控制机械腿摆动的过程中,控制机械腿上的机械足的辅助面在第一控制时刻与支撑面平行,该第一控制时刻是指规划机械足与支撑面接触的时刻。
可选地,机器人仅需在第一控制时刻完成机械足的旋转角度的调整即可,而在第一控制时刻之前的大部分时间内,可不对机械足的旋转角度进行调整,如此有利于减少对机械足的旋转角度的控制工作量,以及机械足的控制复杂度。
例如,在机械足即将与接触面相接触的情况下,开始调整机械足的旋转角度,以使得机械足的辅助面在第一控制时刻与支撑面平行。该旋转角度的调整时机,可根据实际使用需求进行设置与调整,本申请实施例对此不作限定。
3、在控制机械腿摆动的过程中,控制机械腿上的机械足的足尖在第一控制时刻与支撑面接触。
也即,机器人控制摆动机械腿上的足尖和机械轮,在第一控制时刻同时与支撑面接触,以使得摆动机械腿形成对机器人的稳定支撑。可选地,机器人仅需在第一控制时刻完成机械足的旋转角度的调整即可。
4、在摆动机械腿组中的机械轮摆动至与支撑面接触后,控制摆动机械腿组中的机械轮足旋转至与支撑面接触。
也即,机器人控制摆动机械腿上的机械轮与支撑面先接触,再调整摆动机械腿上的机械足的旋转角度,以使得摆动机械腿上的机械足(如足尖、辅助面)也与支撑面相接触。
例如,机器人在第一控制时刻,完成控制摆动机械腿上的机械轮与支撑面相接触,在第一控制时刻之后,再旋转摆动机械腿上的机械足以使得机械足的辅助面与支撑面平行且接触。
例如,参考图7中箭头指引下的前四个画面,机器人701从第一状态变更至第二状态的过程可以如下:第一状态下的机器人701,通过第一机械腿组702(支撑机械腿组)中的各个机械轮和各个机械足站立在地面上,以及逆时针旋转第二机械腿组703对应的髋关节以使得第二机械腿组703向右摆动,在第二机械腿组703的摆动过程中,控制第一机械腿组702始终与支撑面相接触,以形成对机器人701的支撑,以及先控制第二机械腿组703中的各个机械腿缩短,再控制第二机械腿组703中的各个机械腿伸长,同时控制第二机械腿组703对应的各个机械足的辅助面与地面保持平行,在第二机械腿组703摆动至与地面接触时,机器人701变更至第二状态。
又例如,参考图8中箭头指引下的全部画面,机器人801从第一状态变更至第二状态的过程可以如下:第一状态下的机器人801,通过第一机械腿组802(支撑机械腿组)中的各个机械轮和各个机械足站立在第一个台阶上,以及逆时针旋转第二机械腿组803对应的髋关节以使得第二机械腿组803向右摆动,在第二机械腿组803的摆动过程中,控制第一机械腿组802始终与支撑面相接触,以形成对机器人801的支撑,以及先控制第二机械腿组803中的各个机械腿缩短,再控制第二机械腿组803中的各个机械腿伸长,在第二机械腿组803中的各个机械轮与第二个台阶接触后,顺时针旋转第二机械腿组803中的各个机械足,以使得第二机械腿组803对应的各个辅助面与第二个台阶接触且平行,机器人801变更至第二状态。
本申请实施例通过针对机械足的旋转角度,提供多种调整方法,这有利于提高机械足的调整灵活性,进而有利于提高机器人的控制灵活性。
在一个示例中,机器人在进入第一个摆动周期之前还对应有预运动周期,该运动周期对应于机器人从机器人的初始状态变更至第一状态的完整过程。可选地,上述预运动周期可以实现为机器人从初始状态变更至第一状态这一完整过程所对应的时间段,预运动周期对应的结束时刻即为第一个摆动周期对应的开始时刻。
示例性地,机器人在预运动周期内的控制方法可以包括如下内容:
1、在预运动周期内,控制机械足旋转,使得机器人从初始状态进入预运动状态,其中,在初始状态下,机器人以机械轮站立在支撑面上,在预运动状态下,支撑机械腿组对应的各个机械轮和各个机械足与支撑面接触。
该初始状态可以是指上述机器人的真实的初始状态,本申请实施例对机器人的初始状态不作限定。示例性地,在初始状态为双腿站立状态的情况下,机器人可以通过第一机械腿组或第二机械腿组中的各个机械轮和各个机械足站立在支撑面上,也可仅通过第一机械腿组或第二机械腿组中的各个机械轮站立在支撑面上,本申请实施例对此不作限定。可选地,在双腿站立状态下,机器人的各个机械腿可以在水平方向上重叠,机身保持至竖直,机身与各个机械腿在同一直线上。
在初始状态为四腿站立状态的情况下,机器人可以同时通过第一机械腿组和第二机械腿组中的各个机械轮和各个机械足站立在支撑面上,也可仅同时通过第一机械腿组和第二机械腿组中的各个机械轮站立在支撑面上,本申请实施例对此不作限定。其中,第一机械腿组和第二机械腿组可以在水平方向上重叠,也可以在水平方向上不重叠,本申请实施例对此不作限定。
在一些可行示例中,在初始状态下,机器人以机械轮和机械足站立在支撑面上,在机器人需要滑行时,再将机械足收起,在这种情况下,该初始状态可以为双腿混合站立状态,即在双腿站立状态的基础上,支撑机械腿上的机械足也与支撑面接触;该初始状态也可以为四腿混合站立状态(如上述第一状态、第二状态),即在四腿站立状态的基础上,支撑机械腿上的机械足也与支撑面接触,本申请实施例对此不作限定。
可选地,上述预运动状态可以包括以下至少一种:双腿混合站立状态和四腿混合站立状态。
例如,在机器人的初始状态为双腿站立状态(即未使用机械足)的情况下,对于支撑机械腿,可将竖直向上的机械足旋转至与支撑面相接触,机器人进入双腿混合站立状态。其中,对于未与支撑面相接触的机械腿,可将竖直向上的机械足(如辅助面)旋转至与支撑面平行,也可以不对机械足进行旋转。
在机器人的初始状态为四腿站立状态(即未使用机械足)的情况下,对于各个机械腿,可将竖直向上的机械足均旋转至与支撑面相接触,机器人进入四腿混合站立状态。
2、调整支撑机械腿组、摆动机械腿组和机身,使得机器人从预运动状态进入第一状态。
可选地,在预运动状态为双腿混合站立状态的情况下,可将用于支撑的机械腿组确定为支撑机械腿组,未用于支撑的机械腿组确定为摆动机械腿组,机器人通过支撑机械腿组中的机械轮和机械足站立在支撑面上,旋转摆动机械腿组对应的髋关节以使得摆动机械腿组向第一方向摆动,以及调整摆动机械腿组中的机械腿的长度和摆动机械腿组中的机械足的旋转角度,使得机器人从初始状态进入第二状态,再将机器人从第二状态切换为第三状态,最后将机器人从第三状态切换为第一状态。机器人从第二状态切换为第三状态的过程,以及机器人从第三状态切换为第一状态的过程,下文将做详细说明,这里不再赘述。
在预运动状态为四腿混合站立状态的情况下,可将机器人从四腿混合站立状态调整至双腿混合站立状态,再将机器人从双腿混合站立状态调整至第一状态,也可以直接将四腿混合站立状态调整至第一状态。例如,若四腿混合站立状态下的机器人的第一机械腿组和第二机械腿组不重叠,则在确定出支撑机械腿组后,通过将机身调整至位于支撑机械腿组上方对应的区域,即可使得机器人进入第一状态。可选地,在预运动状态为上述第一状态的情况下,保持支撑机械腿组、摆动机械腿组和机身不同,即零调整。在预运动状态为上述第二状态的情况下,可先将机器人从第二状态切换为第三状态,再将机器人从第三状态切换为第一状态。
例如,参考图9(图9为图7对应的预运动周期),机器人701从预运动状态变更至第一状态的过程可以如下:预运动状态下的机器人701,通过第二机械腿组703站立在地面上,以及控制第一机械腿组702对应的髋关节旋转以使得第一机械腿组702向右摆动,在第一机械腿组702向右摆动的过程中,控制第一机械腿组702中的各个机械腿伸长,以及旋转第一机械腿组702中的各个机械足以使得各个机械足的辅助面始终与地面平行,在第一机械腿组702摆动至与地面相接触的情况下,机器人701进入第二状态,再将机器人701从第二状态切换为第三状态,最后将机器人701从第三状态切换为第一状态。
又例如,参考图10(图10为图8对应的预运动周期),机器人801从预运动状态变更至第一状态的过程可以如下:预运动状态下的机器人801,通过第二机械腿组803站立在地面上,以及控制第一机械腿组802对应的髋关节旋转以使得第一机械腿组802向右摆动,在第一机械腿组802向右摆动的过程中,控制第一机械腿组802中的各个机械腿伸长(也可以先缩短再伸长,以避免与第一台阶发生碰撞),以及旋转第一机械腿组802中的各个机械足以使得各个机械足的辅助面始终与地面平行,在第一机械腿组802摆动至与第一个台阶相接触的情况下,机器人801进入第二状态,再将机器人801从第二状态切换为第三状态,最后将机器人801从第三状态切换为第一状态。
本申请实施例通过设置预运动周期,无论机器人的初始状态为何种状态,均可使得机器人进入第一状态,从而实现以第一状态为基础的周期性运动,这有利于降低了机器人的控制复杂度。
步骤602,控制支撑机械腿组中的各个机械腿伸长,以及控制摆动机械腿组中的各个机械腿缩短,使得机器人从第二状态进入第三状态,其中,在第三状态下,机器人的机身位于摆动机械腿组上方对应的区域。
在本申请实施例中,第三状态下的机器人的姿态与第一状态下的机器人的姿态相同,但第三状态下的机器人的第一机械腿组对应的功能,与第一状态下的机器人的第一机械腿组对应的功能不同,第三状态下的机器人的第二机械腿组对应的功能,与第一状态下的机器人的第二机械腿组对应的功能不同。
例如,在第三状态下,第一机械腿组用于摆动,第二机械腿组用于站立,则在第一状态下,第一机械腿组用于站立,第二机械腿组用于摆动。
相对于第二状态,第三状态下的机器人仅在姿态上发生变化,该姿态变化以调整机身为目标,以便于下一摆动周期内机器人可稳定站立。
可选地,在机身的中心点在支撑面上的投影,落在机械腿组在支撑面上所占的区域中的情况下,可以确定机器人的机身位于机械腿组上方对应的区域。或者,在机器人的质心在支撑面上的投影,落在机械腿组在支撑面上所占的区域中的情况下,可以确定机器人的机身位于机械腿组上方对应的区域,本申请实施例对此不作限定。
在一个示例中,在机器人从第二状态变更至第三状态的过程中,机器人在控制支撑机械腿组中的各个机械腿伸长的同时,控制摆动机械腿组中的各个机械腿缩短,以使得机身向第一方向移动,直至机身移动至摆动机械腿组上方对应的区域。支撑机械腿的长度变化和摆动机械腿的长度变化,可根据实际使用需求进行设置与调整,本申请实施例对此不作限定。
例如,参考图7中箭头指引下的第四个画面和第五个画面,第二状态下的机器人701,在控制第一机械腿组702中的各个机械腿伸长的同时,控制第二机械腿组703中的各个机械腿缩短,以使得机身向右移动,在机身移动至第二机械腿组703的正上方时,机器人701进入第三状态。
又例如,参考图8中箭头指引下的第六个画面和第七个画面,第二状态下的机器人801,在控制第一机械腿组802中的各个机械腿伸长的同时,控制第二机械腿组803中的各个机械腿缩短,以使得机身向右移动,在机身移动至第二机械腿组803的正上方时,机器人801进入第三状态。
步骤603,对支撑机械腿组和摆动机械腿组功能互换,使得机器人从第三状态进入第一状态。
可选地,将支撑机械腿组从站立功能切换为摆动功能,以及将摆动机械腿组从摆动功能切换为支撑功能,使得机器人从第三状态进入第一状态。也即,原来的支撑机械腿组更新为新的摆动机械腿组,原来的摆动机械腿组更新为新的支撑机械腿组。
例如,参考图7中箭头指引下的第五个画面,将第一机械腿组702从站立功能切换为摆动功能,将第二机械腿组703从摆动功能切换为站立功能,机器人701从第三状态进入第一状态。
又例如,参考图8中箭头指引下的第七个画面,将第一机械腿组802从站立功能切换为摆动功能,将第二机械腿组803从摆动功能切换为站立功能,机器人801从第三状态进入第一状态。
在一个示例中,在每个摆动周期内,机器人的机身可以始终保持竖直,如此可以简化机身的控制复杂度,从而降低机器人的控制难度。示例性地,可通过机器人的腰部,控制机器人的机身始终保持竖直,如控制腰部上的俯仰关节和侧摆关节不旋转,以控制机器人的机身始终保持竖直。
在一个示例中,在每个摆动周期内,机器人的机身可跟随摆动机械腿组的摆动而动态调整,如此可以使得机器人的运动过程与人的运动过程更相似,从而提升机器人的仿生程度。示例性地,本申请实施例还可以包括如下内容:
1、在控制摆动机械腿组摆动的过程中,控制机身旋转以向第一方向倾斜,其中,支撑机械腿组在重力的驱动下,向第一方向倾斜。
可选地,机器人可控制俯仰关节绕俯仰轴旋转以实现机身的旋转。机身的旋转方向与第一方向相关,如在第一方向为水平向右的情况下,可控制俯仰关节绕俯仰轴顺时针旋转;在第一方向为水平向左的情况下,可控制俯仰关节绕俯仰轴逆时针旋转,本申请实施例对此不作限定。
控制机身旋转以向第一方向倾斜,可使得机身在前进方向上前倾,从而使得支撑机械腿组产生倾斜,在摆动机械腿组接触支撑面时,有利于和摆动机械腿组共同维持机器人的站立稳定性。
2、在摆动机械腿组中的各个机械轮和各个机械足移动至与支撑面接触之前,控制机身旋转以调整至竖直。
可选地,在摆动机械腿组即将摆动至与支撑面相接触的情况下,机器人控制机身反向旋转以恢复竖直,本申请实施例对机身的反向旋转时机不作限定,其可以根据实际使用需求进行设置与调整。可选地,在摆动机械腿组即将摆动至与支撑面相接触的情况下,机器人也可以控制机身旋转以恢复至近似竖直。
通过控制机身旋转以调整至竖直,可避免机身前倾而导致机器人站立不稳定。可选地,步骤2中的机身的旋转方向与步骤1中的机身的旋转方向相反。
例如,参考图7,在机器人701从第一状态变更至第二状态的过程中,先顺时针旋转机身以向右倾斜,再逆时针旋转机身以恢复竖直。又例如,参考图8,在机器人801从第一状态变更至第二状态的过程中,先顺时针旋转机身以向右倾斜,再逆时针旋转机身以恢复竖直。
在一个示例中,机器人在完成最后一个摆动周期之后还对应有收尾运动周期,该收尾运动周期对应机器人从第一状态恢复至初始状态或指定状态的完整过程。可选地,该收尾运动周期可以实现为机器人从第一状态变更至初始状态这一完整过程所对应的时间段,收尾运动周期对应的开始时刻即为最后一个摆动周期对应的结束时刻。指定状态可根据实际使用需求进行设置与调整,如上述的双腿混合站立状态、四腿混合站立状态、双轮站立状态(仅依靠一个机械腿组中的两个机械轮保持站立)、四轮站立状态(依靠二个机械腿组中的四个机械轮保持站立)等。
例如,可先控制机器人从第一状态恢复至预运动状态,再控制机器人从预运动状态恢复至初始状态。也可直接控制机器人从第一状态恢复至初始状态,本申请实施例对此不作限定。可选地,在初始状态为第一状态的情况下,可不对机器人的状态再进行调整。
在一些实施例中,参考图11,以四足足轮混合式机器人的运动过程为例,对本申请实施例提供的技术方案进行说明,该运动过程可以包括一个预运动周期、多个摆动周期和一个收尾运动周期。
预运动周期内:初始状态(与预运动状态相同,也即机械足已调整完成)下的机器人1101,以第二机械腿组1103为支撑,摆动第一机械腿组1102,进入第一状态。
第一个摆动周期:第一状态下的机器人1101,以第一机械腿组1102为支撑,摆动第二机械腿组1103,进入第二状态;第二状态下的机器人1101,控制第一机械腿组1102中的各个机械腿缩短,以及控制第二机械腿组1103中的各个机械腿伸长,进入第三状态,对第一机械腿组1102和第二机械腿组1103进行功能互换,进入第一状态。
第二个摆动周期:第一状态下的机器人1101,以第二机械腿组1103为支撑,摆动第一机械腿组1102,进入第二状态;第二状态下的机器人1101,控制第二机械腿组1103中的各个机械腿缩短,以及控制第一机械腿组1102中的各个机械腿伸长,进入第三状态,对第一机械腿组1102和第二机械腿组1103进行功能互换,进入第一状态。
第三个摆动周期:第一状态下的机器人1101,以第一机械腿组1102为支撑,摆动第二机械腿组1103,进入第二状态;第二状态下的机器人1101,控制第一机械腿组1102中的各个机械腿缩短,以及控制第二机械腿组1103中的各个机械腿伸长,进入第三状态,对第一机械腿组1102和第二机械腿组1103进行功能互换,进入第一状态。
收尾运动周期:第一状态下的机器人1101,以第二机械腿组1103为支撑,将第一机械腿组1102摆动至与第二机械腿组1103重合,进入初始状态。在该过程中,机器人1101的机身保持竖直。
可选地,在初始状态下,机器人1101对应的机械足与机械腿在竖直方向重合,且机械足的足尖向上;对于初始状态外的其他状态,机器人1101对应的机械足的辅助面始终与支撑面保持平行,用于辅助机械轮的机械足的辅助面与支撑面平行且接触,以使得机器人1101在运动过程中能够稳定站立;在第一机械腿组1102或第二机械腿组1103的摆动过程中,机器人1101的机身周期性前后旋转,以辅助第一机械腿组1102或第二机械腿组1103的摆动。
对于支撑机械腿组,支撑机械足始终与支撑面相接触,以和支撑机械轮共同维持机器人1101的稳定站立。
综上所述,本申请实施例提供的技术方案,对于拥有第一机械腿组和第二机械腿组、且存在足部设置有机械轮和机械足的机械腿的机器人,在以第一机械腿组和第二机械腿组交替摆动的方式来控制机器人移动的过程中,通过足部的机械足辅助机械轮,以使得机器人保持站立在支撑面上,实现该足部以不小于2个接触点(如机械足和机械轮分别与支撑面之间的接触点)的方式来保持机器人站立,相比于相关技术中的1个接触点,可使得机器人能够更稳定地站立在支撑面上,不易跌倒,从而有效提高了机器人的运动稳定性。同时,以第一机械腿组和第二机械腿组交替摆动的方式来控制机器人移动,可以进一步提高机器人的移动效率。
请参考图12,其示出了本申请另一个实施例提供的机器人的控制方法的流程图。在本申请实施例中,以各个步骤的执行主体为机器人为例,对机器人的控制方法进行说明。该方法可以包括如下几个步骤(1201~1203):
步骤1201,获取机器人在支撑面上的期望操作空间任务,其中,期望操作空间任务包括机器人的各个部位在机器人的操作空间下的期望加速度,以及机器人的质心在操作空间下的期望加速度,期望操作空间任务用于引导机器人在支撑面上向第一方向移动。
其中,期望操作空间任务是指机器人在操作空间下的期望任务,其可根据机器人和机器人所在的真实环境规划得到,如对机器人在支撑面上所被期望的移动进行规划,即可得到该场景对应的期望操作空间任务。期望任务为机器人所被期望执行的任务,如上述步态行走、爬楼梯、跨障碍等任务。
上述期望操作空间任务对应机器人的完整运动过程,如该期望操作空间任务可以包括机器人分别在预运动周期、摆动周期和收尾周期内的期望任务。可以针对机器人的整体运动过程,进行统一规划得到期望操作空间任务。
示例性地,可针对步态行走、爬楼梯、跨障碍等场景,分别规划对应的期望操作空间任务。例如,步态行走对应的期望操作空间任务可用于引导机器人交替摆动第一机械腿组和第二机械腿组,以实现步态行走任务;爬楼梯对应的期望操作空间任务可用于引导机器人交替摆动第一机械腿组和第二机械腿组,以实现爬楼梯任务;跨障碍对应的期望操作空间任务可用于引导机器人交替摆动第一机械腿组和第二机械腿组,以实现跨障碍任务。
可选地,机器人可通过上述期望操作空间任务中的期望加速度,控制机器人的各个部位进行移动,以实现机器人在支撑面上移动,如机器人可通过上述期望操作空间任务中的期望加速度,对机器人的机械腿、机械足、机械轮和机身进行控制,以使得机器人交替摆动第一机械腿组和第二机械腿组在支撑面上移动。
其中,期望加速度是指结合真实环境得到的、用于实际控制机器人的加速度,而下文的参考加速度为一个规划值,其是用于引导机器人跟随参考移动轨迹移动的加速度。机器人可通过对该期望加速度,控制机器人跟随参考移动轨迹移动。例如,机械腿对应的期望加速度可用于控制机械腿进行摆动,机械足对应的期望加速度可用于控制机械足进行旋转,机身对应的期望加速度可用于控制机身进行旋转。
在一个示例中,期望操作空间任务包括机器人的各个部位分别在各个控制时刻下的期望加速度,以实现机器人整体按照规划移动轨迹进行移动。其中,控制时刻是指通过控制信号控制机器人的时刻,控制时刻按照指定时间间隔排列,该指定时间间隔可根据实际使用需求进行设置与调整。如某一控制时刻下的期望操作空间任务包括机器人的各个部位分别在该控制时刻下的期望加速度。
上述机器人的操作空间可以是指是指机器人对应的笛卡尔空间,在机器人的任务导向全身控制(Task-Oriented Whole Body Control)中,机器人对应的笛卡尔空间可以被称为机器人的操作空间。在本申请实施例中,机器人的操作空间中的各个位置可以基于机器人的世界坐标系进行表征。
示例性地,可以以初始状态下的机器人的足部(如机械轮)与支撑面之间的接触点为原点、水平方向为x轴方向、竖直方向为z轴方向、与水平方向和竖直方向均垂直的方向为y轴方向,构建机器人的世界坐标系。机器人在操作空间中的位置可以基于机器人在世界坐标系下的三维坐标进行表征。可选地,本申请实施例中的计算过程均是在机器人的世界坐标系下发生的。
需要说明的是,本申请实施例未说明的内容,可以参考上述实施例,这里不再赘述。
在一个示例中,上述各个部位可以包括机器人的机械腿、机械足、机械轮和机身,则该期望操作空间任务可以包括机械腿、机械足、机械轮和机身分别对应的期望加速度。
可选地,期望操作空间任务所包括的期望加速度,可以基于机器人的各个部位的参考移动轨迹和机器人的实际状态,通过反馈控制器计算得到,如PD(Proportional Derivative,比例微分)反馈控制器,以及其他反馈控制器。
参考图13,上述步骤1201还可以包括如下几个子步骤:
步骤1201a,根据摆动机械腿组对应的摆动参考移动轨迹,获取摆动机械腿组在操作空间下的摆动期望加速度,摆动参考移动轨迹是根据支撑面对摆动机械腿组的移动轨迹规划得到的。
摆动参考移动轨迹是指摆动机械腿组中的摆动机械腿的参考移动轨迹,如其可以以摆动机械腿上的机械轮的参考移动轨迹进行表征。其中,参考移动轨迹用于引导机器人移动,如参考移动轨迹可以包括机器人在各个控制时刻下的参考位置,参考位置是指机器人所被规划到达的位置。例如,机械轮的参考移动轨迹包括机械轮在各个控制时刻下的参考位置,以引导机械轮按照机械轮的参考移动轨迹移动。
可选地,本申请实施例中的参考移动轨迹可以采用样条曲线插值方法得到。示例性地,可以根据支撑面的尺寸信息,来规划摆动机械腿(如机械轮)分别在预运动周期、摆动周期和收尾周期内的初始位置和结束位置,再采用样条曲线插值方法,分别对摆动机械腿在预运动周期、摆动周期和收尾周期内的初始位置和结束位置进行插值,即可得到该摆动机械腿对应的摆动参考移动轨迹。
例如,以四足足轮混合式机器人爬楼梯为例,可根据楼梯的每个台阶的尺寸信息(如宽度、高度、长度等),规划出摆动机械腿(如机械轮)在每个台阶上的参考位置(以世界坐标系下的三维坐标进行表征),进而在各个参考位置之间进行插值,即可得到摆动参考移动轨迹。
上述摆动期望加速度包括摆动机械腿在各个控制时刻下的期望加速度,如可将摆动机械腿的机械轮在各个控制时刻下的期望加速度确定为摆动期望加速度。摆动期望加速度可用于控制摆动机械腿(包括机械轮)跟随摆动参考移动轨迹进行运动,以使得摆动机械腿摆动。
示例性地,在机器人在多个控制时刻后停止移动的情况下,摆动期望加速度的获取过程可以如下:
1、对于机器人对应的任一控制时刻,根据摆动参考移动轨迹,获取摆动机械腿组在控制时刻的参考位置、参考速度和参考加速度。
可选地,可以直接根据摆动参考移动轨迹,确定摆动机械腿组(如机械轮)在某一控制时刻的参考位置,进而可根据摆动机械腿组在该控制时刻的参考位置,得到摆动机械腿组在该控制时刻的参考速度和参考加速度,如对摆动机械腿组在该控制时刻的参考位置分别对于时间进行一阶求导和二阶求导,即可得到摆动机械腿组在该控制时刻的参考速度和参考加速度。其中,参考速度是指所被规划到达的速度,参考加速度是指所被规划到达的加速度,其并不直接被用于控制机器人。
可选地,由于机械腿组中的机械腿同步运动,机械腿组的参考移动轨迹可以为机械腿组中的任一机械腿在x轴方向和z轴方向下的移动轨迹,可忽略y轴方向。另外,本申请实施例中的机械腿始终保持竖直,不可弯曲。
2、采用PD反馈控制器,根据摆动机械腿组在控制时刻的参考位置、参考速度和参考加速度,以及摆动机械腿组在控制时刻的实际位置和实际速度,计算得到控制时刻下的摆动期望加速度。
可选地,基于机身上的IMU,可测量得到机身的加速度、角速度和姿态(即实际欧拉角),再结合机器人的所有关节的实际角度、实际加速度,以及机器人与支撑面之间的接触点,利用状态估计算法,即可得到机身在世界坐标系下的实际位置、实际速度、实际姿态和实际角速度。又已知髋关节的髋关节中心点和IMU之间的相对位置、相对速度和相对角速度,则可根据机身的状态(即机身在世界坐标系下的实际位置、实际速度、实际姿态和实际角速度)计算得到髋关节中心点的状态。
在本申请实施例中,髋关节中心点为机器人的浮动基坐标系的原点所在处,则根据髋关节中心点的状态,可以得到浮动基坐标系的状态,再结合机器人所有关节的实际角度和实际角速度,利用机器人的全模型的正向运动学,即可计算出机器人对应的所有连杆分别在世界坐标系下的实际位置、实际速度、实际姿态和实际角速度,该所有连杆包括摆动机械腿,进而可得到摆动机械腿(如机械轮)在操作空间中的实际位置和实际速度。其中,实际位置是指摆动机械腿的真实位置,为真实值,实际速度是指摆动机械腿的真实速度,为真实值。正向动力学模型可用于指示机器人在操作空间下的加速度,与机器人在机器人的关节空间下的速度和加速度之间的关系。
示例性地,采用PD反馈控制器,根据摆动机械腿的实际位置和参考位置之间的差异、摆动机械腿的实际速度和参考速度之间的差异,以及摆动机械腿的参考加速度,可确定摆动期望加速度,则摆动期望加速度可以表示如下:
其中,和分别为在控制时刻t,摆动机械腿(如机械轮)在操作空间下的参考位置、参考速度和参考加速度,和分别为在控制时刻t,摆动机械腿(如机械轮)在操作空间下的实际位置和实际速度,kp,swing和kd,swing分别对应为摆动机械腿的比例系数和微分系数。
在一个示例中,第一机械腿组对应的机械腿同步运动,第二机械腿组对应的机械腿同步运动,也即摆动机械腿组中的各个摆动机械腿同步运动,若机器人在y轴方向没有位移,则忽略y轴方向后,摆动机械腿组中的各个摆动机械腿的摆动参考移动轨迹相同。针对任意一个摆动机械腿进行摆动期望加速度的计算,即可得到摆动机械腿组对应的摆动期望加速度,如此可以减少摆动期望加速度的计算量,进而提高机器人的控制效率。
步骤1201b,根据支撑机械腿组对应的支撑参考移动轨迹,获取支撑机械腿组在操作空间下的支撑期望加速度,支撑参考移动轨迹是根据支撑面对支撑机械腿组的移动轨迹规划得到的。
支撑参考移动轨迹是指支撑机械腿组中的支撑机械腿的参考移动轨迹,如其可实现为支撑机械腿上的机械足的参考移动轨迹。支撑期望加速度包括支撑机械腿在各个控制时刻的期望加速度。支撑期望加速度用于控制支撑机械腿跟随支撑参考移动轨迹运动,以保持机器人站立。
在本申请实施例中,在机器人的移动过程中,支撑机械腿在支撑面上的参考位置为固定值,且在支撑机械腿的支撑过程中,支撑机械腿的机械足与支撑面之间无相对滑动,因此支撑期望加速度的值恒为零。
示例性地,支撑期望加速度可以表示如下:
其中,Nc为支撑机械腿的个数(支撑机械腿组中的各个支撑机械腿的机械足均与支撑面接触,Nc也可记为支撑机械腿与支撑面之间的接触点的个数)。
步骤1201c,根据机器人的质心对应的质心参考移动轨迹,获取质心在操作空间下的质心期望加速度,质心参考移动轨迹是根据支撑面对质心的移动轨迹规划得到的。
质心参考移动轨迹是指机器人的质心的参考移动轨迹。质心参考移动轨迹包括机器人的质心在各个控制时刻的参考位置,其可用于引导机器人的质心移动。
可选地,在机器人的移动过程中,机器人的质心不仅需要沿着第一方向(即前进方向)不断移动,还需要帮助机器人保持动态平衡,因此,需要构建一个平衡控制器来计算质心在第一方向下的期望加速度。
示例性地,可以将质心参考移动轨迹划分为第一方向下的子参考移动轨迹,以及竖直方向下的子参考移动轨迹,再根据第一方向下的子参考移动轨迹确定第一方向下的质心子期望加速度,以及根据竖直方向下的子参考移动轨迹,确定竖直方向下的质心子期望加速度,该过程可以包括如下内容:
1、根据质心参考移动轨迹在第一方向下的子参考移动轨迹,获取质心在第一方向下的质心子期望加速度。
其中,第一方向可以为机器人的前进方向,如世界坐标系的x轴方向。
可选地,可以将机器人转换为倒立摆模型,以进行平衡控制器的构建。
示例性地,由于机器人始终是向第一方向移动(如在上述世界坐标系的y轴方向不产生位移),且支撑机械腿组内的机械腿同步运动,摆动机械腿组内的机械腿同步运动,机器人的各个髋关节同轴,则可以将机器人简化为矢状面(如图2中的矢状面206)下的平面模型。
参考图14,在机器人所处的重力场均匀的情况下,机器人的质量集中在机器人的质心1402,若两个支撑机械腿的足部之间的连线的中心,为机器人的倒立摆模型与支撑面的虚拟支撑接触点1401(由于表征足部与支撑面之间的接触点),在连接质心1402与虚拟支撑接触点1401后,则可以将机器人的平面模型转换为机器人的倒立摆模型1400。
在构建机器人的倒立摆模型之后,可根据倒立摆模型进行平衡控制器的构建,进而基于平衡控制器计算出第一方向下的质心子期望加速度,该过程可以如下:
1)以质心的位置、质心的速度、质心与支撑接触点在第一方向下的距离,以及距离的导数为状态变量,质心相对支撑接触点在第一方向下的加速度为控制变量,构建机器人的倒立摆动力学方程,该支撑接触点是指支撑机械腿组对应的足部与支撑面之间的接触点。
在倒立摆模型中,支撑接触点以虚拟支撑接触点表征。示例性地,机器人的倒立摆动力学方程可以表示如下:
其中,Δx和分别为质心与支撑接触点(即虚拟支撑接触点)在第一方向下的距离、距离的导数,xcom和分别为质心在第一方向下的位置和速度,为质心相对虚拟支撑接触点在第一方向下的加速度,zcom为质心在竖直方向下的位置,g为重力加速度。
2)利用线性二次规划调节器,计算倒立摆动力学方程的反馈增益矩阵。
线性二次规划调节器(LQR,Linear Quadratic Regulator)是基于二次规划优化方法(Quadratic Programming)构建的,其本本质是:在线性约束条件下,找到一个多维向量,使得该多维向量的二次型目标函数的最小(或最大)。
示例性地,利用线性二次规划调节器构建倒立摆动力学方程的目标函数,再以最小化目标函数为目标,迭代得到倒立摆动力学方程的反馈增益矩阵。
3)对于各个控制时刻,根据第一方向下的子参考移动轨迹,获取质心在控制时刻、第一方向下的参考位置、参考速度、质心与支撑接触点之间的参考距离和参考速度。
可选地,质心在第一方向下的子参考移动轨迹可以采用启发式(即根据经验和真实环境给定轨迹)、倒立摆模型(利用倒立摆模型规划出轨迹)等规划方法,基于支撑机械腿的参考位置规划得到,本申请实施例对此不作限定。
示例性地,根据第一方向下的子参考移动轨迹,可直接获取质心在控制时刻、第一方向下的参考位置,再对质心在控制时刻、第一方向下的参考位置对于时间进行一阶求导,即可得到质心在控制时刻、第一方向下的参考速度。
根据支撑参考移动轨迹,可以得到支撑接触点在控制时刻、第一方向下的参考位置和参考速度,再对支撑接触点在控制时刻、第一方向下的参考位置进行几何平均,即可得到虚拟支撑接触点的参考位置,以及对支撑接触点在控制时刻、第一方向下的参考速度进行几何平均,即可得到虚拟支撑接触点的参考速度,进而对虚拟支撑接触点在控制时刻、第一方向下的参考位置,与质心在控制时刻、第一方向下的参考位置进行相减,即可得到质心与虚拟支撑接触点之间的参考距离,对虚拟支撑接触点在控制时刻、第一方向下的参考速度,与质心在控制时刻、第一方向下的参考速度进行相减,即可得到质心与虚拟支撑接触点之间的参考速度。
4)根据反馈增益矩阵,以及质心在控制时刻、第一方向下的参考位置、参考速度、质心与支撑接触点之间的参考距离和参考速度,获取控制时刻、第一方向下的第三子期望加速度。
可选地,以质心在控制时刻、第一方向下的参考位置、参考速度、质心与支撑接触点之间的参考距离和参考速度为控制变量的参考值,再通过LQR基于控制变量的参考值,即可得到倒立摆动力学方程的控制变量,该过程可以表示如下:
其中,为状态变量的实际值。
倒立摆动力学方程的控制变量即为第一方向下的质心子期望加速度,记为如此得到的第一方向下的质心子期望加速度既能保证第一方向下的质心参考移动轨迹的跟随,又能保持机器人在移动过程中的动态平衡,从而提高了机器人的运动稳定性。
可选地,第一方向下的质心子期望加速度也可以采用PD反馈控制器,基于质心在控制时刻、第一方向下的参考位置、参考速度和参考加速度,以及质心在控制时刻、第一方向下的实际位置和实际速度计算得到,本申请实施例对此不作限定。
2、根据质心参考移动轨迹在竖直方向下的子参考移动轨迹,获取质心在竖直方向下的质心子期望加速度。
可选地,该竖直方向可以是指世界坐标系的z轴方向。
在本申请实施例中,机器人的质心与机器人的支撑机械腿的足部之间的高度设置为恒定值,该恒定值可以是指机器人的质心与支撑机械腿对应的足部中心(如轮中心)在z轴方向上的距离,因此,可根据支撑参考移动轨迹和该恒定值,即可规划得到质心在竖直方向下的子参考移动轨迹。如利用样条曲线插值方法,基于支撑参考移动轨迹中的参考位置和该恒定值之间的和值,插值得到质心在竖直方向下的子参考移动轨迹。
可选地,竖直方向下的子参考移动轨迹可等效于机器人的机身在竖直方向下的参考移动轨迹,通过对竖直方向下的子参考移动轨迹进行跟随,可以使得机身在竖直方向上移动,以完成质心位置的调整,尤其是在爬楼梯场景下,通过对竖直方向下的子参考移动轨迹进行跟随,可以使得机器人在竖直方向上能够登上楼梯。
示例性地,在机器人在多个控制时刻后停止移动的情况下,竖直方向下的质心子期望加速度的获取过程可以如下:
1)对于机器人对应的任一控制时刻,根据竖直方向下的子参考移动轨迹,获取质心在控制时刻、竖直方向下的参考位置、参考速度和参考加速度。
可选地,可以直接根据竖直方向下的子参考移动轨迹,确定质心在某一控制时刻、竖直方向下的参考位置,进而对质心在该控制时刻、竖直方向下的参考位置分别对于时间进行一阶求导和二阶求导,即可得到质心在该控制时刻、竖直方向下的参考速度和参考加速度。
2)采用PD反馈控制器,根据质心在控制时刻、竖直方向下的参考位置、参考速度和参考加速度,以及质心在控制时刻、竖直方向下的实际位置和实际速度,计算得到控制时刻、竖直方向下的质心子期望加速度。
可选地,基于机身上的IMU,可测量得到机身的加速度、角速度和姿态(即实际欧拉角),再结合机器人的所有关节的实际角度、实际加速度,以及机器人与支撑面之间的接触点,利用状态估计算法,即可得到机身在世界坐标系下的实际位置、实际速度、实际姿态和实际角速度,最后基于机身和机械腿在世界坐标系下的实际位置和实际速度,确定出质心在世界坐标系下的实际位置和实际速度,进而得到质心在竖直方向下的实际位置和实际速度。
示例性地,竖直方向下的质心子期望加速度可以表示如下:
其中,和分别为质心在控制时刻t、竖直方向下的参考位置、参考速度和参考加速度,和分别质心在控制时刻t、竖直方向下的实际位置和实际速度,kp,base和kd,base分别对应为质心的比例系数和微分系数。
3、根据质心在第一方向下的质心子期望加速度,以及质心在竖直方向下的质心子期望加速度,得到质心期望加速度。
对于各个控制时刻,对质心在第一方向下的质心子期望加速度,以及质心在竖直方向下的竖直方向子期望加速度进行组合,即可得到质心期望加速度。质心期望加速度可用于控制机器人的质心跟随质心参考移动轨迹,以使得机器人整体向第一方向移动。
步骤1201d,根据机器人的机身的姿态参考变化轨迹,获取机身在操作空间下的姿态期望加速度,姿态参考变化轨迹是对机身的变化轨迹规划得到的。
姿态参考变化轨迹是指机器人的机身的姿态的参考变化轨迹,其可用于描述机器人的机身的姿态变化,如其可包括机器人的机身在各个控制时刻的参考姿态,参考姿态为被规划达到的姿态。可选地,机身的姿态可采用欧拉角表示,诸如机身的横滚、俯仰和偏航组成的欧拉角,则上述姿态参考变化轨迹可以是指机器人的机身对应的欧拉角参考移动轨迹,该欧拉角参考移动轨迹包括各个控制时刻的参考姿态角度(即参考欧拉角),参考姿态角度为被规划达到的姿态角度。
姿态期望加速度包括机器人的机身在各个控制时刻的期望加速度,在机身的姿态采用欧拉角表示的情况下,该期望加速度可以是指期望姿态角加速度(即期望欧拉角加速度)。
在一个示例中,机器人的机身在机器人的运动过程中保持竖直(以下简称竖直任务);在一个示例中,机器人的机身在机器人的运动过程中动态旋转(以下简称角动量任务);在一个示例中,在机器人的运动过程中,机器人以权重分配的方式兼顾机身的竖直任务和角动量任务。例如,在竖直任务的权重参数大于角动量任务的权重参数的情况下,机器人会着重执行竖直任务,但不摒弃角动量任务;在竖直任务的权重参数小于或等于角动量任务的权重参数的情况下,机器人会着重执行角动量任务,但不摒弃竖直任务。竖直任务的权重参数和角动量任务的权重参数,可以根据实际使用需求进行动态设置与调整,本申请实施例对此不作限定。
下文将对竖直任务对应的姿态期望加速度,以及角动量任务对应的角动量期望加速度(也属于姿态期望加速度)分别进行说明。其中,姿态期望加速度用于引导机身保持竖直,角动量期望加速度用于引导机身旋转。
在一个示例中,在机器人在多个控制时刻后停止移动的情况下,姿态期望加速度的获取过程可以如下:
1、对于机器人对应的任一控制时刻,根据姿态参考变化轨迹,获取机身在控制时刻的参考姿态角度、参考姿态角速度和参考姿态角加速度。
机器人的机身在机器人的运动过程中保持竖直的情况下,机身对应的参考姿态角度的值、参考姿态角速度的值和参考姿态角加速度的值均为零。示例性地,参考姿态角度的值、参考姿态角速度的值和参考姿态角加速度可以分别表示为:
和
2、采用PD反馈控制器,根据机身在控制时刻的参考姿态角度、参考姿态角速度和参考姿态角加速度,以及机身在控制时刻的实际姿态角度和实际姿态角速度,计算得到控制时刻下的姿态期望加速度。
可选地,基于机身上的IMU,可测量得到机身的加速度、角速度和姿态(即实际欧拉角),再结合机器人的所有关节的实际角度、实际加速度,以及机器人与支撑面之间的接触点,利用状态估计算法,即可得到机身在世界坐标系下的实际位置、实际速度、实际姿态和实际角速度(即实际状态),最后根据机身在世界坐标系下的实际状态,即可得到机身的实际姿态角度(即实际欧拉角度)和实际姿态角速度(即实际欧拉角速度)。
示例性地,采用PD反馈控制器,根据机身的实际姿态角度和参考姿态角度之间的差异、机身的实际姿态角速度和参考姿态角速度之间的差异,以及机身的参考姿态角加速度,确定出姿态期望加速度,则姿态期望加速度可以表示如下:
其中,和分别为在控制时刻t,机身在操作空间下的实际姿态角度和实际姿态角速度,kp,euler和kd,euler分别对应为机身姿态的比例系数和微分系数。姿态期望加速度用于控制机器人的机身跟随姿态参考变化轨迹进行运动,以实现机身保持竖直。
在一个示例中,在期望操作空间任务还包括机器人的质心在操作空间下的角动量期望加速度的情况下,角动量期望加速度的获取过程可以如下:
1、对于机器人对应的任一控制时刻,根据质心对应的角动量参考变化轨迹,获取质心在控制时刻的参考角动量、参考角动量速度和参考角动量加速度,其中,角动量参考变化轨迹是根据支撑面对质心的角动量进行规划得到的。
角动量参考变化轨迹可以包括机器人的质心在各个控制时刻的参考角动量,可以直接根据角动量参考变化轨迹,确定质心在某一控制时刻的参考角动量,进而对质心在该控制时刻的参考角动量分别对于时间进行一阶求导和二阶求导(即参考角动量对于时间的一阶导数,以及参考角动量对于时间的二阶导数),即可得到质心在该控制时刻的参考角动量速度和参考角动量加速度。可选地,参考角动量、参考角动量速度和参考角动量加速度均可被设置为0,以简化计算,也可仅将参考角动量速度设置为0,本申请实施例对此不作限定。
可选地,在确定质心参考移动轨迹和支撑参考移动轨迹之后,即可确定各个控制时刻下,质心和支撑机械腿上的机械轮的旋转中心之间的连线的转动惯量和角加速度,从而可得到质心的角动量,进而得到角动量参考变化轨迹。
在本申请实施例中,角动量是指转动惯量和角加速度的乘积,可基于质心和支撑机械腿上的机械轮的旋转中心之间的连线的转动惯量和角加速度,确定质心的角动量,若质心的初始角动量为0,则可直接将该夹角确定为质心的角动量。其中,机器人的质心用于表征机器人的质量中心,其可以基于机器人在当前时刻的各个部位的质心和各个关节角度计算得到,记为CoM。可选地,机器人的质心的位置可以基于机器人的各个部位的质心的位置得到,如对机器人的各个部位的质心的位置求平均,即可得到机器人的质心的位置。
例如,参考图15,其是本申请一个实施例提供的四足足轮混合式机器人的模型简化图。其中,基于机身1502和各个机械腿1503,可计算出机器人1500的质心1501,先获取质心1501和支撑机械腿上的机械轮的旋转中心之间的连线,将该连线的转动惯量和角加速度之间的乘积确定质心的角动量。随着机器人1500各个关节的旋转(即各个部位运动),关节角度不同,质心1501的位置时刻变化,质心1501的角动量也时刻变化。
2、采用PD反馈控制器,根据质心在控制时刻的参考角动量、参考角动量速度和参考角动量加速度,以及质心在控制时刻的实际角动量和实际角动量速度,计算得到控制时刻下的角动量期望加速度。
可选地,基于机身上的IMU,可测量得到机身的加速度、角速度和姿态(即实际欧拉角),再结合机器人的所有关节的实际角度、实际加速度,以及机器人与支撑面之间的接触点,利用状态估计算法,即可得到机身和机械腿在世界坐标系下的实际位置和实际姿态,然后基于机身和机械腿在世界坐标系下的实际位置和实际姿态确定出质心的位置,进而得到质心的实际角动量和实际角动量速度。
示例性地,采用PD反馈控制器,根据质心的实际角动量和参考角动量之间的差异、质心的实际角动量速度和参考角动量速度之间的差异,以及质心的参考角动量加速度,确定出角动量期望加速度,则角动量期望加速度可以表示如下:
其中,和分别为在控制时刻t,质心在操作空间下的参考角动量、参考角动量速度和参考角动量加速度,和分别为在控制时刻t,质心在操作空间下的实际角动量和实际角动量速度(即实际角动量的一阶导数),kp,momentum和kd,momentum为质心的角动量分别对应的比例系数和微分系数。
其中,角动量期望加速度用于控制机器人的机身跟随角动量参考变化轨迹进行运动,以实现机身的角动量任务。如此通过增加角动量任务,可在机器人的运动过程(如步态行走和爬楼梯)中,使得机身不是锁定在某一个固定角度,而是本着不同关节和关联的角动量相互抵消的原理运动,参考移动轨迹更符合机器人系统的动力学关系,以及进一步提升了机器人步态的仿生程度。
在一个示例中,上述期望操作空间任务还包括各个机械足在操作空间下的足期望加速度,该足期望加速度用于控制机械足跟随足参考移动轨迹进行运动,以辅助机械轮使得机器人更稳定地站立,从而提高机器人运动过程中的稳定程度。
示例性地,机器人在多个控制时刻后停止移动,本申请实施例还可以包括如下步骤:
步骤1201e,根据机器人的机械足的足参考移动轨迹,获取机械足在操作空间下的足期望加速度,足参考变化轨迹是对机械足的变化轨迹规划得到的。
其中,足参考移动轨迹是根据支撑面对机械足的移动轨迹进行规划得到的,足参考移动轨迹是指机械足的参考移动轨迹,如支撑机械腿或摆动机械腿上的机械足的参考移动轨迹。足期望加速度包括机械足在各个控制时刻的期望加速度。
可选地,在规划出机械足分别在预运动周期、摆动周期和收尾周期内的初始位置和结束位置后,可以采用样条曲线插值方法得到足参考移动轨迹。其中,对于摆动周期,初始位置可以是指机械足的辅助面与支撑面接触且平行时的位置,结束位置可以是指初始位置后,机械足的辅助面首次与支撑面接触且平行时的位置。足参考移动轨迹可以根据实际使用需求进行设置与调整,本申请实施例对此不作限定。
示例性地,对于机器人对应的任一控制时刻,足期望加速度的获取过程可以如下:
1、根据机械足对应的足参考移动轨迹,获取机械足在控制时刻的参考位置、参考速度和参考加速度。
足参考移动轨迹可以包括机器人的机械足在各个控制时刻的参考位置,可以直接根据足参考移动轨迹,确定机械足在某一控制时刻的参考位置,进而对机械足在该控制时刻的参考位置分别对于时间进行一阶求导和二阶求导,即可得到机械足在该控制时刻的参考速度和参考加速度。
可选地,可将机械足在各个控制时刻的参考速度设置为0,以简化计算,本申请实施例对此不作限定。
2、采用比例微分PD反馈控制器,根据机械足在控制时刻的参考位置、参考速度和参考加速度,以及机械足在控制时刻的实际位置和实际速度,计算得到控制时刻下的足期望加速度。
可选地,基于机身上的IMU,可测量得到机身的加速度、角速度和姿态(即实际欧拉角),再结合机器人的所有关节的实际角度、实际加速度,以及机器人与支撑面之间的接触点,利用状态估计算法,即可得到机身和机械腿在世界坐标系下的实际位置和实际姿态,然后基于足关节的旋转角度和关节角速度等信息,可以确定出机械足在控制时刻的实际位置和实际速度,其中,可将机械足的足尖在控制时刻的实际位置和实际速度,确定为机械足在控制时刻的实际位置和实际速度。
示例性地,采用PD反馈控制器,根据机械足的实际位置和参考位置之间的差异、机械足的实际速度和参考速度之间的差异,以及机械足的参考加速度,确定出足期望加速度,则足期望加速度可以表示如下:
其中,和分别为在控制时刻t,机械足在操作空间下的参考位置、参考速度和参考加速度,和分别为在控制时刻t,机械足在操作空间下的实际位置和实际速度,kp,foot和kd,foot为机械足分别对应的比例系数和微分系数。
步骤1201f,根据摆动期望加速度、支撑期望加速度、质心期望加速度、姿态期望加速度和足期望加速度,获取期望操作空间任务。
对摆动期望加速度、支撑期望加速度、质心期望加速度、姿态期望加速度和足期望加速度进行组合,即可得到期望操作空间任务。
可选地,在不包括机身的角动量任务的情况下,期望操作空间任务可以表示如下:
可选地,在包括机身的角动量任务的情况下,期望操作空间任务可以表示如下:
步骤1202,根据期望操作空间任务,以及机器人的全身动力学模型和正运动学模型,获取期望操作空间任务对应的期望关节力矩集,该期望关节力矩集包括用于控制机器人的各个部位以及质心的期望关节力矩。
可选地,上述期望操作空间任务可用于机器人的任务导向全身控制(Task-Oriented Whole Body Control),也即可通过考虑机器人所有连杆的质量、惯量等动力学信息,来调动机器人的全部自由度,以控制机器人完成设定的一个或多个任务。
示例性地,基于机器人的刚体动力学,机器人在关节空间系下的全身动力学模型可以表示如下:
其中,表示机器人的关节空间惯性矩阵,表示机器人的关节空间偏移力向量,即机器人对应的科氏力、离心力和重力之和,表示机器人的选择矩阵,表示机器人与支撑面的接触点雅克比矩阵,表示机器人的主动关节力矩向量,表示机器人的接触力向量,q,表示机器人的各个自由度处的广义位置向量、广义速度向量和广义加速度向量,NG表示机器人的总自由度,即浮动基自由度NF与主动关节自由度NJ之和,NC表示机器人对应的接触力的个数,即接触点个数nC与单个接触力的维度ND∈{0,1,2,3}之积。
以图2中的四足足轮混合式式机器人为例,四足足轮混合式式机器人的连杆可以包括4个机械腿、4个机械轮、4个机械足、机身中的腰部(单独作为一个连根),以及机身中的躯体、上肢和头部(三者为一个整体)。其中,四足足轮混合式式机器人的主动关节可以包括2个髋关节、4个机械腿分别对应的伸缩关节、4个机械轮的旋转关节、4个机械足的足关节,以及2个俯仰旋转关节(即俯仰关节+侧摆关节)。可选地,机器人的主动关节自由度则为上述16个主动关节分别对应的自由度。
浮动基自由度是指机器人的浮动基坐标系在世界坐标系下的位置px-py-pz和姿态yaw-roll-pitch这个6个自由度。浮动基坐标系以髋关节的旋转中心为原点构建,初始状态下的浮动基坐标系的坐标轴方向与世界坐标系相同。接触点个数可以是指支撑机械腿与支撑面之间的接触点的个数,如在摆动机械腿组的摆动过程中,接触点个数至少为4(每个支撑机械腿至少对应2个接触点)。
上述正运动学模型用于指示机器人在操作空间下的加速度,与机器人在机器人的关节空间下的速度和加速度之间的关系。
可选地,由刚体动力学可知,机器人的正运动学方程可以表示如下:
其中,表示在控制时刻t,机器人在操作空间下的加速度,和分别表示机器人在关节空间下的速度和加速度,即机器人的各个自由度处的广义位置向量和广义速度向量,Jt和表示任务空间对应的雅克比矩阵和雅克比矩阵的一阶导数。
示例性地,期望关节力矩集的获取过程可以包括如下内容:
1、对全身动力学模型和正运动学模型进行联立,得到待求解的动力学方程,该待求解的动力学方程以机器人在关节空间下的加速度为未知变量。
示例性地,对全身动力学模型和正运动学模型进行联立,化简后得到待求解的动力学方程可以表示如下:
其中,为未知变量,其余均为已知变量。
2、将期望操作空间任务带入待求解的动力学方程,求解得到期望关节力矩集。
可选地,机器人在运动过程中,还受机器人的本体结构与驱动电机的物理限制,为了提高期望关节力矩集的合理性和准确性,本申请在期望关节力矩集的求解过程中,还设置有约束条件。示例性地,待求解的动力学方程的求解过程可以如下:
1)将期望操作空间任务,与待求解的动力学方程中的机器人在操作空间下的加速度进行替换,得到中间动力学方程。
可选地,将上述与待求解的动力学方程中的、机器人在操作空间下的加速度进行替换,即可得到中间动力学方程。
2)构建机器人的关节物理约束表达式和摩擦约束表达式,该关节物理约束表达式用于约束机器人的各个关节,该摩擦约束表达式约束下的机器人与支撑面之间的接触力满足摩擦圆锥约束。
可选地,根据机器人的驱动电机的实际物理特性,对未知变量中的主动关节力矩进τ行限幅,即关节物理约束表达式可以为:τ1b≤τ≤τub;其中,τ1b和τub分别表示驱动电机力矩(如机器人所有的驱动电机的力矩)的最小值和最大值。
可选地,机器人的机械腿的足部对应的接触力应满足摩擦圆锥约束,为了减少非线性,可以将摩擦圆锥近似为摩擦角锥,则摩擦约束表达式可以为:
其中,nx、ny和nz分别表示世界坐标系下沿接触面的单位正交基,μi表示第i个接触力对应的摩擦系数,fi表示第i个接触力,fz,lb和fz,ub分别表示垂直与接触面的非负正压力的最小值和最大值。其中,每个足部对应一个接触力,该接触力可以是指机械轮和机械足的叠加力;或者,可将每个足部对应划分有两个接触力,一个接触力对应机械轮,一个接触力对应机械足,本申请实施例对此不作限定。
例如,参考图15,对于支撑机械腿,支撑面会给机械轮一个反作用力fw(即接触力),在机械轮上满足摩擦圆锥约束,使得轮子不打滑且不离地;支撑面同时还会给机械足一个反作用力ff,在机械足上满足摩擦圆锥约束,使得机械足不打滑且不离地。二者的结合相当于将机械轮的力矩和机械足的力矩相互叠加在一起,共同帮助机身保持平衡,如此使得机器人可以更稳定地站立。
3)在机器人的关节物理约束表达式和摩擦约束表达式的约束下,对中间动力学方程进行求解,得到期望关节力矩集。
可选地,可将中间动力学方程改写为AX=B的形式;
其中,
AX=B的求解过程本质是求线性方程组的解,则此处可以采用二次规划优化方法,构建中间动力学方程的目标函数。
可选地,中间动力学方程的目标函数可以表示如下:
J=min(AX-B)TQ(AX-B)+XTRX;
其中,Q和R表示权重矩阵。()T表示转置。
在机器人的关节物理约束表达式和摩擦约束表达式的约束下,以最小化目标函数为优化目标,迭代得到期望关节力矩集。例如,通过二次规划优化器,在机器人的关节物理约束表达式和摩擦约束表达式的约束下,以最小化目标函数为优化目标,即可迭代得到未知变量X,可直接将未知变量X中的主动关节力矩τ确定为期望关节力矩集。
以图2中四足足轮混合式机器人为例,该期望关节力矩集可以包括2个髋关节(每个髋关节对应一个机械腿组)、4个机械腿分别对应的伸缩关节、4个机械轮的轮关节、4个机械足的足关节,以及2个俯仰旋转关节(即俯仰关节+侧摆关节)分别对应的期望关节力矩。期望关节力矩为所被期望达到的关节力矩,其可用于直接控制驱动电机,驱动电机用于驱动关节,如控制关节旋转。
可选地,若机器人的模型结构较为简单,则机器人的全身动力学模型和正运动学模型也较为简单,则可以直接使用矩阵求违逆的方式对中间动力学方程进行求解,即X=A-1B,以得到期望关节力矩集,本申请实施例对此不作限定。
步骤1203,根据期望关节力矩集,控制机器人在期望操作空间任务的引导下移动。
期望关节力矩集包括机器人的各个主动关节在各个控制时刻下的期望关节力矩,在任意控制时刻,对于任一主动关节,仅需根据主动关节在该控制时刻下的期望关节力矩,对该主动关节对应的驱动电机进行驱动,即可实现期望操作空间任务的跟随,也即机器人可在期望操作空间任务的引导下进行移动,对期望操作空间任务对应的各个参考移动轨迹进行跟随,以实现机器人的控制。
在本申请实施例中,上述期望关节力矩集可用于控制机器人分别在预运动周期、摆动周期和收尾运动周期进行运动,以实现诸如步态行走、爬楼梯、跨障碍等任务。
例如,参考图11,以四足足轮混合式机器人的运动过程为例,对本申请实施例提供的技术方案进行说明,该运动过程可以包括一个预运动周期、多个摆动周期和一个收尾运动周期。对于任一控制时刻,机器人的运动过程可以包括如下内容:
预运动周期内:初始状态(与预运动状态相同,也即机械足已调整完成)下的机器人1101,以第二机械腿组1103为支撑,摆动第一机械腿组1102,进入第一状态。
其中,对于第一机械腿组1102中的两个摆动机械腿,通过根据其对应的髋关节的期望关节力矩(对应摆动期望加速度)控制髋关节旋转,以使得两个摆动机械腿向前进方向同步摆动,同时根据其对应的伸缩关节的期望关节力矩控制伸缩关节收缩,先同步缩短两个摆动机械腿,以避免摆动机械腿与地面发生碰撞,再根据其对应的伸缩关节的期望关节力矩控制伸缩关节伸长,同步伸长两个摆动机械腿,以使得第一机械腿组1102与地面相接触,以迈出第一步。
在这个过程中,对于第二机械腿组1103中的两个支撑机械腿,通过第二机械腿组1103对应的髋关节的期望关节力矩(对应支撑期望加速度),控制第二机械腿组1103中的两个支撑机械腿保持站立。
对于机身,通过机身对应的期望关节力矩(对应角动量期望加速度、质心期望加速度和姿态期望加速度),控制俯仰关节旋转,以使得机身先顺时针旋转(即前倾),再逆时针旋转(即恢复竖直),以配合第一机械腿组1102的摆动。可选地,侧摆关节保持不动。
对于机械足,通过第一机械腿组1102对应的足关节的期望关节力矩(对应足期望加速度),控制第一机械腿组1102中的机械足的辅助面始终与支撑面保持平行,以及通过第二机械腿组1103对应的足关节的期望关节力矩,控制第二机械腿组1103中的机械足的辅助面与支撑面平行且接触,以使得机器人1101在运动过程中能够稳定站立。
第一个摆动周期:第一状态下的机器人1101,以第一机械腿组1102为支撑,摆动第二机械腿组1103,进入第二状态;第二状态下的机器人1101,控制第一机械腿组1102中的各个机械腿缩短,以及控制第二机械腿组1103中的各个机械腿伸长,进入第三状态,对第一机械腿组1102和第二机械腿组1103进行功能互换,进入第一状态。
其中,对于第二机械腿组1103中的两个摆动机械腿,通过根据其对应的髋关节的期望关节力矩控制髋关节旋转,以使得两个摆动机械腿向前进方向同步摆动,同时根据其对应的伸缩关节的期望关节力矩控制伸缩关节收缩,先同步缩短两个摆动机械腿,以避免与地面发生碰撞,再根据其对应的伸缩关节的期望关节力矩控制伸缩关节伸长,同步伸长两个摆动机械腿,以使得第二机械腿组1103与地面相接触,以迈出第二步。
在从第一状态进入第二状态的这个过程中,对于第一机械腿组1102中的两个支撑机械腿,通过第一机械腿组1102对应的髋关节的期望关节力矩,控制第一机械腿组1102中的两个支撑机械腿保持站立。
对于机身,通过机身对应的期望关节力矩,控制俯仰旋转关节旋转,以使得机身先顺时针旋转,再逆时针旋转,以配合第二机械腿组1103的摆动。
对于机械足,通过第二机械腿组1103对应的足关节的期望关节力矩,控制第二机械腿组1103中的机械足的辅助面始终与支撑面保持平行,以及通过第一机械腿组1102对应的足关节的期望关节力矩,控制第一机械腿组1102中的机械足的辅助面与支撑面平行且接触,以使得机器人1101在运动过程中能够稳定站立。
在从第二状态进入第三状态的过程中,通过第一机械腿组1102对应的髋关节的期望关节力矩,控制第一机械腿组1102中的两个支撑机械腿缩短,以及通过第二机械腿组1103对应的髋关节的期望关节力矩,控制第二机械腿组1103中的各个机械腿缩短,使得机身位于第一机械腿组1102的正上方。其他关节保持不动。
对第二个摆动周期和第三个摆动周期,机器人的控制方法与第一个摆动周期相同,这里不再赘述。
收尾运动周期:第一状态下的机器人1101,以第二机械腿组1103为支撑,将第一机械腿组1102摆动至与第二机械腿组1103重合,进入初始状态。在该过程中,机器人1101的机身保持竖直。
其中,对于第一机械腿组1102中的两个摆动机械腿,通过根据其对应的髋关节的期望关节力矩控制髋关节旋转,以使得两个摆动机械腿向前进方向同步摆动,同时根据其对应的伸缩关节的期望关节力矩控制伸缩关节收缩,先同步缩短两个摆动机械腿,以避免与地面发生碰撞,再根据其对应的伸缩关节的期望关节力矩控制伸缩关节伸长,同步伸长两个摆动机械腿,以使得第一机械腿组1102摆动至与第二机械腿组1103重合。
在这个过程中,对于第二机械腿组1103中的两个支撑机械腿,通过第二机械腿组1103对应的髋关节的期望关节力矩,控制第二机械腿组1103中的两个支撑机械腿保持站立。
对于机身,通过机身对应的期望关节力矩控制俯仰旋转关节不旋转,以使得机身保持竖直。
对于机械足,通过第一机械腿组1102对应的足关节的期望关节力矩,控制第一机械腿组1102中的机械足的辅助面始终与支撑面保持平行,直至第一机械腿组1102中的机械足的辅助面与支撑面平行且接触(即四腿站立状态),以及通过第二机械腿组1103对应的足关节的期望关节力矩,控制第二机械腿组1103中的机械足的辅助面与支撑面平行且接触,以使得机器人1101在运动过程中能够稳定站立。
在一些实施例中,参考图16,其是本申请一个实施例提供的四足足轮混合式机器人的仿真平地迈步动作数据。其中,曲线1601为机械轮的旋转关节的期望关节力矩指令(即期望关节力矩)随时间的变化曲线,曲线1602为机械足的足关节的期望关节力矩指令随时间的变化曲线。除了第一个期望关节力矩指令的尖峰来自于迈步的准备动作之外(即预运动周期),四足足轮混合式机器人在此过程中一共向前迈步了3步(即三个摆动个周期)。每一步的情况都比较类似,大致量级为:机械轮的旋转关节最大可以贡献了2.5Nm左右的力矩,而足关节大概可以贡献15-30Nm左右的力矩。由此看来,机械轮的贡献相对较小,这是因为机械轮的半径较小,另外,由于需要满足机械轮与地面之间不产生相对滑动的约束,物理极限上分析,机械轮的贡献本来就不会太大,但该实验数据证明了轮足混合式结构具有力矩叠加作用,以使得机器人能够更稳定站立。
综上所述,本申请实施例提供的技术方案,对于拥有第一机械腿组和第二机械腿组、且存在足部设置有机械轮和机械足的机械腿的机器人,在以第一机械腿组和第二机械腿组交替摆动的方式来控制机器人移动的过程中,通过足部的机械足辅助机械轮,以使得机器人保持站立在支撑面上,实现该足部以不小于2个接触点(如机械足和机械轮分别与支撑面之间的接触点)的方式来保持机器人站立,相比于相关技术中的1个接触点,可使得机器人能够更稳定地站立在支撑面上,不易跌倒,从而有效提高了机器人的运动稳定性。
另外,由于机器人对应的各个髋关节的旋转中心位于同一竖直平面,因此可通过规划期望操作空间任务,实现机器人以一组机械腿保持站立,以另一组机械腿摆动的方式,在动态平衡状态(即机器人的重心可超出机器人的支撑区域)下快速移动,从而提高了机器人的移动效率。其中,机器人的重心是指机器人的重力集中的点,机器人的质心是质点位置关于其质量的加权平均数,若重力均匀,质心和重心可以重合。机器人的支撑区域是指由机器人的各个机械腿上的足部分别与支撑面之间的接触点合围而成的区域。相关技术需要始终控制重心的投影在支撑区域内,导致机器人的质心速度很小,整个运动很缓慢,而本申请实施例中的机器人的重心可超出机器人的支撑区域,整个运动很快,从而可提高机器人的移动效率。
另外,通过采用机器人的全身动力学模型和正运动模型,根据期望操作空间任务,可以准确地获取对应于期望操作空间任务的期望关节力矩集,进而可根据期望关节力矩集,准确地实现期望操作空间任务,从而提高了机器人的控制准确性。
另外,在机器人的关节物理约束表达式和摩擦约束表达式的约束下,对中间动力学方程进行求解,可以得到合理和准确的期望关节力矩集,从而可进一步提高机器人的控制准确性。
另外,利用倒立摆模型计算质心在第一方向(即前进方向)下的质心子期望加速度,使得机器人的质心不仅可以沿着第一方向不断移动,还可帮助机器人保持动态平衡,从而使得机器人能够稳定、快速地移动,进一步提高了机器人的控制稳定性和移动效率。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
参考图17,其示出了本申请一个实施例提供的机器人的控制装置的框图。该装置具有实现上述机器人的控制方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上文介绍的计算机设备(如足轮混合式机器人),也可以安置在计算机设备中。如图17所示,该装置1700包括:第二状态切换模块1701、第三状态切换模块1702和第一状态切换模块1703。
第二状态切换模块1701,用于在每一个摆动周期内,通过所述支撑机械腿组中的机械轮和机械足站立在支撑面上,旋转所述摆动机械腿组对应的髋关节以使得所述摆动机械腿组向第一方向摆动,以及调整所述摆动机械腿组中的机械腿的长度和所述摆动机械腿组中的机械足的旋转角度,使得所述机器人从第一状态进入第二状态,其中,在所述第一状态和所述第二状态下,所述机器人的各个足部上的机械轮和机械足与所述支撑面接触,在所述第一状态下,所述支撑机械腿组位于所述摆动机械腿组在所述第一方向约束下的前方,在所述第二状态下,所述支撑机械腿组位于所述摆动机械腿组在所述第一方向约束下的后方。
第三状态切换模块1702,用于控制所述支撑机械腿组中的各个机械腿伸长,以及控制所述摆动机械腿组中的各个机械腿缩短,使得所述机器人从所述第二状态进入第三状态,其中,在所述第三状态下,所述机器人的机身位于所述摆动机械腿组上方对应的区域。
第一状态切换模块1703,用于对所述支撑机械腿组和所述摆动机械腿组功能互换,使得所述机器人从所述第三状态进入所述第一状态;其中,处于所述摆动周期内的机器人在所述支撑面上向所述第一方向移动。
在一些实施例中,所述第二状态切换模块1701,还用于:
在控制所述摆动机械腿组摆动的过程中,控制所述机身旋转以向所述第一方向倾斜,其中,所述支撑机械腿组在重力的驱动下,向所述第一方向倾斜;
在所述摆动机械腿组中的各个机械轮和各个机械足移动至与所述支撑面接触之前,控制所述机身旋转以调整至竖直。
在一些实施例中,所述第二状态切换模块1701,还用于:
在控制所述机械腿摆动的过程中,控制所述机械腿上的机械足的辅助面与所述支撑面平行,所述辅助面用于与所述支撑面接触以辅助所述机械轮,使得所述机器人站立;
或者,在控制所述机械腿摆动的过程中,控制所述机械腿上的机械足的辅助面在第一控制时刻与所述支撑面平行,所述第一控制时刻是指规划所述机械足与所述支撑面接触的时刻;
或者,在控制所述机械腿摆动的过程中,控制所述机械腿上的机械足的足尖在第一控制时刻与所述支撑面接触;
或者,在所述摆动机械腿组中的机械轮摆动至与所述支撑面接触后,控制所述摆动机械腿组中的机械轮足旋转至与所述支撑面接触。
在一些实施例中,所述机器人在进入第一个摆动周期之前还对应有预运动周期;如图18所示,所述装置1700还包括:预运动状态切换模块1704。
预运动状态切换模块1704,用于在所述预运动周期内,控制所述机械足旋转,使得所述机器人从初始状态进入预运动状态,其中,在所述初始状态下,所述机器人以所述机械轮站立在所述支撑面上,在所述预运动状态下,所述支撑机械腿组对应的各个机械轮和各个机械足与所述支撑面接触;
所述第一状态切换模块1703,还用于调整所述支撑机械腿组、所述摆动机械腿组和所述机身,使得所述机器人从所述预运动状态进入所述第一状态。
在一些实施例中,如图18所示,所述装置1700还包括:期望任务获取模块1705、期望力矩获取模块1706和机器人移动模块1707。
期望任务获取模块1705,用于获取所述机器人在所述支撑面上的期望操作空间任务,其中,所述期望操作空间任务包括所述机器人的各个部位在所述机器人的操作空间下的期望加速度,以及所述机器人的质心在所述操作空间下的期望加速度,所述期望操作空间任务用于引导所述机器人在所述支撑面上向所述第一方向移动。
期望力矩获取模块1706,用于根据所述期望操作空间任务,以及所述机器人的全身动力学模型和正运动学模型,获取所述期望操作空间任务对应的期望关节力矩集,所述期望关节力矩集包括用于控制所述机器人的各个部位以及所述质心的期望关节力矩。
机器人移动模块1707,用于根据所述期望关节力矩集,控制所述机器人在所述期望操作空间任务的引导下移动。
在一些实施例中,所述期望操作空间任务包括各个所述机械足在所述操作空间下的足期望加速度;所述期望任务获取模块1705,还用于:
对于所述机器人对应的任一控制时刻,根据所述机械足对应的足参考移动轨迹,获取所述机械足在所述控制时刻的参考位置、参考速度和参考加速度,其中,所述足参考移动轨迹是根据所述支撑面对所述机械足的移动轨迹规划得到的;
采用比例微分PD反馈控制器,根据所述机械足在所述控制时刻的参考位置、参考速度和参考加速度,以及所述机械足在所述控制时刻的实际位置和实际速度,计算得到所述控制时刻下的所述足期望加速度。
在一些实施例中,所述期望操作空间任务还包括所述机器人的质心在所述操作空间下的角动量期望加速度,所述角动量期望加速度用于引导所述机身旋转;所述期望任务获取模块1705,还用于:
对于所述机器人对应的任一控制时刻,根据所述质心对应的角动量参考变化轨迹,获取所述质心在所述控制时刻的参考角动量、参考角动量速度和参考角动量加速度,其中,所述角动量参考变化轨迹是根据所述支撑面对所述质心的角动量规划得到的;
采用PD反馈控制器,根据所述质心在所述控制时刻的参考角动量、参考角动量速度和参考角动量加速度,以及所述质心在所述控制时刻的实际角动量和实际角动量速度,计算得到所述控制时刻下的所述角动量期望加速度。
在一些实施例中,所述第一机械腿组对应的机械腿同步运动,所述第二机械腿组对应的机械腿同步运动,所述第一机械腿组对应的机械足同步运动,所述第二机械腿组对应的机械足同步运动。
综上所述,本申请实施例提供的技术方案,对于拥有第一机械腿组和第二机械腿组、且存在足部设置有机械轮和机械足的机械腿的机器人,在以第一机械腿组和第二机械腿组交替摆动的方式来控制机器人移动的过程,通过足部的机械足辅助机械轮,以使得机器人保持站立在支撑面上,实现该足部以不小于2个接触点(如机械足和机械轮分别与支撑面之间的接触点)的方式来保持机器人站立,相比于相关技术中的1个接触点,可使得机器人能够更稳定地站立在支撑面上,不易跌倒,从而有效提高了机器人的运动稳定性。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图19,其示出了本申请一个实施例提供的计算机设备1900的简化结构框图。该计算机设备1900可以是任何具备数据计算、处理和存储功能的电子设备。该计算机设备1900可用于实现上述实施例中提供的机器人的控制方法。
通常,计算机设备1900包括有:处理器1901和存储器1902。
处理器1901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1901可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1901可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1901还可以包括AI处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1902中的非暂态的计算机可读存储介质用于存储计算机程序,所述计算机程序经配置以由一个或者一个以上处理器执行,以实现上述机器人的控制方法。
本领域技术人员可以理解,图19中示出的结构并不构成对计算机设备1900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在一些实施例中,还提供了一种芯片,所述芯片中存储有计算机程序,所述计算机程序由处理器加载并执行以实现上述机器人的控制方法。
在一些实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序在被计算机设备的处理器执行时实现上述机器人的控制方法。
可选地,该计算机可读存储介质可以包括:ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存储器)、SSD(Solid State Drives,固态硬盘)或光盘等。其中,随机存取记忆体可以包括ReRAM(Resistance Random Access Memory,电阻式随机存取记忆体)和DRAM(Dynamic Random Access Memory,动态随机存取存储器)。
在一些实施例中,还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质中读取所述计算机程序,所述处理器执行所述计算机程序,使得所述计算机设备执行上述机器人的控制方法。
需要说明的是,本申请实施例在收集用户的相关数据之前以及在收集用户的相关数据的过程中,都可以显示提示界面、弹窗或输出语音提示信息,该提示界面、弹窗或语音提示信息用于提示用户当前正在搜集其相关数据,使得本申请仅仅在获取到用户对该提示界面或者弹窗发出的确认操作后,才开始执行获取用户相关数据的相关步骤,否则(即未获取到用户对该提示界面或者弹窗发出的确认操作时),结束获取用户相关数据的相关步骤,即不获取用户的相关数据。换句话说,本申请所采集的所有用户数据,处理严格根据相关国家法律法规的要求,获取个人信息主体的知情同意或单独同意都是在用户同意并授权的情况下进行采集的,并在法律法规及个人信息主体的授权范围内,开展后续数据使用及处理行为且相关用户数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的真实环境、机器人等都是在充分授权的情况下获取的。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (12)

  1. 一种机器人的控制方法,所述方法由计算机设备执行,所述机器人包括机身、通过髋关节与所述机身相连的第一机械腿组和第二机械腿组,所述第一机械腿组和所述第二机械腿组中的至少一个机械腿组包括至少两个机械腿,存在至少一个所述机械腿远离所述髋关节的足部设置有机械轮和机械足,所述第一机械腿组对应的髋关节的旋转轴和所述第二机械腿组对应的髋关节的旋转轴位于同一竖直平面,在所述机器人的移动过程中,用于摆动的机械腿组为摆动机械腿组,用于站立的机械腿组为支撑机械腿组;所述方法包括:
    在每一个摆动周期内,通过所述支撑机械腿组中的机械轮和机械足站立在支撑面上,旋转所述摆动机械腿组对应的髋关节以使得所述摆动机械腿组向第一方向摆动,以及调整所述摆动机械腿组中的机械腿的长度和所述摆动机械腿组中的机械足的旋转角度,使得所述机器人从第一状态进入第二状态,其中,在所述第一状态和所述第二状态下,所述机器人的各个足部上的机械轮和机械足与所述支撑面接触,在所述第一状态下,所述支撑机械腿组位于所述摆动机械腿组在所述第一方向约束下的前方,在所述第二状态下,所述支撑机械腿组位于所述摆动机械腿组在所述第一方向约束下的后方;
    控制所述支撑机械腿组中的各个机械腿伸长,以及控制所述摆动机械腿组中的各个机械腿缩短,使得所述机器人从所述第二状态进入第三状态,其中,在所述第三状态下,所述机器人的机身位于所述摆动机械腿组上方对应的区域;
    对所述支撑机械腿组和所述摆动机械腿组功能互换,使得所述机器人从所述第三状态进入所述第一状态;
    其中,处于所述摆动周期内的机器人在所述支撑面上向所述第一方向移动。
  2. 根据权利要求1所述的方法,其中,所述方法还包括:
    在控制所述摆动机械腿组摆动的过程中,控制所述机身旋转以向所述第一方向倾斜,其中,所述支撑机械腿组在重力的驱动下,向所述第一方向倾斜;
    在所述摆动机械腿组中的各个机械轮和各个机械足移动至与所述支撑面接触之前,控制所述机身旋转以调整至竖直。
  3. 根据权利要求1或2所述的方法,其中,所述方法还包括:
    在控制所述机械腿摆动的过程中,控制所述机械腿上的机械足的辅助面与所述支撑面平行,所述辅助面用于与所述支撑面接触以辅助所述机械轮,使得所述机器人站立;
    或者,
    在控制所述机械腿摆动的过程中,控制所述机械腿上的机械足的辅助面在第一控制时刻与所述支撑面平行,所述第一控制时刻是指规划所述机械足与所述支撑面接触的时刻;
    或者,
    在控制所述机械腿摆动的过程中,控制所述机械腿上的机械足的足尖在第一控制时刻与所述支撑面接触;
    或者,
    在所述摆动机械腿组中的机械轮摆动至与所述支撑面接触后,控制所述摆动机械腿组中的机械轮足旋转至与所述支撑面接触。
  4. 根据权利要求1至3任一项所述的方法,其中,所述机器人在进入第一个摆动周期之前还对应有预运动周期;所述方法还包括:
    在所述预运动周期内,控制所述机械足旋转,使得所述机器人从初始状态进入预运动状态,其中,在所述初始状态下,所述机器人以所述机械轮站立在所述支撑面上,在所述预运动状态下,所述支撑机械腿组对应的各个机械轮和各个机械足与所述支撑面接触;
    调整所述支撑机械腿组、所述摆动机械腿组和所述机身,使得所述机器人从所述预运动状态进入所述第一状态。
  5. 根据权利要求1至4任一项所述的方法,其中,所述方法还包括:
    获取所述机器人在所述支撑面上的期望操作空间任务,其中,所述期望操作空间任务包括所述机器人的各个部位在所述机器人的操作空间下的期望加速度,以及所述机器人的质心在所述操作空间下的期望加速度,所述期望操作空间任务用于引导所述机器人在所述支撑面上向所述第一方向移动;
    根据所述期望操作空间任务,以及所述机器人的全身动力学模型和正运动学模型,获取所述期望操作空间任务对应的期望关节力矩集,所述期望关节力矩集包括用于控制所述机器人的各个部位以及所述质心的期望关节力矩;
    根据所述期望关节力矩集,控制所述机器人在所述期望操作空间任务的引导下移动。
  6. 根据权利要求5所述的方法,其中,所述期望操作空间任务包括各个所述机械足在所述操作空间下的足期望加速度;所述方法还包括:
    对于所述机器人对应的任一控制时刻,根据所述机械足的足参考移动轨迹,获取所述机械足在所述控制时刻的参考位置、参考速度和参考加速度,其中,所述足参考移动轨迹是根据所述支撑面对所述机械足的移动轨迹规划得到的;
    采用比例微分PD反馈控制器,根据所述机械足在所述控制时刻的参考位置、参考速度和参考加速度,以及所述机械足在所述控制时刻的实际位置和实际速度,计算得到所述控制时刻下的所述足期望加速度。
  7. 根据权利要求5或6所述的方法,其中,所述期望操作空间任务还包括所述机器人的质心在所述操作空间下的角动量期望加速度,所述角动量期望加速度用于引导所述机身旋转;所述方法还包括:
    对于所述机器人对应的任一控制时刻,根据所述质心的角动量参考变化轨迹,获取所述质心在所述控制时刻的参考角动量、参考角动量速度和参考角动量加速度,其中,所述角动量参考变化轨迹是根据所述支撑面对所述质心的角动量规划得到的;
    采用PD反馈控制器,根据所述质心在所述控制时刻的参考角动量、参考角动量速度和参考角动量加速度,以及所述质心在所述控制时刻的实际角动量和实际角动量速度,计算得到所述控制时刻下的所述角动量期望加速度。
  8. 根据权利要求1至7任一项所述的方法,其中,所述第一机械腿组对应的机械腿同步运动,所述第二机械腿组对应的机械腿同步运动,所述第一机械腿组对应的机械足同步运动,所述第二机械腿组对应的机械足同步运动。
  9. 一种机器人的控制装置,所述机器人包括机身、通过髋关节与所述机身相连的第一机械腿组和第二机械腿组,所述第一机械腿组和所述第二机械腿组中的至少一个机械腿组包括至少两个机械腿,存在至少一个所述机械腿远离所述髋关节的足部设置有机械轮和机械足,所述第一机械腿组对应的髋关节的旋转轴和所述第二机械腿组对应的髋关节的旋转轴位于同一竖直平面,在所述机器人的移动过程中,用于摆动的机械腿组为摆动机械腿组,用于站立的机械腿组为支撑机械腿组;所述装置包括:
    第二状态切换模块,用于在每一个摆动周期内,通过所述支撑机械腿组中的机械轮和机械足站立在支撑面上,旋转所述摆动机械腿组对应的髋关节以使得所述摆动机械腿组向第一方向摆动,以及调整所述摆动机械腿组中的机械腿的长度和所述摆动机械腿组中的机械足的旋转角度,使得所述机器人从第一状态进入第二状态,其中,在所述第一状态和所述第二状态下,所述机器人的各个足部上的机械轮和机械足与所述支撑面接触,在所述第一状态下,所述支撑机械腿组位于所述摆动机械腿组在所述第一方向约束下的前方,在所述第二状态下,所述支撑机械腿组位于所述摆动机械腿组在所述第一方向约束下的后方;
    第三状态切换模块,用于控制所述支撑机械腿组中的各个机械腿伸长,以及控制所述摆动机械腿组中的各个机械腿缩短,使得所述机器人从所述第二状态进入第三状态,其中,在所述第三状态下,所述机器人的机身位于所述摆动机械腿组上方对应的区域;
    第一状态切换模块,用于对所述支撑机械腿组和所述摆动机械腿组功能互换,使得所述机器人从所述第三状态进入所述第一状态;其中,处于所述摆动周期内的机器人在所述支撑面上向所述第一方向移动。
  10. 一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至8任一项所述的机器人的控制方法。
  11. 一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至8任一项所述的机器人的控制方法。
  12. 一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,处理器从所述计算机可读存储介质读取并执行所述计算机程序,以实现如权利要求1至8任一项所述的机器人的控制方法。
PCT/CN2025/079604 2024-03-20 2025-02-27 机器人的控制方法、装置、设备及存储介质 Pending WO2025195136A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202410327875.6A CN120704186A (zh) 2024-03-20 2024-03-20 机器人的控制方法、装置、设备及存储介质
CN202410327875.6 2024-03-20

Publications (1)

Publication Number Publication Date
WO2025195136A1 true WO2025195136A1 (zh) 2025-09-25

Family

ID=97109947

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2025/079604 Pending WO2025195136A1 (zh) 2024-03-20 2025-02-27 机器人的控制方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN120704186A (zh)
WO (1) WO2025195136A1 (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07227482A (ja) * 1994-02-21 1995-08-29 Takara Co Ltd 2足歩行ロボット
US20080135312A1 (en) * 2006-11-20 2008-06-12 Ryosuke Nakamura Mobile robot
CN104973163A (zh) * 2015-07-21 2015-10-14 重庆邮电大学 全地貌行走器及其控制方法
CN112720462A (zh) * 2020-12-09 2021-04-30 深圳先进技术研究院 一种机器人的轨迹规划系统和方法
CN113172635A (zh) * 2021-06-09 2021-07-27 乐聚(深圳)机器人技术有限公司 双足机器人行走控制方法、装置、设备及存储介质
CN113753150A (zh) * 2021-05-31 2021-12-07 腾讯科技(深圳)有限公司 轮腿式机器人的控制方法、装置、设备及可读存储介质
US20220395974A1 (en) * 2021-06-14 2022-12-15 Swaminathan Balasubramanian Energy Efficient Legged Mobile robot
CN119002325A (zh) * 2024-03-20 2024-11-22 腾讯科技(深圳)有限公司 机器人的控制方法、装置、设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07227482A (ja) * 1994-02-21 1995-08-29 Takara Co Ltd 2足歩行ロボット
US20080135312A1 (en) * 2006-11-20 2008-06-12 Ryosuke Nakamura Mobile robot
CN104973163A (zh) * 2015-07-21 2015-10-14 重庆邮电大学 全地貌行走器及其控制方法
CN112720462A (zh) * 2020-12-09 2021-04-30 深圳先进技术研究院 一种机器人的轨迹规划系统和方法
CN113753150A (zh) * 2021-05-31 2021-12-07 腾讯科技(深圳)有限公司 轮腿式机器人的控制方法、装置、设备及可读存储介质
CN113172635A (zh) * 2021-06-09 2021-07-27 乐聚(深圳)机器人技术有限公司 双足机器人行走控制方法、装置、设备及存储介质
US20220395974A1 (en) * 2021-06-14 2022-12-15 Swaminathan Balasubramanian Energy Efficient Legged Mobile robot
CN119002325A (zh) * 2024-03-20 2024-11-22 腾讯科技(深圳)有限公司 机器人的控制方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN120704186A (zh) 2025-09-26

Similar Documents

Publication Publication Date Title
CN113753150B (zh) 轮腿式机器人的控制方法、装置、设备及可读存储介质
CN114986526B (zh) 机器人运动控制方法、装置、机器人及存储介质
JP6715952B2 (ja) バランスのとれた運動および行動能力が向上した移動型ロボット
US9334002B2 (en) Balance control apparatus of robot and control method thereof
JP3972854B2 (ja) ロボットの運動制御装置
CN111558941A (zh) 浮动基动力学前馈控制方法、装置和多足机器人
WO2025195142A1 (zh) 机器人的控制方法、装置、设备及存储介质
WO2024021767A1 (zh) 控制足式机器人的方法、装置、设备、足式机器人、计算机可读存储介质和计算机程序产品
CN119024875B (zh) 轮腿式机器人的平衡控制方法、装置、设备及存储介质
WO2024234594A1 (zh) 机器人的控制方法、装置、设备及存储介质
US20250353195A1 (en) Balance control method and apparatus for wheel-legged robot, device, and storage medium
WO2024221845A1 (zh) 移动机器人和移动机器人的控制方法
WO2024234596A1 (zh) 机器人的控制方法、装置、设备及存储介质
CN118963119A (zh) 一种带机械臂的四足机器人协同运动控制方法
CN117245654B (zh) 双四足机器人拼接组合体的分布式控制方法及装置
You et al. Straight leg walking strategy for torque-controlled humanoid robots
CN119858163B (zh) 一种四足单臂作业机器人的全身运动轨迹优化方法及系统
CN120985684A (zh) 机器人的控制方法、装置、设备及存储介质
CN119098958A (zh) 机器人的控制方法、装置、芯片产品、设备及存储介质
CN119098959A (zh) 机器人的控制方法、装置、芯片产品、设备及存储介质
CN120704186A (zh) 机器人的控制方法、装置、设备及存储介质
CN118081729A (zh) 机器人及其运动控制方法、装置、存储介质
CN121515154A (zh) 机器人的控制方法、装置、芯片、设备及存储介质
Shao et al. Motion planning and compliant control for a quadruped robot on complicated terrains
WO2025241678A1 (zh) 机器人的控制方法、装置、设备及存储介质

Legal Events

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

Ref document number: 25772844

Country of ref document: EP

Kind code of ref document: A1