Robot obstacle avoidance control method and related device

By introducing RMP and geometric dynamic systems into the robot control system, RMP motion strategy mapping tree is built, and the problem that robots find it difficult to avoid dynamic obstacles with high agility and real-time, is solved, and the real-time and dexterity of robots are improved.

WO2025112151A1PCT designated stage expired Publication Date: 2025-06-05UBTECH ROBOTICS CORP LTD

Patent Information

Application Number
PCT/CN2023/142297
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-11-28
Filing Date
2023-12-27
Publication Date
2025-06-05

AI Technical Summary

Technical Problem

The prior art is difficult to avoid dynamic obstacles with high agility and real-time performance when a robot performs a desired job.

Method used

Using the fast iterative solution characteristics of RMP and geometric dynamic system involving velocity information, an RMP motion strategy mapping tree is constructed. Through RMP forward push and pullback operations, the local expected inertia matrix and force are calculated to obtain the expected joint acceleration, and the robot can avoid obstacles.

Benefits of technology

Improves the real-time and agility of robot obstacle avoidance, allowing robots to efficiently avoid dynamic obstacles when performing desired jobs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023142297_05062025_PF_FP_ABST
    Figure CN2023142297_05062025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of robot control. Provided are a robot obstacle avoidance control method and a related device. In the present application, an RMP mapping tree is constructed on the basis of individual actual spatial positions of all obstacles currently present in an operating environment where a target robot is located, such that a root node task of the RMP mapping tree corresponds to a robot joint space, and corresponding leaf node tasks comprise a position motion task and a pose motion task of a robot tail end executing an expected operation, and comprise obstacle avoidance motion tasks of a plurality of robot key parts of the robot tail end respectively performing obstacle avoidance on the obstacles; and then, geometric dynamical systems involving speed information are respectively constructed for various motion tasks, and an expected joint acceleration is solved on the basis of an RMP push-forward operation and an RMP pull-back operation, so as to control the target robot to move, thereby enabling the robot to achieve expected operation execution effects while avoiding dynamic obstacles with high agility and real-time performance.
Need to check novelty before this filing date? Find Prior Art

Description

A robot obstacle avoidance control method and related equipment

[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on November 28, 2023, with application number 202311614707.7 and invention name “A Robot Obstacle Avoidance Control Method and Related Equipment”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of robot control technology, and in particular to a robot obstacle avoidance control method and related equipment. Background Art

[0003] With the continuous advancement of science and technology, robotics is increasingly being used across various industries. This often requires robots to avoid various obstacles within their operating environment while performing their desired tasks. This is to prevent problems such as robot damage caused by collisions with obstacles, or the inability to perform the desired task properly. However, during actual robot operation, obstacles within the robot's operating environment are not necessarily static. New obstacles often appear, or existing obstacles change position, resulting in dynamic obstacles within the robot's operating environment. Therefore, ensuring that robots can avoid dynamic obstacles with high dexterity and real-time performance while performing their desired tasks is a critical technical challenge in the field of robotic control technology. Technical issues

[0004] In view of this, the purpose of the present application is to provide a robot obstacle avoidance control method and apparatus, a robot control device and a readable storage medium, which can utilize the fast iterative solution characteristics of RMP (Riemannian Motion Policies) to ensure that the robot can achieve reactive obstacle avoidance effects for dynamic obstacles in the process of performing desired tasks, thereby improving the real-time performance of robot obstacle avoidance, and by introducing a geometric dynamical system (GDS) involving speed information to perform local motion strategy calculations, thereby utilizing the speed continuity characteristics of the geometric dynamical system to improve the robot's obstacle avoidance dexterity, thereby ensuring that the robot can achieve the desired task execution effect while avoiding dynamic obstacles with high dexterity and high real-time performance. Technical Solutions

[0005] In order to achieve the above objectives, the technical solutions adopted in the embodiments of the present application are as follows:

[0006] In a first aspect, the present application provides a robot obstacle avoidance control method, the method comprising:

[0007] Obtain the actual spatial positions of all obstacles currently existing in the target robot's operating environment;

[0008] Based on the actual spatial positions of all obstacles obtained, a corresponding RMP motion strategy mapping tree is constructed for the target robot, wherein the root node task of the RMP motion strategy mapping tree corresponds to the robot joint space, and the leaf node tasks of the RMP motion strategy mapping tree include the position motion task and the posture motion task of the robot end performing the desired operation, and the obstacle avoidance motion task of multiple key parts of the robot end performing obstacle avoidance for each obstacle;

[0009] Constructing a geometric dynamic system involving velocity information for each of the position motion task, the posture motion task, and each of the obstacle avoidance motion tasks;

[0010] Acquiring actual joint state information of the target robot in a current control cycle, as well as expected position information and expected posture information of a robot end of the target robot in the current control cycle that match the expected task;

[0011] Based on the RMP forward operation, the actual joint state information, the expected position information and the expected posture information are transferred from the root node of the RMP motion strategy mapping tree to the geometric dynamic system of each leaf node task to solve the expected inertia matrix and the expected force, and the local expected inertia matrix and local expected force corresponding to each leaf node task are obtained;

[0012] Based on the RMP pullback operation, the local expected inertia matrix and local expected force of each leaf node task are transferred to the root node to solve the joint acceleration, and the expected joint acceleration of the target robot in the current control cycle is obtained;

[0013] The target robot is controlled to move according to the desired joint acceleration.

[0014] In a second aspect, the present application provides a robot obstacle avoidance control device, the device comprising:

[0015] The obstacle determination module is used to obtain the actual spatial positions of all obstacles currently existing in the operating environment of the target robot;

[0016] An RMP tree construction module is used to construct a corresponding RMP motion strategy mapping tree for the target robot based on the actual spatial positions of all obstacles obtained, wherein the root node task of the RMP motion strategy mapping tree corresponds to the robot joint space, and the leaf node tasks of the RMP motion strategy mapping tree include the position motion task and posture motion task of the robot end performing the desired operation, and the obstacle avoidance motion task of multiple robot key parts of the robot end performing obstacle avoidance for each obstacle;

[0017] A dynamic system construction module, configured to respectively construct a geometric dynamic system involving velocity information for the position motion task, the posture motion task, and each of the obstacle avoidance motion tasks;

[0018] a motion parameter acquisition module, configured to acquire actual joint state information of the target robot in a current control cycle, and expected position information and expected posture information of the robot end of the target robot that match the expected task in the current control cycle;

[0019] A local strategy solving module is used to transfer the actual joint state information, the expected position information and the expected posture information from the root node of the RMP motion strategy mapping tree to the geometric dynamic system of each leaf node task based on the RMP forward operation to solve the expected inertia matrix and the expected force, and obtain the local expected inertia matrix and local expected force corresponding to each leaf node task;

[0020] A global strategy solving module is used to transfer the local expected inertia matrix and local expected force of each leaf node task to the root node based on the RMP pullback operation to solve the joint acceleration, and obtain the expected joint acceleration of the target robot in the current control cycle;

[0021] The obstacle avoidance operation control module is used to control the target robot to move according to the expected joint acceleration.

[0022] In a third aspect, the present application provides a robot control device, comprising a processor and a memory, wherein the memory stores a computer program executable by the processor, and the processor can execute the computer program to implement the robot obstacle avoidance control method described in any one of the aforementioned embodiments.

[0023] In a fourth aspect, the present application provides a readable storage medium having a computer program stored thereon. When the computer program is executed, the robot obstacle avoidance control method described in any one of the aforementioned embodiments is implemented. Beneficial effects

[0024] In this case, the beneficial effects of the embodiments of the present application may include the following:

[0025] This application constructs an RMP motion strategy mapping tree based on the actual spatial positions of all obstacles currently existing in the operating environment of the target robot, so that the root node task of the RMP motion strategy mapping tree corresponds to the robot joint space, and the corresponding leaf node tasks include the position motion task and posture motion task of the robot end performing the desired task, as well as the obstacle avoidance motion task of multiple key robot parts at the robot end to avoid each obstacle respectively. Then, geometric dynamic systems involving speed information are constructed for the aforementioned multiple motion tasks respectively, and based on the RMP forward operation, the actual joint state information of the target robot in the current control cycle, and the expected position information and expected posture information of the robot end of the target robot in the current control cycle that match the expected task are transferred from the root node of the RMP motion strategy mapping tree to the geometric dynamic systems of each leaf node task to solve the expected inertia matrix and the expected force. , obtain the local expected inertia matrix and local expected force of each leaf node task, and then transfer the local expected inertia matrix and local expected force of each leaf node task to the root node based on the RMP pullback operation to solve the joint acceleration, obtain the expected joint acceleration of the target robot in the current control cycle, and control the target robot to move according to the expected joint acceleration, thereby utilizing the fast iterative solution characteristics corresponding to the RMP forward operation and the RMP pullback operation to ensure that the robot can achieve reactive obstacle avoidance effects for dynamic obstacles in the process of performing the expected operation, improve the real-time obstacle avoidance of the robot, and introduce a geometric dynamic system involving velocity information for local motion strategy calculation during the implementation of the RMP forward operation, so as to utilize the velocity continuity characteristics of the geometric dynamic system to improve the robot's obstacle avoidance dexterity, so as to ensure that the robot can achieve the expected operation execution effect while avoiding dynamic obstacles with high dexterity and high real-time performance.

[0026] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, preferred embodiments are given below and described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can be obtained based on these drawings without creative work.

[0028] FIG1 is a schematic diagram of the composition of a robot control device provided in an embodiment of the present application;

[0029] FIG2 is a flow chart of a robot obstacle avoidance control method according to an embodiment of the present application;

[0030] FIG3 is a flow chart of the sub-steps included in step S220 in FIG2 ;

[0031] FIG4 is a schematic diagram of the tree structure of the RMP motion strategy mapping tree provided in an embodiment of the present application;

[0032] FIG5 is a flow chart of the sub-steps included in step S260 in FIG2 ;

[0033] FIG6 is a schematic diagram showing the composition of a robot obstacle avoidance control device provided in an embodiment of the present application.

[0034] Icons: 10-robot control device; 11-memory; 12-processor; 13-communication unit; 100-robot obstacle avoidance control device; 110-obstacle determination module; 120-RMP tree construction module; 130-dynamic system construction module; 140-motion parameter acquisition module; 150-local strategy solution module; 160-global strategy solution module; 170-obstacle avoidance operation control module. Modes for Carrying Out the Invention

[0035] To make the objectives, technical solutions, and advantages of the embodiments of the present application more clear, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the accompanying drawings of the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Generally, the components of the embodiments of the present application described and shown in the drawings herein can be arranged and designed in various different configurations.

[0036] Therefore, the following detailed description of the embodiments of the present application provided in the accompanying drawings is not intended to limit the scope of the present application as claimed, but rather merely represents selected embodiments of the present application. All other embodiments derived by persons of ordinary skill in the art based on the embodiments of the present application without inventive effort are also within the scope of protection of the present application.

[0037] It should be noted that similar reference numerals and letters denote similar items in the following drawings, and therefore, once an item is defined in one drawing, it does not need to be further defined or explained in subsequent drawings.

[0038] In the description of the present application, it should be understood that relational terms such as the terms "first" and "second" are merely used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply the existence of any such actual relationship or order between these entities or operations. Moreover, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that the process, method, article or equipment comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or also include elements inherent to such process, method, article or equipment. In the absence of further restrictions, the elements defined by the statement "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or equipment comprising the elements. For those of ordinary skill in the art, the specific meanings of the above terms in the present application can be understood according to the specific circumstances.

[0039] It should also be noted that, in the description of this application, unless otherwise expressly specified or limited, the terms "disposed," "installed," "connected," and "connected" should be understood in a broad sense. For example, they can refer to fixed connections, detachable connections, or integral connections; they can refer to mechanical connections or electrical connections; they can refer to direct connections or indirect connections through an intermediate medium; and they can refer to internal connections between two components. Those skilled in the art will understand the specific meanings of the above terms in this application based on the specific circumstances.

[0040] Through painstaking research, the applicant discovered that existing methods for controlling robots to avoid obstacles can be roughly divided into the following four types:

[0041] (1) Sampling method: The sampling method determines and expands the collision-free area by randomly sampling in the robot's operating environment. When it is expanded to the target position, a collision-free path is automatically formed. The advantage of this method lies in its completeness. That is, when a collision-free path exists, the sampling method will definitely find it. Therefore, it is suitable for path search in large-scale complex environments. However, this method cannot guarantee the shortest path or continuous speed. At the same time, its solution efficiency is also very random. It is actually suitable for obstacle avoidance effects against static obstacles.

[0042] (2) Optimization method: The optimization method is to establish simple interpolation path points between the starting point and the target point of the movement as a reference, and then use collision-free as the constraint of these interpolation path points to construct a numerical optimization equation for the output of the robot joints and solve it. The advantage of this method is that the optimization equation can be improved according to the task requirements, such as requiring the shortest path or the shortest time, and once the corresponding optimization equation is solved, an ideal collision-free trajectory can be obtained. However, the solution quality and efficiency of the optimization method are inversely correlated, so this method is usually used as an offline static obstacle avoidance planning method.

[0043] (3) Stochastic process method: The stochastic process method can be seen as a combination of sampling and optimization methods, except that the elements of sampling and optimization are Gaussian process parameters that describe continuous trajectories. The advantage of this method is that it has natural speed continuity and can accelerate the optimization process through probabilistic reasoning methods. However, even so, the stochastic process method can only achieve rapid replanning after identifying new obstacles in the environment. Its solution rate is not sufficient to achieve real-time online planning in the face of dynamic obstacles.

[0044] (4) Potential Energy Method: The potential energy method is based on the idea of ​​force field. It treats the moving target point as the source of gravity in the force field and the obstacle as the source of repulsion. Thus, the robot can be guided to avoid obstacles while moving toward the moving target point based on the potential energy superimposed between the gravity source and the repulsion source. The advantage of this method is that the algorithm is simple to implement and the solution is fast. It can avoid dynamic obstacles to a certain extent. The reason why it is said to be to a certain extent is that the potential energy method only considers the position state information of the robot, which makes it easy for this method to get stuck in the local optimum due to insufficient dynamic dexterity. In fact, it is impossible to avoid dynamic obstacles with high dexterity.

[0045] In this case, in order to solve the above problems, the embodiments of the present application provide a robot obstacle avoidance control method and apparatus, a robot control device and a readable storage medium, so as to utilize the rapid iterative solution characteristics of RMP and the speed continuity characteristics of the geometric dynamic system involving speed information, thereby ensuring that the robot can achieve a reactive obstacle avoidance effect for dynamic obstacles in the process of performing the desired operation, improving the real-time and dexterity of the robot's obstacle avoidance, and enabling the robot to avoid dynamic obstacles with high dexterity and real-time performance while achieving the desired operation execution effect.

[0046] The following describes some embodiments of the present application in detail with reference to the accompanying drawings. In the absence of conflict, the following embodiments and features in the embodiments may be combined with each other.

[0047] Please refer to Figure 1, which is a schematic diagram of the composition of the robot control device 10 provided in an embodiment of the present application. In an embodiment of the present application, the robot control device 10 is communicatively connected to the target robot and is used to control the motion state of the target robot so that the target robot can quickly and flexibly avoid dynamic obstacles in the operating environment of the target robot while performing complex operating tasks. Among them, the robot control device 10 can be a computer device independent of the target robot, or it can be a hardware module device integrated with the target robot. Among them, the computer device can be a personal computer, a cloud server, a laptop computer, a tablet computer, etc.; the target robot can be a serial / parallel redundant robot with position control, force control or force-position mixed control, or it can be a redundant robotic arm, a quadruped robot or a humanoid robot used in industries, services, special industries and other fields.

[0048] In an embodiment of the present application, the robot control device 10 may include a memory 11, a processor 12, a communication unit 13, and a robot obstacle avoidance control device 100. The memory 11, the processor 12, and the communication unit 13 are electrically connected to each other, directly or indirectly, to enable data transmission or interaction. For example, the memory 11, the processor 12, and the communication unit 13 may be electrically connected to each other via one or more communication buses or signal lines.

[0049] In the embodiment of the present application, the memory 11 may be, but is not limited to, a random access memory (RAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), etc. The memory 11 is used to store a computer program, and the processor 12 may execute the computer program accordingly after receiving an execution instruction.

[0050] In the embodiment of the present application, the processor 12 may be an integrated circuit chip with signal processing capabilities. The processor 12 may be a general-purpose processor, including at least one of a central processing unit (CPU), a graphics processing unit (GPU), a network processor (NP), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components. The general-purpose processor may be a microprocessor or any conventional processor, etc., which may implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of the present application.

[0051] In an embodiment of the present application, the communication unit 13 is used to establish a communication connection between the robot control device 10 and other electronic devices through a network, and to send and receive data through the network, wherein the network includes a wired communication network and a wireless communication network. For example, the robot control device 10 can obtain the motion trajectory information of the desired operation to be performed by the robot end of the target robot from the operation planning device through the communication unit 13, wherein the motion trajectory information can include the desired position information and desired posture information corresponding to different control cycles of the robot end of the target robot in the process of performing the desired operation; the robot control device 10 can send joint control instructions to the target robot through the communication unit 13 to drive the target robot to move according to the received joint control instructions.

[0052] In an embodiment of the present application, the robot obstacle avoidance control device 100 may include at least one software function module that can be stored in the memory 11 in the form of software or firmware or solidified in the operating system of the robot control device 10. The processor 12 can be used to execute the executable modules stored in the memory 11, such as the software function modules and computer programs included in the robot obstacle avoidance control device 100. The robot control device 10 can use the fast iterative solution characteristics of RMP and the speed continuity characteristics of the geometric dynamic system involving speed information through the robot obstacle avoidance control device 100 to ensure that the robot achieves a reactive obstacle avoidance effect for dynamic obstacles in the process of performing the desired operation, improve the real-time and dexterity of the robot obstacle avoidance, and enable the robot to avoid dynamic obstacles with high dexterity and high real-time performance while achieving the desired operation execution effect.

[0053] It will be appreciated that the block diagram shown in FIG1 is merely a schematic diagram of one embodiment of the robot control device 10. The robot control device 10 may include more or fewer components than shown in FIG1 , or may have a configuration different from that shown in FIG1 . Each component shown in FIG1 may be implemented using hardware, software, or a combination thereof.

[0054] In this application, to ensure that the robot control device 10 can utilize the rapid iterative solution characteristics of RMP and the velocity continuity characteristics of the geometric dynamic system involving velocity information, ensure that the robot achieves a reactive obstacle avoidance effect for dynamic obstacles while performing the desired task, improve the robot's obstacle avoidance real-time performance and dexterity, and enable the robot to avoid dynamic obstacles with high dexterity and real-time performance while achieving the desired task execution effect, the embodiment of this application provides a robot obstacle avoidance control method to achieve the aforementioned purpose. The robot obstacle avoidance control method provided in this application is described in detail below.

[0055] Please refer to Figure 2, which is a flow chart of a robot obstacle avoidance control method provided in an embodiment of the present application. In an embodiment of the present application, the robot obstacle avoidance control method shown in Figure 2 is applied to the robot control device 10 described above, and the robot obstacle avoidance control method may include steps S210 to S270.

[0056] Step S210: Obtain the actual spatial positions of all obstacles currently existing in the operating environment of the target robot.

[0057] At least one obstacle detection device can be installed in the operating environment of the target robot to detect which obstacles currently exist in the operating environment and the actual spatial position of each obstacle in the operating environment at the current moment. The at least one obstacle detection device then sends the detected actual spatial positions of all obstacles in the operating environment to the robot control device 10, so that the robot control device 10 can intuitively determine the changes in the number and position of obstacles in the operating environment of the target robot. The aforementioned obstacle detection device can be, but is not limited to, a laser radar, a camera, an ultrasonic radar, etc. The obstacle detection device can be installed on the target robot, can be set around the target robot, or can be set on the robot control device 10 when the robot control device 10 is placed in the operating environment. The specific number and / or specific setting method of the obstacle detection device can be set differently according to the monitoring requirements of the robot operating environment, and this application does not limit this.

[0058] Step S220: construct a corresponding RMP motion strategy mapping tree for the target robot based on the acquired actual spatial positions of all obstacles.

[0059] In this embodiment, the root node task of the RMP motion strategy mapping tree corresponds to the robot joint space, and the leaf node tasks of the RMP motion strategy mapping tree include the position motion task and posture motion task of the robot end to perform the desired operation, as well as the obstacle avoidance motion task of multiple key robot parts of the robot end to avoid obstacles respectively. Among them, the position motion task is used to represent the motion task of the robot end of the target robot to perform the desired operation at the position dimension level, the posture motion task is used to represent the motion task of the robot end of the target robot to perform the desired operation at the posture dimension level, and the obstacle avoidance motion task is used to represent the motion task of the key robot parts of the target robot to avoid existing obstacles in the operating environment.

[0060] As for RMP (Riemannian motion strategy), its essence is a motion strategy with geometric information described by a second-order differential equation in the Riemannian manifold space. The mathematical canonical form of RMP can be expressed as The mathematical natural form of RMP can be expressed as in, Indicates that the spatial coordinates belong to m-dimensional Riemannian manifold space, a:Ρ m ×Ρ m → m Represents a second-order continuous motion strategy, M:Ρ m ×Ρ m → m×m Represents a differential mapping, f = Ma. When this RMP is applied to robot dynamics, a can be regarded as the desired acceleration, M as the desired inertia matrix, and f as the desired force.

[0061] Therefore, after the robot control device 10 obtains the actual spatial positions of all obstacles actually existing in the operating environment, the robot motion task can be split into multiple motion strategies contained in Riemann spaces of different dimensions such as the robot joint space and the robot task space according to the RMP architecture, so that the split motion strategy in the robot joint space can directly serve as the root node of the RMP motion strategy mapping tree, and the split motion strategy in the robot task space can directly serve as the leaf node of the RMP motion strategy mapping tree. At this time, the root node task of the RMP motion strategy mapping tree is actually used to characterize the global motion task (i.e., the global motion strategy) corresponding to the expected effect of the target robot realizing the robot motion task in the robot joint space, and the leaf node tasks of the RMP motion strategy mapping tree are used to characterize the branch sub-tasks of the target robot realizing the robot motion task in the robot task space. The local motion task (i.e., local motion strategy) of the task, the robot control device 10 can split "driving the target robot to perform the desired task and ensuring that each key part of the target robot avoids various obstacles in the current operating environment" as the robot motion task, thereby obtaining an RMP motion strategy mapping tree including the root node task "global motion task in the robot joint space", the leaf node task "position motion task of the robot end to perform the desired task in the robot task space", the leaf node task "posture change task of the robot end to perform the desired task in the robot task space", the leaf node task "obstacle avoidance motion task of the robot end to avoid various obstacles in the robot task space" and the leaf node task "obstacle avoidance motion task of each key part of the robot except the robot end to avoid various obstacles in the robot task space".

[0062] Optionally, in one implementation of this embodiment, the robot control device 10 can directly use the root node task "the position motion task of the robot end performing the desired operation in the robot task space" as the parent node of each leaf node task to construct the RMP motion strategy mapping tree, so as to use the spatial transformation relationship between the robot joint space corresponding to the root node task and the robot task space corresponding to each leaf node task as the connecting edge between the root node and the corresponding leaf node.

[0063] Alternatively, please refer to Figure 3, which is a flow chart of the sub-steps included in step S220 in Figure 2. In another implementation of this embodiment, in order to ensure that the various local motion strategies involved in the RMP motion strategy mapping tree constructed by this application can be easily transplanted to another robot for use, a stem node that plays a connecting role can be introduced between the root node and each leaf node, and the stem node is only related to the robot kinematic model, without actively adding a motion strategy, so as to disconnect the body association between the local motion strategy corresponding to the leaf node and the target robot. After a leaf node is established, the local motion strategy corresponding to the leaf node can be directly replaced by replacing the stem node task connected to it. It can be easily transplanted to another robot for use. At this time, step S220 can include sub-steps S221 to S225 to construct an RMP motion strategy mapping tree involving desired operations and obstacle avoidance motion with strong motion strategy portability.

[0064] Sub-step S221 decomposes the global motion task of the target robot in the robot joint space to obtain the posture change task of the robot end of the target robot in the posture space, the position change task of the robot end in the position space, and the position change tasks of each key part of the target robot except the robot end in the corresponding position space.

[0065] In this embodiment, the Characterize the target robot in the robot joint space The global motion task, where Used to characterize the state parameters (joint positions, joint velocities) involved in the global motion task, The mathematical natural form of RMP used to characterize the global motion task can be used. Characterize the robot end in posture space The posture change task under Used to characterize the state parameters involved in the posture change task (posture information, posture change speed), The mathematical natural form of RMP used to represent the posture change task is: Can be used Characterize the robot end in position space The position change task under Used to characterize the state parameters involved in the position change task (position information, position change speed), The RMP mathematical natural form used to characterize the position change task is: Can be used Characterize the corresponding position space of l-1 key parts of the robot except the end of the robot The position change task under It is used to characterize the state parameters (position information, position change speed) involved in the position change task of the key part of the i-th robot. The RMP mathematical natural form used to characterize the position change task of the key part of the i-th robot is: At this time, the aforementioned global motion task can be regarded as the common parent node of the aforementioned posture change task and all position change tasks.

[0066] Sub-step S222, decomposing the posture change task of the robot terminal in the posture space into the task space of the robot terminal, and obtaining the posture motion task for the robot terminal to perform the desired operation in the corresponding task space.

[0067] In this embodiment, the Characterize the robot end in the task space The posture motion task of the expected job is performed under Used to characterize the state parameters involved in the posture motion task (posture information, posture change speed), The mathematical natural form of RMP used to characterize the posture motion task is: At this time, the aforementioned posture change task can be regarded as the parent node of the posture movement task.

[0068] Sub-step S223, according to the actual spatial positions of all obstacles, decomposes the position change task of the robot terminal in the position space into the task space of the robot terminal, and obtains the position movement task of the robot terminal to perform the desired operation in the corresponding task space, and the obstacle avoidance movement task of the robot terminal to avoid each obstacle in the corresponding task space.

[0069] In this embodiment, the robot end can be placed in the position space The position change task is decomposed into position space Task spaces of the same dimension Next, we get the robot end in the task space The position motion task of the expected operation is performed under the To characterize, Used to characterize the state parameters involved in the position motion task (position information, position change speed), The mathematical natural form of RMP used to characterize the position motion task is: At this time, the aforementioned position change task can be regarded as the parent node of the position movement task.

[0070] At the same time, the robot end can be placed in the position space The position change task under the robot is decomposed into a one-dimensional manifold task space corresponding to each obstacle, which describes the change of the relative distance between the robot end and the corresponding obstacle. Next, we get the robot end in the task space The robot is in the task space corresponding to the jth obstacle. The obstacle avoidance task to avoid the obstacle can be achieved by To characterize, It is used to characterize the state parameters involved in the obstacle avoidance motion task (the relative distance between the robot end and the j-th obstacle, the relative motion speed between the robot end and the j-th obstacle), It is used to characterize the RMP mathematical natural form corresponding to the obstacle avoidance motion task, and n is used to represent the total number of obstacles in the operating environment. At this time, the aforementioned position change task can be regarded as the parent node of the obstacle avoidance motion task, and the relative distance and relative motion speed between the aforementioned robot end and the j-th obstacle can be obtained based on the actual spatial position of the j-th obstacle.

[0071] In sub-step S224, based on the actual spatial positions of all obstacles, the position change tasks of each key part of the robot except the end of the robot in the corresponding position space are decomposed into the corresponding task space, and the obstacle avoidance movement tasks of each key part of the robot except the end of the robot to avoid each obstacle in the corresponding task space are obtained.

[0072] In this embodiment, for each key part of the robot except the end of the robot, the key part of the robot can be positioned in the corresponding position space. The position change task under the robot is decomposed into a one-dimensional manifold task space corresponding to each obstacle, which describes the change in the relative distance between the key parts of the robot and the corresponding obstacle. Next, we get the key parts of the robot i (i=2,…,l) in the task space The obstacle avoidance task is to avoid the j-th obstacle. At this time, the key part of the i-th robot is in the task space corresponding to the j-th obstacle. The obstacle avoidance task to avoid the obstacle can be achieved by To characterize, It is used to characterize the state parameters involved in the obstacle avoidance motion task (the relative distance between the key part of the i-th robot and the j-th obstacle, the relative motion speed between the key part of the i-th robot and the j-th obstacle), The RMP mathematical natural form used to characterize the obstacle avoidance motion task. In this case, the aforementioned position change task can be regarded as the parent node of the obstacle avoidance motion task. The relative distance and relative motion speed between the aforementioned key part of the i-th robot and the j-th obstacle can be obtained based on the actual spatial position of the j-th obstacle.

[0073] In sub-step S225, according to the spatial transformation relationship between the robot joint space, posture space, position space and task space, a tree structure is constructed for the global motion task, posture change task, all position change tasks, posture motion task, position motion task and all obstacle avoidance motion tasks to obtain the RMP motion strategy mapping tree.

[0074] The spatial transformation relationship among the robot joint space, posture space, position space and task space may include the robot joint space and posture space The spatial transformation relationship between the robot joint space and location space The spatial transformation relationship between them, the posture space and Task Space The spatial transformation relationship between them, the position space and Task Space The spatial transformation relationship between them, and the position space With Task Space The spatial transformation relationship between them.

[0075] At this time, taking the tree structure diagram of the RMP motion strategy mapping tree shown in Figure 4 as an example, the global motion task can be taken as the root node r, the posture change task can be taken as the stem node (i.e., the child node of the root node r) t0, the position change task of the robot end can be taken as the stem node t1, and the position change tasks of the key parts of the robot except the robot end can be taken as the stem nodes t i |(i=2,…,l), the posture motion task of the robot end is taken as the leaf node of the stem node t0 (i.e. the child node of the stem node t0) g o , the position motion task of the robot end is taken as the leaf node g of the stem node t1 p , the obstacle avoidance motion task corresponding to the jth (j=1,…,n) obstacle at the end of the robot is taken as the leaf node of the stem node t1 The obstacle avoidance motion task corresponding to the jth (j=1,…,n) obstacle of the i-th robot key part excluding the robot end is taken as the stem node t corresponding to the i-th robot key part. i Leaf nodes

[0076] The RMP motion strategy mapping tree includes the leaf node task "posture change task for the robot end to avoid various obstacles in the robot task space", the leaf node task "obstacle avoidance motion task for each key part of the robot except the robot end to avoid various obstacles in the robot task space".

[0077] Therefore, the present application can construct an RMP motion strategy mapping tree involving desired operations and obstacle avoidance motions with strong motion strategy portability by executing the above sub-steps S221 to S225.

[0078] In step S230 , a geometric dynamic system involving velocity information is constructed for each of the position motion task, the posture motion task, and each obstacle avoidance motion task.

[0079] In this embodiment, the geometric dynamic system can be regarded as a virtual mechanical system defined on the manifold space, and its system inertia is determined by the configuration and speed of the mechanical body. A single geometric dynamic system can be represented by a mathematical tuple To express, It is used to represent the manifold space where the corresponding geometric dynamic system is located (for example, the task space Task Space and task space At this time, the geometric dynamic system needs to meet the following conditions:

[0080] in, Used to represent the corresponding geometric dynamic system and system state parameters The corresponding geometric metric matrix, Used to represent the corresponding geometric dynamic system and system state parameters The corresponding damping matrix, Φ(x) is used to express the potential energy equation of the corresponding geometric dynamic system, Used to represent the corresponding geometric dynamic system and system state parameters The corresponding first curvature term matrix, Used to represent the corresponding geometric dynamic system and system state parameters The corresponding second curvature term matrix, Used to indicate The submatrix of column i in , It is used to express the partial derivative of the state parameter x. Used to indicate the status parameters Find the partial derivative, It is used to express the gradient of the state parameter x, and m is used to express The total number of matrix columns, state parameters is the differential of the state parameter x, the state parameter is the state parameter The differential of .

[0081] In this case, the state parameters x and state parameters corresponding to the position motion task They are used to represent the position information and position change speed information of the robot end, and the state parameters x and x corresponding to the posture motion task. They are used to represent the posture information and posture change speed information of the robot end, and the state parameters x and y corresponding to the obstacle avoidance motion task. They are used to represent the relative distance information and relative motion speed information between the key parts of the robot including the end of the robot and the corresponding obstacles.

[0082] It can be understood that the geometric dynamic systems corresponding to the above-mentioned position motion tasks, posture motion tasks and various obstacle avoidance motion tasks can be designed according to the robot motion requirements (for example, maintaining balance, maintaining a good configuration, smoothly avoiding obstacle collisions, smoothly reaching the desired position, smoothly reaching the desired posture, jumping to the desired position, jumping to the desired posture, abruptly stopping to avoid obstacle collisions, etc.). This application does not limit the specific design ideas of the geometric dynamic system.

[0083] Optionally, in one implementation of this embodiment, based on the robot motion requirement of smoothly reaching the desired posture, the geometric dynamic system corresponding to the posture motion task can be designed as in The leaf node g is used to represent the manifold space where the posture motion task is located. o The task space where you are located, and The calculation formula is as follows:

[0084] in, Used to represent geometric dynamic systems The geometric metric matrix, I, is used to represent the identity matrix with the same dimension as the robot joint space, w o Used to represent geometric dynamic systems The measurement coefficient of Used to represent geometric dynamic systems The damping matrix, Used to represent geometric dynamic systems The potential energy equation, It is used to represent the desired posture of the robot end, x0 is used to represent the actual posture of the robot end, e is used to represent the vector difference between the actual posture of the robot end and the desired posture, ||e|| is used to represent the modulus of vector e, It is used to express the gradient of vector e. Used to represent the metric w o The upper limit value of Used to represent the metric w o The lower limit value, r p Used to express the proportional gain, r d It is used to represent the speed gain, σ is used to represent the scale parameter, and α is used to represent the smoothness parameter.

[0085] Optionally, in one implementation of this embodiment, based on the robot motion requirement of smoothly reaching the desired position, the geometric dynamic system corresponding to the position motion task can be designed as in The leaf node g is used to represent the manifold space where the position motion task is located. p The task space where you are located, and The calculation formula is as follows:

[0086] in, Used to represent geometric dynamic systems The geometric metric matrix, I, is used to represent the identity matrix with the same dimension as the robot joint space, w p Used to represent geometric dynamic systems The measurement coefficient of Used to represent geometric dynamic systems The damping matrix, Used to represent geometric dynamic systems The potential energy equation, It is used to represent the expected position of the robot end, x1 is used to represent the actual position of the robot end, d is used to represent the vector difference between the actual position and the expected position of the robot end, ||d|| is used to represent the modulus of vector d, It is used to express the gradient of vector d. Used to represent the metric w p The upper limit value of Used to represent the metric w p The lower limit value, r p Used to express the proportional gain, r d It is used to represent the speed gain, σ is used to represent the scale parameter, and α is used to represent the smoothness parameter.

[0087] Optionally, in one implementation of this embodiment, based on the robot motion requirement of smoothly avoiding obstacles, the geometric dynamic system corresponding to the obstacle avoidance motion task of the i-th (i=1,…,l)-th robot key part for the j-th (j=1,…,n)-th obstacle can be designed as in It is used to indicate that the manifold space where the obstacle avoidance task is located is a leaf node The task space where you are located, and The calculation formula is as follows:

[0088] in, Used to represent geometric dynamic systems The geometric metric matrix of Used to represent geometric dynamic systems The damping matrix, Used to represent geometric dynamic systems The potential energy equation, It is used to indicate the relative distance between the key part of the i-th robot and the j-th obstacle. It is used to express the relative motion speed between the key part of the i-th robot and the j-th obstacle. Used to indicate the status parameters Find the gradient, s u Used to indicate the maximum safety distance, s l Used to indicate the minimum safety distance, r p Used to express the proportional gain, r d It is used to represent the speed gain, σ is used to represent the scale parameter, and ε is a small positive number.

[0089] Step S240 , obtaining actual joint state information of the target robot in the current control cycle, and expected position information and expected posture information of the robot end of the target robot that match the expected task in the current control cycle.

[0090] The actual joint state information includes the actual joint position and actual joint velocity of the target robot. The actual joint state information can be directly read from the target robot by the robot control device 10. The expected position information and the expected posture information can be read from the target robot by the robot control device 10, or obtained from the operation planning device by the robot control device 10. This application does not limit the specific method by which the robot control device 10 obtains the expected position information and the expected posture information.

[0091] In step S250, based on the RMP forward operation, the actual joint state information, expected position information and expected posture information are transferred from the root node of the RMP motion strategy mapping tree to the geometric dynamic system of each leaf node task to solve the expected inertia matrix and the expected force, and the local expected inertia matrix and local expected force corresponding to each leaf node task are obtained.

[0092] In this embodiment, for the RMP architecture, the RMP forward operation is essentially a forward transfer operation of the state information flow from the parent node to the child node. And the K child nodes under the parent node There is a spatial transformation relationship between the parent node and the i-th child node Then the aforementioned RMP forward operation can be expressed as:

[0093] in, Used to express the partial derivative of the state parameter x.

[0094] Therefore, the robot control device 10 can be based on the spatial transformation relationship between the root node and each leaf node revealed by the RMP motion strategy mapping tree (including the spatial transformation relationship between the root node and each stem node in Figure 4, and the spatial transformation relationship between each stem node and at least one leaf node corresponding to it), and transmit the above-mentioned actual joint state information, the above-mentioned expected position information and the above-mentioned expected posture information to the geometric dynamic system of each leaf node through the RMP forward operation, and then solve the expected inertia matrix and the expected force for the geometric dynamic system of each leaf node to obtain the local expected inertia matrix and local expected force required for each leaf node to realize its corresponding branch subtask under the action of the above-mentioned actual joint state information, the above-mentioned expected position information and the above-mentioned expected posture information.

[0095] The calculation formulas for the local expected inertia matrix and local expected force corresponding to each geometric dynamic system are expressed as follows:

[0096] in, Used to represent the corresponding geometric dynamic system and system state parameters The corresponding local expected inertia matrix, Used to represent the corresponding geometric dynamic system and system state parameters The corresponding local expected force.

[0097] Therefore, the present application can accurately calculate the local expected inertia matrix and the local expected force of each leaf node task included in the RMP motion strategy mapping tree through the above calculation formula.

[0098] Optionally, in one implementation of this embodiment, when the geometric dynamic system corresponding to the posture motion task is designed as above Then the local expected inertia matrix corresponding to the posture motion task is and the local desired force The actual calculation formula is as follows:

[0099] in, It is used to express the vector change speed between the actual posture and the expected posture of the robot end. Used to indicate the speed of vector change The rate value.

[0100] Optionally, in one implementation of this embodiment, when the geometric dynamic system corresponding to the position motion task is designed as above Then the local expected inertia matrix corresponding to the position motion task is and the local desired force The actual calculation formula is as follows:

[0101] in, It is used to express the vector change speed between the actual position and the expected position of the robot end. Used to indicate the speed of vector change The rate value.

[0102] Optionally, in one implementation of this embodiment, when the geometric dynamic system corresponding to the obstacle avoidance motion task of the i-th (i=1, ..., l)-th robot key part for the j-th (j=1, ..., n) obstacle is designed as above Then the local expected inertia matrix corresponding to the obstacle avoidance motion task is and the local desired force The actual calculation formula is as follows:

[0103] in, Used to indicate the status parameters Find the gradient.

[0104] In step S250 , based on the RMP pullback operation, the local expected inertia matrix and local expected force of each leaf node task are transferred to the root node to solve the joint acceleration, and the expected joint acceleration of the target robot in the current control cycle is obtained.

[0105] In this embodiment, for the RMP architecture, the RMP pull-back operation is essentially a reverse transfer operation of the RMP information flow from the child node to the parent node. And the K child nodes under the parent node There is a spatial transformation relationship between the parent node and the i-th child node and Then the aforementioned RMP pullback operation can be expressed as:

[0106] in, Used to represent J i The differential of .

[0107] Therefore, the robot control device 10 can transfer the local expected inertia matrix and local expected force of each leaf node task to the root node through the RMP pullback operation based on the spatial transformation relationship between the root node and each leaf node revealed by the RMP motion strategy mapping tree (including the spatial transformation relationship between the root node and each stem node in Figure 4, and the spatial transformation relationship between each stem node and at least one leaf node corresponding to it), and obtain the global expected inertia matrix and global expected force of the root node that simultaneously realizes the expected task effect of each leaf node task in the robot joint space, and then solve the joint acceleration for the root node based on the obtained global expected inertia matrix and global expected force, so as to obtain the expected joint acceleration for realizing the expected effect of the global motion strategy corresponding to the robot motion task.

[0108] At this time, please refer to Figure 5, which is a flowchart of the sub-steps included in step S260 in Figure 2. In an embodiment of the present application, step S260 may include sub-steps S261 and S262 to quickly integrate multiple local motion strategies involving dynamic obstacle avoidance functions and desired task execution functions into a global motion strategy, ensuring that the strategy output of the global motion strategy can achieve the robot motion effects of all local motion strategies, and at the same time, through the RMP propagation algorithm (including RMP forward push operation and RMP pull back operation), ensuring the real-time output of the global motion strategy, to ensure that the target robot can achieve a reactive obstacle avoidance effect for dynamic obstacles in the process of performing the desired task.

[0109] In sub-step S261, according to the spatial transformation relationship between the root node and each leaf node in the RMP motion strategy mapping tree, the local expected inertia matrix and local expected force of each leaf node task are transferred to the root node based on the RMP pullback operation to obtain the global expected inertia matrix and global expected force of the root node in the current control cycle.

[0110] Sub-step S262 , calculating the expected joint acceleration of the target robot in the current control cycle according to the global expected inertia matrix and the global expected force.

[0111] In one implementation of this embodiment, after obtaining the global expected inertia matrix and the global expected force corresponding to the root node, the robot control device 10 can calculate the expected joint acceleration corresponding to the global motion strategy of the target robot in the current control cycle based on the conversion relationship between the mathematical canonical form and the mathematical natural form of RMP using the following formula: a=M + f;

[0112] Among them, M + =(M T M) -1 M T , a is used to represent the expected joint acceleration, M + It is used to represent the pseudo-inverse matrix of the global expected inertia matrix M, and f is used to represent the global expected force.

[0113] In another implementation of this embodiment, in order to prevent the robot control device 10 from causing the expected joint acceleration settlement result to be too large when the target robot moves near a singularity, thereby affecting the safety and reliability of the global motion strategy solution process, the above sub-step S262 may include sub-steps a to c:

[0114] Sub-step a: constructing a target acceleration constraint condition for the joint acceleration of the target robot according to the joint limit motion position range and joint acceleration control range of the target robot.

[0115] The target acceleration constraint condition is expressed as follows:

[0116] Among them, q * used to represent the actual joint position included in the actual joint state information, It is used to represent the actual joint speed included in the actual joint state information, Δt is used to represent the cycle length of a single control cycle, q u It is used to indicate the upper limit of the joint position included in the joint limit motion position interval, q l It is used to indicate the lower limit value of the joint position included in the joint extreme motion position interval, It is used to indicate the upper limit value of the joint acceleration included in the joint acceleration control interval, It is used to indicate the lower limit value of the joint acceleration included in the joint acceleration control range, Used to represent the joint acceleration of the target robot.

[0117] Sub-step b: constructing a corresponding acceleration error function for the joint acceleration of the target robot according to the global expected inertia matrix and the global expected force.

[0118] The acceleration error function is expressed as follows:

[0119] Among them, M r Used to represent the global expected inertia matrix, f r Used to represent the global desired force.

[0120] Sub-step c, with the goal of minimizing the actual output size of the acceleration error function, solves the quadratic programming problem for the joint acceleration based on the target acceleration constraint condition to obtain the expected joint acceleration of the target robot in the current control cycle.

[0121] The quadratic programming problem for calculating the desired joint acceleration is expressed as follows:

[0122] Therefore, the present application can avoid the situation where the expected joint acceleration settlement result is too large when the target robot moves to the vicinity of the singular position by executing the above sub-steps a to c, thereby improving the safety and reliability of the global motion strategy solution process.

[0123] Step S270: Control the target robot to move according to the desired joint acceleration.

[0124] In this embodiment, after the robot control device 10 obtains the expected joint acceleration of the target robot in the current control cycle that matches the global motion strategy, it can calculate the expected joint state information of the target robot in the current control cycle (including the expected joint position and expected joint acceleration of the target robot in the current control cycle) based on the actual joint state information of the target robot in the current control cycle and the expected joint acceleration, and then control the actual joint state information of the target robot in the robot joint space according to the obtained expected joint state information, so as to ensure that the target robot can achieve a reactive obstacle avoidance effect for dynamic obstacles in the process of performing the expected operation, so as to ensure that the target robot can avoid dynamic obstacles with high dexterity and high real-time performance while achieving the expected operation execution effect.

[0125] Therefore, the present application can execute the above steps S220 to S270, and utilize the fast iterative solution characteristics corresponding to the RMP push operation and the RMP pull back operation to ensure that the target robot can achieve a reactive obstacle avoidance effect for dynamic obstacles in the process of performing the desired operation, thereby improving the real-time performance of the robot's obstacle avoidance, and introduce a geometric dynamic system involving speed information to perform local motion strategy calculations during the implementation of the RMP push operation, so as to utilize the speed continuity characteristics of the geometric dynamic system to improve the robot's obstacle avoidance agility, thereby ensuring that the target robot can achieve the desired operation execution effect while avoiding dynamic obstacles with high agility and high real-time performance.

[0126] In this application, to ensure that the robot control device 10 can effectively execute the aforementioned robot obstacle avoidance control method, this application implements the aforementioned functions by dividing the robot obstacle avoidance control device 100 stored in the robot control device 10 into functional modules. The specific components of the robot obstacle avoidance control device 100 provided in this application and applied to the aforementioned robot control device 10 are described below.

[0127] Please refer to Figure 6, which is a schematic diagram of the components of a robot obstacle avoidance control device 100 provided in an embodiment of the present application. In this embodiment of the present application, the robot obstacle avoidance control device 100 may include an obstacle determination module 110, an RMP tree construction module 120, a dynamic system construction module 130, a motion parameter acquisition module 140, a local strategy solution module 150, a global strategy solution module 160, and an obstacle avoidance operation control module 170.

[0128] The obstacle determination module 110 is used to obtain the actual spatial positions of all obstacles currently existing in the operating environment of the target robot.

[0129] The RMP tree construction module 120 is used to construct a corresponding RMP motion strategy mapping tree for the target robot based on the actual spatial positions of all obstacles obtained, wherein the root node task of the RMP motion strategy mapping tree corresponds to the robot joint space, and the leaf node tasks of the RMP motion strategy mapping tree include the position motion task and posture motion task of the robot end to perform the desired operation, as well as the obstacle avoidance motion task of multiple key parts of the robot at the robot end to avoid each obstacle respectively.

[0130] The dynamic system construction module 130 is used to construct geometric dynamic systems involving velocity information for position motion tasks, posture motion tasks, and various obstacle avoidance motion tasks.

[0131] The motion parameter acquisition module 140 is used to obtain the actual joint state information of the target robot in the current control cycle, as well as the expected position information and expected posture information of the robot end of the target robot in the current control cycle that match the expected task.

[0132] The local strategy solving module 150 is used to transfer the actual joint state information, expected position information and expected posture information from the root node of the RMP motion strategy mapping tree to the geometric dynamic system of each leaf node task based on the RMP forward operation to solve the expected inertia matrix and the expected force, and obtain the local expected inertia matrix and local expected force corresponding to each leaf node task.

[0133] The global strategy solving module 160 is used to transfer the local expected inertia matrix and local expected force of each leaf node task to the root node based on the RMP pullback operation to solve the joint acceleration, and obtain the expected joint acceleration of the target robot in the current control cycle.

[0134] The obstacle avoidance control module 170 is used to control the target robot to move according to the desired joint acceleration.

[0135] It should be noted that the basic principles and technical effects of the robot obstacle avoidance control device 100 provided in the embodiment of the present application are the same as those of the aforementioned robot obstacle avoidance control method. For the sake of brevity, any details not mentioned in this embodiment can be referred to the description of the aforementioned robot obstacle avoidance control method.

[0136] In the embodiments provided in this application, it should be understood that the disclosed devices and methods can also be implemented in other ways. The device embodiments described above are merely schematic. For example, the flowcharts and block diagrams in the accompanying drawings show the possible architectures, functions and operations of the devices, methods and computer program products according to the embodiments of the present application. In this regard, each box in the flowchart or block diagram can represent a module, a program segment or a part of the code, and the module, program segment or a part of the code contains one or more executable instructions for implementing the specified logical functions. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of boxes in the block diagram and / or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or action, or can be implemented using a combination of dedicated hardware and computer instructions.

[0137] In addition, the functional modules in each embodiment of the present application can be integrated together to form an independent part, or each module can exist separately, or two or more modules can be integrated to form an independent part. If the various functions provided by the present application are implemented in the form of software functional modules and sold or used as independent products, they can be stored in a storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a readable storage medium, including several instructions for making a computer device (which can be a personal computer, server, robot, or network device, etc.) perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned readable storage medium includes various media that can store program code, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0138] The above are merely various embodiments of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.

Claims

1. A method for robot obstacle avoidance control, characterized in that, the method includes: acquiring the actual spatial positions of all the obstacles currently existing in the operating environment where the target robot is located; constructing a corresponding RMP motion strategy mapping tree for the target robot according to the actual spatial positions of all the obstacles obtained, wherein the root node task of the RMP motion strategy mapping tree corresponds to the robot joint space, and the leaf node tasks of the RMP motion strategy mapping tree include the position motion task and the attitude motion task for the robot end effector to execute the desired operation, and the obstacle avoidance motion tasks for multiple key robot parts including the robot end effector to avoid obstacles respectively for each obstacle; constructing geometric dynamic systems involving velocity information for the position motion task, the attitude motion task and each of the obstacle avoidance motion tasks respectively; acquiring the actual joint state information of the target robot in the current control cycle, and the desired position information and the desired attitude information matching the desired operation of the robot end effector of the target robot in the current control cycle; based on the RMP forward operation, transmitting the actual joint state information, the desired position information and the desired attitude information from the root node of the RMP motion strategy mapping tree to the geometric dynamic systems of each leaf node task to solve the desired inertia matrix and the desired acting force, and obtaining the local desired inertia matrix and the local desired acting force corresponding to each leaf node task respectively; based on the RMP pull-back operation, transmitting the local desired inertia matrix and the local desired acting force of each leaf node task to the root node to solve the joint acceleration, and obtaining the desired joint acceleration of the target robot in the current control cycle; controlling the target robot to move according to the desired joint acceleration.

2. The method according to claim 1, characterized in that, the step of constructing a corresponding RMP motion strategy mapping tree for the target robot according to the actual spatial positions of all the obstacles obtained includes: decomposing the global motion task of the target robot in the robot joint space to obtain the attitude change task of the robot end effector of the target robot in the attitude space, the position change task of the robot end effector of the target robot in the position space, and the position change tasks of each key robot part of the target robot except the robot end effector in the corresponding position space; decomposing the attitude change task of the robot end effector in the attitude space to the task space of the robot end effector to obtain the attitude motion task for the robot end effector to execute the desired operation in the corresponding task space; according to the actual spatial positions of all the obstacles, decomposing the position change task of the robot end effector in the position space to the task space of the robot end effector to obtain the position motion task for the robot end effector to execute the desired operation in the corresponding task space, and the obstacle avoidance motion tasks for the robot end effector to avoid obstacles respectively for each obstacle in the corresponding task space; According to the actual spatial positions of all obstacles, the position change tasks of each key part of the robot except the robot end in the corresponding position space are disassembled into the corresponding task space, and the obstacle avoidance motion tasks for each key part of the robot except the robot end to avoid obstacles for each obstacle in the corresponding task space are obtained; According to the spatial transformation relationships among the robot joint space, attitude space, position space, and task space, a tree structure is constructed for the global motion task, the attitude change task, all position change tasks, the attitude motion task, the position motion task, and all obstacle avoidance motion tasks to obtain the RMP motion strategy mapping tree.

3. The method according to claim 1, characterized in that, The geometric dynamic systems of the position motion task, the attitude motion task, and each of the obstacle avoidance motion tasks all satisfy the following conditions: Among them, For representing the system state parameters corresponding to a geometric dynamic system The corresponding geometric measurement matrix, For representing system state parameters corresponding to a geometric dynamic system The corresponding damping matrix, and Φ(x) is used to represent the potential energy equation of the corresponding geometric dynamic system. For representing the system state parameters corresponding to a geometric dynamic system The corresponding first curvature term matrix, For representing the system state parameters corresponding to a geometric dynamic system The corresponding second curvature term matrix, For representing The sub-matrix of the i-th column in Used to represent the partial derivative with respect to the state parameter x, For representing state parameters Find the partial derivative, Used to represent the gradient with respect to the state parameter x, and m is used to represent Total number of columns of the matrix, status parameter is the differential of the state parameter x, the state parameter is a status parameter the differential of; During this process, the state parameter x corresponding to the position movement task and the state parameter respectively used to represent the position information and the position change speed information of the end of the robot, and the state parameter x corresponding to the attitude motion task and the state parameter respectively used to represent the pose information and the pose change speed information of the end of the robot, the state parameter x corresponding to the obstacle avoidance motion task, and the state parameter are respectively used to represent the relative distance information and relative motion speed information between the key part of the robot and the corresponding obstacle.

4. The method according to claim 3, characterized in that, The calculation formulas for the local expected inertia matrix and the local expected acting force corresponding to each geometric dynamic system are expressed by the following equations: Among them, Used to represent the system state parameters corresponding to the geometric dynamic system The corresponding local expected inertia matrix, For representing a system state parameter corresponding to a geometric dynamic system the corresponding local desired force.

5. The method according to any one of claims 1-4, characterized in that, the step of using the RMP pull-back operation to transfer the desired inertia matrix and desired force of each leaf node task to the root node for solving the joint acceleration, and obtaining the desired joint acceleration of the target robot in the current control cycle includes: According to the spatial transformation relationship between the root node and each leaf node in the RMP motion strategy mapping tree, based on the RMP pull-back operation, transfer the local desired inertia matrix and local desired force of each leaf node task to the root node, and obtain the global desired inertia matrix and global desired force of the root node in the current control cycle; According to the global desired inertia matrix and the global desired force, calculate the desired joint acceleration of the target robot in the current control cycle.

6. The method according to claim 5, characterized in that, the step of calculating the desired joint acceleration of the target robot in the current control cycle according to the global desired inertia matrix and the global desired force includes: According to the joint limit motion position interval and joint acceleration regulation interval of the target robot, construct a target acceleration constraint condition for the joint acceleration of the target robot; According to the global desired inertia matrix and the global desired force, construct a corresponding acceleration error function for the joint acceleration of the target robot; With the aim of minimizing the actual output magnitude of the acceleration error function, solve the quadratic programming problem for the joint acceleration based on the target acceleration constraint condition to obtain the desired joint acceleration of the target robot in the current control cycle.

7. The method according to claim 6, characterized in that, The target acceleration constraint condition is expressed by the following formula: where q * is used to represent the actual joint position included in the actual joint state information, Δt is used to represent the cycle duration of a single control cycle, and q is used to represent the actual joint speed included in the actual joint state information u q is used to represent the upper limit value of the joint position included in the joint limit motion position interval l is used to represent the lower limit value of the joint position included in the joint limit motion position interval Used to represent the upper limit value of the joint acceleration included in the joint acceleration regulation range, For representing the lower limit value of the joint acceleration included in the joint acceleration regulation interval, is used to represent the joint acceleration of the target robot; The acceleration error function is expressed by the following formula: Among them, M r is used to represent the global desired inertia matrix, and f r is used to represent the global desired acting force; At this time, the quadratic programming problem expression for calculating the desired joint acceleration is represented by the following formula:

8. A robot obstacle avoidance control device, characterized in that, the device includes: An obstacle determination module, configured to obtain the actual spatial positions of all obstacles currently existing in the operating environment where the target robot is located; The RMP tree construction module is used to construct a corresponding RMP motion strategy mapping tree for the target robot according to the actual spatial positions of all the obtained obstacles. The root node task of the RMP motion strategy mapping tree corresponds to the robot joint space. The leaf node tasks of the RMP motion strategy mapping tree include the position motion task and the attitude motion task for the robot end effector to perform the desired operation, and the obstacle avoidance motion tasks for multiple key parts of the robot end effector to avoid obstacles for each obstacle respectively. The dynamic system construction module is used to construct geometric dynamic systems involving velocity information for the position motion task, the attitude motion task, and each of the obstacle avoidance motion tasks respectively. The motion parameter acquisition module is used to acquire the actual joint state information of the target robot in the current control cycle, and the desired position information and desired attitude information of the robot end effector of the target robot that match the desired operation in the current control cycle. The local strategy solving module is used to transfer the actual joint state information, the desired position information, and the desired attitude information from the root node of the RMP motion strategy mapping tree to the geometric dynamic systems of each leaf node task through RMP forward operation to solve the desired inertia matrix and the desired acting force, and obtain the local desired inertia matrix and the local desired acting force corresponding to each leaf node task respectively. The global strategy solving module is used to transfer the local desired inertia matrix and the local desired acting force of each leaf node task to the root node through RMP backward operation to solve the joint acceleration, and obtain the desired joint acceleration of the target robot in the current control cycle. The obstacle avoidance operation control module is used to control the movement of the target robot according to the desired joint acceleration.

9. A robot control device, characterized in that, it includes a processor and a memory. The memory stores a computer program executable by the processor, and the processor can execute the computer program to implement the robot obstacle avoidance control method according to any one of claims 1-7.

10. A readable storage medium, on which a computer program is stored, characterized in that, when the computer program is run, it implements the robot obstacle avoidance control method according to any one of claims 1-7.

Citation Information

Patent Citations

  • Robot obstacle avoidance control method and device, terminal equipment and storage medium

    CN114227686A

  • Method and system for controlling position and posture of surgical robot and combining obstacle avoidance joint limit

    CN115179297A

  • Robot motion strategy generation method based on Riemannian motion strategy

    CN115972196A

  • Robot motion control method and device, robot control equipment and storage medium

    CN116372923A

  • Method for controlling a robot and robot controller

    US20210122037A1

Cited By

  • Robot obstacle avoidance trajectory planning method, robot control method and related equipment

    CN120779965A

  • Cleaning robot work task scheduling method and system

    CN120911908A

  • Artificial intelligence autonomous navigation and path planning control system based on edge calculation

    CN121764122A