Control Method, Device, Equipment and Storage Medium of Robot
By designing a mechanical leg set with the same straight plane hip rotation center, the wheel-leg robot can move quickly in a dynamic equilibrium state, solving the problem of low movement efficiency in the prior art and achieving more efficient obstacle crossing.
Patent Information
- Application Number
- CN202310563089.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-17
- Publication Date
- 2025-06-24
- Estimated Expiration
- 2043-05-17
AI Technical Summary
Existing wheel-leg robots are less efficient when moving on obstacles such as climbing stairs, mainly because their center of gravity projection is always in the support area, resulting in slower movement speed in dynamic equilibrium.
By designing a first and a second mechanical leg set with the same vertical plane hip rotation center, the robot can stand in an overlapping standing state and move quickly in a dynamic equilibrium state through alternating swings.
In the dynamic equilibrium state, the robot's center of gravity can move rapidly beyond the support area, significantly improving the robot's movement efficiency, and further improving the movement efficiency through the control method of alternating swing.
Smart Images

Figure CN118990467B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of artificial intelligence technology, and particularly to a control method, device, equipment and storage medium for a robot. Background Art
[0002] With the development of robot control technology, some organizations and research institutions have successively introduced wheel-legged robots with wheels as feet. Such wheel-legged robots can not only quickly slide on wheels but also climb stairs and cross obstacles relying on the wheels.
[0003] Taking the wheel-legged robot climbing stairs as an example, the related technology uses a heuristic method to control the wheel-legged robot. For example, by planning the position of the mechanical legs of the wheel-legged robot relative to the stairs, the center of gravity of the wheel-legged robot is controlled to move slowly within its support area to achieve climbing stairs. Such a method belongs to static stair climbing, that is, the projection of the center of gravity of the robot does not exceed the support area of the robot, resulting in low efficiency of the robot climbing stairs. Summary of the Invention
[0004] The embodiments of the present application provide a control method, device, equipment and storage medium for a robot, which can improve the movement efficiency of the robot. The technical solutions are as follows:
[0005] According to one aspect of the embodiments of the present application, a control method for a robot is provided. The robot includes a fuselage, a first mechanical leg group and a second mechanical leg group connected to the fuselage through hip joints. At least one of the first mechanical leg group and the second mechanical leg group includes at least two mechanical legs. The rotation centers of the hip joints corresponding to the first mechanical leg group and the rotation centers of the hip joints corresponding to the second mechanical leg group are located in the same vertical plane. The method includes:
[0006] Stand on a support surface in an overlapping standing state, and the position error of each mechanical leg of the robot in the overlapping standing state in the first direction is zero;
[0007] Control the first mechanical leg group and the second mechanical leg group to swing alternately and move in the first direction on the support surface.
[0008] According to one aspect of the embodiments of the present application, a control device for a robot is provided. The robot includes a fuselage, a first mechanical leg group and a second mechanical leg group connected to the fuselage through hip joints. At least one of the first mechanical leg group and the second mechanical leg group includes at least two mechanical legs. The rotation centers of the hip joints corresponding to the first mechanical leg group and the rotation centers of the hip joints corresponding to the second mechanical leg group are located in the same vertical plane. The device includes:
[0009] A standing state control module is used to stand on a support surface in an overlapping standing state, where the position error of each mechanical leg of the robot in the overlapping standing state in the first direction is zero;
[0010] A swinging state control module is used to control the first mechanical leg group and the second mechanical leg group to swing alternately and move in the first direction on the support surface.
[0011] According to one aspect of the embodiments of the present application, a computer device is provided. The robot includes a processor and a memory. A computer program is stored in the memory, and the computer program is loaded and executed by the processor to implement the above-mentioned control method of the robot.
[0012] According to one aspect of the embodiments of the present application, a computer-readable storage medium is provided. A computer program is stored in the readable storage medium, and the computer program is loaded and executed by a processor to implement the above-mentioned control method of the robot.
[0013] According to one aspect of the embodiments of the present application, a computer program product is provided. The computer program product includes a computer program, and the computer program is stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium, and the processor executes the computer program, so that the computer device executes the above-mentioned control method of the robot.
[0014] The technical solutions provided by the embodiments of the present application may include the following beneficial effects:
[0015] For a robot with a first mechanical leg group and a second mechanical leg group, since the rotation centers of the corresponding hip joints are located in the same vertical plane, a group of mechanical legs can be used to maintain standing, and the other group of mechanical legs can swing, so that the robot can move quickly in a dynamically balanced state (that is, the center of gravity of the robot can exceed the support area of the robot), thereby improving the moving efficiency of the robot. At the same time, controlling the movement of the robot in the way of alternately swinging the first mechanical leg group and the second mechanical leg group can further improve the moving efficiency of the robot. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the following drawings are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0017] Figure 1 It is a schematic diagram of the implementation environment of the solution provided by an embodiment of the present application;
[0018] Figure 2 It is a schematic diagram of a quadruped wheel-legged robot provided by an embodiment of the present application;
[0019] Figure 3 It is a schematic diagram of a wheel-legged robot climbing stairs provided by an embodiment of the present application;
[0020] Figure 4 It is a schematic diagram of a wheel-legged robot crossing a road shoulder provided by an embodiment of the present application;
[0021] Figure 5 It is a schematic diagram of a wheel-legged robot crossing a pothole provided by an embodiment of the present application;
[0022] Figure 6 It is a schematic diagram of a control method of a robot provided by an embodiment of the present application;
[0023] Figure 7 It is a schematic diagram of a wheel-legged robot in an overlapping standing state provided by an embodiment of the present application;
[0024] Figure 8 It is a schematic diagram of a moving method of a robot provided by an embodiment of the present application;
[0025] Figure 9 It is a schematic diagram of gait information of a robot provided by an embodiment of the present application;
[0026] Figures 10 - 12 Exemplarily shows a schematic diagram of a quadruped wheel-legged robot climbing stairs;
[0027] Figure 13 It is a flowchart of a moving method of a robot provided by another embodiment of the present application;
[0028] Figure 14 It is a schematic diagram of a planar model of a wheel-legged robot provided by an embodiment of the present application;
[0029] Figure 15 It is a schematic diagram of a planar model of a wheel-legged robot climbing stairs provided by an embodiment of the present application;
[0030] Figure 16 It is a schematic diagram of an inverted pendulum model of a wheel-legged robot provided by an embodiment of the present application;
[0031] Figures 17 - 20 Exemplarily shows a schematic diagram of a robot following each reference moving trajectory;
[0032] Figure 21 It is a block diagram of a control device of a robot provided by an embodiment of the present application;
[0033] Figure 22 It is a block diagram of a control device for a robot provided by another embodiment of the present application;
[0034] Figure 23 It is a simplified structural block diagram of a computer device provided by an embodiment of the present application. Detailed implementation manners
[0035] To make the objectives, technical solutions and advantages of the present application clearer, the following will further describe the embodiments of the present application in detail with reference to the accompanying drawings.
[0036] Artificial Intelligence (AI) is to use a digital computer or a machine controlled by a digital computer to simulate, extend and expand human intelligence, a theory, method, technology and application system that can perceive the environment, acquire knowledge and use knowledge to obtain the best results. In other words, artificial intelligence is a comprehensive technology in computer science, which attempts to understand the essence of intelligence and produce a new intelligent machine that can react in a way similar to human intelligence. Artificial intelligence is also to study the design principles and implementation methods of various intelligent machines, so that the machines have the functions of perception, reasoning and decision-making.
[0037] Artificial intelligence technology is an interdisciplinary subject, involving a wide range of fields, including both hardware-level technologies and software-level technologies. The basic technologies of artificial intelligence generally include technologies such as sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technology, operation / interaction systems, and mechatronics. The software technologies of artificial intelligence mainly include several major directions such as computer vision technology, speech processing technology, natural language processing technology, and machine learning / deep learning.
[0038] The technical solutions of the present application mainly relate to the robot technology in artificial intelligence technology, and mainly relate to robot intelligent control. A robot is a mechatronic device that combines mechanical transmission and modern microelectronics technology and can imitate a certain skill of a human. A robot is developed on the basis of electronics, machinery and information technology. A robot does not necessarily have to look like a human. As long as it can autonomously complete the tasks and commands given by humans, it belongs to the members of the robot family. A robot is an automated machine that has some intelligent capabilities similar to those of humans or organisms, such as perception capabilities, planning capabilities, motion capabilities and cooperation capabilities, and is a highly flexible automated machine. With the development of computer technology and artificial intelligence technology, the functions and technical levels of robots have been greatly improved. Mobile robots and technologies such as the vision and touch of robots are typical representatives.
[0039] For the technical solutions provided by the embodiments of the present application, the execution subject of each step may be a computer device, and the computer device refers to an electronic device with data calculation, processing and storage capabilities.
[0040] Optionally, the computer device may be a PC (Personal Computer) device such as a desktop computer or a laptop computer for controlling a robot; it may also be a server for controlling a robot. Among them, the server may be an independent physical server, or a server cluster or a distributed system composed of multiple physical servers, or a cloud server providing cloud computing services. The computer device and the robot may be connected through a physical line, a network, etc. For example, referring to Figure 1 , the computer device 101 may control the movement of the robot 103 according to the reference movement trajectory of the robot 103 (such as the support reference movement trajectory, the centroid reference movement trajectory, and the swing reference movement trajectory hereinafter), such as the computer device 101 may control the first mechanical leg group 104 and the second mechanical leg group 105 of the robot 103 to swing alternately according to the reference movement trajectory of the robot 103, so that the robot 103 moves in the first direction on the support surface.
[0041] Optionally, the computer device may also be the robot itself, that is, the execution subject of each step in the technical solution provided by the embodiments of the present application is the robot. For example, referring to Figure 1 , the computer device 101 may send the reference movement trajectory of the robot 103 to the robot 103 through the network 102, and the robot 103 moves according to the reference movement trajectory. Optionally, the robot 103 may also automatically obtain the reference movement trajectory according to the real environment to perform different tasks in the real environment, which is not limited in the embodiments of the present application.
[0042] The robot in the embodiments of the present application may refer to a wheel-legged robot, a leg-footed robot, etc. A wheel-legged robot refers to a robot with wheels as its feet, and a leg-footed robot refers to a robot with feet as its feet, which is not limited in the embodiments of the present application.
[0043] In one example, the robot may include a fuselage, a first mechanical leg group and a second mechanical leg group connected to the fuselage through hip joints. At least one of the first mechanical leg group and the second mechanical leg group includes at least two mechanical legs. For example, the first mechanical leg group includes at least two mechanical legs, and the first 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 both sides of the central axis (i.e., the sagittal plane) of the robot. At least two mechanical legs in the second mechanical leg group are respectively located on both sides of the central axis of the robot. The first mechanical leg group and the second mechanical leg group are arranged side by side, that is, the rotation centers of the hip joints corresponding to the first mechanical leg group and the rotation centers of the hip joints corresponding to the second mechanical leg group are located in the same vertical plane.
[0044] Exemplarily, taking the wheel-legged robot as an example, the robot in the embodiments of the present application will be described.
[0045] The wheel-legged robot in the embodiments of the present application may include a fuselage, an outer mechanical leg group (i.e., the first mechanical leg group) and an inner mechanical leg group (i.e., the second mechanical leg group) connected to the fuselage through hip joints. The outer mechanical leg group may include two outer mechanical legs, and the inner mechanical leg group may include at least one inner mechanical leg. Exemplarily, the wheel-legged robot is a quadruped wheel-legged robot, that is, the wheel-legged robot includes two outer mechanical legs and two inner mechanical legs; the wheel-legged robot is also a three-legged wheel-legged robot, that is, the wheel-legged robot includes two outer mechanical legs and one inner mechanical leg. Among them, the hip joint corresponding to at least one inner mechanical leg in the inner mechanical leg group is located between the hip joints corresponding to the two outer mechanical legs in the outer mechanical leg group, and the rotation centers of the hip joints corresponding to the outer mechanical legs and the rotation centers of the hip joints corresponding to the inner mechanical legs are located in the same vertical plane. The wheel-legged robot can stand on the support surface through the outer mechanical legs or the inner mechanical legs, and the wheel-legged robot can also slide on the support surface through the wheels on the outer mechanical legs or the wheels on the inner mechanical legs. It can also move (i.e., walk) on the support surface by controlling the alternating swing of the outer mechanical leg group and the inner mechanical leg group.
[0046] Exemplarily, as Figure 2 shown, it exemplarily shows a schematic structural diagram of a quadruped wheel-legged robot. The quadruped wheel-legged robot 200 may include: a fuselage, a hip joint, and mechanical legs.
[0047] Among them, the quadruped wheel-legged robot 200 has four mechanical legs: 2 outer mechanical legs 201 (i.e., the first mechanical leg group) and 2 inner mechanical legs 202 (i.e., the second mechanical leg group). The 2 inner mechanical legs 202 are located between the 2 outer mechanical legs 201, and the four mechanical legs can all be individually telescoped in the direction shown in the figure. A wheel 203 is installed at the end of each of the four mechanical legs, and each wheel 203 can be individually driven. The quadruped wheel-legged robot 200 can stand through the 2 inner mechanical legs 202 or the 2 outer mechanical legs 201 to be in a two-wheel support state; the quadruped wheel-legged robot 200 can also stand through the 2 inner mechanical legs 202 and the 2 outer mechanical legs 201 at the same time to be in a four-wheel support state. The embodiments of the present application do not limit this.
[0048] Optionally, the 2 inner mechanical legs 202 can be implemented as a whole, that is, the quadruped wheel-legged robot 200 can be implemented as a three-legged wheel-legged robot, which only has one inner mechanical leg.
[0049] The other end of each of the four robotic legs is respectively connected to a hip joint 204. Each robotic leg can rotate around its respective hip joint 204 and maintain linkage. In the embodiment of the present application, the rotation centers of the respective hip joints 204 corresponding to the quadruped wheel-legged robot 200 are located in the same vertical plane 205, and the rotation planes of the respective robotic legs corresponding to the quadruped wheel-legged robot 200 are parallel. The hip joints 204 corresponding to the two inner robotic legs 202 are located between the hip joints 204 corresponding to the two outer robotic legs 201.
[0050] Optionally, the respective hip joints 204 corresponding to the quadruped wheel-legged robot 200 can be coaxial, that is, the rotation centers of the respective hip joints 204 are located on the same straight line. The respective hip joints 204 corresponding to the quadruped wheel-legged robot 200 can also be non-coaxial. For example, the hip joints 204 corresponding to the 2 inner robotic legs 202 are coaxial, and the hip joints 204 corresponding to the 2 outer robotic legs 201 are coaxial, but the hip joints 204 corresponding to the 2 inner robotic legs 202 are not coaxial with the hip joints 204 corresponding to the 2 outer robotic legs 201.
[0051] Optionally, the hip joints 204 corresponding to the 2 outer robotic legs 201 share a driving motor to enable the 2 outer robotic legs 201 to move synchronously; the hip joints 204 corresponding to the 2 inner robotic legs 202 share a driving motor to enable the 2 inner robotic legs 202 to move synchronously. In a feasible example, the respective hip joints 204 corresponding to the quadruped wheel-legged robot 200 can also be independently driven by their respective corresponding driving motors, and the embodiment of the present application does not limit this.
[0052] The fuselage of the quadruped wheel-legged robot 200 can include a waist 206, a torso 207, a head 208, and upper limbs 209.
[0053] Among them, the respective hip joints 204 corresponding to the quadruped wheel-legged robot 200 are connected to the same end of the waist 206, and the other end of the waist 206 is connected to one end of the torso 207. The waist 206 has two rotation centers: a pitch rotation center that can enable the torso 207 to pitch, and a yaw rotation center that can enable the torso 207 to yaw. The yaw rotation center and the pitch rotation center are designed in series and are located at the upper end of the pitch rotation center and are connected to the torso 207.
[0054] The other end of the torso 207 is connected to the head 208 and the upper limbs 209. The upper limbs 209 can be upper limbs with multiple degrees of freedom. In some embodiments, end effectors such as robotic grippers and suction cups are deployed on the upper limbs 209. Data acquisition devices such as image acquisition devices and video shooting devices can be deployed in the head 208 to sense the real environment.
[0055] In the technical solution provided by the embodiments of the present application, the foot wheels, mechanical legs, hip joints, and waist of the quadruped wheel-leg robot 200 are the necessary hardware for the control algorithm, and the rest are non-necessary hardware.
[0056] The quadruped wheel-leg robot has a more stable structure compared to the biped wheel-leg robot, with stronger resistance to external impact disturbances. It has fewer redundant joints compared to the hexapod wheel-leg robot, lower design complexity, and it can not only carry large loads, but also pass through narrow spaces, and can perform tasks on objects at different heights. The quadruped wheel-leg robot has strong adaptability to the environment.
[0057] The robot control method provided by the embodiments of the present application is applicable to various scenarios, such as a robot climbing stairs, crossing a threshold, crossing a road shoulder, crossing a pothole, and any scenario of crossing an obstacle. The robot adopting the technical solution provided by the embodiments of the present application has stronger environmental adaptability. The robot control method provided by the embodiments of the present application can improve the movement efficiency of the robot.
[0058] The following will take the wheel-leg robot as an example to illustrate the application scenarios of the technical solution provided by the embodiments of the present application.
[0059] In some embodiments, referring to Figure 3 , when the wheel-leg robot 301 needs to climb stairs, it can complete the stair climbing by controlling the alternating swing of the outer mechanical leg group 302 (i.e., the first mechanical leg group) and the inner mechanical leg group 303 (i.e., the second mechanical leg group). For example, first, take the outer mechanical leg group 302 as the supporting mechanical leg group and the inner mechanical leg group 303 as the swinging mechanical leg group, so that the robot 301 climbs onto the first step. Then, take the inner mechanical leg group 303 as the supporting mechanical leg group and the outer mechanical leg group 302 as the swinging mechanical leg group, so that the robot 301 climbs onto 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.
[0060] In some embodiments, referring to Figure 4 , when the wheel-leg robot 401 needs to cross a road shoulder, it can complete the crossing of the road shoulder by controlling the alternating swing of the outer mechanical leg group 402 and the inner mechanical leg group 403. For example, first, take the inner mechanical leg group 403 as the supporting mechanical leg group and the outer mechanical leg group 402 as the swinging mechanical leg group, so that the outer mechanical leg group 402 of the robot 401 climbs onto the road shoulder. Then, take the outer mechanical leg group 402 as the supporting mechanical leg group and the inner mechanical leg group 403 as the swinging mechanical leg group, so that the robot 401 completely crosses the road shoulder. The inner mechanical leg group 403 and the outer mechanical leg group 402 swing alternately in sequence to complete the task of crossing the road shoulder.
[0061] In some embodiments, referring to Figure 5, when the wheel-legged robot 501 needs to cross a pit, it can complete crossing the pit by controlling the alternating swinging of the outer mechanical leg group 502 and the inner mechanical leg group 503. For example, first, take the inner mechanical leg group 503 as the supporting mechanical leg group and the outer mechanical leg group 502 as the swinging mechanical leg group, so that the outer mechanical leg group 502 of the robot 501 crosses the pit. Then, take the outer mechanical leg group 502 as the supporting mechanical leg group and the inner mechanical leg group 503 as the swinging mechanical leg group, so that the robot 501 completely crosses the pit. The inner mechanical leg group 503 and the outer mechanical leg group 502 swing alternately in sequence to complete the task of crossing the pit.
[0062] The control method of the robot provided by the embodiments of the present application will be described below by using method embodiments.
[0063] Please refer to Figure 6 , which shows a flowchart of the control method of the robot provided by an embodiment of the present application. In the embodiments of the present application, taking the execution subject of each step as the robot as an example, the control method of the robot will be described. This method may include the following steps (601-602):
[0064] Step 601, stand on the support surface in an overlapping standing state, and the position error of each mechanical leg of the robot in the overlapping standing state in the first direction is zero.
[0065] Optionally, this overlapping standing state may refer to the initial state of the robot, which can be used to indicate the initial state when the robot moves on the support surface. Exemplarily, this overlapping standing state can indicate that each mechanical leg of the robot overlaps in the first direction. For example, taking the contact point between the foot of the robot in the initial state and the support surface 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 direction and the vertical direction as the y-axis direction, a world coordinate system of the robot is constructed. The coordinates of each mechanical leg of the robot in the overlapping standing state in the x-axis direction are the same, that is, the position error of each mechanical leg of the robot in the overlapping standing state in the x-axis direction is zero. Looking at the robot from the y-axis direction, only one outermost mechanical leg can be seen. Among them, the position error may refer to the error between the positions of the feet corresponding to each mechanical leg in the world coordinate system. The robot in the embodiments of the present application is the same as that introduced in the above embodiments, and will not be elaborated here.
[0066] Optionally, the above overlapping standing state can be used to constrain the length of each mechanical leg, the positional relationship between the mechanical leg and the waist, the positional relationship between the mechanical leg and the support surface, etc. of the robot in the initial state. For example, the robot in the overlapping standing state stands vertically on the support surface.
[0067] In the embodiments of the present application, the first direction may refer to the forward direction of the robot. For example, the first direction may be a horizontal direction parallel to the support surface, or it may be a vertical direction perpendicular to the support surface. The first direction may also be the x-axis direction corresponding to the world coordinate system of the robot. The embodiments of the present application do not limit this.
[0068] In the embodiments of the present application, the above support surface may include only one plane, such as a flat ground, road, etc., or it may include multiple planes with different heights, such as stairs, a road surface with shoulders, a ground with pits, etc. The embodiments of the present application do not limit this.
[0069] In some examples, the initial state of the robot can be set and adjusted according to actual usage requirements. For example, the initial state of the robot can be a quadrupedal support standing state, a bipedal support standing state, etc. The embodiments of the present application do not limit this.
[0070] Exemplarily, referring to Figure 7 , the wheeled-leg robot 701 is in an overlapping standing state. It stands on the support surface with 2 outer mechanical legs in the outer mechanical leg group 702 (i.e., the first mechanical leg group) as the support mechanical legs, and the 2 inner mechanical legs in the inner mechanical leg group 703 (i.e., the second mechanical leg group) do not contact the support surface. In some embodiments, the 2 inner mechanical legs in the inner mechanical leg group 703 may also contact the support surface. Among them, the four mechanical legs of the robot 701 are in an overlapping state in a certain direction, that is, in this direction, the position error of the four mechanical legs of the robot 701 is zero.
[0071] Step 602, control the first mechanical leg group and the second mechanical leg group to swing alternately and move in the first direction on the support surface.
[0072] In the embodiments of the present application, the swing of the mechanical leg refers to the process in which the mechanical leg rotates with the hip joint of the mechanical leg as the fixed point, that is, it is equivalent to rotating the mechanical leg corresponding to the hip joint through the hip joint. Optionally, during the swing of the mechanical leg, the length of the mechanical leg can be adjusted according to actual usage requirements, and the position of the hip joint corresponding to the mechanical leg in the world coordinate system can also be adjusted according to actual usage requirements. The embodiments of the present application do not limit this.
[0073] The swing of the first mechanical leg group refers to the swing of the mechanical legs in the first mechanical leg group, the swing of the second mechanical leg group refers to the swing of the mechanical legs in the second mechanical leg group, and the alternate swing of the first mechanical leg group and the second mechanical leg group refers to the alternate swing of the mechanical legs in the first mechanical leg group and the mechanical legs in the second mechanical leg group.
[0074] Exemplarily, after the robot stops moving after n step cycles, for the adjacent i-th and (i + 1)-th step cycles among the n step cycles, if the first mechanical leg group swings within the i-th step cycle, then the second mechanical leg group swings within the (i + 1)-th step cycle; if the second mechanical leg group swings within the i-th step cycle, then the first mechanical leg group swings within the (i + 1)-th step cycle. Optionally, when the first mechanical leg group swings, the second mechanical leg group is the supporting mechanical leg group; when the second mechanical leg group swings, the first mechanical leg group is the supporting mechanical leg group. The supporting mechanical leg group refers to the mechanical leg group used to make the robot stand on the supporting surface.
[0075] Wherein, the step cycle is used to indicate the duration for the first mechanical leg group or the second mechanical leg group to complete one swing, and the n step cycles can be the same. The step amplitude of the first mechanical leg group or the second mechanical leg group within one step cycle is the step length of one step. For example, the moving distance of the first mechanical leg group or the second mechanical leg group in the first direction within one step cycle can be recorded as one step length. This step length can be set and adjusted according to actual usage requirements, and this step length can also be a fixed value. The embodiments of the present application do not limit this. n is a positive integer.
[0076] In one example, since the control methods of the first mechanical leg group and the second mechanical leg group are the same within each step cycle, any one of the n step cycles will be used as an example for illustration below. Refer to Figure 8 , step 602 may further include the following content:
[0077] Step 602a, for each step cycle, determine the supporting mechanical leg group and the swinging mechanical leg group corresponding to the step cycle from the first mechanical leg group and the second mechanical leg group.
[0078] Wherein, the swinging mechanical leg group refers to the mechanical leg group used to make the robot move in the first direction. In the embodiments of the present application, the types of the mechanical legs in the supporting mechanical leg group or the swinging mechanical leg group are the same, that is, the mechanical legs in the supporting mechanical leg group or the swinging mechanical leg group can all be the mechanical legs in the first mechanical leg group, or can all be the mechanical legs in the second mechanical leg group. For example, if the first mechanical leg group is the supporting mechanical leg group, then the second mechanical leg group is the swinging mechanical leg group; if the second mechanical leg group is the supporting mechanical leg group, then the first mechanical leg group is the swinging mechanical leg group.
[0079] In one example, a step cycle includes a swing cycle and a support cycle. During the swing cycle, the robotic leg is in a swing state, and during the support cycle, the robotic leg is in a support state. The robotic leg in the swing state does not contact the support surface, and the robotic leg completes one swing within the swing cycle. The robotic leg in the support state contacts the support surface, and the robotic leg completes the conversion between the swing robotic leg and the support robotic leg within the support cycle. The support cycle is located after the swing cycle.
[0080] Optionally, within the same step cycle, the swing cycle of the support robotic leg group is zero, that is, all the support robotic legs in the support robotic leg group are in the support state, while the swing robotic leg group is first in the swing state and then in the support state.
[0081] Exemplarily, within the same step cycle, the determination process of the support robotic leg group and the swing robotic leg group can be as follows:
[0082] 1. Obtain the gait information of the robot according to n step cycles and the support period ratio of the robot.
[0083] Wherein, the support period ratio is used to indicate the proportion of the time duration that the swing robotic leg of the robot is in the support state within each step cycle. Optionally, within each step cycle, all the support robotic legs are in the support state.
[0084] Exemplarily, denoting the step cycle as T and the support period ratio: α ∈ [0, 1), then the swing cycle of the swing robotic leg within one step cycle is: T swing =(1 - α)T, and the support cycle is: T stance =αT. Optionally, the step cycle and the support period ratio can be parameters pre-set in the robot, or can be parameters automatically adjusted by the robot according to the real environment. The embodiments of the present application do not limit this.
[0085] The above gait information is used to indicate whether the robotic leg of the robot is a swing robotic leg within each step cycle, and it can be used to indicate the alternate swing of the first robotic leg group and the second robotic leg group of the robot. Optionally, for each step cycle, if the swing cycle of a certain robotic leg is a non-zero value, it can be determined that this robotic leg is a swing robotic leg; if the swing cycle of a certain robotic leg is a zero value, it can be determined that this robotic leg is a support robotic leg.
[0086] The gait information of each robotic leg can be represented as a time series of the support state and the swing state. Exemplarily, assuming the support state is 1, the swing state is 0, the first robotic leg group includes robotic legs c1 and c2, and the second robotic leg group includes robotic legs c3 and c4. If the robot first steps with the second robotic leg group, then the gait of each robotic leg at time t can be represented as follows:
[0087]
[0088]
[0089] Among them, n = floor(t / T) represents the current step number (i.e., the current stepping cycle).
[0090] If the robot takes the first mechanical leg group as the first step, the gait of each mechanical leg at time t can be expressed as follows:
[0091]
[0092]
[0093] For example, referring to Figure 9 , taking the second mechanical leg group as the first step as an example, the gait information of the robot can be represented by the line graph shown in Figure 9 . For the first stepping cycle 901, within the swing period T swing =(1 - α)T, the second mechanical leg group is in the swing state, and the first mechanical leg group is in the support state; within the support period T swing =(1 - α)T, the second mechanical leg group is in the support state, and the first mechanical leg group is also in the support state. For the second stepping cycle 902, within the swing period, the first mechanical leg group is in the swing state, and the second mechanical leg group is in the support state; within the support period, the first mechanical leg group is in the support state, and the second mechanical leg group is also in the support state, and so on.
[0094] 2. According to the gait information, determine the support mechanical leg group and the swing mechanical leg group corresponding to the stepping cycle from the first mechanical leg group and the second mechanical leg group.
[0095] Optionally, it is possible to first determine whether the serial number of the stepping cycle is odd or even, and then combine the gait information of the robot to determine the support mechanical leg group and the swing mechanical leg group corresponding to the stepping cycle. For example, referring to Figure 9 , if a certain stepping cycle is the 3rd stepping cycle among n stepping cycles, it can be determined that within this stepping cycle, the first mechanical leg group is the support mechanical leg group and the second mechanical leg group is the swing mechanical leg group.
[0096] Step 602b: Swing the swing mechanical leg group in the first direction with the support of the support mechanical leg group.
[0097] The robot stands on the support surface relying on the support mechanical leg group, and swings the swing mechanical leg group in the first direction by rotating the hip joint corresponding to the swing mechanical leg group in the first direction. This process occurs within the swing period of the stepping cycle.
[0098] For example, referring to Figure 3, the robot 301 stands on the support surface relying on the supporting mechanical leg group (i.e., the first mechanical leg group 302), and swings the corresponding hip joints of the swinging mechanical leg group (i.e., the second mechanical leg group 303) in the first direction, so that the swinging mechanical leg group swings in the first direction to climb onto the first step of the stairs.
[0099] Optionally, the mechanical legs in the first mechanical leg group move synchronously, and the mechanical legs in the second mechanical leg group move synchronously. That is, during the support process of the supporting mechanical leg group, each supporting mechanical leg moves synchronously; during the swinging process of the swinging mechanical leg group, each swinging mechanical leg moves synchronously.
[0100] Optionally, the fuselage of the robot remains vertical during the movement of the robot, such as Figure 3 , the fuselage of the robot 301 always remains vertical during the stair climbing process, that is, only the rotation of each hip joint needs to be adjusted, and the pitch joint, yaw rotation joint, etc. are not rotated to adjust the attitude of the robot's fuselage, thereby further reducing the control workload of the robot and thus being beneficial to improving the control efficiency of the robot.
[0101] In one example, during the swing period of the step cycle, during the process of the swinging mechanical leg group swinging in the first direction, the leg lengths of the respective supporting mechanical legs in the supporting mechanical leg group are increased.
[0102] By increasing the leg lengths of the respective supporting mechanical legs in the supporting mechanical leg group, the robot can change the position of the center of mass in the second direction, so that the robot can completely straddle an obstacle, such as the entire robot can completely climb onto each step of the stairs. Wherein, the second direction refers to the direction perpendicular to the first direction. For example, if the first direction is the direction horizontally to the right, the second direction can refer to the vertically upward direction.
[0103] During the swinging process of the swinging mechanical leg group, the leg lengths of the respective swinging mechanical legs can be adjusted according to the real environment. For example, while being able to reach the desired position, it can avoid collision with the contact surface. This adjustment process will be described in detail below and will not be elaborated here.
[0104] Step 602c, when the swinging mechanical leg group reaches the desired position corresponding to the step cycle on the support surface, stop swinging the swinging mechanical leg group.
[0105] In the embodiments of the present application, each step cycle corresponds to an initial position and a desired position. The initial position can refer to the position where the swinging mechanical leg starts to swing, and the desired position can refer to the position where the swinging mechanical leg ends to swing. The desired position corresponding to each step cycle can be determined according to the step length of the robot and the size information of the support surface.
[0106] Optionally, for the adjacent i-th and (i + 1)-th stepping cycles among the n stepping cycles, the expected position of the i-th stepping cycle can be used as the initial position of the (i + 1)-th stepping cycle, that is, the initial position of the (i + 1)-th stepping cycle is the same as the expected position of the (i + 1)-th stepping cycle.
[0107] The expected position can refer to the expected position where the foot on the swinging robotic leg contacts the support surface. For example, when the robot uses wheels as feet, the expected position can refer to the expected position where the wheel on the swinging robotic leg contacts the support surface; when the robot uses feet as feet, the expected position can refer to the expected position where the foot on the swinging robotic leg contacts the support surface.
[0108] After the swinging robotic leg group stops swinging, the robot enters the support cycle. When the support cycle is non-zero, the robot is in a four-legged support standing state; when the support cycle is zero, the robot immediately alternates between the swinging robotic leg group and the supporting robotic leg group, that is, during the movement of the robot, the robot is always in a two-legged support standing state, which can further improve the movement efficiency of the robot.
[0109] After the end of the current stepping cycle, the robot enters the next stepping cycle. The robot stops moving after passing through n stepping cycles. For example, if the robot climbs up the stairs, crosses the road shoulder, crosses the pothole, etc. after passing through n stepping cycles, it can stop moving. Optionally, the robot after stopping moving can be restored to the above overlapping standing state.
[0110] In summary, for the robot with the first robotic leg group and the second robotic leg group, the technical solution provided in the embodiments of the present application enables the robot to maintain a standing state with one group of robotic legs and swing with the other group of robotic legs because the rotation centers of the corresponding hip joints are located in the same vertical plane, so that the robot can move quickly in a dynamically balanced state (that is, the center of gravity of the robot can exceed the support area of the robot), thereby improving the movement efficiency of the robot. At the same time, by controlling the movement of the robot in the way of alternating swings of the first robotic leg group and the second robotic leg group, the movement efficiency of the robot can be further improved.
[0111] Among them, the center of gravity of the robot refers to the point where the gravity of the robot is concentrated. The center of mass of the robot is the weighted average of the positions of the mass points with respect to their masses. 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 on each robotic leg of the robot and the support surface respectively. 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 velocity of the robot and a very slow overall movement. However, the center of gravity of the robot in the embodiments of the present application can exceed the support area of the robot, and the overall movement is very fast, thereby improving the movement efficiency of the robot.
[0112] In addition, by setting the support period in each step cycle of the robot to zero, the robot can control the first mechanical leg group and the second mechanical leg group to swing continuously and alternately without stopping, thereby further improving the movement efficiency of the robot.
[0113] In addition, setting the robot's hip joints to be coaxial, controlling the synchronous movement of the mechanical legs in the first mechanical leg group, and controlling the synchronous movement of the mechanical legs in the second mechanical leg group can reduce the control difficulty of the robot, thereby improving the control efficiency of the robot.
[0114] In some embodiments, reference Figures 10 - 12 Taking a four-legged wheeled robot climbing stairs as an example, the technical solution provided by the embodiment of the present application is described, which may include the following contents:
[0115] The initial state of the quadruped wheeled-legged robot 1000 climbing stairs is an overlapping standing state, that is, the four mechanical legs of the quadruped wheeled-legged robot 1000 in the initial state are synchronously close together in the forward direction (such as horizontally to the right).
[0116] During the first step cycle (i.e. Figure 10 ), the four-legged wheeled robot 1000 is supported by the outer mechanical leg group 1001 (i.e. the first mechanical leg group) and swings the inner mechanical leg group 1002 (i.e. the second mechanical leg group) in the forward direction, so that the four-legged wheeled robot 1000 climbs the first step of the stairs.
[0117] Among them, for the two inner mechanical legs in the inner mechanical leg group 1002, the two inner mechanical legs are controlled by their corresponding hip joints to swing synchronously in the forward direction, and the leg lengths of the two inner mechanical legs are shortened synchronously, so that the two inner mechanical legs are higher than the first step and do not touch the first step, and then the two inner mechanical legs are controlled by their corresponding hip joints to continue to swing synchronously in the forward direction, and the leg lengths of the two inner mechanical legs are extended synchronously, so that the inner mechanical leg group 1002 reaches the desired position of the first step. In this process, the two outer mechanical legs in the outer mechanical leg group 1001 are adaptively extended synchronously, and the fuselage of the quadruped wheeled leg robot 1000 remains vertical.
[0118] In the second step cycle (i.e. Figure 11 ), the quadruped wheeled leg robot 1000 uses the inner mechanical leg group 1002 as support and swings the outer mechanical leg group 1001 in the forward direction so that the quadruped wheeled leg robot 1000 climbs onto the second step of the stairs.
[0119] Among them, for the two outer robotic legs in the outer robotic leg group 1001, while controlling the two outer robotic legs to swing synchronously in the forward direction through their corresponding hip joints, the leg lengths of the two outer robotic legs are synchronously shortened so that both of the two outer robotic legs are higher than the first step and do not contact the first step. Then, while continuing to control the two outer robotic legs to swing synchronously in the forward direction through their corresponding hip joints, the leg lengths of the two outer robotic legs are synchronously shortened so that both of the two outer robotic legs are higher than the second step and do not contact the second step. Finally, while continuing to control the two outer robotic legs to swing synchronously in the forward direction through their corresponding hip joints, the leg lengths of the two outer robotic legs are synchronously extended so that the outer robotic leg group 1001 reaches the desired position on the second step. During this process, the two inner robotic legs in the inner robotic leg group 1002 adaptively and synchronously extend, and the fuselage of the quadruped wheel-legged robot 1000 remains vertical and moves in both the vertical and forward directions following the extension of the two inner robotic legs to achieve the centroid adjustment of the quadruped wheel-legged robot 1000.
[0120] In the third stepping cycle (i.e., Figure 12 ), with the outer robotic leg group 1001 as the support, the quadruped wheel-legged robot 1000 swings the inner robotic leg group 1002 in the forward direction so that the quadruped wheel-legged robot 1000 climbs onto the third step of the stairs.
[0121] Among them, for the two inner robotic legs in the inner robotic leg group 1002, while controlling the two inner robotic legs to swing synchronously in the forward direction through their corresponding hip joints, the leg lengths of the two inner robotic legs are synchronously shortened so that both of the two inner robotic legs are higher than the second step and do not contact the second step. Then, while continuing to control the two inner robotic legs to swing synchronously in the forward direction through their corresponding hip joints, the leg lengths of the two inner robotic legs are synchronously shortened so that both of the two outer robotic legs are higher than the third step and do not contact the third step. Finally, while continuing to control the two inner robotic legs to swing synchronously in the forward direction through their corresponding hip joints, the leg lengths of the two inner robotic legs are synchronously extended so that the inner robotic leg group 1002 reaches the desired position on the third step. During this process, the two outer robotic legs in the outer robotic leg group 1001 adaptively and synchronously extend, and the fuselage of the quadruped wheel-legged robot 1000 remains vertical and moves in both the vertical and forward directions following the extension of the two outer robotic legs to achieve the centroid adjustment of the quadruped wheel-legged robot 1000.
[0122] In subsequent stepping cycles, the inner robotic leg group 1002 and the outer robotic leg group 1001 swing alternately so that the quadruped wheel-legged robot 1000 climbs up the stairs.
[0123] In summary, for the quadruped wheel-legged robot with an inner mechanical leg group and an outer mechanical leg group provided by the embodiments of the present application, since the rotation centers of the corresponding hip joints are located in the same vertical plane, the robot can stand on one set of mechanical legs and swing the other set of mechanical legs, so that the robot can quickly climb stairs in a dynamically balanced 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. At the same time, by alternately swinging the inner mechanical leg group and the outer mechanical leg group to control the robot to climb stairs, the stair-climbing efficiency of the robot can be further improved.
[0124] In some embodiments, referring to Figure 13 , the above step 602b "swing the swinging mechanical leg group in the first direction with the support mechanical leg group as the support" may further include the following content:
[0125] Step S101, determine the support reference movement trajectory of the support mechanical leg group according to the size information of the area corresponding to the step cycle on the support surface and the step length of the robot during the step cycle.
[0126] Optionally, since the robot moves in a striding form (i.e., swinging), the support surface can be divided into different areas according to the landing points of each step of the robot. Optionally, while the support surface has multiple areas, the expected position (i.e., the step length) corresponding to each step cycle can also be determined according to the size information of the multiple areas.
[0127] Exemplarily, when the support surface is a staircase, the staircase has multiple steps, each step corresponds to an area, and each step cycle is used to climb one step. Then the above size information may refer to the size information of each step, such as the length, width, and height of the step. Optionally, the size information may further include the total number of steps of the staircase.
[0128] The above support reference movement trajectory may refer to the expected movement trajectory of the support mechanical leg. The support reference movement trajectory may be a position sequence composed of the expected positions corresponding to each step cycle, which is used to guide the movement of the support mechanical leg group of the robot. For example, n step cycles correspond to n expected positions, and then sorting the n expected positions and the initial position of the robot in chronological order can obtain the support reference movement trajectory. Among them, for each control moment t within the swing period of the same step cycle, the expected positions corresponding to each control moment t are the same. Optionally, the above support reference movement trajectory may be characterized by the expected movement trajectory of the foot corresponding to the support mechanical leg.
[0129] In one example, since the robot always moves in the first direction (i.e., there is no displacement in the y-axis direction of the above world coordinate system), and the legs in the supporting leg group move synchronously, and the legs in the swinging leg group move synchronously, and the hip joints of the robot are coaxial, the robot can be simplified to a planar model under the sagittal plane (such as Figure 2 the sagittal plane in
[0130] For example, referring to Figure 14 , it exemplarily shows a planar model 1400 of a wheel-legged robot under the sagittal plane. The planar model 1400 includes a fuselage 1401. The fuselage 1401 is connected to a waist 1403 through a waist joint 1402 (corresponding to the above-mentioned side-swing rotation center and pitch rotation center). The waist 1403 is connected to an outer leg 1406 and an inner leg 1407 through a hip 1404. The hip joint 1405 of the hip 1404 is used to rotate the outer leg 1406 and the inner leg 1407. The feet of the outer leg 1406 and the inner leg 1407 are wheels 1408, and there is a wheel joint 1409 on the wheel 1408.
[0131] Exemplarily, referring to Figure 15 , taking a quadruped wheel-legged robot climbing stairs as an example, the process of obtaining the reference moving trajectory of the supporting leg group of the quadruped wheel-legged robot can be as follows:
[0132] Based on the planar model 1500 of the quadruped wheel-legged robot and the stairs 1503, a world coordinate system W-xyz corresponding to the quadruped wheel-legged robot is constructed. The world coordinate system is constructed with the initial contact point 1502 between the planar model 1500 and the stairs 1503 as the origin, the first direction (i.e., the forward direction) as the x-axis direction, and the second direction (i.e., the vertical direction) perpendicular to the first direction as the z-axis direction.
[0133] The above initial contact point 1502 can also be the projection of the center of gravity of the quadruped wheel-legged robot in the initial state on the ground.
[0134] Then, a floating base coordinate system B-xyz of the quadruped wheel-legged robot is constructed with the hip joint 1501 of the planar model 1500 as the origin. The floating base coordinate system is fixedly connected to the hip joint 1501, that is, it moves with the movement of the hip joint 1501. The initial directions of the respective coordinate axes of the floating base coordinate system are the same as those of the world coordinate system. Optionally, the floating base coordinate system can also be fixedly connected to the torso of the quadruped wheel-legged robot. The embodiments of the present application do not limit this. Optionally, the following calculations are all performed in the world coordinate system and the floating base coordinate system.
[0135] In the world coordinate system, the initial position of the supporting robotic leg can be expressed as (0, 0, 0), which is also the first reference point in the supporting reference movement trajectory. Let the length of each step on the staircase 1503 be Ls and the height be Hs. The distance between the initial position of the supporting robotic leg and the first step is l. The step length of the quadruped wheel-legged robot in each stepping cycle is the length of the corresponding step in this stepping cycle. Then, the supporting reference movement trajectory can be expressed as follows:
[0136]
[0137] where n = floor(t / T) represents the current number of steps (i.e., the current stepping cycle), t is the control time, r is the radius of the wheel, L s,j is the step length corresponding to the j-th stepping cycle (i.e., the length of the j-th step), H s,j is the height of the j-th step. Since the quadruped wheel-legged robot climbs the staircase only in the sagittal plane and does not need to concern the movement in the y-axis direction, the position value in the y-axis direction is set to be constantly 0. Optionally, L s,j is greater than l.
[0138] Step S102: Determine the reference movement trajectory of the robot's center of mass according to the supporting reference movement trajectory of the supporting robotic leg group. The reference movement trajectory of the center of mass refers to the reference movement trajectory of the center of mass of the robot.
[0139] In the embodiment of the present application, the height between the center of mass of the robot and the foot of the supporting robotic leg of the robot is set to a constant value, that is, the constant height below. The constant height may refer to the distance between the center of mass of the robot and the corresponding foot center (such as the wheel center) of the supporting robotic leg in the z-axis direction, denoted as H com .
[0140] In one example, the reference movement trajectory of the center of mass of the robot can be planned in a first direction and a second direction. The second direction is perpendicular to the first direction. Then, the process of obtaining the reference movement trajectory of the center of mass may include the following content:
[0141] 1. Determine the reference movement trajectory of the center of mass of the robot in the second direction according to the supporting reference movement trajectory, the support period ratio, and the constant height of the center of mass of the robot relative to the foot of the supporting robotic leg group.
[0142] where the reference movement trajectory of the center of mass is used to guide the movement of the center of mass of the robot. The support period ratio is used to indicate the proportion of the duration of the swinging robotic leg of the robot in the supporting state in each stepping cycle.
[0143] Optionally, within the swing period, the reference moving trajectory of the center of mass in the second direction is obtained by interpolating the initial position and the end position in the support reference moving trajectory at a constant height; within the support period, the reference moving trajectory of the center of mass in the second direction is determined by the end position in the support reference moving trajectory and a constant height.
[0144] The initial position and the end position in the support reference moving trajectory corresponding to the current step cycle are respectively the reference position of the supporting mechanical leg in the current step cycle and the reference position of the supporting mechanical leg in the next step cycle of the current step cycle. For the second direction, the initial position is the position component of the reference position of the supporting mechanical leg in the current step cycle in the second direction (i.e., the z-axis direction), and the end position is the position component of the reference position of the supporting mechanical leg in the next step cycle of the current step cycle in the second direction (i.e., the z-axis direction).
[0145] Exemplarily, within the swing period of the nth step cycle, the reference moving trajectory of the center of mass in the second direction is interpolated from the reference position of the supporting mechanical leg in the nth step cycle to the reference position of the supporting mechanical leg in the (n + 1)th step cycle; within the support period of the nth step cycle, the reference position of the center of mass in the second direction remains unchanged. Then, the reference moving trajectory of the center of mass of the robot in the second direction can be expressed as follows:
[0146]
[0147] Where, P com,z (t) represents the reference position of the center of mass of the robot in the second direction at the control moment t, P stance,z (nT)+H com is the initial position of the center of mass within the nth step cycle (i.e., the sum value of the position component of the reference position of the supporting mechanical leg in the nth step cycle in the z-axis direction and a constant height), P stance,z ((n + 1)T)+H com is the end position of the center of mass within the nth step cycle (i.e., the sum value of the position component of the reference position of the supporting mechanical leg in the (n + 1)th step cycle in the z-axis direction and a constant height), Spline() is a spline curve interpolation method, such as a cubic spline curve interpolation method, and any interpolation method that can ensure that the velocity and acceleration at the start and contact moments of the reference moving trajectory are zero, and the start and end positions satisfy the constraint conditions. Spline() is used to interpolate the end position of the center of mass and the end position of the center of mass within the nth step cycle during the swing period.
[0148] Each control moment during the swing period of the nth step cycle can be denoted as: nT ≤ t ≤ (n + 1)T - αT, and each control moment during the support period of the nth step cycle can be denoted as: (n + 1)T - αT ≤ t ≤ (n + 1)T.
[0149] 2. Determine the zero moment point ZMP reference trajectory of the robot according to the support reference movement trajectory and the support period ratio.
[0150] In the embodiment of the present application, the ZMP (Zero Moment Point) corresponding to the step cycle is the contact point between the foot of the supporting mechanical leg corresponding to the step cycle and the support surface (hereinafter referred to as the support contact point). The ZMP reference trajectory is a plurality of ZMPs arranged in chronological order during the movement of the robot.
[0151] Optionally, since the ZMP is the same as the support contact point, during the swing period, the ZMP reference trajectory is the same as the support contact point reference trajectory, that is, it remains unchanged. During the support period, the support contact point needs to be converted from the support contact point of the current step cycle to the support contact point of the next step cycle of the current step cycle. Then, an interpolation method can be used to obtain the ZMP reference trajectory during the support period.
[0152] Exemplarily, during the swing period, the ZMP reference trajectory is the same as the reference trajectory of the contact point between the supporting mechanical leg group and the support surface. During the support period, the ZMP reference trajectory is obtained by interpolating the initial position and the end position in the support reference movement trajectory. Then, the zero moment point ZMP reference trajectory can be expressed as follows:
[0153]
[0154] Among them, P zmp (t) represents the reference position of the ZMP of the robot at the control moment t, and P stance (nT) is the reference position of the supporting mechanical leg in the nth step cycle, and P stance ((n + 1)T) is the reference position of the supporting mechanical leg in the (n + 1)th step cycle. Splime() is a spline curve interpolation method, such as a cubic spline curve interpolation method, and any interpolation method that can ensure that the speed and acceleration at the start and contact moments of the reference movement trajectory are zero, and the start and end positions meet the constraint conditions. Spline() is used to interpolate the reference position of the supporting mechanical leg in the nth step cycle and the reference position of the supporting mechanical leg in the (n + 1)th step cycle during the support period.
[0155] 3. Determine the reference movement trajectory of the center of mass of the robot in the first direction according to the ZMP reference trajectory.
[0156] Optionally, the reference movement trajectory of the center of mass in the first direction is used to guide the center of mass of the robot to move in the first direction. The reference movement trajectory of the center of mass in the first direction can be a sequence of the position components of the center of mass in the first direction arranged in chronological order during the movement of the robot.
[0157] In one example, the movement of the centroid of the robot in the first direction can be simplified to an inverted pendulum model. For example, referring to Figure 16 , the quadruped wheel-legged robot can be simplified to an inverted pendulum model 1600, m is the total mass of the robot, and P com.x is the position of the centroid in the first direction (i.e., the x-axis direction) in the world coordinate system, and P zmp,x is the position of the ZMP in the first direction in the world coordinate system, and P com,z is the position of the centroid in the second direction (i.e., the z-axis direction) in the world coordinate system.
[0158] The reference movement trajectory of the centroid of the robot in the first direction can then be a sequence composed of P com,x at each control moment.
[0159] Exemplarily, P com,x at each control moment can be calculated based on SLQR (Singular Quadratic Regulator) control. Among them, SLQR control is a variant of LQR (Linear Quadratic Regulator) control. The objective function of SLQR is still a quadratic functional, but the quadratic form weight of its control variables is constantly 0, and the rest is similar to LQR control. The advantage of using SLQR control is that it avoids calculating the feedback coefficient using the Riccati equation in LQR control and can directly calculate the feedback coefficient through numerical iteration, greatly reducing the computational amount and improving the computational efficiency. This process can specifically include the following content:
[0160] 1) Construct the state variables of the discrete-time state equation of the robot with the position of the ZMP, the centroid position of the robot in the first direction, and the centroid velocity of the robot in the first direction.
[0161] For each control moment, construct the state variables at this control moment according to the ZMP position, the centroid position in the first direction, and the centroid velocity in the first direction at this control moment. Exemplarily, the state variables at each control moment can be expressed as follows:
[0162]
[0163] The discrete-time state equation of the robot can be expressed as follows:
[0164] x(k + 1) = Ax(k) + Bu(k);
[0165] y(k) = Cx(k);
[0166] C = [0 1 0];
[0167] where x(k + 1) is the state variable at time k + 1 in discrete time, t c represents the control period (i.e., the time for each operation of the regulator), is a constant, and y(k) is the P at time k zmp,x which is a non-essential calculation.
[0168] 2) Use the SLQR control method to construct an objective function based on the reference position of the ZMP in the ZMP reference trajectory.
[0169] Exemplarily, the objective function can be expressed as follows:
[0170]
[0171] where represents the reference position of the ZMP in the first direction at time j, P zmp,x represents the actual position of the ZMP in the first direction at time j, and u(j) represents the
[0172] 3) Determine the feedback gain matrix according to the objective function.
[0173] Optionally, by directly setting the input weight R of the objective function to 0, the feedback gain matrix can be obtained:
[0174]
[0175] 4) Construct the control variable of the discrete-time state equation based on the feedback gain matrix, the centroid position of the robot in the first direction, and the reference position of the ZMP in the ZMP reference trajectory.
[0176] Optionally, the control variable of the discrete-time state equation is the output of the SLQR controller, and this control variable can be expressed as:
[0177]
[0178] where u(k) is the control variable at time k, δ j is the impulse function, which takes 1 only at the initial moment and 0 at other moments, and N p is the prediction moment under the unit control period, is the reference position of the ZMP in the ZMP reference trajectory at time k + j.
[0179] 5) Substitute the state variable and the control variable into the discrete-time state equation and iterate to obtain the centroid reference movement trajectory of the robot in the first direction.
[0180] Optionally, for each control moment, the state variable and the control variable are substituted into the discrete-time state equation, and x(k) at each control moment is obtained through iteration, and then y(k) at each control moment is obtained, that is, P at each control moment. com,x , and then arranging them in chronological order, the centroid reference movement trajectory of the robot in the first direction can be obtained.
[0181] Optionally, the embodiments of the present application can also use LQR control to calculate P at each control moment. com,x . For example, the robot is described as a linear quadratic LQ problem, and then the output of the linear system is obtained through equation iteration and used as the control quantity of the robot to make the robot reach a stable state, so as to calculate P at each control moment. com,x , and the embodiments of the present application do not limit this.
[0182] 4. Determine the centroid reference movement trajectory of the robot according to the centroid reference movement trajectory of the robot in the second direction and the centroid reference movement trajectory of the robot in the first direction.
[0183] Optionally, the centroid reference movement trajectory is the combination of the centroid reference movement trajectory of the robot in the second direction and the centroid reference movement trajectory of the robot in the first direction.
[0184] Step S103. Interpolate the swing reference movement trajectory of the swing mechanical leg group according to the initial position and the desired position corresponding to the swing mechanical leg group within the step cycle.
[0185] The above swing reference movement trajectory may refer to the desired movement trajectory of the swing mechanical leg. The swing reference movement trajectory of the robot may be composed of the desired movement trajectories corresponding to each step cycle, and it can be used to guide the swing mechanical leg group of the robot to swing. Optionally, the swing reference movement trajectory corresponding to the step cycle can be characterized by the movement trajectory of the foot of the swing mechanical leg corresponding to the step cycle.
[0186] The initial position and the desired position corresponding to the swing mechanical leg group within the step cycle may respectively refer to: the initial position of the supporting mechanical leg corresponding to this step cycle (i.e., the reference position of the supporting mechanical leg in the current step cycle) and the end position (i.e., the reference position of the supporting mechanical leg in the next step cycle after the current step cycle).
[0187] In one example, the reference movement trajectory of the swing mechanical leg of the robot can be planned in the first direction (i.e., the x-axis direction) and the second direction (i.e., the z-axis direction). The second direction is perpendicular to the first direction. Then the process of obtaining the swing reference movement trajectory may include the following content:
[0188] 1. Construct the world coordinate system corresponding to the robot. The world coordinate system is constructed with the initial contact point between the robot and the support surface as the origin, the first direction as the x-axis direction, and the second direction perpendicular to the first direction as the z-axis direction.
[0189] The construction method of the world coordinate system is the same as above and will not be elaborated here.
[0190] 2. Adopt the spline curve interpolation method to interpolate the position component in the first direction of the initial position and the position component in the first direction of the desired position, and obtain the swing reference movement trajectory of the swing mechanical leg group in the first direction.
[0191] Exemplarily, if the cubic spline curve interpolation method is adopted for interpolation, the swing reference movement trajectory in the first direction can be expressed as follows:
[0192] P swing,x (t n )=a0+a1t n +a2t n 2 +a3t n 3 ;
[0193] where t n ∈[0, (1-α)T], and t n =t - nT, representing the normalized control moment within the nth step cycle according to the step cycle T. P swing,x (t n ) represents the reference position of the swing mechanical leg in the first direction at the control moment t. a0...a3 represent coefficients, which can be calculated according to the following constraint conditions:
[0194] P swing,x (0)=a0=P stance,x (nT);
[0195] P swing,x (T)=a0+a1T+a2T 2 +a3T 3 =P stance,x ((n + 1)T);
[0196]
[0197]
[0198] Optionally, in the process of adopting the cubic spline curve interpolation method to obtain the swing reference movement trajectory in the first direction, the parameters corresponding to the cubic spline curve interpolation method can be set to prevent the swing mechanical leg from colliding with the support surface in the first direction.
[0199] 3. Using the spline curve interpolation method, interpolate the position component of the initial position in the second direction and the position component of the desired position in the second direction to obtain the swing reference movement trajectory of the swinging mechanical leg group in the second direction.
[0200] The process of obtaining the swing reference movement trajectory in the second direction is similar to that in the first direction. However, in the case where the support surface includes multiple regions with different heights, to avoid the robot's foot from colliding with the support surface, according to the number of regions that the robot needs to cross within a step cycle, the swing reference movement trajectory in the second direction can be divided into the same number of segments as the number of regions to be crossed for planning, so as to avoid the robot from colliding with the regions to be crossed.
[0201] Exemplarily, in the case where the support surface is a staircase with m steps, m being a positive integer, for each step, obtain the sub-desired position of the swinging mechanical leg group at the step. The foot of the swinging mechanical leg at the sub-desired position is higher than the step in the second direction and does not contact the step in the first direction; interpolate sequentially in time between the initial position, the sub-desired positions corresponding to the m steps, and the desired position to obtain the swing reference movement trajectory of the swinging mechanical leg group. Wherein, m is a positive integer.
[0202] For example, when the robot climbs the first step, the swinging mechanical leg only needs to step onto the first step, then the swing reference movement trajectory in the second direction can be divided into two segments for planning; when the robot climbs the second step, the swinging mechanical leg needs to cross the first step and step onto the second step, then the swing reference movement trajectory in the second direction can be divided into three segments for planning.
[0203] Taking the example of dividing the swing reference movement trajectory in the second direction into two segments for planning, let the moment corresponding to the sub-desired position be 1 / 2 of the swing period (which can be set and adjusted according to actual usage requirements), and use the cubic spline curve interpolation method for interpolation. The swing reference movement trajectory in the second direction in the first stage can be expressed as follows:
[0204] P swing,z (t n ) = a0 + a1t n + a2t n 2 + a3t n 3 ;
[0205] Wherein, t n ∈[0, (1 - α)T / 2], and t n = t - nT, representing the normalized control moment within the nth step cycle according to the step cycle T, P swing,z(t n ) represents the reference position of the swinging mechanical leg in the second direction at the control moment t, and a0...a3 represent coefficients, which can be calculated according to the following constraints:
[0206] P swing,z (0) = a0 = P stance,z (nT);
[0207] P swing,z ((1 - α)T / 2) = a0 + a1T + a2T 2 + a3T 3 = P stance,z (nT) + βH s ;
[0208]
[0209]
[0210] where β ∈ [1, 1.5] is the height coefficient, representing the proportion of the foot of the swinging mechanical leg exceeding the step height within the nth step cycle.
[0211] Using the cubic spline curve interpolation method for interpolation, the swinging reference movement trajectory in the second direction in the second stage can be expressed as follows:
[0212] P swing,z (t n ) = a0 + a1t n + a2t n 2 + a3t n 3 ;
[0213] where t n ∈ [(1 - α)T / 2, (1 - α)T], and t n = t - nT, representing the control moment normalized by the step cycle T in the nth step cycle, and P swing,z (t n ) represents the control moment he, the reference position of the swinging mechanical leg in the second direction, and a0...a3 represent coefficients, which can be calculated according to the following constraints:
[0214] P swing,z ((1 - α)T / 2) = a0 = P stance,z (nT) + βH s ;
[0215] P swing,z ((1 - α)T) = a0 + a1T + a2T 2 + a3T 3 = P stance,z((n + 1)T);
[0216]
[0217]
[0218] By splicing the swing reference movement trajectory in the second direction in the first stage and the swing reference movement trajectory in the second direction in the second stage, the swing reference movement trajectory in the second direction can be obtained.
[0219] 4. Obtain the swing reference movement trajectory of the swing mechanical leg group according to the swing reference movement trajectory of the swing mechanical leg group in the first direction and the swing reference movement trajectory of the swing mechanical leg group in the second direction.
[0220] Optionally, the swing reference movement trajectory is the combination of the swing reference movement trajectory of the swing mechanical leg group in the first direction and the swing reference movement trajectory of the swing mechanical leg group in the second direction.
[0221] Step S104, according to the centroid reference movement trajectory and the swing reference movement trajectory, control the robot to swing the swing mechanical leg group in the first direction with the support mechanical leg group as the support.
[0222] Optionally, the robot determines the reference positions of the centroid, the reference positions of the swing mechanical legs, and the reference positions of the support mechanical legs of the robot at each control moment according to the centroid reference movement trajectory, the swing reference movement trajectory, and the support reference movement trajectory. The robot controls each mechanical leg, the fuselage, the waist, etc. to follow the respective reference positions at each control moment in chronological order, so as to realize swinging the swing mechanical leg group in the first direction with the support mechanical leg group as the support, and then complete the movement task on the support surface.
[0223] For example, in the scenario of a robot climbing stairs, the robot follows the centroid reference movement trajectory, the swing reference movement trajectory, and the support reference movement trajectory, and can complete the stair climbing task after n step cycles (where n can be the number of steps at this time); in the scenario of a robot crossing a road shoulder, the robot follows the centroid reference movement trajectory, the swing reference movement trajectory, and the support reference movement trajectory, and can complete the road shoulder crossing task after n step cycles (where n can be 2 at this time, that is, two swing processes); in the scenario of a robot crossing a pothole, the robot follows the centroid reference movement trajectory, the swing reference movement trajectory, and the support reference movement trajectory, and can complete the pothole crossing task after n step cycles (where n can be 2 at this time, that is, two swing processes).
[0224] In some embodiments, refer to Figures 17 - 20 , which exemplarily shows the following process of each reference movement trajectory.
[0225] InFigure 17 Among them, curve 1701 is the support reference movement trajectory in the first direction (i.e., the forward direction) corresponding to the support mechanical leg group, and curve 1702 is the actual movement trajectory in the first direction (i.e., the forward direction) corresponding to the support mechanical leg group. Curve 1703 is the support reference movement trajectory in the second direction (i.e., the vertical direction) corresponding to the support mechanical leg group, and curve 1704 is the actual movement trajectory in the second direction (i.e., the vertical direction) corresponding to the support mechanical leg group. It can be seen that the robot can follow the support reference movement trajectory well to realize the support function of the support mechanical leg group.
[0226] In Figure 18 Among them, curve 1801 is the swing reference movement trajectory in the first direction (i.e., the forward direction) corresponding to the swing mechanical leg group, and curve 1802 is the actual movement trajectory in the first direction (i.e., the forward direction) corresponding to the swing mechanical leg group. Curve 1803 is the swing reference movement trajectory in the second direction (i.e., the vertical direction) corresponding to the swing mechanical leg group, and curve 1804 is the actual movement trajectory in the second direction (i.e., the vertical direction) corresponding to the swing mechanical leg group. It can be seen that the robot can follow the swing reference movement trajectory well to realize the swing function of the swing mechanical leg group.
[0227] In Figure 19 and Figure 20 Among them, curve 1901 is the ZMP reference trajectory in the first direction (i.e., the forward direction) corresponding to the ZMP, and curve 1902 is the centroid reference movement trajectory in the first direction corresponding to the centroid. Curve 1903 is the actual movement trajectory of the centroid in the first direction. It can be seen that the robot can follow the centroid reference movement trajectory in the first direction well to realize the adjustment of the centroid of the robot.
[0228] In summary, for the robot with the first mechanical leg group and the second mechanical leg group provided by the technical solution of the embodiment of the present application, since the rotation centers of the respective hip joints are located in the same vertical plane, the robot can stand on one set of mechanical legs and swing with the other set of mechanical legs, so that the robot can move quickly in a dynamically balanced 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. At the same time, by controlling the movement of the robot in the way of alternating swings of the first mechanical leg group and the second mechanical leg group, the movement efficiency of the robot can be further improved.
[0229] In addition, by adopting the technical solution provided by the embodiment of the present application, the robot can have the ability to cross obstacles, such as climbing stairs, crossing road shoulders, crossing potholes, etc., thereby improving the adaptability of the robot to the real environment.
[0230] The following are device embodiments of the present application, which can be used to execute the method embodiments of the present application. For details not disclosed in the device embodiments of the present application, please refer to the method embodiments of the present application.
[0231] Reference Figure 21 , which shows a block diagram of a control device for a robot provided by an embodiment of the present application. This device has the function of implementing the above-mentioned control method for the robot, and this function can be implemented by hardware or by hardware executing corresponding software. This device can be the computer device introduced above (such as a wheel-legged robot), or can be installed in a computer device. As Figure 21 shown, the device 2100 includes a standing state control module 2101 and a swinging state control module 2102.
[0232] The standing state control module 2101 is used to stand on a support surface in an overlapping standing state, and the position error of each mechanical leg of the robot in the overlapping standing state in the first direction is zero.
[0233] The swinging state control module 2102 is used to control the first mechanical leg group and the second mechanical leg group to swing alternately and move in the first direction on the support surface.
[0234] In some embodiments, the robot stops moving after n step cycles, and the step cycle is used to indicate the duration for the first mechanical leg group or the second mechanical leg group to complete one swing, where n is a positive integer;
[0235] As Figure 22 shown, the swinging state control module 2102 includes: a mechanical leg allocation sub-module 2102a and a swinging state control sub-module 2102b.
[0236] The mechanical leg allocation sub-module 2102a is used to determine, for each of the step cycles, the supporting mechanical leg group and the swinging mechanical leg group corresponding to the step cycle from the first mechanical leg group and the second mechanical leg group.
[0237] The swinging state control sub-module 2102b is used to swing the swinging mechanical leg group in the first direction with the supporting mechanical leg group as the support.
[0238] The swinging state control sub-module 2102b is further used to stop swinging the swinging mechanical leg group when the swinging mechanical leg group reaches the expected position corresponding to the step cycle on the support surface.
[0239] In some embodiments, as Figure 22As shown, the swing state control sub-module 2102b includes: a support trajectory determination unit 2102b1, a center-of-mass trajectory determination unit 2102b2, a swing trajectory determination unit 2102b3, and a swing state control unit 2102b4.
[0240] The support trajectory determination unit 2102b1 is configured to determine a support reference movement trajectory of the support mechanical leg group according to the size information of the area corresponding to the step cycle on the support surface and the step length of the robot during the step cycle.
[0241] The center-of-mass trajectory determination unit 2102b2 is configured to determine a center-of-mass reference movement trajectory of the robot according to the support reference movement trajectory of the support mechanical leg group, where the center-of-mass reference movement trajectory refers to the reference movement trajectory of the center of mass of the robot.
[0242] The swing trajectory determination unit 2102b3 is configured to interpolate a swing reference movement trajectory of the swing mechanical leg group according to the initial position and the desired position corresponding to the swing mechanical leg group during the step cycle.
[0243] The swing state control unit 2102b4 is configured to control the robot to swing the swing mechanical leg group in the first direction with the support mechanical leg group as the support according to the center-of-mass reference movement trajectory and the swing reference movement trajectory.
[0244] In some embodiments, the step cycle includes a swing cycle and a support cycle. The mechanical leg is in a swing state during the swing cycle and in a support state during the support cycle. The center-of-mass trajectory determination unit 2102b2 is configured to:
[0245] Determine the center-of-mass reference movement trajectory of the robot in the second direction according to the support reference movement trajectory, the support period ratio, and the constant height of the center of mass of the robot relative to the foot of the support mechanical leg group. Wherein, the support period ratio is used to indicate the proportion of the duration of the swing mechanical leg of the robot in the support state in each step cycle. During the swing cycle, the center-of-mass reference movement trajectory in the second direction is interpolated from the initial position and the end position in the support reference movement trajectory in combination with the constant height. During the support cycle, the center-of-mass reference movement trajectory in the second direction is determined by the end position in the support reference movement trajectory and the constant height. The second direction is perpendicular to the first direction.
[0246] Determine the zero moment point ZMP reference trajectory of the robot according to the support reference movement trajectory and the support period ratio; wherein, within the swing period, the ZMP reference trajectory is the same as the reference trajectory of the contact point between the support leg group and the support surface, and within the support period, the ZMP reference trajectory is obtained by interpolating the initial position and the end position in the support reference movement trajectory;
[0247] Determine the center of mass reference movement trajectory of the robot in the first direction according to the ZMP reference trajectory;
[0248] Determine the center of mass reference movement trajectory of the robot according to the center of mass reference movement trajectory of the robot in the second direction and the center of mass reference movement trajectory of the robot in the first direction.
[0249] In some embodiments, the center of mass trajectory determination unit 2102b2 is further configured to:
[0250] Construct state variables of the discrete-time state equation of the robot with the position of the ZMP, the center of mass position of the robot in the first direction, and the center of mass velocity of the robot in the first direction;
[0251] Use the singular linear quadratic regulator SLQR control method to construct an objective function according to the reference position of the ZMP in the ZMP reference trajectory;
[0252] Determine the feedback gain matrix according to the objective function;
[0253] Construct the control variable of the discrete-time state equation according to the feedback gain matrix, the center of mass position of the robot in the first direction, and the reference position of the ZMP in the ZMP reference trajectory;
[0254] Substitute the state variable and the control variable into the discrete-time state equation, and iteratively obtain the center of mass reference movement trajectory of the robot in the first direction.
[0255] In some embodiments, the swing trajectory determination unit 2102b3 is configured to:
[0256] Construct the world coordinate system corresponding to the robot, where the world coordinate system is constructed with the initial contact point between the robot and the support surface as the origin, the first direction as the x-axis direction, and the second direction perpendicular to the first direction as the z-axis direction;
[0257] Using the spline curve interpolation method, interpolate the position component of the initial position in the first direction and the position component of the desired position in the first direction to obtain the swing reference movement trajectory of the swing mechanical leg group in the first direction;
[0258] Using the spline curve interpolation method, interpolate the position component of the initial position in the second direction and the position component of the desired position in the second direction to obtain the swing reference movement trajectory of the swing mechanical leg group in the second direction;
[0259] According to the swing reference movement trajectory of the swing mechanical leg group in the first direction and the swing reference movement trajectory of the swing mechanical leg group in the second direction, obtain the swing reference movement trajectory of the swing mechanical leg group.
[0260] In some embodiments, the support surface is a staircase including m steps, where m is a positive integer; the swing trajectory determination unit 2102b3 is further configured to:
[0261] For each of the steps, obtain the sub-desired position of the swing mechanical leg group at the step, where the foot of the swing mechanical leg at the sub-desired position is higher than the step in the second direction and does not contact the step in the first direction;
[0262] Interpolate sequentially in time order between the initial position, the sub-desired positions corresponding to the m steps, and the desired position to obtain the swing reference movement trajectory of the swing mechanical leg group.
[0263] In some embodiments, the step cycle includes a swing cycle and a support cycle. The mechanical leg is in a swing state during the swing cycle and in a support state during the support cycle; the mechanical leg allocation sub-module 2102a is configured to:
[0264] According to the n step cycles and the support period ratio of the robot, obtain the gait information of the robot. The support period ratio is used to indicate the ratio of the duration of the swing mechanical leg of the robot in the support state in each step cycle, and the gait information is used to indicate whether the mechanical leg of the robot is a swing mechanical leg in each step cycle;
[0265] According to the gait information, determine the support mechanical leg group and the swing mechanical leg group corresponding to the step cycle from the first mechanical leg group and the second mechanical leg group.
[0266] In some embodiments, the swing state control module 2102 is configured to increase the leg lengths of the respective supporting robotic legs in the supporting robotic leg group during the swing period of the stepping cycle while the swinging robotic leg group swings in the first direction.
[0267] In some embodiments, the hip joints of the robot are coaxial.
[0268] In some embodiments, the robotic legs in the first robotic leg group move synchronously, the robotic legs in the second robotic leg group move synchronously, and the fuselage of the robot remains vertical during the movement of the robot.
[0269] In summary, for the robot with the first robotic leg group and the second robotic leg group provided by the embodiments of the present application, since the rotation centers of the respective hip joints thereof are located in the same vertical plane, the robot can stand on one group of robotic legs and swing the other group of robotic legs, so that the robot can move quickly in a dynamically balanced 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. At the same time, the movement of the robot is controlled by alternately swinging the first robotic leg group and the second robotic leg group, which can further improve the movement efficiency of the robot.
[0270] It should be noted that when the device provided in the above embodiments realizes its functions, only the above-mentioned division of each functional module is used for illustration. In actual applications, the above functions can be allocated to different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the device provided in the above embodiments and the method embodiments belong to the same concept, and the specific implementation process thereof can be found in the method embodiments and will not be elaborated here.
[0271] Please refer to Figure 23 , which shows a simplified structural block diagram of a computer device provided by an embodiment of the present application. The computer device may refer to any electronic device with data calculation, processing, and storage capabilities.
[0272] Optionally, as Figure 23As shown in the figure, the computer device includes a processor 2301 and a memory 2302. The processor 2301 includes, but is not limited to, any one of the following: CPU (Central Processing Unit), GPU (Graphics Processing Unit), and FPGA (Field Programmable Gate Array), etc. The memory 2302 may include storage devices such as RAM (Random-Access Memory) and ROM (Read-Only Memory). The processor 2301 and the memory 2302 can be connected through a system bus.
[0273] In some embodiments, a computer program is stored in the memory 2302, and the computer program is loaded and executed by the processor 2301 to implement the above-mentioned control method of the robot.
[0274] In some embodiments, a computer-readable storage medium is further provided. A computer program is stored in the storage medium, and when the computer program is executed by a processor of a computer device, the above-mentioned control method of the robot is implemented.
[0275] Optionally, the computer-readable storage medium may include: ROM (Read-Only Memory), RAM (Random-Access Memory), SSD (Solid State Drives), or optical discs, etc. Among them, the random access memory may include ReRAM (Resistance Random Access Memory) and DRAM (Dynamic Random Access Memory).
[0276] In some embodiments, a computer program product is further provided. The computer program product includes a computer program, and the computer program is stored in a computer-readable storage medium. The processor of the computer device reads the computer program from the computer-readable storage medium, and the processor executes the computer program, so that the computer device executes the above-mentioned control method of the robot.
[0277] It should be noted that before and during the process of collecting relevant data of the user in the embodiments of the present application, a prompt interface, a pop-up window or a voice prompt message can be displayed. The prompt interface, the pop-up window or the voice prompt message is used to prompt the user that their relevant data is currently being collected, so that the present application only starts to execute the relevant steps of obtaining the user's relevant data after obtaining the confirmation operation of the user on the prompt interface or the pop-up window. Otherwise (that is, when the confirmation operation of the user on the prompt interface or the pop-up window is not obtained), the relevant steps of obtaining the user's relevant data are ended, that is, the relevant data of the user is not obtained. In other words, all user data collected by the present application is processed strictly in accordance with the requirements of relevant national laws and regulations. Obtaining the informed consent or separate consent of the personal information subject is carried out under the condition of the user's consent and authorization, and subsequent data use and processing behaviors are carried out within the scope of laws and regulations and the authorization of the personal information subject. The collection, use and processing of relevant user data need to comply with the relevant laws, regulations and standards of relevant countries and regions. For example, the real environment, support surface, etc. involved in the present application are obtained under full authorization.
[0278] It should be understood that the "plurality" mentioned in this article refers to two or more. "And / or" describes the association relationship of associated objects and indicates that three relationships can exist. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. The character " / " generally represents an "or" relationship between the associated objects before and after. In addition, the step numbers described in this article only exemplarily show a possible execution sequence between steps. In some other embodiments, the above steps may not be executed in the order of the numbers. For example, two steps with different numbers are executed simultaneously, or two steps with different numbers are executed in the reverse order of the illustration. The embodiments of the present application do not make any limitations in this regard.
[0279] The above are only exemplary embodiments of the present application and are not intended to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims
1. A control method for a robot, characterized in that, The robot includes a fuselage, a first mechanical leg group and a second mechanical leg group connected to the fuselage through hip joints. At least one of the first mechanical leg group and the second mechanical leg group includes at least two mechanical legs. The rotation centers of the hip joints corresponding to the first mechanical leg group and the rotation centers of the hip joints corresponding to the second mechanical leg group are located in the same vertical plane. The method includes: Stand on a support surface in an overlapping standing state, and the position error of each mechanical leg of the robot in the overlapping standing state in the first direction is zero; Based on the centroid reference movement trajectory of the robot in the first direction, control the first mechanical leg group and the second mechanical leg group to swing alternately and move in the first direction on the support surface; Among them, the determination process of the centroid reference movement trajectory in the first direction includes: Construct the state variables of the discrete-time state equation of the robot with the position of the ZMP, the centroid position of the robot in the first direction, and the centroid velocity of the robot in the first direction. The position of the ZMP is the support contact point of the robot on the support surface; Use the singular linear quadratic regulator SLQR control method to construct an objective function according to the reference position of the ZMP in the ZMP reference trajectory; Determine the feedback gain matrix according to the objective function; Construct the control variables of the discrete-time state equation according to the feedback gain matrix, the centroid position of the robot in the first direction, and the reference position of the ZMP in the ZMP reference trajectory; Substitute the state variables and the control variables into the discrete-time state equation and iterate to obtain the centroid reference movement trajectory of the robot in the first direction.
2. The method according to claim 1, wherein The robot stops moving after n step cycles. The step cycle is used to indicate the duration for the first mechanical leg group or the second mechanical leg group to complete one swing, and n is a positive integer; The controlling the first mechanical leg group and the second mechanical leg group to swing alternately and move in the first direction on the support surface based on the centroid reference movement trajectory of the robot in the first direction includes: For each of the step cycles, determine the supporting mechanical leg group and the swinging mechanical leg group corresponding to the step cycle from the first mechanical leg group and the second mechanical leg group; Using the supporting mechanical leg group as a support, swing the swinging mechanical leg group in the first direction based on the centroid reference movement trajectory of the robot in the first direction; When the swinging mechanical leg group reaches the expected position corresponding to the step cycle on the support surface, stop swinging the swinging mechanical leg group.
3. The method according to claim 2, wherein The using the supporting mechanical leg group as a support and swinging the swinging mechanical leg group in the first direction based on the centroid reference movement trajectory of the robot in the first direction includes: Determine the supporting reference movement trajectory of the supporting mechanical leg group according to the size information of the area corresponding to the step cycle on the support surface and the step length of the robot during the step cycle; Determine the centroid reference movement trajectory of the robot according to the support reference movement trajectory of the support mechanical leg group and the centroid reference movement trajectory of the robot in the first direction; Interpolate to obtain the swing reference movement trajectory of the swing mechanical leg group according to the initial position and the desired position corresponding to the swing mechanical leg group within the step cycle; Control the robot to swing the swing mechanical leg group in the first direction with the support mechanical leg group as the support according to the centroid reference movement trajectory and the swing reference movement trajectory; 4. The method according to claim 3, wherein The step cycle includes a swing period and a support period. The mechanical leg is in a swing state during the swing period, and the mechanical leg is in a support state during the support period; The determining the centroid reference movement trajectory of the robot according to the support reference movement trajectory of the support mechanical leg group and the centroid reference movement trajectory of the robot in the first direction includes: Determine the centroid reference movement trajectory of the robot in the second direction according to the support reference movement trajectory, the support period ratio, and the constant height of the centroid of the robot relative to the foot of the support mechanical leg group; wherein, the support period ratio is used to indicate the ratio of the duration of the swing mechanical leg of the robot in the support state in each step cycle. During the swing period, the centroid reference movement trajectory in the second direction is interpolated from the initial position and the end position in the support reference movement trajectory in combination with the constant height. During the support period, the centroid reference movement trajectory in the second direction is determined by the end position in the support reference movement trajectory and the constant height. The second direction is perpendicular to the first direction; Determine the centroid reference movement trajectory of the robot according to the centroid reference movement trajectory of the robot in the second direction and the centroid reference movement trajectory of the robot in the first direction; 5. The method according to claim 3, wherein The interpolating to obtain the swing reference movement trajectory of the swing mechanical leg group according to the initial position and the desired position corresponding to the swing mechanical leg group within the step cycle includes: Construct the world coordinate system corresponding to the robot. The world coordinate system is constructed with the initial contact point between the robot and the support surface as the origin, the first direction as the x-axis direction, and the second direction perpendicular to the first direction as the z-axis direction; Use the spline curve interpolation method to interpolate the position component of the initial position in the first direction and the position component of the desired position in the first direction to obtain the swing reference movement trajectory of the swing mechanical leg group in the first direction; Use the spline curve interpolation method to interpolate the position component of the initial position in the second direction and the position component of the desired position in the second direction to obtain the swing reference movement trajectory of the swing mechanical leg group in the second direction; Obtain the swing reference movement trajectory of the swing mechanical leg group according to the swing reference movement trajectory of the swing mechanical leg group in the first direction and the swing reference movement trajectory of the swing mechanical leg group in the second direction; 6. The method according to claim 3, characterized in that, The support surface is a staircase including m steps, where m is a positive integer; Interpolating to obtain the swing reference movement trajectory of the swing mechanical leg group according to the initial position and the desired position corresponding to the swing mechanical leg group within the step cycle, includes: For each of the steps, obtaining the sub-desired position of the swing mechanical leg group at the step, where the foot of the swing mechanical leg located at the sub-desired position is higher than the step in the second direction and does not contact the step in the first direction; Interpolating sequentially in time order one by one between the initial position, the sub-desired positions corresponding to the m steps respectively, and the desired position, to obtain the swing reference movement trajectory of the swing mechanical leg group.
7. The method according to claim 2, wherein The step cycle includes a swing cycle and a support cycle. The mechanical leg is in a swing state during the swing cycle, and the mechanical leg is in a support state during the support cycle; Determining the support mechanical leg group and the swing mechanical leg group corresponding to the step cycle from the first mechanical leg group and the second mechanical leg group, includes: Obtaining the gait information of the robot according to the n step cycles and the support period ratio of the robot, where the support period ratio is used to indicate the proportion of the duration of the swing mechanical leg of the robot in the support state within each step cycle, and the gait information is used to indicate whether the mechanical leg of the robot is a swing mechanical leg within each step cycle; Determining the support mechanical leg group and the swing mechanical leg group corresponding to the step cycle from the first mechanical leg group and the second mechanical leg group according to the gait information.
8. The method according to claim 2, wherein Swinging the swing mechanical leg group in the first direction with the support mechanical leg group as the support, includes: During the swing cycle within the step cycle, during the process of swinging the swing mechanical leg group in the first direction, increasing the leg lengths of the respective support mechanical legs in the support mechanical leg group.
9. The method according to any one of claims 1 to 8, characterized in that The hip joints of each part of the robot are coaxial.
10. The method according to any one of claims 1 to 8, characterized in that, The mechanical legs in the first mechanical leg group move synchronously, the mechanical legs in the second mechanical leg group move synchronously, and the fuselage of the robot remains vertical during the movement of the robot.
11. A control device for a robot, characterized in that, The robot includes a fuselage, a first mechanical leg group and a second mechanical leg group connected to the fuselage through hip joints. At least one of the first mechanical leg group and the second mechanical leg group includes at least two mechanical legs. The rotation centers of the hip joints corresponding to the first mechanical leg group and the rotation centers of the hip joints corresponding to the second mechanical leg group are located in the same vertical plane; The device includes: A standing state control module, configured to stand on the support surface in an overlapping standing state, where the position error of each mechanical leg of the robot in the overlapping standing state in the first direction is zero; A swing state control module, configured to control the first mechanical leg group and the second mechanical leg group to swing alternately based on the centroid reference movement trajectory of the robot in the first direction, and move in the first direction on the support surface; The swing state control module is further configured to construct state variables of the discrete-time state equation of the robot using the position of the ZMP, the position of the centroid of the robot in the first direction, and the centroid velocity of the robot in the first direction, where the position of the ZMP is the support contact point of the robot on the support surface; use the singular linear quadratic regulator (SLQR) control method to construct an objective function according to the reference position of the ZMP in the ZMP reference trajectory; determine a feedback gain matrix according to the objective function; construct a control variable of the discrete-time state equation according to the feedback gain matrix, the position of the centroid of the robot in the first direction, and the reference position of the ZMP in the ZMP reference trajectory; and substitute the state variables and the control variables into the discrete-time state equation to iteratively obtain the reference moving trajectory of the centroid of the robot in the first direction.
12. The device according to claim 11, characterized in that, The robot stops moving after n step cycles, where the step cycle is used to indicate the duration for the first leg group or the second leg group to complete one swing, and n is a positive integer. The swing state control module includes: A leg allocation sub-module, configured to determine, for each of the step cycles, a supporting leg group and a swinging leg group corresponding to the step cycle from the first leg group and the second leg group. A swing state control sub-module, configured to swing the swinging leg group in the first direction with the supporting leg group as the support, based on the reference moving trajectory of the centroid of the robot in the first direction. The swing state control sub-module is further configured to stop swinging the swinging leg group when the swinging leg group reaches the desired position corresponding to the step cycle on the support surface.
13. The device according to claim 12, wherein The swing state control sub-module includes: A support trajectory determination unit, configured to determine the reference moving trajectory of the supporting leg group according to the size information of the area corresponding to the step cycle on the support surface and the step length of the robot during the step cycle. A centroid trajectory determination unit, configured to determine the reference moving trajectory of the centroid of the robot according to the reference moving trajectory of the supporting leg group and the reference moving trajectory of the centroid of the robot in the first direction. A swing trajectory determination unit, configured to interpolate to obtain the reference moving trajectory of the swinging leg group according to the initial position and the desired position corresponding to the step cycle of the swinging leg group. A swing state control unit, configured to control the robot to swing the swinging leg group in the first direction with the supporting leg group as the support according to the reference moving trajectory of the centroid and the reference moving trajectory of the swing.
14. The device according to claim 13, wherein The step cycle includes a swing cycle and a support cycle. The leg is in a swing state during the swing cycle and in a support state during the support cycle. The centroid trajectory determination unit is configured to: Determine the reference moving trajectory of the center of mass of the robot in the second direction according to the support reference moving trajectory, the support period ratio, and the constant height of the center of mass of the robot relative to the foot of the support leg group; wherein, the support period ratio is used to indicate the proportion of the duration of the swing leg of the robot in the support state in each step cycle. During the swing period, the reference moving trajectory of the center of mass in the second direction is obtained by interpolating the initial position and the end position in the support reference moving trajectory, combined with the constant height. During the support period, the reference moving trajectory of the center of mass in the second direction is determined by the end position in the support reference moving trajectory and the constant height. The second direction is perpendicular to the first direction; Determine the reference moving trajectory of the center of mass of the robot according to the reference moving trajectory of the center of mass of the robot in the second direction and the reference moving trajectory of the center of mass of the robot in the first direction.
15. The device according to claim 13, characterized in that, The swing trajectory determination unit is configured to: Construct the world coordinate system corresponding to the robot, where the world coordinate system is constructed with the initial contact point of the robot and the support surface as the origin, the first direction as the x-axis direction, and the second direction perpendicular to the first direction as the z-axis direction; Use the spline curve interpolation method to interpolate the position component of the initial position in the first direction and the position component of the desired position in the first direction to obtain the reference swing moving trajectory of the swing leg group in the first direction; Use the spline curve interpolation method to interpolate the position component of the initial position in the second direction and the position component of the desired position in the second direction to obtain the reference swing moving trajectory of the swing leg group in the second direction; Obtain the reference swing moving trajectory of the swing leg group according to the reference swing moving trajectory of the swing leg group in the first direction and the reference swing moving trajectory of the swing leg group in the second direction.
16. The device according to claim 13, wherein The support surface is a staircase including m steps, where m is a positive integer; the swing trajectory determination unit is further configured to: For each of the steps, obtain the sub-desired position of the swing leg group at the step, and the foot of the swing leg located at the sub-desired position is higher than the step in the second direction and does not contact the step in the first direction; Interpolate successively in time sequence between the initial position, the sub-desired positions corresponding to the m steps respectively, and the desired position to obtain the reference swing moving trajectory of the swing leg group.
17. The device according to claim 12, characterized in that The step cycle includes a swing period and a support period. The leg is in a swing state during the swing period and in a support state during the support period; the leg allocation sub-module is configured to: Obtain the gait information of the robot according to the n step cycles and the support period ratio of the robot, where the support period ratio is used to indicate the proportion of the duration of the swinging mechanical leg of the robot in the support state in each step cycle, and the gait information is used to indicate whether the mechanical leg of the robot is a swinging mechanical leg in each step cycle; Determine the support mechanical leg group and the swinging mechanical leg group corresponding to the step cycle from the first mechanical leg group and the second mechanical leg group according to the gait information.
18. The device according to claim 12, wherein The swing state control module is configured to increase the leg lengths of the respective support mechanical legs in the support mechanical leg group during the swing period in the step cycle when the swinging mechanical leg group swings in the first direction.
19. The device according to any one of claims 11-18, characterized in that, The hip joints of the robot are coaxial.
20. The device according to any one of claims 11-18, characterized in that, The mechanical legs in the first mechanical leg group move synchronously, the mechanical legs in the second mechanical leg group move synchronously, and the fuselage of the robot remains vertical during the movement of the robot.
21. A computer device, characterized in that, The computer device includes a processor and a memory, and a computer program is stored in the memory. The computer program is loaded and executed by the processor to implement the control method of the robot according to any one of claims 1 to 10.
22. A computer-readable storage medium, characterized in that, A computer program is stored in the computer-readable storage medium, and the computer program is loaded and executed by a processor to implement the control method of the robot according to any one of claims 1 to 10.
23. A computer program product, characterized in that, The computer program product includes a computer program, the computer program is stored in a computer-readable storage medium, and the processor reads and executes the computer program from the computer-readable storage medium to implement the control method of the robot according to any one of claims 1 to 10.
Citation Information
Patent Citations
All-landform walking device and control method thereof
CN104973163A
Trajectory planning system and method for robot
CN112720462A