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

By constructing Gaussian distribution and random sampling of robot control parameters and determining the target control parameter sequence with the cost-cost equation, the stability and efficiency problems in autonomous robot motion planning are solved, and efficient and stable motion control is achieved.

CN119550366APending Publication Date: 2025-03-04UBTECH ROBOTICS CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411681972.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-22
Publication Date
2025-03-04

AI Technical Summary

Technical Problem

In complex environments, the motion planning of autonomous robots faces challenges such as dynamic obstacle avoidance and multi-machine coordination. Due to hardware limitations, high computing power methods are difficult to implement, resulting in low performance and efficiency of motion control.

Method used

By constructing a Gaussian distribution based on the robot historical control parameter sequence, random sampling is performed to obtain the sampling control parameter sequence, the pre-constructed cost equation is called to determine the respective cost cost, the target control parameter sequence is determined based on the cost cost and sampling control parameter sequence, and motion control is performed.

Benefits of technology

This method reduces the motion instability caused by sudden changes in robot control parameters, avoids high computing power requirements, and improves the efficiency and stability of robot motion control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119550366A_ABST
    Figure CN119550366A_ABST
Patent Text Reader

Abstract

The invention provides a robot control method and device, electronic equipment, a computer readable storage medium and a computer program product. The method comprises the following steps: constructing Gaussian distribution of robot control parameters based on a historical control parameter sequence of a robot in a historical time step length; random sampling is carried out on the Gaussian distribution, M sampling control parameter sequences are obtained, and M is an integer larger than 1; calling a pre-constructed cost equation of the robot motion trail, and determining respective cost of the M sampling control parameter sequences; determining a target control parameter sequence based on the respective cost of the M sampling control parameter sequences and the M sampling control parameter sequences; and performing motion control on the robot based on the target control parameter sequence. According to the invention, the robot motion control efficiency can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] Due to the uncertainty of robot dynamics and its interaction with other intelligent agents, the motion planning of autonomous robots in complex environments faces many challenges, such as dynamic obstacle avoidance and multi-machine coordination. In addition, due to hardware limitations, methods with too high computing power are difficult to implement, and the performance and efficiency of robot motion control are very low. Summary of the invention

[0003] The embodiments of the present application provide a robot control method, device, electronic device, computer-readable storage medium and computer program product, which can improve the efficiency of robot motion control.

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

[0005] The present application provides a robot control method, the method comprising:

[0006] Constructing a Gaussian distribution of the robot control parameters based on a historical control parameter sequence of the robot within a historical time step;

[0007] Randomly sampling the Gaussian distribution to obtain M sampling control parameter sequences, where M is an integer greater than 1;

[0008] Calling a pre-constructed cost equation of the robot motion trajectory to determine the cost of each of the M sampling control parameter sequences;

[0009] Determine a target control parameter sequence based on the cost of each of the M sampled control parameter sequences and the M sampled control parameter sequences;

[0010] Based on the target control parameter sequence, the robot is motion controlled.

[0011] The present application provides a robot control device, comprising:

[0012] A construction module, for constructing a Gaussian distribution of control parameters of the robot based on a historical control parameter sequence of the robot within a historical time step;

[0013] A sampling module, used for randomly sampling the Gaussian distribution to obtain M sampling control parameter sequences, where M is an integer greater than 1;

[0014] A cost determination module, used for calling a pre-built cost equation of the robot motion trajectory to determine the cost of each of the M sampling control parameter sequences;

[0015] A parameter sequence determination module, configured to determine a target control parameter sequence based on the cost of each of the M sampled control parameter sequences and the M sampled control parameter sequences;

[0016] A control module is used to perform motion control on the robot based on the target control parameter sequence.

[0017] An embodiment of the present application provides an electronic device, the electronic device comprising:

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

[0019] The processor is used to implement the robot control method provided in the embodiment of the present application when executing the computer executable instructions or computer program stored in the memory.

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

[0021] 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, the robot control method provided by the embodiment of the present application is implemented.

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

[0023] The historical control parameter sequence of the robot within the historical time step is used to construct the Gaussian distribution of the robot control parameters, and then the Gaussian distribution is randomly sampled to obtain M sampled control parameter sequences. The nature of the Gaussian distribution determines that most of the sampling values ​​of the sampled control parameter sequence are concentrated near the historical control parameter sequence, thereby reducing the possibility that the robot control parameters suddenly change to extreme values ​​that may cause motion instability, thereby ensuring the stability of the robot motion; then the pre-constructed cost equation is called to determine the cost of each of the M sampled control parameter sequences, and then based on the cost and the M sampled control parameter sequences, the target control parameter sequence is determined, and finally based on the target control parameter sequence, the robot is controlled in motion. The method of sampling the Gaussian distribution and determining the target control parameter sequence through the sampled control parameter sequence does not require the calculation of derivatives, reduces the computing power for solving the optimal robot control parameter sequence, and improves the efficiency of robot motion control. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] Figure 1 This is a schematic diagram of an optional architecture of a robot control system provided in an embodiment of the present application;

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

[0026] Figure 3 is an optional flow chart of the robot control method provided in the embodiment of the present application;

[0027] Figure 4 It is a schematic diagram of the implementation process of constructing a Gaussian distribution provided in an embodiment of the present application;

[0028] Figure 5 It is a schematic diagram of the implementation process of random sampling of Gaussian distribution provided in an embodiment of the present application;

[0029] Figure 6 It is a schematic diagram of an implementation flow of determining a target control parameter sequence provided in an embodiment of the present application;

[0030] Figure 7 It is a schematic diagram of an implementation flow of determining the weight coefficients of M sampling control parameter sequences provided in an embodiment of the present application;

[0031] Figure 8 It is a schematic diagram of an implementation flow of determining a target control parameter sequence provided in an embodiment of the present application;

[0032] Fig. 9 It is a schematic diagram of the implementation process of motion control of a robot provided in an embodiment of the present application;

[0033] Fig.10 It is a schematic diagram of the flow chart of solving the optimization equation provided in the embodiment of the present application. DETAILED DESCRIPTION

[0034] 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.

[0035] In the following description, reference is made to “some embodiments”, which describe a subset of all possible embodiments, but it will 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.

[0036] 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.

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

[0038] The relevant data collection and processing in the embodiments of this application should be strictly in accordance with the requirements of relevant laws and regulations when applied in examples, obtain the informed consent or separate consent of the personal information subject, and carry out subsequent data use and processing within the scope of authorization of laws and regulations and the personal information subject.

[0039] 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.

[0040] 1) Model Predictive Control (MPC): A control algorithm that uses a mathematical model of a system to predict the behavior of the system in the future and optimizes the control input based on these predictions and the current system state to achieve a specific control goal. For example, model predictive control is applied to robot control by continuously using the robot's current state information to predict its behavior in the future and constructing an optimization equation based on this prediction information. The optimal control strategy is found through the optimization equation so that the robot meets the specific control goal.

[0041] 2) Time step: refers to the limited prediction time range in the time domain, also known as the rolling horizon. For example, in MPC, the rolling horizon refers to a prediction and optimization time window that covers the robot's behavior over a period of time starting from the current moment. The time window will continue to move forward as time progresses, that is, it moves forward one moment at a time.

[0042] The computational complexity of an optimization problem typically increases with the number of optimization variables (i.e., control parameters). For example, in robotic control, as the number of robot joints increases, the number of sub-parameters in each control parameter of the control parameter sequence also increases, making the optimization problem more complex. Robot control systems are typically highly nonlinear, and nonlinear systems may result in objective functions and constraints having complex mathematical properties, resulting in more computational resources required for robot motion control.

[0043] The embodiments of the present application provide a robot control method, device, electronic device, computer-readable storage medium and computer program product, which can improve the efficiency of robot motion control. The exemplary applications of the electronic device provided by the embodiments of the present application are described below. The electronic device provided by the embodiments of the present application can be implemented as various types of terminals such as laptops, tablet computers, desktop computers, set-top boxes, smart phones, smart speakers, smart watches, smart TVs, vehicle-mounted terminals, robots, etc., and can also be implemented as servers.

[0044] See also Figure 1 , Figure 1 It is an optional architectural diagram of a robot control system provided in an embodiment of the present application. To support an application for improving the efficiency of robot motion control, in system 100, terminal 400 is connected to server 200 via network 300. Network 300 may be a wide area network or a local area network, or a combination of the two.

[0045] The server 200 is used to construct a Gaussian distribution of the control parameters of the terminal 400 based on the historical control parameter sequence of the terminal 400 within the historical time step; randomly sample the Gaussian distribution to obtain M sampled control parameter sequences, where M is an integer greater than 1; call the cost equation of the pre-constructed robot motion trajectory to determine the cost of each of the M sampled control parameter sequences; determine the target control parameter sequence based on the cost of each of the M sampled control parameter sequences and the M sampled control parameter sequences; and perform motion control on the terminal 400 based on the target control parameter sequence. The terminal 400 is used to perform motion based on the target control parameter sequence.

[0046] 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 networks (CDN), and big data and artificial intelligence platforms. The terminal and the server may be directly or indirectly connected via wired or wireless communication, which is not limited in the embodiments of the present application.

[0047] See also Figure 2 , Figure 2 is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application, Figure 2 The electronic device 500 shown may be a server, and the electronic device 500 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 .

[0048] 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.

[0049] The memory 540 may be removable, non-removable or a combination thereof. Exemplary hardware devices include solid-state memory, hard disk drive, optical disk drive, etc. The memory 540 may optionally include one or more storage devices physically away from the processor 510. The memory 540 includes a volatile memory or a non-volatile memory, and may also include both volatile and non-volatile memory. 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. In some embodiments, the memory 540 is capable of storing data to support various operations, examples of which include programs, modules, and data structures or subsets or supersets thereof, as exemplarily described below.

[0050] The operating system 541 includes 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; a network communication module 542, for reaching other electronic devices via one or more (wired or wireless) network interfaces 520, exemplary network interfaces 520 include: Bluetooth, wireless compatibility certification (WiFi), and Universal Serial Bus (USB), etc. In some embodiments, the robot control device provided in the embodiments of the present application can be implemented in software, Figure 2 The 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: a construction module 5431, a sampling module 5432, a cost determination module 5433, a parameter sequence determination module 5434 and a control module 5435. These modules are logical, so they can be arbitrarily combined or further split according to the functions implemented. The functions of each module will be explained below.

[0051] In other embodiments, the robot control device provided in the embodiments of the present application can be implemented in hardware. As an example, the robot control device provided in the embodiments of the present application can be a processor in the form of a hardware decoding processor, which is programmed to execute the robot control method provided in the embodiments of the present application. For example, the processor in the form of a hardware decoding processor can adopt one or more application specific integrated circuits (Application Specific Integrated Circuit, ASIC), digital signal processors (Digital Signal Processor, DSP), programmable logic devices (Programmable Logic Device, PLD), complex programmable logic devices (Complex Programmable Logic Device, CPLD), field programmable gate arrays (Field-Programmable Gate Array, FPGA) or other electronic components.

[0052] The robot control method provided by the embodiment of the present application will be described in combination with the exemplary application and implementation of the electronic device provided by the embodiment of the present application. Taking the execution subject as a server as an example, the robot control method of the embodiment of the present application is described, see Figure 3 , Figure 3 is an optional flow chart of the robot control method provided in the embodiment of the present application, which will be combined with Figure 3 Steps 101 to 105 are shown for explanation.

[0053] In step 101 , a Gaussian distribution of the robot control parameters is constructed based on the historical control parameter sequence of the robot in the historical time step.

[0054] In some examples, the principle of model predictive control can be used to use a mathematical model to predict the future behavior of the robot (i.e., a sequence of control parameters). MPC predicts the robot's behavior for a period of time in the future (i.e., a time step) at the current moment, and the time step usually contains multiple moments (each moment corresponds to a control parameter). As time goes by, MPC updates the prediction, that is, it only moves forward one moment at a time and re-predicts at the new current moment. This process of continuously updating the prediction is called "rolling", and the time step is also called "rolling horizon".

[0055] Each control parameter sequence can be expressed by the following formula (1):

[0056] U=[u0,u1,u2,……,u N-1 ] (1)

[0057] Among them, U is the control parameter sequence within the predicted time step of the current moment; u0 is the control parameter at the initial moment (i.e., the first moment) within the predicted time step; u1 is the control parameter at the second moment within the predicted time step; u2 is the control parameter at the third moment within the predicted time step; u N-1 is the control parameter at the Nth moment within the predicted time step, and the time step can range from [0, N).

[0058] Each control parameter (which can be expressed as u k , k is in the range of [0,N)) and can be multi-dimensional, and each control parameter can include at least one sub-parameter. For example, if the robot is a planar robot, u k It can include control parameters such as translation of the x-axis and y-axis and rotation of the z-axis. Each control parameter can also include the joint angle of the robot arm, such as u k It can be the translational velocity, angular velocity, acceleration, angular acceleration, etc. of the x-axis.

[0059] Furthermore, the historical control parameter sequence is the control parameter sequence within the time step corresponding to the previous moment of the current moment, which can be expressed by the following formula (2):

[0060]

[0061] Among them, U t-1 is the historical control parameter sequence; is the control parameter at the initial moment within the time step corresponding to the previous moment; is the control parameter of the second moment within the time step corresponding to the previous moment; is the control parameter of the third moment within the time step corresponding to the previous moment; is the control parameter of the Nth moment within the time step corresponding to the previous moment; the range of the time step is [0, N).

[0062] In some embodiments, see Figure 4 , Figure 4 is a schematic diagram of the implementation process of constructing a Gaussian distribution provided in an embodiment of the present application, Figure 3 The illustrated step 101 can be implemented by following the steps 1011 to 1013, which are described in detail below.

[0063] In step 1011, a preset standard deviation is obtained.

[0064] As an example, the shape of the Gaussian distribution is determined by the standard deviation of the Gaussian distribution. The larger the standard deviation, the more dispersed the Gaussian distribution and the wider the graph; the smaller the standard deviation, the more concentrated the Gaussian distribution and the narrower the graph. The actual value of the preset standard deviation can be set according to the specific actual situation or according to prior knowledge, and the embodiments of the present application do not limit this.

[0065] In step 1012, each historical control parameter in the historical control parameter sequence is determined as an expected value.

[0066] Here, the historical control parameter sequence includes N historical control parameters, where N is an integer greater than 1.

[0067] As an example, the historical control parameter sequence includes N historical control parameters, and each historical control parameter in the historical control parameter sequence can be determined as an expected value. t-1 The N historical control parameters in can be expressed as You can Set to the expected value, thus obtaining N expected values.

[0068] In step 1013, N Gaussian distributions of the robot control parameters are constructed based on the expected value and the preset standard deviation.

[0069] As an example, a Gaussian distribution (also called a normal distribution) can be determined based on an expected value (mean) and a standard deviation, two basic parameters that define the shape and location of a Gaussian distribution. The expected value is the center position of a Gaussian distribution and represents the average value of the data. The standard deviation is a statistic that measures the dispersion of data points around the expected value. It is the square root of the variance, which is the average of the squares of the differences between each data point and the expected value. Given an expected value and a standard deviation, the shape of a Gaussian distribution can be determined. Therefore, after determining N expected values ​​and a preset standard deviation, N Gaussian distributions of the robot control parameters can be constructed. For example, the expected value can be expressed as The preset standard deviation can be expressed as σ, and the Gaussian distribution can be expressed as the following formula (3):

[0070]

[0071] Among them, u k is each control parameter in the control parameter sequence within the time step corresponding to the current moment; is each historical control parameter in the historical control parameter sequence within the time step corresponding to the previous moment; σ is the preset standard deviation.

[0072] Through steps 1011 to 1013, a Gaussian distribution can be constructed by using each historical control parameter in the historical control parameter sequence within the historical time step as the expected value. The properties of the Gaussian distribution determine that most of the sampled values ​​of the sampled control parameter sequence are concentrated near the historical control parameter sequence, which reduces the possibility of the robot control parameters suddenly changing to extreme values ​​that may cause unstable motion, and can ensure the stability of the robot control parameters predicted based on the Gaussian distribution.

[0073] Continue to see Figure 3 , and the description continues with step 101 above.

[0074] In step 102, the Gaussian distribution is randomly sampled to obtain M sampling control parameter sequences.

[0075] Here, M is an integer greater than 1.

[0076] In some embodiments, see Figure 5 , Figure 5 is a schematic diagram of the implementation process of random sampling of Gaussian distribution provided in an embodiment of the present application, Figure 3 The illustrated step 102 may be implemented by following the steps 1021 to 1022, which are described in detail below.

[0077] In step 1021, in each random sampling process, each Gaussian distribution is randomly sampled in turn to obtain N sampling control parameters.

[0078] As an example, in each process of random sampling of Gaussian distribution, it is necessary to perform random sampling on the N Gaussian distributions obtained in step 1013 in sequence to obtain N sampling control parameters. For example, the expression corresponding to the N Gaussian distributions is formula (3), and a random function can be designed to obtain N sampling control parameters u according to formula (3): k (i.e. u0,u1,u2,…,u N-1 ).

[0079] In step 1022, the N sampled control parameters are sorted according to the arrangement order of the historical control parameters corresponding to the Gaussian distribution in the historical control parameter sequence to obtain one sampled control parameter sequence among the M sampled control parameter sequences.

[0080] As an example, the historical control parameter In the historical control parameter sequence U t-1 In the order of moments within the time step (i.e. ), each historical control parameter Correspondingly construct a Gaussian distribution (i.e. ). The sampling control parameter u is obtained by randomly sampling each Gaussian distribution. k , it is also necessary to sort the historical control parameters corresponding to the Gaussian distribution in the historical control parameter sequence, so as to obtain the sampling control parameter sequence (i.e. u0, u1, u2, ..., u N-1 ).

[0081] Repeat steps 1021 to 1022 to perform M random samplings, and M robot sampling control parameter sequences U can be obtained in parallel. i (i.e. U1=[u 1,0 ,u 1,1 ,u 1,2 ,……,u 1,N-1 ],U2=[u 2,0 ,u 2,1 ,u 2,2 ,……,u2, N-1 ],……,U M =[u M,0 ,u M,1 ,u M,2 ,……,u M,N-1 ]).

[0082] Through step 1021 to step 1022, M sampling control parameter sequences can be randomly generated by randomly sampling the Gaussian distribution, and the M sampling control parameter sequences can be used to solve the optimal robot control parameter sequence subsequently, thereby further reducing the computing power for solving the optimal robot control parameter sequence.

[0083] Continue to see Figure 3 , and the description continues with step 102 above.

[0084] In step 103, a pre-constructed cost equation of the robot motion trajectory is called to determine the cost of each of the M sampling control parameter sequences.

[0085] As an example, it is necessary to pre-construct a cost equation for the robot's motion trajectory. When constructing the cost equation for the robot, it is necessary to consider a variety of cost factors, including: motion cost (trajectory tracking cost: used to measure the deviation between the actual trajectory of the robot and the expected trajectory; speed and acceleration cost: used to minimize the change of speed and acceleration to reduce energy consumption and improve motion smoothness), control cost (control input cost: used to measure the size of the control signal to reduce the wear and energy consumption of the actuator; control change cost: used to control the rate of change of the signal to reduce the impact and uncertainty on the system), constraint cost (input constraint cost: used to ensure that the control input is physically feasible, such as not exceeding the maximum torque of the motor; output constraint cost: used to ensure that the robot's behavior meets the constraints, such as not exceeding the maximum speed or acceleration); environmental interaction cost (obstacle avoidance cost: used to ensure that the robot avoids collision with obstacles during movement; terrain adaptation cost: used to ensure the robot's adaptability to terrain changes, such as going up and down slopes, and crossing obstacles); task completion cost (used to ensure that the robot can complete the given task, such as transportation, assembly, inspection, etc.); time cost (used to control the time required to complete the task, which may be directly related to efficiency).

[0086] When constructing a cost equation, the cost factors can be weighted and summed according to actual conditions to form a comprehensive cost function. The weight values ​​in the weighted summation can be set according to the needs and priorities of the specific application scenario.

[0087] In some embodiments, after determining the cost factors of the robot, a cost equation for the robot's motion trajectory can be constructed based on these cost factors. Then, the pre-constructed cost equation can be called, and the M sampling control parameter sequences can be respectively input into the pre-constructed cost equation. After calculation, the cost of each of the M sampling control parameter sequences can be obtained.

[0088] For example, the cost equation can be expressed as the following formula (4):

[0089]

[0090] Among them, J is the cost equation of the robot's motion trajectory; N is the limited prediction time range within the time step; a N The final state cost (such as the error cost with the target position) predicted by the robot physical model for the control parameter sequence; q k is the state operation cost that changes over time; u k is the control parameter that changes with time, where u kIt is multi-dimensional. For a planar robot, it can include translations of the x-axis and y-axis and rotations of the z-axis, as well as the joint angles of the robot arm. R is a positive definite control weight matrix, q k + The sum of the two within a time step represents the control operation cost of the robot within this time step. The control operation cost can include: distance cost from obstacles, speed trajectory lubrication cost, trajectory tracking cost and control sequence constraint cost, etc.

[0091] In the embodiment of the present application, the sampling control parameter sequence U of the M robots is i Input them into formula (4) in sequence to calculate and obtain the cost J of each of the M sampling control parameter sequences. i (i.e. J1, J2, J3, ..., J M ).

[0092] In step 104, a target control parameter sequence is determined based on the cost of each of the M sampled control parameter sequences and the M sampled control parameter sequences.

[0093] In some embodiments, see Figure 6 , Figure 6 is a schematic diagram of an implementation flow of determining a target control parameter sequence provided in an embodiment of the present application, Figure 3 The illustrated step 104 can be implemented by following the steps 1041 to 1042, which are described in detail below.

[0094] In step 1041, based on the cost of each of the M sampling control parameter sequences, the weight coefficients of each of the M sampling control parameter sequences are determined respectively.

[0095] In some embodiments, see Figure 7 , Figure 7 is a schematic diagram of an implementation flow of determining the weight coefficients of M sampling control parameter sequences provided in an embodiment of the present application, Figure 6 The illustrated step 1041 may be implemented by following the steps 10411 to 10412, which are described in detail below.

[0096] In step 10411, the total cost is determined based on the cost of the M sampling control parameter sequences and the preset selection coefficients.

[0097] In some embodiments, the above step 10411 can be implemented by the following technical solution: multiplying the cost of each of the M sampling control parameter sequences by the selection coefficient to obtain M products; and summing the M products to obtain the total cost.

[0098] As an example, the selection coefficient can be determined according to actual conditions. The selection coefficient can characterize the selectivity of the weighted average of the control parameter sequence. For example, the expression of the selection coefficient can be expressed as the following formula (5):

[0099]

[0100] Among them, ω is the selection coefficient; λ is the inverse parameter, which can also represent the selectivity of the weighted average of the control parameter sequence. The smaller the value of the inverse parameter is, the more the parameter sequence with lower cost is selected. It can be selected according to the actual situation, for example, it can be set to 0.3.

[0101] In some embodiments, the cost J of each of the M sampling control parameter sequences can be i Multiply them by the selection coefficients respectively to obtain M products (i.e. ωJ i ), and finally sum the M products to get the total cost. In order to simplify the calculation and improve the efficiency of data analysis, the M products can be firstly subjected to exponential transformation or logarithmic transformation, and then the transformed results are summed to get the total cost. For example, taking the example of first performing exponential transformation on the M products and then summing them to get the total cost, the calculation formula can be expressed as the following formula (6):

[0102]

[0103] Among them, J sum is the total cost; -1 / λ is the selection coefficient; J i is the cost of each of the M sampling control parameter sequences.

[0104] Through the above technical scheme, the total cost can be obtained by using the selection coefficient and the cost of each of the M sampled control parameter sequences, laying the foundation for the subsequent weighted average calculation based on the cost of each of the M sampled control parameter sequences, and a lower-cost control parameter sequence can be selected by setting an appropriate selection coefficient to meet the target requirements of controlling the robot's motion.

[0105] In step 10412, the weight coefficients of the M sampling control parameter sequences are determined according to the costs of the M sampling control parameter sequences and the total cost.

[0106] In some embodiments, the above step 10412 can be implemented by the following technical solution: M products corresponding to M sampling control parameter sequences are divided by the total cost respectively to obtain M division results; and the M division results are determined as the weight coefficients of each of the M sampling control parameter sequences.

[0107] As an example, the M products (i.e., ωJ) corresponding to the M sampling control parameter sequences arei ) are divided by the total cost, and M division results are obtained (i.e. ), and then the M division results are determined as the weight coefficients of the M sampling control parameter sequences. If the M products are first subjected to exponential transformation or logarithmic transformation, and then the transformed results are summed to obtain the total cost, the M products corresponding to the M sampling control parameter sequences (i.e. ), and divided by the total cost, respectively, to obtain M division results (i.e. ), and then the M division results are determined as the weight coefficients of the M sampling control parameter sequences.

[0108] Through the above technical solution, the cost of each of the M sampling control parameter sequences obtained by random sampling can be calculated, so that the cost can be converted into a weight coefficient to facilitate the subsequent integration of the M sampling control parameter sequences to obtain the target control parameter sequence. Using Gaussian distribution sampling to solve the target control parameter sequence is a derivative-free method that can reduce the requirements for computing power.

[0109] Continue to see Figure 6 , and the description continues with step 1041 above.

[0110] In step 1042, a target control parameter sequence is determined based on the weight coefficient and the M sampled control parameter sequences.

[0111] In some embodiments, see Figure 8 , Figure 8 is a schematic diagram of an implementation flow of determining a target control parameter sequence provided in an embodiment of the present application, Figure 6 The illustrated step 1042 may be implemented by following steps 10421 to 10423, which are described in detail below.

[0112] In step 10421, a weighted calculation is performed on the sampling control parameters in each sampling control parameter sequence according to the weight coefficient to obtain M weighted sampling control parameter sequences.

[0113] As an example, for each sampling control parameter sequence, a weight coefficient is weightedly calculated with each sampling control parameter to obtain M weighted sampling control parameter sequences. For example, the sampling control parameter sequence is the first of the M sampling control parameter sequences, and the weight coefficient of the first sampling control parameter sequence is The weight coefficient is weighted with each sampling control parameter, and we get (u 1,0 represents the control parameter corresponding to the initial moment in the first sampling control parameter sequence), which can also be expressed as Repeat the above steps to obtain M weighted sampling control parameter sequences (i.e. I will not go into details here.

[0114] In step 10422, the weighted sampling control parameters of the same order in the M weighted sampling control parameter sequences are summed to obtain N target control parameters.

[0115] As an example, the historical control parameters are arranged in the historical control parameter sequence according to the moment order within the time step. Similarly, the weighted sampling control parameters can also be arranged in the weighted sampling control parameter sequence according to the moment order within the time step. The M weighted sampling control parameters with the same bit sequence in the M weighted sampling control parameter sequences are summed to obtain the target control parameters of the corresponding bit sequence. Each weighted sampling control parameter sequence has N weighted sampling control parameters, and finally N target control parameters are obtained.

[0116] In the following, two weighted sampling control parameter sequences are taken as an example, each of which includes three weighted sampling control parameters ([α1u 1,0 ,α1u 1,1 ,α1u 1,3 ],[α2u 2,0 ,α2u 2,1 ,α2u 2,3 ], α1 is the weight coefficient of the first weighted sampling control parameter sequence, and α2 is the weight coefficient of the second weighted sampling control parameter sequence). The first-order target control parameter is α1u 1,0 +α2u 2,0 , the second-order target control parameter is α1u 1,1 +α2u 2,1 , the third-order target control parameter is α1u 1,3 +α2u 2,3 .

[0117] In step 10423, the N target control parameters are sorted in order to obtain a target control parameter sequence.

[0118] As an example, the N target control parameters can be sorted according to the time sequence of the weighted sampling control parameters within the time step to obtain a target control parameter sequence. Still taking two weighted sampling control parameter sequences, each of which includes three weighted sampling control parameters, as an example, after summing, the first-order target control parameter is α1u 1,0 +α2u 2,0 , the second-order target control parameter is α1u 1,1 +α2u 2,1 , the third-order target control parameter is α1u 1,3 +α2u 2,3. According to the order of the weighted sampling control parameters in the time step, [α1u 1,0 +α2u 2,0 ,α1u 1,1 +α2u 2,1 ,α1u 1,3 +α2u 2,3 ].

[0119] Through steps 10421 to 10423, after converting the respective cost of the M sampling control parameter sequences into weight coefficients, the M sampling control parameter sequences are integrated to obtain the target control parameter sequence, and the optimal control parameter sequence under Gaussian distribution sampling can be obtained, which can meet the target requirements of controlling the robot motion.

[0120] Continue to see Figure 3 , and the description continues with step 104 above.

[0121] In step 105, motion control of the robot is performed based on the target control parameter sequence.

[0122] In some embodiments, see Fig. 9 , Fig. 9 is a schematic diagram of the implementation process of motion control of a robot provided in an embodiment of the present application, Figure 3 The illustrated step 105 may be implemented by following steps 1051 to 1053, which are described in detail below.

[0123] In step 1051, the target control parameter sequence is smoothed to obtain a smoothed control parameter sequence.

[0124] As an example, smoothing the target control parameter sequence can eliminate short-term fluctuations caused by noise or other interference factors, thereby obtaining a more stable target control parameter sequence. Smoothing methods include: sliding average (smoothing data by calculating the average of all values ​​in a given time window), moving median (calculating the median in a given time window), Brooks filter (a very robust smoothing technique that can handle both random noise and trends), etc.

[0125] For example, the target control parameter sequence is u = [1, 3, 2, 5, 2, 4, 6, 3, 5, 2], and the sliding average method is used for smoothing. Assuming the window size (n = 3), the smoothed sequence is y = [3, 3, 3.5, 3.5, 4, 4.5, 4, 4, 3].

[0126] In step 1052, based on the smooth control parameter sequence, a control instruction of the robot at the current moment is generated.

[0127] As an example, the control instructions of the robot at the current moment are generated according to the control parameters in the smooth control parameter sequence. Assume that the smooth control parameter sequence is [u0, u1, u2], where u0 = [0.5, 0.1], u1 = [0.5, 0], and u2 = [0.4, -0.1] (it should be noted that the first smooth control parameter in the smooth control parameter sequence represents the linear velocity of the robot's movement. If the linear velocity is positive, it moves forward, if the linear velocity is negative, it moves backward, and if the linear velocity is zero, it stops; the second smooth control parameter represents the angular velocity of the robot's movement. If the angular velocity is positive, it turns right, if the angular velocity is negative, it turns left, and if the velocity is zero, it does not turn). Then, at the initial moment in the time step, the robot starts to move, u0 = [0.5, 0.1], that is, the linear velocity is 0.5 m / s, turns right, and the angular velocity is 0.1 rad / s. Then, the control instructions that make the robot move forward and turn right can be generated according to the parameter of u0. At the second moment in the time step, u1 = [0.5, 0], that is, the linear velocity is 0.5 m / s, straight ahead, and the angular velocity is 0. Then, the control instructions for the robot to continue to move in a straight line can be generated based on the parameters of u1. At the third moment in the time step, u2 = [0.4, -0.1], that is, the linear velocity is 0.4 m / s, turn left, and the angular velocity is 0.1 rad / s. Then, the control instructions for the robot to move forward and turn left can be generated based on the parameters of u2.

[0128] In step 1053, the robot is motion controlled by control instructions.

[0129] As an example, the motion of the robot can be controlled by the generated control instructions. For example, according to the smooth control parameter sequence [u0,u1,u2], three control instructions are generated. First, the motion of the robot is controlled according to the control instructions corresponding to the initial moment in the time step. For example, the robot is controlled to move forward and turn right with a linear velocity of 0.5m / s and an angular velocity of 0.1rad / s.

[0130] In one implementation, when the time reaches the second moment within the time step, the control instruction corresponding to the second moment can continue to be used to control the robot, and when the time reaches the third moment within the time step, the control instruction corresponding to the third moment can continue to be used to control the robot. Then, repeat the above steps, re-determine the target control parameter sequence, generate the control instructions corresponding to the initial moment, the second moment and the third moment within a new time step, and repeat until the robot reaches the target position. In this way, by determining the control instructions at multiple moments within a time step, and using these control instructions to control the robot in turn, it is possible to calculate the control instructions within a period of time (i.e., within a time step) at one moment. Since the movement speed of the robot is limited, even if multiple control instructions are determined at one time, the control accuracy of the robot will not be reduced. This control method can greatly reduce the amount of data calculation, thereby greatly saving computing resources and improving control efficiency.

[0131] In another implementation, when the time reaches the second moment in the time step, the robot may no longer execute the control instruction corresponding to the second moment in the time step, and needs to repeat the above steps, re-determine the target control parameter sequence, generate the control instruction corresponding to the initial moment in the time step, and repeat the cycle until the robot reaches the target position. In this way, after the robot executes the control instruction corresponding to the initial moment in the time step, since the robot can collect new state information and environmental information, it can use this new information to re-predict (rather than directly continue to use the control instruction of the second moment to control the robot), and can adjust the subsequent movement of the robot according to the actual situation, thereby achieving more accurate and real-time control of the robot.

[0132] Through steps 1051 to 1053, the target control parameter sequence can be smoothed to reduce high-frequency noise and jitter in the target control parameter sequence, so that the robot moves more smoothly according to the control instruction.

[0133] Through the embodiments of the present application, the historical control parameter sequence of the robot within the historical time step can be used to construct the Gaussian distribution of the robot control parameters, and then the Gaussian distribution is randomly sampled to obtain M sampled control parameter sequences. The properties of the Gaussian distribution determine that most of the sampling values ​​of the sampled control parameter sequences are concentrated near the historical control parameter sequence, reducing the possibility of the robot control parameters suddenly changing to extreme values ​​that may cause unstable motion, thereby ensuring the stability of the robot motion; then, the pre-constructed cost equation is called to determine the cost of each of the M sampled control parameter sequences, and then based on the cost and the M sampled control parameter sequences, the target control parameter sequence is determined, and finally based on the target control parameter sequence, the robot is motion controlled. The method of sampling the Gaussian distribution and determining the target control parameter sequence through the sampled control parameter sequence does not require the calculation of derivatives, reduces the computing power for solving the optimal robot control parameter sequence, and improves the efficiency of robot motion control.

[0134] The following is an explanation of an exemplary application of the embodiments of the present application in a practical application scenario.

[0135] The embodiment of the present application utilizes the model predictive control principle and establishes an optimization equation through the prediction information of the robot in the rolling time domain. The optimization equation can be expressed as the following formula (7):

[0136] U=argmin(J) (7)

[0137] Wherein, U is the control parameter sequence of the robot, which can be found in formula (1) and will not be repeated here; J is the cost equation, which can be found in formula (4) and will not be repeated here.

[0138] The related art obtains the optimal control parameter sequence U by solving the optimization equation (7). However, solving the above optimization equation based on the gradient is computationally intensive and requires high computing power for nonlinear systems. The embodiment of the present application uses Gaussian distribution sampling to solve the problem, which is a derivative-free method that can be applied to highly nonlinear and non-convex functions. The following is a detailed description:

[0139] The following is an example of the execution subject being a server to illustrate the method for solving the optimization equation in the embodiment of the present application. Fig.10 , Fig.10 It is a schematic diagram of the flow chart of solving the optimization equation provided in the embodiment of the present application.

[0140] In step 201, a cost equation is established according to the requirements. The implementation of step 201 can refer to step 103, and the formula of the cost equation can refer to formula (4), which will not be repeated here.

[0141] In step 202, a Gaussian distribution is constructed according to the historical control parameter sequence, and a series of sampling trajectories are generated.

[0142] First, each historical control parameter in the historical control parameter sequence of the historical time step is taken as the expected value, and the preset standard deviation is pre-set. The preset standard deviation can be set to 0.4, thereby constructing N Gaussian distributions. Then, by sampling the Gaussian distributions, the sampled control parameter sequences U of the M robots are drawn in parallel. i (i.e. sampling trajectory).

[0143] In step 203, the cost of a series of sampling trajectories is calculated. i Substitute into formula (4) to calculate the cost J of each sampling control parameter sequence i .

[0144] In step 204, the optimal trajectory is calculated according to the cost.

[0145] The cost J of each sampled control parameter sequence i Converted into weight coefficients, the M sampling control parameter sequences are integrated to obtain the optimal trajectory (i.e., the target control parameter sequence). Since the lower the cost, the more the control parameter sequence meets the requirements of the target task, the cost is used as the weight coefficient to integrate the M sampling trajectories into an optimal trajectory. The optimal trajectory can be understood as the optimal trajectory under sampling, but it is not the global optimal one. It can meet the target requirements of motion control. The expression for calculating the target control parameter sequence can be expressed as the following formula (8):

[0146]

[0147] Among them, U opt is the target control parameter sequence; U i is the sampling control parameter sequence of M robots; J i is the cost of M sampling control parameter sequences; λ is the inverse parameter, representing the selectivity of the weighted average of trajectories. The smaller the value, the lower the cost of the control parameter sequence. Generally, λ is set to 0.3.

[0148] In step 205, a filter is used to smooth the optimal trajectory (i.e., smoothing filtering). The optimal trajectory (i.e., the target control parameter sequence) can be smoothed using a Savitzky-Galoy filter (SG) filter. The Savitzky-Golay filter smoothes the signal by using a polynomial fit on the data points and sliding a fixed window on the entire data set. First, a window size is determined, and the value of the window size needs to be a positive odd number, and then the order of the polynomial used to fit the control parameters in the window is determined (the higher the order of the polynomial, the more accurate the fit, but it is also more susceptible to noise), secondly, the window is placed at the beginning of the target control parameter sequence, and the control parameters in the window are polynomially fitted using the selected polynomial order, and the value of the polynomial is calculated using the fitted polynomial, and finally, the control parameters corresponding to the center point of the window are replaced by the value of the polynomial, thereby obtaining the control parameters after smoothing, and then the window is moved to repeat the above steps until the window covers the entire target control parameter sequence, and the target control parameter sequence after smoothing is output.

[0149] Next, an exemplary application of the embodiment of the present application in another practical application scenario will be described.

[0150] Suppose there is an autonomous robot whose task is to carry goods to the storage shelf marked "A" in a crowded warehouse. There are multiple robots working at the same time in the warehouse, and human workers are walking around. The environment is complex and dynamically changing. First, it is necessary to determine the various cost factors for constructing the cost equation: position cost (measures the distance and direction deviation between the robot and the target), dynamic cost (measures the robot's response to dynamic obstacles), distance cost (ensuring that the robot maintains a safe distance from other robots), and accuracy cost (ensuring the accuracy of the robot's posture when it reaches the target). These cost factors are weighted and summed to form a comprehensive cost equation. Then, refer to the implementation of steps 101 to 104 to determine the target control parameter sequence of the autonomous robot, and continue to refer to the implementation of steps 1051 to 1052 to determine the control instructions of the autonomous robot at the current moment. After that, when the autonomous robot completes the control instructions corresponding to the initial moment in the time step and the time reaches the second moment in the time step, the autonomous robot will use its own sensors (such as cameras, laser radars, ultrasonic sensors, etc.) to perceive the surrounding environment (such as the location of the shelf, the location of other robots and staff, and dynamic obstacles, etc.) in real time, and update the corresponding parameters in the cost equation according to the perceived environmental data. Finally, the control instructions corresponding to the initial moment in the time step are regenerated using the updated cost equation, and the cycle is repeated until the autonomous robot reaches the storage shelf marked as "A". As a result, the autonomous robot can respond to environmental changes in real time in a complex dynamic environment and adjust its own motion behavior to adapt to the uncertainty in the environment.

[0151] Through the embodiments of the present application, Gaussian distribution sampling can be used to solve the multi-objective optimization equations established by the model predictive control, avoiding the solution of multi-dimensional optimization problems, improving control efficiency, and smoothing and filtering the output target control parameter sequence, which can guide the robot to move freely in a three-dimensional complex space. The autonomous robot can move safely and stably in a complex dynamic environment, can deal with the uncertainty in the environment while reaching the target posture point, and has the ability to interact with other intelligent bodies to avoid obstacles. At the same time, the computing power requirement is not high, and it can be well deployed on an actual robot.

[0152] The following is a description of an exemplary structure of the robot control device 543 provided in the embodiment of the present application implemented as a software module. In some embodiments, Figure 2 As shown, the software modules stored in the robot control device 543 of the memory 540 may include:

[0153] A construction module 5431 is used to construct a Gaussian distribution of the robot's control parameters based on the robot's historical control parameter sequences within historical time steps; a sampling module 5432 is used to randomly sample the Gaussian distribution to obtain M sampling control parameter sequences, where M is an integer greater than 1; a cost determination module 5433 is used to call a pre-constructed cost equation for the robot's motion trajectory to determine the cost of each of the M sampling control parameter sequences; a parameter sequence determination module 5434 is used to determine a target control parameter sequence based on the cost of each of the M sampling control parameter sequences and the M sampling control parameter sequences; a control module 5435 is used to control the robot's motion based on the target control parameter sequence.

[0154] In some embodiments, construction module 5431 is also used to obtain a preset standard deviation; determine each historical control parameter in the historical control parameter sequence as an expected value, wherein the historical control parameter sequence includes N historical control parameters, and N is an integer greater than 1; based on the expected value and the preset standard deviation, construct N Gaussian distributions of the robot control parameters.

[0155] In some embodiments, the sampling module 5432 is also used to randomly sample each Gaussian distribution in turn during each random sampling process to obtain N sampling control parameters; sort the N sampling control parameters according to the arrangement order of the historical control parameters corresponding to the Gaussian distribution in the historical control parameter sequence to obtain a sampling control parameter sequence in the M sampling control parameter sequences.

[0156] In some embodiments, the parameter sequence determination module 5434 is further used to determine the weight coefficients of the M sampling control parameter sequences based on their respective costs; and determine the target control parameter sequence based on the weight coefficients and the M sampling control parameter sequences.

[0157] In some embodiments, the parameter sequence determination module 5434 is also used to determine the total cost based on the cost of the M sampling control parameter sequences and a preset selection coefficient; and to determine the weight coefficient of each of the M sampling control parameter sequences according to the cost of each of the M sampling control parameter sequences and the total cost.

[0158] In some embodiments, the parameter sequence determination module 5434 is further used to multiply the cost of each of the M sampling control parameter sequences by the selection coefficient to obtain M products; and sum the M products to obtain the total cost.

[0159] In some embodiments, the parameter sequence determination module 5434 is further used to divide the M products corresponding to the M sampling control parameter sequences by the total cost respectively to obtain M division results; and determine the M division results as the weight coefficients of each of the M sampling control parameter sequences.

[0160] In some embodiments, the parameter sequence determination module 5434 is also used to perform weighted calculation on the sampling control parameters in each sampling control parameter sequence according to the weight coefficient to obtain M weighted sampling control parameter sequences; sum the weighted sampling control parameters of the same position in the M weighted sampling control parameter sequences to obtain N target control parameters; and sort the N target control parameters in order of arrangement to obtain a target control parameter sequence.

[0161] In some embodiments, the control module 5435 is also used to smooth the target control parameter sequence to obtain a smoothed control parameter sequence; based on the smoothed control parameter sequence, generate control instructions for the robot at the current moment; and control the robot's motion through the control instructions.

[0162] 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 robot control method described in the embodiment of the present application.

[0163] 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 robot control method provided by the present application embodiment, for example, Figure 3 The robot control method is shown.

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

[0165] 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.

[0166] 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).

[0167] 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.

[0168] In summary, through the embodiments of the present application, the historical control parameter sequence of the robot within the historical time step can be used to construct the Gaussian distribution of the robot control parameters, and then the Gaussian distribution is randomly sampled to obtain M sampled control parameter sequences. The nature of the Gaussian distribution determines that most of the sampled values ​​of the sampled control parameter sequences are concentrated near the historical control parameter sequence, which reduces the possibility of the robot control parameters suddenly changing to extreme values ​​that may cause unstable motion, thereby ensuring the stability of the robot motion; then the pre-constructed cost equation is called to determine the cost of each of the M sampled control parameter sequences, and then based on the cost and the M sampled control parameter sequences, the cost equation is used to determine the cost of each of the M sampled control parameter sequences. The target control parameter sequence is determined, and finally the robot motion is controlled based on the target control parameter sequence. The method of sampling the Gaussian distribution and determining the target control parameter sequence through the sampled control parameter sequence does not need to calculate the derivative, which reduces the computing power of solving the optimal robot control parameter sequence and improves the efficiency of robot motion control. M sampling control parameter sequences can be randomly generated by randomly sampling the Gaussian distribution, and the M sampling control parameter sequences can be used to solve the optimal robot control parameter sequence later, thereby further reducing the computing power of solving the optimal robot control parameter sequence. The selection coefficient and The cost of each of the M sampling control parameter sequences is used to obtain the total cost, which lays the foundation for the subsequent weighted average calculation based on the cost of each of the M sampling control parameter sequences, and the control parameter sequence with lower cost can be selected by setting the appropriate selection coefficient to meet the target requirements of controlling the robot's motion; the cost of each of the M sampling control parameter sequences obtained by random sampling can be calculated, so that the cost can be converted into a weight coefficient, so that the M sampling control parameter sequences can be integrated to obtain the target control parameter sequence, which can reduce the requirements for computing power; after the cost of each of the M sampling control parameter sequences is converted into a weight coefficient, the M sampling control parameter sequences are integrated to obtain the target control parameter sequence, and the optimal control parameter sequence under Gaussian distribution sampling can be obtained, which can meet the target requirements of controlling the robot's motion; the target control parameter sequence can be smoothed to reduce the high-frequency noise and jitter in the target control parameter sequence, so that the robot moves more smoothly according to the control instruction; Gaussian distribution sampling can be used to solve the multi-objective optimization equation established by the model predictive control, avoid solving multi-dimensional optimization problems, improve control efficiency, and smooth the output target control parameter sequence to guide the robot to move freely in a three-dimensional complex space. It enables autonomous robots to move safely and stably in complex dynamic environments, can cope with environmental uncertainties while reaching the target position, and has the ability to interact with other intelligent agents to avoid obstacles. At the same time, it does not require high computing power and can be well deployed on actual robots.

[0169] 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 robot control method, characterized in that: The method comprises: Constructing a Gaussian distribution of the robot control parameters based on a historical control parameter sequence of the robot within a historical time step; Randomly sampling the Gaussian distribution to obtain M sampling control parameter sequences, where M is an integer greater than 1; Calling a pre-constructed cost equation of the robot motion trajectory to determine the cost of each of the M sampling control parameter sequences; Determine a target control parameter sequence based on the cost of each of the M sampled control parameter sequences and the M sampled control parameter sequences; Based on the target control parameter sequence, the robot is motion controlled.

2. The method according to claim 1, characterized in that The constructing the Gaussian distribution of the robot control parameters based on the historical control parameter sequence of the robot in the historical time step includes: Get the preset standard deviation; Determining each historical control parameter in the historical control parameter sequence as an expected value, wherein the historical control parameter sequence includes N historical control parameters, where N is an integer greater than 1; Based on the expected value and the preset standard deviation, N Gaussian distributions of the robot control parameters are constructed.

3. The method according to claim 1, characterized in that The randomly sampling the Gaussian distribution to obtain M sampling control parameter sequences includes: In each random sampling process, each Gaussian distribution is randomly sampled in turn to obtain N sampling control parameters; The N sampled control parameters are sorted according to the arrangement order of the historical control parameters corresponding to the Gaussian distribution in the historical control parameter sequence to obtain one sampled control parameter sequence in the M sampled control parameter sequences.

4. The method according to claim 1, characterized in that: The determining the target control parameter sequence based on the cost of each of the M sampling control parameter sequences and the M sampling control parameter sequences includes: Based on the cost of each of the M sampling control parameter sequences, respectively determine the weight coefficient of each of the M sampling control parameter sequences; Based on the weight coefficients and the M sampling control parameter sequences, a target control parameter sequence is determined.

5. The method according to claim 4, characterized in that The determining, based on the respective costs of the M sampling control parameter sequences, the respective weight coefficients of the M sampling control parameter sequences respectively includes: Determining a total cost based on the cost of the M sampling control parameter sequences and a preset selection coefficient; According to the cost of each of the M sampling control parameter sequences and the total cost, a weight coefficient of each of the M sampling control parameter sequences is determined.

6. The method according to claim 5, characterized in that The determining of the total cost based on the cost of the M sampling control parameter sequences and a preset selection coefficient includes: Multiplying the cost of each of the M sampling control parameter sequences by the selection coefficient to obtain M products; The M products are summed to obtain the total cost.

7. The method according to claim 6, characterized in that The determining, according to the cost of each of the M sampling control parameter sequences and the total cost, a weight coefficient of each of the M sampling control parameter sequences comprises: Dividing the M products corresponding to the M sampling control parameter sequences by the total cost respectively to obtain M division results; The M division results are determined as weight coefficients of the M sampling control parameter sequences.

8. The method according to claim 3, characterized in that The determining of a target control parameter sequence based on the weight coefficient and the M sampling control parameter sequences includes: According to the weight coefficient, weighted calculation is performed on the sampling control parameters in each sampling control parameter sequence to obtain M weighted sampling control parameter sequences; Summing the weighted sampling control parameters of the same bit sequence in the M weighted sampling control parameter sequences to obtain N target control parameters; The N target control parameters are sorted according to the arrangement order to obtain the target control parameter sequence.

9. The method according to any one of claims 1 to 8, characterized in that: The step of controlling the robot's motion based on the target control parameter sequence comprises: Smoothing the target control parameter sequence to obtain a smoothed control parameter sequence; Based on the smooth control parameter sequence, generating a control instruction for the robot at the current moment; The robot is motion controlled by the control instructions.

10. A robot control device, characterized in that: The device comprises: A construction module, for constructing a Gaussian distribution of control parameters of the robot based on a historical control parameter sequence of the robot within a historical time step; A sampling module, used for randomly sampling the Gaussian distribution to obtain M sampling control parameter sequences, where M is an integer greater than 1; A cost determination module, used for calling a pre-built cost equation of the robot motion trajectory to determine the cost of each of the M sampling control parameter sequences; A parameter sequence determination module, configured to determine a target control parameter sequence based on the cost of each of the M sampled control parameter sequences and the M sampled control parameter sequences; A control module is used to perform motion control on the robot based on the target control parameter sequence.

11. An electronic device, characterized in that: The electronic device comprises: A memory for storing computer executable instructions or computer programs; The processor is used to implement the robot control method according to any one of claims 1 to 9 when executing the computer executable instructions or computer programs stored in the memory.

12. 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 robot control method according to any one of claims 1 to 9 is implemented.

13. 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 robot control method according to any one of claims 1 to 9 is implemented.