Robot control method, robot control system, and robot
By independently controlling the lateral and forward movements of the robot's wheeled legs, and utilizing joint control methods and kinematic constraint functions, the problem of insufficient lateral movement freedom in two-wheeled robots was solved, enabling flexible control and stable support of the robot in the lateral direction.
Patent Information
- Application Number
- CN202110604758.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-05-31
- Publication Date
- 2026-02-03
- Estimated Expiration
- 2041-05-31
AI Technical Summary
In existing technologies, two-wheeled robots only involve forward motion control during motion control, lacking flexible control over lateral motion. This results in insufficient lateral motion freedom, making it impossible for the robot to achieve stable support and flexible movement in the lateral direction.
By independently controlling the lateral and forward movements of the robot's wheeled legs, and utilizing joint control methods and kinematic constraint functions, the target acceleration of each joint of the robot is determined, thereby achieving lateral motion control of the robot's wheeled legs and enhancing its motion freedom and stability.
It enables flexible control of the robot's wheeled legs in the lateral direction, improving the robot's degree of freedom of movement and control precision in the lateral direction, and enabling it to perform specific tasks such as stable support and obstacle avoidance.
Smart Images

Figure CN115480581B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the fields of artificial intelligence and robotics, and more specifically to a robot control method, a robot control system, and a robot. Background Technology
[0002] With the widespread application of artificial intelligence and robotics in civilian and commercial fields, robots based on artificial intelligence and robotics are playing an increasingly important role in fields such as intelligent transportation and smart homes, and are also facing higher requirements.
[0003] Currently, motion control of robots, especially two-wheeled robots (with single-wheel leg configurations for both left and right wheels), typically only involves controlling the movement of the robot's wheels and legs in the forward direction (forward motion), such as controlling their position or speed. However, it does not involve controlling the movement of the robot's wheels and legs in the lateral direction perpendicular to the forward motion (lateral motion). This control of the wheels and legs in only one direction results in insufficient lateral motion freedom, making it impossible to flexibly control the robot's lateral motion. When the robot needs to perform left-right swinging movements in the lateral direction (with the left and right wheels and legs alternately lifting off the ground in the lateral direction), it is also impossible to provide stable support for the robot through a single leg in the left or right wheel during the swinging motion.
[0004] Therefore, there is a need for a method that controls the lateral motion of a robot's wheel leg under the premise of achieving robot motion control, especially real-time and flexible motion control, and makes the lateral motion control process of the wheel leg independent of the forward motion control process of the wheel leg. This method should have good accuracy, stability, and high robustness. Summary of the Invention
[0005] To address the above problems, this disclosure provides a robot control method, a robot control system, and a robot. The robot control method provided by this disclosure enables the control of the lateral movement of the robot's wheeled legs, while ensuring real-time and flexible motion control. Furthermore, the lateral movement of the wheeled legs is independent of their forward movement control. This method also exhibits good accuracy, stability, and high robustness.
[0006] According to one aspect of this disclosure, a robot control method is proposed. The robot includes wheeled legs, which include a left wheeled leg and a right wheeled leg, and each of the left wheeled leg and the right wheeled leg includes at least one joint. The method includes: during the movement of the robot, controlling at least one joint of the left wheeled leg and at least one joint of the right wheeled leg to position the robot at a target forward movement position and a target forward movement speed; during the movement of the robot, controlling at least one joint of the left wheeled leg and at least one joint of the right wheeled leg to achieve stable support of the robot via one of the left wheeled leg and the right wheeled leg, and controlling the other of the left wheeled leg and the right wheeled leg to rise to a target height.
[0007] In some embodiments, both the left wheel leg and the right wheel leg are single-wheel leg configurations.
[0008] In some embodiments, the method includes: acquiring current joint motion information, current forward motion information, current lateral motion state, and current lateral motion information of the robot; acquiring target forward motion information and target lateral motion information of the robot; determining the target lateral motion acceleration of the wheel leg based on the current lateral motion information, current lateral motion state, and target lateral motion information; determining the target forward motion acceleration of the wheel leg based on the current forward motion information and target forward motion information; determining the target joint acceleration of each joint of the robot based on the determined target lateral motion acceleration of the wheel leg and the target forward motion acceleration of the wheel leg; and performing motion control on the robot based on the determined target joint acceleration of each joint of the robot.
[0009] In some embodiments, the current joint motion information includes the current joint angle and current angular velocity of each joint of the robot; the current lateral motion information includes the current length of the robot's left wheel leg, the current velocity of the left wheel leg along its length direction, the current length of the right wheel leg, the current velocity of the right wheel leg along its length direction, and the current roll angle of the robot's wheel leg; the target lateral motion information includes the target length of the robot's left wheel leg, the target velocity of the left wheel leg along its length direction, the target length of the right wheel leg, and the target roll angle of the right wheel leg. The target velocity of the leg along the length of the right wheel leg, and the target roll angle of the robot wheel leg; the current lateral motion state includes one of: left wheel leg support state, right wheel leg support state, left wheel leg switching to right wheel leg support state, and right wheel leg switching to left wheel leg support state; the current forward motion information includes at least a portion of the current forward motion position and current forward motion velocity of the wheel leg; the target forward motion information includes at least a portion of the target forward motion position and target forward motion velocity of the wheel leg.
[0010] In some embodiments, determining the target lateral motion acceleration of the wheel leg based on the current lateral motion information, the current lateral motion state, and the target lateral motion information includes: determining the target lateral motion state of the robot based on the current lateral motion state and the current lateral motion information; determining a target lateral motion control function corresponding to the target lateral motion state based on the target lateral motion state, wherein the target lateral motion control function is used to characterize the kinematic constraints of the robot in the target lateral motion state; and determining the target lateral motion acceleration of the robot based on the target lateral motion control function, the current lateral motion information, and the target lateral motion information.
[0011] In some embodiments, determining the target joint acceleration of each joint of the robot based on the determined lateral motion acceleration and forward motion acceleration of the wheel-leg target includes: generating the target motion acceleration of the robot based on the lateral motion acceleration and forward motion acceleration of the wheel-leg target; generating an estimate of the target motion acceleration of the robot based on the current lateral motion information, current forward motion information, and current joint motion information; and determining the target joint acceleration of the robot using a joint control constraint function, based on the target motion acceleration of the robot and the estimate of the target motion acceleration of the robot, wherein the joint control constraint function is used to characterize the constraint relationship between the robot motion information and the joint motion information.
[0012] In some embodiments, the target motion acceleration estimate of the robot is a function of the robot's joint acceleration; wherein, determining the target joint acceleration of the robot using the joint control constraint function, based on the robot's target motion acceleration and the target motion acceleration estimate, includes: generating an error function based on the robot's target motion acceleration and the target motion acceleration estimate, the value of the error function being related to the robot's joint acceleration; and determining the joint acceleration that satisfies the joint control constraint function and minimizes the error function as the target joint acceleration based on the error function and the joint control constraint function.
[0013] In some embodiments, the target lateral motion control function includes: a left wheel leg support constraint function corresponding to the left wheel leg support state, a right wheel leg support constraint function corresponding to the right wheel leg support state, and a support state switching function corresponding to the switching from the left wheel leg to the right wheel leg support state and the switching from the right wheel leg to the left wheel leg support state.
[0014] In some embodiments, the joint control constraint function includes: a joint equality constraint subfunction, a joint inequality constraint subfunction, and a joint threshold constraint subfunction.
[0015] In some embodiments, determining the joint acceleration that satisfies the joint control constraint function and minimizes the error function as the target joint acceleration based on the error function and the joint control constraint function includes: solving the joint equality constraint function in the null space of the joint equality constraint function to obtain the general solution of the joint equality constraint function; determining the general solution that satisfies the joint inequality constraint function and the joint threshold constraint function and minimizes the error function as the target general solution based on the general solution and the error function, the joint inequality constraint function, and the joint threshold constraint function; and generating the target joint acceleration based on the target general solution.
[0016] In some embodiments, each of the left wheel leg and the right wheel leg includes a wheel and two parallel legs connected to the central axis of the wheel for implementing motion control of the wheel. Then, the joint equality constraint sub-function includes:
[0017]
[0018] in, Let the joint acceleration of the robot be at the target time. F represents the current joint velocity of the robot. c,t+1 Let F be the generalized force at the contact point of the robot in the local coordinate system at the target time. λ,t+1Let τ be the force between the two parallel legs at the target time. t+1 Let J be the joint torque of the robot at the target time. c,t J λ,t At the current moment, these are the generalized force Fc at the point of contact of the robot in the local coordinate system and the force F between the two parallel legs, respectively. λ The Jacobian matrix is generated based on the robot's current joint motion information, current lateral motion information, and current forward motion information; C t G t M t S represents the parameters generated based on the robot's current joint motion information; S represents the parameters determined based on the robot's joint configuration; I is the identity matrix, the dimension of which is determined according to the number of degrees of freedom of the robot; t represents the current moment of the robot's motion; and t+1 represents the target moment of the robot's motion. The joint inequality constraint sub-functions include:
[0019]
[0020] Among them, J f,l J is the friction constraint matrix corresponding to the contact point of the robot's left wheel. f,r This is the friction constraint matrix corresponding to the contact point of the robot's right wheel; the joint threshold constraint sub-function includes:
[0021] τ t+1 ∈[τ min ,τ max ]
[0022] Where, τ min τ is the lower limit threshold of the joint torque of the robot. max This is the upper limit threshold for the joint torque of the robot.
[0023] According to another aspect of this disclosure, a robot control system is proposed. The robot includes wheeled legs, which include a left wheeled leg and a right wheeled leg, and each of the left wheeled leg and the right wheeled leg includes at least one joint. The system includes: a current motion information acquisition module configured to acquire current joint motion information, current forward motion information, current lateral motion state, and current lateral motion information of the robot; a target motion information acquisition module configured to acquire target forward motion information and target lateral motion information of the robot; and a lateral motion acceleration determination module configured to determine the lateral motion acceleration based on the current joint motion information. The system comprises: a target lateral motion acceleration for the wheel-legs; a forward motion acceleration determination module configured to determine the target forward motion acceleration for the wheel-legs based on the current forward motion information and the target forward motion information; a target joint acceleration determination module configured to determine the target joint acceleration for each joint of the robot based on the determined target lateral motion acceleration and target forward motion acceleration for the wheel-legs; and a motion control module configured to perform motion control on the robot based on the determined target joint acceleration for each joint of the robot.
[0024] In some embodiments, the current joint motion information includes the current joint angle and current angular velocity of each joint of the robot; the current lateral motion information includes the current length of the robot's left wheel leg, the current velocity of the left wheel leg along its length direction, the current length of the right wheel leg, the current velocity of the right wheel leg along its length direction, and the current roll angle of the robot's wheel leg; the target lateral motion information includes the target length of the robot's left wheel leg, the target velocity of the left wheel leg along its length direction, the target length of the right wheel leg, and the target roll angle of the right wheel leg. The target velocity of the leg along the length of the right wheel leg, and the target roll angle of the robot wheel leg; the current lateral motion state includes one of: left wheel leg support state, right wheel leg support state, left wheel leg switching to right wheel leg support state, and right wheel leg switching to left wheel leg support state; the current forward motion information includes at least a portion of the current forward motion position and current forward motion velocity of the wheel leg; the target forward motion information includes at least a portion of the target forward motion position and target forward motion velocity of the wheel leg.
[0025] In some embodiments, the lateral motion acceleration determination module includes: a target lateral motion state determination module, configured to determine the target lateral motion state of the robot based on the current lateral motion state and the current lateral motion information; a target lateral motion control function determination module, configured to determine a target lateral motion control function corresponding to the target lateral motion state based on the target lateral motion state, wherein the target lateral motion control function is used to characterize the kinematic constraints of the robot in the target lateral motion state; and a target lateral motion acceleration generation module, configured to determine the target lateral motion acceleration of the robot based on the target lateral motion control function, the current lateral motion information, and the target lateral motion information.
[0026] According to another aspect of this disclosure, a robot is proposed, the robot comprising: wheeled legs, the wheeled legs including a left wheeled leg and a right wheeled leg, each of the left wheeled leg and the right wheeled leg including at least one joint; and a controller disposed on the robot and capable of performing the robot control method as described above.
[0027] The robot control method, system and robot provided by the present invention can effectively achieve robot motion control. In particular, it can control the robot's lateral movement and achieve independent control of the lateral and forward movement of the wheel legs. Attached Figure Description
[0028] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort. The following drawings are not intentionally drawn to scale to actual size; their focus is on illustrating the main points of the present invention.
[0029] Figure 1 A schematic diagram of a left wheel leg and a right wheel leg having a single-wheel leg configuration according to an embodiment of the present disclosure is shown;
[0030] Figure 2 An exemplary flowchart of a robot control method 100 according to an embodiment of the present disclosure is shown;
[0031] Figure 3 A schematic diagram of the wheel leg portion according to an embodiment of the present disclosure is shown;
[0032] Figure 4 An exemplary flowchart of the process S103 for determining the lateral motion acceleration of the wheel leg target according to an embodiment of the present disclosure is shown;
[0033] Figure 5 An exemplary flowchart is shown for determining the lateral motion state S1031 of the robot target according to an embodiment of the present disclosure;
[0034] Figure 6A The system energy numerical simulation curves for a lateral swinging task according to an embodiment of the present disclosure are shown;
[0035] Figure 6B The diagram illustrates the center-of-mass trajectory of a robot in the lateral motion plane under different task conditions according to embodiments of the present disclosure.
[0036] Figure 7 A schematic diagram of a robot having a base portion according to an embodiment of the present disclosure is shown;
[0037] Figure 8A An exemplary flowchart of the process S105 for determining the target joint acceleration of each joint of the robot according to an embodiment of the present disclosure is shown;
[0038] Figure 8B An exemplary flowchart of the process S1053 for determining the target joint acceleration of the robot according to an embodiment of the present disclosure is shown;
[0039] Figure 9 An exemplary flowchart of process S1053-2 for determining the target joint acceleration according to an embodiment of the present disclosure based on null-space hierarchical optimization is shown;
[0040] Figure 10A A control flowchart of a two-wheeled robot according to an embodiment of the present disclosure is shown;
[0041] Figure 10B A schematic diagram of a two-wheeled robot according to an embodiment of the present disclosure is shown;
[0042] Figure 11 An exemplary block diagram of a robot control system 300 according to an embodiment of the present disclosure is shown;
[0043] Figure 12 An exemplary block diagram of a robot 200 according to an embodiment of the present disclosure is shown. Detailed Implementation
[0044] The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are also within the scope of protection of the present invention.
[0045] As indicated in this application and claims, unless the context clearly indicates otherwise, the words "a," "an," "an," and / or "the" are not specifically singular and may include plural forms. Generally speaking, the terms "comprising" and "including" only indicate the inclusion of explicitly identified steps and elements, which do not constitute an exclusive list, and the method or apparatus may also include other steps or elements.
[0046] While this application makes various references to certain modules of the systems according to embodiments of this application, any number of different modules can be used and run on user terminals and / or servers. The modules described are merely illustrative, and different aspects of the systems and methods may use different modules.
[0047] Flowcharts are used in this application to illustrate the operations performed by the system according to embodiments of this application. It should be understood that the preceding or following operations are not necessarily performed in exact order. Instead, various steps can be processed in reverse order or simultaneously as needed. Furthermore, other operations can be added to these processes, or one or more steps can be removed from them.
[0048] Artificial intelligence (AI) is the theory, methods, technology, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a comprehensive technology within computer science that attempts to understand the essence of intelligence and produce a new kind of intelligent machine that can react in a way similar to human intelligence. AI studies the design principles and implementation methods of various intelligent machines, enabling them to possess the functions of perception, reasoning, and decision-making.
[0049] This application relates to the application of artificial intelligence in robot control. Specifically, this application proposes an AI-based robot control method. This method adds control over the lateral motion of the robot's wheels and legs. By comprehensively considering the robot's dynamic equations and contact constraint equations, it enables independent control of the forward motion and lateral motion of the robot's wheels and legs. Based on the acceleration of the robot's wheels and legs in the forward and lateral directions, the joint acceleration of each joint of the robot is comprehensively determined, thereby achieving motion control of the robot.
[0050] Currently, motion control of robots, especially two-wheeled robots (with single-wheel leg configurations for both left and right wheels), typically only involves controlling the movement of the robot's wheels and legs in the forward direction (forward motion), such as controlling their position or speed. However, it does not involve controlling the movement of the robot's wheels and legs in the lateral direction perpendicular to the forward motion (lateral motion). This control of the wheels and legs in only one direction results in insufficient lateral motion freedom, making it impossible to flexibly control the robot's lateral motion. When the robot needs to perform left-right swinging movements in the lateral direction (with the left and right wheels and legs alternately lifting off the ground in the lateral direction), it is also impossible to provide stable support for the robot through a single leg in the left or right wheel during the swinging motion.
[0051] Therefore, there is a need for a method that controls the lateral motion of a robot's wheel leg under the premise of achieving robot motion control, especially real-time and flexible motion control, and makes the lateral motion control process of the wheel leg independent of the forward motion control process of the wheel leg. This method should have good accuracy, stability, and high robustness.
[0052] Based on the above, this application proposes a robot control method. The robot described in this application is a robot capable of autonomous motion control. The robot includes wheeled legs, which are wheeled components used by the robot to achieve motion. The wheeled legs include a left wheeled leg and a right wheeled leg, and each of the left and right wheeled legs includes at least one joint.
[0053] For example, each of the left and right wheel legs includes a wheel and a leg connected to a central axle of the wheel for motion control of the wheel. The wheel can be a single wheel, two wheels, four wheels, or other wheel configuration, and each wheel can be controlled, for example, by two legs connected in parallel or multiple legs connected in series. It should be understood that the embodiments of this disclosure are not limited to the specific composition type of the left and right wheel legs or the number of wheels.
[0054] For example, the left wheel leg and the right wheel leg may include the same number of joints and have the same joint configuration, or, depending on actual needs, the left wheel leg and the right wheel leg may have different numbers of joints and different joint configurations. The embodiments disclosed herein are not limited to the specific number of joints and joint configurations of the left wheel leg and the right wheel leg.
[0055] It should be understood that, depending on actual needs, the robot may also include, for example, a base portion connected to the wheel legs and additional components disposed on the base portion. The base portion refers to the main body of the robot, such as the torso, and may be, for example, a flat plate-like component connected to the wheel legs, and may be connected to the wheel legs via a bracket. However, it should be understood that the above is merely a structural example of a robot, and the embodiments disclosed herein are not limited to the specific components of the robot and their connection methods.
[0056] The method includes controlling at least one joint of the left wheel leg and at least one joint of the right wheel leg during the robot's movement, so that the robot is in a target forward movement position and a target forward movement speed. For example, during the robot's movement, the robot can be in a target movement state (with a target forward movement position and a target forward movement speed) in the forward movement direction by controlling the joint angles and speeds of the left wheel leg and the right wheel leg.
[0057] The method further includes: during the robot's movement, controlling at least one joint of the left wheel leg and at least one joint of the right wheel leg, such that during the robot's movement, the robot's stable support is achieved via one of the left wheel leg and the right wheel leg, and controlling the other of the left wheel leg and the right wheel leg to rise to a target height.
[0058] Based on the above, this application controls the lateral movement of the robot's legs, thereby achieving good control over both forward and lateral movement. This increases the robot's lateral freedom of movement, enabling flexible and real-time control. Furthermore, this lateral movement control allows the robot, especially a two-wheeled robot, to achieve stable support via either its left or right leg. It also allows for the lifting of the other leg off the ground by a predetermined height, as needed, to meet obstacle avoidance or other specific task requirements.
[0059] In some embodiments, both the left wheel leg and the right wheel leg are single-wheel leg configurations. A single-wheel leg configuration means that the wheel leg consists of only a single wheel. Figure 1 A schematic diagram of a left wheel leg and a right wheel leg having a single-wheel leg configuration according to an embodiment of the present disclosure is shown. The following will be combined with... Figure 1 This single-wheel leg configuration will be described in more detail.
[0060] Reference Figure 1One example shown is a robot with parallel legs and a single-wheeled leg configuration.
[0061] 200A. The robot 200A's wheel-leg portion 210A includes a left wheel-leg portion 211A and a right wheel-leg portion 212A. Each of the left wheel-leg portion 211A and the right wheel-leg portion 212A includes a wheel and two parallel legs connected to a central axis of that wheel for motion control of that wheel. For example, the left wheel-leg portion 211A may include a left wheel portion 2110A and a first left leg portion 2111A and a second left leg portion 2112A connected in parallel; and the right wheel-leg portion 212A may include a right wheel portion 2120A and a first right leg portion 2121A and a second right leg portion 2122A connected in parallel.
[0062] Based on the above, this application, by configuring both the left and right wheel legs as single-wheel leg configurations, enhances control over the lateral movement of the robot's wheel legs during the movement of a two-wheeled robot (which includes only two wheels, corresponding to single-wheel leg configurations on both the left and right sides). On one hand, this increases the robot's lateral movement freedom, enabling it to perform various tasks through different lateral postures. For example, it can achieve stable support for the robot via either the left or right wheel leg, while simultaneously controlling the other wheel leg to lift off the ground a preset height as needed, thereby achieving obstacle avoidance or other specific task requirements. On the other hand, it allows for independent control of the robot's lateral and forward movements, increasing the flexibility and reliability of robot control and improving its control accuracy.
[0063] Figure 2 An exemplary flowchart of a robot control method 100 according to an embodiment of the present disclosure is shown. The following will be combined with... Figure 2 The robot control method will be described in more detail.
[0064] Reference Figure 2 First, in step S101, the current joint motion information, current forward motion information, current lateral motion state, and current lateral motion information of the robot are obtained.
[0065] The current joint motion information is information characterizing the motion state of each joint of the robot at the current moment. For example, the current joint motion information may include the current joint angle and current joint angular velocity of each joint of the robot, or, depending on actual needs, it may also include other motion information of each joint. The embodiments of this disclosure are not limited to the specific composition of the current joint motion information.
[0066] The current lateral motion state characterizes the lateral motion state of the robot at the current moment in the lateral direction of motion. This current lateral motion state may include, for example, one of the following: left wheel leg support state, right wheel leg support state, left wheel leg switching to right wheel leg support state, or right wheel leg switching to left wheel leg support state. Alternatively, depending on actual needs, it may also include other motion information of each joint. The embodiments of this disclosure are not limited to the specific composition of this current lateral motion state.
[0067] The current lateral motion information is information characterizing the robot's current motion state and self-balancing state in the lateral direction. For example, this current lateral motion information may include one or more of the following: the target length of the robot's left wheel leg, the target velocity of the left wheel leg along its length direction, the target length of the right wheel leg, the target velocity of the right wheel leg along its length direction, and the target roll angle of the robot's wheel legs. Alternatively, it may include other motion parameter information as needed. The embodiments of this disclosure are not limited to the specific composition of this current lateral motion state.
[0068] The current forward motion information is information characterizing the robot's current motion state and self-balancing state in the forward direction. For example, the current forward motion information may include at least a portion of the current forward motion position and current forward motion speed of the wheel legs, or it may include other motion parameter information as needed. The embodiments of this disclosure are not limited to the specific composition of the current forward motion information.
[0069] Subsequently, in step S102, the target forward motion information and target lateral motion information of the robot are obtained.
[0070] The target forward motion information is information characterizing the robot's desired forward motion state and desired self-balancing state at the target time. The target forward motion information may include, for example, at least a portion of the target forward motion position and target forward motion velocity of the wheel legs. Alternatively, it may include other motion parameter information depending on the actual situation. The embodiments of this disclosure are not limited to the specific composition of the target forward motion information.
[0071] Depending on the actual situation, the target time can be, for example, the next moment after the robot's current moment, or it can be a moment after a preset time interval from the robot's current moment. The embodiments disclosed herein are not limited to the specific method of setting the target time.
[0072] The target lateral motion information is information characterizing the robot's desired lateral motion state and desired self-balancing state at a target time. This target lateral motion information may include, for example, the target length of the left wheel leg, the target velocity of the left wheel leg along its length direction, the target length of the right wheel leg, the target velocity of the right wheel leg along its length direction, and the target roll angle of the robot's wheel legs. Alternatively, depending on the actual situation, other target lateral motion parameters may also be included. The embodiments of this disclosure are not limited to the specific composition of this target lateral motion information.
[0073] Subsequently, in step S103, the target lateral motion acceleration of the wheel leg is determined based on the current lateral motion information, the current lateral motion state, and the target lateral motion information.
[0074] The target lateral motion acceleration refers to the acceleration measure required by the robot in its current lateral motion state and with its current lateral motion information to achieve the target lateral motion state and target lateral motion information. The dimension of this target lateral motion acceleration can be set according to actual needs, and the embodiments of this disclosure are not limited to the specific composition of the target lateral motion acceleration.
[0075] For example, the process of determining the target lateral motion acceleration of the wheel leg may include: determining the target lateral motion state of the robot based on the current lateral motion state and the current lateral motion information; determining a target lateral motion control function corresponding to the target lateral motion state based on the target lateral motion state, wherein the target lateral motion control function is used to characterize the kinematic constraints of the robot in the target lateral motion state; and determining the target lateral motion acceleration of the robot based on the target lateral motion control function, the current lateral motion information, and the target lateral motion information. However, it should be understood that the above only provides an exemplary method for determining the target lateral motion acceleration of the robot, and the embodiments of this disclosure are not limited to the specific process of determining the target lateral motion acceleration.
[0076] Subsequently, in step S104, the forward motion acceleration of the wheel leg target is determined based on the current forward motion information and the target forward motion information.
[0077] The target forward motion acceleration of the wheel-legs refers to the acceleration metric required for a robot in its current forward motion state (corresponding to the current forward motion information) to achieve a target forward motion state (corresponding to the target forward motion information). For example, when the robot's wheel-legs have a dual-wheel structure with a left wheel-leg and a right wheel-leg, the calculated acceleration metric may include, for example, the acceleration of the left wheel-leg in the forward motion direction and the acceleration of the right wheel-leg in the forward motion direction. The embodiments of this disclosure are not limited to the specific composition of the target forward motion acceleration.
[0078] In some embodiments, the forward motion acceleration of the wheel-leg target can be determined based on the robot's current forward motion information and the target's forward motion information, according to a preset control algorithm. For example, the forward motion acceleration of the target can be obtained using a PID controller. Alternatively, other methods can be used to calculate the forward motion acceleration of the wheel-leg target. The embodiments of this disclosure are not limited to the specific process and method of generating the forward motion acceleration of the wheel-leg target.
[0079] It should be understood that, depending on actual needs, the above steps S103 and S104 can be executed sequentially, in reverse order, or in parallel. The embodiments of this disclosure are not limited by the specific execution order of steps S103 and S104.
[0080] After calculating the forward motion acceleration and the lateral motion acceleration of the wheel leg target, in step S105, the target joint acceleration of each joint of the robot is determined based on the determined lateral motion acceleration and forward motion acceleration of the wheel leg target.
[0081] For example, the target motion acceleration of the robot can be determined first based on the lateral motion acceleration and forward motion acceleration of the wheel-leg target; then, based on the target motion acceleration of the robot, the target joint acceleration corresponding to each joint of the robot can be generated according to the robot's dynamic equations and contact constraint equations. However, it should be understood that the above only provides one method for generating the target joint acceleration, and the embodiments of this disclosure are not limited to the specific method of generating the target joint acceleration.
[0082] After obtaining the target joint acceleration of each joint of the robot, in step S106, motion control of the robot is performed based on the determined target joint acceleration of each joint of the robot.
[0083] For example, a torque corresponding to the target joint acceleration can be generated based on the target joint acceleration, and friction compensation can be performed on the torque. Based on the target torque after friction compensation, a joint control current value can be generated and sent to the corresponding joint control motor. The motor outputs the corresponding torque to control each joint of the robot, thereby realizing motion control of the robot.
[0084] However, it should be understood that the above is merely an exemplary method for robot motion control based on target joint acceleration. Other methods can be selected to implement motion control as needed. The embodiments of this disclosure are not limited to the specific method of implementing motion control based on the target joint acceleration.
[0085] Based on the above, this application obtains the robot's current joint motion information, current lateral motion information, current forward motion information, target lateral motion information, and target forward motion information. Based on the current lateral motion information and the target lateral motion information, the target lateral motion acceleration of the wheel leg is determined; based on the current forward motion information and the target forward motion information, the target forward motion acceleration of the wheel leg is determined. This determines the target joint acceleration of each joint of the robot. On the one hand, by increasing control over the lateral motion process of the robot's wheel leg, the robot's motion control degrees of freedom are increased, enabling the robot to perform various tasks through different lateral postures. On the other hand, it enables independent control of the robot's lateral and forward motions, increasing the flexibility and reliability of robot control and improving the robot's control accuracy.
[0086] In some embodiments, the current joint motion information, current lateral motion information, current lateral motion state, target lateral motion information, current forward motion information, and target forward motion information can be described in more detail, for example.
[0087] For example, the current joint motion information includes the current joint angle and current joint angular velocity of each joint of the robot.
[0088] The current lateral motion information includes the current length of the robot's left wheel leg, the current velocity of the left wheel leg along its length direction, the current length of the right wheel leg, the current velocity of the right wheel leg along its length direction, and the current roll angle of the robot's wheel legs. It aims to characterize the robot's desired length of the left wheel leg, velocity of the left wheel leg along its length direction, length of the right wheel leg, velocity of the right wheel leg along its length direction, and roll angle of the robot's wheel legs at the current moment.
[0089] The target lateral motion information includes the target length of the robot's left wheel leg, the target velocity of the left wheel leg along its length direction, the target length of the right wheel leg, the target velocity of the right wheel leg along its length direction, and the target roll angle of the robot's wheel legs. It aims to characterize the expected length of the left wheel leg, the velocity of the left wheel leg along its length direction, the length of the right wheel leg, the velocity of the right wheel leg along its length direction, and the roll angle of the robot's wheel legs at a target time.
[0090] The following section will provide a more detailed explanation of the robot's rolling angle, wheel length, and the speed of the left / right wheel along its length, taking into account the robot's specific structure. Figure 3A schematic diagram of a wheel leg according to an embodiment of the present disclosure is shown. The wheel leg includes, for example, a left wheel leg W_l and a right wheel leg W_r, and the left wheel leg and the right wheel leg are connected via a connecting portion W_c. The connecting portion W_c of the wheel leg has, for example, a center point Oc.
[0091] At this point, the roll angle of the wheel leg can be represented, for example, by the angle between the left and right wheel legs used for support and the vertical direction (i.e., the z-direction) in the lateral motion plane. Here, the lateral motion plane refers to the two-dimensional plane formed by the lateral direction y and the vertical direction z in a three-dimensional Cartesian coordinate system (which includes x, y, and z directions, where the x-direction is the robot's forward direction, the z-direction is the vertically upward direction, and the y-direction is the lateral direction perpendicular to both the x and z directions).
[0092] And refer to Figure 3 For example, the length L of the robot's left wheel leg is shown. left The length L of the right wheel leg right The velocity V of the left wheel leg along its length. left The velocity V of the right wheel leg along its length. right .
[0093] In some embodiments, the coordinates of the center point of the connection in the transverse motion plane at the current time and the desired coordinates of the center point of the connection in the transverse motion plane at the target time can also be obtained.
[0094] The current lateral movement state includes one of the following: left wheel leg support state, right wheel leg support state, left wheel leg switching to right wheel leg support state, and right wheel leg switching to left wheel leg support state.
[0095] The "left wheel leg support state" refers to the state in which the robot achieves stable support using only the left wheel leg. The "right wheel leg support state" refers to the state in which the robot achieves stable support using only the right wheel leg. The "left wheel leg switching to right wheel leg support state" means that when the robot is supported by the left wheel leg, and the right wheel leg touches the ground, the robot switches from a state of single-leg support using only the left wheel leg to a state of single-leg support using only the right wheel leg. The "right wheel leg switching to left wheel leg support state" means that when the robot is supported by the right wheel leg, and the left wheel leg touches the ground, the robot switches from a state of single-leg support using only the right wheel leg to a state of single-leg support using only the left wheel leg.
[0096] The current forward motion information includes at least a portion of the current forward motion position of the wheel leg and the current forward motion velocity of the wheel leg. The current forward motion position and current forward motion velocity are intended to characterize the robot's motion position and velocity along the forward direction at the current moment.
[0097] The target forward motion information includes at least a portion of the target forward motion position of the wheel legs and the target forward motion velocity of the wheel legs. The target forward motion position and target forward motion velocity are intended to characterize the robot's expected motion position and velocity in the forward direction at the target time.
[0098] Based on the above, this application further defines the specific composition of the current joint motion information, current lateral motion information, current lateral motion state, target lateral motion information, current forward motion information, and target forward motion information, so that the current joint motion information, current forward motion information, current lateral motion state, and current lateral motion information can more comprehensively and completely reflect the forward and lateral motion state of the robot's wheels and legs at the current moment, and the target lateral motion information and target forward motion information can more comprehensively and completely reflect the robot's expected forward and lateral motion state at the target moment, thereby facilitating better real-time motion control of the robot.
[0099] In some embodiments, the process S103 of determining the target lateral motion acceleration of the wheel leg based on the current lateral motion information, the current lateral motion state, and the target lateral motion information can be described in more detail, for example. Figure 4 An exemplary flowchart is shown for the process S103 of determining the lateral motion acceleration of the wheel leg target according to an embodiment of the present disclosure.
[0100] Reference Figure 4 First, in step S1031, the target lateral motion state of the robot is determined based on the current lateral motion state and the current lateral motion information.
[0101] The target lateral motion state refers to the lateral motion state that the robot should have at the target time. This target lateral motion state can be, for example, one of the following: left wheel leg support state, right wheel leg support state, left wheel leg switching to right wheel leg support state, or right wheel leg switching to left wheel leg support state.
[0102] The process of determining the lateral motion state of the robot target will be explained in more detail below. Figure 5 An exemplary flowchart is shown for determining the lateral motion state S1031 of the robot target according to an embodiment of the present disclosure.
[0103] Reference Figure 5First, for example, in step S1031-1, the current lateral motion threshold time corresponding to the current lateral motion state and the duration of the robot in the current lateral motion state are obtained.
[0104] The current lateral movement threshold time refers to the maximum duration for which the robot remains in its current lateral movement state. Exceeding this lateral movement threshold time may cause the robot to enter an unstable state or prevent it from fulfilling its task requirements.
[0105] The lateral movement threshold time can be preset by the user, or it can be set by the system based on the actual lateral task being performed (e.g., lateral stabilization swing). For different lateral movement states, the lateral movement threshold time can be different parameters. The embodiments of this disclosure are not limited to the specific setting method and content of the lateral movement threshold time.
[0106] The duration of the robot in its current lateral movement state refers to the duration of the robot in that current lateral movement state. It can be obtained, for example, by continuously tracking the robot's movement process, or by other means. The embodiments of this disclosure are not limited to the specific method of obtaining the duration of the robot in its current lateral movement state.
[0107] Subsequently, for example in step S1031-2, the target lateral motion state of the robot is determined based on the duration of the robot in the current lateral motion state and the current lateral motion threshold time.
[0108] For example, the duration of the robot's current lateral movement state can be compared with the current lateral movement threshold time. If the duration of the robot's current lateral movement state is less than the current lateral movement threshold time, then the robot's current lateral movement state is determined as the robot's target lateral movement state. If the duration of the robot's current lateral movement state is greater than or equal to the current lateral movement threshold time, then a state transition process is performed on the robot.
[0109] The state transition process can be described in more detail. For example, if a preset lateral movement state transition process for the robot has been set in advance, such as setting the robot to cycle through "left wheel leg support state - left wheel leg to right wheel leg support state - right wheel leg support state - right wheel leg to left wheel leg support state", then, for example, the next preset lateral movement state after the current lateral movement state can be determined in the preset lateral movement state transition process, and the target lateral movement state of the robot can be set as the next preset lateral movement state after the current lateral movement state.
[0110] Alternatively, in some embodiments, when performing state switching processing on the robot, the target lateral movement state of the robot can be further determined based on the robot's current lateral movement information, such as the current length of the robot's left wheel leg and right wheel leg. For example, the current length of the robot's left wheel leg and right wheel leg can be compared with the length range of the left wheel leg and right wheel leg corresponding to each lateral movement state. If the current length of the robot's left wheel leg and right wheel leg falls within the corresponding length range of a certain lateral movement state, then that lateral movement state is determined as the target lateral movement state.
[0111] It should be understood that the above is merely an exemplary method for determining the lateral motion state of the robot target. The embodiments disclosed herein are not limited to any specific method for determining the lateral motion state of the robot target.
[0112] Subsequently, in step S1032, based on the target lateral motion state, a target lateral motion control function corresponding to the target lateral motion state is determined, wherein the target lateral motion control function is used to characterize the kinematic constraints of the robot in the target lateral motion state.
[0113] The target lateral motion control function refers to a function used to control the robot's motion process in a target lateral motion state. It characterizes the robot's kinematic constraints in that target lateral state and may include, for example, multiple sub-functions, or it may be a preset algorithm or system of equations. The embodiments of this disclosure are not limited to the specific composition of the target lateral motion control function.
[0114] After obtaining the target lateral motion control function, in step S1033, the target lateral motion acceleration of the robot is determined based on the target lateral motion control function, the current lateral motion information, and the target lateral motion information.
[0115] For example, the current lateral motion information and the target lateral motion information can be substituted into the target lateral motion control function to calculate the target lateral motion acceleration of the robot. Alternatively, other methods can be used to determine the target lateral motion acceleration of the robot. The embodiments of this disclosure are not limited to the specific method of determining the target lateral motion acceleration of the robot.
[0116] Based on the above, in this application, in determining the target lateral motion acceleration of the robot, the target lateral motion state of the robot is determined based on the current lateral motion state and the current lateral motion information. A target lateral motion control function is then determined based on this target lateral motion state. Finally, the lateral motion acceleration of the robot is determined jointly by the lateral motion control function, the current lateral motion information, and the target lateral motion information. This ensures that in controlling the lateral motion of the robot, in addition to considering the desired lateral position, velocity, and attitude, the lateral motion state that the robot should have at the target time, as well as the physical constraints and motion mode under this motion state, are also taken into account. Different control methods or algorithms are used to obtain the acceleration based on different target motion states, which is beneficial for achieving flexible and reliable control of the robot, and the control process has high accuracy.
[0117] In some embodiments, the target motion control function includes: a left wheel leg support constraint function corresponding to the left wheel leg support state, a right wheel leg support constraint function corresponding to the right wheel leg support state, and a support state switching function corresponding to the switching from the left wheel leg to the right wheel leg support state and the switching from the right wheel leg to the left wheel leg support state.
[0118] Next will be Figure 3 Taking the wheel-leg structure of the robot shown as an example, the motion control function of the target is described in more detail.
[0119] For example, for Figure 3 The stepping motion of the robot in the lateral motion plane (yz plane) requires analysis of a dynamic model with underactuated, continuous / collision hybrid characteristics. Specifically, the controllable input is the force f of the robot along the leg length direction of the left wheel leg. left The force f along the leg length of the right wheel leg right Simultaneously, it satisfies the contact constraint, meaning the acceleration of the contact point along the x and y directions in the aforementioned three-dimensional Cartesian coordinate system is zero. When the robot includes a base connected to the wheel leg, the base has three degrees of freedom in the lateral motion plane (yz plane) (coordinate in the y direction, coordinate in the z direction, and Euler angles about the x-axis). Therefore, the lateral dynamics system in continuous dynamics with one leg on the ground is a 5-degree-of-freedom, but underactuated system with only 2 inputs and 2 constraints.
[0120] Therefore, the generalized coordinates w = [y] during this lateral movement process B ,z B ,θ roll ,L left ,L rihht ] T , where y B for Figure 3The coordinates of the center point Oc of the marker along the y-direction in the yz-plane, and the coordinates of the z-direction... B for Figure 3 The coordinates of the center point Oc of the marker along the z-direction in the yz plane.
[0121] θ roll L is the roll angle of the robot. left L is the length of the revolver's leg. right This refers to the length of the right wheel's leg.
[0122] Using the Lagrange method, the dynamic equations of the system in the continuous state can be obtained as follows:
[0123]
[0124] Among them, M h,t C h,t G h,t f is a parameter generated based on the robot's lateral motion information in the lateral plane. left,t Let f be the driving force f acting on the robot's left wheel leg along its length at the current moment. right,t This represents the driving force exerted on the robot's right wheel leg along its length at the current moment. f is the Jacobian matrix used for the lateral motion of the robot; h,L,y,t f h,L,z,t Let f be the force exerted on the robot's left-wheeled leg in the lateral motion plane along the y and z directions by the surrounding environment (e.g., the ground) at the current moment. h,R,y,t f h,R,z,t The forces exerted on the robot's right wheel leg in the lateral motion plane at the current moment by the surrounding environment (e.g., the ground) along the y and z directions.
[0125] When either the left or right wheel is supported by its leg, the dynamics can be simplified to some extent (eliminating contact forces), and only w remains in the generalized coordinate system. e =[θ roll ,L left ,L right ] T .
[0126] The dynamic system can then be adaptively simplified according to different lateral motion states, thus yielding lateral motion control functions corresponding to different lateral motion states. These lateral motion control functions will be given in detail below.
[0127] For example, when the robot is in a left-wheel-leg support state, simplifying the above dynamic equation 1) yields the following left-wheel-leg support constraint sub-function corresponding to the left-wheel-leg support state:
[0128]
[0129] Among them, M e,l,t C e,l,t G e,l,t To be based on the simplified generalized coordinate w e The parameters generated from the data at the current moment represent the parameters of the robot's left-wheel leg during its lateral plane motion. And among them, To obtain the Jacobian matrix for the right wheel leg based on the data of the simplified generalized coordinates at the current moment, the meanings of the other parameters are as described above.
[0130] When the robot is in the right wheel leg support state, for example, by simplifying the above dynamic equation 1), we can obtain the following right wheel leg support constraint sub-function corresponding to the right wheel leg support state:
[0131]
[0132] Among them, M e,r,t C e,r,t G e,r,t To be based on the simplified generalized coordinate w e The parameters generated from the data at the current moment represent the parameters of the robot's right wheel leg during its lateral plane motion. And among them, The Jacobian matrix for the leg of the revolver is obtained based on the data of the simplified generalized coordinates at the current moment. The meanings of the other parameters are as described above.
[0133] At the instant of leg exchange (corresponding to the left wheel leg switching to the right wheel leg support state and the right wheel leg switching to the left wheel leg support state), according to the impulse theorem, a collision equation is established, and the post-collision state is calculated under the assumption of inelastic collision. For example, the following expression is satisfied, and this expression 4) is the support state switching sub-function corresponding to the left wheel leg switching to the right wheel leg support state and the right wheel leg switching to the left wheel leg support state:
[0134]
[0135] Among them, F h,c,t This represents the force exerted on the robot's landing legs at the current moment; the meanings of the other parameters are as described above.
[0136] Based on the above, in this application, on the one hand, by establishing analytical continuous-collision hybrid dynamic equations and lateral motion control functions for each lateral motion state determined by these equations, it is beneficial to further set up an energy-replenishment-based gait control method to plan and process the robot's lateral motion task. On the other hand, based on the lateral motion control functions corresponding to each lateral motion state and the robot's specific target lateral task, for example, motion controllers with different control modes corresponding to different lateral motion states can be set up. This allows for the determination of the robot's lateral motion acceleration in each lateral motion state based on the motion controllers of different modes, which helps improve the accuracy and reliability of the robot's lateral motion control process.
[0137] The following section will provide a more detailed description of how, based on this lateral motion control function and a specific target task, the robot's controllers are set up for each lateral motion state, and the process of obtaining the target lateral motion acceleration is described.
[0138] Figure 6A The numerical simulation curves of the system energy for a lateral swinging task according to an embodiment of the present disclosure are shown. Figure 6B The diagram illustrates the trajectory of the robot's center of mass in the lateral motion plane under different task conditions according to embodiments of this disclosure.
[0139] When the robot needs to perform a stable lateral swinging task, it will cyclically switch between states: "left wheel leg support state – left wheel leg switching to right wheel leg support state – right wheel leg support state – right wheel leg switching to left wheel leg support state". At this time, for example, according to the aforementioned lateral motion control functions 2)-4), left wheel leg controllers and right wheel leg controllers can be set for the robot's left and right wheel legs respectively, and each of these controllers has, for example, four control modes. The four control modes and related control parameters of the left and right wheel leg controllers will be explained in more detail below. For example, both the left and right wheel leg controllers are PID controllers (proportional, derivative, integral controllers).
[0140] When the robot is in a left-wheel-supported state, the left-wheel leg extends along its length, increasing both the system's gravitational potential energy and kinetic energy. At this time, the left-wheel leg is in the extension phase, and the desired leg length increases from l... a Switch to l b At this time, the controller parameters of the left wheel leg controller will, for example, adopt high impedance controller parameters k. p,h ,k d,h At this time, the right wheel's leg is in a shortened state, and the desired leg length is l.b Switch to l a At this time, the parameters of the right wheel leg controller will, for example, adopt the low impedance controller parameter k. p,l ,k d,l .
[0141] Subsequently, when the robot's right-wheeled leg detects the ground touching the ground, the robot will switch to a left-wheeled leg support state, transitioning to a right-wheeled leg support state: at this point, both legs simultaneously contact the ground, and this state is fixed for a time Δ. t At this point, the low-impedance controller of the right wheel leg absorbs the impact, reducing the overall energy of the system. The left wheel leg is in a stable phase, and the desired leg length is maintained at l. b At this time, the controller parameters of the left wheel leg controller change from high impedance k p,h ,k d,h Transition to low impedance parameter k p,h ,k d,h At this time, the right wheel's leg is in a shortened state, and the desired leg length is to remain at l. a At this time, the parameters of the right wheel leg controller change from low impedance k p,l ,k d,l Transition to high impedance parameter k p,h ,k d,h .
[0142] When the transition from the left-wheel leg to the right-wheel leg support state ends (e.g., reaching a threshold time), the robot will automatically switch back to the right-wheel leg support state. At this time, the right-wheel leg extends to replenish the system's energy. The left-wheel leg is in the shortening phase, with the desired leg length increasing from l. b Switch to l a At this time, the controller parameters of the left wheel leg controller adopt the low impedance controller parameter k. p,l ,k d,l The right wheel's leg is in an extended position, and the desired leg length is l. a Switch to l b At this time, the controller parameters of the right wheel leg controller adopt the high impedance controller parameter k. p,h ,k d,h .
[0143] Subsequently, when the left-wheeled leg detects the ground touching the ground, the robot will switch to the right-wheeled leg to return to the left-wheeled leg support state: at this time, both legs of the robot are in contact with the ground simultaneously, and this state is fixed for a time Δ. t At this moment, the low-impedance controller of the right wheel leg absorbs the impact, reducing the overall energy of the system. Meanwhile, the left wheel leg is in a shortened state, ideally maintaining a leg length of l. a At this time, the controller parameters of the left wheel leg controller change from low impedance k p,l ,k d,l Transition to high impedance parameter k p,h ,kd,h The right wheel's leg is in a stable phase, and the desired leg length is 1. b At this time, the controller parameters of the right wheel leg controller change from high impedance k p,h ,k d,h Transition to low impedance parameter k p,h ,k d,h .
[0144] For example, the following is an exemplary method for setting the relevant parameters of the robot's left wheel leg controller and right wheel leg controller: a =l0-δ1=0.40-0.10(m),l b =l0+δ2=0.40+0.05(m),k p,h =100,k d,h =20,k p,l =20,k d,l =10, Δt=0.1s.
[0145] Therefore, continuous switching can form a stable limiting gait, referring to... Figure 6A The numerical simulation curves of system energy shown in the figure clearly demonstrate that a stable lateral stepping gait can be achieved through the controller in this application. Figure 6B From top to bottom, the base movement trajectories are δ2 = 0.06, 0.04, and 0.02 (m). It can be seen that the energy replenished by the system after taking a step is positively correlated with the leg length increment δ2. The greater the replenished energy, the greater the amplitude of the base movement and the longer the generated motion cycle. Based on this, stepping movements of different frequencies can be generated.
[0146] Based on the above, the target lateral motion control function set in this application allows for setting different control modes of the lateral motion controller (e.g., the left wheel leg controller and the right wheel leg controller) according to different lateral motion states of the robot, thereby enabling targeted, flexible, and precise control of each state during lateral motion. Furthermore, this control process can effectively improve the flexibility and reliability of the robot's lateral motion, facilitating the achievement of various task functions such as stable lateral swaying or lateral obstacle avoidance.
[0147] In some embodiments, the robot may include, for example, a base connected to the wheel leg, in which case the process of obtaining the forward acceleration of the wheel leg target can be described in more detail. Figure 7 A schematic diagram of a robot with a base portion according to an embodiment of the present disclosure is shown.
[0148] Reference Figure 7For example, when the wheel leg includes a left wheel leg W_l and a right wheel leg W_r, the current forward motion information further includes: the current horizontal distance between the center of mass of the wheel leg and the center of mass of the base, the current relative velocity between the center of mass of the wheel leg and the center of mass of the base, and the current relative yaw angle and current relative yaw rate between the current motion direction of the robot's base and the current motion direction of the wheel leg. Furthermore, the target forward motion information further includes: the current horizontal distance between the center of mass of the wheel leg and the center of mass of the base, the current relative velocity between the center of mass of the wheel leg and the center of mass of the base, and the target relative yaw angle and target relative yaw rate between the target motion direction of the robot's base and the target motion direction of the wheel leg.
[0149] The relative yaw angle refers to the angle between the forward direction Dwheel of the virtual single wheel obtained by fitting the left wheel leg and the right wheel leg, and the actual forward motion direction Dbase of the robot. Specifically, refer to... Figure 7 The diagram shows the direction of the perpendicular bisector of the line connecting the center point of the left wheel leg W_l and the center point of the right wheel leg W_r. This direction represents the forward direction of the virtual single wheel, Dwheel. It also shows the robot's actual forward motion direction, Dbase, and the forward direction of the virtual single wheel.
[0150] The θ of Dwheel and the robot's actual forward motion direction Dbase yaw,wheel This is the relative yaw angle.
[0151] Therefore, the current yaw angle refers to the relative yaw angle at the current moment, and the target relative yaw angle refers to the expected value of the relative yaw angle at the target moment. The current relative yaw rate is obtained by differentiating the current relative yaw angle, and it aims to reflect the rate of change of the current relative yaw angle over time. The target relative yaw rate refers to the expected rate of change of the relative yaw angle over time at the target moment.
[0152] Furthermore, the forward motion acceleration of the target on the wheeled leg includes the forward motion acceleration of the target on the left wheeled leg and the forward motion acceleration of the target on the right wheeled leg.
[0153] The following will explain the process of obtaining more details. Figure 7 The process of forward acceleration of the robot's wheeled leg target.
[0154] First, in order to control the robot's motion, it is necessary to set the relative acceleration between the robot's base and its wheels. So that the base part is relative to the robot's wheel part. At this point, the non-minimum phase system formed by the wheel leg and the base is at equilibrium. Therefore, the following feedback control law can be designed:
[0155]
[0156] in, The relative acceleration between the robot's base and its wheel-leg components is the target acceleration. Let this be the target horizontal distance between the center of mass of the robot's wheel-leg section and the center of mass of its base section. This represents the current horizontal distance between the center of mass of the robot's wheel-legs and the center of mass of its base. The "0" here signifies that the target relative velocity between the center of mass of the robot's wheel-legs and the center of mass of its base is 0. The current relative velocity between the center of mass of the robot's wheel-leg section and the center of mass of its base section is represented, where K p,1 K d,1 As the parameters are selected according to actual needs, it should be understood that since the robot adopts a dual-wheel configuration, the "wheel leg" mentioned here refers to the virtual single wheel obtained by fitting the left wheel leg and the right wheel leg, and the "wheel leg center of mass" refers to the center of mass of the virtual single wheel obtained by fitting the left wheel leg and the right wheel leg.
[0157] Based on the above formula 5), the relative acceleration of the wheel leg (virtual single wheel) relative to the base can be calculated to achieve the forward motion information of the target. Furthermore, considering that in this robot, the acceleration of the wheel leg (virtual single wheel) and the relative acceleration of the wheel leg (virtual single wheel) with respect to the base should satisfy the following relationship:
[0158]
[0159] in, This is the forward acceleration of the wheel's leg (virtual single wheel). This refers to the relative acceleration of the wheel leg (virtual single wheel) relative to the base. This is the distance between the base and the wheel leg (virtual single wheel) along the x-direction (i.e., the forward direction). Let g be the distance between the base and the wheel leg (virtual single wheel) along the z-direction (i.e., the vertical direction), and g be the acceleration due to gravity.
[0160] when In this case, an outer loop controller can be designed to control the linear acceleration of the wheel leg (virtual single wheel), thereby controlling the movement of the wheel leg (virtual single wheel) in the x-direction (forward direction). The specific control law is as follows:
[0161]
[0162] in, The distance between the base and the wheel leg (virtual single wheel) in the forward direction at the current moment can be calculated, for example, based on the feedback rate. The distance between the base and the wheel leg (virtual single wheel) in the vertical direction at the current moment is given by g, where g is the acceleration due to gravity, and x is the acceleration due to gravity. wheel,t+1 Let x be the forward position of the target leg (virtual single wheel). wheel,t This represents the current forward position of the leg of the virtual wheel. The forward velocity of the target wheel's leg (virtual single wheel) Let K be the current forward velocity of the leg of the virtual wheel (the single wheel), where K is the forward velocity of the leg. p,2 K d,2 The parameter values are selected based on actual needs.
[0163] Therefore, a feedback rate and feedback coefficient K of a balanced controller are finally obtained. p,1 ,K p,2 ,K d,1 ,K d,2 The poles can be designed and calculated separately for the inner and outer loop systems. For example, the feedback coefficient can be selected as: K p,1 =1200,K d,1 =300,K p,2 =1,K d,2 =0.2. And the following expression can be obtained:
[0164]
[0165] in, Let x be the forward acceleration of the wheel's leg (virtual single wheel) at the target time. The desired distance between the base and the wheel leg (virtual single wheel) in the forward direction at the target time can be calculated, for example, based on the feedback rate. This represents the distance between the base and the wheel leg (virtual single wheel) in the forward direction at the current moment. The meanings of the other parameters are as described above.
[0166] Subsequently, the x-component (forward component) in the base operation matrix is removed and replaced by the linear acceleration of the left and right wheel legs. The acceleration of the equivalent virtual single wheel of the left and right wheel legs affects the balance, while the differential speed affects the yaw angle acceleration of the wheel leg (virtual single wheel). Specifically, the yaw angle acceleration satisfies the following dynamic equation:
[0167]
[0168] in, Let θ be the target's relative yaw acceleration. yaw,wheel,t+1Let θ be the target's relative yaw angle, and 0 represent the target's expected relative yaw rate at time t (i.e., the target's relative yaw rate) being 0. yaw,wheel,t The current relative yaw angle, Let K be the current relative yaw rate, where K is the yaw rate. p,3 K d,3 For example, it can be set according to actual needs; for example, K can be set. p,3 =100,K d,3 =100.
[0169] Furthermore, based on the structural relationship of the two-wheeled wheel legs, the following constraint equation can be obtained:
[0170]
[0171] in, The forward acceleration of the wheel leg (virtual single wheel) is... The forward acceleration of the left wheel's leg. This is the forward acceleration of the right wheel leg. R is the target's relative yaw acceleration. width The relative distance between the left wheel leg and the right wheel leg along the aforementioned y-direction (lateral direction).
[0172] Furthermore, by using the relationship between linear acceleration and angular acceleration, we can obtain expressions for the linear acceleration of the left and right wheel legs, where the meanings of each parameter are as described above:
[0173]
[0174] in, The forward acceleration of the left-hand leg is the target acceleration. The forward acceleration of the target's right wheel leg. Let the forward motion acceleration of the target leg (virtual single wheel) be the acceleration of the wheel. R is the target relative yaw angle acceleration of the wheel leg (virtual single wheel). width,t It represents the relative distance between the left wheel leg and the right wheel leg along the aforementioned y-direction (lateral direction) at the current moment.
[0175] Therefore, the forward acceleration of the left wheel leg target and the forward acceleration of the right wheel leg target can be calculated. With this setting, in addition to achieving the robot's balance control, it is also possible to control the relative distance between the left and right wheel legs in the direction of the robot's forward movement according to the actual terrain and movement conditions (for example, in the direction of forward movement, the left wheel leg is positioned in front of the right wheel leg).
[0176] However, it should be understood that the above is merely a specific example of calculating the forward acceleration of a target. The embodiments of this disclosure are not limited to the specific method of calculating the forward acceleration of the target.
[0177] Based on the above, in this application, the calculation of the forward motion acceleration of the wheel leg target is well realized through the expanded current forward motion information and target forward motion information. It also enables the left wheel leg and the right wheel leg to maintain a relative distance in the direction of the robot's forward motion while achieving motion control. This is beneficial for flexibly controlling the left and right wheel legs according to actual tasks or functional requirements. For example, the left and right wheel legs can be positioned at different positions in the direction of the robot's forward motion, which is conducive to realizing different work tasks of the robot (such as going up and down stairs).
[0178] In some embodiments, the process S105 of determining the target joint acceleration of each joint of the robot can be described in more detail, for example. Figure 8A An exemplary flowchart of the process S105 for determining the target joint acceleration of each joint of the robot according to an embodiment of the present disclosure is shown.
[0179] Reference Figure 8A First, in step S1051, the target motion acceleration of the robot is generated based on the lateral motion acceleration of the wheel-leg target and the forward motion acceleration of the wheel-leg target.
[0180] The target motion acceleration of the robot refers to the overall acceleration measure of the robot, which takes into account both its forward motion and its lateral motion.
[0181] For example, the lateral motion acceleration and forward motion acceleration of the wheel-leg target can be normalized based on preset weights, and the resulting acceleration vector or acceleration matrix can be used as the target motion acceleration. The embodiments of this disclosure are not limited by the specific method of generating the robot's target motion acceleration or by the specific composition and dimension of the robot's target motion acceleration.
[0182] Subsequently, in step S1052, based on the current lateral motion information, current forward motion information, and current joint motion information, an estimate of the robot's target motion acceleration is generated.
[0183] For example, based on the correspondence between the robot's joint motion process and its dynamic motion process, the robot's current lateral motion information, current forward motion information, and current joint motion information can be substituted into a preset equation to calculate and generate an estimate of the robot's target motion acceleration. Alternatively, other methods can be used to generate the robot's target motion acceleration estimate. The embodiments of this disclosure are not limited to the specific process of generating the target motion acceleration estimate.
[0184] It should be understood that the above steps S1051 and S1052 can be executed sequentially, or in reverse order, or in parallel. The embodiments of this disclosure are not limited to the specific execution order of steps S1051 and S1052.
[0185] After obtaining the target motion acceleration of the robot and the estimated target motion acceleration of the robot, in step S1053, the target joint acceleration of the robot is determined by using the joint control constraint function based on the target motion acceleration of the robot and the estimated target motion acceleration of the robot.
[0186] The joint control constraint function is used to characterize the constraint relationship between robot motion information and joint motion information. Specifically, it is used to limit the constraint conditions and constraint relationships that each joint of the robot needs to satisfy during the robot's motion process, so that the robot's physical motion information and robot joint motion information can be mapped to each other and the data obtained after mapping is within a reasonable range that satisfies physical motion constraints (such as contact constraints, friction constraints, etc.).
[0187] In some embodiments, the joint control constraint function may be formed based on the robot's dynamic equations and contact constraints, or it may be calculated and generated based on the kinematic equations using a preset algorithm. For example, the joint control constraint function may further include one or more of the following: joint equality constraint sub-functions, joint inequality constraint sub-functions, and joint threshold constraint sub-functions. Furthermore, the joint control constraint function may include parameters such as joint target acceleration parameters and joint target torque parameters used to achieve joint target control. It should be understood that the embodiments of this disclosure are not limited to the specific composition of the joint control constraint function or the specific method of generating the joint control constraint function.
[0188] In some embodiments, determining the target joint acceleration of the robot using a joint control constraint function includes, for example: first, generating an error function based on the target motion acceleration of the robot and an estimate of the target motion acceleration of the robot, wherein the value of the error function is related to the joint acceleration of the robot; then, based on the error function and the joint control constraint function, determining the joint acceleration that satisfies the joint control constraint function and minimizes the error function as the target joint acceleration.
[0189] However, it should be understood that the above is merely an exemplary method for determining the target joint acceleration using a joint control constraint function. The embodiments of this disclosure are not limited to any specific method for determining the target joint acceleration.
[0190] Based on the above, in this application, during the process of determining the target joint acceleration of each joint of the robot, the target motion acceleration of the robot is generated based on the target lateral motion acceleration and the target forward motion acceleration of the wheel and leg. Furthermore, an estimate of the target motion acceleration of the robot is generated based on the current lateral motion information, the current forward motion information, and the current joint motion information. Subsequently, using the joint control constraint function, the target joint acceleration of the robot is determined according to the target motion acceleration and its estimate. This ensures that the constraint relationship between the robot's motion information and the joint motion information is comprehensively considered during the determination of the target joint acceleration. Consequently, the target joint acceleration obtained from the robot's target motion acceleration can satisfy the robot's motion constraints while achieving motion control, thus enabling good and reasonable motion control of the robot and improving the reliability and robustness of the motion control.
[0191] In some embodiments, the target motion acceleration estimate of the robot is a function of the robot's joint accelerations. For example, the target motion acceleration estimate of the robot can be expressed by an equation for the joint accelerations, and the target motion acceleration estimate of the robot is associated with the numerical value of the joint accelerations.
[0192] For example, an expression for the robot's target motion acceleration can be generated by considering the relationship between the robot's overall motion process and the motion processes of its individual joints during that overall motion, using the robot's joint acceleration. Alternatively, the robot's target motion acceleration estimate can be expressed as a function of the robot's joint acceleration using a pre-defined algorithm.
[0193] When the target motion acceleration estimate of the robot is a function of the robot's joint acceleration, the process S1053 of determining the target joint acceleration of the robot using the joint control constraint function based on the robot's target motion acceleration and the target motion acceleration estimate can be described in more detail, for example. Figure 8B An exemplary flowchart of the process S1053 for determining the target joint acceleration of the robot according to an embodiment of the present disclosure is shown.
[0194] Reference Figure 8B First, in step S1053-1, an error function is generated based on the target motion acceleration of the robot and the estimated target motion acceleration of the robot. The value of the error function is related to the joint acceleration of the robot.
[0195] The error function is designed to characterize the difference between the target acceleration of the robot and the estimated target acceleration of the robot. The value of the error function characterizes the magnitude of the difference between the target acceleration of the robot and the estimated target acceleration of the robot.
[0196] For example, the difference between the target motion acceleration of the robot and the estimated value of the target motion acceleration can be directly used as the error function. Since the target motion acceleration of the robot is a function of the robot's joint acceleration, the error function generated therefrom is also a function of the robot's joint acceleration.
[0197] It should be understood that the above is only an exemplary method for generating the error function. Depending on actual needs, the robot's target acceleration and its estimated value can be substituted into a preset set of equations or a preset algorithm for calculation to generate the error function. The embodiments disclosed herein are not limited to the method of generating the error function or its specific expression.
[0198] After obtaining the error function, in step S1053-2, based on the error function and the joint control constraint function, the joint acceleration that satisfies the joint control constraint function and makes the error function reach its minimum value is determined as the target joint acceleration.
[0199] For example, the joint control constraint function may include parameters such as the robot's joint acceleration parameters, or it may also include parameters such as joint torque parameters associated with the joint acceleration parameters. As mentioned earlier, the error function is also a function of the joint acceleration. In this case, the error function can be minimized by adjusting the values of the robot's joint acceleration parameters and other parameters associated with them, while simultaneously ensuring that the value of the joint acceleration parameters meets the requirements of the joint control constraint function. This allows for the acquisition of a target joint acceleration that satisfies both the robot's lateral motion control requirements and its forward motion control requirements, while also conforming to the robot's kinematic equations and motion constraints (such as friction constraints, structural posture limit position constraints, etc.). This effectively avoids the problem of ineffective or failed control caused by simply projecting the robot's motion acceleration into the joint acceleration space, where the resulting joint acceleration significantly exceeds the motor control range or the obtained robot joint configuration posture clearly does not conform to the robot's motion state.
[0200] Based on the above, in this application, by setting the target motion acceleration estimate of the robot as a function of the robot's joint acceleration, the robot's motion control can be effectively correlated with the robot's joint motion control. Furthermore, by generating an error function and determining the joint acceleration that satisfies the joint control constraint function and minimizes the error function as the target joint acceleration, the actual requirements of the target control task and the dynamic process and physical constraints of the robot's motion are comprehensively considered during the calculation of the target joint acceleration. This ensures that the generated target joint acceleration not only effectively achieves the target control task (target lateral motion control and target forward motion control) but also satisfies the robot's motion characteristics and force constraints during the motion process. This avoids the problem of ineffective or failed control caused by the generated joint acceleration significantly exceeding the motor control range or the joint configuration posture significantly not conforming to the robot's motion state. This is beneficial for achieving high-precision and flexible and reasonable motion control of the robot.
[0201] In some embodiments, the joint control constraint function includes, for example, a joint equality constraint subfunction, a joint inequality constraint subfunction, and a joint threshold constraint subfunction.
[0202] The joint equality constraint sub-function refers to a function used to define the equality constraint relationship between the robot's motion information and joint motion information. This joint equality constraint sub-function can be formed, for example, based on the robot's dynamic motion equations and the contact constraint equations when the robot contacts the ground or environment. However, it should be understood that the embodiments of this disclosure are not limited to the specific formation method and composition of the joint equality constraint sub-function.
[0203] The joint inequality constraint subfunction refers to a function used to define the inequality constraint relationship between the robot's motion information and the joint motion information. This joint inequality constraint subfunction can be generated, for example, based on the dynamic constraints that the contact forces between the robot and the ground or surrounding environment at the contact point during the joint's movement must satisfy. However, it should be understood that the embodiments of this disclosure are not limited to the specific formation method and composition of this joint inequality constraint subfunction.
[0204] The joint threshold constraint subfunction refers to a function used to limit the extreme positions or extreme postures of each joint of the robot during its movement. For example, the joint threshold constraint subfunction may include a limitation on the extreme values (maximum and minimum values) of the torque of the joint. However, it should be understood that the embodiments of this disclosure are not limited to the specific formation and composition of the joint threshold constraint subfunction.
[0205] In this application, by setting the joint control constraint function to include joint equality constraint sub-function, joint inequality constraint sub-function, and joint threshold constraint sub-function, the set joint control constraint function can more comprehensively characterize the constraint relationship between robot motion information and joint motion information when determining the target joint acceleration of the robot. This is beneficial to improving the accuracy of the generated target joint acceleration and enabling a flexible and reliable control process for the robot.
[0206] In some embodiments, the process of setting the joint control constraint functions of the robot can be described in more detail, for example.
[0207] For example, with Figure 1 Taking the robot structure shown as an example, the wheel leg 210A of the robot 200A includes a left wheel leg 211A and a right wheel leg 212A. Each of the left wheel leg 211A and the right wheel leg 212A includes a single wheel. Each of the left wheel leg 211A and the right wheel leg 212A of the robot is also provided with two parallel legs connected to the central axis of the wheel and used to realize motion control of the wheel.
[0208] Reference Figure 1 The left wheel leg 211A includes, for example, a left wheel 2110A, and is further provided with a first left leg 2111A and a second left leg 2112A connected in parallel for controlling the left wheel leg; and the right wheel leg 212A includes, for example, a right wheel 2120A, and is further provided with a first right leg 2121A and a second right leg 2122A connected in parallel for controlling the right wheel leg.
[0209] At this point, in setting the joint control constraint function of the robot, firstly, by establishing the dynamic model of the robot, the constraint relationship between the acceleration required for each sub-task control (wheel and leg lateral motion control, wheel and leg forward motion control) and the actual input joint torque is established.
[0210] Furthermore, under the assumption of no sliding friction between the wheel and the ground, and only pure rolling friction, there exists a constraint that the acceleration of the contact point in the x-direction (forward direction) and z-direction (vertical direction) in the local coordinate system is 0. This is achieved by calculating the relative speeds v1 of the left and right wheel legs in the x-direction and z-direction in the local coordinate system to the generalized joint motion. Jacobian matrix J c Based on the acceleration constraints, we can obtain:
[0211]
[0212] Where a1 is the acceleration of the wheel's leg, v1 = [v x,l ,v z,l ,v x,r ,v z,r ], v x,l Let v be the velocity of the left wheel leg along the x-direction. z,l Let v be the velocity of the left wheel leg along the z-direction. x,r Let v be the velocity of the right wheel leg along the x-direction. z,r Let be the velocity of the right wheel leg along the z-direction, and q be the joint position of each joint of the robot. Let these be the joint velocities of the robot's joints. J represents the joint acceleration of each joint of the robot. c Let v1 be the velocity of the left and right wheel legs in the x and z directions relative to the generalized joint motion in the local coordinate system. The Jacobian matrix.
[0213] And it can calculate the generalized joint acceleration. Contact point acceleration bias:
[0214]
[0215] Among them, f a For acceleration, Contact is a parameter related to the contact process; the meanings of the other parameters are as described above.
[0216] Using a similar method, the closed-chain constraint equations for the parallel legs in the generalized open-chain coordinate system are denoted as:
[0217]
[0218] Where a2 is the acceleration of the parallel leg, v2 is the velocity of the parallel leg, and J λ
[0219] The velocity v2 of the parallel leg in the generalized open-chain coordinate system relative to the generalized joint motion velocity Jacobian matrix, Let these be the joint velocities of the robot's joints. Let be the joint acceleration of each joint of the robot.
[0220] Furthermore, the acceleration bias can also be calculated using the following formula, where Close represents the parameter associated with the closed-chain constraint of the parallel leg, and the meanings of the other parameters are as described above:
[0221]
[0222] Thus, the dynamic equations and contact constraint equations under no external force interference are obtained (18)-21):
[0223]
[0224] S = 0 19)
[0225]
[0226] The known quantities are M, C, G, S, and J. c J λ , Specifically, the mass matrix M can be quickly calculated using the composite rigid body algorithm CRBA based on the joint position q, and the centrifugal force and Coriolis force offset terms C can be calculated based on the joint position q and joint velocity. The Newton-Euler Iterative Algorithm (RNEA) is used for fast calculation. The gravity offset term G can also be calculated quickly using the RNEA based on the joint position q. A matrix S is chosen to distinguish between active and non-driven joints, denoted as S = diag(a1, a2, ..., a n ), where a i =1 indicates that it is a non-driven joint.
[0227] And among them, the variable is τ,F c ,F λ ,in, Let F be the joint acceleration, τ be the torque term corresponding to the joint, and F be the torque term. c For the generalized force at the contact point in the local coordinate system, specifically, F c =[f c,x,l ,f c,z,l ,f c,x,r ,f c,z,r ]∈R 4, where f c,x,l Let f be the generalized force exerted by the robot's left-hand leg in the x-direction. c,z,l Let f be the generalized force in the z-direction of the robot's left wheel leg. c,x,r Let f be the generalized force exerted by the robot's right wheel leg in the x-direction. c,z,r Let F be the generalized force exerted by the robot's right wheel leg in the z-direction. λ F is the closed-chain force exerted by the foreleg on the hind leg. λ =[f λ,x,l ,f λ,z,l ,f λ,x,r ,f λ,z,r ]∈R 4 , where f λ,x,l f is the force exerted by the front leg on the rear leg in the x-direction of the two parallel legs used for the left wheel leg. λ,z,l f is the force exerted by the front leg on the rear leg in the z-direction of the two parallel legs used for the left wheel leg. λ,x,r f is the force exerted by the front leg on the rear leg in the x-direction of the two parallel legs used for the right wheel leg. λ,z,r Let be the force exerted by the front leg on the rear leg in the z-direction of the two parallel legs used for the right wheel leg.
[0228] The above equations can be obtained using the complete dynamics method, and based on the friction cone constraint, the contact force F in the local system (tangential direction of the friction surface) can be obtained. c Constraints to be satisfied:
[0229] f c,x,l ∈[-μf c,z,l μf c,z,l ],f c,z,l ≥0 22)
[0230] f c,x,r ∈[-μf c,z,r μf c,z,r ],f c,z,r ≥0 23)
[0231] Among them, f c,x,l Let f be the generalized force exerted by the robot's left wheel leg in the x-direction, μ be the coefficient of friction in the current surrounding environment, and f be the force exerted by the left wheel leg. c,z,l Let f be the generalized force in the z-direction of the robot's right wheel leg. c,x,r Let f be the generalized force exerted by the robot's right wheel leg in the x-direction. c,z,r Let be the generalized force of the robot's right wheel leg in the z-direction.
[0232] And the following friction cone constraint matrix can be obtained:
[0233]
[0234] J f,l J is the friction constraint matrix corresponding to the contact point of the robot's left wheel. f,r Let μ be the friction constraint matrix corresponding to the contact point of the robot's right wheel, where μ is the friction coefficient in the current surrounding environment.
[0235] This yields the joint equality constraint sub-function, the joint inequality constraint sub-function, and the joint threshold constraint sub-function of the joint control constraint function.
[0236] The joint equality constraint sub-function includes:
[0237]
[0238] in, Let the joint acceleration of the robot be at the target time. F represents the current joint velocity of the robot. c,t+1 Let F be the generalized force at the contact point of the robot in the local coordinate system at the target time. λ,t+1 Let τ be the force between the two parallel legs at the target time. t+1 Let J be the joint torque of the robot at the target time. c,t J λ,t At the current moment, these are the generalized force Fc at the point of contact of the robot in the local coordinate system and the force F between the two parallel legs, respectively. λ The Jacobian matrix is generated based on the robot's current joint motion information, current lateral motion information, and current forward motion information; C t G t M t S is the number of parameters generated based on the current joint motion information of the robot; S is the number of parameters determined based on the joint configuration of the robot; I is the identity matrix, the dimension of which is determined according to the number of degrees of freedom of the robot; t is the current moment of the robot's motion; and t+1 is the target moment of the robot's motion.
[0239] The joint inequality constraint sub-function includes:
[0240]
[0241] Among them, J f,l J is the friction constraint matrix corresponding to the contact point of the robot's left wheel. f,r This is the friction constraint matrix corresponding to the contact point of the robot's right wheel. Specifically, this friction cone constraint matrix can be represented as:
[0242]
[0243] The joint threshold constraint sub-function includes:
[0244] τ t+1 ∈ [τ min , τ max 28)
[0245] In the above equation and inequality constraints, the variables F c,t+1 F λ,t+1 , τ t+1 are related to a certain extent. When the input torque is known, that is, τ t+11 is known and the inequality constraint does not exist, the least-squares solution of F c,t+1 F λ,t+1 can be obtained.
[0246]
[0247] It can be seen that although it belongs to a high-dimensional space, it actually has a one-to-one mapping relationship with the joint torque subspace with a dimension of k (k is much smaller than the dimension of this high-dimensional space). That is, due to the existence of the equation and inequality constraints, it actually belongs to the low-dimensional bounded manifold that satisfies the equation constraint in the high-dimensional space. By reasonably selecting the acceleration or force F c of this subspace, the τ value of the corresponding torque subspace can be obtained.
[0248] In addition, through the Jacobian matrix, the linear mapping relationship between the operational space acceleration and the generalized joint space acceleration can be defined. By finding the operational space acceleration consistent with the degrees of freedom of the low-dimensional manifold, the joint torque input that satisfies the dynamic constraints can be utilized. Furthermore, the control within the low-dimensional manifold of the operational space can be achieved (the new control requirements of this robot do not violate the equation and inequality constraints).
[0249] In addition, the selection of the operational space needs to ensure that the Jacobian matrix J task of the final total task satisfies rank(J task ) ≥ k (k is the dimension of the joint space). If rank(J task ) < k, it means that there must be an uncontrollable subspace, which will cause the dynamic system to diverge. When rank(J task ) > k, it means that there may be task requirements that violate the constraint conditions. When rank(J task ) = k, for example, the final criterion can be obtained.
[0250] Based on the above, under the condition of satisfying the above dynamic equations and friction constraints, the correspondence between the robot's operating space (where robot motion control is performed) and the robot's joint motion space (where each joint of the robot performs corresponding joint movements) can be determined. Thus, the robot's target motion acceleration, determined in the robot's operating space based on the target motion acceleration of the wheel and leg and the target lateral motion acceleration of the wheel and leg, can be converted to the robot's joint motion space through this correspondence. Similarly, the robot's target motion acceleration can also be represented by the robot's joint acceleration in the joint motion space.
[0251] Next, we will combine the aforementioned joint equality constraint sub-function 25), joint inequality constraint sub-function 26), and joint threshold constraint sub-function 28 to describe in more detail the process S105 for obtaining the target joint acceleration of the robot.
[0252] First, after obtaining the target motion acceleration of the robot, for example based on the dynamic equations and contact constraint equations as described above, the target motion acceleration estimate of the robot is determined, which has, for example, the following expression:
[0253]
[0254] in, J is the target motion acceleration estimate for the robot. t,i Let Jacobian matrix correspond to each joint of the robot. Let the joint acceleration of the robot be at the target time. This represents the current joint velocity of the robot.
[0255] Based on the estimate of the target motion acceleration of the robot and the target motion acceleration a of the robot t+1 This allows us to further obtain the robot's error function, fw, which has, for example, the following expression:
[0256]
[0257] For example, the error function and the aforementioned joint control constraint function can be combined, where the joint control constraint function includes, for example, formulas 25)-26) and 28), and the variable parameters can be adjusted. F c,t+1 F λ,t+1 , τ t+1 The meanings of each parameter are as shown above. Among them, parameter F c,t+1 F λ,t+1 , τ t+1 With parameters Related. When adjusting this parameter amount F c,t+1 F λ,t+1 , τ t+1 When the joint control constraint function is satisfied and the error function is minimized, the joint acceleration at this point is determined as the target joint acceleration.
[0258] By simultaneously solving the error function and the joint control constraint function, the system not only relies on the correlation between robot motion information and joint motion information to directly replace the target motion acceleration calculated in the robot's operating space with the joint space via the Jacobian matrix (since the joint space is usually defined as an unbounded space, while the operating space is a bounded space due to the constraints of the actual kinematic equations and the robot's own structure, such a simple replacement would result in the target joint acceleration in the mapped joint space, although it can meet the control requirements, significantly deviating from or violating the kinematic principles of normal robot motion and the robot's physical constraints), but also relies on the constraint relationship between the robot motion information and joint motion information provided by the joint control constraint function to ensure that the joint space acceleration obtained by replacing the robot's target motion acceleration with the joint space still meets the physical constraints and threshold conditions defined by the robot's kinematic model and contact constraint equations. This is beneficial for generating target joint accelerations with higher reliability and accuracy, and effectively avoids ineffective control.
[0259] Based on the above, in this application, by setting the robot with the joint equality constraint sub-function, joint inequality constraint sub-function, and joint threshold constraint sub-function as described above, it is possible to effectively realize the equality constraint relationship between the robot's motion information and joint motion information, the inequality constraint relationship between the robot's motion information and joint motion information, and the limit positions or limit postures of each joint of the robot during the robot's motion. This is beneficial to improving the accuracy and reliability of the generated target joint acceleration, and realizing the coordinated and flexible control of all joints of the robot.
[0260] In the actual process of solving the target joint acceleration, the joint equality constraint sub-function is a high-dimensional function, and the calculation process of simultaneously solving equality and inequality constraints is quite complex. Currently, when simultaneously solving the joint control constraint function (joint equality constraint sub-function, joint inequality constraint sub-function, joint threshold constraint sub-function) and the error function, the inequality constraints are usually ignored, and only a weighted system of equations is used for solving; or, when considering the inequality constraints, a weighted quadratic optimization method or a hierarchical calculation method is used to find the optimal solution. However, when the inequality constraint sub-function is ignored, the target joint acceleration obtained may exceed the actual physical constraints of the robot, thus making it impossible to achieve motion control of the robot. When the inequality constraint sub-function is considered, on the one hand, the current solution process has a large computational load and high computational difficulty, resulting in slow calculation speed and a lot of time consumption; on the other hand, the current calculation method is prone to calculation errors when solving complex high-dimensional problems, resulting in poor robustness and stability of the calculated results, which is not conducive to achieving high-precision control.
[0261] To achieve better high-precision and high-stability control, some embodiments also propose a method based on null-space hierarchical optimization to determine the target joint acceleration. Figure 9 An exemplary flowchart of process S1053-2 for determining the target joint acceleration based on null space hierarchical optimization according to an embodiment of the present disclosure is shown.
[0262] The following will refer to Figure 9 The process S1053-2, which is based on the aforementioned error function and joint control constraint function, to determine the joint acceleration that satisfies the joint control constraint function and minimizes the error function, is described in more detail.
[0263] like Figure 9 As shown, firstly, in step S1053-2-1, the joint equality constraint subfunction is solved in the null space of the joint equality constraint subfunction to obtain the general solution of the joint equality constraint subfunction.
[0264] The null space of the equality constraint subfunction refers to the null space of the coefficient matrix of the equality constraint subfunction. For example, if the equality constraint subfunction can be expressed in the form Ax = b, then the null space of the equality constraint subfunction is the space represented by the system of equations Ax = 0. Specifically, in this null space, by reducing the solution dimension of the equality constraint subfunction, the solution speed of the equality constraint subfunction can be significantly improved, while the dimension of the variables to be solved is greatly reduced.
[0265] After obtaining the general solution of the joint equality constraint sub-function, in step S1053-2-2, based on the general solution and the error function, the joint inequality constraint sub-function, and the joint threshold constraint sub-function, the general solution that satisfies the joint inequality constraint sub-function and the joint threshold constraint sub-function and makes the error function reach its minimum value is determined as the target general solution.
[0266] Subsequently, in step S1053-2-3, the target joint acceleration is generated based on the target general solution.
[0267] For example, the target joint acceleration can be generated based on the relationship between the general solution and the joint acceleration. Alternatively, the target joint acceleration of the robot can be obtained by processing the target general solution using a preset algorithm. It should be understood that the embodiments of this disclosure are not limited to the specific method of generating the target joint acceleration based on the target general solution.
[0268] For example, when the robot has wheeled legs (including a left wheeled leg and a right wheeled leg), and each of the left and right wheeled legs includes a wheel and a central axis connected to the wheel, as well as two parallel legs for implementing motion control of the wheel. Furthermore, if the robot's joint equality constraint subfunction has, for example, the form of Equation 25 above, then the joint equality constraint subfunction can be further written in the form "Ax = b":
[0269]
[0270] It should be understood that in this formula, the subscript t represents the value of the parameter at the current time, and the subscript t+1 represents the value of the parameter at the target time.
[0271] The specific composition of each parameter is as follows:
[0272]
[0273] Taking the general solution of equation 28), we obtain the expression for the general solution quantity as follows:
[0274]
[0275] Among them, A + eq,t For A eq,t The pseudo-inverse, A + eq,t B eq,t Characterizing the particular solution of the equation, which varies with B eq,t The value of N changes with the value of N. A,eq The null space representing "Ax = 0", and N A,eqλ represents the general solution obtained by solving the equation in the null space of "Ax = 0", where λ t+1 Let be the free variables at the target time.
[0276] Based on the above general solution expression, for example, the general solution expressions for generalized joint acceleration, joint torque, and ground reaction force can be calculated as follows:
[0277]
[0278] τ t+1 =A + eq,τ,t b eq,t +N A,eq,τ,t λ t+1 35)
[0279] F c,t+1 =A + eq,Fc,t b eq,t +N A,eq,Fc,t λ 36) where A + eq,q,t N A,eq,q,t In the general solution expression of equation 33), and The corresponding number of parameters, A + eq,τ,t N A,eq,τ,t In the general solution expression of equation 33), τ t+1 The corresponding number of parameters, A + eq,Fc,t N A,eq,Fc,t For equation 33), and F c,t+1 The corresponding number of parameters.
[0280] Based on the above, by projecting the joint equality constraint subfunction onto the null space and solving it, the general solution expressions for each parameter (34)-36) are obtained, thus completing the solution of the high-dimensional equality constraint subfunction. Furthermore, the joint threshold constraint subfunction and the joint inequality constraint subfunction can also be expressed as λ t+1 Linear relationship between variables:
[0281] N A,eq,τ,t λ t+1 +A + eq,τ,t b eq,t ≥τ min 37)
[0282] N A,eq,τ,t λ t+1 +A + eq,τ,t b eq,t ≤τ max 38)
[0283] D mu N A,eq,Fc,t λ+D mu A + eq,Fc,t b eq,t ≥0 39)
[0284] Among them, formulas 37)-39) correspond to the joint threshold constraint sub-function, and formula 39) corresponds to the joint inequality constraint sub-function. The meanings of the remaining parameters are as described above.
[0285] In this case, the error function can be decomposed based on different sub-task types in the robot's physical space, resulting in multiple sub-tasks, such as a wheel-leg lateral control sub-task layer, a wheel-leg forward control sub-task layer, etc. Furthermore, in different sub-task layers, the error function corresponding to that layer's task can be expressed as λ... t+1 Functions with variables:
[0286]
[0287] Here, 'i' represents the i-th subtask layer, corresponding to the i-th subtask space. The meanings of the remaining parameters are as described above.
[0288] Subsequently, by simultaneously solving the general solution of the joint equality constraint function, the aforementioned error function expression 40), joint threshold constraint sub-functions 37)-38), and joint inequality constraint sub-function 39), a general solution is generated that satisfies the joint inequality constraint sub-function 39) and joint threshold constraint sub-functions 37)-38) and minimizes the error function (e.g., with formula 40) in the sub-task space of each layer. Furthermore, when a higher priority task has already been solved for this layer, constraint equations that satisfy the higher priority task are added. Assuming there are m higher priority tasks (1 to m), the kth task (k∈[1,m]) is optimized. The result is denoted as b k Then, task layers with priority lower than the k-th task also need to satisfy the following constraint equations:
[0289]
[0290] Based on the overall constraint equations described above, each sub-task layer is solved layer by layer according to priority (each time a sub-task layer is solved, the corresponding additional constraint equations for that sub-task layer are obtained). This allows us to calculate the target variable value of the free variable λ that minimizes the error function and satisfies the joint inequality constraints, joint threshold constraints, and the additional constraint equations corresponding to each sub-task space. From this, the general solution N is obtained. A,eq λ t+1 The target general solution is then used to determine the value of the target joint acceleration of the task at this layer, for example, based on the correspondence between the general solution and the joint acceleration (Formula 30).
[0291] According to the above method, for example, when the number of joints k of the robot is 8, the time taken to perform a single target joint acceleration calculation is about 400us, while when the number of joints k is 3, the time taken to perform a single target joint acceleration calculation is about 300us. This significantly improves the calculation speed and reduces the computational load while ensuring the reliability and stability of the target joint acceleration calculation.
[0292] Compared with current methods for solving target joint acceleration, this application solves the problem in the null space of the joint equality constraint sub-function, which effectively reduces the problem's complexity and solution time. For example, it can transform a high-dimensional multivariate problem into a single-variable problem, and this single variable can have a dimension related to the number of robot sub-tasks, thereby significantly simplifying the solution difficulty and computational load of the joint equality constraint sub-function. Simultaneously, by performing a hierarchical solution based on the robot's work tasks during the solution process, multiple sub-task layers are determined based on the sub-tasks actually performed by the robot. Different priorities are assigned to each sub-task layer, and the error function is decomposed into error sub-functions corresponding to each robot sub-task layer. Based on the priority of the sub-task layer, the error function of each sub-task layer is solved one by one. This simplifies the computational workload when solving the error sub-functions corresponding to each sub-task layer. Furthermore, it ensures optimal control precision and accuracy (optimal solution of the error function) on high-priority sub-tasks according to actual task requirements. The value range obtained from the high-priority sub-task layers further constrains the solution process of the error sub-functions in low-priority sub-task layers, thereby enabling the obtained target joint acceleration to have extremely high precision control for important sub-tasks. Compared to the current process of solving the error function as a whole, this significantly improves the control performance and reliability of the obtained target joint acceleration in the control of important sub-tasks.
[0293] The following section will provide a more detailed explanation of the robot's control method, using a specific control scenario for a two-wheeled robot. Figure 10A A control flowchart for a two-wheeled robot according to an embodiment of the present disclosure is shown. Figure 10B A schematic diagram of a two-wheeled robot according to an embodiment of the present disclosure is shown. This two-wheeled robot, for example, has wheel legs 210A, a base portion 220A connected to the wheel legs 210A, and a tail member (attached member) 230A disposed on the rear side of the base portion opposite to the robot's forward direction. Furthermore, the wheel legs 210A, for example, have the aforementioned connection... Figure 1 The structure shown specifically includes a wheel leg 210A of the robot 200A, which may include a left wheel leg 211A and a right wheel leg 212A. Each of the left wheel leg 211A and the right wheel leg 212A includes a wheel and two parallel legs connected to the central axis of the wheel for motion control of the wheel.
[0294] At this time, controlling the robot includes, for example, controlling the robot's forward and lateral movements, controlling the three-dimensional attitude (pitch angle, roll angle, yaw angle) and base height (degrees of freedom in four dimensions) of the robot's base, and controlling the lateral position (coordinate position of the robot's tail component's center of mass relative to the y-direction) and vertical position (coordinate position of the robot's tail component's center of mass relative to the z-direction) of the robot's tail component's center of mass.
[0295] Reference Figure 10A The robot motion control process specifically includes the following steps: First, the robot's current motion information is collected. This current motion information includes: current joint motion information, current forward motion information, current lateral motion state, and current lateral motion information. The specific composition of the current motion information is as described above. Furthermore, in the case of a base and a tail component mounted on the base, the current motion information may also include, for example, the current motion information of the base (e.g., the three-dimensional coordinates and three-dimensional orientation of the base) and the current component motion information of the tail component. The current component motion information of the tail component includes, for example, the current longitudinal position of the tail component's center of mass and the current height position of the tail component's center of mass.
[0296] Subsequently, the robot's target motion information is obtained based on the planning information generated by the robot's planner or based on the user's input control information. This target motion information includes: target forward motion information and target lateral motion information, the specific composition of which is as described above. Furthermore, in the case of a base, it also includes, for example, the target motion information of the base and the target component motion information of the tail section.
[0297] After obtaining the robot's current motion information and target motion information, for example, the robot's motion controller generates the robot's target forward motion acceleration based on the current forward motion information and target forward motion information. For example, as described above, an inner loop controller can be set based on the virtual single wheel obtained by fitting the robot's left and right wheel legs to control the robot to be at the target motion speed and target motion position, while simultaneously ensuring that the base and the wheel leg are in a balanced state (for example, making the base located within the area of the wheel leg in the horizontal plane). An outer loop controller can also be set to control the relative position of the left and right wheel legs, thereby realizing obstacle avoidance or other specific functions. The robot's lateral motion controller generates the robot's target base motion acceleration based on the current lateral motion information and target lateral motion information (the specific process is as described in detail above). In the case of a base and a tail component, the target acceleration of the base can be generated similarly through the robot's base attitude controller, and the target motion acceleration of the tail component can be generated through the robot's tail component attitude controller. Furthermore, the lateral and forward motion controllers, the base attitude controller, and the tail component attitude controller are all, for example, PID controllers, and the control rate of each controller is set according to the actual control needs and task requirements.
[0298] Subsequently, for example, based on the target forward motion acceleration and the target lateral motion acceleration, the target joint acceleration of the robot is determined. Furthermore, in cases including the base and tail components, the target acceleration can also be determined by comprehensively utilizing the base motion acceleration and the target motion acceleration of the tail component. After obtaining the target motion acceleration, for example, the target motion acceleration, along with the robot's current joint motion information and the robot's current motion information, is input into the robot's joint motion controller. In this joint control motion controller, based on the current lateral motion information, current forward motion information, current joint motion information, and the current component operation information of the tail component, an estimate of the robot's target motion acceleration is generated. After obtaining the robot's target motion acceleration and the robot's target motion acceleration estimate, the target joint acceleration of the robot is determined using the joint control constraint function, based on the robot's target motion acceleration and the robot's target motion acceleration estimate. The joint control constraint function can be expressed, for example, as a set of equations as described above, wherein each parameter in the function is generated based on the current motion information of the robot's wheel legs, base, and tail components.
[0299] Furthermore, the process of generating the target joint motion acceleration can be as detailed in step S105 above, for example, by generating an error function, and based on the error function and the joint control constraint function, determining the joint acceleration that satisfies the joint control constraint function and minimizes the error function as the target joint acceleration. The process of simultaneously solving for the error function and the joint control constraint function can be as detailed in step S1053-2 above, for example, through a null space projection calculation method.
[0300] After obtaining the target joint motion acceleration of the robot, friction compensation can be performed on the target joint acceleration according to the actual control situation. Based on the compensated target joint acceleration, joint control current / voltage data for the robot's joint control motor can be generated. Then, for example, the joint control current / voltage data can be sent to the robot's joint motion control motor. The motor inputs the corresponding torque to control each joint, thereby enabling the robot to achieve the target motion balance state (forward and lateral motion), have the target base posture and height, and achieve the target tail component posture.
[0301] According to another aspect of this disclosure, a robot control system 300 is proposed. The robot includes wheeled legs, which include a left wheeled leg and a right wheeled leg, and each of the left wheeled leg and the right wheeled leg includes at least one joint.
[0302] Figure 11 An exemplary block diagram of a robot control system 300 according to an embodiment of the present disclosure is shown. (Refer to...) Figure 11 The system includes: a current motion information acquisition module 310, a target motion information acquisition module 320, a lateral motion acceleration determination module 330, a forward motion acceleration determination module 340, a target joint acceleration determination module 350, and a motion control module 360.
[0303] The current motion information acquisition module 310 is configured to execute Figure 2 In step S101, the robot's current joint motion information, current forward motion information, current lateral motion state, and current lateral motion information are obtained.
[0304] The current joint motion information is information characterizing the motion state of each joint of the robot at the current moment. The embodiments of this disclosure are not limited to the specific composition of this current joint motion information.
[0305] The current lateral motion state describes the lateral motion state of the robot in the lateral direction at the current moment. The embodiments of this disclosure are not limited to the specific composition of this current lateral motion state.
[0306] The current lateral motion information is information characterizing the robot's current motion state and self-balancing state in the lateral direction. The embodiments of this disclosure are not limited to the specific composition of this current lateral motion state.
[0307] The current forward motion information is information characterizing the robot's current motion state and self-balancing state in the forward direction. Embodiments of this disclosure are not limited to the specific composition of this current forward motion information.
[0308] The target motion information acquisition module 320 is configured to execute Figure 2 In step S102, the robot acquires the target forward motion information and the target lateral motion information.
[0309] The target forward motion information is information characterizing the robot's desired forward motion state and desired self-balancing state at the target time. The embodiments of this disclosure are not limited to the specific composition of the target forward motion information.
[0310] Depending on the actual situation, the target time can be, for example, the next moment after the robot's current moment, or it can be a moment after a preset time interval from the robot's current moment. The embodiments disclosed herein are not limited to the specific method of setting the target time.
[0311] The target lateral motion information is information characterizing the robot's desired lateral motion state and desired self-balancing state at the target time. The embodiments of this disclosure are not limited to the specific composition of the target lateral motion information.
[0312] The lateral motion acceleration determination module 330 is configured to execute Figure 2 In step S103, the target lateral motion acceleration of the wheel leg is determined based on the current lateral motion information, the current lateral motion state, and the target lateral motion information.
[0313] The target lateral motion acceleration refers to the acceleration measure required for a robot in its current lateral motion state (corresponding to the current lateral motion information) to achieve a target lateral motion state (corresponding to the target lateral motion information). Embodiments of this disclosure are not limited to the specific composition of this target lateral motion acceleration.
[0314] Forward motion acceleration determination module 340 is configured to perform Figure 2 In step S104, the forward motion acceleration of the wheel leg target is determined based on the current forward motion information and the target forward motion information.
[0315] The target forward motion acceleration of the wheel-legs refers to the acceleration measure required for the robot, currently in a forward motion state (corresponding to the current forward motion information), to achieve a target forward motion state (corresponding to the target forward motion information). Embodiments of this disclosure are not limited to the specific composition of this target forward motion acceleration.
[0316] The target joint acceleration determination module 350 is configured to execute Figure 2 In step S105, based on the determined lateral motion acceleration and forward motion acceleration of the wheel-leg target, the target joint acceleration of each joint of the robot is determined.
[0317] The robot motion control module 360 is configured to execute Figure 2 In step S106, motion control of the robot is performed based on the determined target joint accelerations of each joint.
[0318] Based on the above, this application obtains the robot's current joint motion information, current lateral motion information, current forward motion information, target lateral motion information, and target forward motion information. Based on the current lateral motion information and the target lateral motion information, the target lateral motion acceleration of the wheel leg is determined; based on the current forward motion information and the target forward motion information, the target forward motion acceleration of the wheel leg is determined. This determines the target joint acceleration of each joint of the robot. On the one hand, by increasing control over the lateral motion process of the robot's wheel leg, the robot's motion control degrees of freedom are increased, enabling the robot to perform various task functions through different lateral posture positions. On the other hand, it enables independent control of the robot's lateral and forward motion, increasing the flexibility and reliability of robot control and improving the robot's control accuracy.
[0319] In some embodiments, the current joint motion information includes the current joint angle and current joint angular velocity of each joint of the robot.
[0320] The current lateral motion information includes the current length of the robot's left wheel leg, the current velocity of the left wheel leg along its length, the current length of the right wheel leg, the current velocity of the right wheel leg along its length, and the current roll angle of the robot's wheel legs.
[0321] The target lateral motion information includes the target length of the robot's left wheel leg, the target velocity of the left wheel leg along its length direction, the target length of the right wheel leg, the target velocity of the right wheel leg along its length direction, and the target roll angle of the robot's wheel legs.
[0322] The current lateral movement state includes one of the following: left wheel leg support state, right wheel leg support state, left wheel leg switching to right wheel leg support state, and right wheel leg switching to left wheel leg support state. The current forward movement information includes at least a portion of the current forward movement position and current forward movement velocity of the wheel leg. The target forward movement information includes at least a portion of the target forward movement position and target forward movement velocity of the wheel leg.
[0323] The current forward motion information includes at least a portion of the current forward motion position and the current forward motion speed of the wheel leg; the target forward motion information includes at least a portion of the target forward motion position and the target forward motion speed of the wheel leg.
[0324] The meaning and physical significance of the relevant parameters have been described above and will not be repeated here.
[0325] Based on the above, this application further defines the specific composition of the current joint motion information, current lateral motion information, current lateral motion state, target lateral motion information, current forward motion information, and target forward motion information, so that the current joint motion information, current forward motion information, current lateral motion state, and current lateral motion information can more comprehensively and completely reflect the forward and lateral motion state of the robot's wheels and legs at the current moment, and the target lateral motion information and target forward motion information can more comprehensively and completely reflect the robot's expected forward and lateral motion state at the target moment, thereby facilitating better real-time motion control of the robot.
[0326] In some embodiments, the lateral motion acceleration determination module 330 includes: a target lateral motion state determination module 331, a target lateral motion control function determination module 332, and a target lateral motion acceleration generation module 333.
[0327] The target lateral motion state determination module 331 is configured to execute... Figure 4 In step S1031, the target lateral motion state of the robot is determined based on the current lateral motion state and the current lateral motion information.
[0328] The target lateral motion state refers to the lateral motion state that the robot should have at the target time. This target lateral motion state can be, for example, one of the following: left wheel leg support state, right wheel leg support state, left wheel leg switching to right wheel leg support state, or right wheel leg switching to left wheel leg support state.
[0329] The target lateral motion control function determination module 332 is configured to execute Figure 4intermediate steps
[0330] In process S1032, based on the target lateral motion state, a target lateral motion control function corresponding to the target lateral motion state is determined, wherein the target lateral motion control function is used to characterize the kinematic constraints of the robot in the target lateral motion state.
[0331] The target lateral motion control function refers to a function used to control the motion process of the robot in the target lateral motion state. It is used to characterize the kinematic constraints of the robot in the target lateral state, and may include, for example, multiple sub-functions. The embodiments of this disclosure are not limited to the specific composition of the target lateral motion control function.
[0332] The target lateral motion acceleration generation module 333 is configured to execute Figure 4 In step S1033, the target lateral motion acceleration of the robot is determined based on the target lateral motion control function, the current lateral motion information, and the target lateral motion information.
[0333] Based on the above, in this application, in determining the target lateral motion acceleration of the robot, the target lateral motion state of the robot is determined based on the current lateral motion state and the current lateral motion information. A target lateral motion control function is then determined based on this target lateral motion state. Finally, the lateral motion acceleration of the robot is determined jointly by the lateral motion control function, the current lateral motion information, and the target lateral motion information. This ensures that in controlling the lateral motion of the robot, in addition to considering the desired lateral position, velocity, and attitude, the lateral motion state that the robot should have at the target time, as well as the physical constraints and motion mode under this motion state, are also taken into account. Different control methods or algorithms are used to obtain the acceleration based on different target motion states, which is beneficial for achieving flexible and reliable control of the robot, and the control process has high accuracy.
[0334] In some embodiments, the robot control system is capable of performing the method as described above and has the functions as described above.
[0335] According to another aspect of this disclosure, a robot 200 is proposed. Figure 12 An exemplary block diagram of a robot 200 according to an embodiment of the present disclosure is shown. The robot 200 includes: wheeled legs 210, the wheeled legs including a left wheeled leg and a right wheeled leg, and each of the left wheeled leg and the right wheeled leg including at least one joint.
[0336] The robot also includes a controller 220, which is mounted on the robot and is capable of executing the robot control method described above and has the functions described above.
[0337] The controller may include, for example, a processing device. This processing device may include a microprocessor, a digital signal processor (“DSP”), an application-specific integrated circuit (“ASIC”), a field-programmable gate array (“FPGA”), a state machine, or other processing devices for processing electrical signals received from the sensor line. Such processing devices may include programmable electronic devices such as a PLC, a programmable interrupt controller (“PIC”), a programmable logic device (“PLD”), a programmable read-only memory (“PROM”), an electronically programmable read-only memory, etc.
[0338] Furthermore, depending on actual needs, the robot may also include, for example, a base connected to the wheeled legs, additional components (such as a tail section) disposed on the base, a bus, a memory, a sensor assembly, a communication module, and input / output devices. The embodiments disclosed herein are not limited to the specific components of the robot.
[0339] A bus can be a circuit that interconnects the various parts of the robot and transmits communication information (e.g., control messages or data) between the parts.
[0340] Sensor components can be used to perceive the physical world, and include, for example, cameras, infrared sensors, and ultrasonic sensors. Furthermore, sensor components can also include devices for measuring the robot's current operating and motion states, such as Hall effect sensors, laser position sensors, or strain sensors.
[0341] The communication module can be connected to a network, either wired or wirelessly, to facilitate communication with the physical world (e.g., a server). The communication module can be wireless and may include a wireless interface, such as IEEE 802.11, Bluetooth, a wireless local area network (“WLAN”) transceiver, or a radio interface for accessing cellular telephone networks (e.g., a transceiver / antenna for accessing CDMA, GSM, UMTS, or other mobile communication networks). In another example, the communication module can be wired and may include interfaces such as Ethernet, USB, or IEEE 1394.
[0342] Input / output devices can transmit commands or data input from, for example, a user or any other external device to one or more other parts of the robot, or can output commands or data received from one or more other parts of the robot to a user or other external device.
[0343] Multiple robots can form a robotic system to collaboratively complete a task. These robots are communicatively connected to a server and receive collaborative robot instructions from the server.
[0344] The program portion of a technology can be considered a "product" or "artifact" existing in the form of executable code and / or related data, and is involved in or implemented through a computer-readable medium. Tangible, permanent storage media can include memory or storage used by any computer, processor, or similar device or related module. For example, various semiconductor memories, tape drives, disk drives, or any similar device capable of providing storage functionality for software.
[0345] All software, or parts thereof, may sometimes communicate via networks, such as the Internet or other communication networks. Such communication can load software from one computer device or processor to another. Therefore, another medium capable of transmitting software elements can also be used as a physical connection between local devices, such as light waves, radio waves, electromagnetic waves, etc., propagated through cables, fiber optic cables, or air. Physical media used for carrier waves, such as cables, wireless connections, or fiber optic cables, can also be considered as media carrying software. In this context, unless limited to tangible "storage" media, the term "readable medium" for a computer or machine refers to the medium involved in the execution of any instructions by the processor.
[0346] This application uses specific terms to describe embodiments of the application. Terms such as "first / second embodiment," "an embodiment," and / or "some embodiments" refer to a particular feature, structure, or characteristic associated with at least one embodiment of the application. Therefore, it should be emphasized and noted that references to "an embodiment," "one embodiment," or "an alternative embodiment" in different locations throughout this specification do not necessarily refer to the same embodiment. Furthermore, certain features, structures, or characteristics in one or more embodiments of the application can be appropriately combined.
[0347] Furthermore, those skilled in the art will understand that aspects of this application can be described and illustrated through several patentable types or situations, including any new and useful combination of processes, machines, products, or substances, or any new and useful improvements thereof. Accordingly, aspects of this application can be implemented entirely by hardware, entirely by software (including firmware, resident software, microcode, etc.), or by a combination of hardware and software. All of the above hardware or software may be referred to as a “data block,” “module,” “engine,” “unit,” “component,” or “system.” Furthermore, aspects of this application may manifest as a computer product located on one or more computer-readable media, the product including computer-readable program code.
[0348] Unless otherwise defined, all terms used herein (including technical and scientific terms) shall have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. It should also be understood that terms such as those defined in a common dictionary shall be interpreted as having a meaning consistent with their meaning in the context of the relevant art, and not as having an idealized or highly formalized meaning, unless expressly defined herein.
[0349] The foregoing description is illustrative of the invention and should not be construed as limiting it. Although several exemplary embodiments of the invention have been described, those skilled in the art will readily understand that many modifications can be made to the exemplary embodiments without departing from the novel teachings and advantages of the invention. Therefore, all such modifications are intended to be included within the scope of the invention as defined in the claims. It should be understood that the foregoing description is illustrative of the invention and should not be construed as limiting it to the specific embodiments disclosed, and modifications to the disclosed embodiments and other embodiments are intended to be included within the scope of the appended claims. The invention is defined by the claims and their equivalents.
Claims
1. A robot control method, the robot comprising wheeled legs, the wheeled legs including a left wheeled leg and a right wheeled leg, each of the left wheeled leg and the right wheeled leg including at least one joint and a wheel capable of rolling on the ground during the movement of the robot, the method comprising: During the robot's movement, at least one joint of the left wheel leg and at least one joint of the right wheel leg are controlled to make the robot position and speed of the target forward movement. The method further includes: The robot acquires its current joint motion information, current forward motion information, current lateral motion state, and current lateral motion information, wherein the current forward motion information includes the current forward motion information of the wheel leg, the current lateral motion information includes the current lateral motion information of the wheel leg, and the current lateral motion state includes the current support state of the wheel leg; The robot acquires target forward motion information and target lateral motion information, wherein the target forward motion information includes the target forward motion information of the wheel leg, and the target lateral motion information includes the target lateral motion information of the wheel leg; Based on the current lateral motion information, the current lateral motion state, and the target lateral motion information, determine the target lateral motion acceleration of the wheel leg; Based on the current forward motion information and the target forward motion information, determine the forward motion acceleration of the wheel leg target; Based on the determined lateral motion acceleration and forward motion acceleration of the wheel-leg target, the target joint acceleration of each joint of the robot is determined; and Based on the determined target joint accelerations of each joint of the robot, motion control is performed on the robot.
2. The robot control method as described in claim 1, wherein, Both the left wheel leg and the right wheel leg are single-wheel leg configurations.
3. The robot control method as described in claim 1 or 2, wherein, The method further includes: Control at least one joint of the left wheel leg and at least one joint of the right wheel leg such that, during the movement of the robot, the robot is stably supported via one of the left wheel leg and the right wheel leg, and the other of the left wheel leg and the right wheel leg is raised to a target height.
4. The robot control method as described in claim 1, wherein, The current joint motion information includes the current joint angle and current joint angular velocity of each joint of the robot; The current lateral motion information includes the current length of the robot's left wheel leg, the current velocity of the left wheel leg along its length, the current length of the right wheel leg, the current velocity of the right wheel leg along its length, and the current roll angle of the robot's wheel legs; The target lateral motion information includes the target length of the robot's left wheel leg, the target velocity of the left wheel leg along the length direction of the left wheel leg, the target length of the right wheel leg, the target velocity of the right wheel leg along the length direction of the right wheel leg, and the target roll angle of the robot's wheel legs; The current lateral movement state includes one of the following: left wheel leg support state, right wheel leg support state, left wheel leg switching to right wheel leg support state, and right wheel leg switching to left wheel leg support state; The current forward motion information includes at least a portion of the current forward motion position of the wheel leg and the current forward motion speed of the wheel leg; The target forward motion information includes at least a portion of the target forward motion position of the wheel leg and the target forward motion speed of the wheel leg.
5. The robot control method according to claim 1, wherein, Based on the current lateral motion information, the current lateral motion state, and the target lateral motion information, the determination of the wheel leg target lateral motion acceleration includes: The target lateral motion state of the robot is determined based on the current lateral motion state and the current lateral motion information. Based on the target lateral motion state, a target lateral motion control function corresponding to the target lateral motion state is determined, wherein the target lateral motion control function is used to characterize the kinematic constraints of the robot in the target lateral motion state. Based on the target lateral motion control function, the current lateral motion information, and the target lateral motion information, the target lateral motion acceleration of the robot is determined.
6. The robot control method according to claim 1, wherein, Based on the determined lateral motion acceleration and forward motion acceleration of the wheel-leg target, the target joint acceleration of each joint of the robot is determined, including: The target motion acceleration of the robot is generated based on the lateral motion acceleration of the wheel-leg target and the forward motion acceleration of the wheel-leg target; Based on the current lateral motion information, current forward motion information, and current joint motion information, an estimate of the robot's target motion acceleration is generated. Using joint control constraint functions, the target joint acceleration of the robot is determined based on the target motion acceleration of the robot and the estimated target motion acceleration of the robot. The joint control constraint functions are used to characterize the constraint relationship between robot motion information and joint motion information.
7. The robot control method according to claim 6, wherein, The target motion acceleration estimate of the robot is a function of the joint acceleration of the robot; Specifically, the determination of the target joint acceleration of the robot using the joint control constraint function, based on the robot's target motion acceleration and the robot's target motion acceleration estimate, includes: An error function is generated based on the target motion acceleration of the robot and the estimated target motion acceleration of the robot. The value of the error function is related to the joint acceleration of the robot. Based on the error function and the joint control constraint function, the joint acceleration that satisfies the joint control constraint function and minimizes the error function is determined as the target joint acceleration.
8. The robot control method according to claim 5, wherein, The target lateral motion control function includes: The left wheel leg support constraint function corresponding to the left wheel leg support state, the right wheel leg support constraint function corresponding to the right wheel leg support state, and one of the support state switching functions corresponding to the left wheel leg switching to the right wheel leg support state and the right wheel leg switching to the left wheel leg support state.
9. The robot control method according to claim 7, wherein, The joint control constraint functions include: joint equality constraint subfunction, joint inequality constraint subfunction, and joint threshold constraint subfunction.
10. The robot control method according to claim 9, wherein, Based on the error function and the joint control constraint function, the joint acceleration that satisfies the joint control constraint function and minimizes the error function is determined as the target joint acceleration, including: Solve the joint equality constraint subfunction in the null space of the joint equality constraint subfunction to obtain the general solution of the joint equality constraint subfunction; Based on the general solution quantity and the error function, joint inequality constraint sub-function, and joint threshold constraint sub-function, the general solution quantity that satisfies the joint inequality constraint sub-function and the joint threshold constraint function and makes the error function reach its minimum value is determined as the target general solution quantity; The target joint acceleration is generated based on the target general solution.
11. The robot control method according to claim 9, wherein, Each of the left and right wheel legs includes two parallel legs connected to the central axis of that wheel and used to achieve motion control of that wheel. The joint equality constraint sub-functions include: in, Let the joint acceleration of the robot be at the target time. This represents the robot's current joint velocity. Let the generalized force at the contact point of the robot in the local coordinate system be the force at the target time. The force between the two parallel legs at the target moment. Let the joint torque of the robot be the target moment. , These are the generalized forces corresponding to the robot's contact points in the local coordinate system at the current moment. Force between the two parallel legs The Jacobian matrix is generated based on the robot's current joint motion information, current lateral motion information, and current forward motion information; , , S is the number of parameters generated based on the current joint motion information of the robot; S is the number of parameters determined based on the joint configuration of the robot; I is the identity matrix, the dimension of which is determined according to the number of degrees of freedom of the robot; t is the current moment of the robot's motion; and t+1 is the target moment of the robot's motion. The joint inequality constraint sub-function includes: in, Here is the friction constraint matrix corresponding to the contact point of the robot's left wheel. This is the friction constraint matrix corresponding to the contact point of the robot's right wheel; The joint threshold constraint sub-function includes: in, This is the lower limit threshold of the joint torque of the robot. This is the upper limit threshold for the joint torque of the robot.
12. A robot control system, the robot including wheeled legs, the wheeled legs including a left wheeled leg and a right wheeled leg, each of the left wheeled leg and the right wheeled leg including at least one joint and a wheel capable of rolling on the ground during the movement of the robot, the system comprising: The current motion information acquisition module is configured to acquire the robot's current joint motion information, current forward motion information, current lateral motion state, and current lateral motion information, wherein the current forward motion information includes the current forward motion information of the wheel leg, the current lateral motion information includes the current lateral motion information of the wheel leg, and the current lateral motion state includes the current support state of the wheel leg; The target motion information acquisition module is configured to acquire the target forward motion information and target lateral motion information of the robot, wherein the target forward motion information includes the target forward motion information of the wheel leg, and the target lateral motion information includes the target lateral motion information of the wheel leg; The lateral motion acceleration determination module is configured to determine the target lateral motion acceleration of the wheel leg based on the current lateral motion information, the current lateral motion state, and the target lateral motion information. A forward motion acceleration determination module is configured to determine the forward motion acceleration of the wheel leg target based on the current forward motion information and the target forward motion information; A target joint acceleration determination module is configured to determine the target joint acceleration of each joint of the robot based on the determined lateral motion acceleration and forward motion acceleration of the wheel-leg target; and A motion control module is configured to perform motion control on the robot based on the determined target joint accelerations of each joint of the robot.
13. The robot control system as described in claim 12, wherein, The current joint motion information includes the current joint angle and current joint angular velocity of each joint of the robot; The current lateral motion information includes the current length of the robot's left wheel leg, the current velocity of the left wheel leg along its length, the current length of the right wheel leg, the current velocity of the right wheel leg along its length, and the current roll angle of the robot's wheel legs; The target lateral motion information includes the target length of the robot's left wheel leg, the target velocity of the left wheel leg along the length direction of the left wheel leg, the target length of the right wheel leg, the target velocity of the right wheel leg along the length direction of the right wheel leg, and the target roll angle of the robot's wheel legs; The current lateral movement state includes one of the following: left wheel leg support state, right wheel leg support state, left wheel leg switching to right wheel leg support state, and right wheel leg switching to left wheel leg support state; The current forward motion information includes at least a portion of the current forward motion position of the wheel leg and the current forward motion speed of the wheel leg; The target forward motion information includes at least a portion of the target forward motion position of the wheel leg and the target forward motion speed of the wheel leg.
14. The robot control system according to claim 12, wherein, The lateral motion acceleration determination module includes: A target lateral motion state determination module is configured to determine the target lateral motion state of the robot based on the current lateral motion state and the current lateral motion information. The target lateral motion control function determination module is configured to determine the target lateral motion control function corresponding to the target lateral motion state based on the target lateral motion state, wherein the target lateral motion control function is used to characterize the kinematic constraints of the robot in the target lateral motion state. The target lateral motion acceleration generation module is configured to determine the target lateral motion acceleration of the robot based on the target lateral motion control function, the current lateral motion information, and the target lateral motion information.
15. A robot, the robot comprising: The wheel leg portion includes a left wheel leg and a right wheel leg, and each of the left wheel leg and the right wheel leg includes at least one joint and a wheel portion capable of rolling on the ground during the movement of the robot; A controller is disposed on the robot and is capable of performing the robot control method as described in any one of claims 1-11.