Six-degree-of-freedom wheel-foot robot control method, system, device and storage medium

By employing a six-degree-of-freedom wheeled bipedal robot control method, combined with whole-body dynamics modeling and ground normal vector estimation, the motion limitations of wheeled bipedal robots on uneven terrain are solved, achieving higher robustness and adaptability.

CN119987186BActive Publication Date: 2026-01-13SUN YAT SEN UNIV +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510136826.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-02-07
Publication Date
2026-01-13
Estimated Expiration
2045-02-07

AI Technical Summary

Technical Problem

Existing wheeled bipedal robots neglect leg dynamics in simplified calculations, which limits their mobility and adaptability on uneven terrain.

Method used

A six-degree-of-freedom wheeled robot control method is adopted. Through whole-body dynamics modeling, ground normal vector estimation and optimization problem solving, an optimization problem is constructed to determine the driving torque and achieve precise control of the robot.

Benefits of technology

This improved the robustness and ability of the wheeled robot to traverse uneven terrain, enhancing its stability and adaptability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119987186B_ABST
    Figure CN119987186B_ABST
Patent Text Reader

Abstract

The application discloses a six-degree-of-freedom wheel-foot robot control method, system, device and storage medium, relates to the technical field of robots, and comprises the following steps: performing whole-body dynamics modeling on a wheel-foot robot to obtain a target motion equation of the wheel-foot robot; calculating a current task state, a Jacobian matrix and a ground normal vector at a wheel-foot contact point of the wheel-foot robot according to sensor data; determining a target expected acceleration according to the current task state and a reference task state; constructing an optimization problem by using the Jacobian matrix, the ground normal vector and the target expected acceleration; solving the optimization problem under the constraint of the target motion equation to obtain a driving torque; and controlling the motion of the wheel-foot robot according to the driving torque. The optimization problem constructed by the application comprises the ground normal vector at the wheel-foot contact point, the leg dynamics is considered when the wheel-foot robot is controlled, and therefore the driving torque obtained can more smoothly drive the wheel-foot robot to pass through uneven terrain, and the robustness and passing capacity are improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of robots, and particularly relates to a six-degree-of-freedom wheel-foot robot control method, system, device and storage medium. BACKGROUND

[0002] Wheel-legged robots are increasingly attracting attention in the field of exploration and inspection. However, most current researches ignore leg dynamics for simplifying calculation, which limits the complete motion potential of the wheel-foot robot. Meanwhile, the wheel-foot robot faces challenges when traversing uneven terrain. SUMMARY

[0003] The main purpose of the embodiments of the present application is to propose a six-degree-of-freedom wheel-foot robot control method, system, device and storage medium to improve the real-time performance and adaptability to uneven terrain of the wheel-foot robot.

[0004] To achieve the above purpose, one aspect of the embodiments of the present application proposes a six-degree-of-freedom wheel-foot robot control method, which comprises the following steps:

[0005] Modeling the whole-body dynamics of the wheel-foot robot to obtain a target motion equation of the wheel-foot robot;

[0006] Calculating a current task state, a Jacobian matrix and a ground normal vector at a wheel-foot contact point of the wheel-foot robot according to sensor data;

[0007] Determining a target expected acceleration according to the current task state and a reference task state;

[0008] Constructing an optimization problem by using the Jacobian matrix, the ground normal vector and the target expected acceleration;

[0009] Solving the optimization problem under the constraint of the target motion equation to obtain a driving torque;

[0010] Controlling the motion of the wheel-foot robot according to the driving torque.

[0011] In some embodiments, the modeling the whole-body dynamics of the wheel-foot robot to obtain the target motion equation of the wheel-foot robot comprises the following steps:

[0012] Cutting off a passive joint in a kinematic chain of the wheel-foot robot to generate a spanning tree of a closed-loop system;

[0013] Defining a first generalized coordinate of the spanning tree and the driving torque to generate a first motion equation of the spanning tree;

[0014] The expression of the first motion equation is:

[0015]

[0016] where q represents the first generalized coordinates; H ∈ R 16×16 represents a generalized inertia matrix, C ∈ R 16 represents a generalized bias force, the generalized inertia matrix including Coriolis, centripetal and gravitational terms; u ∈ R 16 and respectively represent a generalized velocity set and a generalized acceleration set; S ∈ R 16×6 is a selection matrix, τ a ∈ R 6 represents the driving torque of the driving joint; τ gc ∈ R 16 represents the ground contact force applied in the joint space;

[0017] adding a constraint force limiting the wheel-foot robot wheel-foot motion to the first motion equation to obtain a second motion equation;

[0018] eliminating the constraint force in the second motion equation according to the virtual power principle to obtain a third motion equation;

[0019] calculating the ground contact force and substituting the ground contact force into the third motion equation to obtain the target motion equation;

[0020] the expression of the target motion equation includes:

[0021]

[0022] where H y = G T HG ∈ R 12×12 , C y = G T C ∈ R 12 ; represents acceleration, y represents a second generalized coordinate, the constraint is 0;

[0023] the expression of the ground contact force is:

[0024]

[0025] where, is a contact Jacobian matrix; F C ∈ R 4 is a rolling constraint force, C F ∈ R 2×4 represents a velocity-dependent friction curve; C the calculation of J IC and C F is related to the ground normal vector.

[0026] In some embodiments, the calculating the current task state of the wheeled-legged robot, the Jacobian matrix, and the ground normal vector at the wheeled-legged robot's contact point according to sensor data comprises the following steps:

[0027] inputting the sensor data into an extended Kalman filter to determine the second generalized coordinates and velocities;

[0028] determining the current task state, the Jacobian matrix, and the contact position of the wheeled-legged robot according to the second generalized coordinates and velocities;

[0029] determining a set of global point clouds according to the sensor data;

[0030] determining normal vectors in the set of global point clouds using principal component analysis to obtain a global ground normal vector map;

[0031] determining the normal vector of the contact position in the global ground normal vector map as the ground normal vector.

[0032] In some embodiments, the determining a target desired acceleration according to the current task state and a reference task state comprises the following steps:

[0033] determining a first desired acceleration of a posture task of the wheeled-legged robot according to the current task state and the reference task state using a proportional-derivative controller;

[0034] determining a second desired acceleration of a balance task of the wheeled-legged robot according to the current task state and the reference task state using a linear quadratic regulator;

[0035] reordering the first desired acceleration and the second acceleration according to a task priority to obtain the target desired acceleration.

[0036] In some embodiments, the determining a first desired acceleration of a posture task of the wheeled-legged robot according to the current task state and the reference task state using a proportional-derivative controller comprises the following steps:

[0037] defining a posture task state;

[0038] the posture task state is expressed as:

[0039] Λ = [φ h α β γ] T ∈ R 5 ;

[0040] Wherein, Λ represents the attitude task state; φ represents the separation angle between the wheels and legs of the wheeled robot; h represents the height of the wheeled robot; and α, β, and γ represent the roll angle, pitch angle, and yaw angle of the wheeled robot's head, respectively.

[0041] The attitude task is determined based on the proportional-derivative controller and the attitude task state;

[0042] The expression for the attitude task is:

[0043]

[0044] in, des a n This represents the pose task; n is an index in Λ; ref Λ n Indicates the state of the nth reference task; K pn and K dn These represent proportional gain and differential gain, respectively.

[0045] The first desired acceleration is defined according to the attitude task;

[0046] The expression for the first desired acceleration is:

[0047] des a = [ des a1… des a5] T ∈R 5 ;

[0048] in, des a represents the first desired acceleration.

[0049] In some embodiments, determining the second desired acceleration for the wheeled robot's balancing task using a linear quadratic regulator based on the current task state and the reference task state includes the following steps:

[0050] The wheeled robot is modeled as a single rigid body based on a linear quadratic regulator;

[0051] The center of mass of the rigid body is orthogonally projected onto the sagittal plane;

[0052] The mass momentum of the rigid body is defined in the sagittal plane; the mass momentum includes the linear mass momentum, the angular mass momentum, and the contact force.

[0053] The derivative of the center-of-mass momentum is determined based on the rotational force of gravity and the rotational force of ground contact force.

[0054] Determine the constraints that the wheeled robot must satisfy when it is in a balanced state;

[0055] The desired relative acceleration of the center of mass of the rigid body is determined as the second desired acceleration based on the derivative of the center of mass momentum and the constraint conditions.

[0056] In some embodiments, solving the optimization problem under the constraints of the target equation of motion to obtain the driving torque includes the following steps:

[0057] Define the optimization variables for the optimization problem; wherein the optimization variables include generalized acceleration, rolling constraint force, and driving torque;

[0058] The target motion equation is converted into a linear equality constraint equation;

[0059] The generalized acceleration is mapped to the task space using the Jacobian matrix, thus transforming it into a least squares problem;

[0060] Based on the linear constraint equations and the least squares problem, several quadratic programming problems with priorities are determined;

[0061] The quadratic programming problems are solved according to their priority from high to low; wherein, in each solution, the solution result of the previous priority is used as the equality constraint for the quadratic programming problem of the next priority.

[0062] The driving torque is the optimization variable in the quadratic programming problem with the last priority.

[0063] To achieve the above objectives, another aspect of this application provides a control device for a six-degree-of-freedom wheeled robot, the device comprising:

[0064] A modeling unit is used to perform whole-body dynamics modeling on the wheeled robot and obtain the target motion equation of the wheeled robot.

[0065] The estimation unit is used to calculate the current task state, Jacobian matrix, and ground normal vector at the wheel-leg contact point of the wheel-leg robot based on sensor data.

[0066] A task control unit is used to determine the target desired acceleration based on the current task state and the reference task state;

[0067] An optimization problem construction unit is used to construct an optimization problem using the Jacobian matrix, the ground normal vector, and the target desired acceleration.

[0068] The optimization problem solving unit is used to solve the optimization problem under the constraints of the target motion equation to obtain the driving torque;

[0069] A control unit is used to control the movement of the wheeled robot according to the driving torque.

[0070] To achieve the above objectives, another aspect of this application provides a system including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the above-described method.

[0071] To achieve the above objectives, another aspect of the embodiments of this application proposes a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described method.

[0072] The embodiments of this application include at least the following beneficial effects:

[0073] This application enables whole-body dynamics modeling of a wheeled robot to obtain its target motion equations. It calculates the robot's current task state, Jacobian matrix, and ground normal vector at the wheel-foot contact point based on sensor data. The desired target acceleration is determined based on the current and reference task states. An optimization problem is constructed using the Jacobian matrix, ground normal vector, and desired target acceleration. The optimization problem is solved under the constraints of the target motion equations to obtain the driving torque. The robot's motion is then controlled based on the driving torque. The optimization problem constructed in this application includes the ground normal vector at the wheel-foot contact point, meaning that leg dynamics are considered when controlling the wheeled robot. This allows the obtained driving torque to drive the robot more smoothly across uneven terrain, improving its robustness and traversal capability. Attached Figure Description

[0074] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0075] Figure 1 An example diagram of a six-DOF bipedal robot provided in this application embodiment;

[0076] Figure 2 A flowchart illustrating the control method for a six-degree-of-freedom wheeled robot provided in an embodiment of this application;

[0077] Figure 3 Example diagram of dynamic modeling of wheeled legged robot provided in the embodiments of this application;

[0078] Figure 4 A flowchart of the whole-body control framework provided in the embodiments of this application;

[0079] Figure 5A schematic diagram of a partial control framework provided in an embodiment of this application;

[0080] Figure 6 This is a comparative experimental diagram of x-axis impact provided in an embodiment of this application;

[0081] Figure 7 Performance comparison charts of WBC and CMC provided for embodiments of this application;

[0082] Figure 8 Experimental diagrams for adapting to different ground heights provided in the embodiments of this application;

[0083] Figure 9 Performance comparison charts for experiments at different ground heights provided in embodiments of this application;

[0084] Figure 10 This is an experimental diagram of a ramp U-turn provided in an embodiment of this application;

[0085] Figure 11 This is a performance comparison chart of the ramp U-turn test provided in the embodiments of this application;

[0086] Figure 12 This is a schematic diagram of the structure of the six-degree-of-freedom wheeled robot control device provided in the embodiments of this application;

[0087] Figure 13 This is a schematic diagram of the hardware structure of a system provided in an embodiment of this application. Detailed Implementation

[0088] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit it. In the following description, when referring to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with those of this application; they are merely examples of apparatuses and methods consistent with some aspects of the embodiments of this application as detailed in the appended claims.

[0089] It is understood that the terms “first,” “second,” etc., used in this application may be used herein to describe various concepts, but unless otherwise stated, these concepts are not limited by these terms. These terms are only used to distinguish one concept from another. For example, without departing from the scope of the embodiments of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the words “if,” “when,” or “in response to a determination” as used herein may be interpreted as “when…” or “when…” or “in response to a determination.”

[0090] As used in this application, the terms "at least one", "multiple", "each", "any", etc., "at least one" includes one, two or more, "multiple" includes two or more, "each" refers to each of the corresponding multiples, and "any" refers to any one of the multiples.

[0091] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.

[0092] Before providing a detailed description of the embodiments of this application, some related technologies involved in the embodiments of this application will be described first, as follows:

[0093] Bipedal robots are a type of mobile robot that combines many advantages of traditional mobile robots. They retain the high speed and efficiency of wheeled robots, while their leg structure cushions impacts when traversing uneven terrain or encountering external disturbances. Furthermore, they can dynamically adjust their center of gravity to adapt to different load conditions.

[0094] In recent years, many biwheeled robots with various configurations have been designed. Related technology 1 developed the Handle robot, demonstrating excellent mobility and capabilities. However, the specific implementation of Handle has not been disclosed. Related technology 2 developed Ascento, driven by four motors, offering advantages such as compact design and low cost. However, its mobility and exploration capabilities are limited by its configuration. Related technology 3 designed Ollie, a biwheeled robot with planar parallel mechanisms on its two legs. This structure offers higher rigidity and stability but requires a larger volume, limiting the robot's workspace and, to some extent, restricting Ollie's exploration capabilities in extreme environments. Considering both cost and mobility performance, this application provides a six-DOF biwheeled robot, Diablo, with a two-legged tandem mechanism, as shown in the example figure. Figure 1 As shown.

[0095] Figure 1 DIABLO is a six-DOF wheeled bipedal robot composed entirely of direct-drive joints. DIABLO's motion control system is managed by a microcontroller integrating a high-performance IMU (BMI088) and a microcomputer. Encoders built into the motors provide the robot's joint angles and angular velocities. A Livox Mid-360 LiDAR mounted on the robot's head scans the environment, collecting point cloud data in real time.

[0096] Bicycled robots are a typical example of underactuated robots. In research, bicycled robots are often modeled as wheeled inverted pendulum (WIP) models or variations thereof. Control strategies are then developed based on these simplified models. The six-DOF robot SR600, designed by Related Technique 4, is modeled as a WIP and uses a PID controller for balance and height control. Similarly, Related Technique 5 uses the same modeling method and an LQR controller for balance control. Related Technique 6 proposes a wheeled spring-loaded inverted pendulum model and plans jumping motions based on it. Related Technique 7 et al. designed an eight-DOF bicycled robot and proposed a wheeled rigid body dynamics model to provide additional degrees of freedom. They used an MPC-based method to control the robot's posture and leg splitting. The related work in this application developed a second-order WIP model and performed separate dynamic analysis on the robot's rigid body. Furthermore, a comprehensive motion controller is proposed to control the robot to complete various tasks. The above methods can achieve specific motion control of the robot and exhibit satisfactory performance on flat ground. However, simplified models cannot fully represent all the dynamic characteristics of bicycled robots. Therefore, it will face challenges in tasks requiring leg cushioning, such as traversing uneven terrain. Related technology 8 designed a six-DOF biwheeled (WBR) robot, SKATER, and proposed a hierarchical control framework. Furthermore, two control strategies were employed to adjust the robot's head tilt angle, enabling the robot to achieve high-speed turns and adapt to different terrain heights. Experiments demonstrated its mobility and terrain adaptability. However, this method requires a height difference between the two legs to be effective. Therefore, it may encounter challenges when traversing terrain with minimal height differences (such as slopes).

[0097] Full Body Control (WBC) is a model-based controller that maps joint space to task space, leveraging the inherent redundancy of robots. This method maximizes the robot's joint degrees of freedom, effectively coordinating its movements to accomplish various tasks. Initially, WBC was primarily used to control humanoid robots. In recent years, it has been successfully applied to bipedal robots. Related technology 9 proposes a WBC scheme for related technology 5, experimentally demonstrating the robot's robustness to external disturbances and its adaptability to different ground heights. Related technology 5 addresses the constraints of robot-ground contact by introducing contour parameters. These contour parameters depend on the ground normal vector. However, related technology 5 does not provide a method for estimating the ground normal vector. This application proposes a method for estimating the ground normal vector. When ground information is obtained in advance, this application can employ appropriate planning and control strategies. Compared to the passive adaptation of the SKATER robot, this application enables the robot to actively adapt to the terrain.

[0098] This application uses point cloud data captured by lidar and a method to estimate the surface normal vectors of the point cloud to estimate the ground normal vectors. Currently, point cloud surface normal vector estimation methods can be broadly categorized into traditional geometry-based methods and learning-based methods. Geometry-based methods, such as Principal Component Analysis (PCA) and Moving Least Squares (MLS), heavily rely on the choice of neighborhood size and are highly dependent on user experience. Learning-based methods, such as PCPNet, DeepFit, AdaFit, and TRFit, significantly improve the prediction of surface normal vectors, especially in challenging areas such as edges and corners. However, they require substantial computational resources and are relatively slow. To ensure real-time and stable applicability, this application employs an improved adaptive optimal neighborhood PCA method for terrain estimation.

[0099] This application includes the following technical solutions:

[0100] A complete three-dimensional dynamic model of a closed-loop wheeled bipedal robot was derived. This technical feature provides a solid theoretical foundation for a deeper understanding of the robot's motion characteristics, and helps to control the robot's movements more precisely, fully utilizing its performance.

[0101] An online terrain estimation algorithm based on lidar is proposed. This algorithm can perceive the terrain environment in which the robot is located in real time, providing key information for the robot's actions in complex terrain, enabling it to better adapt to different terrain conditions.

[0102] A whole-body control (WBC) framework integrating terrain estimation was developed for a wheeled bipedal robot. This framework tightly integrates terrain estimation with robot control, enabling the robot to adjust its movements in a timely manner according to terrain changes, thereby improving its stability and adaptability in different terrains.

[0103] In summary, wheeled bipedal robots are attracting increasing attention in the fields of exploration and inspection. However, most current research neglects leg dynamics for computational simplification, which limits the robot's full locomotion potential. Furthermore, the robot faces challenges when traversing uneven terrain.

[0104] To address the aforementioned issues, this application provides a complete dynamic model for a six-DOF wheeled bipedal robot and designs a full-body control framework with terrain estimation capabilities. This model combines the robot's closed-loop dynamics with a ground contact model based on estimated ground normal vectors. The team proposes a terrain estimation algorithm based on FAST-LIO and improved principal component analysis. For the task controller, PD control law and LQR are used for attitude control and balance control based on center-of-mass dynamics, respectively. Furthermore, a hierarchical optimization method is employed to solve the full-body control problem. Experiments verify the real-time performance of the terrain estimation algorithm and demonstrate the robot's robustness and ability to traverse uneven terrain.

[0105] Next, the control method for the six-degree-of-freedom wheeled legged robot provided in this application will be described.

[0106] Reference Figure 2 This application provides a six-degree-of-freedom wheeled robot control method, which may include, but is not limited to, steps S200 to S250, as detailed below:

[0107] S200: Perform whole-body dynamics modeling on the wheeled robot to obtain the target motion equation of the wheeled robot.

[0108] Furthermore, S200 may include:

[0109] In the kinematic chain of the wheeled robot, a passive joint is cut off to generate a generation tree of the closed-loop system. It should be noted that cutting off a passive joint in the kinematic chain in this embodiment does not physically cut off the wheeled robot, but rather virtually cuts off a passive joint in the kinematic chain for the convenience of calculation.

[0110] Define the first generalized coordinates of the spanning tree and the driving torque, and then generate the first equation of motion for the spanning tree;

[0111] The expression for the first equation of motion is:

[0112]

[0113] Where q represents the first generalized coordinate; H∈R 16×16 Let C represent the generalized inertial matrix, ∈ R. 16 Representing the generalized bias force, the generalized inertial matrix includes the Coriolis force, centripetal force, and gravity term; u∈R 16 and Let S represent the set of generalized velocities and the set of generalized accelerations, respectively; S∈R 16×6 It is the selection matrix, τ a ∈R 6 The driving torque τ represents the driving torque of the drive joint. gc ∈R 16 This represents the ground contact force applied in the joint space;

[0114] The constraint force restricting the movement of the wheeled robot's legs is added to the first equation of motion to obtain the second equation of motion;

[0115] Eliminating the constraint forces in the second equation of motion based on the principle of virtual power yields the third equation of motion.

[0116] Calculate the ground contact force and substitute it into the third equation of motion to obtain the target equation of motion;

[0117] The expression for the target motion equation includes:

[0118]

[0119] Among them, H y =G T HG∈R 12×12 C y =G T C∈R 12 ; Let y represent acceleration, and y represent the second generalized coordinate. The constraint is 0;

[0120] The expression for the ground contact force is:

[0121]

[0122] in, It is the contact Jacobian matrix; F C ∈R 4 It is a rolling constraint, C F ∈R 2×4 This represents the friction curve related to speed. C J IC and C F The calculation is related to the ground normal vector.

[0123] Specifically, such as Figure 3 As shown, this embodiment defines an inertial coordinate system I, a floating base coordinate system B, and a contact coordinate system C (where C is the contact coordinate system of the left wheel). l Let C be the contact coordinate system of the right wheel. r In the embodiments of the application, the red, green, and blue arrows represent the x-axis, y-axis, and z-axis of the coordinate system, respectively. Furthermore, in the embodiments of the application, bold lowercase letters represent vectors, and bold uppercase letters represent matrices.

[0124] Figure 3 This includes the robot coordinate system, generalized coordinates, drive torque, and leg structure. Figure 3 (a)q {left,right} and τ {left,right} These represent the generalized coordinates and driving torque on both sides of the robot, respectively. I n l and I n r It is the ground normal vector at the point of contact between the wheel and the ground. Figure 3 (b)B {left,right} The figures represent the rigid bodies on either side of the robot. The red line represents a simplified version of the leg linkage. The swing angle θ is the angle between the simplified leg and the vertical direction.

[0125] Specifically, this embodiment can perform whole-body dynamics modeling. A common strategy for formulating the motion equations of a closed-loop system is to first virtually disconnect a passive joint in the kinematic chain, thereby generating a spanning tree of the system. Then, closed-loop constraints are applied to the motion equations of the spanning tree.

[0126] Specifically, such as Figure 3 As shown in (a), this embodiment defines the generalized coordinates q and driving torque τ of the spanning tree. a as follows:

[0127]

[0128] Where, q b ∈R 3 ×SO(3) represents the undriven base coordinates, q j ∈R 10 Represents joint coordinates. I r IB 1 and R IB It refers to the translation and rotation of the robot's base.

[0129] The equations of motion for the spanning tree (the first equation of motion) can be expressed as follows:

[0130]

[0131] Where H∈R 16×16 Let C represent the generalized inertial matrix, ∈ R. 16 This represents the generalized bias force, which takes into account the Coriolis force, centripetal force, and gravitational term. u∈R 16 and Let S represent the set of generalized velocities and the set of generalized accelerations, respectively. S∈R 16×6 It is the selection matrix, τ a ∈R 6 This represents the torque that drives the joint. τ gc ∈R 16 This represents the ground contact force applied in the joint space.

[0132] like Figure 3 As shown in (b), each leg of the robot has a parallelogram mechanism consisting of four rigid bodies, which imposes explicit motion constraints on the robot system:

[0133]

[0134] Let y∈R 3 ×SO(3)×R 6 Let represent the independent position variable vector of the closed-loop system, which uniquely defines q. In this embodiment, y is defined as follows:

[0135] y = [I r IB R IB q1 q5 q4 q6 q 10 q9] T #(3.4)

[0136] And the following loop closure function is provided:

[0137] q=γ(y)#(3.5)

[0138] Differentiating the above equation, we get:

[0139]

[0140] Among them, I I r IB This represents the position vector of point B relative to the origin of coordinate system I, and is represented in coordinate system I. The above labeling usage also applies to position, velocity, and Jacobian matrix in this paper. Furthermore, the superscript indicates the component of the vector in a specific direction, which is required in some embodiments (e.g., Indicate I I r IB (Component in the x-direction).

[0141] This embodiment will use τ c Defined as the constraint force restricting leg movement. By incorporating this force into equation (3.2), the equation of motion for the closed-loop system (the second equation of motion) is:

[0142]

[0143] According to Jourdain's principle of virtual power, τ c It has the following properties:

[0144] G T τ c =0#(3.8)

[0145] Therefore, by left-multiplying G in formula (3.7) T To eliminate τ c This embodiment yields another form of the closed-loop system's equation of motion (the third equation of motion):

[0146]

[0147] Where H y =G T HG∈R 12×12 C y =G T C∈R 12 Furthermore, this embodiment yields a new set of generalized coordinates y and velocity u. y ∈R12 and acceleration

[0148] This embodiment uses the following method to calculate the ground contact force τ. gc To prevent relative motion between the contact point and the ground, the acceleration in the x and z directions of the contact coordinate system is... The constraint is set to 0, and τ is... gc The expression is as follows:

[0149]

[0150] in It is a contact Jacobian matrix. F C ∈R 4 It is a rolling constraint, C F ∈R 2×4 This represents the friction curve related to speed. C J IC and C F Calculation of ground normal vector I I n is related. Combining formulas (3.9) and (3.10), this embodiment yields the final equation of motion (target equation of motion):

[0151]

[0152] S210: Calculate the current task state, Jacobian matrix, and ground normal vector at the wheel-leg contact point of the wheel-leg robot based on sensor data.

[0153] Furthermore, S210 may include:

[0154] The sensor data is input into an extended Kalman filter to determine the second generalized coordinates and velocity;

[0155] The current task state, the Jacobian matrix, and the contact position of the wheeled robot's legs are determined based on the second generalized coordinates and the velocity.

[0156] Determine the global point cloud set based on the sensor data;

[0157] The normal vectors in the global point cloud set are determined using principal component analysis, resulting in a global ground normal vector map.

[0158] The normal vector of the contact location is determined in the global ground normal vector map and used as the ground normal vector.

[0159] Reference Figure 4The Whole-Body Control (WBC) framework in this embodiment is divided into three algorithm modules: (a) Estimation module: This module processes sensor data and calculates the robot's task state Λ. task And the Jacobian matrix J. Furthermore, this embodiment estimates the ground normal vector at the contact point between the two legs. I n. (b) Task control module: User inputs reference task status. ref Λ task and Λ task Use the task controller to control the desired acceleration. des a task Then it is passed to the optimization module. (c) Optimization module: This module receives J from the first two modules. I n and des a task They were used to construct optimization problems and solve for the driving torque τ. a Then it is used as input to the robot actuator.

[0160] The technical solutions for the estimation module include:

[0161] like Figure 4 As shown in (a), sensor data is input into the state estimation module to obtain generalized coordinates y and velocity u. y and point cloud collection In this paper, this embodiment uses an extended Kalman filter (EKF) to estimate y and u. y And use FAST-LIO to obtain Then, y and u y Input into the kinematics module to calculate J, Λ task And the contact point p of the two wheels cl p cr By using improved principal component analysis (PCA), the normal vector estimator calculates normal vectors and stores them on the global map. In the middle. Then, the normal vector search module uses p cl p cr exist Searching for ground normal vector I I n.

[0162] FAST-LIO processes raw point cloud data and IMU data to compute a global point cloud framework, and then merges them into... Next, this embodiment uses principal component analysis (PCA) to estimate... The normal vector on the surface. This method performs well in accurately estimating smooth surfaces and is remarkably efficient. However, its results are highly sensitive to the size of the chosen neighborhood. Inappropriate choice in this regard can introduce instabilities into the estimation process.

[0163] To address this issue, this embodiment employs an improved principal component analysis method, which determines the optimal neighborhood size k for each vertex by minimizing an entropy function.

[0164]

[0165] Where λ k1 ,λ k2 ,λ k3 These are the three eigenvalues ​​of the covariance matrix when the neighborhood size is k. This method balances accuracy, speed, and robustness without requiring excessive manual selection of the neighborhood size.

[0166] After determining the neighborhood size, this embodiment calculates the covariance matrix of all vertices within the neighborhood of the current point cloud vertex. The eigenvector corresponding to the smallest eigenvalue of this matrix is ​​then used as the normal vector of the current vertex.

[0167] The estimated set of normal vectors is stored in the global ground normal vector map. In this embodiment, a separate thread is used for location search. This thread continuously synchronizes map updates and estimates the contact position p on both sides. cl p cr Used to search for ground normal vectors I n.

[0168] S220: Determine the target desired acceleration based on the current task state and the reference task state.

[0169] Furthermore, S220 may include:

[0170] The first desired acceleration for the posture task of the wheeled robot is determined using a proportional-derivative controller based on the current task state and the reference task state.

[0171] A second desired acceleration for the balance task of the wheeled robot is determined using a linear quadratic regulator based on the current task state and the reference task state.

[0172] The first desired acceleration and the second acceleration are reordered according to task priority to obtain the target desired acceleration.

[0173] Reference Figure 4 (b) User-provided input ref Λ task The estimation module provides input Λ to the task controller. taskThis embodiment divides the robot's motion tasks into balance tasks and posture tasks. An LQR (Linear Quadratic Regulator) controller is used for the balance task, while a PD (Proportional-Derivative) controller is used for the posture task, mapping the robot's motion to acceleration levels: the desired acceleration for the balance task. des a CoM Expected acceleration for attitude tasks des a. In this embodiment, tasks are reordered according to their priority to obtain... des a task .

[0174] Furthermore, the step of determining the first desired acceleration for the wheeled robot's posture task using a proportional-derivative controller based on the current task state and the reference task state includes the following steps:

[0175] Define the posture task state;

[0176] The expression for the attitude task state is:

[0177] Λ=[φ h α β γ] T ∈R 5 ;

[0178] Wherein, Λ represents the attitude task state; φ represents the separation angle between the wheels and legs of the wheeled robot; h represents the height of the wheeled robot; and α, β, and γ represent the roll angle, pitch angle, and yaw angle of the wheeled robot's head, respectively.

[0179] The attitude task is determined based on the proportional-derivative controller and the attitude task state;

[0180] The expression for the attitude task is:

[0181]

[0182] in, des a n This represents the pose task; n is an index in Λ; ref Λ n Indicates the state of the nth reference task; K pn and K dn These represent proportional gain and differential gain, respectively.

[0183] The first desired acceleration is defined according to the attitude task;

[0184] The expression for the first desired acceleration is:

[0185] des a = [ des a1… des a5]T ∈R 5 ;

[0186] in, des a represents the first desired acceleration.

[0187] Specifically, the attitude task includes separation angle task, altitude task, and head orientation task.

[0188] The separation angle task is a special task. The robot in this embodiment has six identical actuators at the hips, knees, and wheels. Therefore, it can perform squatting, jumping, and split-leg movements like a roller skater. In this embodiment, the separation angle φ is defined as the difference between the two swing angles.

[0189] φ=θ left -θ right #(4.3)

[0190] However, similar to roller skaters, when the robot's wheels contact the ground, a relative distance needs to be maintained between the two wheels in order to perform a turn. Therefore, the constraint imposed by this embodiment during the robot's movement also limits its separation angle.

[0191] Reference Figure 5 , Figure 5 This is the local control frame. The robot's sagittal and horizontal planes are defined. C' is the orthographic projection of the center of mass (CoM) onto the sagittal plane. C'r is the contact point of the right wheel when the separation angle is zero. This embodiment defines the local control frame N. The origin of frame N is located at the contact point C. l and C r The midpoint. In frame N, the x-axis is aligned with the direction of the robot's head, the z-axis is aligned with the normal vector of the horizontal plane, and the y-axis is aligned with the support line when the separation angle is zero.

[0192] On the horizontal plane, d w It can be represented as:

[0193]

[0194] This embodiment also estimates the robot's height h in frame N:

[0195]

[0196] Furthermore, this embodiment uses Euler angles calculated in ZYX order to determine the robot's head orientation. γ, β, and α are based on the ZYX order. γ, β, and α represent the yaw angle, pitch angle, and roll angle, respectively. Then, this embodiment defines the attitude task state as follows:

[0197] Λ=[φ h α β γ] T ∈R 5 #(4.6)

[0198] The control objectives of the attitude task are decoupled; in this embodiment, a PD control law is used to control them. n is an index in Λ, and the attitude task with index n can be represented as:

[0199]

[0200] Where K pn and K dn It is the gain. Then, in this embodiment, the desired acceleration for the attitude task is defined as follows:

[0201] des a = [ des a1… des a5] T ∈R 5 #(4.8)

[0202] Furthermore, the step of determining the second desired acceleration for the wheeled robot's balancing task using a linear quadratic regulator based on the current task state and the reference task state includes the following steps:

[0203] The wheeled robot is modeled as a single rigid body based on a linear quadratic regulator;

[0204] The center of mass of the rigid body is orthogonally projected onto the sagittal plane;

[0205] The mass momentum of the rigid body is defined in the sagittal plane; the mass momentum includes the linear mass momentum, the angular mass momentum, and the contact force.

[0206] The derivative of the center-of-mass momentum is determined based on the rotational force of gravity and the rotational force of ground contact force.

[0207] Determine the constraints that the wheeled robot must satisfy when it is in a balanced state;

[0208] The desired relative acceleration of the center of mass of the rigid body is determined as the second desired acceleration based on the derivative of the center of mass momentum and the constraint conditions.

[0209] Specifically, unlike other tasks, the control objectives of balance and forward motion are coupled. Therefore, this embodiment employs an LQR (Linear Quadratic Regulator) as the balance control strategy.

[0210] LQR is a model-based control strategy. This embodiment establishes a center-of-mass dynamics model by simplifying the robot as a single rigid body and orthogonally projecting its center of mass (CoM) onto a point C' in the sagittal plane, as shown below. Figure 5 As shown.

[0211] This embodiment will use k CoM ∈R3 Defined as the center-of-mass momentum of a robot, it includes the linear momentum p of the center of mass. CoM ∈R 2 Angular momentum of the center of mass N CoM ∈R and contact force F NC ∈R 2 All of these are within the sagittal plane.

[0212]

[0213] According to Newton's Euler theorem

[0214]

[0215] Among them W g W represents the rotational force of gravity. gc The twistor of ground contact force, s CoM ω CoM and r CoM These represent the absolute position, angular velocity, and relative position of the center of mass relative to the frame origin N, respectively. In the task space, this embodiment has:

[0216]

[0217] When the robot is in a balanced state, the following constraints must be met:

[0218] 1. The acceleration in the Z-axis direction is zero.

[0219] 2. The angular acceleration is zero.

[0220] This embodiment obtains the following state-space representation from formula (4.10).

[0221]

[0222] By solving the Ricatti equation, this embodiment obtains the gain matrix K, and then obtains the desired relative acceleration of the centroid.

[0223]

[0224] Furthermore, this embodiment defines the desired acceleration for the balancing task:

[0225]

[0226] S230: Construct an optimization problem using the Jacobian matrix, the ground normal vector, and the target desired acceleration.

[0227] S240: Solve the optimization problem under the constraints of the target motion equation to obtain the driving torque.

[0228] Furthermore, S240 may include:

[0229] Define the optimization variables for the optimization problem; wherein the optimization variables include generalized acceleration, rolling constraint force, and driving torque;

[0230] The target motion equation is converted into a linear equality constraint equation;

[0231] The generalized acceleration is mapped to the task space using the Jacobian matrix, thus transforming it into a least squares problem;

[0232] Based on the linear constraint equations and the least squares problem, several quadratic programming problems with priorities are determined;

[0233] The quadratic programming problems are solved according to their priority from high to low; wherein, in each solution, the solution result of the previous priority is used as the equality constraint for the quadratic programming problem of the next priority.

[0234] The driving torque is the optimization variable in the quadratic programming problem with the last priority.

[0235] Specifically, the whole body motion controller (WBC) performs tasks by coordinating the movement of all joints. This embodiment uses an optimization method to solve the WBC problem and defines optimization variables.

[0236]

[0237] In solving the whole-body motion controller (WBC) optimization problem, this embodiment must follow whole-body dynamics. Therefore, this embodiment expresses the final motion equation (3.11) as the following linear equality constraint.

[0238] A eq x = b eq

[0239]

[0240] Because this embodiment will use generalized acceleration As part of the optimization variables, this embodiment uses a task controller to describe all tasks at the acceleration level. This embodiment prioritizes tasks according to the following criteria. des a and des a CoM Reorder to obtain des a task ∈R 6 Balance, altitude, pitch angle, roll angle, split-leg angle, and yaw angle. For each task with priority i, this embodiment uses the Jacobian matrix J. iMap generalized acceleration to the task space.

[0241]

[0242] Formula (4.17) can be written as a least squares problem:

[0243] A i =[J i 0 0],b i = des a i -j i u y #(4.18)

[0244] Then, in this embodiment, all six tasks are stacked into matrix A according to their priority. task And vector b task middle.

[0245]

[0246] This embodiment uses a series of constrained quadratic programming (QP) problems to solve this problem. For example... Figure 4 As shown in (c), this embodiment employs a hierarchical optimization method to ensure tasks are executed according to their priorities. The priority-based QP problem can be written as:

[0247]

[0248] Among them, A eq,i b eq,i Indicates equality constraints. A ineq b ineq This represents an inequality constraint. In each optimization iteration, the result of the previous higher priority is used as the equality constraint for the subsequent lower priority.

[0249] In this embodiment, to ensure the robot can perform the experiment correctly, an attitude task controller is used to calculate the desired acceleration instead of the desired acceleration. Then, this embodiment incorporates the sum from Equation (4.19) and the dynamic constraints (4.16) into an initial set of equality constraints. Inequality constraints are used to constrain the upper and lower limits of the driving torque.

[0250] After the final iteration, the driving torque τ, as part of the optimization variables, a It will be input into the robot's actuator.

[0251] S250: Control the movement of the wheeled robot according to the driving torque.

[0252] The optimization problem constructed in this application includes the ground normal vector at the wheel-leg contact point. That is, leg dynamics are considered when controlling the wheel-legged robot, and the obtained driving torque is determined to drive the wheel-legged robot to pass through uneven terrain more smoothly, thereby improving the robustness and passability of the wheel-legged robot.

[0253] The following section will provide a detailed introduction and explanation of the solutions in the embodiments of this application, using specific application examples:

[0254] This embodiment is a simulation verification, and the specific technical solution includes:

[0255] 1. Simulation platform:

[0256] This embodiment constructs a simulation environment and verifies the control framework using the open-source mobile robot simulation software Webots. The controller is developed using MATLAB, and robot dynamics calculations are performed using the Spatial v2 dynamics library. Furthermore, this embodiment uses LiDAR, accelerometers, gyroscopes, and inertial measurement units (IMUs) provided in Webots to acquire sensor data.

[0257] 2. Experiment:

[0258] This embodiment designs an experiment to test the robot's robustness and ability to traverse uneven terrain.

[0259] 2.1 X-axis impact comparison experiment:

[0260] Figure 6 The figure shows an X-axis impact comparison experiment. This embodiment designed an X-axis impact comparison experiment to verify the robot's ability to maintain balance, using the integrated motion controller (CMC) proposed in previous work as the baseline for comparison.

[0261] Figure 7 A performance comparison of WBC and CMC. Figure 7 The top, middle, and bottom images show the robot's x-coordinate, height h, and centroid deviation distance, respectively, during the experiment. The changes.

[0262] like Figure 6 As shown, a 12-kilogram ball (approximately 50% of the robot's mass) is tied to a 1-meter-long rope, pulled to a 90-degree position, and then released, causing an impact on the robot in the x-axis direction.

[0263] like Figure 7As shown, in this process, the robot controlled by the baseline (the integrated motion controller CMC from previous work) was pushed backward by approximately 0.96 meters, with a height change of 0.8 centimeters and a center of gravity deviation of 0.106 meters, and recovered within 6.45 seconds. In contrast, the robot controlled by the WBC controller was pushed backward by approximately 0.7 meters, with a height change of 0.43 centimeters and a center of gravity deviation of 0.104 meters, and recovered within 5 seconds. Compared to the baseline, WBC reduced the knockback distance by 27% and the height change by 46%. Furthermore, compared to the baseline, WBC recovered stability in only 78% of the time required by the baseline. The comparative results demonstrate that the WBC controller of this embodiment significantly improves robustness.

[0264] 2.2 Adaptation to different ground heights experiment:

[0265] Figure 8 Experimental diagram to adapt to different ground heights. Figure 9 The top and bottom figures show the changes in the robot's height h and roll angle α during the experiment, respectively.

[0266] like Figure 8 As shown, in this experiment, the robot traversed two trapezoidal surfaces at a speed of 2 m / s, each surface being 0.17 m high and tilted at 15°.

[0267] like Figure 9 As shown, throughout the process, the robot adjusted the contraction and extension of its left and right legs to maintain its posture and prevent tipping. The robot's height variation remained within 2 centimeters, and its roll angle remained within 2 degrees. This experiment demonstrates the robot's ability to traverse and adapt to uneven terrain.

[0268] 2.3 Inclined U-turn Experiment:

[0269] Figure 10 The image above shows a U-shaped turn experiment on a ramp. Figure 10 The figure below is a visualization of the terrain estimation at time t4. Figure 11 The top and bottom images show the estimated tilt angles, respectively. Distance between the robot's center of mass and its centroid The change in ψ. ψ is the actual tilt angle.

[0270] like Figure 10 As shown, the robot climbs a 15° slope at a speed of 1.5 m / s, makes a U-turn, and then returns to flat ground. At a specific moment t4 during the robot's descent, this embodiment visualizes the terrain estimation algorithm. Real-time point cloud data detected by LiDAR is displayed in rainbow colors. This embodiment uses a grid map to represent the global normal vector map. The small yellow line represents the estimated normal vector for each grid cell. The three-color coordinate axes in the image represent the robot's current position and orientation, while the purple arrows represent the position and orientation of the currently estimated normal vector.

[0271] To enable the robot to detect changes in the ground normal vector earlier, this embodiment estimates the normal vector 0.9 meters in front of the current position. Furthermore, to mitigate the impact of sudden terrain changes on the robot, a low-pass filter is applied to smooth the perceived normal vector.

[0272] like Figure 11 As shown, this embodiment calculates the tilt angle between the estimated ground normal vector and the vertical direction. To make the normal vector estimation results more intuitive. The terrain contours are well aligned, and the average slope estimate is 12.3°. This embodiment demonstrates real-time performance and accuracy in terrain estimation.

[0273] This embodiment also compares the WBC controller with and without terrain estimation. Upon entering a slope, the robot's center of mass deviation without a normal vector was 0.08 meters. Similarly, upon leaving a slope, the center of mass deviation without a normal vector reached 0.051 meters. In contrast, with a normal vector, the robot's center of mass deviation was 0.068 meters upon entering the slope and 0.045 meters upon leaving. Compared to the robot without a ground normal vector, the center of mass deviation was reduced by 15% upon entering the slope and by 12% upon leaving. These results demonstrate that the smaller center of mass deviation when the robot leaves the current terrain indicates better terrain adaptability.

[0274] In summary, this embodiment designs a whole-body motion controller (WBC) framework for a closed-loop wheeled bipedal robot, derives a complete dynamic model, and proposes an online terrain estimation method to estimate the ground normal vector. Furthermore, this embodiment uses a task controller to control the task and performs hierarchical optimization to solve the WBC problem. In the x-axis impact experiment, compared with previous controllers, the controller in this embodiment reduces the knockback distance by 27%, demonstrating stronger anti-interference capability. In experiments adapting to different ground heights, this embodiment demonstrates the robot's ability to adapt to uneven terrain. In the ramp U-turn maneuvering experiment, the terrain estimation system in this embodiment exhibits real-time performance and high accuracy. Moreover, the integration of normal vectors improves the robot's motion performance, reducing the center-of-gravity deviation by more than 10% when entering and leaving ramps.

[0275] Reference Figure 12 This application also provides a six-degree-of-freedom wheeled robot control device, which can implement the above-described six-degree-of-freedom wheeled robot control method. The device includes:

[0276] A modeling unit is used to perform whole-body dynamics modeling on the wheeled robot and obtain the target motion equation of the wheeled robot.

[0277] The estimation unit is used to calculate the current task state, Jacobian matrix, and ground normal vector at the wheel-leg contact point of the wheel-leg robot based on sensor data.

[0278] A task control unit is used to determine the target desired acceleration based on the current task state and the reference task state;

[0279] An optimization problem construction unit is used to construct an optimization problem using the Jacobian matrix, the ground normal vector, and the target desired acceleration.

[0280] The optimization problem solving unit is used to solve the optimization problem under the constraints of the target motion equation to obtain the driving torque;

[0281] A control unit is used to control the movement of the wheeled robot according to the driving torque.

[0282] It is understood that the content of the above method embodiments is applicable to the present device embodiments. The specific functions implemented by the present device embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.

[0283] This application also provides a system comprising a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the aforementioned six-degree-of-freedom wheeled robot control method. This system can be any smart terminal, including tablet computers, in-vehicle computers, etc.

[0284] It is understood that the content of the above method embodiments is applicable to this system embodiment. The specific functions implemented in this system embodiment are the same as those in the above method embodiments, and the beneficial effects achieved are also the same as those achieved in the above method embodiments.

[0285] Please see Figure 13 , Figure 13 The hardware structure of another embodiment of the system is illustrated, the system including:

[0286] The processor 1301 can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this application.

[0287] The memory 1302 can be implemented in the form of read-only memory (ROM), static storage device, dynamic storage device, or random access memory (RAM). The memory 1302 can store the operating system and other applications. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the relevant program code is stored in the memory 1302 and is called and executed by the processor 1301 to execute the six-degree-of-freedom wheeled robot control method of the embodiments of this application.

[0288] The input / output interface 1303 is used to implement information input and output;

[0289] The communication interface 1304 is used to enable communication and interaction between this system and other devices. Communication can be achieved through wired means (such as USB, network cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.).

[0290] Bus 1305 transmits information between various components of the system (e.g., processor 1301, memory 1302, input / output interface 1303, and communication interface 1304);

[0291] The processor 1301, memory 1302, input / output interface 1303 and communication interface 1304 are connected to each other within the system via bus 1305.

[0292] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described six-degree-of-freedom wheeled robot control method.

[0293] It is understood that the content of the above method embodiments is applicable to this storage medium embodiment. The specific functions implemented in this storage medium embodiment are the same as those in the above method embodiments, and the beneficial effects achieved are also the same as those achieved in the above method embodiments.

[0294] Memory, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs and non-transitory computer-executable programs. Furthermore, memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, memory may optionally include memory remotely located relative to the processor, and these remote memories can be connected to the processor via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.

[0295] The embodiments described in this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided by the embodiments of this application. As those skilled in the art will know, with the evolution of technology and the emergence of new application scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems.

[0296] Those skilled in the art will understand that the technical solutions shown in the figures do not constitute a limitation on the embodiments of this application, and may include more or fewer steps than shown, or combine certain steps, or different steps.

[0297] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.

[0298] Those skilled in the art will understand that all or some of the steps in the methods disclosed above, as well as the functional modules / units in the systems and devices, can be implemented as software, firmware, hardware, or suitable combinations thereof.

[0299] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0300] It should be understood that in this application, "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.

[0301] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of the units described above is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0302] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0303] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0304] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes multiple instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing programs, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0305] The preferred embodiments of the present application have been described above with reference to the accompanying drawings, but this does not limit the scope of the claims of the present application. Any modifications, equivalent substitutions, and improvements made by those skilled in the art without departing from the scope and substance of the embodiments of the present application shall be within the scope of the claims of the present application.

Claims

1. A control method for a six-degree-of-freedom wheeled legged robot, characterized in that, The method includes the following steps: A whole-body dynamics model of the wheeled robot is performed to obtain the target motion equation of the wheeled robot; The current task state, Jacobian matrix, and ground normal vector at the wheel-leg contact point of the wheel-leg robot are calculated based on sensor data; wherein, the ground normal vector is searched in the global map using the positions of the two wheel-leg contact points; The target desired acceleration is determined based on the current task state and the reference task state; An optimization problem is constructed using the Jacobian matrix, the ground normal vector, and the target desired acceleration. The optimization problem is solved under the constraints of the target motion equation to obtain the driving torque; The wheeled robot's movement is controlled according to the driving torque; The process of performing whole-body dynamics modeling on the wheeled robot to obtain the target motion equation of the wheeled robot includes the following steps: In the kinetic chain of the wheeled robot, a passive joint is cut off, thereby generating a generation tree of the closed-loop system; Define the first generalized coordinates of the spanning tree and the driving torque, and then generate the first equation of motion for the spanning tree; The expression for the first equation of motion is: ; in, Represents the first generalized coordinate; Represents the generalized inertia matrix. Representing the generalized bias force, the generalized inertial matrix includes the Coriolis force, centripetal force, and gravity term; and They represent the generalized velocity set and the generalized acceleration set, respectively. It is a selection matrix. The driving torque represents the driving torque of the drive joint; This represents the ground contact force applied in the joint space; The constraint force restricting the movement of the wheeled robot's legs is added to the first equation of motion to obtain the second equation of motion; Eliminating the constraint forces in the second equation of motion based on the principle of virtual power yields the third equation of motion. Calculate the ground contact force and substitute it into the third equation of motion to obtain the target equation of motion; The expression for the target motion equation includes: ; in, , ; Indicates acceleration. Represents the second generalized coordinate. ; The constraint is 0; The expression for the ground contact force is: ; in, , , It is a contact Jacobian matrix; It is a rolling constraint. This represents the friction curve related to speed. and The calculation is related to the ground normal vector.

2. The control method for a six-degree-of-freedom wheeled robot according to claim 1, characterized in that, The calculation of the current task state, Jacobian matrix, and ground normal vector at the wheel-leg contact point of the wheel-leg robot based on sensor data includes the following steps: The sensor data is input into an extended Kalman filter to determine the second generalized coordinates and velocity; The current task state, the Jacobian matrix, and the contact position of the wheeled robot's legs are determined based on the second generalized coordinates and the velocity. Determine the global point cloud set based on the sensor data; The normal vectors in the global point cloud set are determined using principal component analysis, resulting in a global ground normal vector map. The normal vector of the contact location is determined in the global ground normal vector map and used as the ground normal vector.

3. The control method for a six-degree-of-freedom wheeled robot according to claim 1, characterized in that, Determining the target desired acceleration based on the current task state and the reference task state includes the following steps: The first desired acceleration for the posture task of the wheeled robot is determined using a proportional-derivative controller based on the current task state and the reference task state. A second desired acceleration for the balance task of the wheeled robot is determined using a linear quadratic regulator based on the current task state and the reference task state. The first desired acceleration and the second desired acceleration are reordered according to task priority to obtain the target desired acceleration.

4. The control method for a six-degree-of-freedom wheeled robot according to claim 3, characterized in that, The determination of the first desired acceleration for the posture task of the wheeled robot using a proportional-derivative controller based on the current task state and the reference task state includes the following steps: Define the posture task state; The expression for the attitude task state is: ; in, Indicates the attitude task state; This indicates the separation angle between the wheels and legs of the wheeled robot; This indicates the height of the wheeled robot. , , These represent the roll angle, pitch angle, and yaw angle of the wheeled robot's head, respectively. The attitude task is determined based on the proportional-derivative controller and the attitude task state; The expression for the attitude task is: ; in, This represents the pose task; n is... Index in; This indicates the state of the nth reference task; and These represent proportional gain and differential gain, respectively. The first desired acceleration is defined according to the attitude task; The expression for the first desired acceleration is: ; in, This represents the first desired acceleration.

5. The control method for a six-degree-of-freedom wheeled robot according to claim 3, characterized in that, The process of determining the second desired acceleration for the wheeled robot's balance task using a linear quadratic regulator based on the current task state and the reference task state includes the following steps: The wheeled robot is modeled as a single rigid body based on a linear quadratic regulator; The center of mass of the rigid body is orthogonally projected onto the sagittal plane; The mass momentum of the rigid body is defined in the sagittal plane; the mass momentum includes the linear mass momentum, the angular mass momentum, and the contact force. The derivative of the center-of-mass momentum is determined based on the rotational force of gravity and the rotational force of ground contact force. Determine the constraints that the wheeled robot must satisfy when it is in a balanced state; The desired relative acceleration of the center of mass of the rigid body is determined as the second desired acceleration based on the derivative of the center of mass momentum and the constraint conditions.

6. The control method for a six-degree-of-freedom wheeled robot according to any one of claims 1 to 5, characterized in that, Solving the optimization problem under the constraints of the target motion equation to obtain the driving torque includes the following steps: Define the optimization variables for the optimization problem; wherein the optimization variables include generalized acceleration, rolling constraint force, and driving torque; The target motion equation is converted into a linear equality constraint equation; The generalized acceleration is mapped to the task space using the Jacobian matrix, thus transforming it into a least squares problem; Based on the linear equality constraint equations and the least squares problem, multiple quadratic programming problems with priorities are determined; The quadratic programming problems are solved according to their priority from high to low; wherein, in each solution, the solution result of the previous priority is used as the equality constraint for the quadratic programming problem of the next priority. The driving torque is the optimization variable in the quadratic programming problem with the last priority.

7. A control device for a six-degree-of-freedom wheeled robot, characterized in that, The device includes: A modeling unit is used to perform whole-body dynamics modeling on the wheeled robot and obtain the target motion equation of the wheeled robot. The estimation unit is used to calculate the current task state, Jacobian matrix, and ground normal vector at the wheel-leg contact point of the wheel-leg robot based on sensor data; wherein, the ground normal vector is searched in the global map using the positions of the two wheel-leg contact points; A task control unit is used to determine the target desired acceleration based on the current task state and the reference task state; An optimization problem construction unit is used to construct an optimization problem using the Jacobian matrix, the ground normal vector, and the target desired acceleration. The optimization problem solving unit is used to solve the optimization problem under the constraints of the target motion equation to obtain the driving torque; Control unit, used to control the movement of the wheeled robot according to the driving torque; The process of performing whole-body dynamics modeling on the wheeled robot to obtain the target motion equation of the wheeled robot includes the following steps: In the kinetic chain of the wheeled robot, a passive joint is cut off, thereby generating a generation tree of the closed-loop system; Define the first generalized coordinates of the spanning tree and the driving torque, and then generate the first equation of motion for the spanning tree; The expression for the first equation of motion is: ; in, Represents the first generalized coordinate; Represents the generalized inertia matrix. Representing the generalized bias force, the generalized inertial matrix includes the Coriolis force, centripetal force, and gravity term; and They represent the generalized velocity set and the generalized acceleration set, respectively. It is a selection matrix. The driving torque represents the torque required to drive the joint. This represents the ground contact force applied in the joint space; The constraint force restricting the movement of the wheeled robot's legs is added to the first equation of motion to obtain the second equation of motion; Eliminating the constraint forces in the second equation of motion based on the principle of virtual power yields the third equation of motion. Calculate the ground contact force and substitute it into the third equation of motion to obtain the target equation of motion; The expression for the target motion equation includes: ; in, , ; Indicates acceleration. Represents the second generalized coordinate. ; The constraint is 0; The expression for the ground contact force is: ; in, , , It is a contact Jacobian matrix; It is a rolling constraint. This represents the friction curve related to speed. and The calculation is related to the ground normal vector.

8. An electronic device, characterized in that, The electronic device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the method as described in any one of claims 1 to 6.

9. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Quadruped robot control method combined with terrain constraints

    CN116237943A