Balance control method and apparatus for wheel-legged robot, device and storage medium
By abstracting the wheel -legged robot into a multi -order inverter model, calculating and adjusting the deflection angle of the connecting rod solves the problem of poor flexibility and insufficient robustness in existing technologies, and achieved more flexible and stable balanced control controls Effect.
Patent Information
- Application Number
- PCT/CN2023/134493
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-07-14
- Filing Date
- 2023-11-27
- Publication Date
- 2025-01-23
AI Technical Summary
During the balance control process of existing wheel-leg robots, the flexibility of posture changes is poor, making it difficult to maintain balance under various disturbances, and the robustness of balance control needs to be further improved.
By abstracting the wheel -legged robot into a multi -order inverter model, calculate and adjust the deflection angle of multiple connecting rods to change the gesture of the robot. Specific methods include obtaining the status of the robot, establishing dynamic models, calculating the rotor torque, and rotating joints through slippery surface control to achieve balance.
The wheel-legged robot has improved posture richness during the balance adjustment process, can quickly adjust to a balanced state, and restore balance under the action of different disturbance forces, thereby improving the robustness of the balance control process.
Smart Images

Figure CN2023134493_23012025_PF_FP_ABST
Abstract
Description
Balance control method, device, equipment and storage medium for wheel-legged robot
[0001] This application claims priority to the Chinese patent application filed on July 14, 2023, with application number 202310876039.9 and invention name “Balance control method, device, equipment and storage medium for wheel-legged robot”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of artificial intelligence technology, and in particular to a balance control method, device, equipment and storage medium for a wheel-legged robot. Background Art
[0003] With the continuous development of robotics technology, a wheel-legged robot has emerged in which the moving wheels are connected to the leg mechanism through joints. This wheel-legged robot has the mobility advantages of both wheeled robots and legged robots.
[0004] In related technologies, in order to improve the balance ability of wheel-legged robots during movement, the leg mechanism and torso mechanism of the wheel-legged robot are regarded as a whole, the rotational torque of the joint motor between the moving wheel and the leg mechanism is calculated, and the angle between the moving wheel and the leg mechanism is changed by rotating the joint motor to maintain the balance ability of the wheel-legged robot.
[0005] However, the posture change flexibility of the wheel-legged robot in the balance control process in related technologies is poor, and it is difficult to maintain balance under various disturbances. The robustness of the balance control of the wheel-legged robot needs to be further improved.
[0006] Summary of the Invention
[0007] The present invention provides a method, device, equipment, and storage medium for balancing a wheel-legged robot. The technical solution is as follows:
[0008] According to one aspect of an embodiment of the present application, a balance control method for a wheel-legged robot is provided, the method being executed by a computer device. The wheel-legged robot comprises: a moving wheel, n connecting rods, and n revolute joints, wherein the moving wheel and a first connecting rod of the n connecting rods are connected via a first revolute joint of the n revolute joints, and the n connecting rods are connected in series via n-1 revolute joints other than the first revolute joint, where n is a positive integer greater than or equal to 2. The method comprises:
[0009] Acquire a state quantity of the wheel-legged robot at a first moment, where the state quantity at the first moment is used to represent a motion state of the wheel-legged robot at the first moment;
[0010] Determining dynamic model parameters based on the dynamic equation of the wheel-legged robot and the state quantity at the first moment, wherein the dynamic model parameters are used to define a mapping relationship between the angular acceleration at the first moment and the rotational torque at the second moment; the angular acceleration at the first moment includes the angular acceleration of the n connecting rods and the angular acceleration of the moving wheel; and the rotational torque at the second moment includes the rotational torque of the n revolute joints;
[0011] A sliding surface is established based on the state quantity at the first moment, and the state quantity of the wheel-legged robot gradually approaches a stable value on the sliding surface;
[0012] Calculating the rotational torques of the n rotational joints according to the sliding surface and the dynamic model parameters;
[0013] At the second moment, the n rotational joints are controlled according to the rotational torques of the n rotational joints.
[0014] According to one aspect of an embodiment of the present application, a balance control device for a wheel-legged robot is provided, the wheel-legged robot comprising: a moving wheel, n connecting rods, and n revolute joints, the moving wheel and a first connecting rod of the n connecting rods being connected via a first revolute joint of the n revolute joints, the n connecting rods being connected in series via n-1 revolute joints other than the first revolute joint, where n is a positive integer greater than or equal to 2; the device comprising:
[0015] a state acquisition module, configured to acquire a state quantity of the wheel-legged robot at a first moment, wherein the state quantity at the first moment is used to represent a motion state of the wheel-legged robot at the first moment;
[0016] a parameter determination module, configured to determine dynamic model parameters based on the dynamic equation of the wheel-legged robot and the state quantity at the first moment, wherein the dynamic model parameters are used to define a mapping relationship between the angular acceleration at the first moment and the rotational torque at the second moment; the angular acceleration at the first moment includes the angular acceleration of the n connecting rods and the angular acceleration of the moving wheel; and the rotational torque at the second moment includes the rotational torque of the n revolute joints;
[0017] a sliding surface establishing module, configured to establish a sliding surface according to the state quantity at the first moment, wherein the state quantity of the wheel-legged robot gradually approaches a stable value on the sliding surface;
[0018] a torque calculation module, configured to calculate the rotational torques of the n rotational joints based on the sliding surface and the dynamic model parameters;
[0019] The joint rotation module is used to control the n rotational joints according to the rotational torques of the n rotational joints at the second moment.
[0020] According to one aspect of an embodiment of the present application, a computer device is provided, which includes a processor and a memory, wherein a computer program is stored in the memory, and the computer program is loaded and executed by the processor to implement the above-mentioned balance control method of the wheel-legged robot.
[0021] According to one aspect of an embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored. The computer program is loaded and executed by a processor to implement the above-mentioned balance control method of the wheel-legged robot.
[0022] According to one aspect of an embodiment of the present application, a computer program product is provided, which includes a computer program, and the computer program is loaded and executed by a processor to implement the above-mentioned balance control method of the wheel-legged robot.
[0023] The technical solutions provided in the embodiments of the present application can bring the following beneficial effects:
[0024] To sum up, based on abstracting the wheel-legged robot into a multi-order inverted pendulum model, during the balance control process, the deflection angles of multiple links in the wheel-legged robot can be adjusted to change the posture of the wheel-legged robot; compared with the related technology that can only adjust the angle between the moving wheel and the leg link during the balance control process, this scheme makes the posture of multiple links in the wheel-legged robot variable during the balance adjustment process, greatly enriches the robot posture, helps to quickly adjust the robot to a balanced state, and also helps to improve the robot's ability to recover to a balanced state under different disturbance forces, thereby improving the robustness of the robot's balance control process. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] FIG1 is a schematic diagram of an implementation environment of a solution provided by an embodiment of the present application;
[0026] FIG2 is a schematic diagram of a quadruped wheel-legged robot provided by one embodiment of the present application;
[0027] FIG3 is a schematic diagram of a quadruped wheel-legged robot provided by one embodiment of the present application;
[0028] FIG4 is a schematic diagram of a quadruped wheel-legged robot in two-wheel mode provided by one embodiment of the present application;
[0029] FIG5 is a schematic diagram of a quadruped wheel-legged robot climbing stairs provided by one embodiment of the present application;
[0030] FIG6 is a schematic diagram of a planar motion of a robot climbing stairs provided by one embodiment of the present application;
[0031] FIG7 is a schematic diagram of an action sequence of a robot going up and down stairs provided by one embodiment of the present application;
[0032] FIG8 is a block diagram of a robot control system provided by one embodiment of the present application;
[0033] FIG9 is a schematic diagram of a second-order inverted pendulum provided by one embodiment of the present application;
[0034] FIG10 is a schematic diagram of an n-th order inverted pendulum provided by one embodiment of the present application;
[0035] FIG11 is a flow chart of a balance control method for a wheel-legged robot provided by one embodiment of the present application;
[0036] FIG12 is a schematic diagram of an equivalent process provided by an embodiment of the present application;
[0037] FIG13 is a schematic diagram of an inverted pendulum with center of mass correlation provided by an exemplary embodiment of the present application;
[0038] FIG14 is a simulation diagram of a two-wheel balancing control method provided by an exemplary embodiment of the present application;
[0039] FIG15 is a simulation diagram of a two-wheel balancing control method provided by another exemplary embodiment of the present application;
[0040] FIG16 is a block diagram of a balance control device for a wheel-legged robot provided by one embodiment of the present application;
[0041] FIG17 is a structural block diagram of a computer device provided in one embodiment of the present application. DETAILED DESCRIPTION
[0042] Artificial Intelligence (AI) is the theory, methods, techniques, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, to perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a comprehensive technology within computer science that seeks to understand the essence of intelligence and produce new intelligent machines that can respond in a manner similar to human intelligence. AI also involves studying the design principles and implementation methods of various intelligent machines, enabling them to possess the capabilities of perception, reasoning, and decision-making.
[0043] The technical solution of this application mainly relates to robotics technology in artificial intelligence technology, mainly to intelligent control of robots. A robot is a mechanical and electronic device that can imitate certain human skills by combining mechanical transmission and modern microelectronics technology. Robots are developed on the basis of electronic, mechanical and information technology. A robot does not necessarily have to look like a human. As long as it can independently complete the tasks and commands assigned to it by humans, it belongs to the robot family. A robot is an automated machine that has some intelligent capabilities similar to those of humans or biological organisms, such as perception, planning, movement and coordination. It is an automated machine with high flexibility. With the development of computer technology and artificial intelligence technology, robots have been greatly improved in terms of function and technical level. Mobile robots and robot vision and touch technologies are typical representatives.
[0044] In the technical solution provided in the embodiments of the present application, the execution entity of each step can be a computer device, which refers to an electronic device with data calculation, processing and storage capabilities.
[0045] Optionally, the computer device can be a personal computer (PC) device such as a desktop computer or a laptop computer for controlling the robot; or it can be a server for controlling the robot. The server can be an independent physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server that provides cloud computing services. The computer device and the robot can be connected through physical lines, networks, etc. For example, referring to Figure 1, the computer device 101 can calculate the rotational torque of the first rotational joint (equivalent to the ankle joint) connecting the moving wheel and the leg mechanism (corresponding to the first connecting rod) based on the current state of the robot 103, as well as the rotational torque of the other n-1 rotational joints that can be abstracted into an n-order inverted pendulum model with the first connecting rod and the moving wheel, and adjust the posture of the robot 103 through the rotational torque of the n rotational joints so that the robot 103 is in a balanced state.
[0046] Alternatively, the computer device may be the robot itself, meaning that the robot is the main body executing each step of the technical solution provided in the embodiments of this application. For example, referring to Figure 1, the computer device 101 may send the state quantity of the robot 103 at a first moment to the robot 103 via the network 102. The robot 103 calculates the rotational torque of n rotational joints based on the state quantity at the first moment, and uses the rotational torque of the n rotational joints to control the rotational motors of the n rotational joints to adjust the posture of the robot 103 so that the robot 103 maintains a balanced state.
[0047] The robot in the embodiments of the present application may refer to a wheel-legged robot, a leg-footed robot, etc. A wheel-legged robot refers to a robot with both a wheeled structure and leg-like capabilities, and a leg-footed robot refers to a robot with feet as its legs. The embodiments of the present application do not limit this.
[0048] In one example, the robot 103 may include at least one moving wheel, and for each of the at least one moving wheel, the moving wheel is connected to its corresponding leg mechanism via a first rotational joint.
[0049] The wheel-legged robot in the embodiment of the present application includes a moving wheel and at least two connecting rods, and the at least two connecting rods can be equivalent to the connecting rods in an n-order inverted pendulum model; that is, the wheel-legged robot includes a moving wheel and n connecting rods, and the n connecting rods are serially connected through n-1 rotational joints, and the first connecting rod in the n mechanisms is connected to the moving wheel through the first rotational joint.
[0050] The wheel-legged robot includes at least one leg mechanism, and any one of the at least one leg mechanism has a corresponding moving wheel. For example, leg mechanism 1 corresponds to moving wheel 1, and leg mechanism 1 is connected to moving wheel 1 through a first rotation joint 1.
[0051] Alternatively, at least one leg mechanism may be divided into an outer leg group and an inner leg group, the outer leg group including at least two leg mechanisms and the inner leg group including at least one leg mechanism.
[0052] Exemplarily, the robot in the embodiments of the present application is described by taking a wheel-legged robot as an example.
[0053] At least one leg mechanism is divided into: an outer leg mechanism and an inner leg mechanism; wherein, the outer leg mechanism includes: at least two leg mechanisms, and the inner leg mechanism may also include at least two leg mechanisms. The outer leg mechanism includes at least two leg mechanisms respectively located on both sides of the central axis (i.e., the sagittal plane) of the wheel-legged robot, and the inner leg mechanism includes at least two leg mechanisms respectively located on both sides of the central axis of the wheel-legged robot. The outer leg mechanism and the inner leg mechanism, that is, the rotation center of the hip joint corresponding to the outer leg and the inner leg mechanism and the rotation center of the hip joint corresponding to the inner leg mechanism are located in the same vertical plane.
[0054] Exemplarily, the wheel-legged robot is a quadruped wheel-legged robot, that is, the wheel-legged robot includes two outer leg mechanisms and two inner leg mechanisms; the wheel-legged robot is also a tripod wheel-legged robot, that is, the wheel-legged robot includes two outer leg mechanisms and one inner leg mechanism. The hip joint corresponding to at least one inner leg mechanism in the inner leg mechanism group is located between the hip joints corresponding to the two outer leg mechanisms in the outer leg mechanism group, and the rotation center of the hip joint corresponding to the outer leg mechanism and the rotation center of the hip joint corresponding to the inner leg mechanism are located in the same vertical plane. The wheel-legged robot can stand on a support surface by means of the outer leg mechanism or the inner leg mechanism, and can also glide on the support surface by means of the wheels on the outer leg mechanism or the wheels on the inner leg mechanism, and can also move (i.e., walk) on the support surface by controlling the outer leg mechanism group and the inner leg mechanism group to swing alternately.
[0055] For example, as shown in Figure 2, which shows a schematic structural diagram of a quadruped wheel-legged robot, the quadruped wheel-legged robot 200 may include: a trunk structure, leg mechanisms, and moving wheels.
[0056] The quadruped-legged robot 200 has four leg mechanisms: two outer leg mechanisms 201 (i.e., a first leg mechanism group) and two inner leg mechanisms 202 (i.e., a second leg mechanism group). The two inner leg mechanisms 202 are located between the two outer leg mechanisms 201, and the four leg mechanisms can be independently extended and retracted in the directions shown. A wheel 203 is installed at the end of each of the four leg mechanisms, and each wheel 203 can be driven independently. The quadruped-legged robot 200 can stand up by using the two inner leg mechanisms 202 or the two outer leg mechanisms 201 to be in a double-wheeled support state; the quadruped-legged robot 200 can stand up by using the two inner leg mechanisms 202 and the two outer leg mechanisms 201 at the same time to be in a quadruped-wheeled support state. This embodiment of the present application does not limit this.
[0057] Alternatively, the two inner leg mechanisms 202 may be implemented as a whole, that is, the quadruped wheel-legged robot 200 may be implemented as a tripod wheel-legged robot having only one inner leg mechanism.
[0058] The other end of each of the four leg mechanisms is connected to a hip joint 204. Each leg mechanism can rotate around its own hip joint 204 and maintain linkage. In this embodiment of the present application, the rotation centers of the hip joints 204 corresponding to the quadruped wheeled leg robot 200 are located in the same vertical plane 205, and the rotation planes of the leg mechanisms corresponding to the quadruped wheeled leg robot 200 are parallel. The hip joints 204 corresponding to the two inner leg mechanisms 202 are located between the hip joints 204 corresponding to the two outer leg mechanisms 201.
[0059] Optionally, the hip joints 204 corresponding to the quadruped wheeled legged robot 200 can be coaxial, that is, the rotation centers of the hip joints 204 are located on the same straight line. The hip joints 204 corresponding to the quadruped wheeled legged robot 200 can also be non-coaxial, such as the hip joints 204 corresponding to the two inner leg mechanisms 202 are coaxial, and the hip joints 204 corresponding to the two outer leg mechanisms 201 are coaxial, but the hip joints 204 corresponding to the two inner leg mechanisms 202 are not coaxial with the hip joints 204 corresponding to the two outer leg mechanisms 201. The hip joint 204 can serve as the revolute joint connected to the first connecting rod among the n revolute joints in the embodiment of the present application, with one end of the first connecting rod connected to the first revolute joint and the other end connected to the hip joint 204.
[0060] Optionally, the hip joints 204 corresponding to the two lateral leg mechanisms 201 share a drive motor, allowing the two lateral leg mechanisms 201 to move synchronously; and the hip joints 204 corresponding to the two medial leg mechanisms 202 share a drive motor, allowing the two medial leg mechanisms 202 to move synchronously. In one feasible example, each hip joint 204 corresponding to the quadruped wheeled leg robot 200 can also be independently driven by its own corresponding drive motor, which is not limited in this embodiment of the application.
[0061] The body of the quadruped wheeled-legged robot 200 may include a waist 206 , a trunk 207 , upper limbs 208 and a head 209 .
[0062] Each hip joint 204 of the quadruped wheeled-legged robot 200 is connected to the same end of the waist 206. The other end of the waist 206 is connected to one end of the trunk (trunk) 207. The waist 206 has two rotation centers: a pitch rotation center that enables the trunk 207 to pitch, and a roll rotation center that enables the trunk 207 to swing. The roll rotation center is designed to be connected in series with the pitch rotation center and is located above the pitch rotation center, connecting to the trunk 207.
[0063] For example, if the body 207 in FIG. 2 is rotated 90 degrees along the lateral rotation center, the robot will be transformed from FIG. 2 to the robot shown in FIG. 3 .
[0064] The other end of the torso 207 is connected to the upper limb (robotic arm link) 208 and the head 209. The upper limb 208 can be a multi-degree-of-freedom upper limb. In some embodiments, an end effector, such as a robotic gripper, a suction cup, etc., is deployed on the upper limb 208. Data acquisition equipment can be deployed in the head 209 to perceive the real environment, such as an image acquisition device, a video shooting device, an IMU (Inertial Measurement Unit), etc. Among them, the IMU can be placed at the geometric center of the torso 207, the center point of the hip joint (i.e., the rotation center of the hip joint), etc., which can be used to measure the actual acceleration, actual posture angular velocity, actual Euler angle, etc. of the torso 207.
[0065] In the technical solution provided in the embodiment of the present application, the moving wheels, leg mechanisms, hip joints, waist and torso mechanisms (including IMU) of the quadruped wheeled-legged robot 200 are necessary hardware for the control algorithm, and the rest are non-essential hardware.
[0066] Compared with bipedal wheeled-legged robots, quadrupedal wheeled-legged robots have a more stable structure and are more resistant to external impact disturbances. Compared with hexapod wheeled-legged robots, they have fewer redundant joints and lower design complexity. They can not only bear large loads, but also pass through narrow spaces and perform tasks on objects of different heights. Quadrupedal wheeled-legged robots have strong adaptability to the environment.
[0067] The balance control method for a wheel-legged robot provided in the embodiments of the present application is applicable to a variety of scenarios, such as balancing a wheel-legged robot while moving. The balance control method for a wheel-legged robot provided in the embodiments of the present application can flexibly control the rotation of multiple joints of the wheel-legged robot during the balance control process, enriching the robot's posture during the balance control process and helping to quickly control the robot to a balanced state.
[0068] When moving on level ground, the robot can maintain the four-wheel motion mode shown in Figure 2, or it can adopt the two-wheel dynamic and smooth motion mode shown in Figure 4 by rotating the center of rotation of the hip joint. In four-wheel motion mode, the robot remains in a stable state (does not fall over), making it easier for the upper limbs to follow commands and perform certain tasks. However, when moving on level ground, switching from four-wheel motion mode to two-wheel motion mode can reduce the robot's footprint and match that of a bipedal robot. When moving on uneven ground, such as ascending stairs or crossing thresholds, the robot can dynamically navigate obstacles using the alternating two-wheel motion mode shown in Figure 5.
[0069] In some embodiments, referring to FIG5 , when a wheeled-legged robot 501 needs to climb stairs, it can first construct an objective function corresponding to the stair climbing task to be performed, and then, based on the joint torque information of the robot 501 when the value of the objective function is minimized, control the outer leg mechanism group 502 (i.e., the first leg mechanism group) and the inner leg mechanism group 503 (i.e., the second leg mechanism group) of the robot 501 to alternately swing to perform the stair climbing task. For example, the outer leg mechanism group 502 is first used as the supporting leg mechanism group and the inner leg mechanism group 503 is used as the swinging leg mechanism group, so that the robot 501 climbs the first step. Then, the inner leg mechanism group 503 is used as the supporting leg mechanism group and the outer leg mechanism group 502 is used as the swinging leg mechanism group, so that the robot 501 climbs the second step. The outer leg mechanism group 502 and the inner leg mechanism group 503 alternately swing in sequence to complete the stair climbing task.
[0070] FIG6 is a schematic diagram of a planar motion of a robot climbing stairs provided by an exemplary embodiment of the present application. The left leg mechanism and the right leg mechanism of the robot in FIG6 completely overlap, and therefore, the leg mechanisms respectively connected to the two wheels of the robot in FIG6 represent the first leg mechanism and the second leg mechanism of the robot. Taking into account the specific form of the process of climbing stairs, the robot shown in FIG6 will not contact the same support surface at the same time when the wheels touch the ground, so as to conform to the actual motion state of the stairs. The motion phases of the robot during the entire motion process can also be divided into a single-leg support phase (Single Support Phase, SSP) and a double-leg support phase (Double Support Phase, DSP).
[0071] The first state shown in Figure 6 is the single-leg support phase. The robot's first leg mechanism 601 is in contact with the support surface, while the second leg mechanism 602 is not. The first leg mechanism 601 uses the wheels and the joints of the body to coordinate control to maintain the robot's balance. In the first phase, the robot swings the second leg mechanism 602, gradually lifting itself from its initial vertical downward gravitational orientation until it rests on the upper step, entering the second state, the double-leg support phase. During the first phase, the first leg mechanism 601 functions as the supporting wheel leg, while the second leg mechanism 602 functions as the swinging wheel leg. In the second phase, the robot maintains two contact points between the wheels and the support surface within the same plane. During this process, the robot adjusts the angles of the various joints of the body. While maintaining the contact points of the two wheels with the support surface unchanged, the projection of the robot's center of mass on the support surface gradually shifts from near the center of the rear wheels on the next step to near the center of the front wheels on the previous step, entering the third state, the double-leg support phase. In the third phase, the robot lifts its first leg mechanism 601 from the lower step and uses its second leg mechanism 602 to maintain balance until the first and second leg mechanisms 601 and 602 are vertically aligned, entering the fourth state, the single-leg support phase. During the third phase, the second leg mechanism 602 functions as a supporting wheel leg, while the first leg mechanism 601 functions as a swinging wheel leg.
[0072] As the robot ascends another step, the supporting leg mechanism and the swinging leg mechanism interchange. During the cyclical stair-ascending motion, the supporting leg mechanism and the swinging leg mechanism undergo this cyclical interchange. Similarly, the stair-descending task follows the same phases as the stair-ascending task, except that the movement directions of the leg mechanisms are opposite to those in the stair-ascending task. Therefore, the stair-descending task will not be further described here. The specific process can be referenced in the schematic diagram of the robot's stair-ascending motion sequence shown in Figure 7, and will not be described in detail.
[0073] Please refer to Figure 8, which shows a block diagram of a robot control system provided by one embodiment of the present application. The robot body can be seen in Figure 2. The four moving wheels of the robot are independently driven by four rotary motors, and the lengths of the four moving legs are independently driven by four linear motors. Typically, the linear motors of the two outer moving legs have the same drive mode, and the linear motors of the two inner moving legs have the same drive mode.
[0074] Optionally, the lengths of the two outer moving legs are equal, and the lengths of the two inner moving legs are equal. The lengths of the two outer moving legs change at the same speed, and the lengths of the two inner moving legs change at the same speed.
[0075] The two outer moving legs are driven by the same rotary motor, which is used to adjust the angle between the outer moving legs and the line L1 perpendicular to the contact surface, that is, the angles between the two outer moving legs and the line L1 are equal. The two inner moving legs are driven by the same rotary motor, which is used to adjust the angle between the inner moving legs and L1, that is, the angles between the two inner moving legs and the line L1 are equal.
[0076] In addition, each joint of the trunk mechanism of the wheel-legged robot is respectively provided with a rotary motor, and the rotation of each joint can be actively driven by the rotary motor.
[0077] For all the rotating motors mentioned above, the rotating motors can receive rotation angle instructions, rotation speed instructions, rotation torque instructions, etc.; among them, the rotation angle instruction is used to indicate the rotation angle of the rotating motor, the rotation speed instruction is used to indicate the rotation speed and rotation direction of the rotating motor, and the rotation torque is used to indicate the torque that needs to be achieved during the rotation process of the rotating motor.
[0078] After the rotating motor receives any one of the above-mentioned rotation angle instruction, rotation speed instruction, and rotation torque instruction, the bottom driving board of the rotating motor will drive the motor to rotate according to the received instruction signal, thereby driving each joint to move.
[0079] For all the linear motors mentioned above, the linear motors can receive linear movement position instructions, linear movement speed instructions, driving force instructions, etc. The underlying driving board of the linear motor will drive the motor to move linearly according to the received instruction signal, thereby driving the leg mechanism to move telescopically.
[0080] The rotation and movement of the rotary and linear motors change the robot's posture and position in three-dimensional space, enabling balance control of the wheel-legged robot. Rapidly changing joint angle commands can also control highly dynamic changes in the robot's posture, altering its contact with the environment.
[0081] Since the posture and state (such as motion state) of the wheel-legged robot are different at different times, it is necessary to collect the posture information and motion state information of the wheel-legged robot through sensors installed on the wheel-legged robot in order to generate command signals and realize the balance control and motion state of the wheel-legged robot.
[0082] Optionally, the status of the wheel-legged robot can be acquired by different sensors installed on the wheel-legged robot body. The sensor types include at least one of the following:
[0083] The IMU sensor is used to determine the posture of the wheel-legged robot, including the position information and posture information of the wheel-legged robot.
[0084] The motor encoder is used to determine the rotation speed of each joint of the wheel-legged robot in the current state, the position information related to movement, and the speed information of rotation and movement.
[0085] The force / torque sensor is used to determine the magnitude of the force, as well as the magnitude and direction of the torque, at the joint where the force / torque sensor is located at the current moment.
[0086] Tactile sensors are used to determine the contact position between the moving wheels of the wheel-legged robot and the contact surface, the pressure on the body surface, the inside of the hand, the fingertips and other body parts, and the changing characteristics of the pressure over a period of time.
[0087] Visual sensors (such as cameras and infrared sensors) are used to identify obstacles that appear in the field of view of the wheel-legged robot, and are also used to determine the position information of the center of mass of the wheel-legged robot and the speed information corresponding to the center of mass of the wheel-legged robot.
[0088] Optionally, the control system of the wheel-legged robot includes the following control modules:
[0089] 1. The State Estimation module is used to fuse the various posture and state information obtained by the wheel-legged robot. For example, the current posture of the wheel-legged robot obtained by the IMU sensor, the mileage information obtained by the mobile wheel rotation, and the visual positioning information can be integrated to obtain the position of the wheel-legged robot in the world coordinate system; the information obtained by the force / torque sensor and the tactile sensor can be integrated to obtain the contact between the robot and the external environment; the current posture of the wheel-legged robot obtained by the IMU sensor and the angle information of each motor joint encoder are integrated, and combined with the wheel-legged robot's own model parameters, the center of mass position of the wheel-legged robot can be estimated. This integrated state information of the wheel-legged robot will be used as feedback for the wheel-legged robot's motion generation, planning, and control.
[0090] 2. The Motion Generation module is used to generate motion strategies based on the working mode the wheel-legged robot is in when completing an action. The robot's working modes include, but are not limited to, four-wheel motion mode, two-wheel motion mode, four-wheel to two-wheel conversion mode, stair climbing mode, four-wheel active suspension mode (four-wheel active suspension mode refers to a mode in which the robot relies on the four wheels to adjust the upper body posture to maintain a relatively stable upper body posture when the contact surface is uneven during four-wheel driving), and folding mode. Given the complexity of the upper body, which can be used to complete a variety of tasks, the robot can include many more motion modes, which are not listed here.
[0091] In different modes, the way of generating actions is different. In these modes, some common basic technologies and algorithm modules will be called, including but not limited to: model-free controller, model-based controller, etc., model-based controllers such as: LQR (Linear Quadratic Regulator, linear quadratic regulator), MPC (Model Predictive Control, model predictive controller), adaptive controller, robust controller, etc. Optionally, the robust controller in the embodiment of the present application is implemented based on sliding mode control, and the robust controller can also be called a sliding mode controller.
[0092] For example, when a wheel-legged robot in two-wheel mode needs to control the balance of its mobile wheels, a model-free controller called PID (Proportional Integral Derivative Control) can be used to generate reference trajectories for the wheels and the robot's center of mass. Specifically, this method involves invoking one or more of the following: a model-free controller, a model-based controller (such as LQR or MPC), an adaptive controller, or a robust controller.
[0093] For example, in the two-wheel control stage when the wheel-legged robot is in the four-wheel-to-two-wheel mode, model-free controllers, model-based controllers (LQR, MPC, etc.), adaptive controllers, and robust controllers can also be used to control the balance of the moving wheels.
[0094] For another example, when the wheel-legged robot is in four-wheel mode, if the leg mechanism of the wheel-legged robot extending forward and the leg mechanism extending backward are made equivalent, an equivalent leg mechanism is obtained, and the equivalent moving legs and trunk mechanism are composed of a dynamic system described by an nth-order inverted pendulum, the control trajectory obtained in this way can maintain the balance of the robot in the four-wheel state. In this way, the wheel-legged robot can maintain the relative stability of the wheel-legged robot body when the contact surface is uneven, potholes or obstacles appear. For example, when the wheel-legged robot is in four-wheel active suspension mode, the above module can also be used to control the relative stability of the wheel-legged robot body.
[0095] The input to the motion generation module is a series of task information for the wheeled-legged robot. Task types include, but are not limited to, center-of-mass tasks, support leg tasks, swing leg tasks, and waist tasks. Similarly, given the complexity of the wheeled-legged robot's upper body, which can independently perform a variety of actions and tasks, there are many more types of task information, which we will not list here.
[0096] For example, these tasks can also serve as input to the Whole Body Controller (WBC) (also known as the Whole Body Dynamics Controller). In the WBC, the wheel-legged robot is modeled and calibrated in detail, and the dynamic model and external force conditions of the wheel-legged robot are used as optimization constraints. Through the optimization process, the target joint angle command, target joint angular velocity command, target joint torque command, etc. of the target shutdown of at least one rotational joint of the wheel-legged robot are calculated. Ultimately, the WBC sends the above-determined target joint angle command, target joint angular velocity command, target joint torque command, etc. to the drivers of each joint of the robot, thereby completing the control loop of the wheel-legged robot.
[0097] The balance control method of the wheel-legged robot provided in this application is mainly completed by the robust controller in the control system of Figure 8. Optionally, the balance control method is jointly completed by the robust controller and the whole-body motion control module. For the specific content of this process, please refer to the examples below.
[0098] Before introducing the specific steps of the balance control method provided by this application, we first introduce the method for establishing the dynamic model corresponding to the balance control method provided by this application. In order to facilitate understanding the principle of the nth-order inverted pendulum model involved in this application, we first introduce the second-order inverted pendulum model, which is easier to understand.
[0099] Please refer to FIG9 , which shows a schematic diagram of a second-order inverted pendulum provided in one embodiment of the present application.
[0100] To implement a balance control method for a wheel-legged robot, it is necessary to perform dynamic modeling on the robot and obtain a dynamic model of the wheel-legged robot during balance control. For clarity, brevity, and ease of understanding, we begin by assuming that at least one leg mechanism of the wheel-legged robot is of equal length, the angle between at least one leg mechanism and the ground is equal, and the rotation speed and position of each moving wheel are identical. The details are as follows:
[0101] A world coordinate system is established with the wheel-legged robot's forward direction as the positive x-axis, the rightward direction as the positive y-axis, and the upward direction perpendicular to the contact surface as the positive z-axis. When observing the wheel-legged robot from the y-axis, at least one leg mechanism of the wheel-legged robot will be observed to overlap. This at least one leg mechanism can be an outer leg mechanism of the wheel-legged robot or all leg mechanisms of the wheel-legged robot.
[0102] For example, the lengths of the four leg mechanisms of the wheel-legged robot change synchronously, and the angles between the four leg mechanisms and the wheel-legged robot base are synchronized. When viewed from the direction corresponding to the y-axis, the four leg mechanisms overlap, and the four moving wheels also overlap. In this case, an abstract two-dimensional model of the wheel-legged robot on the yoz plane of the world coordinate system is shown in Figure 9. This two-dimensional model is a second-order inverted pendulum model, which includes: moving wheels, link B (corresponding to at least one moving leg of the wheel-legged robot), and link P (corresponding to the torso mechanism of the wheel-legged robot).
[0103] As shown in Figure 9, in the two-dimensional model, the direction in which the moving wheel rotates to the left of the contact surface is taken as the positive direction, the travel distance is x, and the angle of rotation of the moving wheel relative to the world coordinate system is defined as The positive direction of the moving wheel rotation angle is defined as counterclockwise. The angle α, which is the rotation angle of the link 910 (link B) formed by the four leg mechanisms, is defined as α relative to the world coordinate system, with the counterclockwise direction being positive. The angle β, which is the rotation angle of the link 930 (link P) corresponding to the torso mechanism, is defined as β relative to the world coordinate system, with the counterclockwise direction being the positive direction of the moving wheel rotation angle.
[0104] definition They are The time derivatives of α and β; Indicates the rotation speed of the moving wheel (also called the angle of the moving wheel), represents the angular velocity of the leg mechanism, Represents the angular velocity of the torso mechanism; definition They are The second-order derivatives of α and β with respect to time; represents the angular acceleration of the moving wheel, represents the angular acceleration of the leg mechanism, represents the angular acceleration of the torso mechanism.
[0105] The rotation angle of the moving wheel relative to the world coordinate system is driven by the joint motor on the first rotational joint (equivalent to 920 in Figure 9). The rotational torque of the first rotational joint is represented by τ1, and the clockwise direction is regarded as the positive direction of the rotational torque of the first rotational joint.
[0106] The rotation angle of the torso mechanism relative to the world coordinate system is driven by the joint motor of the second rotational joint (equivalent to 940 in Figure 9). The rotational torque of the second rotational joint is represented by τ2, and the counterclockwise direction is regarded as the positive direction of the rotational torque of the second rotational joint.
[0107] The masses of the moving wheel, connecting rod B (equivalent to at least one overlapping leg mechanism), and connecting rod P (equivalent to the trunk mechanism) are expressed as mW , m B , m P The moment of inertia of the moving wheel, connecting rod B, and connecting rod P are expressed as: J W , J B , J P The radius of the moving wheel is represented by r, and the length of the connecting rod B is represented by L. B The length of the line from the intersection of connecting rod B and the moving wheel to the geometric center of connecting rod B is represented by l B The length of the line from the intersection of connecting rod B and the wheel to the geometric center of connecting rod P is represented by l P express.
[0108] (1) Based on the definition of the above physical quantities, the total kinetic energy T of the moving wheel is derived respectively. W , the total kinetic energy T of connecting rod B B and the total kinetic energy T of the connecting rod P P The total kinetic energy T of the wheel-legged robot is obtained by the expression of W , the total kinetic energy T of connecting rod B B and the total kinetic energy T of the connecting rod P P The calculation of kinetic energy includes both translational kinetic energy and rotational kinetic energy. T=T W +T B +T P
[0109] (2) Calculate the total kinetic energy T of the system for each degree of freedom in generalized coordinates And the partial derivatives of the derivatives of each degree of freedom are calculated respectively, and the results of the partial derivatives of the derivatives of each degree of freedom are derived with respect to time respectively. The specific process is as follows:
[0110] The total kinetic energy T of the system is proportional to the angular velocity of the moving wheel The partial derivative of Expressed as:
[0111] Partial derivatives Derivative with respect to time Expressed as:
[0112] The total kinetic energy T of the system is proportional to the angular velocity of the leg mechanism The partial derivative of Expressed as:
[0113] Partial derivatives Derivative with respect to time Expressed as:
[0114] The total kinetic energy T of the system is proportional to the angular velocity of the trunk mechanism The partial derivative of Expressed as:
[0115] Partial derivatives The time derivative is expressed as:
[0116] The total kinetic energy T of the system is proportional to the deflection angle of the moving wheel The partial derivative of Expressed as:
[0117] Partial derivative of the total kinetic energy T of the system with respect to the deflection angle α of the leg mechanism Expressed as:
[0118] Partial derivative of the total kinetic energy T of the system with respect to the deflection angle β of the trunk mechanism Expressed as:
[0119] (3) Calculate the total potential energy U of the system: U = m B gl B cosα+m P g(L B cosα+l P cosβ)
[0120] It should be noted that in the above formula, the plane where the moving wheel is located is regarded as the zero potential energy surface, that is, the potential energy of the moving wheel is considered to be 0, so the potential energy of the moving wheel does not appear in the formula of the above system total potential energy U. Of course, other potential energy surfaces can also be selected, which will not affect the implementation of the balance control method. This application does not limit the potential energy surface used in the process of calculating the total potential energy of the system.
[0121] (4) Calculate the total potential energy U of the system and take the partial derivative of each degree of freedom in the generalized coordinates:
[0122] The total potential energy U of the system is proportional to the deflection angle of the moving wheel The partial derivative of Expressed as:
[0123] Partial derivative of the system's total potential energy U with respect to the deflection angle α of the leg mechanism Expressed as:
[0124] Partial derivative of the total potential energy U of the system with respect to the deflection angle β of the trunk mechanism Expressed as:
[0125] (5) Using the above formulas, based on the Euler-Lagrange equation, the dynamic equation of the wheel-legged robot under the second-order inverted pendulum model can be derived: m αα =(m B l B 2 +J B +m P L B 2 +J P ) m αβ =m P L B l P cosαcosβ+m P L B l P sinαsinβ+J P m ββ =(m P l P 2 +J P ) g α =-(m B gl B +m P gL B )sinα g β =-m P gl P sinβ
[0126] The dynamic equations can be written in polynomial form:
[0127] The polynomial form of the dynamic equation is written as a matrix form of the dynamic equation:
[0128] Among them, M(α,β) is a 3*3 inertia matrix; specifically includes
[0129] Each element in M(α,β) It is the elements in the inertia matrix, which are used to characterize the mass and moment of inertia of the joint rigid bodies that make up the wheel-legged robot when the deflection angle of the leg mechanism is α and the deflection angle of the trunk mechanism is β, as well as the equivalent inertial physical quantities of each mechanism under the mutual influence. It is a 3*1 deflection force matrix, also called a deflection force vector, which specifically includes: It is used to characterize the Coriolis force and centripetal force on each mechanism of the wheel-legged robot; G(α,β) represents the 3*1 gravity matrix, which can also be called the gravity vector. Specifically, it includes [0 g α g β ] T τ1 represents the rotational torque of the first revolute joint, and τ2 represents the rotational torque of the second revolute joint.
[0130] After the matrix-form dynamic equation is derived through the above process, the matrix-form dynamic equation can be directly used in the subsequent balance control process without repeating the above derivation process in the balance control process.
[0131] Next, the nth-order inverted pendulum model is introduced and explained.
[0132] For ease of understanding, let us first consider the situation where at least one leg mechanism of the wheel-legged robot overlaps in the y-axis direction, the leg length of at least one leg mechanism changes synchronously, the angle between at least one leg mechanism and the trunk mechanism is the same, and the moving speed of at least one moving wheel is equal.
[0133] The world coordinate system used in this example has the same definition as that used in FIG9 . Of course, the world coordinate system may also be defined in other ways, which is not limited in this application.
[0134] As shown in FIG10 , an n-order inverted pendulum is composed of n connecting rods (corresponding to the n connecting rods in the claims) and a moving wheel; wherein the moving wheel is connected to the first connecting rod among the n connecting rods, and the n connecting rods are connected in series, and n is a positive integer greater than or equal to 2. Exemplarily, the moving wheel in the n-order inverted pendulum corresponds to the moving wheel of a wheel-legged robot. In the case where the wheel-legged robot has multiple moving wheels, the above assumptions assume that the motion states of the multiple moving wheels are synchronized, so the multiple moving wheels can be equivalent to the same moving wheel in the n-order inverted pendulum model, and the rotation angle of the moving wheel is expressed as
[0135] The n links of the n-order inverted pendulum model correspond to the n links of the wheel-legged robot. Two adjacent links in the n mechanisms are connected by a revolute joint. The deflection angles of the n links are: q1, q2, ..., q n ; where q1 is the deflection angle of the first connecting rod, q2 is the deflection angle of the second connecting rod, and so on. nis the deflection angle of the nth link. The deflection angle of the first link is described using the first link as an example. As shown in FIG10 , in this derivation process, the deflection angle of the first link refers to the deflection angle of the first link relative to the z-axis in the world coordinate system. Of course, other methods can also be used to define the deflection angle of the first link. In this case, the derivation process of the nth-order inverted pendulum model is similar to that of this embodiment.
[0136] For example, when the wheel-legged robot is in a standing posture, the distance l1 between the first link and the contact surface is less than the distance l2 between the second link and the contact surface, and the distance l2 between the nth link and the contact surface is less than the distance l1 between the nth link and the contact surface. n , the first link among the n links (the first link can be the leg mechanism of the wheel-legged robot) is connected to the moving wheel through the first revolute joint. Optionally, the link refers to a simplified model of each mechanism included in the wheel-legged robot. The wheel-legged robot can have multiple components, each component can be called a "mechanism", and each mechanism can be simplified as a link. In some cases, the wheel-legged robot is in a posture where multiple moving wheels are in contact with the contact surface, and the multiple moving wheels respectively correspond to their own leg mechanisms; for any of the multiple moving wheels, the revolute joint connecting the moving wheel and its corresponding leg mechanism is called the first revolute joint.
[0137] After understanding the nth-order inverted pendulum model, the dynamic equations for the nth-order inverted pendulum model are constructed using a method similar to that used for the second-order inverted pendulum model. Specifically, the total kinetic energy (including translational and rotational kinetic energy) and potential energy corresponding to each of the n connecting rods and moving wheels are determined. This involves adding the kinetic energy of the n connecting rods and moving wheels to obtain the total kinetic energy of the wheel-legged robot system; and adding the potential energy of the n connecting rods and moving wheels to obtain the total potential energy of the wheel-legged robot system.
[0138] For any one of the multiple degrees of freedom in the generalized coordinate system (including the deflection angle of each connecting rod, the angular velocity of each connecting rod, the rotation angle of the moving wheel and the angular velocity of the moving wheel), determine the partial derivative of the total kinetic energy of the system with respect to the degree of freedom, and determine the derivative of the partial derivative of the degree of freedom with respect to time.
[0139] For any of the multiple degrees of freedom in the generalized coordinate system, determine the partial derivative of the system's total potential energy with respect to that degree of freedom. Based on the partial derivatives of the system's total potential energy with respect to each degree of freedom, the derivatives of the partial derivatives of each degree of freedom with respect to time, and the derivatives of the partial derivatives of each degree of freedom with respect to time, the system dynamics equation of the nth-order inverted pendulum is determined by the Euler-Lagrange equation:
[0140] in, It refers to the inertia matrix, including the mass and moment of inertia of the n rotational joints (regarding the rotational joints as joint rigid bodies) of the wheel-legged robot involved in the n-order inverted pendulum model. q is a vector, and the transposed vector q of q is T =[q1 q2 … q n ], is the angular velocity of the moving wheel, is the angular acceleration of the moving wheel, represents the angular velocity of the n connecting rods, is a vector, The transposed vector of represents the angular acceleration of the n connecting rods, is a vector, The transposed matrix of Refers to the deflection force matrix, which is used to characterize the angle of the moving wheel of the wheel-legged robot. The deflection angles of the n connecting rods are q1, q2, ..., q n When the vehicle is in the correct posture, each connecting rod is subjected to a deflection force, which includes centripetal force and Coriolis force. is the gravity matrix, which is used to characterize the angle of the moving wheel of the wheel-legged robot. The deflection angles of the n connecting rods are q1, q2, ..., q n When the n links are in the correct posture, they are subjected to gravity.
[0141] Since the plane where the moving wheel is located is determined as the zero potential energy surface, the first item in the G matrix is 0, indicating that the gravity corresponding to the moving wheel on the zero potential energy surface is zero. Of course, other zero potential energy surfaces can also be selected, and this application does not limit this. n represents the n×n identity matrix, τ T =[τ1 τ2 … τ n ], which represents the rotational torque corresponding to n revolute joints.
[0142] The following describes a balance control method for a wheel-legged robot, abstracted as an nth-order inverted pendulum. This method can be implemented by a robust controller in the wheel-legged robot's control system based on sensor observations, or by collaboration between the robust controller and other control modules in the control system, such as the whole-body dynamics controller. For details, please refer to the following examples.
[0143] Please refer to Figure 11, which shows a flow chart of a balance control method for a wheel-legged robot provided by an embodiment of the present application. The method is executed by a computer device. The wheel-legged robot includes: a moving wheel, n connecting rods and n revolute joints, the moving wheel and the first connecting rod of the n connecting rods are connected by a first revolute joint of the n revolute joints, and the n connecting rods are connected in series by n-1 revolute joints other than the first revolute joint, where n is a positive integer greater than or equal to 2; the method may include at least one of the following steps (1110-1150):
[0144] Step 1110: Obtain the state quantity of the wheel-legged robot at the first moment, where the state quantity at the first moment is used to characterize the motion state of the wheel-legged robot at the first moment.
[0145] In some embodiments, the moving wheel is used to contact the contact surface, the revolute joint refers to a joint driven by a joint motor, and the n connecting rods refer to connecting rods connected to at least one of the n revolute joints. Optionally, the n revolute joints connect the n connecting rods in series into a linear shape, and the first connecting rod of the n connecting rods is connected to the moving wheel via the first revolute joint. In other words, the moving wheels, n connecting rods, and n revolute joints of the wheel-legged robot can be abstracted into the nth-order inverted pendulum described above. The balance control method provided in the embodiments of the present application is based on the nth-order inverted pendulum design.
[0146] Optionally, the wheel-legged robot includes multiple components, each of which (excluding active joints) can be called a mechanism, and the mechanism can be simplified as a connecting rod.
[0147] Optionally, any link in the n mechanisms is equivalent to a link in an n-th order inverted pendulum, that is, under ideal conditions, the link does not bend. For example, any link in the n links is an independent link (for example, in a wheel-legged robot, the leg mechanism is a link and the trunk mechanism is a link).
[0148] Exemplarily, the n links include at least one combined link composed of m independent links connected by joints, where m is a positive integer greater than 1. In this case, the joints connecting the m independent links do not rotate or move linearly during the balance control process. For example, these joints are locked during the balance control process, so that the combined link consisting of the m independent links can be regarded as one link included in the n links.
[0149] In some embodiments, the first connecting rod is a connecting rod connected to the moving wheel of the wheel-legged robot via a first revolute joint. Optionally, in a direction perpendicular to the contact surface (i.e., the z-axis direction in the world coordinate system), the distance between the first connecting rod and the moving wheel is the smallest among the n connecting rods.
[0150] Optionally, if the leg mechanism of the wheel-legged robot is a straight leg, the first link refers to the leg mechanism of the wheel-legged robot; if the leg mechanism of the wheel-legged robot is an articulated leg, that is, the leg mechanism includes two sub-mechanisms connected by a knee joint, and the knee joint is used to control the joint angle between the two sub-structures, then the first link refers to the sub-mechanism in the leg mechanism that is directly connected to the first rotational joint.
[0151] In the present application, n is a positive integer greater than 1, for example, n is equal to 2, 3, 4, 5, ... The maximum value of n is related to the structure of the wheel-legged robot and is not limited in the present application.
[0152] Exemplarily, when n is equal to 2, the n links include: the leg mechanism and the trunk mechanism of the wheel-legged robot. Exemplarily, when n is equal to 3, the n links include: the leg mechanism (the leg mechanism is a straight leg), the trunk mechanism, and the head mechanism of the wheel-legged robot. Exemplarily, when n is equal to 3, the n links include: the leg mechanism (the leg mechanism is a straight leg), the trunk mechanism, and the robotic arm mechanism of the wheel-legged robot. Exemplarily, when n is equal to 4, the n links include: the leg mechanism (the leg mechanism is a straight leg), the trunk mechanism, the first robotic arm link connected to the trunk mechanism, and the second robotic arm link connected to the first robotic arm, or the robotic hand. Exemplarily, when n is equal to 4, the n links include: the first sub-mechanism of the leg mechanism (the leg mechanism is a straight leg), the second sub-mechanism connected to the first sub-mechanism via the knee joint, the trunk mechanism, and the first robotic arm link connected to the trunk mechanism.
[0153] Optionally, n revolute joints are used to serially connect n connecting rods. Exemplarily, any of the n revolute joints are of the same type and function as the first revolute joints. For example, in a wheel-legged robot comprising multiple moving wheels, there are multiple revolute joints respectively used to connect each moving wheel to its corresponding first connecting rod. These multiple revolute joints are all first revolute joints.
[0154] It should be noted that the value of n depends on the actual requirements of the wheel-legged robot, such as its configuration, the computing power of its computer equipment, and power consumption, and is not limited in this application. A larger value of n allows for more linkages to adjust the posture during balance control, resulting in a richer range of postures for the wheel-legged robot during balance adjustment, which helps improve the robot's ability to balance in response to external disturbances.
[0155] In some embodiments, the first moment is any moment in the movement process of the wheel-legged robot.
[0156] Optionally, at a first moment, the posture of the wheel-legged robot is: the angles between all first links and the direction perpendicular to the contact surface are equal, the angular velocities of the moving wheels corresponding to each first link are equal, and at least one first rotational joint connecting the first links and the moving wheels rotates synchronously. That is, when observing from the side of the wheel-legged robot, at least one first link overlaps, and at least one moving wheel overlaps. Exemplarily, the wheel-legged robot has four moving wheels, and at a first moment the wheel-legged robot is in a two-wheel balancing mode (moving by rolling two moving wheels on the contact surface, and the other two moving wheels are retracted).
[0157] In some embodiments, a state quantity is used to describe the motion state of the wheel-legged robot at a first moment. The posture and motion state of the wheel-legged robot at the first moment can be determined based on the state quantity at the first moment. Optionally, the state quantity at the first moment is observed by sensors of the wheel-legged robot.
[0158] Optionally, the state quantity at the first moment includes at least one of the following: the deflection angles q1, q2, ..., q n , angular velocity of the moving wheel Angular velocity of n connecting rods
[0159] For example, the physical quantities included in the state quantity are observed in the world coordinate system; wherein, the deflection angle q of the i-th connecting rod among the n connecting rods is i (i∈[1,n]) refers to: the deflection angle of the i-th link relative to the z-axis in the world coordinate system; the angular velocity of the moving wheel Refers to: the clockwise rotation speed of the moving wheel about the x-axis in the world coordinate system; the angular velocity of the i-th connecting rod It is used to characterize the angular velocity of the i-th connecting rod, that is, the speed at which the deflection angle of the i-th connecting rod changes.
[0160] It should be noted that the physical quantities in the state quantity can also be represented by the relative positions between the links of the wheel-legged robot. For example, the deflection angle q of the jth link is j ′(i∈[2,n]) refers to the deflection angle of the jth link relative to the j-1th link; wherein the j-1th link is connected to the jth link via a revolute joint. Optionally, the distance between the jth link and the contact surface is greater than the distance between the j-1th link and the contact surface. It should be noted that the observation coordinate system corresponding to each physical quantity in the state quantity can be determined according to actual needs and is not limited in this application.
[0161] The physical quantities in each formula in this application are obtained based on observations in the world coordinate system. Of course, the physical quantities determined using other observation coordinate systems can also realize this balance control method. The relevant formulas can be obtained by making equal substitutions based on the formulas provided in this application, and they are not mentioned one by one in the text.
[0162] When the moving wheels of the wheel-legged robot in contact with the contact surface coincide with each other in the y-axis direction in the world coordinate system, the n moving wheels have the same angular velocity, and the deflection angle of the first connecting rod connected to at least one moving wheel is the same. For the method of obtaining the state quantity at the first moment, please refer to the following examples.
[0163] For example, the state variables are: the deflection angles q1, q2, ..., q n , angular velocity of the moving wheel Angular velocity of n connecting rods The state quantity can be represented by the symbol ξ, and the state quantity ξ can be expressed as:
[0164] Among them, q T Represents the transposed vector of vector q, q T =[q1 q2 … q n ], Represents a vector The transposed vector of
[0165] Optionally, obtaining the state quantity of the wheel-legged robot at the first moment includes: determining the deflection angles q1, q2, ..., q of n connecting rods through an IMU sensor and a motor encoder. n ; Determine the angular velocity of the moving wheel through the motor encoder Angular velocity of n connecting rods For example, the clock cycles of the IMU sensors and motor encoders in the wheeled-legged robot are the same, or multiples of each other, so that the physical quantities included in the state quantity are all physical quantities at the first moment. For details about the IMU encoders and motor encoders, please refer to the above description and will not be repeated here.
[0166] In some embodiments, the robust controller takes the state quantity at the first moment as input information and performs a balancing control process based on the state quantity at the first moment.
[0167] Step 1120, determine the dynamic model parameters based on the dynamic equation of the wheel-legged robot and the state quantity at the first moment, and the dynamic model parameters are used to define the mapping relationship between the angular acceleration at the first moment and the rotational torque at the second moment; the angular acceleration at the first moment includes the angular acceleration of the n connecting rods and the angular acceleration of the moving wheel; the rotational torque at the second moment includes the rotational torque of the n rotating joints.
[0168] In some embodiments, the angular acceleration at the first moment refers to the rotational acceleration of the n connecting rods after the wheel-legged robot is abstracted into an n-order inverted pendulum model (it can also be understood as the angular acceleration of the joint motors corresponding to the n rotating joints). The angular acceleration at the first moment can be expressed as express.
[0169] From the above content, we can see that after abstracting the wheel-legged robot into an n-order inverted pendulum model, we can obtain the matrix form of the dynamic equation:
[0170] In an embodiment of the present method, a robust controller in the control system of the wheel-legged robot is designed based on the dynamic equation, so that the robust controller can complete the balance control method provided in the embodiment of the present application.
[0171] The physical relationship between acceleration, velocity, and position shows that the acceleration at the first moment can be used to predict the angular velocity of the wheel-legged robot's n links at the next moment after the first, as well as the robot's posture at subsequent moments. The rotational torque of the joints can change the robot's velocity and posture. In the design of this robust controller, the focus is on the matrix-based dynamic equations, establishing a mapping between the robot's acceleration and the rotational torque of its joints.
[0172] For example, partial feedback linearization is performed on the matrix-form dynamic equation, placing the matrix related to the wheel-legged robot's acceleration on one side of the dynamic equation and the matrix related to the rotational torque of the revolute joint on the other side. The mapping relationship between acceleration and rotational torque at the first moment is determined, and this mapping relationship is represented by dynamic parameters. This process can be completed during the robust controller design process and stored in the robust controller, eliminating the need to repeatedly derive the relevant formulas during actual balance control.
[0173] In some embodiments, the dynamic model parameters are used to characterize the linear mapping relationship between acceleration and torque at the first moment. That is, the dynamic model parameters are used to ensure that the acceleration and torque at the first moment satisfy an equivalent relationship in a formula derived from the dynamic formula. Because there is more than one acceleration and torque at the first moment, the dynamic model parameters can be represented in matrix form.
[0174] Exemplarily, the dynamic model parameters include a proportional parameter matrix g[] and an offset parameter matrix f[]; the proportional parameter matrix g[] is used to characterize the proportional relationship between acceleration and torque at a first moment, and the offset parameter matrix f[] is used to characterize the offset between acceleration and torque at a first moment. For calculation methods of the two dynamic model parameter matrices, please refer to the following examples.
[0175] Optionally, during the design of the robust controller, the representation of the dynamic model parameters (i.e., the calculation formula for the dynamic model parameters) is predetermined and stored in the robust controller. During actual balancing control, after obtaining the state quantity at a first moment, the robust controller substitutes the state quantity at the first moment into the representation of the dynamic model parameters to determine the values of each element included in the dynamic model parameters.
[0176] Step 1130: Establish a sliding surface based on the state quantity at the first moment, and the state quantity of the wheel-legged robot gradually approaches a stable value along the sliding surface.
[0177] In some embodiments, the sliding surface is an imaginary vector plane in the sliding mode control, and the state quantity of the wheel-legged robot gradually approaches a stable value on the sliding surface. Optionally, the stable value is 0, that is, the state of the wheel-legged robot gradually approaches 0 on the sliding surface. The sliding surface is introduced in the balancing process of the wheel-legged robot, and the values of the rotational torques of the n rotating joints calculated by limiting the sliding surface are used so that the wheel-legged robot can maintain or gradually return to a balanced state after adjusting its posture according to the rotational torques of the n rotating joints. In other words, the state of the wheel-legged robot can gradually approach equilibrium on the sliding surface. The sliding surface can be represented by the symbol s. Optionally, the sliding surface is a rational number, and the value of the sliding surface can be greater than 0, equal to 0, or less than 0.
[0178] Optionally, the sliding surface is a linear sliding surface that has a linear relationship with the state variables, or a sliding surface that has a high-order mapping relationship between the state variables. To reduce the computational burden of the robust controller and the energy consumption of the wheel-legged robot, the examples herein primarily use the creation of a linear sliding surface as an example to illustrate the method for determining the sliding surface based on the state variables.
[0179] In some embodiments, the number of sliding surfaces that the robust controller needs to establish is related to the number of rotational torques to be determined. Optionally, the number of sliding surfaces that the robust controller needs to establish is equal to the number of rotational torques to be determined. In the present application, the wheel-legged robot is abstracted into an n-order inverted pendulum, involving a total of n rotational joints, and the n rotational joints each have an independent rotational torque. Therefore, the rotational torque at the second moment includes: the rotational torque of the n rotational joints. It is necessary to establish n sliding surfaces; wherein, any two sliding surfaces among the n sliding surfaces are different sliding surfaces. For the specific steps of establishing sliding surfaces, please refer to the embodiments below.
[0180] Step 1140 : Calculate the rotational torques of the n revolute joints based on the sliding surface and the dynamic model parameters.
[0181] In some embodiments, for any of the n revolute joints, the rotational torque of the revolute joint is used to control the rotation of the joint motor of the revolute joint. Optionally, the joint motor of the revolute joint can rotate according to a certain angular velocity, speed or torque so that the revolute joint reaches the corresponding rotational torque.
[0182] In some embodiments, a robust controller is designed to include an equation for calculating the rotational torque of n revolute joints using a sliding mode surface and dynamic model parameters. By substituting the sliding mode surface and dynamic model parameters into this equation, the rotational torques of the n revolute joints can be calculated. The rotational torques of the n revolute joints are then used to control the corresponding motors of each revolute joint, thereby adjusting the posture of the wheel-legged robot and helping it achieve or maintain a balanced state.
[0183] Optionally, when calculating the rotational torques of the n revolute joints based on the sliding surface and the dynamic model parameters, a system stability criterion must also be considered. This system stability criterion is used to constrain the robot's equilibrium state. For details on this process, please refer to the following examples. For example, steps 1110-1140 are performed by a robust controller.
[0184] Step 1150 : Control the n revolute joints at a second moment according to the rotational torques of the n revolute joints.
[0185] In some embodiments, the second moment refers to any moment after the first moment. Alternatively, the second moment refers to a moment after the rotational torques of the n revolute joints are calculated.
[0186] In some embodiments, controlling n revolute joints is used to change the posture of a wheel-legged robot. Rotation of the revolute joints causes the deflection angle of the connecting rods connected to the revolute joints to change, thereby changing the joint angle between the two connecting rods connected by the revolute joints. This changes the posture of the wheel-legged robot and the center of mass of the wheel-legged robot, thereby helping the wheel-legged robot adjust its balance.
[0187] Optionally, after the rotational torques of n rotational joints are determined, s rotational joints may be controlled, where s is a positive integer less than or equal to n.
[0188] Optionally, methods for controlling the n revolute joints according to the rotational torques of the n revolute joints include the following:
[0189] 1. The torques of the n revolving joints are sent to the joint motors of the n revolving joints through the robust controller, so that the joint motors of the n revolving joints rotate to achieve their respective corresponding rotational torques.
[0190] 2. The mission acceleration of the wheel-legged robot is calculated through the rotational torque of n rotating joints; the whole-body dynamics controller in the control system of the wheel-legged robot calculates the force and torque instructions corresponding to the whole-body joints of the wheel-legged robot according to the mission acceleration of the wheel-legged robot, thereby determining the force and torque instructions corresponding to the n rotating joints in the n-order inverted pendulum model; the whole-body dynamics controller sends the force and torque instructions corresponding to the n rotating joints to the n rotating joints, so that the n rotating joints rotate according to their respective force and torque instructions.
[0191] Whole-body joints refer to the active joints in a wheel-legged robot. After determining the force and torque instructions of the whole-body joints, they can not only control the rotational motors of the n rotational joints, but also control the movement of the joint motors corresponding to other joints except the n rotational joints according to the force and torque instructions of the whole-body joints, making the posture changes of the wheel-legged robot richer. Since the whole-body dynamics controller is used to control the robot to perform motion tasks, this method can integrate the balance control method and the motion process of the wheel-legged robot, which helps to improve the adaptability of the balance control method to different scenarios.
[0192] Optionally, the step of calculating the task acceleration of the wheel-legged robot using the rotational torques of n rotational joints is performed by an observation module in the wheel-legged robot's control system. The observation module is connected to a robust controller, which is also connected to a whole-body dynamics controller. The observation module obtains the rotational torques of the n rotational joints from the robust controller, calculates the task acceleration based on the rotational torques of the rotational joints, and transmits the task acceleration to the whole-body dynamics controller. The whole-body dynamics controller determines the force and torque instructions corresponding to the motors of the whole-body joints based on the task acceleration. For the specific process of this step, please refer to the examples below.
[0193] By associating the robust controller's control results (the n torques described above) with the whole-body dynamics controller, the whole-body dynamics controller receives information related to balance control. This helps the whole-body dynamics controller optimize the input information received (including the n torques and parameters related to the motion process), generating optimized joint commands (i.e., force and torque commands) and sending these joint commands to the corresponding joints. This allows more links in the wheel-legged robot to rotate during balance control, helping to improve the wheel-legged robot's balance control capabilities during motion. Furthermore, this approach enables the wheel-legged robot to complete balance adjustments during motion.
[0194] To sum up, based on abstracting the wheel-legged robot into a multi-order inverted pendulum model, during the balance control process, the deflection angles of multiple links in the wheel-legged robot can be adjusted to change the posture of the wheel-legged robot; compared with the related technology of only adjusting the angle between the moving wheel and the leg mechanism during the balance control process, this scheme makes the postures of multiple links in the wheel-legged robot variable during the balance adjustment process, greatly enriches the robot posture, helps to quickly adjust the robot to a balanced state, and also helps to improve the robot's ability to recover to a balanced state under different disturbance forces, thereby improving the robustness of the robot's balance control process.
[0195] The following describes a method for obtaining the state quantity at the first moment through several embodiments.
[0196] In some embodiments, the state quantities of the wheel-legged robot at the first moment are determined by sensors included in the wheel-legged robot. The state quantities at the first moment include: the deflection angles of the n connecting rods, the angular velocities of the n connecting rods, and the angular velocities of the moving wheels.
[0197] Optionally, the method for obtaining the state quantity at the first moment is related to the posture of the wheel-legged robot at the first moment. In one possible implementation, the state quantity at the first moment is observed by sensors of the wheel-legged robot; in another possible implementation, the observation results obtained by the wheel-legged robot's sensors need to be processed to obtain the state quantity at the first moment.
[0198] The moving wheels of the wheel-legged robot in contact with the contact surface are aligned in the y-axis direction of the world coordinate system, and the first connecting rod is aligned in the y-axis direction of the world coordinate system. Optionally, the wheel-legged robot is in a two-wheeled balanced state, and step 1110 further includes the following sub-steps:
[0199] Sub-step 1110 - a , determining the deflection angles of the n connecting rods through the inertial measurement unit and motor encoder of the wheel-legged robot.
[0200] Sub-step 1110 - b , determining the angular velocity of the n connecting rods and the angular velocity of the moving wheel through the motor encoder.
[0201] By using the inertial measurement unit and the motor encoder, the state quantity at the first moment is determined, so that the posture and movement trend of the wheel-legged robot at the first moment can be known, making it possible to adjust the balance of the wheel-legged robot according to the state quantity at the first moment.
[0202] For information about the inertial measurement unit and motor encoder, please refer to the above introduction. Optionally, the robust controller obtains the state quantity related to each rotational joint from the IMU and motor encoder corresponding to the n rotational joints, and combines the state quantities related to the n rotational joints to obtain the state quantity at the first moment.
[0203] The following describes the process of determining the parameters of the dynamic model through several embodiments. The execution subject of each step of the process may be a computer device.
[0204] In the above embodiment, step 1120: determining the dynamic model parameters according to the dynamic equation of the wheel-legged robot and the state quantity at the first moment may include the following steps:
[0205] Step 1123 (not shown in the figure) substitutes the state quantity at the first moment into the dynamic equation to determine the inertia matrix, deflection force matrix, and gravity matrix at the first moment. The inertia matrix is used to represent the mass and moment of inertia of the n revolute joints at the first moment. The deflection force matrix is used to represent the deflection force of the wheel-legged robot at the first moment. The gravity matrix is used to represent the gravity of the wheel-legged robot at the first moment.
[0206] In some embodiments, an inertia matrix is used to represent the inertia of the joint rigid bodies corresponding to each of the n revolute joints comprising the wheel-legged robot at a first moment in time. The inertia matrix includes at least one of the following: mass and moment of inertia. Alternatively, the inertia matrix can be calculated based on dynamic equations. When the wheel-legged robot is abstracted as an nth-order inverted pendulum model, the inertia matrix is a matrix of size (n+1)*(n+1).
[0207] In some embodiments, the deflection force matrix is used to characterize the Coriolis force and centripetal force acting on each connecting rod. Optionally, the deflection force matrix includes the deflection force caused by the deflection angle of the moving wheel and the deflection force caused by the deflection angle of the n connecting rod.
[0208] In some embodiments, a gravity matrix is used to characterize the gravity acting on each connecting rod. Optionally, the gravity matrix includes the gravity acting on the moving wheel and the gravity acting on each of the n connecting rods. Optionally, the moving wheel (such as the moving wheel of the outer leg mechanism) is always in contact with the contact surface. During the balance control process, the height of the moving wheel remains unchanged, the gravity acting on the moving wheel remains unchanged, and the plane where the center of mass of the moving wheel is located is used as the zero potential energy surface. The gravity acting on the moving wheel is zero, which reduces the computational overhead of the balance control process.
[0209] For the relevant content of the inertia matrix, deflection force matrix and gravity matrix, please refer to the content of the corresponding specification of Figure 10, which will not be repeated here. The expressions of each element in the above-mentioned inertia matrix, deflection force matrix and gravity matrix are also pre-derived in the dynamic formula. For example, after determining the state quantity at the first moment, the robust controller calculates the specific values of each element included in the inertia matrix, deflection force matrix and gravity matrix at the first moment based on the state quantity at the first moment and the representation of each element in the inertia matrix, deflection force matrix and gravity matrix; and then obtains the inertia matrix, deflection force matrix and gravity matrix at the first moment.
[0210] Step 1126 (not shown in the figure) determines the dynamic model parameters based on the inertia matrix, the deflection force matrix and the gravity matrix.
[0211] In some embodiments, the dynamic model parameters include: a proportional parameter matrix and an offset parameter matrix, the proportional parameter matrix is used to characterize the proportional relationship between the angular acceleration and the torque at the first moment, and the offset parameter matrix is used to characterize the offset relationship between the angular acceleration and the torque at the first moment; optionally, the robust controller calculates the offset parameter matrix based on the inertia matrix, the deflection force matrix and the gravity matrix; and calculates the proportional parameter matrix based on the inertia matrix.
[0212] The dynamic model parameters can be used to determine the rotational relationship between the acceleration of the wheel-legged robot and the rotational torque of the n rotational joints. Subsequently, the rotational torque of the n rotational joints can be determined relatively quickly based on the dynamic model parameters and the sliding surface, which helps to reduce unnecessary conversions in the process of determining the rotational torque of the rotational joints and alleviates the computational pressure of computer equipment.
[0213] In some embodiments, step 1126 further includes the following sub-steps:
[0214] Sub-step 1126-a (not shown in the figure) uses a selection matrix to multiply the inverse matrix of the inertia matrix and the deflection force matrix. The selection matrix is used to extract the rotational torque of the n rotational joints from the dynamic equation.
[0215] Sub-step 1126-b (not shown in the figure) uses the selection matrix to process the product of the inverse matrix of the inertia matrix and the gravity matrix to obtain the offset parameter matrix.
[0216] Optionally, the elements in the selection matrix include three values (0, 1, -1). The selection matrix is used to make each rotational torque in τ exist independently in the dynamic equation, that is, the dynamic equation is processed using the selection matrix so that the coefficients of the rotational torque of each rotational joint in the dynamic equation have the same sign, and the dynamic equation does not include basic operations between the rotation matrices of any two rotational joints (such as τ1-τ2, etc.). Step 1126-a can be executed before step 1126-b, or step 1126-b can be executed before step 1126-a, and step 1126-a and step 1126-b can also be executed in parallel. This application does not limit the timing of the two execution steps.
[0217] Sub-step 1126-c (not shown in the figure) uses the selection matrix to process the inverse matrix of the inertia matrix to obtain the scale parameter matrix.
[0218] Following the content of step 1120 in the above embodiment, the two sub-steps included in step 1126 are introduced and explained: After partial feedback linearization processing is performed on the matrix form dynamic equation, formula 1 is obtained:
[0219] Among them, M -1 (q) is the inverse matrix of inertia matrix, M -1 (q)*M(q)=E, where E is the unit matrix. The physical meanings of other parameters in Formula 1 can be found in the above embodiment and will not be elaborated here.
[0220] Furthermore, in order to simplify the execution logic in the balancing control process and reduce the computational complexity of the robust controller, the above formula 1 needs to be adjusted during the design of the robust controller. Formula 1 is processed using a selection matrix to obtain formula 2:
[0221] in, represents the offset parameter matrix, represents the scale parameter matrix, S T is the selection matrix.
[0222] Optionally, Formula 2 is derived after the wheel-legged robot is abstracted as an n-order inverted pendulum model. During the balance control process, after obtaining the state quantity at the first moment, the robust controller can calculate the proportional parameter matrix and the dynamic model parameter matrix based on Formula 2 and the expressions of each element in the inertia matrix, deflection force matrix and gravity matrix obtained in the derivation of the dynamic equation of the n-order inverted pendulum model.
[0223] In some embodiments, the dynamic equations of the above-mentioned robot are derived based on the Euler-Lagrange equations by abstracting the wheel-legged robot into an n-order inverted pendulum model. The moving wheels of the wheel-legged robot correspond to the wheels in the n-order inverted pendulum model, and at least one connecting rod of the wheel-legged robot corresponds to the n connecting rods in the n-order inverted pendulum model. Please refer to the above embodiments for the derivation process of the dynamic equations, which will not be repeated here. After the wheel-legged robot is abstracted into an n-order inverted pendulum model, the dynamic equations include the rotational torques of the n rotating joints, so that the balance control process can control the rotation mode of the n rotating joints. The rotation of the rotating joints drives the posture and motion state of the connecting rods connected to the rotating joints to change, so that all n mechanisms can participate in the balance control process, making the posture of the wheel-legged robot in the balance control process more flexible, helping to adapt to the balance control requirements in different scenarios and improving the robustness of the balance control method.
[0224] The method for establishing the sliding surface is described below through several embodiments.
[0225] In some implementations, the sliding surface includes n sliding surfaces, wherein the n sliding surfaces are used to constrain the rotational torque of the n revolute joints. Optionally, no two of the n sliding surfaces are identical, and the n sliding surfaces are used to jointly participate in the calculation process of the rotational torque.
[0226] In the above embodiment, step 1130: establishing a sliding surface according to the state quantity at the first moment may include the following steps:
[0227] Step 1133 (not shown in the figure): for the i-th sliding surface among the n sliding surfaces, determine two sliding parameters, where i is a positive integer less than or equal to n.
[0228] In some embodiments, the sliding surface is related to at least one element in the state quantity, and the element in the state quantity can also be called a state parameter, such as the state quantity Included They are all state parameters.
[0229] For example, a sliding surface is related to the deflection angle of the first connecting rod and the acceleration of the first connecting rod in the state quantity. For another example, a sliding surface is related to the deflection angle of the i-th connecting rod and the acceleration of the i-th connecting rod. Optionally, n sliding surfaces are respectively related to the first state parameter in the state quantity. For example, the first state parameter is the angular velocity of the moving wheel, that is, all n sliding surfaces are related to the angular velocity of the moving wheel.
[0230] Optionally, the sliding mode parameter is a real number. The sliding mode parameter is used to characterize the proportional relationship between the state parameter in the state quantity and the sliding mode surface. Exemplarily, the sliding mode parameters are not shared between different sliding modes. That is, among the n sliding modes, there are at least two sliding modes, and the sliding mode parameters corresponding to the at least two sliding modes are unequal.
[0231] In some embodiments, the number of state parameters used in creating the sliding surface is greater than the number of sliding parameters. Optionally, for each of the n sliding surfaces, the number of state parameters used in creating the sliding surface is greater than the number of sliding parameters used. This helps ensure that a specific rotational torque can be calculated based on the sliding surface and the dynamic model parameters, thereby helping the wheel-legged robot perform balance adjustment based on the determined rotational torque.
[0232] For example, when creating a sliding surface, you need to use 3 state parameters in the state quantity and 2 sliding parameters. For another example, when creating a sliding surface, you need to use 4 state parameters in the state quantity and 3 sliding parameters.
[0233] Since the number of sliding parameters used in the process of creating the sliding surface is less than the number of state parameters, the coefficient of at least one state parameter in the sliding surface is equal to 1, that is, these sliding parameters do not have corresponding state parameters. The remaining state parameters required to create a certain sliding surface correspond one-to-one to the sliding parameters.
[0234] In some embodiments, for the i-th sliding surface among n sliding surfaces, the i-th sliding surface includes at least two sliding parameters. Optionally, the state parameters included in different sliding surfaces are not completely the same, and the number of state parameters required to create each sliding surface is equal. For example, the n sliding surfaces each include the same number of sliding parameters. Assume that three state parameters are used to create the i-th sliding surface, and three state parameters are also used to create the i+k-th sliding surface, where k is a positive integer, and i+k is less than or equal to n.
[0235] In some embodiments, the number of sliding parameters included in the i-th sliding surface is related to the number of state parameters used to establish the i-th sliding surface. Optionally, the number of state parameters used to create the i-th sliding surface is one more than the number of sliding parameters used to create the i-th sliding surface. In order to ensure that a definite solution for the rotational torque of n rotational joints can be calculated through the sliding surface and the dynamic model parameters, the i-th sliding surface is related to at least 3 state parameters in the state quantity at the first moment. Optionally, the at least 3 state parameters related to the i-th sliding surface are not completely the same as the at least 3 state parameters related to the l-th sliding surface, and l is a positive integer less than or equal to n.
[0236] In order to improve the reliability of the determined rotational torque, the sliding mode parameters need to meet the system stability conditions. For details on this part, please refer to the following embodiments.
[0237] Optionally, the number of state parameters used to create the n sliding surfaces is equal. For example, any one of the n sliding surfaces includes three state parameters.
[0238] The following takes the creation of the i-th sliding surface as an example to introduce the method of creating the sliding surface.
[0239] Generally speaking, the more state parameters related to a certain sliding surface in the state quantity at the first moment, the more reference information is used in the process of calculating the rotational torque of n rotational joints; the mutual constraints between the various state quantities help to improve the accuracy of the rotational torque of the n rotational joints determined according to the n sliding surfaces and dynamic model parameters, and help to improve the effect of balance adjustment.
[0240] Optionally, at least three state parameters and at least two sliding parameters are used to create the i-th sliding surface.
[0241] Exemplarily, the state parameters used to create the i-th sliding surface include: the deflection angle of the i-th connecting rod, the angular velocity of the moving wheel, and the angular velocity of the i-th connecting rod; in this case, the two sliding parameters used to create the i-th sliding surface are: the sliding parameter corresponding to the deflection angle of the i-th connecting rod, and the sliding parameter corresponding to the angular velocity of the moving wheel. Exemplarily, the i-th sliding surface is associated with four state parameters in the state quantities, and the i-th sliding surface is associated with the state quantities including the deflection angle of the i-th connecting rod, the angular velocity of the moving wheel, the angular velocity of the i-th connecting rod, and the deflection angle of the (i+m)%nth connecting rod, where m is a positive integer that cannot divide n, and "%" represents the remainder after division. In this case, the i-th sliding surface includes at least three sliding parameters: the sliding parameter corresponding to the deflection angle of the i-th connecting rod, the sliding parameter corresponding to the angular velocity of the moving wheel, and the sliding parameter corresponding to the deflection angle of the (i+m)%nth connecting rod. It should be noted that the number of state parameters related to the sliding surface and the number of sliding parameters are designed according to actual needs and are not limited in this application.
[0242] In some embodiments, a robust controller is designed with multiple sliding surface creation schemes. In different sliding surface creation schemes, the number of sliding parameters and the number of state parameters used to create the i-th sliding surface are different. For example, in a first sliding surface creation scheme, creating the i-th sliding surface requires two sliding parameters and three state parameters; in a second sliding surface creation scheme, creating the i-th sliding surface requires five sliding parameters and six state parameters. In other words, the number of sliding parameters used to create the sliding surface in the first sliding surface creation scheme is not equal to the number of sliding parameters used to create the sliding surface in the second sliding surface creation scheme; and the number of state parameters used to create the sliding surface in the first sliding surface creation scheme is not equal to the number of state parameters used to create the sliding surface in the second sliding surface creation scheme.
[0243] Optionally, during the balancing control process, the robust controller selects a target creation scheme from multiple sets of sliding surface creation schemes according to actual conditions, and determines the number of sliding parameters required to create the i-th sliding surface according to the target creation scheme.
[0244] Exemplarily, when the robust controller has high computational performance, the robust controller selects from multiple sets of sliding surface establishment schemes a sliding surface establishment scheme involving more sliding mode parameters as the target establishment scheme. Exemplarily, the robust controller determines the target establishment scheme based on the task currently being performed by the wheel-legged robot. If the task currently being performed by the wheel-legged robot requires high balance and the robust controller has good computational capabilities, the robust controller selects from multiple sets of sliding surface establishment schemes a sliding surface establishment scheme involving more sliding mode parameters as the target establishment scheme. Exemplarily, when the robust controller has average computational performance or there are power consumption requirements, the robust controller selects from at least one set of sliding surface establishment schemes a sliding surface establishment scheme involving fewer sliding mode parameters as the target establishment scheme. Exemplarily, the robust controller receives a control instruction from a remote controller, the control instruction being used to indicate the target establishment scheme to be selected from multiple sliding surface establishment schemes.
[0245] Step 1136 (not shown in the figure): establish the i-th sliding surface according to at least two sliding mode parameters and the state quantity at the first moment.
[0246] In some embodiments, the state variables include the deflection angles of the n connecting rods, the angular velocities of the moving wheels, and the angular velocities of the n connecting rods. Optionally, the robust controller creates an i-th sliding mode surface based on at least three state parameters and at least two sliding mode parameters in the state variables at the first moment.
[0247] Optionally, step 1136: establishing the i-th sliding mode surface according to at least two sliding mode parameters and the state quantity at the first moment, includes the following sub-steps:
[0248] Sub-step 1136 - a , processing the deflection angle of the i th connecting rod according to the first sliding mode parameter of the at least two sliding mode parameters to obtain a processing result of the i th connecting rod.
[0249] Optionally, the first sliding mode parameter is a coefficient corresponding to the deflection angle of the i-th link, and the second sliding mode parameter is a coefficient corresponding to the angular velocity of the moving wheel link.
[0250] Optionally, the processing result of the i-th connecting rod refers to the result obtained by processing the deflection angle of the i-th connecting rod using the first sliding mode parameter in the process of constructing the i-th sliding surface. Exemplarily, the method of processing the deflection angle of the i-th connecting rod using the first sliding mode parameter includes but is not limited to: using the first sliding mode parameter and the deflection angle of the i-th mechanism to perform basic operations (such as addition, subtraction, multiplication, and division) to obtain the processing result of the i-th connecting rod. For example, the processing result of the first connecting rod is obtained by multiplying the first sliding mode parameter by the angular velocity of the i-th connecting rod.
[0251] Sub-step 1136-b: Process the angular velocity of the moving wheel based on the second sliding mode parameter of the at least two sliding mode parameters to obtain a processing result of the moving wheel. Optionally, in the process of establishing the i-th sliding mode surface, the processing result of the moving wheel refers to the result obtained by processing the angular velocity of the moving wheel using the second sliding mode parameter. Exemplarily, the method of processing the angular velocity of the moving wheel using the second sliding mode parameter includes but is not limited to: performing basic operations using the second sliding mode parameter and the angular velocity of the moving wheel. For example, the processing result of the moving wheel is obtained by multiplying the angular velocity of the moving wheel by the second sliding mode parameter.
[0252] It should be noted that different sliding surfaces correspond to different second sliding mode parameters, that is, for the creation process of different sliding surfaces, the angular velocity of the moving wheel is processed using the second sliding mode parameters, and the processing results of the moving wheel are different.
[0253] Sub-step 1136 - c , establishing the i th sliding surface according to the processing result of the i th connecting rod, the processing result of the moving wheel, and the angular velocity of the i th connecting rod.
[0254] In some embodiments, the i-th sliding mode surface is proportional to the processing result of the i-th connecting rod, the i-th sliding mode surface is proportional to the processing result of the moving wheel, and the first sliding mode surface is proportional to the angular velocity of the i-th connecting rod. Exemplarily, the robust controller adds the processing result of the i-th connecting rod, the processing result of the moving wheel, and the angular velocity of the i-th connecting rod to obtain the i-th sliding mode surface.
[0255] Optionally, the robust controller establishes the i-th sliding mode surface according to the processing result of the i-th connecting rod, the processing result of the moving wheel, the angular velocity of the i-th connecting rod and the sliding mode constant, and the sliding mode constant may be a preset value.
[0256] The robust controller determines n sliding surfaces respectively by the above method of creating the i-th sliding surface.
[0257] The n sliding surfaces can be expressed by the following formula:
[0258] Wherein, s represents a sliding surface matrix including n sliding surfaces; Including the first sliding mode parameters corresponding to the deflection angles of the n connecting rods, Including the second sliding mode parameters corresponding to the angular velocity of the moving wheel in the n sliding mode surfaces. For the explanation of other parameters, please refer to the above introduction and will not be repeated here.
[0259] By establishing n sliding surfaces in this way, while ensuring that the rotational torque of the determined n rotational joints can be calculated based on the sliding surfaces and dynamic model parameters, the number of sliding parameters and state parameters used in the process of creating the sliding surfaces is controlled, which helps to control the computational overhead of calculating the rotational torque of the n rotational joints, helps to speed up the speed of determining the rotational torque, reduce power consumption and achieve balance control of the robot.
[0260] After describing the design method of the dynamic model parameters and n sliding surfaces in the robust controller, the following describes the design of the corresponding robust controller for step 1140: calculating the rotational torques of the n revolute joints based on the sliding surfaces and the dynamic model parameters.
[0261] After establishing n sliding surfaces based on the state variables, the robust controller determines the first-order derivative formulas of the n sliding surfaces with respect to time, and uses the torque to represent the angular acceleration of the n connecting rods according to the dynamic equation (Formula 2), and the following Formula 3 is obtained:
[0262] in, represents the first-order derivative of n sliding surfaces with respect to time, is the offset parameter matrix f[] in formula 2 above f q is the offset parameter matrix f[] in formula 2 above is the proportional parameter matrix g[] in formula 2 above g q In the above formula 2, the scale parameter matrix g[] For other parameters, please refer to the above introduction and will not be described in detail.
[0263] By transposing the terms in Formula 3, we can obtain Formula 4:
[0264] Among them, sgn() is the symbol function, is a constant matrix, s T is the transposed matrix of the sliding matrix s including n sliding surfaces, |s| represents the absolute value of n sliding surfaces, Represents the first-order derivative of n sliding surfaces with respect to time. For other parameters, please refer to the above introduction and will not be repeated here.
[0265] Optionally, Formula 3 and Formula 4 are calculated in real time by the robust controller during the balancing control process.
[0266] By utilizing the properties of the sliding surface, when the sliding surface is controlled to be equal to 0, the state parameters related to the sliding surface will gradually tend to 0 along the sliding surface, that is, the wheel-legged robot returns to the equilibrium state. The state quantity (state parameters in) on the sliding surface satisfies:
[0267] The above formula can be used to express the angular velocity of the n connecting rods:
[0268] The robust controller determines the angular velocity of the n links and takes the first-order derivative with respect to time, obtaining Formula 5 which can express the angular acceleration of the n links:
[0269] Since q is a vector of the deflection angles of n connecting rods, q is split: let α represent q1 (the deflection angle of the first connecting rod), let β represent That is, β includes the deflection angles of the other links except the first link among the n links. The dynamic equation based on the n-order inverted pendulum model is written as:
[0270] In this formula, represents the angular acceleration of the first link; represents the angular acceleration of the n connecting rods except the first connecting rod; Represents the inertia related to the moving wheel in the inertia matrix M; Represents the inertia matrix M Among them is the inertia related to the first connecting rod; It refers to the inertia matrix M The inertia that is not related to the first connecting rod; m αα represents the m in the inertia matrix M qq The inertia associated with the first connecting rod; m ββ represents the m in the inertia matrix M qq The inertia that is not related to the first connecting rod; c α Indicates the deflection force received by the first connecting rod; c β g represents the eccentric force on the other connecting rods except the first connecting rod; α Indicates the gravity acting on the first mechanism; g β represents the gravity acting on the other links except the first link among the n links; τ1 represents the rotational torque of the first rotational joint; τ2 represents the rotational torque corresponding to the other rotational joints except the first rotational joint among the n rotational joints.
[0271] Adding the three formulas included in the above kinetic equation can obtain Formula 6:
[0272] In formula 6 Merge into We get formula 7:
[0273] Use Formula 5 to solve Formula 7 Performing equivalent substitutions, we obtain Formula 8:
[0274] Formula 8 is used to express Formula 9:
[0275] Formulas 5 and 9 are used to express Formula 10:
[0276] right The matrix form of the state equation is obtained by simultaneous equation:
[0277] in, I is the identity matrix.
[0278] Optionally, the system stability criterion is related to a state equation determined based on the dynamic equation and the sliding surface. For example, the stability criterion is related to the coefficient matrix in the state equation. To ensure that the system stability criterion is met, the sliding mode parameters need to satisfy the coefficient matrix of the state equation:
[0279] The characteristic roots of are distributed in the left half plane of the complex plane. This state equation can be used as a matrix inequality constraint, that is, the values of the sliding mode parameters are distributed in the left half plane of the complex plane of the coefficient matrix.
[0280] Optionally, during the balancing control process of the present application, the robust controller determines the rotational torque of the n revolute joints according to Formula 4 and the state equation. During the balancing control process, the robust controller calculates the rotational torque τ of the n revolute joints according to Formula 4. Formula 4 involves n sliding surfaces forming a sliding surface matrix s, the dynamic model parameters in Formula 2, and also sliding parameters.
[0281] The robust controller obtains the state quantity at the first moment and substitutes the state quantity at the first moment into the corresponding formula to determine the dynamic model parameters and create n sliding surfaces. The sliding mode parameters in the sliding mode surfaces meet the system stability conditions. Then, the robust controller ensures that the sliding mode parameters meet the matrix inequality constraints formed by the above state equations while calculating the rotational torque τ of the n rotational joints based on Formula 4.
[0282] For example, in the balancing control method provided in this application, sliding mode parameters that satisfy the matrix inequality constraints are first determined, and then n sliding surfaces are constructed using the sliding mode parameters. A robust controller determines a state equation based on the dynamic equation and the representation of the sliding surface (in this case, the sliding mode parameters in the sliding surface are unknown). The robust controller determines the value or value range of the sliding mode parameter under the system stability condition that the characteristic roots of the coefficient matrix that satisfies the state equation are in the left half plane, and obtains the actual value of the sliding mode parameter required in the process of creating the sliding surface. The robust controller brings the sliding mode parameters into the sliding surface and calculates the rotational torque of the n rotational joints based on the sliding surface and the dynamic model parameters.
[0283] For example, the balancing control method provided herein first randomly selects sliding mode parameters corresponding to n sliding mode surfaces within a certain numerical range, constructs n sliding mode surfaces using these sliding mode parameters, and calculates the rotational torque τ of the n revolute joints using Formula 4. A robust controller then verifies whether the four sliding mode parameters satisfy the aforementioned matrix inequality constraints. If all four sliding mode parameters satisfy the aforementioned matrix inequality constraints, the rotational torque τ of the n revolute joints can be used to control the n revolute joints. If the n sliding mode parameters do not satisfy the aforementioned matrix inequality constraints, the determined rotational torque τ of the n revolute joints cannot be used.
[0284] The method for determining sliding mode parameters is described below through several embodiments.
[0285] In some embodiments, for the i-th sliding surface among the n sliding surfaces, the robust controller determines at least two sliding mode parameters, including: determining a first sliding mode parameter among at least one sliding mode parameter from the (2i-1)-th prediction parameter set, and determining a second sliding mode parameter among at least one sliding mode parameter from the 2i-th prediction parameter set; wherein the sliding mode parameters respectively included in the (2i-1)-th prediction parameter set and the 2i-th prediction parameter set satisfy the constraints of the stability criterion.
[0286] In this embodiment, after determining the state at the first moment, the computer device first uses the state equation as a matrix inequality constraint to determine the solution sets corresponding to the sliding mode parameters required for each of the n sliding surfaces, thereby obtaining 2n prediction parameter sets. In other words, for any of the 2n prediction parameter sets, the sliding mode parameters in the prediction parameter set satisfy the system stability principle.
[0287] In the process of creating the i-th sliding surface, a first sliding parameter among at least two sliding parameters is determined from the (2i-1)-th prediction parameter set, and a second sliding parameter among at least two sliding parameters is determined from the 2i-th prediction parameter set. The i-th sliding surface is created based on the state quantity at the first moment and the above-mentioned at least two sliding parameters. Subsequently, the robust controller calculates the rotational torque of the n rotational joints according to the above formula 4.
[0288] It should be noted that this embodiment uses the example of creating a sliding surface using two sliding mode parameters to illustrate the method for determining sliding mode parameters. If creating a sliding surface requires k sliding mode parameters, then during the creation of the i-th sliding surface, one sliding mode parameter is obtained from each of the k prediction parameter sets corresponding to the i-th sliding surface, resulting in k sliding mode parameters. When k equals 2, the method described in the previous embodiment is used. k is a positive integer greater than or equal to 2. The maximum value of k is set based on practical needs and is not limited in this application.
[0289] This method helps to avoid selecting sliding mode parameters that do not meet the system stability requirements, which results in the rotational torque of the n rotational joints calculated using these sliding mode parameters being unable to control the balance of the wheel-legged robot. It improves the availability of the determined rotational torque of the rotational joints, helps avoid calculations performed by computer equipment when re-determining the rotational torque, and helps shorten the time spent on determining the rotational torque of the n rotational joints.
[0290] The following describes a method for adjusting the posture of a wheel-legged robot using the rotational torque of n rotational joints through several embodiments.
[0291] In some implementations, step 1150 in the above embodiment: controlling the n rotational joints according to the rotational torques of the n rotational joints, includes the following sub-steps:
[0292] Sub-step 1150a: for any one of the n revolute joints, control the rotary motor corresponding to the revolute joint to rotate according to the rotational torque of the revolute joint.
[0293] In this embodiment, after the robust controller calculates the rotational torque of n rotational joints, it sends the rotational torque of the n rotational joints to the rotational motors corresponding to each rotational joint respectively; for any one of the n rotational joints, the rotational motor corresponding to the rotational joint rotates according to the rotational torque of the rotational joint after receiving the rotational torque of the rotational joint, driving at least one connecting rod connected to the rotational joint to move, so that the deflection angle and angular velocity of at least one connecting rod among the n connecting rods change.
[0294] Optionally, after receiving the rotational torque of the corresponding rotational joint, the rotational motors corresponding to the n rotational joints rotate simultaneously at a second moment, so that the posture of the wheel-legged robot changes.
[0295] The position and state of the wheel-legged robot are adjusted by n rotating motors, and the balance of the wheel-legged robot is controlled, so that multiple connecting rods in the wheel-legged robot can participate in the balance control process, which helps to improve the efficiency of adjusting the posture and motion state of the wheel-legged robot according to the rotational torque.
[0296] In the above embodiment, after determining the rotational torque of the n rotational joints, the robust controller directly sends the rotational torque of the n rotational joints to the rotational motor, controls the rotational motors corresponding to the n rotational joints, so that the deflection angles of the n connecting rods change, thereby changing the posture of the wheel-legged robot and adjusting the balance state. The rotation of the rotational motor of the rotational joint is controlled based on the rotational torque of the rotational joint. After determining the rotational torque of the rotational joint, the balance state of the wheel-legged robot can be adjusted in time to help the wheel-legged robot quickly restore balance.
[0297] After the robust controller determines the rotational torque of the n rotational joints, it can also determine the rotational torque corresponding to the joints of the whole body of the wheel-legged robot based on the rotational torque of the n rotational joints, so that more links in addition to the n links in the wheel-legged robot can participate in the balance control process, and realize the combination of the balance control process and the motion process. This method is introduced and explained through several embodiments below.
[0298] In some embodiments, step 1150: controlling the rotary motors corresponding to the n rotary joints according to the rotational torques of the n rotary joints at the second moment may include the following sub-steps:
[0299] Sub-step 1153 , calculating the task acceleration of the wheel-legged robot at the second moment based on the rotational torques of the n rotational joints, where the task acceleration includes the acceleration related to the center of mass of the wheel-legged robot.
[0300] Optionally, the center of mass of the wheel-legged robot refers to an imaginary point where all the mass of the wheel-legged robot is concentrated. The center of mass of the wheel-legged robot is related to factors such as the mass distribution of each mechanism of the wheel-legged robot and the posture of the wheel-legged robot.
[0301] Optionally, the task acceleration includes, but is not limited to, at least one of the following: the acceleration of the wheel-legged robot's center of mass on the x-axis, the acceleration of the wheel-legged robot's center of mass on the y-axis, the acceleration of the wheel-legged robot's center of mass on the z-axis, the angular acceleration of the wheel-legged robot's center of mass around the x-axis, the angular acceleration of the wheel-legged robot's center of mass around the y-axis, and the angular acceleration of the wheel-legged robot's center of mass around the z-axis. Exemplarily, the task acceleration is observed in the operating space or in the joint space.
[0302] The operation space refers to the space related to the operation task of the wheel-legged robot, in which the physical quantities in the operation are observed in the Cartesian coordinate system (world coordinates), and the joint space refers to the coordinate system for observing the motion state of the joint. For example, the physical quantities in the operation space and the physical quantities in the task space can be converted. The position information of a mechanism in the operation space and the position in the joint space can be converted through kinematic formulas, and the speed in the operation space and the speed in the joint space are converted through the Jacobian matrix; wherein the Jacobian matrix refers to a matrix in which the first-order partial derivatives are arranged in a certain way.
[0303] In some embodiments, the task acceleration comprises the acceleration relative to the center of mass of the wheel-legged robot while the wheel-legged robot is performing a spatial manipulation task. Alternatively, the task acceleration is related to the position of the wheel-legged robot's center of mass relative to the wheel-legged robot. The method for determining the task acceleration is described below.
[0304] An operational space task can be understood as a task that the wheel-legged robot needs to perform in the operational space. At a given moment, the operational task that the wheel-legged robot needs to perform is determined by the wheel-legged robot's motion scenario. Optionally, the wheel-legged robot may perform multiple operational space tasks at the first moment.
[0305] Exemplarily, the types of operating space tasks include but are not limited to at least one of the following: support wheel tasks, trunk vertical direction tasks, trunk posture tasks, swinging wheel tasks, center of mass tasks, etc.; wherein, the support wheel task refers to the task related to the moving wheel of at least one moving wheel of the wheel-legged robot that is in contact with the contact surface, the trunk vertical direction task refers to the task of the torso mechanism (also referred to as the body mechanism) of the wheel-legged robot in the z-axis direction of the world coordinate system, the torso posture task refers to the task related to the Euler angle of the torso mechanism of the wheel-legged robot, and the Euler angle includes roll angle, pitch angle and yaw angle; the swinging wheel task refers to the task related to the moving wheel of at least one moving wheel of the wheel-legged robot that is not in contact with the contact surface; the center of mass task refers to the task related to the center of mass of the wheel-legged robot.
[0306] Sub-step 1156, determining the force and torque instructions of the whole body joints of the wheel-legged robot at the second moment according to the task acceleration, where the whole body joints include n rotational joints.
[0307] In some embodiments, full-body joints refer to active joints in a wheel-legged robot. Optionally, full-body joints include revolute joints and linear joints. For example, a revolute joint corresponds to a rotary motor, which changes the deflection angle, angular velocity, etc. of the connecting rod connected to the revolute joint by rotating the rotary motor. A linear joint corresponds to a linear motor, which is used to change the length of the mechanism. For example, the leg mechanism (first connecting rod) of a wheel-legged robot includes a linear motor, and the length of the leg mechanism can be adjusted by the linear motor.
[0308] In some embodiments, after determining the task acceleration, the observation module transmits the task acceleration to the whole-body dynamics controller; the whole-body dynamics controller determines the force and torque commands corresponding to each joint of the whole body based on the task acceleration. Optionally, if the wheel-legged robot is performing multiple operational space tasks at the first moment, in addition to determining the task acceleration related to the wheel-legged robot's center of mass, it is also necessary to calculate other task accelerations corresponding to each of the other operational space tasks. For details on this process, please refer to the examples below.
[0309] Optionally, the whole-body dynamics controller includes a whole-body dynamics equation for the wheel-legged robot. The whole-body dynamics equation is used to characterize the relationship between the posture of the wheel-legged robot and its whole-body state variables. The whole-body dynamics equation is derived by establishing a whole-body dynamics model for the wheel-legged robot and using kinematics.
[0310] Alternatively, the whole-body dynamics model can be expressed by the following formula:
[0311] in, represents the joint space inertia matrix, which includes the inertia of the joint rigid bodies of the whole body joints; Represents the offset forces received by the joints of the whole body in the joint space. The C matrix includes the sum of the Coriolis force, centripetal force, and gravity received by the complete wheel-legged robot. represents the selection matrix; represents the contact point Jacobian matrix; represents a contact force vector, including at least one contact force on the wheel-legged robot; Respectively represent generalized position, generalized velocity, and generalized acceleration; N G Represents the total degree of freedom of the robot, N G =N f +N J , N fis the floating degree of freedom, N J is the degree of freedom of the active joint, which is the joint that can move automatically. C Indicates the number of contact forces, N C Equal to the number of contact points n C With the dimension N of a single contact force D It should be noted that τ is a vector of force and torque commands for all joints, and τ is a vector of rotational torques for n rotational joints. The two have different meanings.
[0312] Optionally, the whole-body dynamics equation is constructed based on the rigid body dynamics of the whole-body dynamics model of the wheel-legged robot, and the whole-body dynamics equation is used to describe the relationship between the posture of the complete wheel-legged robot and the motion state of each active joint and the external force it is subjected to.
[0313] In some embodiments, the force and torque instructions include at least one of the following instructions: a force instruction and a torque instruction. Optionally, the force and torque instructions for a rotary motor include a torque instruction, which is used to control the rotary motor to rotate according to the torque instruction; and the force and torque instructions for a linear motor include a force instruction, which is used to control the linear motor to move linearly.
[0314] Sub-step 1159, controlling the joints of the whole body according to the force and torque instructions at the second moment.
[0315] After determining the force and torque instructions of the joints of the whole body, the whole body dynamics controller sends the force and torque instructions to the joint motors corresponding to the joints of the whole body. The joint motors corresponding to the joints of the whole body perform linear motion or rotation according to the received force and torque instructions, causing the posture of the wheel-legged robot to change, thereby adjusting the balance state of the wheel-legged robot.
[0316] Optionally, after the rotating motors corresponding to the n rotating motors receive force and torque instructions, the rotating motors rotate so that the deflection angle, angular velocity, and angular acceleration of at least one wheel-legged robot corresponding to the n-order inverted pendulum model change; for the active joints not considered in the n-order inverted pendulum (i.e., other active joints other than the n joints), these active joints start to move after receiving the force and torque instructions.
[0317] Illustratively, after receiving force and torque commands, the linear motors in the leg mechanisms move to change the length of the leg mechanisms, thereby changing the height of the wheel-legged robot, and causing the z-axis position of the wheel-legged robot's center of mass to change. Illustratively, the other rotary motors, except for the n rotary motors, rotate based on the received force and torque commands.
[0318] It should be noted that the rotational torque of n rotational joints and the numbers of force and torque instructions corresponding to n rotational joints may be different. In the process of determining the force and torque instructions of the whole-body joints by the whole-body dynamics controller, state quantities related to the operating space tasks of the wheel-legged robot are used, and more rotational joints are involved.
[0319] Balance control is performed using force and torque commands generated by a whole-body dynamics controller, allowing more links (more than n links) to participate in balance control, enriching the posture of the wheel-legged robot during balance adjustment, and realizing the combination of balance adjustment and the operational space tasks of the motion process. Balance adjustment is completed by combining a robust controller and a whole-body dynamics controller, providing a new idea for balance control.
[0320] The following describes a method for determining task acceleration through several embodiments.
[0321] In some embodiments, sub-step 1153: Calculate the task acceleration of the wheel-legged robot at the second moment based on the rotational torques of the n revolute joints. Sub-step 1153 can be performed by an observation module, which is used to determine the task acceleration. Optionally, the observation module is designed with a method for converting the rotational torques of the n revolute joints into task acceleration.
[0322] Optionally, sub-step 1153 may include the following sub-steps:
[0323] Sub-step 1153 - a , determining the angular acceleration at the second moment based on the dynamic equation and the rotational torques of the n revolute joints.
[0324] The dynamic equation refers to a dynamic equation obtained based on an n-th order inverted pendulum model, and the dynamic equation is related to the motion states of n mechanisms and the rotational torques of n rotational joints.
[0325] Optionally, the robust controller of the wheel-legged robot determines the rotational torques of the n rotational joints based on the state quantity at the first moment, and then sends the rotational torques of the n rotational joints to the observation module in the control system. The observation module uses the formula 2 above:
[0326] Calculate the angular acceleration of the wheel-legged robot at the second moment.
[0327] Optionally, the angular acceleration at the second moment refers to the angular acceleration related to the n-th order inverted pendulum model. Exemplarily, the angular acceleration at the second moment includes the angular accelerations of the n connecting rods at the second moment and the angular acceleration of the moving wheel at the second moment.
[0328] Sub-step 1153-b, based on the state quantity at the first moment and the angular acceleration at the second moment, determine the expected incremental position and expected incremental speed of the center of mass of the wheel-legged robot at the second moment, the expected incremental position is used to characterize the distance between the projection of the center of mass of the wheel-legged robot on the contact surface and the virtual contact point in the first direction, the expected incremental speed is used to characterize the changing speed of the distance in the above-mentioned first direction, and the virtual contact point refers to the center of each contact point of the wheel-legged robot and the contact surface.
[0329] In some embodiments, when at least two moving wheels of a wheel-legged robot are in contact with a contact surface, the virtual contact point refers to the center of a line connecting the contact points of the at least two moving wheels with the contact surface.
[0330] In some embodiments, the expected position increment is used to represent the position of the center of mass of the wheel-legged robot relative to the wheel-legged robot. The expected incremental velocity is the first-order derivative of the expected position increment with respect to time, that is, the expected position increment is used to represent the velocity at which the center of mass of the legged robot changes relative to the wheel-legged robot.
[0331] Optionally, the expected position increment and the expected velocity increment refer to the relative position and relative velocity of the wheel-legged robot's center of mass in a first direction, respectively. The first direction refers to the wheel-legged robot's forward direction (i.e., the x-axis direction in the world coordinate system). If the wheel-legged robot involves left-right movement (i.e., the y-axis direction in the world coordinate system), the expected velocity increment refers to the component of the relative velocity of the wheel-legged robot's center of mass in the first direction.
[0332] In some embodiments, after determining the angular acceleration at the second moment, the observation module uses the forward kinematics method to determine the expected incremental position and expected incremental velocity of the center of mass of the wheel-legged robot at the second moment based on the acceleration at the second moment, the deflection angle of the n links, the rotation angle of the moving wheel, the angular velocity of the n links, the configuration, model, and parameters of the wheel-legged robot.
[0333] Optionally, when the acceleration at the second moment, the deflection angles of n mechanisms, the rotation angles of the moving wheels, the angular velocities of n mechanisms and other state quantities are known, the position and velocity of the end of the wheel-legged robot are calculated according to forward kinematics, that is, the posture of the wheel-legged robot at the second moment is determined; based on the position of the wheel-legged robot in the operating space and the posture of the wheel-legged robot, the position of the center of mass of the wheel-legged robot in the operating space can be calculated, thereby obtaining the expected incremental position and the expected incremental velocity.
[0334] Sub-step 1153 - c , determining the task acceleration of the wheel-legged robot at the second moment based on the expected incremental position and the expected incremental speed.
[0335] In some embodiments, the observation module determines the reference state variable group of the center of mass of the wheel-legged robot based on the expected incremental position and the expected incremental speed; the observation module determines the task acceleration based on the reference state variable group and the actual state variable group of the center of mass of the legged robot.
[0336] The reference state variable group is used to represent: the state variables of the center of mass of the wheel-legged robot at the second moment inferred by kinematics. Optionally, the reference state variable group includes: the expected incremental position Δx r , expected incremental speed Desired location Expected speed The expected position refers to the operation space position of the center of mass of the wheel-legged robot at the second moment, or the joint space position at the second moment, and the expected velocity refers to the first-order derivative of the expected position with respect to time.
[0337] The actual state variable group is used to characterize the state variables of the wheel-legged robot obtained by sensor observation. Optionally, the actual state variable group includes the actual incremental position Δx a , actual incremental speed Actual location Actual speed The actual position refers to the position of the center of mass of the wheel-legged robot in the operating space, and the actual speed refers to the first-order derivative of the actual position with respect to time.
[0338] Optionally, the mission acceleration of the wheel-legged robot at the second moment is It can be calculated by the following formula:
[0339] Where K represents the shape feedback gain matrix. For example, LQR is used to construct the objective function of the inverted pendulum dynamics equation. Then, with the goal of minimizing the objective function, the feedback gain matrix of the inverted pendulum dynamics equation is iteratively obtained. LQR is based on the quadratic programming optimization method. Its essence is to find a multidimensional vector that minimizes (or maximizes) the quadratic objective function of the multidimensional vector under linear constraints.
[0340] In some embodiments, the observation module sends the calculated task acceleration of the wheel-legged robot to the whole-body dynamics controller. The whole-body dynamics controller generates force and torque instructions for the whole-body joints of the wheel-legged robot based on the task acceleration. The whole-body dynamics controller sends the force and torque instructions of the whole-body joints to the joint motors corresponding to each active joint to control the movement of the whole-body joints, thereby adjusting the posture of the wheel-legged robot so that the wheel-legged robot maintains a balanced state.
[0341] In some embodiments, the observation module generates force and torque instructions for the whole-body joints of the wheel-legged robot based on the task acceleration, including the following steps: the whole-body dynamics controller determines the expected operation space task of the wheel-legged robot at the second moment, and the expected operation space task includes at least one task acceleration corresponding to the operation space task; the whole-body dynamics controller performs spatial transformation on the expected operation space task to obtain the expected joint space task; the whole-body dynamics controller brings the expected joint space task into the whole-body dynamics equation of the wheel-legged robot to obtain force and torque instructions for the whole-body joints.
[0342] Optionally, the expected operation space task includes a task acceleration at the second moment. It can be expressed as:
[0343] in, Refers to the first acceleration corresponding to the support wheel task, Refers to the second acceleration corresponding to the task in the vertical direction of the trunk, Refers to the third acceleration corresponding to the trunk posture task, The fourth acceleration corresponding to the swing wheel task, It refers to the task acceleration corresponding to the center of mass task. Optionally, the operation space tasks of the wheel-legged robot are different at different times, that is, the values of some accelerations included in the expected operation space tasks can be 0.
[0344] Optionally, the relationship between the acceleration in the operation space included in the desired operation space task and the joint space velocity and acceleration in the joint space task is:
[0345] Among them, J t represents the Jacobian matrix of the action space task, Derivative of the Jacobian matrix representing the task in the action space.
[0346] According to the whole body dynamics equation: Expected joint space task Can calculate Where τ represents the force and torque commands of the joints throughout the body.
[0347] To improve the rationality of force and torque commands for joints throughout the body, at least one constraint is added during the solution of the whole-body dynamics equations. The constraint includes, but is not limited to, at least one of the following: joint physical constraints and friction constraints.
[0348] Optionally, the joint physical constraint is used to limit the force and torque instructions according to the characteristics of the joint motors corresponding to the joints of the wheel-legged robot. The joint physical constraint can be expressed as: τ lb ≤τ≤τ ub
[0349] Where τ represents the matrix of force and torque instructions for joints throughout the body, τ lb Represents the matrix including the minimum values of the force and torque instructions corresponding to each active joint, τ ub Represents a matrix including the maximum values of the force and torque commands corresponding to each active joint.
[0350] Optionally, the friction constraint is to set the contact force f at the i-th contact point to i The friction cone constraint should be satisfied. To reduce nonlinearity, the friction cone can be approximated as a friction angle cone, and the friction force inequality constraint can be expressed as:
[0351] Among them, n x 、n y 、n z They represent the unit orthogonal basis along the contact surface of the operation space system, μ i represents the friction coefficient, f i,zlb 、f i,zub They represent the minimum and maximum values of the non-negative positive pressure perpendicular to the contact surface, respectively.
[0352] The following describes the process of solving the whole-body dynamics equation. Optionally, the process can be completed by an optimizer: the whole-body dynamics equation is expressed as a polynomial solution in the form of AX=B.
[0353] in, Use the quadratic programming optimizer to construct the objective function, which can be expressed as: J = min (AX-B) T Q(AX-B)+X T RX; where Q and R are weight matrices, the minimum value of the objective function is calculated by the quadratic programming optimizer to obtain By calculating the variables in , we can get the force and torque instructions τ of the joints of the whole body.
[0354] This method can independently determine the force and torque instructions corresponding to each joint of the body. In a scenario where multiple real wheels of a wheel-legged robot do not overlap in the first direction, control of at least one real wheel and at least one real first rotational joint can also be achieved.
[0355] The following describes a method for determining each expected acceleration in the expected operation space task. The method for determining each element in the expected operation space task is pre-set. Optionally, the expected acceleration is determined based on the actual acceleration and the reference acceleration.
[0356] 1. The first acceleration corresponding to the support wheel task Method of determination.
[0357] Since the support wheel rolls on the contact surface and there is no relative sliding between the support wheel and the contact surface, the expected acceleration of the support wheel is is always equal to 0; the expected acceleration of the support wheel can be expressed as If a wheel-legged robot operates in four-wheel mode, it has four support wheels, each with a task in the x-direction. Assuming the support wheels remain grounded, their height along the z-axis of the world coordinate system is constant, so the four support wheels' tasks in the z-direction are not considered for now. Assuming the wheel-legged robot does not perform left or right turns or translational motion along the y-axis of the world coordinate system in four-wheel mode, the four support wheels' tasks in the y-direction are not considered for now.
[0358] If a wheel-legged robot operates in two-wheel balancing mode, it has two support wheels and two moving wheels called swing wheels. We will not consider the tasks of the support wheels for now; the tasks related to the two support wheels are already covered in the "Center of Mass Task" section below. The tasks of the two swing wheels also involve both the x-axis and the z-axis. If we do not consider the left and right turns of the wheel-legged robot in two-wheel balancing mode and its translational motion along the y-axis, we will not consider the tasks of the two swing wheels in the y-direction for now.
[0359] 2. Second acceleration corresponding to the trunk vertical direction task Method of determination.
[0360] The camera in the wheel-legged robot obtains the position information of the support wheels at multiple future moments by capturing the height changes of the contact surface within the field of view. The expression formula of the position information at multiple future moments is determined through planning methods such as spline curve interpolation, and the vertical reference position of the torso mechanism is determined based on the expression formula. speed acceleration According to the IMU sensor and the deflection angle (joint angle) and angular velocity of the mechanism, the actual vertical position of the trunk mechanism is calculated by forward kinematics. speed Construct a PD (Proportional Derivative) feedback controller corresponding to the trunk vertical direction task and calculate the desired acceleration in the trunk vertical direction, also known as the second acceleration
[0361] 3. The third acceleration corresponding to the trunk posture task Method of determination.
[0362] In some scenarios (such as climbing stairs), the trunk of the wheel-legged robot needs to be kept vertical as much as possible, and the trunk will not rotate, that is, the Euler angle reference trajectory composed of the roll angle, pitch angle, and yaw angle of the trunk is zero, that is, The wheel-legged robot calculates the actual Euler angle based on the observation results of the IMU sensor according to the forward kinematics formula Angular velocity The desired angular acceleration of the trunk can be calculated by the PD feedback controller corresponding to the trunk posture task: that is, the third acceleration
[0363] 4. The fourth acceleration corresponding to the swing wheel task Method of determination.
[0364] In scenarios with two-wheel balancing, for example, when the two-wheel balancing is moving on the ground, the two swinging wheels are required to present specific postures and movements, or when the two wheels are moving forward on the ground, the supporting wheel leg and the swinging wheel leg are switched, or when walking up and down stairs, the supporting wheel leg and the swinging wheel leg are switched, etc., there are corresponding fourth accelerations.
[0365] The reference position of the swing wheel in the operating space is planned by spline curve interpolation method speed acceleration Based on the observation results of the IMU sensor, joint angle and angular velocity information, the actual position of the swing wheel is calculated according to forward kinematics speed By constructing the PD feedback controller corresponding to the swing wheel task, the expected acceleration of the swing wheel can be calculated: that is, the third acceleration The PD feedback controller calculates the third acceleration The formula is as follows:
[0366] 5. Task acceleration corresponding to the center of mass task Method of determination.
[0367] Optionally, a reference position of the center of mass along the forward direction is planned using a heuristic or model-based approach speed During the movement of the wheel-legged robot, the execution center of mass of the wheel-legged robot not only needs to move continuously along the forward direction, but also needs to be within the range of the wheel-legged robot to maintain dynamic balance. Based on this, a method for determining the expected acceleration of the center of mass (that is, the task acceleration) is designed.
[0368] Assuming that the mass of the wheel-legged robot is concentrated at the center of mass of the wheel-legged robot, the center of the line connecting at least two supporting wheels is set as the virtual contact point between the inverted pendulum related to the center of mass and the contact surface. The center of mass and the virtual contact point are connected to construct an inverted pendulum model of the center of mass.
[0369] FIG12 is a schematic diagram of a mass-center related inverted pendulum provided by an exemplary embodiment of the present application.
[0370] The center of mass of the wheel-legged robot is 1210, and the virtual contact point is 1220. Based on the inverted pendulum model related to the center of mass, the dynamic equation related to the center of mass is determined:
[0371] Using the linear quadratic programming regulator, determine the feedback gain matrix K. Based on the LQR controller, the input of the state equation can be obtained: in, represents the actual state variable group, Represents the actual state variable group. For other parameters, please refer to the above introduction and will not be repeated here.
[0372] In some embodiments, the balance control method provided herein is continuously executed during the operation of the wheel-legged robot. Specifically, the robust controller continuously acquires the current state, determines the dynamic model parameters based on the current state, establishes a sliding surface, and then determines the rotational torques of the n revolute joints based on the dynamic model parameters and the sliding surface.
[0373] In other embodiments, when the IMU sensor detects a dramatic change in the deflection angle of a certain link (e.g., the first link) in a wheel-legged robot, the robust controller executes the balance control method starting at step 1110. For example, if at a certain moment the IMU sensor detects that the deflection angle of the first link has changed by more than an angle threshold, the IMU sensor sends its detected state parameters to the robust controller, initiating a balance adjustment process. Optionally, the angle threshold is pre-set.
[0374] In other embodiments, when the moving wheel does not receive the control signal from the controller and the motor encoder detects that the moving wheel moves, the robust controller starts to execute the balancing control method starting from step 1110 .
[0375] By using this method, the balance of the wheel-legged robot is intermittently controlled through a robust controller. This helps save the energy consumption of the wheel-legged robot, improve the wheel-legged robot's ability to resist external interference, and improve the robustness of the balance control without greatly affecting the balance control effect.
[0376] The following is an example to introduce the process of the balance control method: In some embodiments, the IMU sensor detects that the deflection angle change of the first link is greater than the angle threshold, indicating that under the external force disturbance, the wheel-legged robot has undergone a large swing change, affecting the balance of the wheel-legged robot, and the robust controller starts the balance control process.
[0377] Step A10: The robust controller obtains the first moment t i The state quantity includes: the deflection angles q1, q2, ..., q n , the angular velocity of the moving wheel Angular velocity of n connecting rods
[0378] Step A20: The robust controller substitutes the state variables at the first moment into the dynamic equations to determine the inertia matrix, deflection force matrix, and gravity matrix at the first moment. This step mainly uses the formula:
[0379] The robust controller uses the selection matrix to process the product of the inverse matrix of the inertia matrix and the deflection force matrix, and the product of the inverse matrix of the inertia matrix and the gravity matrix to obtain the offset parameter matrix. The formula used to calculate the offset parameter matrix is mainly:
[0380] The robust controller uses the selection matrix to process the inverse matrix of the inertia matrix to obtain the proportional parameter matrix. The formula used to calculate the proportional parameter matrix is mainly:
[0381] Step A30: The robust controller determines the sliding mode parameters to be used for each of the n sliding mode surfaces from the prediction parameter set.
[0382] Step A40: The robust controller creates n sliding surfaces according to:
[0383] Step A50: Calculate the rotational torque of the n rotational joints based on the sliding surface and the dynamic model parameters. In the process of calculating the rotational torque of the n rotations, the main formulas used are Formula 3 and Formula 4 above; these two formulas are specifically Formula 3: Formula 4:
[0384] Optionally, after determining the rotational torque of the n rotational joints, the robust controller can also first determine whether to continue the balance adjustment process. For example, the robust controller determines whether the rotational torque of the n rotational joints is greater than the first threshold. If the rotational torque of the n rotational joints is greater than the first threshold, the robust controller continues to execute step A60; if the rotational torque of the n rotational joints is less than the first threshold, the robust controller does not execute step A60, and the balance control ends.
[0385] Step A60: At the second time t i+1 The wheel-legged robot controls the rotational motors of the n rotational joints based on the rotational torques of the n rotational joints, adjusting the angle between the trunk link and the leg link. Steps A10-A60 are repeated until the balance control process is complete. It should be noted that the formulas in this example are all from the previous embodiments. For explanations of the parameters in these formulas, please refer to the previous embodiments and will not be repeated here.
[0386] By abstracting the wheel-legged robot into an n-order inverted pendulum model, the joint motors of multiple rotating joints can be adjusted during the balance adjustment process, making the postures of multiple connecting rods more diverse during the balance adjustment process, helping to reach a balance state more quickly and improving the robustness of the balance control method.
[0387] The following is another example to illustrate the process of the balance control method:
[0388] In the balancing control process, step B10: the robust controller obtains the first moment t i The state quantity includes: the deflection angles q1, q2, ..., q n , the angular velocity of the moving wheel Angular velocity of n connecting rods
[0389] Step B20: The robust controller substitutes the state variables at the first moment into the dynamic equations to determine the inertia matrix, deflector matrix, and gravity matrix at the first moment. The robust controller then uses the selection matrix to process the product of the inverse inertia matrix with the deflector matrix, and the product of the inverse inertia matrix with the gravity matrix, respectively, to obtain an offset parameter matrix. For details on this process, please refer to the above embodiment and will not be elaborated on here.
[0390] Step B30: The robust controller determines the sliding mode parameters to be used for each of the n sliding modes from the prediction parameter set.
[0391] Step B40: The robust controller creates n sliding surfaces based on the sliding mode parameters and state quantities:
[0392] Step B50: Calculate the rotational torques of the n revolute joints based on the sliding surface and the dynamic model parameters. Optionally, after determining the rotational torques of the n revolute joints, the robust controller determines whether the rotational torques of the n revolute joints are greater than a first threshold. If the rotational torques of the n revolute joints are greater than the first threshold, the robust controller continues to execute step B50. If the rotational torques of the n revolute joints are all less than the first threshold, the robust controller does not execute step B50, and balancing control ends.
[0393] Step B60: The robust controller sends the rotational torque of the n rotational joints to the observation module, and the observation module determines the task acceleration based on the rotational torque of the n rotational joints; the observation module sends the task acceleration to the whole-body dynamics controller, and the whole-body dynamics controller determines the force and torque instructions of the whole-body joints based on the task acceleration, and the whole-body dynamics controller sends corresponding force and torque instructions to each joint motor.
[0394] Step B70: At the second time t i+1 The wheel-legged robot controls the movement of the motors corresponding to the joints throughout the body according to the force and torque commands, adjusting the posture of the wheel-legged robot. Steps B10-B70 are repeated until the balance control process is complete. It should be noted that the formulas used in this example are all those mentioned in the previous embodiments. The explanations of the parameters in these formulas are provided in the previous embodiments and are not detailed here.
[0395] By abstracting the wheel-legged robot into an n-order inverted pendulum model, calculating the rotational torque of n rotational joints, and determining the task acceleration of the wheel-legged robot based on the rotational torque of the n rotational joints, the input of the whole-body dynamics controller in the balance control process is obtained, so that the whole-body dynamics controller can calculate the force and torque instructions of the whole-body joints, so that each mechanism in the wheel-legged robot can participate in the balance control process, further enriching the posture of the wheel-legged robot in the balance control process, and helping to improve the robustness of the balance control method.
[0396] The following takes n equal to 2 as an example to introduce the balance control method. As shown in Figure 9, when n is equal to 2, the n-order inverted pendulum model includes a moving wheel, 2 connecting rods and two rotational joints. Optionally, the 2 connecting rods refer to the leg mechanism and the trunk mechanism of the wheel-legged robot. If the wheel-legged robot has multiple moving wheels, the first moving wheel in contact with the contact surface among the multiple moving wheels coincides in the y-axis direction of the world coordinate system, and the leg mechanisms respectively connected to at least one first moving wheel coincide in the y-axis direction. The leg mechanism and the moving wheel are connected by a first rotational joint, and the trunk mechanism and the leg mechanism are connected by a second rotational joint. As shown in Figure 13, the balance control method includes the following steps:
[0397] Step 1310: Obtain the state quantity of the wheel-legged robot at the first moment, where the state quantity at the first moment is used to characterize the motion state of the wheel-legged robot at the first moment.
[0398] Optionally, the state quantity at the first moment includes at least one of the following: the deflection angle α of the leg mechanism, the deflection angle β of the trunk mechanism, the angular velocity of the moving wheel Angular velocity of the leg mechanism and the angular velocity of the trunk The state quantity can be represented by the symbol ξ, and the state quantity ξ can be expressed as: The physical quantities included in the state quantity are observed in the world coordinate system. Among them, the deflection angle α of the leg mechanism refers to the deflection angle of the leg mechanism relative to the z-axis in the world coordinate system, the deflection angle β of the trunk mechanism refers to the deflection angle of the trunk mechanism relative to the z-axis in the world coordinate system, and the angular velocity of the moving wheel Refers to: the rotation speed of the moving wheel in the counterclockwise (or clockwise) direction of the x-axis in the world coordinate system, the angular velocity of the leg mechanism Used to represent the deflection angle change rate of the leg mechanism and the angular velocity of the torso mechanism Used to characterize the speed of change of the deflection angle of the leg-torso mechanism.
[0399] It should be noted that the physical quantities in the state quantities can also be determined by the relative positions between the various mechanisms of the wheel-legged robot. For example, the deflection angle α of the leg mechanism refers to the deflection angle of the leg mechanism relative to the z-axis in the world coordinate system, and the deflection angle β′ of the trunk mechanism refers to the deflection angle of the trunk mechanism relative to the leg mechanism, that is, β = α + β′ (β′ and β have the same positive direction). The coordinate system used to observe each physical quantity is determined according to actual needs and is not limited here.
[0400] In some embodiments, the computer device obtains the state quantity of the wheel-legged robot at the first moment, including: determining the deflection angle α of the leg mechanism and the deflection angle β of the trunk mechanism through the IMU sensor and the motor encoder; determining the angular velocity of the moving wheel through the motor encoder Angular velocity of the leg mechanism and the angular velocity of the trunk
[0401] Step 1320: Determine the dynamic model parameters based on the dynamic equation of the wheel-legged robot and the state quantity at the first moment.
[0402] Step 1320 includes the following sub-steps: Sub-step 1323: The robust controller substitutes the state quantity at the first moment into the dynamic equation to determine the inertia matrix, deflection force matrix and gravity matrix at the first moment. The inertia matrix is used to characterize the mass and moment of inertia of each joint rigid body constituting the wheel-legged robot at the first moment. The deflection force matrix is used to characterize the deflection force of the wheel-legged robot at the first moment. The gravity matrix is used to characterize the gravity of the wheel-legged robot at the first moment.
[0403] Sub-step 1326: Determine the dynamic model parameters based on the inertia matrix, the deflection force matrix, and the gravity matrix.
[0404] When n is equal to 2, after abstracting the wheel-legged robot into a second-order inverted pendulum model, the dynamic equation used in the balance control process derived based on the Euler-Lagrange equation can be expressed as:
[0405] Optionally, the dynamic model parameters are derived and determined based on a second-order inverted pendulum model used for balance control; the dynamic model parameters include: a proportional parameter matrix and an offset parameter matrix.
[0406] In the design process of robust controller, the dynamic equations are:
[0407] After partial linearization, we get formula a:
[0408] Among them, M -1 (α, β) is the inverse matrix of the inertia matrix, M -1 (α, β)*M(α, β)=E, where E is the unit matrix. The physical meanings of other parameters in the equation can be referred to the above embodiment and will not be elaborated on here.
[0409] Formula a is processed so that the rotational torque τ1 of the first revolute joint and the rotational torque τ2 of the second revolute joint are unified in formula a. Formula a is processed using a selection matrix to obtain formula b:
[0410] in, That is the offset parameter matrix f[], That is the scale parameter matrix g[], S T is the transposed matrix of matrix S, S T The matrix is a 3*2 selection matrix, for example, S T The matrix is specifically
[0411] Formula b can be pre-designed after the wheel-legged robot is abstracted into a second-order inverted pendulum model. During the balance control method, after the robust controller obtains the state quantity at the first moment, it substitutes the state quantity at the first moment into the dynamic equation to determine the inertia matrix, deflection force matrix and gravity matrix at the first moment; according to the inertia matrix, deflection force matrix and gravity matrix, the dynamic model parameters are determined.
[0412] Optionally, sub-step 1326 may be implemented as follows: the robust controller uses a selection matrix to process the product of the inverse matrix of the inertia matrix and the deflection force matrix, and the product of the inverse matrix of the inertia matrix and the gravity matrix, respectively, to obtain an offset parameter matrix; the selection matrix is used to extract the rotational torque of the first revolute joint and the rotational torque of the second revolute joint from the dynamic equation; and the robust controller uses the selection matrix to process the inverse matrix of the inertia matrix to obtain a scale parameter matrix. For details of this process, please refer to the above embodiment and will not be elaborated here.
[0413] That is to say, during the balancing control process, the robust controller can calculate the proportional parameter matrix and the dynamic model parameter matrix according to formula b and the various equations in part (5) of the specification corresponding to FIG9 .
[0414] Step 1330: Establish a sliding surface based on the state quantity at the first moment, and the state quantity of the wheel-legged robot gradually approaches 0 on the sliding surface.
[0415] When n is 2, the rotational torque of the first revolute joint and the rotational torque of the second revolute joint need to be determined, and the robust controller needs to establish two sliding surfaces. These two sliding surfaces include: 1. The sliding surface of the first revolute joint, that is, the sliding surface on which the state variables related to the first revolute joint gradually tend to zero; 2. The sliding surface of the second revolute joint, that is, the sliding surface on which the state variables related to the second revolute joint gradually tend to zero.
[0416] Optionally, the first sliding surface is different from the second sliding surface. The purpose of setting the first sliding surface and the second sliding surface is to calculate the rotational torque of the first rotational joint and the rotational torque of the second rotational joint. The first sliding surface and the second sliding surface jointly participate in the calculation process of the rotational torque of the first rotational joint and the second rotational joint. The definition of the first sliding surface may not be limited to being the sliding surface corresponding to the first rotational joint. Similarly, the definition of the second sliding surface may not be limited to being the sliding surface corresponding to the second rotational joint. The first sliding surface and the second sliding surface may be defined according to actual needs, and this application does not limit this.
[0417] From the introduction of the n-order inverted pendulum model above, we can see that in order to ensure the calculation of a certain torque, establishing the sliding surface requires at least 3 state parameters and at least 2 sliding parameters in the state quantity; among them, the state quantity is written as Then α, β, These are all state parameters.
[0418] In some embodiments, step 1330 includes, sub-step 1333: the robust controller determines at least four sliding mode parameters, the sliding mode parameters are used to constrain the rotational torque of the first rotational joint and the rotational torque of the second rotational joint to meet the system stability condition of the wheel-legged robot.
[0419] Optionally, different state parameters and sliding parameters are used to establish different sliding surfaces. For example, establishing the first sliding surface requires at least the deflection angle of the leg mechanism, the angular velocity of the moving wheel, and the angular velocity of the leg mechanism among the state quantities; establishing the second sliding surface requires at least the deflection angle of the trunk mechanism, the angular velocity of the moving wheel, and the angular velocity of the trunk mechanism among the state quantities at the first moment; in this case, the at least two sliding parameters included in the first sliding surface are: the sliding parameter corresponding to the deflection angle of the leg mechanism, and the sliding parameter corresponding to the angular velocity of the moving wheel. The at least two sliding parameters included in the second sliding surface are: the sliding parameter corresponding to the deflection angle of the trunk mechanism, and the sliding parameter corresponding to the angular velocity of the moving wheel.
[0420] In some embodiments, step 1330 further includes sub-step 1336 , in which the robust controller establishes a first sliding surface and a second sliding surface according to the state quantity at the first moment and at least four sliding mode parameters.
[0421] Optionally, the robust controller establishes a first sliding surface based on the first sliding parameter, the second sliding parameter, the deflection angle of the leg mechanism, the angular velocity of the moving wheel and the angular velocity of the leg mechanism; and establishes a second sliding surface based on the third sliding parameter, the fourth sliding parameter, the deflection angle of the trunk mechanism, the angular velocity of the trunk mechanism and the angular acceleration of the leg mechanism.
[0422] Exemplarily, the robust controller processes the deflection angle of the leg mechanism using a first sliding mode parameter to obtain a processing result of the leg mechanism; processes the angular velocity of the moving wheel using a second sliding mode parameter to obtain a processing result of the moving wheel. The robust controller determines a first sliding mode surface based on the processing result of the leg mechanism, the processing result of the moving wheel, and the angular velocity of the leg mechanism. Optionally, the first sliding mode surface is proportional to the processing result of the leg mechanism, the first sliding mode surface is proportional to the processing result of the moving wheel, and the first sliding mode surface is proportional to the angular velocity of the leg mechanism.
[0423] For example, the robust controller adds the processing results of the leg mechanism, the processing results of the moving wheels, and the angular velocity of the leg mechanism to obtain the first sliding surface.
[0424] Exemplarily, the robust controller processes the deflection angle of the trunk mechanism using a third sliding mode parameter to obtain a processing result of the trunk mechanism; processes the angular velocity of the moving wheels using a fourth sliding mode parameter to obtain a processing result of the moving wheels; and the robust controller determines a second sliding mode surface based on the processing result of the trunk mechanism, the processing result of the moving wheels, and the angular velocity of the trunk mechanism. Optionally, the second sliding mode surface is proportional to the processing result of the trunk mechanism, the second sliding mode surface is proportional to the processing result of the moving wheels, and the second sliding mode surface is proportional to the angular velocity of the leg mechanism.
[0425] For example, the robust controller adds the processing result of the trunk mechanism, the processing result of the moving wheel, and the angular velocity of the trunk mechanism to obtain the second sliding surface.
[0426] In some embodiments, during the balancing control process, the robust controller establishes a first sliding mode surface s1 and a second sliding mode surface s2 according to the following two formulas: s1 = λ1ξ1 + λ2ξ3 + ξ4 s2 = λ3ξ2 + λ4ξ3 + ξ5
[0427] Among them, λ1 represents the first sliding mode parameter, λ2 represents the second sliding mode parameter, λ3 represents the third sliding mode parameter, λ4 represents the fourth sliding mode parameter, and ξ1 represents the state quantity The first element α, ξ2 in represents the state quantity The second element β,ξ3 in represents the state quantity The third element in ξ4 represents the state quantity The fourth element in ξ5 represents the state quantity The fifth element in
[0428] By establishing the first sliding surface and the second sliding surface in this way and controlling the number of sliding parameters in the first sliding surface and the second sliding surface, the rotational torque of the first revolute joint and the rotational torque of the second revolute joint that meet the system stability principle can be determined with a small computational cost, which helps to improve the speed of determining the rotational torque and realize the balance control of the robot.
[0429] Step 1340 : Calculate the rotational torque of the first revolute joint and the rotational torque of the second revolute joint according to the sliding surface and the dynamic model parameters.
[0430] After determining the first sliding surface and the second sliding surface, the robust controller calculates the first-order derivative formula of the first sliding surface s1 with respect to time and the first-order derivative function formula of the second sliding surface s2 with respect to time:
[0431] in, represents the first-order derivative of the first sliding surface s1 with respect to time, represents the first-order derivative of the second sliding surface s2 with respect to time, f k (k∈(1, 2, 3)) is the element in the offset parameter matrix f[] in formula 2 above, g mn (m∈(1, 2, 3), n∈(1, 2, 3)) are the elements in the scale parameter matrix g[] in formula 2 above.
[0432] Arrange the first-order derivative formula of the first sliding surface s1 with respect to time and the first-order derivative formula of the second sliding surface s2 with respect to time into a matrix form, and obtain formula c:
[0433] Shifting the terms of formula c yields formula d:
[0434] in, g s -1 g s The inverse matrix of , sgn() is the sign function,
[0435] Formula d can be further written as formula e:
[0436] That is, when n = 2 in the n-order inverted pendulum model, Formula 4 above is implemented as Formula d, and Formula 5 is implemented as Formula e. In the method for balancing control based on the second-order inverted pendulum model, the calculation process of the rotational torque of the first revolute joint and the rotational torque of the second revolute joint requires the use of Formula d and Formula e.
[0437] Optionally, the robust controller needs to consider the system stability condition during the calculation of the torque. For a method of satisfying the system stability condition during the balance control process of the second-order inverted pendulum model, please refer to the following embodiment.
[0438] Step 1350: at the second moment, adjusting the angle between the leg mechanism and the moving wheel according to the rotational torque of the first rotational joint, and adjusting the angle between the trunk mechanism and the leg mechanism according to the rotational torque of the second rotational joint.
[0439] In one implementation, the robust controller transmits the rotational torque of the first revolute joint and the rotational torque of the second revolute joint to the joint motor of the first revolute joint and the joint motor of the second revolute joint. That is, step 1350 is implemented as follows: the robust controller adjusts the angle between the leg mechanism and the moving wheel according to the rotational torque of the first revolute joint via the rotational motor of the first revolute joint; and the robust controller adjusts the angle between the trunk mechanism and the leg mechanism according to the rotational torque of the second revolute joint via the rotational motor of the second revolute joint.
[0440] In another implementation, after the robust controller determines the rotational torque of the first rotational joint and the rotational torque of the second rotational joint, the robust controller sends the rotational torque of the first rotational joint and the rotational torque of the second rotational joint to the observation module, and the observation module calculates the angular acceleration at the first moment through the rotational torque of the first rotational joint, the rotational torque of the second rotational joint and the dynamic equation; and calculates the task acceleration of the wheel-legged robot based on the angular acceleration at the first moment; the observation module sends the task acceleration to the whole-body dynamics controller; the whole-body dynamics controller determines the force and torque instructions of the whole-body joints of the wheel-legged robot based on the task acceleration; the whole-body dynamics controller controls the joint motor of the first rotational joint to adjust the angle between the leg mechanism and the moving wheel according to the force and torque instructions of the first rotational joint in the force and torque instructions of the whole-body joints; the whole-body dynamics controller controls the joint motor of the second rotational joint to adjust the angle between the trunk mechanism and the leg mechanism according to the force and torque instructions of the second rotational joint in the force and torque instructions of the whole-body joints.
[0441] Optionally, the whole-body dynamics controller can also control the movements of other joints in the wheel-legged robot except the first rotational joint and the second rotational joint according to the force and torque instructions of the whole-body joints, so that more active joints can participate in the balance control process, enriching the posture of the wheel-legged robot during the balance control process.
[0442] For a detailed introduction to this content, please refer to the relevant content in the n-order inverted pendulum model above, which will not be repeated here.
[0443] In summary, based on the abstraction of the wheel-legged robot into a second-order inverted pendulum model, the angle between the moving wheel and the leg mechanism can be adjusted during the balance control process, as well as the angle between the trunk mechanism and the leg mechanism can be adaptively adjusted; the robot's posture during the balance adjustment process is enriched, making the robot's posture change more flexible, which helps to quickly adjust the robot to a balanced state, improve the robot's ability to return to a balanced state under different disturbance forces, and improve the robustness of the robot's balance control process.
[0444] The following describes an embodiment of the process of satisfying the system stability criterion during the calculation of the rotational torque of the first rotational joint and the rotational torque of the second rotational joint.
[0445] From the definition and properties of the sliding surface, it can be seen that the state parameters on the sliding surface satisfy: s1=λ1ξ1+λ2ξ3+ξ4=0 s2=λ3ξ2+λ4ξ3+ξ5=0
[0446] The above two formulas can be used to express ξ4 and ξ5: ξ4=-λ1ξ1-λ2ξ3 ξ5=-λ3ξ2-λ4ξ3
[0447] Then the first-order derivative of ξ4 with respect to time is The first derivative of ξ5 with respect to time It can be expressed as:
[0448] Since ξ4 represents ξ1 represents α, ξ5 represents ξ2 represents β; therefore, ξ1, ξ2 can be expressed by the following formula:
[0449] Review the dynamic equation of the second-order inverted pendulum model in polynomial form mentioned above:
[0450] The polynomial form of the dynamic equation includes three formulas that can be added together to obtain the formula f:
[0451] Replace the formula f Make substitutions and get formula g:
[0452] Arrange formula g to get formula h:
[0453] The inverse expression is expressed by the formula h get:
[0454] Included The three formulas are combined to obtain equation group 1:
[0455] Due to space constraints, Eq. The representation on the right side of the equation is somewhat distorted. The “[]” represents an algebraic expression, not a matrix or other meaning. Please refer to the above equation group 1. To understand the equation 1 in terms of The way of expressing.
[0456] The equation group 1 can be written as a state equation about the state variables (ξ1, ξ2, ξ3). Alternatively, the state equation refers to an equation related to the state quantity.
[0457] For ease of reading, use a1 to represent m1 represents m2 represents m3 represents The state equation can be written as:
[0458] Optionally, the system stability criterion refers to that the characteristic roots of the coefficient matrix in the state equation determined according to the sliding surface and the dynamic equation are negative, that is, the characteristic roots are distributed in the left half plane of the phase plane.
[0459] In order to ensure that the system meets the stability criterion, the coefficient matrix needs to be satisfied The characteristic roots of are all distributed in the left half plane of the complex plane. This state equation can be used as a matrix inequality constraint, that is, the value of the sliding mode parameter needs to make the characteristic roots of the coefficient matrix negative.
[0460] Optionally, in the balancing control process of the present application, the robust controller determines the rotational torque of the first rotational joint and the rotational torque of the second rotational joint according to formula d and equation group 1.
[0461] During balancing control, the robust controller calculates the rotational torque τ1 of the first revolute joint and the rotational torque τ2 of the second revolute joint according to formula d. Formula d involves the sliding surface s1, the second sliding surface s2, the dynamic model parameters in formula 2, and the sliding mode parameters. The robust controller obtains the state quantity at the first moment from the sensor and substitutes the state quantity at the first moment into the corresponding formula to determine the sliding surface s1, the second sliding surface s2, and the dynamic model parameters, and finds the sliding mode parameters that meet the system stability conditions. Then, the robust controller calculates the rotational torque τ1 of the first revolute joint and the rotational torque τ2 of the second revolute joint according to formula d, while ensuring that the sliding mode parameters meet the matrix inequality constraints formed by the above state equations.
[0462] In the balancing control method provided in the present application, four sliding mode parameters that satisfy the matrix inequality constraints can be determined first, and then the first sliding mode surface and the second sliding mode surface can be constructed using the sliding mode parameters.
[0463] You can also first select any four sliding mode parameters within a certain numerical range, use the four sliding mode parameters to construct the first sliding surface and the second sliding surface, and calculate the rotational torque τ1 of the first rotational joint and the rotational torque τ2 of the second rotational joint through formula d, and then verify whether the four sliding mode parameters satisfy the above matrix inequality constraints.
[0464] Optionally, when the four sliding mode parameters satisfy the above-mentioned matrix inequality constraints, the determined rotational torque τ1 of the first rotational joint and the rotational torque τ2 of the second rotational joint can be used; when the four sliding mode parameters do not satisfy the above-mentioned matrix inequality constraints, the determined rotational torque τ1 of the first rotational joint and the rotational torque τ2 of the second rotational joint cannot be used.
[0465] The method for determining sliding mode parameters is described below through several embodiments.
[0466] In some embodiments, determining at least four sliding mode parameters includes: a computer device determining a first sliding mode parameter from a first prediction parameter set, determining a second sliding mode parameter from a second prediction parameter set, determining a third sliding mode parameter from a third prediction parameter set, and determining a fourth sliding mode parameter from a fourth prediction parameter set; wherein the sliding mode parameters respectively included in the first prediction parameter set, the second prediction parameter set, the third prediction parameter set, and the fourth prediction parameter set satisfy the constraints of the stability criterion.
[0467] In this embodiment, after determining the state at the first moment, the robust controller first uses the above state equation as a matrix inequality constraint to determine the solution sets corresponding to λ1, λ2, λ3, and λ4, namely, the first prediction parameter set, the second prediction parameter set, the third prediction parameter set, and the fourth prediction parameter set. Then, the first sliding mode parameter, the second sliding mode parameter, the third sliding mode parameter, and the fourth sliding mode parameter are selected from each parameter set, and the first sliding mode surface and the second sliding mode surface are established by using the first sliding mode parameter, the second sliding mode parameter, the third sliding mode parameter, the fourth sliding mode parameter, and the state quantity at the first moment. Then, according to the above formula d, the rotational torque of the first rotational joint and the rotational torque of the second rotational joint are calculated.
[0468] In some implementations, the process of determining any one of the four prediction solution sets is as follows: calculating the coefficient matrix The characteristic roots of , all the characteristic roots corresponding to the coefficient matrix are used as the prediction parameter set.
[0469] This method can avoid selecting sliding mode parameters that do not satisfy the stability of the system, resulting in the rotational torque corresponding to the first rotational joint and the rotational torque corresponding to the second rotational joint calculated using these sliding mode parameters being unable to control the balance of the wheel-legged robot, avoiding invalid calculations by computer equipment, and helping to shorten the time required to determine the rotational torque corresponding to the first rotational joint and the rotational torque corresponding to the second rotational joint.
[0470] Next, the robustness control effect of the balance control of the wheel-legged robot under the balance control method provided in this embodiment is experimentally verified.
[0471] FIG14 is a schematic diagram of a simulation of a two-wheel balancing control method provided by an exemplary embodiment of the present application.
[0472] The background of Figure 14 is as follows: a wheel-legged robot is in two-wheeled mode and is subjected to a lateral disturbance force. Based on the abstraction of the wheel-legged robot as an nth-order inverted pendulum, the robust controller obtains the robot's state variables and calculates the rotational torque of the nth revolute joint using the methods described in the various embodiments. The rotational torques of the n revolute joints are then used to adjust the postures of the wheel-legged robot's leg mechanisms and trunk mechanisms. As shown in Figure 14, when subjected to a lateral disturbance force, the wheel-legged robot simultaneously adjusts the postures of its n connecting rods, causing the robot to swing back and forth. The moving wheels connected to the two outer leg mechanisms maintain balance on the contact surface, and the trunk mechanism also moves in a timely manner to adjust the center of gravity and the applied force on the wheel-legged robot, helping the entire robot quickly regain balance.
[0473] Figure 15 is a simulation diagram of a two-wheel balance control method provided by another exemplary embodiment of the present application. The background of Figure 15 is: the wheel-legged robot is in a two-wheel motion mode. In this example, n is equal to 2, that is, the wheel-legged robot is balanced based on the second-order inverted pendulum model. The wheel-legged robot falls from a height, and when it contacts the contact surface, there is an initial angle between the leg mechanism and the z-axis. When the wheel-legged robot starts to move at an initial position relatively far from the balance point and falls to the ground at the same time, the two outer leg mechanisms will play a role similar to a spring. Due to the large impact, the first revolute joint controls the two outer leg mechanisms to swing back and forth significantly to maintain the robot's balanced posture. The (n-1) connecting rods above the leg mechanism (that is, the first mechanism) also move significantly in a timely manner to adjust the center of gravity and force, helping the robot as a whole to quickly restore its balance.
[0474] The following are device embodiments of the present application, which can be used to implement the method embodiments of the present application. For details not disclosed in the device embodiments of the present application, please refer to the method embodiments of the present application.
[0475] Please refer to Figure 16, which shows a block diagram of a balance control device for a wheel-legged robot provided by an embodiment of the present application. The device has the function of implementing the balance control method of the wheel-legged robot described above, and the function can be implemented by hardware, or by hardware executing corresponding software. The device can be the computer device introduced above, or it can be set in a computer device. The wheel-legged robot includes: a moving wheel, n connecting rods and n rotational joints, the moving wheel and the first connecting rod of the n connecting rods are connected by a first rotational joint of the n rotational joints, and the n connecting rods are connected in series by n-1 rotational joints other than the first rotational joint, and n is a positive integer greater than or equal to 3;
[0476] As shown in FIG. 16 , the device 1600 may include: a state acquisition module 1610 , a parameter determination module 1620 , a sliding surface establishment module 1630 , a torque calculation module 1640 and a joint rotation module 1650 .
[0477] The state acquisition module 1610 is used to obtain the state quantity of the wheel-legged robot at a first moment, where the state quantity at the first moment is used to represent the motion state of the wheel-legged robot at the first moment.
[0478] The parameter determination module 1620 is used to determine the dynamic model parameters based on the dynamic equation of the wheel-legged robot and the state quantity at the first moment, and the dynamic model parameters are used to define the mapping relationship between the angular acceleration at the first moment and the rotational torque at the second moment; the angular acceleration at the first moment includes the angular acceleration of the n connecting rods and the angular acceleration of the moving wheel; the rotational torque at the second moment includes the rotational torque of the n rotating joints.
[0479] The sliding surface establishing module 1630 is used to establish a sliding surface according to the state quantity at the first moment, and the state quantity of the wheel-legged robot gradually approaches a stable value on the sliding surface.
[0480] The torque calculation module 1640 is configured to calculate the rotational torques of the n rotational joints based on the sliding surface and the dynamic model parameters.
[0481] The joint rotation module 1650 is configured to control the n rotational joints according to the rotational torques of the n rotational joints at the second moment.
[0482] In some embodiments, the parameter determination module 1620 includes: a matrix calculation unit, used to substitute the state quantity at the first moment into the dynamic equation to determine the inertia matrix, deflection force matrix and gravity matrix at the first moment, the inertia matrix is used to characterize the mass and moment of inertia of the n rotating joints at the first moment, the deflection force matrix is used to characterize the deflection force of the wheel-legged robot at the first moment, and the gravity matrix is used to characterize the gravity of the wheel-legged robot at the first moment; a parameter determination unit, used to determine the dynamic model parameters based on the inertia matrix, the deflection force matrix and the gravity matrix.
[0483] In some embodiments, the dynamic model parameters include: a proportional parameter matrix and an offset parameter matrix, the proportional parameter matrix is used to characterize the proportional relationship between the angular acceleration at the first moment and the rotational torque at the second moment, and the offset parameter matrix is used to characterize the offset relationship between the angular acceleration at the first moment and the rotational torque at the second moment; a parameter determination unit is used to use a selection matrix to process the product of the inverse matrix of the inertia matrix and the deflection force matrix, and the product of the inverse matrix of the inertia matrix and the gravity matrix, respectively, to obtain the offset parameter matrix, the selection matrix is used to extract the rotational torque of the n rotational joints from the dynamic equation; the inverse matrix of the inertia matrix is processed using the selection matrix to obtain the proportional parameter matrix.
[0484] In some embodiments, the dynamic equation of the robot is derived based on the Euler-Lagrange equation by abstracting the wheel-legged robot into an n-th order inverted pendulum model.
[0485] In some embodiments, the sliding surface includes n sliding surfaces, and the n sliding surfaces are used to constrain the rotational torque of the n rotational joints; the sliding surface establishment module 1630 includes: a sliding parameter determination unit, used to determine at least two sliding parameters for the i-th sliding surface among the n sliding surfaces, where i is a positive integer less than or equal to n; and a sliding surface establishment unit, used to establish the i-th sliding surface based on the at least two sliding parameters and the state quantity at the first moment.
[0486] In some embodiments, the sliding mode parameter determination unit is used to determine a first sliding mode parameter among the at least one sliding mode parameter from a 2i-1th prediction parameter set, and to determine a second sliding mode parameter among the at least one sliding mode parameter from a 2i-th prediction parameter set; wherein the sliding mode parameters respectively included in the 2i-1th prediction parameter set and the 2i-th prediction parameter set satisfy the constraints of the stability criterion.
[0487] In some embodiments, the state quantity at the first moment includes: the deflection angles of the n connecting rods, the angular velocities of the n connecting rods, and the angular velocity of the moving wheel; a sliding surface establishment unit is used to process the deflection angle of the i-th connecting rod according to a first sliding parameter among the at least two sliding parameters to obtain a processing result of the i-th connecting rod; process the angular velocity of the moving wheel according to a second sliding parameter among the at least two sliding parameters to obtain a processing result of the moving wheel; and establish the i-th sliding surface according to the processing result of the i-th connecting rod, the processing result of the moving wheel, and the angular velocity of the i-th connecting rod.
[0488] In some embodiments, the joint rotation module 1650 is configured to control the rotation motor corresponding to any one of the n rotational joints to rotate according to the rotational torque of the rotational joint.
[0489] In some embodiments, the joint rotation module 1650 is used to calculate the task acceleration of the wheel-legged robot at the second moment based on the rotational torque of the n rotational joints, where the task acceleration refers to the acceleration related to the center of mass of the wheel-legged robot; based on the task acceleration, determine the force and torque instructions of the whole body joints of the wheel-legged robot at the second moment, where the whole body joints include the n rotational joints; and control the whole body joints based on the force and torque instructions at the second moment.
[0490] In some embodiments, the joint rotation module 1650 is used to determine the angular acceleration at the second moment based on the dynamic equation and the rotational torque of the n rotational joints; determine the expected incremental position and expected incremental speed of the center of mass of the wheel-legged robot at the second moment based on the state quantity at the first moment and the angular acceleration at the second moment, the expected incremental position is used to characterize the distance between the projection of the center of mass of the wheel-legged robot on the contact surface and the virtual contact point in the first direction, the expected incremental speed is used to characterize the changing speed of the distance in the first direction, the virtual contact point refers to the center of each contact point of the wheel-legged robot and the contact surface; determine the task acceleration of the wheel-legged robot at the second moment based on the expected incremental position and the expected incremental speed.
[0491] In some embodiments, the state quantities include: the deflection angles of the n links, the angular velocities of the n links, and the angular velocities of the moving wheels; the state acquisition module 1610 is used to determine the deflection angles of the n links through the inertial measurement unit and motor encoder of the wheel-legged robot; and to determine the angular velocities of the n links and the angular velocities of the moving wheels through the motor encoder.
[0492] In some embodiments, the moving wheel refers to a virtual wheel formed by superimposing at least two real wheels of the wheel-legged robot that do not overlap in the first direction, the first link refers to a virtual first link formed by superimposing at least two real first links of the wheel-legged robot that do not overlap in the first direction, and the first direction refers to the forward direction of the wheel-legged robot.
[0493] In some embodiments, the state quantities include: the deflection angles of the n links, the angular velocities of the n links, and the angular velocities of the moving wheels; the state acquisition module 1610 is used to determine the deflection angles of the other links among the n links except the first link, and the deflection angles of each of the real first links through the inertial measurement unit and motor encoder of the wheel-legged robot; determine the angular velocities of the other links among the n links except the first link, the angular velocities of each of the real first links, and the angular velocities of each of the real wheels through the motor encoder; determine the angular velocity of the moving wheel according to the angular velocities of each of the real wheels; determine the deflection angle and angular velocity of the first link according to the length, deflection angle, and angular velocity of each of the real first links.
[0494] It should be noted that the apparatus provided in the above embodiments, when implementing its functions, is only illustrated by the division of the above functional modules. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the content structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the apparatus and method embodiments provided in the above embodiments are based on the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.
[0495] Please refer to Figure 17, which shows a block diagram of a computer device 1700 provided in one embodiment of the present application. The computer device 1700 can be any electronic device capable of data calculation, processing, and storage. The computer device 1700 can be used to implement the balance control method of the wheel-legged robot provided in the above embodiment.
[0496] Typically, the computer device 1700 includes a processor 1701 and a memory 1702 .
[0497] The processor 1701 may include one or more processing cores, such as a 4-core processor, an 8-core processor, and the like. The processor 1701 may be implemented in at least one hardware form of DSP (Digital Signal Processing), FPGA (Field Programmable Gate Array), or PLA (Programmable Logic Array). The processor 1701 may also include a main processor and a coprocessor. The main processor is a processor for processing data in an awake state, also known as a CPU (Central Processing Unit); the coprocessor is a low-power processor for processing data in a standby state. In some embodiments, the processor 1701 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 1701 may also include an AI processor for processing computing operations related to machine learning.
[0498] Memory 1702 may include one or more computer-readable storage media, which may be non-transitory. Memory 1702 may also include high-speed random access memory and non-volatile memory, such as one or more magnetic disk storage devices and flash memory storage devices. In some embodiments, the non-transitory computer-readable storage media in memory 1702 are used to store a computer program, which is configured to be executed by one or more processors to implement the above-mentioned balance control method for the wheel-legged robot.
[0499] Those skilled in the art will appreciate that the structure shown in FIG17 does not limit the computer device 1700 and may include more or fewer components than shown, or combine certain components, or adopt a different component arrangement.
[0500] In an exemplary embodiment, a computer-readable storage medium is also provided, storing a computer program that, when executed by a processor of a computer device, implements the above-described balance control method for a wheel-legged robot. Alternatively, the computer-readable storage medium may be a ROM (Read-Only Memory), a RAM (Random Access Memory), a CD-ROM (Compact Disc Read-Only Memory), a magnetic tape, a floppy disk, or an optical data storage device.
[0501] In an exemplary embodiment, a computer program product is also provided, the computer program product including a computer program stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium and executes the computer program, causing the computer device to perform the above-described balance control method for a wheel-legged robot.
[0502] It should be understood that the "multiple" mentioned in this article refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent three situations: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the previous and subsequent associated objects are in an "or" relationship. In addition, the step numbers described in this article only illustrate a possible execution sequence between the steps. In some other embodiments, the above steps may not be executed in the order of the numbers, such as two steps with different numbers are executed at the same time, or two steps with different numbers are executed in the opposite order to the diagram. The embodiments of the present application do not limit this.
Claims
1. A balance control method for a wheel-legged robot, the method being executed by a computer device, the wheel-legged robot comprising: A moving wheel, n connecting rods and n rotating joints, wherein the moving wheel and a first connecting rod among the n connecting rods are connected through a first rotating joint among the n rotating joints, and the n connecting rods are connected in series through n-1 rotating joints other than the first rotating joint, where n is a positive integer greater than or equal to 2; the method comprises: Acquire a state quantity of the wheel-legged robot at a first moment, where the state quantity at the first moment is used to characterize a motion state of the wheel-legged robot at the first moment; According to the dynamics equation of the wheel-legged robot and the state quantity at the first moment, dynamics model parameters are determined, and the dynamics model parameters are used to define the mapping relationship between the angular acceleration at the first moment and the rotational torque at the second moment; the angular acceleration at the first moment includes the angular acceleration of the n connecting rods and the angular acceleration of the moving wheel; the rotational torque at the second moment includes the rotational torque of the n rotating joints; According to the state quantity at the first moment, a sliding surface is established, and the state quantity of the wheel-legged robot gradually approaches a stable value on the sliding surface; Calculating the rotational torque of the n rotational joints according to the sliding surface and the dynamic model parameters; At the second moment, the n rotational joints are controlled according to the rotational torques of the n rotational joints.
2. The method according to claim 1, wherein: Determining the dynamic model parameters according to the dynamic equation of the wheel-legged robot and the state quantity at the first moment includes: Substituting the state quantity at the first moment into the dynamic equation, determining the inertia matrix, deflection force matrix and gravity matrix at the first moment, wherein the inertia matrix is used to characterize the mass and moment of inertia of the n revolute joints at the first moment, the deflection force matrix is used to characterize the deflection force of the wheel-legged robot at the first moment, and the gravity matrix is used to characterize the gravity of the wheel-legged robot at the first moment; The dynamic model parameters are determined according to the inertia matrix, the deflection force matrix and the gravity matrix.
3. The method according to claim 2, wherein: The dynamic model parameters include: a proportional parameter matrix and an offset parameter matrix, wherein the proportional parameter matrix is used to characterize the proportional relationship between the angular acceleration at the first moment and the rotational torque at the second moment, and the offset parameter matrix is used to characterize the offset relationship between the angular acceleration at the first moment and the rotational torque at the second moment; Determining the dynamic model parameters according to the inertia matrix, the deflection force matrix and the gravity matrix includes: Using a selection matrix to multiply the product of the inverse matrix of the inertia matrix and the deflection force matrix, the selection matrix is used to extract the rotational torque of the n revolute joints from the dynamic equation; Using the selection matrix, the product of the inverse matrix of the inertia matrix and the gravity matrix is processed to obtain the offset parameter matrix; The inverse matrix of the inertia matrix is processed using the selection matrix to obtain the scale parameter matrix.
4. The method according to any one of claims 1 to 3, wherein: The dynamic equation of the robot is derived based on the Euler-Lagrange equation by abstracting the wheel-legged robot into an n-order inverted pendulum model.
5. The method according to any one of claims 1 to 4, wherein: The sliding surface includes n sliding surfaces, and the n sliding surfaces are used to constrain the rotational torque of the n revolute joints; The step of establishing a sliding surface according to the state quantity at the first moment includes: For an i-th sliding surface among the n sliding surfaces, determining at least two sliding parameters, where i is a positive integer less than or equal to n; The i-th sliding mode surface is established according to the at least two sliding mode parameters and the state quantity at the first moment.
6. The method according to claim 5, wherein: The step of determining at least two sliding mode parameters for the i-th sliding mode surface among the n sliding mode surfaces comprises: Determining a first sliding mode parameter among the at least two sliding mode parameters from a 2i-1th prediction parameter set, and determining a second sliding mode parameter among the at least two sliding mode parameters from a 2ith prediction parameter set; The sliding mode parameters respectively included in the 2i-1th prediction parameter set and the 2ith prediction parameter set satisfy the constraint conditions of the stability criterion.
7. The method according to claim 5 or 6, wherein: The state quantities include: the deflection angles of the n connecting rods, the angular velocities of the n connecting rods and the angular velocities of the moving wheels; The establishing the i-th sliding mode surface according to the at least two sliding mode parameters and the state quantity at the first moment comprises: Processing the deflection angle of the i-th connecting rod according to the first sliding mode parameter of the at least two sliding mode parameters to obtain a processing result of the i-th connecting rod; Processing the angular velocity of the moving wheel according to a second sliding mode parameter of the at least two sliding mode parameters to obtain a processing result of the moving wheel; The i-th sliding surface is established according to the processing result of the i-th connecting rod, the processing result of the moving wheel and the angular velocity of the i-th connecting rod.
8. The method according to any one of claims 1 to 7, wherein: The controlling the n rotational joints according to the rotational torques of the n rotational joints comprises: For any one of the n rotational joints, a rotational motor corresponding to the rotational joint is controlled to rotate according to the rotational torque of the rotational joint.
9. The method according to any one of claims 1 to 7, wherein: The controlling the n rotational joints according to the rotational torques of the n rotational joints comprises: Calculating the task acceleration of the wheel-legged robot at the second moment according to the rotational torques of the n rotational joints, wherein the task acceleration includes the acceleration related to the center of mass of the wheel-legged robot; Determining force and torque instructions of whole body joints of the wheel-legged robot at the second moment according to the task acceleration, the whole body joints including the n rotational joints; The whole body joints are controlled according to the force and torque instructions at the second moment.
10. The method according to claim 9, wherein: The step of calculating the task acceleration of the wheel-legged robot at the second moment according to the rotational torques of the n rotational joints comprises: Determining the angular acceleration at the second moment according to the dynamic equation and the rotational torque of the n rotational joints; Determine the expected incremental position and expected incremental speed of the center of mass of the wheel-legged robot at the second moment according to the state quantity at the first moment and the angular acceleration at the second moment, wherein the expected incremental position is used to characterize the distance in the first direction between the projection of the center of mass of the wheel-legged robot on the contact surface and the virtual contact point, and the expected incremental speed is used to characterize the speed of change of the distance in the first direction, and the virtual contact point refers to the center of each contact point between the wheel-legged robot and the contact surface; The task acceleration of the wheel-legged robot at the second moment is determined according to the expected incremental position and the expected incremental speed.
11. The method according to any one of claims 1 to 10, wherein: The state quantities include: the deflection angles of the n connecting rods, the angular velocities of the n connecting rods and the angular velocities of the moving wheels; The obtaining of the state quantity of the wheel-legged robot at the first moment comprises: Determining the deflection angles of the n connecting rods by using an inertial measurement unit and a motor encoder of the wheel-legged robot; The angular velocities of the n connecting rods and the moving wheel are determined by the motor encoder.
12. A balance control device for a wheel-legged robot, the wheel-legged robot comprising: A moving wheel, n connecting rods and n rotating joints, wherein the moving wheel and a first connecting rod among the n connecting rods are connected through a first rotating joint among the n rotating joints, and the n connecting rods are connected in series through n-1 rotating joints other than the first rotating joint, where n is a positive integer greater than or equal to 2; the device comprises: A state acquisition module, used for acquiring a state quantity of the wheel-legged robot at a first moment, wherein the state quantity at the first moment is used for representing a motion state of the wheel-legged robot at the first moment; a parameter determination module, for determining a dynamic model parameter according to the dynamic equation of the wheel-legged robot and the state quantity at the first moment, wherein the dynamic model parameter is used to define a mapping relationship between an angular acceleration at the first moment and a rotational torque at a second moment; the angular acceleration at the first moment includes an angular acceleration of the n connecting rods and an angular acceleration of the moving wheel; and the rotational torque at the second moment includes a rotational torque of the n rotating joints; A sliding surface establishing module, used for establishing a sliding surface according to the state quantity at the first moment, wherein the state quantity of the wheel-legged robot gradually approaches a stable value on the sliding surface; A torque calculation module, used for calculating the rotational torque of the n rotational joints according to the sliding surface and the dynamic model parameters; The joint rotation module is used to control the n rotation joints according to the rotation torques of the n rotation joints at the second moment.
13. A computer device, comprising a processor and a memory, wherein a computer program is stored in the memory, and the computer program is loaded and executed by the processor to implement the balance control method of the wheel-legged robot as described in any one of claims 1 to 11.
14. A computer-readable storage medium, wherein a computer program is stored in the computer-readable storage medium, wherein the computer program is loaded and executed by a processor to implement the balance control method of the wheel-legged robot according to any one of claims 1 to 11.
15. A computer program product, comprising a computer program, wherein the computer program is loaded and executed by a processor to implement the balance control method of the wheel-legged robot according to any one of claims 1 to 11.
Citation Information
Patent Citations
Control device for robot, control method and computer program
CN102452077A
Self-stabilization control method, system and device of wheel-legged robot
CN110764413A
Robust iterative learning control strategy for five-degree-of-freedom upper limb exoskeleton system
CN111522243A
Control method, device and equipment of wheel-legged robot and readable storage medium
CN113753150A
Two-dimensional stable movement control method for multi-degree-of-freedom wheeled inverted pendulum type robot
CN115291514A