Robot control method and device based on data driving, electronic equipment, computer readable storage medium and computer program product

By using the robot's historical input-output sequence to construct a control strategy and directly determine the six-dimensional force, the dependence problem on dynamic models in the existing technology is solved, the system design and implementation process is simplified, and the control efficiency is improved.

CN119772878AActive Publication Date: 2025-04-08UBTECH ROBOTICS CORP LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411749482.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-29
Publication Date
2025-04-08
Estimated Expiration
2044-11-29

AI Technical Summary

Technical Problem

The prior art relies highly on the accuracy of the dynamic model in robot control. Inaccuracy or simplification of the model will affect the control performance. The dynamic model is complex and difficult to describe accurately, which increases the computing volume of the system.

Method used

By obtaining the robot's historical input-output sequence, building a control strategy, characterizing the mapping relationship between the six-dimensional force and the moving trajectory, directly determine the six-dimensional force currently applied by the robot's soles, simplifying the system design and implementation process.

Benefits of technology

There is no need to create complex dynamic models, which reduces the difficulty and computational burden of the model prediction control method, greatly reduces the system's calculation amount, and improves the control efficiency of the robot.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119772878A_ABST
    Figure CN119772878A_ABST
Patent Text Reader

Abstract

The invention provides a robot control method and device based on data driving, electronic equipment, a computer readable storage medium and a computer program product. The method comprises the steps that a historical input-output sequence of the robot is obtained, historical input data included in the historical input-output sequence is historical six-dimensional force applied to the sole of the robot, and historical output data is a historical moving track of the robot; a control strategy for the robot is constructed based on the historical input-output sequence, and the control strategy is used for representing the mapping relation between six-dimensional force applied to the planta pedis of the robot and the moving track of the robot; acquiring a target moving track set for the robot; and based on the target movement track and the control strategy, determining a six-dimensional force currently required to be applied to the sole of the robot. According to the invention, the realization difficulty and calculation burden of the model prediction control method can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robot control, and in particular to a data-driven robot control method, device, electronic device, computer-readable storage medium and computer program product. Background Art

[0002] Related technologies use the Model Predictive Control (MPC) method to model the dynamics of humanoid robots and successfully achieve force-controlled standing and gait of robots while carrying loads. However, this control method is highly dependent on the accuracy of the dynamics model. Inaccurate or simplified models will affect the control performance, which will lead to the robot failing to achieve the expected results in actual operation. In addition, the dynamics model is complex and difficult to describe accurately. Especially in practical applications, the interaction between the robot and the environment will introduce many uncertain factors and nonlinear phenomena, which makes it more difficult to build a dynamics model and greatly increases the amount of calculation in the system. Summary of the invention

[0003] The embodiments of the present application provide a data-driven robot control method, device, electronic device, computer-readable storage medium and computer program product, which can simplify the system design and implementation process and reduce the implementation difficulty and computational burden of the model predictive control method.

[0004] The technical solution of the embodiment of the present application is implemented as follows:

[0005] The present application provides a data-driven robot control method, comprising:

[0006] Acquire a historical input-output sequence of the robot, wherein the historical input data included in the historical input-output sequence is a historical six-dimensional force applied to the sole of the robot, and the historical output data is a historical movement trajectory of the robot;

[0007] Constructing a control strategy for the robot based on the historical input-output sequence, wherein the control strategy is used to characterize a mapping relationship between a six-dimensional force applied to the sole of the robot and a movement trajectory of the robot;

[0008] Obtaining a target moving trajectory set for the robot;

[0009] Based on the target movement trajectory and the control strategy, the six-dimensional force that needs to be currently applied to the sole of the robot is determined.

[0010] The present application provides a data-driven robot control device, comprising:

[0011] An acquisition module, used for acquiring a historical input-output sequence of the robot, wherein the historical input data included in the historical input-output sequence is a historical six-dimensional force applied to the sole of the robot, and the historical output data is a historical movement trajectory of the robot;

[0012] A construction module, used to construct a control strategy for the robot based on the historical input-output sequence, wherein the control strategy is used to characterize the mapping relationship between the six-dimensional force applied to the sole of the robot and the movement trajectory of the robot;

[0013] The acquisition module is further used to acquire a target movement trajectory set for the robot;

[0014] A determination module is used to determine the six-dimensional force that needs to be currently applied to the sole of the robot based on the target movement trajectory and the control strategy.

[0015] In the above scheme, the acquisition module is also used to obtain the historical torque applied to the leg motor of the robot when the robot is in a standing state; through the principle of virtual force, multiple historical torques are converted into historical six-dimensional forces applied to the soles of the robot; the historical movement trajectory of the robot corresponding to the historical six-dimensional force is obtained; based on the historical six-dimensional force and the historical movement trajectory, the historical input-output sequence of the robot is constructed.

[0016] In the above scheme, the construction module is also used to determine the sequence length of the historical input-output sequence; create a zero matrix based on the sequence length, wherein the number of rows and columns of the zero matrix are both less than or equal to half of the sequence length; fill the elements included in the historical input-output sequence into the zero matrix to obtain a Hankel matrix, wherein each element includes one of the historical six-dimensional forces and the historical movement trajectory corresponding to the historical six-dimensional force; and construct a control strategy for the robot based on the Hankel matrix.

[0017] In the above scheme, the construction module is also used to construct an initialization model predictive controller for the robot based on the Hankel matrix; based on the initialization model predictive controller, determine the predicted time cost of each moment in the prediction interval corresponding to the historical input-output sequence; add the predicted time costs corresponding to multiple moments respectively, and use the added result as the cost function; and construct a control strategy for the robot based on the cost function.

[0018] In the above scheme, the construction module is also used to use the cost function as the first control condition; based on the first control condition, the parameters of the initialized model predictive controller are updated to obtain an updated model predictive controller; and the updated model predictive controller is used as the control strategy for the robot.

[0019] In the above solution, the construction module is also used to obtain terminal constraints set for the robot; and construct a control strategy for the robot based on the terminal constraints and the cost function.

[0020] In the above scheme, the construction module is also used to combine the terminal constraint condition and the cost function to obtain a second control condition; based on the second control condition, the parameters of the initialized model predictive controller are updated to obtain an updated model predictive controller; and the updated model predictive controller is used as the control strategy for the robot.

[0021] In the above scheme, the device also includes an updating module, which is used to add the six-dimensional force currently applied to the sole of the robot and the target movement trajectory to the historical input-output sequence to obtain the updated historical input-output sequence; based on the updated historical input-output sequence, the control strategy is updated.

[0022] In the above scheme, the device also includes an adjustment module, which is used to adjust the center of mass position of the robot when the robot moves to a posture that does not satisfy the zero moment point constraint, so that the robot returns to a posture that satisfies the zero moment point constraint.

[0023] An embodiment of the present application provides an electronic device, including:

[0024] A memory for storing computer executable instructions or computer programs;

[0025] The processor is used to implement a data-driven robot control method provided in an embodiment of the present application when executing the computer executable instructions or computer programs stored in the memory.

[0026] An embodiment of the present application provides a computer-readable storage medium storing a computer program or computer-executable instructions, which, when executed by a processor, implement a data-driven robot control method provided in an embodiment of the present application.

[0027] An embodiment of the present application provides a computer program product, including a computer program or computer executable instructions. When the computer program or computer executable instructions are executed by a processor, a data-driven robot control method provided in an embodiment of the present application is implemented.

[0028] The embodiments of the present application have the following beneficial effects:

[0029] By obtaining the robot's historical input-output sequence, wherein the historical input data included in the historical input-output sequence is the historical six-dimensional force applied to the sole of the robot, and the historical output data is the historical movement trajectory of the robot, and the control strategy for the robot is determined according to the historical input-output sequence, wherein the control strategy is used to characterize the mapping relationship between the six-dimensional force applied to the sole of the robot and the movement trajectory of the robot, in this way, there is no need to create a complex dynamic model, and only the historical input and output data of the robot need to be used to determine the control strategy. There is no need to understand the complex internal system of the robot, and the system design and implementation process are simplified, which effectively reduces the implementation difficulty and computational burden of the model predictive control method; then, the six-dimensional force that currently needs to be applied to the sole of the robot is predicted according to the set target movement trajectory through the control strategy, and the input control of the robot can be obtained without complex dynamic conversion, which greatly reduces the calculation amount of the system, thereby reducing the occupation of computing resources and improving the control efficiency of the robot. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] Figure 1 1 is a schematic diagram of the architecture of a data-driven robot control system 100 provided in an embodiment of the present application;

[0031] Figure 2 is a schematic diagram of the structure of an electronic device 500 provided in an embodiment of the present application;

[0032] Figure 3 is a flow chart of a data-driven robot control method provided in an embodiment of the present application;

[0033] Figure 4 is a flow chart of a data-driven robot control method provided in an embodiment of the present application;

[0034] Figure 5 is a schematic diagram of the structure of a humanoid robot provided in an embodiment of the present application;

[0035] Figure 6 is a schematic structural diagram of a robot force-controlled standing system provided in an embodiment of the present application;

[0036] Figure 7 It is a schematic diagram of the framework of the data-driven robot control method provided in the embodiment of the present application. DETAILED DESCRIPTION

[0037] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. The described embodiments should not be regarded as limiting the present application. All other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of this application.

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

[0039] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program with a predetermined function, and works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as processing circuits or memories) 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 part of an overall module or unit that includes the function of the module or unit.

[0040] In the following description, the terms "first\second\..." involved are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that "first\second\..." can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.

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

[0042] Before further describing the embodiments of the present application in detail, the nouns and terms involved in the embodiments of the present application are explained. The nouns and terms involved in the embodiments of the present application are subject to the following interpretations.

[0043] 1) Model Predictive Control (MPC) method: The predictive control method is an advanced process control strategy that uses a mathematical model to predict the behavior of the system in the future and solves the optimization problem to determine the current control input to achieve the desired control target. The advantage of MPC is that it can handle complex systems with multiple variables, nonlinearity, time-varying, and constraints.

[0044] 2) Data-Driven MPC (DDMPC): Data-Driven MPC is a data-based control method that does not rely on traditional physical models, but learns control strategies directly from data. In traditional MPC, the design of the controller usually requires an accurate system model, while Data-Driven MPC predicts the future behavior of the system by analyzing historical data and formulates control strategies accordingly. Through Data-Driven MPC, more flexible, adaptive and robust control system design can be achieved, especially in areas where traditional models are difficult to establish or the environment changes frequently.

[0045] (3) Zero moment point (ZMP): Zero moment constraint means that the sum of the torque applied at a reference point (usually the joint center or the sole center) of the robot joint or sole is zero. This means that after considering all the torques applied to the reference point, the rotational motion of the point is restricted and no additional rotation will be generated. By applying the zero moment constraint, the robot's operating performance and safety in complex environments can be improved.

[0046] (4) Friction cone constraint: The friction cone constraint refers to the restriction on the movement of the sole of the robot's foot due to the friction force when the sole of the robot is in contact with the ground. This constraint is usually used to simulate and analyze the dynamic behavior of the robot when walking or crawling, especially in bipedal or quadrupedal robots. The friction cone constraint reflects the relationship between the friction force and the direction of the sole movement, ensuring that the robot does not exceed the maximum grip that the friction force can provide when in contact with the ground.

[0047] (5) Hankel matrix: The Hankel matrix is ​​a special matrix whose characteristic is that the first element of each row is equal to the second element of the previous row. This matrix is ​​widely used in signal processing, system identification and control systems.

[0048] (6) Cost function: In the field of mathematical optimization and machine learning, cost function is also used to measure the difference between model predictions and true values ​​so as to minimize this difference by adjusting model parameters.

[0049] (7) Six-dimensional force: Six-dimensional force refers to the components of the force in six different directions on an object in three-dimensional space. These six directions usually include three orthogonal spatial directions (X, Y, and Z axes) and their corresponding three rotation directions (rotations around the X, Y, and Z axes). Six-dimensional force is usually used to describe the forces and torques acting on the end effector of a robot or robotic arm, as well as their effects on the robot's motion.

[0050] (8) Virtual force principle: The virtual force principle, also known as the virtual work principle, is the principle that the sum of the virtual work done by the system in any virtual displacement is zero when the system's motion is assumed to be subject to certain ideal constraints. In other words, when a system is subject to certain constraints, the various components in the system cannot move freely and can only move within the range allowed by the constraints. If it is assumed that the system undergoes a virtual displacement at a certain moment, that is, an imaginary displacement that does not actually occur, then according to the virtual force principle, the sum of the virtual work done by all forces in the system on this virtual displacement must be zero.

[0051] The model predictive control method in the related art has the following problems:

[0052] (1) Traditional control methods usually rely on accurate dynamic models to achieve control. However, inaccurate or simplified models will affect the control performance, which will lead to the robot failing to achieve the expected effect in actual operation. In addition, the dynamic models are complex and difficult to describe accurately.

[0053] (2) Traditional control methods are difficult to adapt to uncertain environmental changes, such as external force disturbances, collisions, etc., and the system's adaptability and robustness are poor;

[0054] (3) Traditional control methods usually require complex state estimation and feedback links, and the system design and implementation process is complicated, which increases the difficulty of implementation and the computational burden.

[0055] In view of this, the embodiments of the present application provide a data-driven robot control method, device, electronic device, computer-readable storage medium and computer program product, which can simplify the system design and implementation process, and reduce the implementation difficulty and computational burden of the model predictive control method. The electronic device provided in the embodiments of the present application can be implemented as a server, or implemented by a server and a terminal in collaboration. The following is an example of a data-driven robot control method provided by an embodiment of the present application being implemented in collaboration by a server and a terminal.

[0056] For example, see Figure 1 , Figure 1 1 is a schematic diagram of the architecture of a data-driven robot control system 100 provided in an embodiment of the present application, in order to realize a data-driven robot control application, such as Figure 1 As shown, the data-driven robot control system 100 includes: a server 200, a network 300, and a terminal 400 (for example, it can be various types of robots). The terminal 400 is connected to the server 200 via the network 300, wherein the network 300 can be a local area network or a wide area network, or a combination of the two.

[0057] In some embodiments, taking terminal 400 as a bipedal robot as an example, the bipedal robot can obtain a historical input-output sequence through its own sensors, wherein the historical input data included in the historical input sequence is the historical six-dimensional force applied to the sole of the bipedal robot, and the historical output data is the historical movement trajectory of the bipedal robot, and the acquired historical input-output sequence is transmitted to the server 200 through the network 300. Then, the server 200 can construct a control strategy for the bipedal robot based on the historical input-output sequence, wherein the control strategy is used to characterize the mapping relationship between the six-dimensional force applied to the sole of the robot and the movement trajectory of the robot; then, the server 200 obtains the target movement trajectory set by the user for the bipedal robot; finally, the server 200 determines the six-dimensional force that currently needs to be applied to the sole of the bipedal robot based on the target movement trajectory and the control strategy, and returns the six-dimensional force that currently needs to be applied to the bipedal robot through the network 300, thereby realizing force-controlled standing control of the bipedal robot, for example, the bipedal robot can be made to move according to a pre-set target movement trajectory.

[0058] Of course, the above process can also be implemented by the terminal 400 alone. For example, the terminal 400 can construct a control strategy for the robot based on its own computing power, so that the six-dimensional force that needs to be applied to the sole of the robot can be determined based on the control strategy and the target movement trajectory set for the robot, thereby realizing the force-controlled standing control of the robot. For example, the robot can be controlled to move according to a pre-set target movement trajectory. The embodiments of the present application do not make specific limitations on this.

[0059] It should be noted that the technical solution provided in this application can be applied to various scenarios, such as bipedal robot walking, humanoid robot interaction, industrial robot operation and other robot force-controlled standing control scenarios.

[0060] In some embodiments, taking a bipedal robot walking scenario as an example, first, the bipedal robot obtains a historical input-output sequence collected during walking, wherein the historical input data included in the historical input-output sequence is the historical six-dimensional force applied to the sole of the robot, and the historical output data is the historical movement trajectory of the robot; then, a control strategy for the robot is constructed based on the historical input-output sequence, wherein the control strategy is used to characterize the mapping relationship between the six-dimensional force applied to the sole of the robot and the movement trajectory of the robot; subsequently, a target movement trajectory set for the robot is also obtained; finally, based on the target movement trajectory and the control strategy, the six-dimensional force that currently needs to be applied to the sole of the robot is determined to control the robot to move according to the target movement trajectory.

[0061] In some embodiments, taking a humanoid robot interaction scenario as an example, first, the humanoid robot obtains a historical input-output sequence collected when standing and interacting with humans, wherein the historical input data included in the historical input-output sequence is the historical six-dimensional force applied to the sole of the robot, and the historical output data is the historical movement trajectory of the robot; then, a control strategy for the robot is constructed based on the historical input-output sequence, wherein the control strategy is used to characterize the mapping relationship between the six-dimensional force applied to the sole of the robot and the movement trajectory of the robot; subsequently, a target movement trajectory set for the robot is also obtained; finally, based on the target movement trajectory and the control strategy, the six-dimensional force that currently needs to be applied to the sole of the robot is determined so that the humanoid robot can move according to the pre-set target movement trajectory.

[0062] In other embodiments, the embodiments of the present application can also be implemented with the aid of cloud technology. Cloud technology refers to a hosting technology that unifies a series of resources such as hardware, software, and networks within a wide area network or a local area network to achieve data calculation, storage, processing, and sharing.

[0063] Cloud technology is a general term for network technology, information technology, integration technology, management platform technology, and application technology based on the cloud computing business model. It can form a resource pool that can be used on demand and is flexible and convenient. Cloud computing technology will become an important support. The background services of the technical network system require a large amount of computing and storage resources.

[0064] For example, Figure 1 The server 200 in the example 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 networks (CDN), and big data and artificial intelligence platforms. The terminal 400 may be various types of robots (such as humanoid robots, bipedal robots, agricultural robots, etc.), but is not limited thereto. The terminal 400 and the server 200 may be directly or indirectly connected via wired or wireless communications, which is not limited in the embodiments of the present application.

[0065] The structure of the electronic device provided in the embodiment of the present application is further described below. Taking the electronic device as a server as an example, see Figure 2 , Figure 2 is a schematic diagram of the structure of an electronic device 500 provided in an embodiment of the present application, Figure 2The electronic device 500 shown includes: at least one processor 510, a memory 540, and at least one network interface 520. The various components in the electronic device 500 are coupled together via a bus system 530. It is understood that the bus system 530 is used to achieve connection and communication between these components. In addition to the data bus, the bus system 530 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, the bus system 530 is not described in detail. Figure 2 Various buses are labeled as bus system 530 .

[0066] The processor 510 can be an integrated circuit chip with 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., where the general-purpose processor can be a microprocessor or any conventional processor, etc.

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

[0068] The memory 540 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 540 described in the embodiments of the present application is intended to include any suitable type of memory.

[0069] In some embodiments, memory 540 is capable of storing data to support various operations, examples of which include programs, modules, and data structures, or a subset or superset thereof, as exemplarily described below.

[0070] Operating system 541, 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;

[0071] A network communication module 542, for reaching other computing devices via one or more (wired or wireless) network interfaces 520, exemplary network interfaces 520 include: Bluetooth, Wireless Authentication (WiFi), and Universal Serial Bus (USB);

[0072] In some embodiments, the device provided in the embodiments of the present application can be implemented in software. Figure 2 The data-driven robot control device 543 stored in the memory 540 is shown, which can be software in the form of programs and plug-ins, including the following software modules: acquisition module 5431, construction module 5432, determination module 5433, update module 5434 and adjustment module 5435. These modules are logical, so they can be arbitrarily combined or further split according to the functions implemented. It should be pointed out that in Figure 2 For the sake of convenience, all the above modules are shown at once, but it should not be considered that the point cloud data processing device 543 excludes the implementation that can only include the acquisition module 5431, the construction module 5432 and the determination module 5433. The functions of each module will be explained below.

[0073] The data-driven robot control method provided in the embodiment of the present application will be specifically described below in combination with the exemplary application and implementation of the terminal device provided in the embodiment of the present application.

[0074] See also Figure 3 , Figure 3 is a flow chart of a data-driven robot control method provided in an embodiment of the present application, which will be combined with Figure 3 The steps shown are explained.

[0075] In step 101, the historical input-output sequence of the robot is obtained.

[0076] Here, the history-output sequence includes the history input data of the history six-dimensional force applied to the sole of the robot, and the history output data of the history movement trajectory of the robot.

[0077] In some embodiments, the above-mentioned step 101 can be implemented in the following ways: obtaining the historical torque applied to the leg motor of the robot when the robot is in a standing state; converting multiple historical torques into historical six-dimensional forces applied to the soles of the robot through the principle of virtual force; obtaining the historical movement trajectory of the robot corresponding to the historical six-dimensional force; and constructing the historical input-output sequence of the robot based on the historical six-dimensional force and the historical movement trajectory.

[0078] Here, each leg motor of the robot is equipped with a sensor that can measure torque. These sensors can be directly built into the motor or can be independent external torque sensors.

[0079] In some embodiments, first, develop or use existing data acquisition software, set a suitable sampling frequency to ensure that sufficiently detailed data can be captured, and synchronize the data of multiple sensors when necessary to ensure that the software can continuously record data while the robot is standing; then, before data acquisition, calibrate the torque sensor to ensure the accuracy of the data, and perform a preliminary test on the acquisition system to verify the reliability and data quality of the data acquisition system; then, start the robot, use a control algorithm to execute the robot to maintain standing, and when the robot enters the standing state and stabilizes, begin recording the torque data applied by the leg motors, and continuously collect torque data while the robot maintains the standing state, monitor the collected torque data in real time to ensure that the data is within the expected range and has no abnormal values, and stop data acquisition when the predetermined standing time is completed or other termination conditions are met; then, store the collected torque data in a file or database for subsequent analysis and processing.

[0080] In some embodiments, after obtaining the historical torque applied to the leg motors of the robot, the dynamics of the robot can be modeled, including the connection relationship between each leg motor and the center of mass of the robot body, and the influence of each motor on the overall movement of the robot when applying torque; then, establish the robot plantar coordinate system and the robot center of mass coordinate system, and clarify the coordinate transformation relationship between the two; then, analyze the torque applied by each leg motor, decompose it into the force along the motor axis and the torque around the motor axis, and map the force applied by each motor to the robot's center of mass coordinate system through coordinate transformation; then, calculate the total torque of each leg motor of the robot on the center of mass of the robot according to the position and torque applied; then, solve the reaction force on the plantar through the principle of virtual force, that is, under the assumed virtual constraint, the resultant external force on the center of mass of the robot is equal to zero; finally, convert the torque data at each moment according to the above process, accumulate the forces and torques applied by all motors, and obtain the historical six-dimensional force (including forces in three directions and torques in three directions) applied to the plantar of the robot at the corresponding moment.

[0081] In some embodiments, after determining the historical six-dimensional force applied by the sole of the robot, the data acquisition system can be started when the robot starts to move and apply six-dimensional force to synchronously record the six-dimensional force and the position and posture data of the robot at each time point; then, the historical movement trajectory of the robot is calculated based on the position and posture data of the robot. Here, the displacement and speed of the robot can be calculated based on the encoder data, and the acceleration and posture change of the robot can be calculated using IMU data. The initial position and posture can also be combined to obtain the historical movement trajectory of the robot through integral calculation; then, the processed historical movement trajectory data is associated with the six-dimensional force data at the corresponding time point to form a complete historical six-dimensional force-historical movement trajectory correspondence; finally, the processed historical movement trajectory data is stored in a file or database for subsequent analysis and processing.

[0082] In some embodiments, after determining the input variables (i.e., historical six-dimensional forces) and output variables (i.e., historical movement trajectories), each historical six-dimensional force can be matched with the corresponding historical movement trajectory in time according to the acquired correspondence between the historical six-dimensional forces and the historical movement trajectories. Here, matching refers to the matching of the historical six-dimensional forces as input variables at the same moment with the historical movement trajectories as output variables at that moment; then, the matched historical six-dimensional forces and historical movement trajectories are combined into a sequence to form the robot's historical input-output sequence; finally, to ensure the accuracy of the later model training, the input-output sequence is normalized.

[0083] In step 102, a control strategy for the robot is constructed based on the historical input-output sequence.

[0084] Here, the control strategy can be used to characterize the mapping relationship between the six-dimensional force applied to the sole of the robot and the movement trajectory of the robot.

[0085] In some embodiments, first, according to the characteristics of the robot and the control requirements, a suitable initialization model predictive controller (MPC) is selected (linear or nonlinear, depending on the dynamic characteristics of the robot); then, the dynamic model of the robot is determined by system identification techniques (such as least squares, maximum likelihood estimation or machine learning, etc.) using historical input-output sequences; then, based on the identified dynamic model, model parameters (such as system matrices) are estimated from historical data; thereafter, based on the identified MPC, control objectives (such as minimizing tracking errors, maximizing efficiency, etc.), constraints (such as input and output limits) and performance indicators (such as cost functions) are determined; finally, the parameters of the MPC are determined based on the cost function weights, prediction time domain, control time domain, and constraint limits. That is to say, the embodiment of the present application can determine the mapping relationship between the six-dimensional force applied to the sole of the robot and the movement trajectory of the robot based on the historical input-output sequence, that is, construct a control strategy for the robot (that is, the updated MPC) according to the historical input-output sequence. In this way, after obtaining the target movement trajectory set for the robot, the six-dimensional force that currently needs to be applied to the sole of the robot can be inferred based on the above mapping relationship, so that the robot can move according to the pre-set target movement trajectory.

[0086] In some embodiments, the above-mentioned step 102 can also be implemented in the following way: determine the sequence length of the historical input-output sequence; create a zero matrix based on the sequence length, wherein the number of rows and columns of the zero matrix are both less than or equal to half of the sequence length; fill the elements included in the historical input-output sequence into the zero matrix to obtain a Hankel matrix, wherein each element includes a historical six-dimensional force and a historical movement trajectory corresponding to the historical six-dimensional force; and construct a control strategy for the robot based on the Hankel matrix.

[0087] For example, suppose there is a robot whose historical input is the applied six-dimensional force sequence u = [u1,u2,...,u n ], the historical output is the robot's moving trajectory sequence y = [y1, y2, ..., y n ], the corresponding historical input-output sequence {u,y}={(u1,y1),(u2,y2),…,(u n ,y n )}, where n is the length of the historical input-output sequence {u, y}; then, a zero matrix is ​​created based on the sequence length n, and the number of rows and columns of the zero matrix are both less than or equal to half of the sequence length. Next, fill the elements of the historical input-output sequence into the zero matrix to obtain the Hankel matrix H (as shown in formula (1)), where each element includes a historical six-dimensional force u i, and the historical movement trajectory y corresponding to the historical six-dimensional force i , the element in the i-th row and j-th column of the zero matrix is ​​the i+j-1-th element in the historical input-output sequence {u, y}, i and j are both integer variables and satisfy

[0088]

[0089] Where n is the number of elements in the historical input-output sequence, r is the number of columns in the matrix, and c is the number of rows in the matrix.

[0090] Finally, a control strategy for the robot is constructed based on the Hankel matrix.

[0091] In some embodiments, the above-mentioned construction of a control strategy for the robot based on the Hankel matrix can also be implemented in the following way: constructing an initialization model predictive controller for the robot based on the Hankel matrix; determining the predicted time cost for each moment in the prediction interval corresponding to the historical input-output sequence based on the initialization model predictive controller; adding the predicted time costs corresponding to multiple moments, and using the sum as the cost function; and constructing a control strategy for the robot based on the cost function.

[0092] For example, suppose there is a robot whose task is to follow a predetermined path. We obtain a historical input-output sequence of the robot, where the input is the applied six-dimensional force sequence u = [u1, u2, ..., u n ], the output is the robot's moving trajectory sequence y = [y1, y2, ..., y n ], generate the corresponding Hankel matrix H according to the historical input-output sequence {u, y}, and each pair of input-output data corresponds to a timestamp t i First, an initialization model predictive controller is constructed according to the input-output data in the Hankel matrix H, wherein the parameters in the initialization model predictive controller can be randomly set initial values ​​or pre-set initial values; then, the historical input-output sequence is analyzed, and the predicted time cost at each moment t is calculated; then, the predicted time costs corresponding to multiple moments are added together to obtain the added result, and the added result is used as the cost function; finally, a control strategy for the robot is constructed according to the obtained cost function.

[0093] In some embodiments, the above-mentioned construction of a control strategy for the robot based on the cost function can also be implemented in the following way: using the cost function as the first control condition; based on the first control condition, updating the parameters of the initialized model predictive controller to obtain an updated model predictive controller; using the updated model predictive controller as the control strategy for the robot.

[0094] For example, after obtaining the cost function, the cost function can be used as the first control condition. Here, the first control condition refers to determining a control input sequence to minimize or maximize the cost function, which can be determined according to specific needs. For example, if the first control condition is to minimize the cost function, the processed cost function can be obtained by the gradient descent method and used as the first control condition; then, according to the first control condition, the parameters of the initialized model predictive controller are updated to obtain an updated model predictive controller. Here, the corresponding control parameters can be extracted from the first control condition, and the control parameters can be used to replace the parameters of the initialized model predictive controller to obtain a model predictive controller with updated parameters, and the obtained model predictive controller with updated parameters is used as the control strategy for the robot.

[0095] In some embodiments, the above-mentioned construction of a control strategy for the robot based on the cost function can also be implemented in the following way: obtaining terminal constraints set for the robot; and constructing a control strategy for the robot based on the terminal constraints and the cost function.

[0096] For example, assume that there is a robot. According to the hardware or scenario limitations of the robot, the terminal constraints set for the robot are determined (for example, the torque of the leg motor should not exceed the maximum allowable value, friction cone constraints, etc.). Then, based on the terminal constraints and the cost function, a control strategy for the robot is constructed. That is, when determining the minimum cost function, the terminal constraints set for the robot also need to be satisfied, thereby constructing a control strategy for the robot based on the terminal constraints and the cost function at the same time.

[0097] In some embodiments, the above-mentioned construction of a control strategy for the robot based on terminal constraints and cost functions can also be achieved in the following ways: combining the terminal constraints and the cost function to obtain a second control condition; based on the second control condition, updating the initialized model predictive controller to obtain an updated model predictive controller; and using the updated model predictive controller as the control strategy for the robot.

[0098] For example, suppose there is a robot that reaches a certain target position accurately within a limited time. In order to ensure that the robot tracks the predetermined path while satisfying the terminal constraint conditions, first, a cost function of the current robot is constructed, and the terminal constraint conditions and the cost function are combined to obtain a second control condition. Here, the second control condition can be to first control the input sequence to minimize or maximize the cost function to obtain an optimized cost function, and control the input sequence to minimize or maximize the terminal constraint conditions to obtain an optimized terminal constraint condition, and then combine the optimized cost function and the optimized terminal constraint conditions to obtain the second control condition. It can also be to first combine the cost function and the terminal constraint conditions to obtain a combined function, and then control the input sequence to minimize or maximize the combined function to obtain the second control condition. There is no specific limitation on this. The combination method can be to directly add the two functions or to combine them in a function method. There is no specific limitation on this. Then, according to the second control condition, the parameters of the initialized model predictive controller are updated to obtain an updated model predictive controller. Here, the corresponding control parameters can be extracted from the second control condition, and the control parameters can be used to replace the parameters of the initialized model predictive controller to obtain a model predictive controller with updated parameters, and the obtained model predictive controller with updated parameters is used as the control strategy for the robot.

[0099] It should be noted that the first control condition and the second control condition here are for distinguishing corresponding different processing situations, and the two may be the same or different.

[0100] In step 103, a target movement trajectory set for the robot is obtained.

[0101] Here, the robot may analyze according to the set planned path to determine the target movement trajectory, or it may be manually input and set by the user, which is not specifically limited here.

[0102] In some embodiments, the user can set the initial position and target position of the target movement for the robot. The robot plans the path according to the initial position and target position to obtain the target movement trajectory. The user can also manually draw the target movement trajectory for the robot, so that the robot can directly obtain the target movement trajectory.

[0103] In step 104, based on the target movement trajectory and the control strategy, the six-dimensional force that needs to be currently applied to the sole of the robot is determined.

[0104] In some embodiments, the above step 104 can also be implemented in the following manner: based on the target movement trajectory, the control strategy is called to make a prediction to obtain the six-dimensional force that needs to be applied to the sole of the robot.

[0105] For example, suppose there is a robot, obtain the target moving trajectory set for the robot, and predict the input data according to the target moving trajectory by calling the control strategy (i.e., the updated MPC), so as to obtain the six-dimensional force that needs to be applied to the sole of the robot's foot. That is to say, after obtaining the target moving trajectory set for the robot, the six-dimensional force that needs to be applied to the sole of the robot's foot when the robot needs to move according to the target moving trajectory can be inferred based on the mapping relationship between the six-dimensional force applied to the sole of the robot's foot and the moving trajectory of the robot. In this way, after applying the corresponding six-dimensional force to the sole of the robot's foot, the robot can move according to the preset target moving trajectory.

[0106] For example, suppose there is a robot, obtain the target moving trajectory set for the robot, and determine the corresponding time t according to the target moving trajectory. The input-output sequence at time t is predicted by calling the control strategy, and the deviation between the output data (predicted moving trajectory) in the input-output sequence and the target moving trajectory is calculated. When the deviation is less than the deviation threshold, the corresponding input data in the input-output sequence is determined as the control input of the robot at time t, that is, the six-dimensional force currently required to be applied to the sole of the robot is obtained. So that the robot can move according to the preset target moving trajectory.

[0107] In some embodiments, see Figure 4 , Figure 4 is a flow chart of a data-driven robot control method provided in an embodiment of the present application, such as Figure 4 As shown, in the execution Figure 3 After step 104 shown, you can also perform Figure 4 Steps 105 to 106 in the embodiment are implemented by combining Figure 4 The steps shown are explained.

[0108] In step 105, the six-dimensional force currently applied to the sole of the robot and the target movement trajectory are added to the historical input-output sequence to obtain an updated historical input-output sequence.

[0109] For example, after obtaining the six-dimensional force currently applied to the sole of the robot and the target movement trajectory, the six-dimensional force currently applied to the sole of the robot is added to the end of the historical input sequence, and the target movement trajectory is added to the end of the historical output sequence, thereby forming a new historical input-output sequence, that is, the updated historical input-output sequence.

[0110] In step 106 , the control strategy is updated based on the updated historical input-output sequence.

[0111] Here, steps 102 to 104 are repeatedly executed based on the updated historical input-output sequence, thereby updating the control strategy. In this way, by updating the historical input-output sequence, more data can be provided for the robot's control strategy, so that it can dynamically adjust the control strategy according to real-time data, help the control strategy to better understand and predict the robot's behavior, and enable it to adapt to uncertain environmental changes, such as external force disturbances, bumps, etc., thereby improving the system's adaptability and robustness.

[0112] In some embodiments, when the robot moves to a posture that does not satisfy the zero-torque point constraint, the robot's center of mass position is adjusted to return the robot to a posture that satisfies the zero-torque point constraint, thereby avoiding the influence on the robot's stability in extreme cases such as the robot neck motor applying a large torque or the operating ball being too heavy.

[0113] Next, an exemplary application of the embodiment of the present application in a practical application scenario will be described. The exemplary application describes the specific implementation process of the data-driven robot control method in a robot force-controlled standing control scenario.

[0114] See also Figure 5 , Figure 5 : is a structural schematic diagram of a humanoid robot provided in an embodiment of the present application. In the force-controlled standing state of the robot, the motors that need to be controlled are the torques of all the motors in the legs, and the motors in the arms and the head are fixed at a certain initial position by a position control method. The motors on the two legs of the robot are arranged symmetrically, and the specific arrangement is in the following order from waist to soles: hip roll, hip yaw, hip pitch, knee pitch, ankle pitch, and ankle roll. Therefore, the actual control instructions actually applied to the robot are the torques of the 12 joint motors.

[0115] See also Figure 6 , Figure 6 This is a structural diagram of the robot force-controlled standing system provided in an embodiment of the present application. Through the principle of virtual force, the torque of the robot's leg joint motor can be controlled to be equivalent to applying a six-dimensional force (including three-dimensional force and three-dimensional torque) to the sole of the robot. The terminal six-dimensional force is then converted into the robot joint space through the robot's inverse dynamics and finally sent to the joint motor.

[0116] F x 、F y 、F z Represents the three-dimensional force of the plantar, M x 、M y 、M zThey represent the three-dimensional torque of the plantar force respectively, and the control system state quantity is set to the position p of the robot's center of mass (COM). c =[p cx ,p cy ,p cz ] T and speed The attitude angle θ at the center of mass of the robot is [α, β, γ] and its angular velocity w around the world coordinate system, where α, β, and γ represent the roll, pitch, and yaw angles of the center of mass, respectively, and the gravitational acceleration g. Then, we can get formula (2), which is the expression of the control system state quantity.

[0117]

[0118] Through formulas (3) and (4), the control quantity is converted from the motor torque in the robot joint space to the six-dimensional force of the robot foot in Cartesian space through the virtual force principle.

[0119] F1=[F x ,F y ,F z ] T (3)

[0120] M1=[M 1x ,M 1y ,M 1z ] T (4)

[0121] Among them, F1 and M1 represent the three-dimensional force and force of the left foot respectively.

[0122] The system control variable u can be expressed by formula (5).

[0123] u=[F1,M1,F2,M2] (5)

[0124] Therefore, the control problem of the dynamic system can be expressed using the discrete state equation (6).

[0125] X t+1 =AX t +Bu t (6)

[0126] Among them, A∈R 13×13 is the system matrix, B∈R 13×12 is the control matrix.

[0127] It should be noted that, in the embodiments of the present application, except for the variables that can be directly measured by sensors or obtained by kinematics, nothing is known about the other variables of the system, the dynamic equation of the robot when it is standing under force control is unknown, and the mathematical relationship expression between the variables shown in the diagram cannot be established, so the system matrix and the control matrix are unknown. For a system with unknown state equations, it is impossible to construct a state observer to estimate the system state of the humanoid robot when it is standing under force control. Therefore, the present application uses a measurable system output instead of the system state as the control target, and y represents the system output, which can be expressed by formula (7).

[0128] y t =CX t +Du t (7)

[0129] Among them, the system output is equal to the system state, C∈I 12×12 , D∈I 12×1

[0130] In the data-driven model prediction method, only input-output data is used to control this unknown system, that is, there is no internal model or state information of the system, and it relies entirely on the measured input and output. is considered as a trajectory of the system. The sequence is represented in the form of a Hankel matrix using formula (8).

[0131]

[0132] The symbol a is used to represent the variable itself or the sequence The word sequence of sequence a is expressed as shown in formula (9).

[0133]

[0134] In some embodiments, Definition 1 is given: Assume that the sequence is the historical control input and output data of the system, if It is believed that It is a lasting motivational signal.

[0135] The above process gives a key restriction on system control, that is, N (the number of data points) must satisfy the inequality N≥(n+1)L-1, where N is the length of the input-output data sequence, m is the dimension of the system input, n is the order of the system or the dimension of the state variables, and L is the number of delay steps or time lag of the system. That is, to successfully control the system, the number of data points N must be at least equal to (n+1)L-1.

[0136] In some embodiments, given Theorem 1: Assume is a trajectory of the system, and If the conditions of the persistent excitation signal are met, then is also a trajectory of the system if and only if α∈R N-L+1 This makes formula (10) valid.

[0137]

[0138] Here, the above Theorem 1 is for linear systems. For nonlinear systems, there is a more stringent restriction condition, which requires that the sum of all members of α is equal to 1, that is, In addition, when a sequence satisfies Definition 1, If formula (9) is satisfied, then N can be arbitrarily Replace, where

[0139] In the traditional data-driven MPC problem, for a given reference input-output sequence (u s ,y s )The cost function of the control system can be expressed by formula (11).

[0140]

[0141] Among them, Q and R are positive definite diagonal matrices with the same dimensions as u and y respectively; for The formula can be expressed as formula (12).

[0142]

[0143] Since the model is completely unknown in Data-Driven Model Predictive Control (DDMPC), the system state is no longer included in the cost function, but the past trajectory is used to predict the future trajectory (by and composition) and optimize it.

[0144] Through the input-output trajectory in Theorem 1, it can be obtained that at time t, the DDMPC prediction framework based on the past N+n input-output sequences can be expressed by formulas (13) and (14).

[0145]

[0146] Therefore, the cost function in DDMPC can be expressed by formula (15) and formula (16).

[0147]

[0148] Here, the optimization problem of DDMPC is to minimize the cost function above so that the actual input of the system and the actual output The closest to the reference trajectory, and for the open-loop MPC without terminal constraints, a very long prediction step is required to ensure the stability of the control system while satisfying the constraints. Therefore, terminal restrictions need to be made on the DDMPC, which can be expressed by formula (17).

[0149]

[0150] In some embodiments, the output of the unknown linear time-invariant system (LTIS) is usually not accurately available and may be affected by measurement noise. Therefore, the stacked data-dependent Hankel matrix in formula (7) does not completely cover the trajectory space of the system, and the output trajectory cannot be accurately predicted. In addition, the noisy output measurement will affect the initial conditions of the controller, thereby further reducing the prediction accuracy. Directly using the DDMPC scheme in formulas (15) and (16) may lead to feasibility problems or closed-loop instability. Therefore, a robust data-driven MPC scheme with terminal constraints is adopted to solve the noisy measurement problem.

[0151] First consider the initial available data The output measurement with bounded additive noise in is defined as and noise in online measurements No assumption is made on the properties of the noise, but it is required to be bounded, that is, satisfying formula (18).

[0152]

[0153] The current setting includes two types of noise. On the one hand, the data used for prediction via the Hankel matrix is ​​ε d The disturbance can be interpreted as the uncertainty of the multiplicative model; on the other hand, the ε disturbance is measured online, so the overall control objective is a noisy output feedback problem. The key idea to solve the noisy measurement problem is to relax the equality constraints and appropriately penalize the relaxed parameters in the cost function. For a given noisy initial input-output trajectory of length n And the noise data A robust modification scheme for the cost function is proposed as shown in formula (19).

[0154]

[0155] in, represents the square of the 2-norm of the vector *, that is, the sum of the squares of each element, ‖*‖ ∞ represents the infinity norm of vector *, that is, the maximum absolute value of each element, and ‖*‖1 represents the 1 norm of vector *, that is, the sum of the absolute values ​​of each element.

[0156] Once the data-driven MPC problem is solved, the optimized input at the current time t can be applied to the actual control system. Compared to the traditional MPC problem, the output data trajectory and the initial output obtained by online measurement have been replaced by their noisy counterparts. In addition, the following components are added:

[0157] (1) A slack variable σ(t) is used to deal with noisy online measurements and the noisy historical data used for prediction This can be explained by the uncertainty of the multiplicative model.

[0158] (2) With weight λ α The quadratic regularization of α(t) and σ(t) > 0 means that the regularization of α(t) depends on the noise level.

[0159] exist Figure 6 In the structural diagram of the robot force control standing system, only the neck motor of the humanoid robot needs to be adjusted, and the other motors are fixed at an initial position by position control. Ideally, the robot will always remain standing, but in order to consider the impact on the robot's stability in extreme cases such as the robot neck motor applying a large torque or the operating ball being too heavy, this application also adds the robot zero moment point (ZMP) constraint to the force control standing.

[0160] In some embodiments, assume that the mass of the robot is m, the acceleration due to gravity is g, and the position of the center of mass is (x c ,y c ,z c ), the center-of-mass acceleration is The reaction force of the ground is F z , then the position of ZMP (x zmp ,y zmp ) can be calculated by formula (20) and formula (21).

[0161]

[0162] The full-size humanoid robot Walker X used in this application has an overall mass of 70kg. The material of its sole is rubber, which can meet the zero-torque point constraint in most cases. When the robot moves to a state that does not meet the zero-torque point constraint, the robot's center of mass position is adjusted through a simple robot joint position control method to make the robot return to a posture that meets the zero-torque point constraint.

[0163] In some embodiments, the robot also needs to satisfy a friction cone constraint to prevent the robot's feet from slipping. The friction cone constraint condition can be expressed using formula (22).

[0164]

[0165] Among them, F x 、F y 、F z are the forces acting on the robot’s sole in the x, y and z directions respectively, and μ is the friction coefficient.

[0166] See also Figure 7 , Figure 7 is a schematic diagram of a data-driven robot control method provided in an embodiment of the present application, which will be combined with Figure 7 The specific process of the data-driven robot control method of the present application is described.

[0167] In some embodiments, first, a simple initial controller is selected for the robot to control the robot using a corresponding control algorithm (such as a position control method); then, the position control method is used to control the robot to stand, and the corresponding historical input-output sequence is recorded, where the input of the position control method is the position of the joint motor, and the historical input that needs to be recorded is the six-dimensional plantar force obtained by dynamic conversion of the joint torque measured by the sensor at the motor joint during standing; then, the parameters N (the length of the input-output data sequence), n (the dimension of the state variable), L (the time lag of the system), (the adjustable parameter of the control system), and (the upper bound of the output data) are determined to construct a cost function based on the parameters; then, the target reference trajectory is set Afterwards, the time t corresponding to the target reference trajectory is determined, and the Hankel matrix at time t is constructed; then, the corresponding α(t) after optimization is determined according to the above formula (19); then, the input data at time t is determined according to the above formula (10), that is, the six-dimensional force currently required to be applied to the sole of the robot, and it is determined whether the six-dimensional force currently required to be applied meets the friction cone constraint, thereby determining the six-dimensional force that the sole of the robot ultimately needs to apply; then, the real-time data is updated to the historical input-output sequence to dynamically adjust the control strategy to adapt to uncertain environmental changes.

[0168] The following is a description of an exemplary structure of a data-driven robot control device 543 provided in an embodiment of the present application as a software module. In some embodiments, Figure 2 As shown, the software modules stored in the data-driven robot control device 543 of the memory 540 may include: an acquisition module 5431 , a construction module 5432 and a determination module 5433 .

[0169] The acquisition module 5431 is used to obtain the historical input-output sequence of the robot, wherein the historical input data included in the historical input-output sequence is the historical six-dimensional force applied to the sole of the robot, and the historical output data is the historical movement trajectory of the robot; the construction module 5432 is used to construct a control strategy for the robot based on the historical input-output sequence, wherein the control strategy is used to characterize the mapping relationship between the six-dimensional force applied to the sole of the robot and the movement trajectory of the robot; the determination module 5431 is also used to obtain the target movement trajectory set for the robot; the control module 5433 is used to determine the six-dimensional force that currently needs to be applied to the sole of the robot based on the target movement trajectory and the control strategy.

[0170] In some embodiments, the acquisition module 5431 is also used to obtain the historical torque applied to the leg motors of the robot when the robot is in a standing state; through the principle of virtual force, multiple historical torques are converted into historical six-dimensional forces applied to the soles of the robot; the historical movement trajectory of the robot corresponding to the historical six-dimensional force is obtained; based on the historical six-dimensional force and the historical movement trajectory, the historical input-output sequence of the robot is constructed.

[0171] In some embodiments, construction module 5432 is also used to determine the sequence length of the historical input-output sequence; create a zero matrix based on the sequence length, wherein the number of rows and columns of the zero matrix are both less than or equal to half of the sequence length; fill the elements included in the historical input-output sequence into the zero matrix to obtain a Hankel matrix, wherein each element includes a historical six-dimensional force and a historical movement trajectory corresponding to the historical six-dimensional force; and construct a control strategy for the robot based on the Hankel matrix.

[0172] In some embodiments, construction module 5432 is also used to construct an initialization model predictive controller for the robot based on the Hankel matrix; based on the initialization model predictive controller, determine the predicted time cost of each moment in the prediction interval corresponding to the historical input-output sequence; add the predicted time costs corresponding to multiple moments, and use the sum as the cost function; and construct a control strategy for the robot based on the cost function.

[0173] In some embodiments, the construction module 5432 is also used to use the cost function as the first control condition; based on the first control condition, update the parameters of the initialized model predictive controller to obtain an updated model predictive controller; and use the updated model predictive controller as the control strategy for the robot.

[0174] In some embodiments, the construction module 5432 is further used to obtain terminal constraints set for the robot; and construct a control strategy for the robot based on the terminal constraints and the cost function.

[0175] In some embodiments, the construction module 5432 is also used to combine the terminal constraint condition and the cost function to obtain a second control condition; based on the second control condition, the parameters of the initialized model predictive controller are updated to obtain an updated model predictive controller; and the updated model predictive controller is used as a control strategy for the robot.

[0176] In some embodiments, the data-driven robot control device 543 also includes an update module 5434, which is used to add the six-dimensional force and target movement trajectory currently applied to the sole of the robot to the historical input-output sequence to obtain an updated historical input-output sequence; based on the updated historical input-output sequence, the control strategy is updated.

[0177] In some embodiments, the data-driven robot control device 543 also includes an adjustment module 5435, which is used to adjust the center of mass position of the robot when the robot moves to a posture that does not satisfy the zero-torque point constraint, so as to make the robot return to a posture that satisfies the zero-torque point constraint.

[0178] It should be noted that the description of the device in the embodiment of the present application is similar to the description of the method embodiment described above, and has similar beneficial effects as the method embodiment, so it will not be repeated. Figure 3 ,or Figure 4 The present invention should be understood by referring to the description of any one of the accompanying drawings.

[0179] The embodiment of the present application provides a computer program product, which includes a computer program or a computer executable instruction, and the computer program or the computer executable instruction is stored in a computer-readable storage medium. The processor of the electronic device reads the computer executable instruction from the computer-readable storage medium, and the processor executes the computer executable instruction, so that the electronic device executes the data-driven robot control method described in the embodiment of the present application.

[0180] The present application embodiment provides a computer-readable storage medium, in which computer executable instructions or computer programs are stored. When the computer executable instructions or computer programs are executed by a processor, the processor will be caused to execute the data-driven robot control method provided by the present application embodiment, for example, Figure 3 ,or Figure 4 The data-driven robot control method is shown.

[0181] In some embodiments, the computer-readable storage medium may be a ferroelectric random access memory (FRAM), ROM, programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory, magnetic surface memory, optical disk, or compact disc read-only memory (CD-ROM) and other memories; it may also be various devices including one or any combination of the above memories.

[0182] In some embodiments, computer executable instructions may be in the form of a program, software, software module, 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 as a stand-alone program or as a module, component, subroutine or other unit suitable for use in a computing environment.

[0183] As an example, computer-executable instructions may, but need not, correspond to a file in a file system, may be stored as part of a file that stores other programs or data, such as in one or more scripts in a HyperText Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files storing one or more modules, subroutines, or code portions).

[0184] As an example, computer executable instructions may be deployed to be executed on one electronic device, or on multiple electronic devices located at one site, or on multiple electronic devices distributed at multiple sites and interconnected by a communication network.

[0185] In summary, the embodiments of the present application have the following beneficial effects:

[0186] (1) DD-MPC can adapt to environmental changes in real time and quickly adjust control strategies in a data-driven manner, thereby enhancing the stability and adaptability of the system. In practical applications, the environment in which the robot is located is often dynamic and unpredictable. Traditional control methods usually rely on fixed models and parameters, and it is difficult to cope with rapid changes in the environment. The DD-MPC method can instantly identify environmental changes and quickly adjust control strategies by continuously collecting and analyzing new data, ensuring that the robot can maintain balance and normal operation in various complex and dynamic environments. This dynamic adaptive capability enables the robot to cope with more uncertainties and external interference, improving its practicality and robustness in real environments;

[0187] (2) The DD-MPC method uses historical data for in-depth analysis and prediction, making it possible to more accurately predict the future state of the system. This data-based prediction method can identify subtle changes in system behavior, allowing for more refined control. In traditional methods, control accuracy is often limited by model accuracy, while DD-MPC does not rely on precise physical models, but on actual operating data. This enables it to more accurately capture the dynamic characteristics of the system and improve control accuracy. At the same time, because DD-MPC can continuously update and optimize control strategies during operation, it can more reliably cope with various nonlinearities and uncertainties, improving the overall reliability of the system;

[0188] (3) Traditional control systems usually require the construction of complex dynamic models and state estimation, which not only increases the complexity of system design and implementation, but also requires high computing resources. The DD-MPC method completely skips the need for complex dynamic models by directly using historical input-output data for learning and optimization, thus simplifying the system design and implementation process. Since detailed physical models and state estimation are not required, developers can focus more on data collection and analysis, greatly reducing the implementation difficulty and computational burden. This simplification not only speeds up the development cycle, but also makes the system more flexible and easy to maintain, adapting to the needs of different application scenarios. By reducing the reliance on computing resources, DD-MPC also makes it possible to achieve efficient control in low-power and resource-constrained environments.

[0189] The above is only an embodiment of the present application and is not intended to limit the protection scope of the present application. Any modifications, equivalent substitutions and improvements made within the spirit and scope of the present application are included in the protection scope of the present application.

Claims

1. A data-driven robot control method, characterized in that: The method comprises: Acquire a historical input-output sequence of the robot, wherein the historical input data included in the historical input-output sequence is a historical six-dimensional force applied to the sole of the robot, and the historical output data is a historical movement trajectory of the robot; Constructing a control strategy for the robot based on the historical input-output sequence, wherein the control strategy is used to characterize a mapping relationship between a six-dimensional force applied to the sole of the robot and a movement trajectory of the robot; Obtaining a target moving trajectory set for the robot; Based on the target movement trajectory and the control strategy, the six-dimensional force that needs to be currently applied to the sole of the robot is determined.

2. The method according to claim 1, characterized in that The step of constructing a control strategy for the robot based on the historical input-output sequence comprises: Determining a sequence length of the historical input-output sequence; Creating a zero matrix based on the sequence length, wherein the number of rows and the number of columns of the zero matrix are both less than or equal to half of the sequence length; Filling the elements included in the historical input-output sequence into the zero matrix to obtain a Hankel matrix, wherein each of the elements includes one of the historical six-dimensional forces and the historical movement trajectory corresponding to the historical six-dimensional force; A control strategy for the robot is constructed based on the Hankel matrix.

3. The method according to claim 2, characterized in that The constructing a control strategy for the robot based on the Hankel matrix includes: constructing an initialization model predictive controller for the robot based on the Hankel matrix; Determining, based on the initialized model predictive controller, a predicted time cost at each moment in a prediction interval corresponding to the historical input-output sequence; Adding the predicted time costs corresponding to the multiple moments respectively, and using the summed result as the cost function; A control strategy for the robot is constructed based on the cost function.

4. The method according to claim 3, characterized in that The constructing a control strategy for the robot based on the cost function comprises: Using the cost function as a first control condition; Based on the first control condition, updating the parameters of the initialized model predictive controller to obtain an updated model predictive controller; The updated model predictive controller is used as a control strategy for the robot.

5. The method according to claim 3, characterized in that: The constructing a control strategy for the robot based on the cost function comprises: Obtain terminal constraint conditions set for the robot; Based on the terminal constraints and the cost function, a control strategy for the robot is constructed.

6. The method according to claim 5, characterized in that The constructing a control strategy for the robot based on the terminal constraint condition and the cost function comprises: Combining the terminal constraint condition and the cost function to obtain a second control condition; Based on the second control condition, updating the parameters of the initialized model predictive controller to obtain an updated model predictive controller; The updated model predictive controller is used as a control strategy for the robot.

7. The method according to any one of claims 1 to 6, characterized in that: The method further comprises: Adding the six-dimensional force currently applied to the sole of the robot and the target movement trajectory to the historical input-output sequence to obtain an updated historical input-output sequence; The control strategy is updated based on the updated historical input-output sequence.

8. The method according to any one of claims 1 to 6, characterized in that: The method further comprises: When the robot moves to a posture that does not satisfy the zero-moment point constraint, the center of mass position of the robot is adjusted to make the robot return to a posture that satisfies the zero-moment point constraint.

9. A data-driven robot control device, characterized in that: The device comprises: An acquisition module, used for acquiring a historical input-output sequence of the robot, wherein the historical input data included in the historical input-output sequence is a historical six-dimensional force applied to the sole of the robot, and the historical output data is a historical movement trajectory of the robot; A construction module, used to construct a control strategy for the robot based on the historical input-output sequence, wherein the control strategy is used to characterize the mapping relationship between the six-dimensional force applied to the sole of the robot and the movement trajectory of the robot; The acquisition module is further used to acquire a target movement trajectory set for the robot; A determination module is used to determine the six-dimensional force that needs to be currently applied to the sole of the robot based on the target movement trajectory and the control strategy.

10. An electronic device, characterized in that: include: A memory for storing computer executable instructions or computer programs; A processor, for implementing the data-driven robot control method according to any one of claims 1 to 8 when executing the computer executable instructions or computer programs stored in the memory.

11. A computer-readable storage medium storing computer-executable instructions or a computer program, characterized in that: When the computer executable instructions or computer programs are executed by a processor, the data-driven robot control method according to any one of claims 1 to 8 is implemented.

12. A computer program product comprising computer executable instructions or a computer program, characterized in that: When the computer executable instructions or computer programs are executed by a processor, the data-driven robot control method according to any one of claims 1 to 8 is implemented.

Citation Information

Patent Citations

  • Method and device for controlling coordinated motion of double arms of robot and electronic equipment

    CN112123341A

  • State correction method and device of quadruped robot, electronic equipment and storage medium

    CN116483108A

  • Collaborative robot basic experiment platform

    CN213025062U

  • Method and apparatus for diagnosing operation performance of mobile robot

    KR1020110083982A

  • Travel path planning method and apparatus, self-moving robot, and storage medium

    WO2024140553A1