Robot control method, device, electronic device, computer-readable storage medium and computer program product

By obtaining the current state parameters of the robot, determining the safety control parameters based on the dynamic model and filtering processing, and combining the whole-body dynamic model, the robustness of the robot control is improved, the problem of insufficient robustness in the existing technology is solved, and the stable and safe control of the robot in complex environments is realized.

CN118990470BActive Publication Date: 2025-07-25TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410247226.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-03-04
Publication Date
2025-07-25
Estimated Expiration
2044-03-04

AI Technical Summary

Technical Problem

In the prior art, robot control methods pay less attention to robustness, especially the balance control effect of the robot under strong external disturbances, which affects its stability and safety in unknown environments.

Method used

By obtaining the current state parameters of the robot, determining the basic control parameters based on the preset dynamic model, and obtaining safety control parameters through parameter filtering, combining the whole-body dynamic model to determine the motion control parameters to achieve safety control of the robot.

Benefits of technology

Improves the robustness of robot control and ensures the stability and safety of robots in complex environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118990470B_ABST
    Figure CN118990470B_ABST
Patent Text Reader

Abstract

The present application provides a robot control method, device, electronic device, computer-readable storage medium, and computer program product, which are applied to the field of robot technology. The method includes: obtaining the current state parameters of the robot to be controlled at the current moment; calling a state regulator to determine the basic control parameters for each joint of the robot to be controlled based on a preset dynamic model and the current state parameters; performing parameter filtering on the basic control parameters to obtain the safety control parameters for each joint of the robot to be controlled; calling the full-body dynamic model of the robot to be controlled and determining the motion control parameters for each joint of the robot to be controlled based on the safety control parameters of each joint; and controlling the corresponding joints of the robot to be controlled at the current moment based on the motion control parameters of each joint. Through the present application, safe control of the robot can be achieved, and the robustness of robot control can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

1.1.1 Technical Field

[0002] This application relates to the field of artificial intelligence, and particularly to a robot control method, device, electronic device, computer-readable storage medium, and computer program product. 1.1.2 Background Art

[0004] With the development of industrial automation and artificial intelligence technologies, robot control technologies have been widely applied in fields such as manufacturing, healthcare, agriculture, and transportation, bringing great convenience and benefits to people's production and life. Robot control technology refers to various control means for enabling a robot to complete various tasks and actions. Generally, robot control technology includes control technologies such as energy-based passive control theory, adaptive dynamic programming, and adaptive optimal output regulation.

[0005] In related technologies, more attention has been focused on the control effect of robots in robot control technology, and less attention has been paid to the robustness of robot control, that is, the balance control effect of a robot under strong external disturbances. Robustness determines the stability of a robot working in an unknown environment and the fault tolerance of abnormal situations in actual applications, and is of great significance for the safety control of robots. 1.1.3 Summary of the Invention

[0007] Embodiments of this application provide a robot control method, device, electronic device, computer-readable storage medium, and computer program product, which can achieve the safety control of a robot and improve the robustness of robot control.

[0008] The technical solution of the embodiments of this application is implemented as follows:

[0009] Embodiments of this application provide a robot control method, the method including: obtaining current state parameters of a robot to be controlled at a current moment; determining basic control parameters for each joint of the robot to be controlled based on a preset dynamic model and the current state parameters; performing parameter filtering processing on the basic control parameters to obtain safety control parameters for each joint of the robot to be controlled; invoking a full-body dynamic model of the robot to be controlled, and determining motion control parameters for each joint of the robot to be controlled based on the safety control parameters for each joint; and controlling corresponding joints of the robot to be controlled at the current moment based on the motion control parameters for each joint.

[0010] An embodiment of the present application provides a robot control device, including: an acquisition module for acquiring the current state parameters of the robot to be controlled at the current moment; a basic control parameter determination module for calling a state regulator to determine, based on a preset dynamic model and the current state parameters, the basic control parameters for each joint of the robot to be controlled; a parameter filtering module for performing parameter filtering on the basic control parameters to obtain the safety control parameters for each joint of the robot to be controlled; a motion control parameter determination module for calling the whole-body dynamic model of the robot to be controlled to determine, based on the safety control parameters of each joint, the motion control parameters of each joint of the robot to be controlled; and a control module for controlling the corresponding joints of the robot to be controlled at the current moment based on the motion control parameters of each joint.

[0011] In some embodiments, the parameter filtering module is further configured to: construct a control barrier function based on a preset control input parameter and the basic control parameters; the control barrier function includes a safety objective function and a constraint condition; and determine, based on the constraint condition, the safety control parameters corresponding to each joint of the robot to be controlled when the safety objective function obtains the minimum value.

[0012] In some embodiments, the motion control parameter determination module is further configured to: call a state observer to determine, based on the safety control parameters of each joint and the current state parameters, the desired acceleration of each joint of the robot to be controlled; and call the whole-body dynamic model of the robot to be controlled to determine, based on the desired acceleration of each joint, the motion control parameters of each joint of the robot to be controlled.

[0013] In some embodiments, the current state parameters include actual state variables, and the desired acceleration includes the desired acceleration of the center of mass; the motion control parameter determination module is further configured to: call the state observer to determine, based on the safety control parameters of each joint and the current state parameters, the reference distance between the reference center of mass position of the robot to be controlled and the current virtual contact point, the reference speed corresponding to the reference distance, the reference center of mass position, and the reference center of mass speed; determine the reference state variables based on the reference distance, the reference speed, the reference center of mass position, and the reference center of mass speed; call a state regulator to determine the state feedback parameters of a pre-constructed inverted pendulum model; and determine the desired acceleration of the center of mass of each joint based on the state feedback parameters of the inverted pendulum model, the reference state variables, and the actual state variables.

[0014] In some embodiments, the motion control parameter determination module is further configured to: call the full-body dynamics model and the state regulator of the robot to be controlled, and construct a corresponding objective function based on the desired acceleration of each joint; determine the minimum value of the objective function of each joint based on the parameter constraint conditions preset for each joint of the robot to be controlled; and determine the motion control parameters of each joint of the robot to be controlled based on the minimum value.

[0015] In some embodiments, the device further includes a safety control module, and the safety control module is configured to: construct a plurality of safety constraint conditions for the robot to be controlled; call the full-body dynamics model of the robot to be controlled, and determine the first motion control parameters of each joint of the robot to be controlled based on the safety control parameters of each joint and the plurality of safety constraint conditions; and control the corresponding joints of the robot to be controlled at the current moment based on the first motion control parameters of each joint.

[0016] In some embodiments, the safety control module is further configured to: determine the safety control parameter ranges of the safe rotation angle and the safe rotation angular velocity; construct a plurality of control barrier functions according to the safety control parameter ranges of the safe rotation angle and the safe rotation angular velocity; call the preset dynamics model, and determine the plurality of safety constraint conditions for the robot to be controlled based on the plurality of control barrier functions.

[0017] In some embodiments, the safety control module is further configured to: convert the preset dynamics model into a simplified dynamics model; determine a first control parameter and a second control parameter based on the simplified dynamics model and the current state parameters; determine the first Lie derivative corresponding to the first control parameter and the second Lie derivative corresponding to the second control parameter based on the first control parameter, the second control parameter, and the plurality of control barrier functions; and determine the plurality of safety constraint conditions based on the first Lie derivative, the second Lie derivative, and the plurality of control barrier functions.

[0018] In some embodiments, the basic control parameter determination module is further configured to: convert the preset dynamics model into a state space model; call the state regulator, and determine the state feedback parameters for the robot to be controlled based on the state space model; and determine the basic control parameters of each joint of the robot to be controlled based on the state feedback parameters of the robot to be controlled and the current state parameters.

[0019] An embodiment of the present application provides an electronic device, including: a memory for storing computer-executable instructions; and a processor for implementing the robot control method provided by the embodiment of the present application when executing the computer-executable instructions stored in the memory.

[0020] An embodiment of the present application provides a computer-readable storage medium storing computer-executable instructions for implementing the robot control method provided by the embodiment of the present application when being executed by a processor.

[0021] An embodiment of the present application provides a computer program product, which includes computer-executable instructions stored in a computer-readable storage medium; wherein, when the processor of the electronic device reads the computer-executable instructions from the computer-readable storage medium and executes the computer-executable instructions, the robot control method provided by the embodiment of the present application is implemented.

[0022] The embodiment of the present application has the following beneficial effects:

[0023] First, obtain the current state parameters of the robot to be controlled at the current moment, and determine the basic control parameters for each joint of the robot to be controlled based on a preset dynamic model and the current state parameters; then, perform parameter filtering on the basic control parameters to obtain the safety control parameters for each joint of the robot to be controlled, call the whole-body dynamic model of the robot to be controlled, and determine the motion control parameters for each joint of the robot to be controlled based on the safety control parameters of each joint; finally, control the corresponding joints of the robot to be controlled at the current moment based on the motion control parameters of each joint. In this way, through the parameter filtering of the basic control parameters of each joint of the robot to be controlled, the original control parameters of the robot to be controlled can be converted into optimized control parameters suitable for the robot safety control theory, that is, the safety control parameters of each joint, through the parameter screening process. And use the safety control parameters of each joint of the robot to be controlled as the input of the whole-body dynamic model, combine the whole-body dynamic model with the robot safety control theory, obtain the motion control parameters of each joint, and then use the motion control parameters of each joint to realize the safety control of the corresponding joints of the robot to be controlled, improving the robustness of robot control. 1.1.4 Description of the Drawings

[0025] Figure 1 is a schematic structural diagram of the robot control system architecture provided by the embodiment of the present application;

[0026] Figure 2 is a schematic structural diagram of the robot control device provided by the embodiment of the present application;

[0027] Figure 3It is an optional process schematic diagram of the robot control method provided by the embodiments of the present application;

[0028] Figure 4 It is another optional process schematic diagram of the robot control method provided by the embodiments of the present application;

[0029] Figure 5 It is a schematic structural diagram of the robot provided by the embodiments of the present application;

[0030] Figure 6 It is a full-body side view schematic diagram of the robot provided by the embodiments of the present application in the vertical plane;

[0031] Figure 7 It is a rotation schematic diagram of the robot side swing rotation center provided by the embodiments of the present application;

[0032] Figure 8 It is a schematic diagram of the two-wheel motion mode of the robot provided by the embodiments of the present application;

[0033] Figure 9 It is a schematic diagram of the obstacle-crossing mode of the robot provided by the embodiments of the present application;

[0034] Figure 10 It is a framework schematic diagram of the robot control system provided by the embodiments of the present application;

[0035] Figure 11 It is a schematic structural diagram of the wheel second-order inverted pendulum provided by the embodiments of the present application;

[0036] Figure 12 It is a process schematic diagram of the robot control provided by the embodiments of the present application;

[0037] Figure 13 It is a schematic diagram of the inverted pendulum model of the robot provided by the embodiments of the present application;

[0038] Figure 14 It is a schematic diagram of the simulation effect of the robot control provided by the embodiments of the present application;

[0039] Figure 15 It is a simulation schematic diagram of the rotation angle of the outer wheel hub motor within the entire time period provided by the embodiments of the present application;

[0040] Figure 16 It is provided by the embodiments of the present application to change the safety constraint lower limit to When, it is a simulation schematic diagram of the rotation angle of the outer wheel hub motor within the entire time period. 1.1.5 Specific implementation manners

[0042] To make the objectives, technical solutions, and advantages of this application clearer, the following will further describe this application in detail with reference to the accompanying drawings. The described embodiments should not be construed as limitations on this application. All other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the scope of protection of this application.

[0043] In the following description, reference is made to "some embodiments", which describe a subset of all possible embodiments. However, it can be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments and can be combined with each other without conflict.

[0044] If similar descriptions such as "first / second" appear in the application documents, the following explanation is added. In the following description, the terms "first / second / third" are only used to distinguish similar objects and do not represent a specific order for the objects. It can be understood that "first / second / third" can be interchanged in a specific order or sequence when permitted, so that the embodiments of this application described here can be implemented in an order other than that illustrated or described here.

[0045] In the embodiments of this application, the term "module" or "unit" refers to a computer program with a predetermined function or a part of a computer program, which works together with other related parts to achieve a predetermined goal and can be fully or partially implemented by using software, hardware (such as a processing circuit or a memory), or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be a part of an overall module or unit that includes the function of that module or unit.

[0046] Unless otherwise defined, all technical and scientific terms used in the embodiments of this application have the same meaning as commonly understood by those skilled in the art to which this application belongs. The terms used in the embodiments of this application are only for the purpose of describing the embodiments of this application and are not intended to limit this application.

[0047] In the practical application of data collection and processing in the embodiments of this application, the informed consent or separate consent of the personal information subject should be obtained strictly in accordance with the requirements of relevant national laws and regulations, and subsequent data use and processing should be carried out within the scope authorized by laws and regulations and the personal information subject.

[0048] Artificial Intelligence (AI) is a theory, method, technology, and application system that uses digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use knowledge to achieve the best results. In other words, artificial intelligence is a comprehensive technology in computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can respond in a way similar to human intelligence. Artificial intelligence also studies the design principles and implementation methods of various intelligent machines, enabling machines to have the functions of perception, reasoning, and decision-making. For example, it studies the control methods of robots to enable robots to have safety control functions during operation.

[0049] Artificial intelligence technology is an interdisciplinary subject that covers a wide range of fields, including both hardware-level and software-level technologies. The basic technologies of artificial intelligence generally include sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technology, pre-trained model technology, operation / interaction systems, mechatronics, etc. Among them, pre-trained models, also known as large models or foundation models, can be widely applied to downstream tasks in various directions of artificial intelligence after fine-tuning. The software technologies of artificial intelligence mainly include several major directions such as computer vision technology, speech processing technology, natural language processing technology, machine learning / deep learning, and robotics technology.

[0050] Robotics technology involves the design, construction, operation, and use of robots. The goal of robotics technology is to design machines that can help and assist humans. Robotics technology integrates fields such as mechanical engineering, electrical engineering, information engineering, mechatronics, electronics, bioengineering, computer engineering, control engineering, software engineering, and mathematics, and will be further developed in the future.

[0051] The solution provided in the embodiments of this application relates to the robotics technology of artificial intelligence and will be specifically described through the following embodiments:

[0052] In the relevant technical solutions in the industry, if you want to keep the wheels of a robot balanced, some use PID controllers, and some use controllers such as model-based LQR and MPC, which are basically based on the wheel inverted pendulum model. Some use methods such as energy-based passive control theory, adaptive dynamic programming, and adaptive optimal output regulation.

[0053] Although similar robust control methods have been proposed for use in a second-order wheel inverted pendulum system in the related technologies, they have not been able to generalize the simplified model of the robot to any higher order, which has certain limitations; they are only applied to the simplified model of the robot and do not consider the details of combining with whole-body dynamics control, and there is no global control strategy and effect for the control of the robot; they only consider the application scenario of two-wheel balance and do not include the specific applications of four-wheel driving, predicted four-wheel, and two-wheel state switching scenarios.

[0054] The above methods focus more on the control effect of the robot and less on the robustness of the robot control. The robustness of a control system refers to the ability of the system to maintain a certain performance under uncertain disturbances. Based on the above at least one technical problem existing in the related technologies, the embodiments of the present application are based on a simplified model of a second-order wheel inverted pendulum, introduce a safety controller, and according to a state observer, a centroid reference trajectory that can be used for a whole-body dynamics control architecture can be obtained; establish a constraint inequality derived from the safety controller theory, and substitute the constraint into the whole-body dynamics controller to realize the combination of whole-body dynamics control and safety control, thereby realizing the safety control of the robot and improving the robustness of the robot control.

[0055] The following describes the exemplary applications of the robot control device (i.e., an electronic device) provided by the embodiments of the present application. The device provided by the embodiments of the present application can be implemented as various types of terminals such as a laptop computer, a tablet computer, a desktop computer, a set-top box, a smart phone, a smart speaker, a smart watch, a smart TV, a vehicle-mounted terminal, etc., or can be implemented as a server. Next, the exemplary applications when the robot control device is implemented as a server will be described.

[0056] See Figure 1 , Figure 1 is a schematic structural diagram of the robot control system 100 provided by the embodiments of the present application. To support a robot control application, the robot control application runs on the terminal 400. The terminal 400 is connected to the server 200 through the network 300. The network 300 can be a wide area network, a local area network, or a combination of the two.

[0057] The terminal 400 is used to send a robot control request to the server 200. The server 200 constitutes the robot control device of the embodiment of the present application. The server 200 is used to respond to the robot control request, obtain the current state parameters of the robot 500 to be controlled at the current moment; based on the preset dynamic model and the current state parameters, determine the basic control parameters for each joint of the robot 500 to be controlled; perform parameter filtering processing on the basic control parameters to obtain the safety control parameters for each joint of the robot 500 to be controlled; call the whole-body dynamic model of the robot 500 to be controlled, and based on the safety control parameters of each joint, determine the motion control parameters of each joint of the robot 500 to be controlled; based on the motion control parameters of each joint, control the corresponding joints of the robot 500 to be controlled at the current moment to obtain the robot control result at the current moment. When controlling the robot 500 to be controlled, the server 200 can generate a robot control instruction, and the robot control instruction carries the motion control parameters of each joint. The server 200 can send the robot control instruction to the robot 500 to be controlled, so as to realize the control of the robot 500 to be controlled. In some embodiments, after obtaining the robot control result at the current moment, the server 200 returns the robot control result at the current moment to the terminal 400, so as to output the robot control result on the terminal 400 or perform the robot control at the next moment based on the robot control result on the terminal 400. For example, the motion trajectory of the robot to be controlled after responding to the robot control instruction can be displayed on the terminal 400 as the robot control result.

[0058] In some embodiments, the server 200 may be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery network (Content Delivery Network, CDN), and big data and artificial intelligence platforms. The terminal and the server can be directly or indirectly connected through wired or wireless communication methods, which are not limited in the embodiments of the present application.

[0059] See Figure 2 , Figure 2 is a schematic structural diagram of the electronic device 40 provided by the embodiment of the present application. Figure 2The electronic device 40 shown may be a robot control device, which includes: at least one processor 410, a memory 450, at least one network interface 420, and a user interface 430. The various components in the robot control device are coupled together via a bus system 440. It is understood that the bus system 440 is used to achieve connection and communication between these components. In addition to the data bus, the bus system 440 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, the bus system 440 is not described in detail. Figure 2 Various buses are labeled as bus system 440 .

[0060] The processor 410 may be an integrated circuit chip having signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., wherein the general-purpose processor may be a microprocessor or any conventional processor, etc.

[0061] The user interface 430 includes one or more output devices 431 that enable presentation of media content, including one or more speakers and / or one or more visual display screens. The user interface 430 also includes one or more input devices 432, including user interface components that facilitate user input, such as a keyboard, mouse, microphone, touch screen display, camera, other input buttons and controls.

[0062] The memory 450 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard disk drives, optical disk drives, etc. The memory 450 may optionally include one or more storage devices that are physically remote from the processor 410.

[0063] The memory 450 includes a volatile memory or a non-volatile memory, and may also include both volatile and non-volatile memories. The non-volatile memory may be a read-only memory (ROM), and the volatile memory may be a random access memory (RAM). The memory 450 described in the embodiment of the present application is intended to include any suitable type of memory.

[0064] In some embodiments, memory 450 can store data to support various operations, examples of which include programs, modules, and data structures, or a subset or superset thereof, as exemplarily described below.

[0065] Operating system 451, including system programs for processing various basic system services and performing hardware-related tasks, such as a framework layer, a core library layer, a driver layer, etc., for implementing various basic services and processing hardware-based tasks;

[0066] A network communication module 452 for reaching other electronic devices via one or more (wired or wireless) network interfaces 420. Exemplary network interfaces 420 include: Bluetooth, Wireless Fidelity (WiFi), and Universal Serial Bus (USB), etc.;

[0067] A presentation module 453 for enabling the presentation of information (e.g., a user interface for operating peripheral devices and displaying content and information) via one or more output devices 431 associated with the user interface 430 (e.g., a display screen, a speaker, etc.);

[0068] An input processing module 454 for detecting and translating one or more user inputs or interactions from one of one or more input devices 432;

[0069] In some embodiments, the device provided by the embodiments of the present application may be implemented in software. Figure 2 Shown is a robot control device 455 stored in the memory 450, which may be software in the form of a program and a plug-in, etc., including the following software modules: an acquisition module 4551, a basic control parameter determination module 4552, a parameter filtering module 4553, a motion control parameter determination module 4554, and a control module 4555. These modules are logical, and thus can be arbitrarily combined or further split according to the functions implemented. The functions of each module will be described below.

[0070] In other embodiments, the device provided by the embodiments of the present application may be implemented in hardware. As an example, the device provided by the embodiments of the present application may be a processor in the form of a hardware decoding processor, which is programmed to execute the robot control method provided by the embodiments of the present application. For example, a processor in the form of a hardware decoding processor may employ one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Programmable Logic Devices (PLDs), Complex Programmable Logic Devices (CPLDs), Field-Programmable Gate Arrays (FPGAs), or other electronic components.

[0071] In some embodiments, the terminal or the server may implement the robot control method provided in the embodiments of the present application by running various computer-executable instructions or computer programs. For example, the computer-executable instructions may be microprogram-level commands, machine instructions, or software instructions. The computer program may be a native program or software module in the operating system; it may be a local (Native) application (Application, APP), that is, a program that needs to be installed in the operating system to run, or it may be a small program that can be embedded in any APP, that is, a program that only needs to be downloaded to the browser environment to run. In short, the above computer-executable instructions may be instructions in any form, and the above computer programs may be application programs, modules, or plugins in any form.

[0072] The robot control method provided in each embodiment of the present application may be executed by an electronic device. Among them, the electronic device may be a server or a terminal, that is, the robot control method in each embodiment of the present application may be executed by the server, or may be executed by the terminal, or may also be executed through the interaction between the server and the terminal.

[0073] See Figure 3 , Figure 3 is an optional flowchart of the robot control method provided in the embodiments of the present application, which will be described in conjunction with Figure 3 the steps shown. Taking the execution entity of the robot control method as the server as an example, the method includes the following steps S101 to S105:

[0074] Step S101, obtain the current state parameters of the robot to be controlled at the current moment.

[0075] In the embodiments of the present application, the robot to be controlled is a robot that needs to complete the expected task through safety control, mainly including moving wheels, a head, a torso, a waist, and legs, and different joints are used to connect and control between every two parts. The current state parameters are a series of state parameters of each joint of the robot to be controlled during the movement at the current moment. For example, the rotation angle, rotation angular velocity, rotation angular acceleration, joint torque, joint angle, and joint angular velocity of the moving wheel, etc.

[0076] Step S102, based on the preset dynamic model and the current state parameters, determine the basic control parameters for each joint of the robot to be controlled.

[0077] In the embodiments of the present application, the preset dynamic model is a robot dynamic model obtained by modeling the robot dynamics through a robot dynamics modeling method. The robot dynamics describes the relationship among joint torques, dynamic parameters, and joint motions. The robot dynamics modeling method can be the Newton-Euler method, the Lagrangian method, the Kane method, the operator algebra method, etc. The basic control parameters include the joint torque of each joint and the torque of the rotating wheels. The determination of the basic control parameter of each joint can be completed by designing a feedback controller through a state regulator. For example, a Linear Quadratic Regulator (LQR). The specific process is as follows: convert the preset dynamic model into a state-space model, and by configuring the feedback matrix, convert the robot control system from an open-loop system to a closed-loop system, so that the closed-loop system reaches the desired system state. Finally, based on the relationship between the feedback matrix and the basic control parameters, calculate the basic control parameter for each joint of the robot to be controlled.

[0078] Here, by directly sending the basic control parameter to the motor of the robot to be controlled, the control of the robot can be achieved. However, there is a lack of overall body coordination during the robot control process. Therefore, the basic control parameter needs to be processed through subsequent parameter processing to achieve the safe control of the robot to be controlled.

[0079] Step S103: Perform parameter filtering processing on the basic control parameter to obtain the safety control parameter for each joint of the robot to be controlled.

[0080] In the embodiments of the present application, the parameter filtering processing refers to the process of optimizing the basic control parameter. The safety control parameter obtained after the parameter filtering processing is the optimized control parameter. The parameter filtering processing process can be completed by designing a safety controller. For example, a controller based on a control barrier function. The safety controller is a method for controlling the safety of a robot system. It can limit the state of the robot system by defining a control barrier function. When the state of the robot system approaches the unsafe area, the safety controller will automatically adjust the control strategy to ensure the safety of the robot system. The basic control parameter can be regarded as the original control strategy of the robot system before applying the safety controller, and the safety control parameter for each joint of the robot to be controlled can be regarded as the control strategy of the obtained safety controller.

[0081] Here, through the parameter filtering processing process of the basic control parameter, an optimized control strategy for the robot system can be obtained, ensuring the safety of the robot system.

[0082] Step S104: Invoke the full-body dynamic model of the robot to be controlled, and based on the safety control parameter of each joint, determine the motion control parameter of each joint of the robot to be controlled.

[0083] In the embodiments of the present application, the motion control parameter of each joint refers to the variable to be solved obtained by solving the whole-body dynamics model through a quadratic programming optimizer. The motion control parameter can be the optimized joint torque, contact force, joint acceleration, etc. The whole-body control of the robot to be controlled is realized by calling the whole-body dynamics model of the robot to be controlled, and the whole-body control is a multi-task control with priorities. The safety control parameter of each joint is used as the input of each task to obtain the expected operation space task parameter of the robot motion, and then the expected operation space task parameter is substituted into the whole-body dynamics model of the robot to be controlled for solution, and finally the motion control parameter of each joint of the robot to be controlled is obtained.

[0084] Here, by combining the whole-body dynamics model of the robot to be controlled with the safety control theory, the motion control parameter of each joint optimized by the safety control theory is obtained, which is convenient for subsequent realizing the safety control of the robot to be controlled through the motion control parameter.

[0085] Step S105: Based on the motion control parameter of each joint, control the corresponding joint of the robot to be controlled at the current moment.

[0086] In the embodiments of the present application, after obtaining the motion control parameter of each joint, the motion control parameter of each joint is converted into a target control instruction for each joint, and the target control instruction is sent to the control motor that controls the corresponding joint, and the control of the corresponding joint of the robot to be controlled at the current moment is realized through the control motor, so as to obtain the robot control result at the current moment. For example, when the motion control parameter is the joint angle, joint angular velocity and joint torque of the robot knee joint, the target control instruction correspondingly is the target joint angle control instruction, target joint angular velocity control instruction and target joint torque control instruction for the robot knee joint, and the above target control instructions are sent to the knee joint control motor, and the knee joint of the robot to be controlled is driven by the knee joint control motor to move.

[0087] The robot control method provided by the embodiment of the present application. First, obtain the current state parameters of the robot to be controlled at the current moment, and based on the preset dynamic model and the current state parameters, determine the basic control parameters for each joint of the robot to be controlled; then, perform parameter filtering processing on the basic control parameters to obtain the safety control parameters for each joint of the robot to be controlled, call the whole-body dynamic model of the robot to be controlled, and based on the safety control parameters of each joint, determine the motion control parameters for each joint of the robot to be controlled; finally, based on the motion control parameters of each joint, control the corresponding joints of the robot to be controlled at the current moment. In this way, through the parameter filtering processing of the basic control parameters of each joint of the robot to be controlled, the original control parameters of the robot to be controlled can be converted into optimized control parameters suitable for the robot safety control theory, that is, the safety control parameters of each joint, through the parameter screening process. And use the safety control parameters of each joint of the robot to be controlled as the input of the whole-body dynamic model, combine the whole-body dynamic model with the robot safety control theory, obtain the motion control parameters of each joint, and then use the motion control parameters of each joint to realize the safety control of the corresponding joints of the robot to be controlled, improving the robustness of robot control.

[0088] Next, the robot control method in the embodiment of the present application will be described in combination with the interaction between the terminal and the server in the robot control system. It should be noted that the robot control method here is a robot control method implemented through the interaction between the terminal and the server, which is essentially the same as the robot control method executed by the server in the above embodiment. The only difference is that the actions performed by the terminal during the execution of the robot control method are also described in the embodiment of the present application. And some steps can be executed by either the terminal or the server. Therefore, for the steps that are the same in content but different in execution subject in this embodiment and the above embodiment, this embodiment is only an exemplary description, and in the implementation process, it can be executed by any one of the execution subjects, and the embodiment of the present application does not make any limitations in this regard.

[0089] Figure 4 is another optional flowchart of the robot control method provided by the embodiment of the present application. As Figure 4 shown, the method includes the following steps S201 to step S214:

[0090] Step S201, the terminal receives the robot control operation input by the user.

[0091] In the embodiments of the present application, the user can input robot control operations on the client of the robot control application. In the robot control application, a robot control function can be provided. The user (who can be a robot control designer or a robot user) can input robot control operations on the robot control function page to trigger a robot control request.

[0092] In some embodiments, when the user inputs robot control operations, the user can also input the current state parameters of the robot to be controlled at the current moment. When the terminal receives the current state parameters of the robot to be controlled at the current moment, a confirmation robot control window will pop up on the robot control function page. After the terminal detects that the user clicks the confirmation robot control button, further parameter processing will be performed on the current state parameters of the robot to be controlled at the current moment, so as to determine the motion control parameters of the robot to be controlled. Alternatively, in some other embodiments, the user can directly input the current state parameters of the robot to be controlled at the current moment on the robot control function page. When the terminal receives the current state parameters of the robot to be controlled at the current moment, the robot control function can be directly triggered, and further parameter processing will be performed on the current state parameters of the robot to be controlled at the current moment to determine the motion control parameters of the robot to be controlled, realizing the safe control of the robot to be controlled.

[0093] Step S202, the terminal generates a robot control request in response to the robot control operation.

[0094] In the embodiments of the present application, the data input by the user can be encapsulated into the robot control request. For example, on the display interface of the robot control application, the current state parameters of the robot to be controlled at the current moment are displayed. The user can select or sample parameters according to actual needs, and then encapsulate the current state parameters of the robot to be controlled at the current moment input by the user into the robot control request.

[0095] Step S203, the terminal sends the robot control request to the server.

[0096] Step S204, the server obtains the current state parameters of the robot to be controlled at the current moment in response to the robot control request.

[0097] In the embodiments of the present application, in response to the robot control request, if the current state parameters at the current moment are encapsulated in the robot control request, the current state parameters at the current moment can be directly parsed. The current state parameters of the robot to be controlled at the current moment have been described in detail in step S101 and will not be elaborated here.

[0098] Step S205, the server converts the preset dynamic model into a state space model.

[0099] In the embodiments of the present application, the state - space model refers to a model that describes the dynamic characteristics of a robot system using state variables, revealing the internal connections of the robot system. The input variables cause changes in the state variables, and the changes in the state variables determine the changes in the output variables. The state - space model mainly includes a state equation and an output equation. This step is mainly used to simplify the system - of - equations of a preset dynamic model into the form of, where represents the state variable, represents the derivative of the state variable, and are the simplified system matrices, is the control parameter of the state - space model to be solved.

[0100] Here, converting the preset dynamic model into a state - space model facilitates subsequent obtaining of the input parameters of the state - space model through the state - space model, that is, the basic control parameters for each joint of the robot to be controlled.

[0101] Step S206: The server calls a state regulator and determines the state - feedback parameters for the robot to be controlled based on the state - space model.

[0102] In the embodiments of the present application, the goal of the state regulator is to find a set of control parameters to reduce the changes in the control parameters and at the same time make the state variables small enough, that is, the robot system reaches a stable state. The state regulator can be a linear - quadratic regulator. Call the state regulator to design a feedback controller to convert the state - space model from an open - loop system to a closed - loop system. The feedback controller includes state - feedback parameters, and the state - feedback parameters for the robot to be controlled can be obtained by taking the minimum value of the quadratic - form objective function of the feedback controller.

[0103] Here, through the control of the closed - loop system using the state - feedback parameters, the robot system can achieve better control performance and at the same time reach a stable state.

[0104] Step S207: The server determines the basic control parameters for each joint of the robot to be controlled based on the state - feedback parameters and the current state parameters of the robot to be controlled.

[0105] In the embodiments of the present application, when the state - feedback parameters for the robot to be controlled are obtained, multiplying the state - feedback parameters by the state variables in the current state parameters can obtain the basic control parameters for each joint of the robot to be controlled.

[0106] Step S208: The server constructs a control barrier function based on the preset control input parameters and the basic control parameters.

[0107] In the embodiments of the present application, the preset control input parameter is a decision variable predefined according to actual control requirements. The decision variable can be a value appropriately selected by a designer according to the control objective that best conforms to the robot system. The decision variable can be used to describe the system characteristics of the robot system. The control barrier function includes a safety objective function and constraint conditions. The control barrier function controls the actions of the robot to be controlled by introducing the safety objective function in the dynamic control process of the robot system and optimizing the specified constraint conditions to achieve a specific control objective. The safety objective function includes the preset control input parameter and the basic control parameter. For example, the safety objective function can be defined as the value of the variable when the square of the modulus of the difference between the preset control input parameter and the basic control parameter reaches the minimum value. According to the safety objective function and the control objective of the robot system, constraint conditions applicable to the robot system are designed.

[0108] Here, the control barrier function can be regarded as a safety controller. By constructing the control barrier function, it is convenient to obtain the safety control strategy of the optimized safety controller, that is, the safety control parameter of each joint, based on the safety objective function and constraint conditions in the control barrier function, and to achieve the safety control of the robot to be controlled based on the safety control parameter.

[0109] Step S209: The server determines, based on the constraint conditions, the safety control parameter corresponding to each joint of the robot to be controlled when the safety objective function reaches the minimum value.

[0110] In the embodiments of the present application, the safety control parameter of each joint is the value of the variable when the safety objective function reaches the minimum value under the limitation of the constraint conditions. The safety control parameter is the control strategy of the optimized safety controller. The specific process is as follows: Substitute the preset control input parameter and the basic control parameter of each joint into the safety objective function for modulus square calculation to obtain multiple modulus square values of each joint. Select the modulus square value with the smallest value in each joint, determine the basic control parameter corresponding to the modulus square value, and determine the basic control parameter as the safety control parameter of the corresponding joint.

[0111] Step S210: The server calls the state observer and determines the expected acceleration of each joint of the robot to be controlled based on the safety control parameter of each joint and the current state parameter.

[0112] In the embodiments of the present application, the expected acceleration includes the expected acceleration of the supporting wheels of the robot to be controlled, the expected acceleration in the vertical direction of the torso, the expected angular acceleration of the torso attitude, the expected acceleration of the swing wheels, and the expected acceleration of the center of mass. The safety control parameter of each joint and the current state parameter are used as the input parameters of the state observer, and the state observer outputs the expected acceleration of each joint of the robot to be controlled.

[0113] In some embodiments, the current state parameters include actual state variables, and the desired acceleration includes the desired acceleration of the center of mass. The determination of the desired acceleration of the center of mass can be achieved in the following manner: call a state observer, and based on the safety control parameters of each joint and the current state parameters, determine the reference distance between the reference center of mass position of the robot to be controlled and the current virtual contact point, the reference velocity corresponding to the reference distance, the reference center of mass position, and the reference center of mass velocity; based on the reference distance, the reference velocity, the reference center of mass position, and the reference center of mass velocity, determine the reference state variables; call a state regulator to determine the state feedback parameters of a pre-constructed inverted pendulum model; and based on the state feedback parameters of the pre-constructed inverted pendulum model, the reference state variables, and the actual state variables, determine the desired acceleration of the center of mass of each joint.

[0114] That is to say, assuming that the mass of the robot to be controlled is concentrated at the center of mass, and setting the center of the line connecting the two support wheels as the current virtual contact point between the inverted pendulum and the ground, and connecting the center of mass and the current virtual contact point, the construction of the inverted pendulum model of the robot to be controlled can be realized. Call a state observer, and through a heuristic or model-based method, the reference center of mass position, the reference center of mass velocity, the reference distance between the reference center of mass position and the current virtual contact point, and the reference velocity corresponding to the reference distance of the center of mass of the robot to be controlled along the forward direction can be planned. Combine the reference center of mass position, the reference center of mass velocity, the reference distance between the reference center of mass position and the current virtual contact point, and the reference velocity corresponding to the reference distance to form the reference state variables of the pre-constructed inverted pendulum model. Then use a linear quadratic regulator to calculate the state feedback parameters of the pre-constructed inverted pendulum model. The parameters in the actual state variables and the reference state variables are in a one-to-one correspondence, and the actual state variables are included in the currently obtained current state parameters. By taking the difference between the reference state variables and the actual state variables, the difference between the two is obtained, and then multiplying the state feedback parameters by the difference, the desired acceleration of the center of mass of each joint can be obtained.

[0115] Here, by determining the desired acceleration of the center of mass of each joint, both the determination of the reference trajectory of the center of mass of the robot to be controlled can be ensured, and the dynamic balance of the robot can be maintained.

[0116] Step S211, the server calls the whole-body dynamics model of the robot to be controlled, and based on the desired acceleration of each joint, determines the motion control parameters of each joint of the robot to be controlled.

[0117] In an embodiment of the present application, calling the whole-body dynamics model of the robot to be controlled and determining the motion control parameters of each joint of the robot to be controlled based on the expected acceleration of each joint can be achieved in the following way: calling the whole-body dynamics model and state regulator of the robot to be controlled, and constructing a corresponding objective function based on the expected acceleration of each joint; determining the minimum value of the objective function of each joint based on the parameter constraints preset for each joint of the robot to be controlled; and determining the motion control parameters of each joint of the robot to be controlled based on the minimum value.

[0118] That is to say, the expected acceleration of each joint, the relationship between the joint space velocity and the joint space acceleration are combined with the whole body dynamics model of the robot to be controlled to obtain the dynamic equation to be solved of the robot to be controlled, and the expected acceleration of each joint is substituted into the dynamic equation to be solved, and the variables to be solved of the dynamic equation to be solved can be obtained, that is, the motion control parameters of each joint of the robot to be controlled. In the solution process, constraints can also be added to the variables to be solved according to the body structure of the robot to be controlled and the physical limitations of the motor. In addition, in the process of solving the dynamic equation, a quadratic programming optimizer, such as LQR, can also be used to construct an objective function, and then based on the above constraints, a suitable quadratic programming optimizer is selected to obtain the minimum value of the objective function, and the motion control parameters of each joint of the robot to be controlled can be solved.

[0119] Step S212: The server controls the corresponding joints of the robot to be controlled at the current moment based on the motion control parameters of each joint, and obtains the robot control result at the current moment.

[0120] In some embodiments, the control of the corresponding joints of the robot to be controlled at the current moment can also be achieved in the following way: first, construct multiple safety constraints for the robot to be controlled; then, call the whole-body dynamics model of the robot to be controlled, and determine the first motion control parameters of each joint of the robot to be controlled based on the safety control parameters of each joint and multiple safety constraints; finally, based on the first motion control parameters of each joint, control the corresponding joints of the robot to be controlled at the current moment.

[0121] That is to say, in order to further ensure the safe control of the robot to be controlled, multiple control obstacle functions are additionally designed. In the process of solving the first motion control parameters of each joint, multiple safety constraints are added based on the multiple control obstacle functions, so that the solved first motion control parameters of each joint are more suitable for the control objectives of the robot system, thereby achieving effective safe control of the robot to be controlled.

[0122] The safety control parameters of each joint include the safe rotation angle and the safe rotation angular velocity. The construction of multiple safety constraint conditions for the robot to be controlled can be achieved through the following steps: First, determine the range of safety control parameters for the safe rotation angle and the range of safety control parameters for the safe rotation angular velocity; then, according to the range of safety control parameters for the safe rotation angle and the range of safety control parameters for the safe rotation angular velocity, construct multiple control barrier functions; finally, call the preset dynamic model and determine multiple safety constraint conditions for the robot to be controlled based on the multiple control barrier functions.

[0123] That is to say, the multiple control barrier functions are determined according to the range of safety control parameters for the safe rotation angle and the range of safety control parameters for the safe rotation angular velocity in the safety control parameters. For example, assume that the range of safety control parameters for the safe rotation angle is between and the range of safety control parameters for the safe rotation angular velocity is between , then the multiple control barrier functions can be , , and .

[0124] Calling the preset dynamic model and determining multiple safety constraint conditions for the robot to be controlled based on the multiple control barrier functions can be achieved through the following steps: First, convert the preset dynamic model into a simplified dynamic model; then, based on the simplified dynamic model and the current state parameters, determine the first control parameter and the second control parameter; based on the first control parameter, the second control parameter and the multiple control barrier functions, determine the first Lie derivative corresponding to the first control parameter and the second Lie derivative corresponding to the second control parameter; finally, based on the first Lie derivative, the second Lie derivative and the multiple control barrier functions, determine multiple safety constraint conditions.

[0125] That is to say, the first Lie derivative corresponding to the first control parameter includes the first-order Lie derivative and the second-order Lie derivative corresponding to the first control parameter, and the second Lie derivative corresponding to the second control parameter includes the first-order Lie derivative and the second-order Lie derivative corresponding to the second control parameter. Substitute the first Lie derivative, the second Lie derivative and the multiple control barrier functions into the general constraint conditions respectively to form multiple safety constraint conditions.

[0126] Step S213, the server sends the robot control result at the current moment to the terminal.

[0127] Step S214, the terminal outputs the robot control result at the current moment.

[0128] In the embodiments of the present application, first, a preset dynamic model is converted into a state space model, and a state regulator is called to determine state feedback parameters for the robot to be controlled. Then, based on the state feedback parameters and the current state parameters, the basic control parameters of each joint are determined. Next, based on the preset control input parameters and the basic control parameters, a control barrier function is constructed, and through the constraint conditions in the control barrier function, the safety control parameters of each joint corresponding to the minimum value of the safety objective function are determined. Finally, during the process of solving the motion control parameters of each joint, multiple safety constraint conditions are added to obtain the first motion control parameters of each joint, and the corresponding joints of the robot to be controlled are controlled at the current moment using the first motion control parameters. In this way, the safety control parameters of each joint are optimized strategies. The basic control parameters of each joint of the robot to be controlled undergo an optimization process by the control barrier function to obtain the safety control parameters, and the safety control parameters and multiple safety constraint conditions are combined to determine the first motion control parameters of each joint. This enables effective safety control of the robot to be controlled using the first motion control parameters in the presence of strong external disturbances, enhancing the robustness of the robot system.

[0129] Next, an exemplary application of the embodiments of the present application in an actual application scenario will be described.

[0130] The embodiments of the present application provide a robot control method. The robot to be controlled involved in this method is a self-developed robot, with the following characteristics: the hip rotation centers of the two legs are in the same plane or coaxial; each leg can be independently extended and shortened; there is an independently driven wheel at the bottom of each leg; and there are 4 legs. At the same time, the robot also includes a waist that can rotate in at least two directions, multi-degree-of-freedom upper limbs and a head, and the upper limbs are distributed on both sides of the body. This robot has strong versatility and can be applied to a variety of scenarios, including elderly care services, retail inventory management, industrial manufacturing, intelligent inspection, and other scenarios.

[0131] As Figure 5 shown, the robot mainly consists of the following parts: wheels, legs, waist, body, upper limbs, and head. Among them, the wheels are installed at the ends of each leg, and each wheel can be independently driven; each leg can be independently extended and retracted in the direction shown in the figure, and the two inner legs can rotate around the hip rotation center and remain linked; the two outer legs can also rotate around the hip rotation center and remain linked. The two hip rotation centers of the inner and outer legs are independently driven but in the same vertical plane. Figure 6Shown is one of the designs where the two rotation centers are coaxial. At the upper end of the leg is connected to the waist of the robot. The waist has two rotation centers, namely a pitch rotation center and a yaw rotation center that can enable the body to perform pitch and yaw motions. The yaw rotation center and the pitch rotation center are in a series design and are located at the upper end of the pitch rotation center, connecting to the body of the robot. At the upper end of the robot body is connected the head. On both sides of the body, there is a multi-degree-of-freedom upper limb, and in some designs, a gripper can also be connected to the end of the upper limb.

[0132] When moving on flat ground, the robot can maintain the four-wheel mode state as shown in Figure 7 or form a two-wheel dynamic smooth motion mode as shown in Figure 8 through the hip rotation center. In the four-wheel motion mode, the robot is always in a stable state (not falling), which is convenient for the upper limb to follow the operator's instructions to perform some operation tasks. At the same time, when moving on flat ground, switching from four wheels to two-wheel mode can reduce the floor area and match the bipedal humanoid robot. When moving on non-flat ground, such as typical steps or stairs, it can perform dynamic obstacle crossing through the two-wheel alternating mode as shown in Figure 9 .

[0133] Based on the above-described robot body, the block diagram of the built robot control system is shown in Figure 10 . Among them, the photo on the far right represents the robot body. The 4 wheels of the robot are individually driven by 4 rotary motors, and the lengths of the four legs are individually driven by four linear motors. The four legs can be divided into two inner linkage legs and two outer linkage legs. The two inner linkage legs are driven by the same rotary motor, and the two outer linkage legs are driven by the same rotary motor. In addition, each joint of the waist and each joint of the upper body of the robot are driven by rotary motors. For all the above-described rotary motors, the motors can receive rotation angle instructions, rotation speed instructions, and torque instructions. The motor bottom drive board will drive the motor to rotate according to the received instruction signals. For all the above-described linear motors, the rotary motors can receive linear movement position instructions, linear movement speed instructions, and driving force instructions. The linear motor bottom drive board will drive the motor to move linearly according to the received instruction signals. The rotation and movement of the rotary motors and linear motors change the posture of the robot and the position of the robot in three-dimensional space, realizing the control of the robot. The rapid change of the joint angle instructions in cooperation with the robot can also cause the posture of the robot to change dynamically, changing the contact situation between the robot and the environment.

[0134] The state of the robot can be obtained by different sensors installed on the body. For example: the current posture of the robot can be obtained using an inertial sensor; the rotation and movement positions and speed information of each joint of the robot in the current state can be obtained using a motor encoder; the magnitude and direction of the force and torque on the joint where the force / torque sensor is located can be obtained using a force / torque sensor; the magnitude of the pressure on the sole of the robot's foot, the body surface, inside the hand or even the fingertips and its change characteristics over a period of time can be obtained using a tactile sensor; a vision sensor such as a camera is used to identify obstacles within the robot's field of view and indirectly obtain its own state information.

[0135] The role of the State Estimation module is to fuse the various posture and state information obtained by the robot. For example: based on the current posture of the robot obtained from the inertial sensor, the odometry information obtained from the wheel rotation, and the visual positioning information, a relatively accurate and reliable position of the robot in the world coordinate system can be obtained; based on the force / torque sensor and the tactile sensor, the contact situation between the robot and the external environment can be obtained; based on the current posture of the robot obtained from the inertial sensor and the angle information of each motor joint encoder, and combined with the robot's own model parameters, the centroid position of the robot can be estimated. The robot state information obtained through these fusions will be used as feedback for robot motion generation, planning, and control.

[0136] Figure 10 The left module is the Motion Generation module. Different motion generation strategies will be adopted according to the different states of the actions completed by the robot. The working modes of this robot include but are not limited to: four-wheel motion mode, two-wheel motion mode, four-wheel to two-wheel conversion mode, up and down stairs mode, four-wheel active suspension mode, folding mode. Considering the complexity of the upper body and its ability to perform a variety of tasks, the robot can have even more motion modes, which will not be listed one by one here.

[0137] In different modes, the ways of generating actions are different. Some common basic technologies and algorithm modules will be called in these modes. These modules are listed in Figure 10The leftmost column includes, but is not limited to: model-free controllers, model-based controllers (e.g., LQR, model predictive control MPC, adaptive controllers, robust controllers, etc.). For example, when controlling the balance of wheels in the two-wheel mode, a model-free proportional-integral-derivative controller PID can be used to generate the reference trajectories of the wheels and the robot's center of mass. Specific methods can call one or several of model-free control, model-based control (LQR, model predictive control MPC, etc.), adaptive controllers, and robust controllers. In the two-wheel control stage of the four-wheel-to-two-wheel mode, a similar control module is also required. In the four-wheel mode, if the wheel legs extending forward of the body and the wheel legs extending backward of the body are made equivalent, the dynamics of the equivalent wheel legs and the upper body can be described by a first-order or second-order inverted pendulum, and the above-mentioned modules applied to balance control can also be called. The control trajectory obtained in this way can keep the robot balanced in the four-wheel state. Once the road surface is uneven, with potholes or obstacles, the actions generated by a similar controller can achieve relative stability of the robot's upper body. This is also a way to implement the four-wheel active suspension function.

[0138] What the motion generation module obtains are a series of task information of the robot, which includes, but is not limited to: center-of-mass tasks, support leg tasks, swing leg tasks, waist tasks, and so on. Similarly, considering the complexity of the upper body and its ability to perform various actions and tasks, the robot can include even more tasks, which will not be listed one by one here. These tasks serve as the input to the whole-body motion control module. In the whole-body motion control module, a detailed model and calibration of the robot will be carried out, and the dynamic model of the robot and the external force situation will be used as the constraints for optimization. Through the optimization process, the target joint angle commands, target joint angular velocity commands, and target joint torque commands of each joint of the robot are calculated. Finally, the target joint angle commands, target joint angular velocity commands, and target joint torque commands of each joint will be sent to the joint drivers of the robot to complete the robot control closed-loop.

[0139] Before introducing the specific steps of the balance control method provided in this application, the method for establishing the dynamic model corresponding to the balance control method provided in this application will be introduced first. Refer to Figure 11 , Figure 11 shows a schematic diagram of a second-order inverted pendulum provided by an embodiment of this application.

[0140] To implement the balance control method of a wheel-legged robot, it is necessary to model the dynamics of the wheel-legged robot to obtain the dynamic model of the wheel-legged robot during the balance control process. For the sake of clear, concise, and easy-to-understand narration, it is assumed that the at least one leg mechanism of the wheel-legged robot has the same length, the at least one leg mechanism has the same angle with the ground, and the rotational speeds and positions of each moving wheel are the same. Specifically as follows:

[0141] Taking the forward direction of the wheel - leg robot as the positive x - axis direction, the right - shift direction as the positive y - axis direction, and the direction perpendicular to the contact surface and upward as the positive z - axis direction, a world coordinate system is established. When observing the wheel - leg robot from the y - axis direction, at least one leg mechanism of the wheel - leg robot will be observed to overlap. This at least one leg mechanism can be the outer leg mechanism of the wheel - leg robot or all the leg mechanisms of the wheel - leg robot.

[0142] Exemplarily, the length changes of the four leg mechanisms of the wheel - leg robot are synchronized, and the angles between the four leg mechanisms and the base of the wheel - leg robot are also synchronized. When observing from the direction corresponding to the y - axis, the four leg mechanisms overlap, and the four moving wheels also overlap. In this case, on the yoz plane of the world coordinate system, the abstract two - dimensional model of the wheel - leg robot is as Figure 11 shown. This two - dimensional model belongs to a second - order inverted pendulum model, and the second - order inverted pendulum model includes: a moving wheel, link B (corresponding to at least one moving leg of the wheel - leg robot), and link P (corresponding to the torso mechanism of the wheel - leg robot).

[0143] As Figure 11 shown, in the two - dimensional model, the direction of rotating the moving wheel to the left side of the contact surface is taken as the positive direction, the traveling distance is x, and the angle that the moving wheel rotates relative to the world coordinate system is defined as , and the counter - clockwise direction is taken as the positive direction of the rotation angle of the moving wheel. The angle that the link B formed after the four leg mechanisms overlap rotates relative to the world coordinate system is defined as , with the counter - clockwise direction being positive. The angle that the link P corresponding to the torso mechanism rotates relative to the world coordinate system is defined as , and the counter - clockwise direction is taken as the positive direction of the rotation angle of the moving wheel.

[0144] Define , , as the derivatives of , , with respect to time respectively; where, represents the rotational speed of the moving wheel (also known as the angle of the moving wheel), represents the angular velocity of the leg mechanism, represents the angular velocity of the torso mechanism; define , , as the second - order derivatives of , , with respect to time respectively; where, represents the angular acceleration of the moving wheel, represents the angular acceleration of the leg mechanism, Represents the angular acceleration of the torso mechanism.

[0145] The angle that the moving wheel rotates relative to the world coordinate system is driven by the joint motor on the first joint. The torque of the first joint is represented by Taking the clockwise direction as the positive direction of the torque of the first joint.

[0146] The angle that the torso mechanism rotates relative to the world coordinate system is driven by the joint motor of the second joint. The torque of the second joint is represented by Taking the counterclockwise direction as the positive direction of the torque of the second joint.

[0147] The masses of the moving wheel, link B (equivalent to at least one overlapping leg mechanism), and link P (equivalent to the torso mechanism) are respectively represented as , , ; The moments of inertia of the moving wheel, link B, and link P are respectively represented as: , , . The radius of the moving wheel is represented by r, and the length of link B is represented by . The length of the line connecting the intersection point of link B and the moving wheel to the geometric center of link B is represented by . The length of the line connecting the intersection point of link B and the wheel to the geometric center of link P is represented by .

[0148] On the basis of defining the above physical quantities, in the first step, the expressions for the total kinetic energy of the moving wheel, the total kinetic energy of link B, and the total kinetic energy of link P are respectively derived, and the total kinetic energy of the wheel-legged robot system is obtained; among them, the total kinetic energy of the above moving wheel, the total kinetic energy of link B, and the total kinetic energy of link P all include translational kinetic energy and rotational kinetic energy in the calculation of kinetic energy. The specific expressions are shown in formulas (1)-(4).

[0149] (1)

[0150] (2)

[0151] (3)

[0152] (4)

[0153] In the second step, calculate the total kinetic energy T of the system for each degree of freedom in the generalized coordinates ( ), and take partial derivatives of the derivatives of each degree of freedom respectively, and then take the derivatives of the results of taking partial derivatives of the derivatives of each degree of freedom with respect to time. The specific process is shown in formula (5).

[0154] (5)

[0155] The third step is to calculate the total potential energy of the system U , the total potential energy U The calculation expression is shown in formula (6).

[0156] (6)

[0157] It should be noted that in the above formula, the plane where the moving wheel is located is taken as the zero potential energy surface, that is, it is considered that the potential energy of the moving wheel is 0. The potential energy of the moving wheel does not appear in the formula of the above total potential energy of the system. 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.

[0158] The fourth step is to calculate the total potential energy of the system Take partial derivatives of each degree of freedom in the generalized coordinates respectively;

[0159] In the fifth step, using the above various 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. The formula is as follows:

[0160] (7)

[0161] (8)

[0162] (9)

[0163] The dynamic equation can be written in polynomial form. The formula is as follows:

[0164] (10)

[0165] (11)

[0166] Among them, is a 3*3 inertia matrix; specifically including . Each element in ( , )is each element in the inertia matrix, which is used to characterize that when the deflection angle of the leg mechanism is , and the deflection angle of the torso mechanism is When it comes to the mass and moment of inertia of each joint rigid body that makes up the wheel-leg robot, as well as the equivalent inertial physical quantities of each mechanism under mutual influence. is a 3×1 deviation force matrix, which can also be called a deviation force vector, specifically including: , which is used to represent the Coriolis force and centripetal force received by each mechanism of the wheel-leg robot; represents a 3×1 gravity matrix, which can also be called a gravity vector, specifically including .

[0167] After deriving the dynamic equation in matrix form through the above process, the subsequent balance control process can directly use this matrix-form dynamic equation without repeating the above derivation process during the balance control process. Next, each step of the balance control method will be introduced and explained through the embodiments of the present application.

[0168] Step 1: Obtain the state quantity of the wheel-leg robot at the first moment. The state quantity at the first moment is used to represent the motion state of the wheel-leg robot at the first moment.

[0169] In some embodiments, the first moment is any moment during the movement of the wheel-leg robot. Optionally, at the first moment, the angles between at least one leg mechanism of the wheel-leg robot and the direction perpendicular to the contact surface are equal, the rotational angular velocities of the moving wheels respectively corresponding to each leg mechanism are equal, the rotational angles of at least one first joint used to connect the leg mechanism and the moving wheel are equal, and the rotational angular velocities of at least one first joint are equal. That is, when observing from the side of the wheel-leg robot, at least one leg mechanism coincides, and at least one moving wheel coincides.

[0170] It should be noted that this balance control method is implemented on the basis of abstracting the wheel-leg robot into a second-order inverted pendulum model.

[0171] In some embodiments, the state quantity is used to describe the motion state of the wheel-leg robot at the first moment. According to the state quantity at the first moment, the attitude and motion speed of the wheel-leg robot at the first moment can be determined. The state quantity at the first moment is obtained by a sensor on the wheel-leg robot observing the motion state of the wheel-leg robot.

[0172] 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 torso mechanism , the angular velocity of the moving wheel , the angular velocity of the leg mechanism and the angular velocity of the torso mechanism .

[0173] Exemplarily, each physical quantity included in the state quantity is 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, and the deflection angle of the torso mechanism refers to: the deflection angle of the torso mechanism relative to the z-axis in the world coordinate system, and the angular velocity of the moving wheel refers to: the rotational speed of the moving wheel in the x-axis direction in the world coordinate system, and the angular velocity of the leg mechanism is used to represent the change speed of the deflection angle of the leg mechanism, and the angular velocity of the torso mechanism is used to represent the change speed of the deflection angle of the leg torso mechanism.

[0174] It should be noted that the physical quantities in the state quantity can also be determined by the relative positions between the various mechanisms of the wheel-leg 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 torso mechanism refers to: the deflection angle of the torso mechanism relative to the leg mechanism, that is, + ( is the same as the positive direction of ). The observation coordinate system corresponding to each physical quantity in the state quantity can be determined according to actual needs, and this application does not limit it here.

[0175] In this application, the physical quantities in each formula are observed based on the world coordinate system. Of course, the physical quantities determined using other observation coordinate systems can also implement this balance control method, and the relevant formulas can be obtained by making equivalent substitutions based on the formulas provided in this application, which will not be mentioned further in the text.

[0176] Since in the second-order inverted pendulum model, it is default that each leg mechanism coincides, therefore, the deflection speed and angular velocity of at least one leg mechanism are the same, and the rotational speed of at least one moving wheel is also the same.

[0177] Exemplarily, the state quantity consists of: the deflection angle of the leg mechanism , the deflection angle of the torso mechanism , the angular velocity of the moving wheel , the angular velocity of the leg mechanism and the angular velocity of the torso mechanism . The state quantity can be represented by the symbol , and the state quantity can be expressed as: .

[0178] In this case, obtaining the state quantities of the wheel-legged robot at the first moment includes: determining the deflection angle of the leg mechanism through an inertial sensor and a motor encoder , the deflection angle of the torso mechanism ; determining the angular velocity of the moving wheel through the motor encoder , the angular velocity of the leg mechanism and the angular velocity of the torso mechanism .

[0179] Optionally, the clock cycles of the inertial sensors and motor encoders in the wheel-legged robot are the same or in a multiple relationship, so that each physical quantity included in the state quantity is a physical quantity at the first moment. For the specific content of the inertial encoder and the motor encoder, please refer to the above introduction and will not be elaborated here.

[0180] Step 2, according to the dynamic equation of the wheel-legged robot and the state quantity at the first moment, determine the dynamic controller parameters, which are used to define the mapping relationship between the angular acceleration at the first moment and the driving torque at the second moment; the angular acceleration at the first moment includes: the angular acceleration of the torso mechanism, the angular acceleration of at least one leg mechanism, and the angular acceleration of the moving wheel; the driving torque at the second moment includes: the driving torque of the first joint and the driving torque of the second joint.

[0181] In some embodiments, the angular acceleration at the first moment refers to the rotational acceleration of each mechanism of the wheel-legged robot (which can also be understood as the angular acceleration of the joint motor) after abstracting it into a second-order inverted pendulum model. The angular acceleration at the first moment includes: the angular acceleration of the moving wheel , the angular acceleration of the leg mechanism , and the angular acceleration of the torso mechanism .

[0182] As can be seen from the above content, after abstracting the wheel-legged robot into a second-order inverted pendulum model, a dynamic equation in matrix form can be obtained. The following will introduce and illustrate the determination process of the dynamic controller parameters through several embodiments, and the execution subject of each step of this process can be a computer device.

[0183] Step 2 in the above embodiments: Determining the parameters of the dynamic controller according to the dynamic equation of the wheel-leg robot and the state quantities at the first moment may include the following steps: First, substitute the state quantities at the first moment into the dynamic equation to determine the inertia matrix, the coriolis force matrix, and the 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-leg robot at the first moment. The coriolis force matrix is used to characterize the coriolis force of the wheel-leg robot at the first moment. The gravity matrix is used to characterize the gravity of the wheel-leg robot at the first moment. Then, determine the parameters of the dynamic controller according to the inertia matrix, the coriolis force matrix, and the gravity matrix.

[0184] In some embodiments, the inertia matrix is used to characterize the inertia quantities, including mass and moment of inertia, of each joint rigid body (including the first joint and the second joint) of the wheel-leg robot in the posture at the first moment. Optionally, the inertia matrix can be calculated according to the dynamic equation. In the case where the wheel-leg robot is abstracted into a second-order inverted pendulum model, the inertia matrix is a 3*3 matrix.

[0185] In some embodiments, the coriolis force matrix is used to characterize the coriolis force and centripetal force received by each mechanism. Optionally, the coriolis force matrix includes the coriolis force caused by the deflection angle of the moving wheel, the coriolis force caused by the deflection angle of the leg mechanism, and the coriolis force caused by the deflection angle of the torso mechanism.

[0186] In some embodiments, the gravity matrix is used to characterize the gravity received by each mechanism. Optionally, the gravity matrix includes the gravity received by the moving wheel, the gravity received by the leg structure, and the gravity received by the torso mechanism. Optionally, in this solution, it can be defaulted that the moving wheel (such as the moving wheel of the outer leg mechanism) is always in contact with the contact surface, and the gravity received by the moving wheel due to its own mass remains unchanged during the balance control process. The plane where the center of mass of the moving wheel is located is used as the zero potential energy surface, and the gravity received by the moving wheel is 0 to reduce the calculation overhead during the balance control process.

[0187] Among them, the relevant content about the inertia matrix, the coriolis force matrix, and the gravity matrix can be referred to the above introduction and will not be elaborated here. The expressions of each element in the above inertia matrix, coriolis force matrix, and gravity matrix are also pre-derived by the dynamic formula; after determining the state quantities at the first moment, according to the formula, the specific numerical values of each element included in the inertia matrix, coriolis force matrix, and gravity matrix at the first moment can be calculated; and then the inertia matrix, coriolis force matrix, and gravity matrix at the first moment can be obtained.

[0188] In some embodiments, the dynamic controller 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.

[0189] In the above steps, the parameters of the dynamic controller are determined according to the inertia matrix, the deflection force matrix and the gravity matrix, and the following sub-steps are also included: Sub-step 1, using the selection matrix to process the product between the inverse matrix of the inertia matrix and the deflection force matrix, and the product between the inverse matrix of the inertia matrix and the gravity matrix, respectively, to obtain the offset parameter matrix, and the selection matrix is used to extract the rotational torque of the first joint and the rotational torque of the second joint from the dynamic equation. Sub-step 2, using the selection matrix to process the inverse matrix of the inertia matrix to obtain the proportional parameter matrix.

[0190] Following the content of step 2 in the above embodiment, the above two sub-steps are introduced and explained:

[0191] After partial feedback linearization of the matrix form dynamic equation, we get formula (12):

[0192] (12)

[0193] in, is the inverse matrix of the inertia matrix, , is the unit matrix. For the physical meanings of other parameters in the equation, please refer to the above embodiment and will not be elaborated here.

[0194] Furthermore, in order to make the formula (12) only appear , which is convenient for simplifying the execution logic of subsequent steps and reducing the calculation amount of the robust controller. In the design process of the robust controller, the above formula (12) needs to be further adjusted. The selection matrix is used to process formula (12) to obtain formula (13):

[0195] (13)

[0196] in, , This is the offset parameter matrix f[] mentioned above, , This is the scale parameter matrix g[] mentioned above, is the transposed matrix of matrix S, where S matrix is a 3*2 selection matrix.

[0197] Optionally, formula (13) can be pre-designed after the wheel-legged robot is abstracted into a second-order inverted pendulum model. During the process of the balance control method, after obtaining the state variables at the first moment, the robust controller can calculate the proportional parameter matrix and the offset parameter matrix according to formula (13) and formulas (7) to (11).

[0198] In some embodiments, the dynamic equation of the above robot is derived based on the Euler-Lagrange equation by abstracting the wheel-legged robot into a second-order inverted pendulum model. For the derivation process of the dynamic equation, please refer to the above embodiments and will not be elaborated here.

[0199] The combination of the controller with the control barrier function and the simplified model control. The above dynamic model is written in the state-space representation as shown in formula (14).

[0200] (14)

[0201] where, is a 3×3 zero matrix, is a 3×3 identity matrix, and represent two different system matrices respectively.

[0202] Based on this state-space representation, a feedback controller can be designed using a linear quadratic regulator, and the expression of the controller is shown in formula (15).

[0203] (15)

[0204] where, is the original control strategy before applying the safety controller, represents the feedback matrix, represents the state variable for the feedback controller.

[0205] The schematic diagram of the control process of the robot system is as shown in Figure 12 The safety controller is equivalent to a filter clamped between the linear quadratic regulator LQR / proportional-integral-derivative controller PID and the actual robot system, and the expression of the safety controller is shown in formula (16).

[0206]

[0207] (16)

[0208] where, is the control strategy of the safety controller obtained by solving, that is, the objective function, represents the decision variable, belonging to the m-dimensional real number set, Denote the variable values when the objective function takes the minimum value, denote the safety margin function, and respectively denote two different first-order Lie derivatives, denote the class-K function.

[0209] Next, there are two schemes. Scheme one is robot control based on a simplified model. Since the original control strategy obtained from formula (16) is directly the torque of the wheels and the torque of the hip joints. Sending this torque directly to the robot can achieve robot control. The control of other joints of the robot can perform position control according to the planned trajectory or adopt other schemes, which will not be discussed in detail here. The advantage of this method is relatively stable control and being unaffected by other joints, while the disadvantage is the lack of whole-body coordination. Scheme two is using the result of the simplified model as a reference for whole-body dynamics control. The control strategy of the safety controller obtained from the above solution is input into the state observer. At the same time, the input of the state observer also includes the joint angles, inertial position and attitude at the current moment, etc. Combining this information, the state observer can obtain the reference value of the difference between the projection of the robot's CoM on the ground and the projection of the wheel center on the ground at the next moment, that is, in formula (23); and the reference value of the speed of the difference between the projection of the robot's CoM on the ground and the projection of the wheel center on the ground, that is, in formula (23). In this way, the combination of simplified model control and whole-body dynamics control is achieved.

[0210] The establishment of the whole-body dynamics model of the robot and the control method are as follows: The first step is to establish the whole-body dynamics model: Based on rigid body dynamics, construct the robot dynamics model in the joint space system:

[0211] (17)

[0212] where, denotes the joint space inertia matrix; denotes the joint space offset force vector, that is, the sum of Coriolis force, centrifugal force and gravity; denotes the selection matrix; denotes the contact point Jacobian matrix; denotes the active joint torque vector; denotes the contact force vector; respectively denote the generalized position, generalized velocity, and generalized acceleration vectors. denotes the total degrees of freedom of the robot, that is, the floating base degrees of freedom and the active joint degrees of freedom sum; Indicates the number of contact forces, i.e., the number of contact points And the dimension of a single contact force The product of which

[0213] The second step is to calculate the desired operational space task: The operational space task refers to the acceleration in the operational space The desired operational space task is the desired acceleration calculated by the feedback controller based on the reference trajectory and the actual state of the robot .

[0214] The operational space tasks for dynamic stair climbing include but are not limited to the following items:

[0215] (I) Support wheel task: The desired support wheel is in pure rolling motion and has no relative sliding with the ground. Therefore, the desired acceleration of the support wheel is always zero:

[0216] (18)

[0217] Wherein, Is the desired acceleration of the support wheel, Represents An n-dimensional zero matrix

[0218] If the robot is operating in a four-wheel mode, there are four support wheels, and each support wheel has a task in the x direction. If it is considered that the wheels do not leave the ground, the height of the wheels in the z direction is constant, and the tasks of the four support wheels in the z direction are not considered for the time being. If the left and right turning movements of the robot in the four-wheel mode and the translational movement of the robot along the y direction are not considered, the tasks of the four support wheels in the y direction can also be not considered for the time being

[0219] If the robot is operating in a two-wheel balance mode, there are two support wheels and two swing wheels. At this time, the tasks of the support wheels are not considered for the time being, because in order to ensure the realization of two-wheel balance, the relevant tasks have been included in the "(V) Center of mass task", and the tasks of the two swing wheels both include two dimensions in the x direction and the z direction. Similarly, if the left and right turning movements of the robot in the two-wheel balance mode and the translational movement of the robot along the y direction are not considered, the tasks of the two swing wheels in the y direction can also be not considered for the time being. The detailed task construction details are included in the "(IV) Swing wheel task"

[0220] (II) Trunk vertical direction task: According to the height information of the stair surface and the position of the support wheels on the stairs, the reference position , speed , acceleration Of the trunk vertical direction can be planned by the method of spline curve interpolation; Based on the inertia and joint angle and angular velocity information, the actual position of the trunk vertical direction can be calculated through forward kinematics , speed . To improve the robustness of the controller, a PD feedback controller is constructed to calculate the desired acceleration in the vertical direction of the torso:

[0221] (19)

[0222] where is the desired acceleration in the vertical direction of the torso, represents the proportional coefficient in the vertical direction of the torso, represents the differential coefficient in the vertical direction of the torso.

[0223] (III) Torso attitude task: During the process of going up the stairs, the torso of the robot should be kept as vertical as possible and not rotate on the stairs, that is, the reference trajectories of the Euler angles composed of the roll, pitch, and yaw of the torso are all zero, that is , , ; at the same time, based on the inertial information, the actual Euler angle , angular velocity , and angular acceleration can be calculated. Similarly, a PD controller is used to calculate the desired attitude angular acceleration of the torso:

[0224] (20)

[0225] where is the desired attitude angular acceleration of the torso, represents the proportional coefficient of the torso attitude, represents the differential coefficient of the torso attitude.

[0226] (IV) Swing wheel task: It is applicable to the scenario where two swing wheels are in motion under two-wheel balance. For example, when two-wheel balance is driving on the ground, the two swing wheels are required to present specific postures and actions, or during the process of the two wheels taking a step forward on the ground, there is a switching process between the supporting wheel leg and the swing wheel leg, or during the process of taking a step up or down the stairs, there is a switching process between the supporting wheel leg and the swing wheel leg.

[0227] The reference position , speed , and acceleration of the swing wheel in the operating space are planned by the method of spline curve interpolation; based on the inertial, joint angle, and angular velocity information, the actual position , speed of the swing wheel can be calculated through forward kinematics. Similarly, a PD feedback controller is used to calculate the desired acceleration of the swing wheel:

[0228] (21)

[0229] Among them, is the expected acceleration of the swing wheel, represents the proportionality coefficient of the swing wheel, represents the differential coefficient of the swing wheel.

[0230] (5) Centroid task: The reference position of the centroid along the forward direction can be planned through heuristic or model-based methods and speed . During the movement, the centroid not only needs to move continuously along the forward direction, but also needs to help the robot maintain dynamic balance. Therefore, a balance controller needs to be constructed to calculate the expected acceleration of the centroid.

[0231] Assume that the mass of the robot is concentrated at the centroid. Let the center of the line connecting the two support wheels be the virtual contact point between the inverted pendulum and the ground. Connect the centroid and the virtual contact point to construct an inverted pendulum model as shown in Figure 13 .

[0232] Next, the dynamic equation of this model needs to be constructed. Different from the general dynamic equation of the inverted pendulum, the present invention uses the difference between the centroid and the virtual contact point , the centroid position , and their derivatives , as state variables, and the centroid acceleration as the input to construct the dynamic equation of the inverted pendulum:

[0233] (22)

[0234] Among them, is the gravitational acceleration, is the distance of the centroid in the Z-axis direction.

[0235] Then, using the linear quadratic regulator (LQR), calculate the state feedback gain matrix of equation (22). Finally, based on the LQR controller, the input of the state equation can be obtained, that is:

[0236] (23)

[0237] Among them, is the reference value of the state variable, is the actual value of the state variable.

[0238] Taking the centroid acceleration calculated by equation (23) as the expected centroid acceleration can not only ensure the determination of the centroid reference trajectory, but also maintain the dynamic balance of the robot.

[0239] In summary, the expected operation space task of the robot movement is:

[0240] (24)

[0241] Step 3: Construct the dynamic equation to be solved: According to rigid body dynamics, the operational space acceleration and the joint space velocity , acceleration are related as follows:

[0242] (25)

[0243] where represents the Jacobian and the derivative of the Jacobian of the operational space task.

[0244] Combining formula (25) and (17) and simplifying, we get:

[0245] (26)

[0246] Substituting the desired operational space task in the second step into formula (26), we can obtain the dynamic equation to be solved, where is the variable to be solved, and the rest are known quantities.

[0247] Step 4: Add constraint conditions: According to the robot's body structure and motor physical limitations, the following constraint conditions are set for the variable to be solved:

[0248] (I)Joint physical constraints: According to the actual physical characteristics of the robot motor, the active joint torque in the variable to be solved is limited, that is: , where represent the minimum and maximum values of the motor torque respectively.

[0249] (II)Friction constraints: The contact force at the th contact point should satisfy the friction cone constraint. To reduce non-linearity, the friction cone is approximated as a friction angle cone, and the friction force inequality constraint is obtained as:

[0250] (27)

[0251] where , , respectively represent the unit orthogonal bases along the contact surface in the operational space system, represents the friction coefficient, , represent the minimum and maximum values of the non-negative normal pressure perpendicular to the contact surface respectively.

[0252] Step 5: Solve the dynamic equation through the optimizer: Formula (26) can be rewritten as in the form of, where, , , . Essentially, it is to solve the linear equations. Here, a quadratic programming optimizer is used to construct the objective function:

[0253] (28)

[0254] where, represents the weight matrix.

[0255] Based on the constraint conditions in the fourth step, select an appropriate quadratic programming optimizer to find the minimum value of formula (28), and the variable to be solved can be obtained. Finally, the joint torque is sent to the motor to achieve robot control.

[0256] The combination of a controller with a control barrier function and whole-body dynamics control WBC can add the following safety constraints to the WBC controller. The solved torque is then sent to each joint of the robot to complete the control. This part gives the derivation process of these constraints. The dynamic equation of the robot system:

[0257] (29)

[0258] If the control barrier function is only applied in the simplified model, the state variables can be selected as , and the dynamic equation can be transformed into:

[0259] (30)

[0260] where, .

[0261] The safety goal is that the rotational speed range of the wheel is between plus and minus rad / s, and the rotation angle of the wheel is between plus and minus rad. That is, the following four control barrier functions (CBF) can be designed.

[0262]

[0263]

[0264]

[0265] (31)

[0266] Find the first-order Lie derivative of the control barrier function as follows:

[0267]

[0268] (32)

[0269] Regarding control barrier functions ,the constraint can be written as:

[0270] (33)

[0271] (34)

[0272] Regarding control barrier functions ,the constraint can be written as:

[0273] (35)

[0274] (36)

[0275] Regarding control barrier functions :

[0276] (37)

[0277] (38)

[0278] (39)

[0279] (40)

[0280] (41)

[0281] The constraint can be written as:

[0282] (42)

[0283] Regarding control barrier functions ,the constraint can be written as:

[0284] (43)

[0285] Up to this point, equations (34), (36), (42), and (43) can be used as the four newly added constraints in the WBC solution process. Based on these, the torques of each joint can be solved to achieve the control of the robot.

[0286] Using the flat ground two-wheel balance scenario, verify the effectiveness of applying the control barrier function (CBF) to the whole-body control (WBC) framework. The screenshots of the robot simulation results applying the above control algorithm are as follows Figure 14 shown:

[0287] Figure 14 On the left is the robot simulation diagram. It can be seen that during the simulation, when the rotation angle of the wheel approaches a certain set angle, it will bounce back. Through parameter configuration, the wheel angle of the robot can be kept near the set angle. Among them, in Figure 14 (b), (d), and (f), the simulation diagrams corresponding to the angle of the outer hip joint, the length of the outer straight leg joint, and the rotation angle of the outer wheel hub motor are shown from top to bottom respectively. Among them, the previous Figure 14 (b) and (d) are only for data detection and are not important for the phenomenon to be proven in this experiment. From the Figure 14 rotation angle of the outer wheel hub motor shown in (f), it can be seen that when the rotation angle of the wheel approaches 5 rad, it will bounce back. Through parameter configuration, the wheel angle of the robot can be kept near 5 rad. For convenience of viewing, the data of the rotation angle of the outer wheel hub motor shown in Figure 14 (f) within the entire time period is separately shown as Figure 15 shown.

[0288] The 5 rad here is equivalent to the rad given in the above formula derivation and can be set to the corresponding value as needed. For example, when the lower limit of the safety constraint is changed to - rad, the data of the rotation angle of the outer wheel hub motor within the entire time period is as Figure 16 shown. The motion control of the robot has a similar effect, only the upper and lower limits of the rotation angle of the wheel motor are different, being around plus or minus rad.

[0289] It can be seen that in the above numerical example, the wheels of the robot still exceed the set safety value range of 5 rad by some before bouncing back. In fact, in an experiment, whether there is control overshoot in the range of the safety constraint, and whether it basically stays in place or bounces back after being resisted, is related to the parameters of the controller. During the actual application process, it can be adjusted according to the needs and specific experimental phenomena.

[0290] It is understandable that in the embodiments of the present application, for content related to user information, such as the current state parameters, basic control parameters, safety control parameters, motion control parameters, etc. of the robot to be controlled, if it involves data related to user information or enterprise information, when the embodiments of the present application are applied to specific products or technologies, user permission or consent needs to be obtained, or these information need to be blurred to eliminate the corresponding relationship between these information and users; and the collection and processing of relevant data should strictly comply with the requirements of relevant national laws and regulations during actual application, obtain the informed consent or separate consent of the personal information subject, and carry out subsequent data usage and processing behaviors within the scope authorized by laws and regulations and the personal information subject.

[0291] The following continues to describe the exemplary structure of the robot control device 455 provided by the embodiments of the present application as software modules. In some embodiments, as Figure 2 shown, the software modules in the robot control device 455 stored in the memory 450 may include: an acquisition module 4551, configured to acquire the current state parameters of the robot to be controlled at the current moment; a basic control parameter determination module 4552, configured to call a state regulator, and based on a preset dynamic model and the current state parameters, determine the basic control parameters for each joint of the robot to be controlled; a parameter filtering module 4553, configured to perform parameter filtering processing on the basic control parameters to obtain the safety control parameters for each joint of the robot to be controlled; a motion control parameter determination module 4554, configured to call the whole-body dynamic model of the robot to be controlled, and based on the safety control parameters of each joint, determine the motion control parameters for each joint of the robot to be controlled; a control module 4555, configured to control the corresponding joints of the robot to be controlled at the current moment based on the motion control parameters of each joint.

[0292] In some embodiments, the parameter filtering module 4553 is further configured to: construct a control barrier function based on a preset control input parameter and the basic control parameter; the control barrier function includes a safety objective function and constraint conditions; based on the constraint conditions, determine the safety control parameters for each joint of the robot to be controlled corresponding to when the safety objective function obtains the minimum value.

[0293] In some embodiments, the motion control parameter determination module 4554 is further configured to: call a state observer, and based on the safety control parameters of each joint and the current state parameters, determine the desired acceleration of each joint of the robot to be controlled; call the whole-body dynamic model of the robot to be controlled, and based on the desired acceleration of each joint, determine the motion control parameters for each joint of the robot to be controlled.

[0294] In some embodiments, the current state parameter includes an actual state variable, and the desired acceleration includes a desired acceleration of the center of mass; the motion control parameter determination module 4554 is further configured to: call the state observer, and based on the safety control parameter of each joint and the current state parameter, determine a reference distance between a reference center of mass position and a current virtual contact point of the robot to be controlled, a reference velocity corresponding to the reference distance, a reference center of mass position, and a reference center of mass velocity; based on the reference distance, the reference velocity, the reference center of mass position, and the reference center of mass velocity, determine a reference state variable; call a state regulator to determine state feedback parameters of a pre-constructed inverted pendulum model; and based on the state feedback parameters of the inverted pendulum model, the reference state variable, and the actual state variable, determine the desired acceleration of the center of mass of each joint.

[0295] In some embodiments, the motion control parameter determination module 4554 is further configured to: call the full-body dynamics model of the robot to be controlled and the state regulator, and based on the desired acceleration of each joint, construct a corresponding objective function; based on parameter constraint conditions preset for each joint of the robot to be controlled, determine a minimum value of the objective function of each joint; and based on the minimum value, determine the motion control parameter of each joint of the robot to be controlled.

[0296] In some embodiments, the device 455 further includes a safety control module, and the safety control module is configured to: construct a plurality of safety constraint conditions for the robot to be controlled; call the full-body dynamics model of the robot to be controlled, and based on the safety control parameter of each joint and the plurality of safety constraint conditions, determine a first motion control parameter of each joint of the robot to be controlled; and based on the first motion control parameter of each joint, control the corresponding joint of the robot to be controlled at the current moment.

[0297] In some embodiments, the safety control module is further configured to: determine a safety control parameter range of the safe rotation angle and a safety control parameter range of the safe rotation angular velocity; according to the safety control parameter range of the safe rotation angle and the safety control parameter range of the safe rotation angular velocity, construct a plurality of control barrier functions; and call the preset dynamics model, and based on the plurality of control barrier functions, determine a plurality of safety constraint conditions for the robot to be controlled.

[0298] In some embodiments, the safety control module is further configured to: convert the preset dynamic model into a simplified dynamic model; determine a first control parameter and a second control parameter based on the simplified dynamic model and the current state parameters; determine a first Lie derivative corresponding to the first control parameter and a second Lie derivative corresponding to the second control parameter based on the first control parameter, the second control parameter, and the plurality of control barrier functions; and determine the plurality of safety constraint conditions based on the first Lie derivative, the second Lie derivative, and the plurality of control barrier functions.

[0299] In some embodiments, the basic control parameter determination module 4552 is further configured to: convert the preset dynamic model into a state space model; call the state regulator to determine state feedback parameters for the robot to be controlled based on the state space model; and determine basic control parameters for each joint of the robot to be controlled based on the state feedback parameters of the robot to be controlled and the current state parameters.

[0300] It should be noted that the description of the device in the embodiments of the present application is similar to the description of the above method embodiments and has similar beneficial effects as the method embodiments, so details will not be repeated. For the technical details not disclosed in the embodiments of the present device, please refer to the description of the method embodiments of the present application for understanding.

[0301] The embodiments of the present application provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, cause the processor to execute the robot control method provided by the embodiments of the present application. For example, as Figure 3 shown in the robot control method.

[0302] The embodiments of the present application provide a computer program product including computer-executable instructions stored in a computer-readable storage medium. The processor of the electronic device reads the computer-executable instructions from the computer-readable storage medium, and the processor executes the computer-executable instructions, causing the electronic device to execute the robot control method described above in the embodiments of the present application.

[0303] In some embodiments, the computer-readable storage medium may be a memory such as RAM, ROM, flash memory, magnetic surface memory, optical disc, or CD-ROM; or it may be various devices including one or any combination of the above memories.

[0304] In some embodiments, the computer-executable instructions may be in the form of a program, software, a software module, a script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including being deployed as a stand-alone program or being deployed as a module, a component, a subroutine, or other unit suitable for use in a computing environment.

[0305] As an example, the computer-executable instructions may or may not correspond to a file in a file system, may be stored as part of a file that holds other programs or data, for example, in one or more scripts in a Hyper Text Markup Language (HTML) document, stored in a single file dedicated to the program being discussed, or, stored in multiple cooperating files (such as files that store one or more modules, subroutines, or portions of code).

[0306] As an example, the computer-executable instructions may be deployed to execute on one electronic device, or on multiple electronic devices located at one location, or, on multiple electronic devices distributed at multiple locations and interconnected by a communication network.

[0307] As described above, the above are only embodiments of the present application and are not intended to limit the protection scope of the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and scope of the present application are all included in the protection scope of the present application.

Claims

1. A robot control method, characterized in that, The method includes: Obtaining the current state parameters of the robot to be controlled at the current moment; the robot to be controlled is a wheel-legged robot; Determining the basic control parameters for each joint of the robot to be controlled based on a preset dynamic model and the current state parameters; Constructing a control barrier function based on preset control input parameters and the basic control parameters; the control barrier function includes a safety objective function and constraint conditions; Determining the safety control parameters for each joint of the robot to be controlled corresponding to when the safety objective function obtains the minimum value based on the constraint conditions; Invoking the whole-body dynamic model of the robot to be controlled and determining the motion control parameters for each joint of the robot to be controlled based on the safety control parameters of each joint; Controlling the corresponding joints of the robot to be controlled at the current moment based on the motion control parameters of each joint.

2. The method according to claim 1, wherein The step of invoking the whole-body dynamic model of the robot to be controlled and determining the motion control parameters for each joint of the robot to be controlled based on the safety control parameters of each joint includes: Invoking a state observer and determining the desired acceleration for each joint of the robot to be controlled based on the safety control parameters of each joint and the current state parameters; Invoking the whole-body dynamic model of the robot to be controlled and determining the motion control parameters for each joint of the robot to be controlled based on the desired acceleration of each joint.

3. The method according to claim 2, characterized in that, The current state parameters include actual state variables, and the desired acceleration includes the desired acceleration of the center of mass; the step of invoking a state observer and determining the desired acceleration for each joint of the robot to be controlled based on the safety control parameters of each joint and the current state parameters includes: Invoking the state observer and determining the reference distance between the reference center of mass position and the current virtual contact point of the robot to be controlled, the reference speed corresponding to the reference distance, the reference center of mass position, and the reference center of mass speed based on the safety control parameters of each joint and the current state parameters; Determining reference state variables based on the reference distance, the reference speed, the reference center of mass position, and the reference center of mass speed; Invoking a state regulator and determining the state feedback parameters of a pre-constructed inverted pendulum model; Determining the desired acceleration of the center of mass of each joint based on the state feedback parameters of the inverted pendulum model, the reference state variables, and the actual state variables.

4. The method according to claim 2, wherein The step of invoking the whole-body dynamic model of the robot to be controlled and determining the motion control parameters for each joint of the robot to be controlled based on the desired acceleration of each joint includes: Invoking the whole-body dynamic model and the state regulator of the robot to be controlled and constructing a corresponding objective function based on the desired acceleration of each joint; Determining the minimum value of the objective function for each joint based on the parameter constraint conditions preset for each joint of the robot to be controlled; Determining the motion control parameters for each joint of the robot to be controlled based on the minimum value.

5. The method according to claim 1, characterized in that, The method further includes: Construct multiple safety constraint conditions for the to-be-controlled robot; Invoke the full-body dynamics model of the to-be-controlled robot, and based on the safety control parameters of each joint and the multiple safety constraint conditions, determine the first motion control parameter of each joint of the to-be-controlled robot; Based on the first motion control parameter of each joint, control the corresponding joint of the to-be-controlled robot at the current moment.

6. The method according to claim 5, wherein The safety control parameter of each joint includes a safe rotation angle and a safe angular velocity of rotation; The constructing multiple safety constraint conditions for the to-be-controlled robot includes: Determine the safety control parameter ranges of the safe rotation angle and the safe angular velocity of rotation; According to the safety control parameter ranges of the safe rotation angle and the safe angular velocity of rotation, construct multiple control barrier functions; Invoke the preset dynamics model, and based on the multiple control barrier functions, determine multiple safety constraint conditions for the to-be-controlled robot.

7. The method according to claim 6, characterized in that, The invoking the preset dynamics model and based on the multiple control barrier functions to determine multiple safety constraint conditions for the to-be-controlled robot includes: Convert the preset dynamics model into a simplified dynamics model; Based on the simplified dynamics model and the current state parameters, determine a first control parameter and a second control parameter; Based on the first control parameter, the second control parameter, and the multiple control barrier functions, determine the first Lie derivative corresponding to the first control parameter and the second Lie derivative corresponding to the second control parameter; Based on the first Lie derivative, the second Lie derivative, and the multiple control barrier functions, determine the multiple safety constraint conditions.

8. The method according to claim 1, wherein The based on the preset dynamics model and the current state parameters to determine the basic control parameter of each joint of the to-be-controlled robot includes: Convert the preset dynamics model into a state space model; Invoke a state regulator, and based on the state space model, determine the state feedback parameter of the to-be-controlled robot; Based on the state feedback parameter of the to-be-controlled robot and the current state parameters, determine the basic control parameter of each joint of the to-be-controlled robot.

9. A robot control device, characterized in that, The device includes: An acquisition module, configured to acquire the current state parameters of the to-be-controlled robot at the current moment; the to-be-controlled robot is a wheel-legged robot; A basic control parameter determination module, configured to determine the basic control parameter of each joint of the to-be-controlled robot based on the preset dynamics model and the current state parameters; A parameter filtering module, configured to construct a control barrier function based on the preset control input parameter and the basic control parameter; the control barrier function includes a safety objective function and a constraint condition; based on the constraint condition, determine the safety control parameter of each joint of the to-be-controlled robot corresponding to the minimum value of the safety objective function; A motion control parameter determination module, configured to call the whole-body dynamics model of the to-be-controlled robot and determine the motion control parameters of each joint of the to-be-controlled robot based on the safety control parameters of each joint; A control module, configured to control the corresponding joints of the to-be-controlled robot at the current moment based on the motion control parameters of each joint.

10. An electronic device, characterized in that, Comprising: A memory, configured to store computer-executable instructions; A processor, when executing the computer-executable instructions stored in the memory, implements the robot control method according to any one of claims 1 to 8.

11. A computer-readable storage medium, characterized in that, Stores computer-executable instructions, and when the computer-executable instructions are executed by a processor, implements the robot control method according to any one of claims 1 to 8.

12. A computer program product, characterized in that, This computer program product includes computer-executable instructions, and the computer-executable instructions are stored in a computer-readable storage medium; Wherein, when the processor of the electronic device reads the computer-executable instructions from the computer-readable storage medium and executes the computer-executable instructions, it implements the robot control method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Artificial potential field method-based anti-collision control method for vertical takeoff UAVs

    CN109557936A

  • Control method, device and equipment of wheel-legged robot and readable storage medium

    CN113753150A