[go: up one dir, main page]

WO2025112151A1 - Robot obstacle avoidance control method and related device - Google Patents

Robot obstacle avoidance control method and related device Download PDF

Info

Publication number
WO2025112151A1
WO2025112151A1 PCT/CN2023/142297 CN2023142297W WO2025112151A1 WO 2025112151 A1 WO2025112151 A1 WO 2025112151A1 CN 2023142297 W CN2023142297 W CN 2023142297W WO 2025112151 A1 WO2025112151 A1 WO 2025112151A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
task
expected
motion
joint
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/CN2023/142297
Other languages
French (fr)
Chinese (zh)
Inventor
罗璇
陈春玉
谭欢
熊友军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ubtech Robotics Corp
Original Assignee
Ubtech Robotics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ubtech Robotics Corp filed Critical Ubtech Robotics Corp
Publication of WO2025112151A1 publication Critical patent/WO2025112151A1/en
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/242Means based on the reflection of waves generated by the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/247Arrangements for determining position or orientation using signals provided by artificial sources external to the vehicle, e.g. navigation beacons
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/40Control within particular dimensions
    • G05D1/43Control of position or course in two dimensions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/644Optimisation of travel parameters, e.g. of energy consumption, journey time or distance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/648Performing a task within a working area or space, e.g. cleaning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2109/00Types of controlled vehicles
    • G05D2109/10Land vehicles
    • G05D2109/12Land vehicles with legs

Definitions

  • the present application relates to the field of robot control technology, and in particular to a robot obstacle avoidance control method and related equipment.
  • Robots are often required to avoid various obstacles in the robot's operating environment during the execution of the desired operation, so as to avoid robot damage caused by obstacles colliding with the robot, and the expected operation cannot be performed normally.
  • the various obstacles in the robot's operating environment are not necessarily static obstacles.
  • new obstacles will appear or the position of existing obstacles will change, which will lead to dynamic obstacles in the robot's operating environment. Therefore, how to ensure that the robot can avoid dynamic obstacles with high dexterity and high real-time performance during the execution of the expected operation is an important technical issue in the field of robot control technology today.
  • 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 while performing desired tasks, thereby improving the real-time performance of robot obstacle avoidance, and by introducing a geometric dynamic system (GDS) involving speed information to perform local motion strategy calculations, thereby utilizing the speed continuity characteristics of the geometric dynamic 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.
  • RMP Riemannian Motion Policies
  • the present application provides a robot obstacle avoidance control method, the method comprising:
  • 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 posture motion task of the robot end to perform the desired operation, and the obstacle avoidance motion task of multiple robot key parts at the robot end to avoid each obstacle respectively;
  • 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 the local expected force corresponding to each leaf node task are obtained;
  • the local expected inertia matrix and the local expected force of each leaf node task are transferred to the root node to solve the joint acceleration, so as to obtain the expected joint acceleration of the target robot in the current control cycle;
  • the target robot is controlled to move according to the expected joint acceleration.
  • the present application provides a robot obstacle avoidance control device, the device comprising:
  • 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;
  • An 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 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, and the obstacle avoidance motion task of multiple robot key parts at the robot end to avoid each obstacle respectively;
  • a dynamic system construction module used 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;
  • a motion parameter acquisition module used to acquire 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;
  • 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 to solve the expected inertia matrix and the expected force based on the RMP forward operation, so as to obtain the local expected inertia matrix and the local expected force corresponding to each leaf node task;
  • a global strategy solving module is used to transfer the local expected inertia matrix and the local expected force of each leaf node task to the root node to solve the joint acceleration based on the RMP pullback operation, so as to obtain the expected joint acceleration of the target robot in the current control cycle;
  • the obstacle avoidance operation control module is used to control the target robot to move according to the expected joint acceleration.
  • 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.
  • the present application provides a readable storage medium having a computer program stored thereon, and when the computer program is executed, the robot obstacle avoidance control method described in any one of the aforementioned embodiments is implemented.
  • the beneficial effects of the embodiments of the present application may include the following:
  • the present application constructs an RMP motion strategy mapping tree according to the actual spatial positions of all obstacles currently existing in the operating environment where the target robot is located, 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 terminal to perform the expected operation, as well as the obstacle avoidance motion task of multiple key parts of the robot terminal to avoid each obstacle respectively.
  • 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 terminal of the target robot that match the expected operation in the current control cycle 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.
  • the local expected inertia matrix and local expected force of each leaf node task are obtained, and then 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 for joint acceleration solution, and the expected joint acceleration of the target robot in the current control cycle is obtained, and the target robot is controlled to move according to the expected joint acceleration, so as to utilize the fast iterative solution characteristics corresponding to the RMP push forward operation and the RMP pullback operation to ensure that the robot can achieve reactive obstacle avoidance effect 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 speed information in the implementation process of the RMP push forward operation to calculate the local motion strategy, so as to utilize the speed 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.
  • FIG1 is a schematic diagram of the composition of a robot control device provided in an embodiment of the present application.
  • FIG2 is a schematic diagram of a flow chart of a robot obstacle avoidance control method provided in an embodiment of the present application
  • FIG3 is a schematic flow chart of the sub-steps included in step S220 in FIG2 ;
  • FIG4 is a schematic diagram of a tree structure of an RMP motion strategy mapping tree provided in an embodiment of the present application.
  • FIG5 is a schematic flow chart of the sub-steps included in step S260 in FIG2 ;
  • FIG6 is a schematic diagram of the composition of a robot obstacle avoidance control device provided in an embodiment of the present application.
  • 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.
  • the terms “set”, “install”, “connect”, and “connect” should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be indirectly connected through an intermediate medium, or it can be the internal communication of two elements.
  • the specific meanings of the above terms in this application can be understood according to specific circumstances.
  • 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 can definitely find it. Therefore, it is suitable for path search in a large range of complex environments.
  • this method cannot guarantee that the generated path is the shortest or the speed is continuous. At the same time, its solution efficiency is also very random. It is actually suitable for obstacle avoidance effects against static obstacles.
  • optimization method is to establish simple interpolation path points between the starting point and the target point as references, and then use collision-free as the constraint of these interpolation path points to construct numerical optimization equations about the output of the robot joints for solution.
  • 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.
  • 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.
  • 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.
  • the stochastic process method can only perform rapid replanning after identifying new obstacles in the environment, and its solution rate is not sufficient to achieve real-time online planning in the face of dynamic obstacles.
  • the potential energy law is based on the idea of force field. It regards the moving target point as the source of gravity in the force field and the obstacle as the source of repulsion. Therefore, 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, and it is actually impossible to avoid dynamic obstacles with high dexterity.
  • 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 fast iterative solution characteristics of RMP and the speed continuity characteristics of the geometric dynamic system involving speed information, so as to ensure that the robot can achieve 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's 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.
  • Figure 1 is a schematic diagram of the composition of the robot control device 10 provided in the embodiment of the present application.
  • the robot control device 10 is connected to the target robot in communication, 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 operation tasks.
  • 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.
  • 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 configuration 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.
  • 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 achieve data transmission or interaction.
  • 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.
  • the memory 11 may be, but 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 read-only memory (EEPROM), etc.
  • RAM random access memory
  • ROM read-only memory
  • PROM programmable read-only memory
  • EPROM erasable programmable read-only memory
  • EEPROM electrically erasable read-only memory
  • the processor 12 may be an integrated circuit chip with signal processing capability.
  • the processor 12 may be a general-purpose processor, including 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 at least one of other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components.
  • the general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc., which may implement or execute the disclosed methods, steps, and logic block diagrams in the 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.
  • 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, desired posture information, etc. 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.
  • 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 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.
  • FIG1 is only a schematic diagram of a composition of the robot control device 10, and the robot control device 10 may also include more or fewer components than those shown in FIG1, or have a configuration different from that shown in FIG1.
  • Each component shown in FIG1 may be implemented by hardware, software, or a combination thereof.
  • the present application in order to ensure that the robot control device 10 can utilize the fast iterative solution characteristics of RMP and the speed continuity characteristics of the geometric dynamic system involving speed information, ensure that the robot achieves a reactive obstacle avoidance effect for dynamic obstacles in the process of performing the desired operation, improve the robot's obstacle avoidance real-time performance and the robot's obstacle avoidance dexterity, and enable the robot to avoid dynamic obstacles with high dexterity and high real-time performance while achieving the desired operation execution effect, the present application embodiment provides a robot obstacle avoidance control method to achieve the above-mentioned purpose.
  • the robot obstacle avoidance control method provided by the present application is described in detail below.
  • Figure 2 is a flow chart of a robot obstacle avoidance control method provided in an embodiment of the present application.
  • the robot obstacle avoidance control method shown in Figure 2 is applied to the above-mentioned robot control device 10, and the robot obstacle avoidance control method may include steps S210 to S270.
  • Step S210 obtaining the actual spatial positions of all obstacles currently existing in the operating environment of the target robot.
  • At least one obstacle detection device can be installed in the operating environment where the target robot is located, so as to detect which obstacles currently exist in the operating environment and the actual spatial position of each obstacle currently existing in the operating environment at the current moment through the at least one obstacle detection device, and then the at least one obstacle detection device sends the detected actual spatial position 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 of obstacles and the changes in the positions of obstacles in the operating environment where the target robot is located.
  • 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, or can be set around the target robot, or can be placed in the operating environment after the robot control device 10 is placed. In the domestic case, the corresponding obstacle detection device is set on the robot control device 10.
  • the specific number and/or specific setting method of the obstacle detection device can be set differently according to the robot operating environment monitoring requirements, and this application does not limit this.
  • Step S220 construct a corresponding RMP motion strategy mapping tree for the target robot according to the acquired actual spatial positions of all 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 posture motion task of the robot end to perform the desired operation, and the obstacle avoidance motion task of multiple robot key parts of the robot end to avoid obstacles respectively.
  • the position motion task is used to characterize 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 characterize the motion task of the robot end of the target robot to perform the desired operation at the posture dimension level
  • the obstacle avoidance motion task is used to characterize the motion task of the robot key parts of the target robot to avoid existing obstacles in the operating environment.
  • RMP Riemannian motion strategy
  • a can be regarded as the expected acceleration
  • M the expected inertia matrix
  • f the expected force.
  • the robot motion task can be split into multiple motion strategies contained in different dimensional Riemann spaces 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.
  • 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 service thereby the robot control device 10 can be split by "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 terminal to perform the desired task in the robot task space", the leaf node task “posture change task of the robot terminal to perform the desired task in the robot task space", the leaf node task "obstacle avoidance motion task of the robot terminal 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 terminal to avoid various obstacles in the robot task space”.
  • the robot control device 10 may directly use the root node task "the position motion task of the robot end to perform 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.
  • FIG3 is a flowchart of the sub-steps included in step S220 in FIG2 .
  • 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 motion strategies, so as to disconnect the body association between the local motion strategy corresponding to the leaf node and the target robot, so that after a leaf node is established, it can be directly replaced by replacing the stem node task connected to it.
  • the step S220 may include sub-steps S221 to S225 to construct an RMP motion strategy mapping tree involving desired operations and obstacle avoidance motions with strong portability of motion strategies.
  • 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.
  • the Characterize the target robot in the robot joint space The global motion task is Used to characterize the state parameters (joint position, joint velocity) 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 It is used to characterize the state parameters (posture information, posture change speed) involved in the posture change task.
  • the mathematical natural form of RMP used to characterize the posture change task is: Can be used Characterize the robot end in position space
  • the position change task is It is 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 is It is used to characterize the state parameters (position information, position change speed) involved in the position change task of the key parts of the i-th robot.
  • the mathematical natural form of RMP used to characterize the position change task of the key part of the i-th robot where 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.
  • 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 movement task of the robot terminal to perform the desired operation in the corresponding task space.
  • the Characterize the robot end in the task space
  • the posture motion task of the expected job is performed under It is used to characterize the state parameters (posture information, posture change speed) involved in the posture motion task.
  • 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.
  • 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.
  • 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
  • the position motion task of the expected operation is performed under the condition that the position motion task can be used To characterize, It is used to characterize the state parameters (position information, position change speed) involved in the position motion task.
  • 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.
  • 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.
  • the robot terminal 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 jth obstacle, the relative motion speed between the robot end and the jth obstacle).
  • the RMP mathematical natural form is used to characterize the obstacle avoidance motion task, and n is used to represent the total number of obstacles in the operating environment.
  • 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 jth obstacle can be obtained based on the actual spatial position of the jth obstacle.
  • Sub-step S224 according to the actual spatial positions of all obstacles, each key part of the robot except the end of the robot is moved
  • the position change task in the corresponding position space is decomposed into the corresponding task space, and the obstacle avoidance motion tasks of the key parts of the robot except the end of the robot to avoid various obstacles in the corresponding task space are obtained.
  • 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 of the relative distance between the key parts of the robot and the corresponding obstacle.
  • the next obstacle avoidance task is to avoid the jth obstacle.
  • 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.
  • 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 i-th robot key part and the j-th obstacle can be obtained based on the actual spatial position of the j-th obstacle.
  • Sub-step S225 according to the spatial transformation relationship between the robot joint space, posture space, position space and task space, construct a tree structure 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.
  • 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 With location space The spatial transformation relationship between them, the posture space With Task Space The spatial transformation relationship between the position space With Task Space The spatial transformation relationship between them, and the position space With Task Space The spatial transformation relationship between them.
  • 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 terminal can be taken as the stem node t1
  • the position change tasks of each key part of the robot except the robot terminal can be taken as the stem nodes ti
  • (i 2,...,l)
  • the posture motion task of the robot terminal can be taken as the leaf node (i.e., the child node of the stem node t0 ) g0
  • the position motion task of the robot terminal can be taken as the leaf node gp of the stem node t1
  • the jth (j 1,...,n)
  • the RMP motion strategy mapping tree includes the leaf node task “the posture change task of the robot end to avoid various obstacles in the robot task space”, the leaf node task “the obstacle avoidance motion task of each robot key part except the robot end to avoid various obstacles in the robot task space”.
  • 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.
  • Step S230 constructing a geometric dynamic system involving velocity information for the position motion task, the posture motion task and each obstacle avoidance motion task respectively.
  • the geometric dynamic system can be regarded as a virtual mechanical system defined on the manifold space, and the 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 Mission Space and task space At this time, the geometric dynamic system needs to meet the following conditions:
  • 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 represent 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 is, Used to represent the corresponding geometric dynamic system and system state parameters
  • the corresponding second curvature term matrix is, 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 indicate the gradient of the state parameter x, and m is used to indicate 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 .
  • 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 y 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 state parameters corresponding to the obstacle avoidance motion task. They are respectively 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.
  • the geometric dynamic systems corresponding to the above position motion tasks, posture motion tasks and various obstacle avoidance motion tasks can be
  • the design is based on the robot's movement 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.
  • the geometric dynamic system corresponding to the posture motion task can be designed as in It is used to indicate that the manifold space where the posture motion task is located is the task space where the leaf node g o is located. and
  • the calculation formula is as follows:
  • the geometric metric matrix I is used to represent the identity matrix with the same dimension as the robot joint space, and w o is used to represent the geometric dynamic system
  • the damping matrix is Used to represent geometric dynamic systems
  • the potential energy equation is: 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,
  • is used to represent the modulus of vector e, It is used to express the gradient of vector e.
  • r p Used to indicate the proportional gain
  • r d is used to indicate the velocity gain
  • is used to indicate the scale parameter
  • is used to indicate the smoothness parameter.
  • the geometric dynamic system corresponding to the position motion task can be designed as in It is used to indicate that the manifold space where the position motion task is located is the task space where the leaf node gp is located. and
  • the calculation formula is as follows:
  • the geometric metric matrix I is used to represent the identity matrix with the same dimension as the robot joint space, and w p is used to represent the geometric dynamic system
  • the damping matrix is Used to represent geometric dynamic systems
  • the potential energy equation is used to represent the desired 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 desired position of the robot end,
  • is used to represent the modulus of vector d, It is used to express the gradient of vector d.
  • r p Used to indicate the upper limit of the measurement coefficient w p , It is used to indicate the lower limit of the metric coefficient w p , r p is used to indicate the proportional gain, r d is used to indicate the velocity gain, ⁇ is used to indicate the scale parameter, and ⁇ is used to indicate the smoothness parameter.
  • the geometric metric matrix of Used to represent geometric dynamic systems The damping matrix is 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 indicate 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, su is used to indicate the maximum safe distance, sl is used to indicate the minimum safe distance, rp is used to indicate the proportional gain, rd is used to indicate the velocity gain, ⁇ is used to indicate the scale parameter, and ⁇ is a small positive number.
  • 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.
  • the actual joint state information includes the actual joint position and actual joint speed of the target robot, and 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 can be obtained from the operation planning device by the robot control device 10. This application does not limit the specific method for the robot control device 10 to obtain the expected position information and the expected posture information.
  • Step S250 based on the RMP forward operation, transfers 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 to solve the expected inertia matrix and the expected force, and obtains the local expected inertia matrix and local expected force corresponding to each leaf node task.
  • the RMP forward operation is essentially a forward transfer operation of the state information flow from the parent node to the child node.
  • 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 push forward operation can be expressed as:
  • 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.
  • 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.
  • Step S250 based on the RMP pullback operation, the local expected inertia matrix and the local expected force of each leaf node task are transferred to the root node to solve the joint acceleration, so as to obtain the expected joint acceleration of the target robot in the current control cycle.
  • the RMP pullback operation is actually a reverse transfer operation of the RMP information flow from the child node to the parent node.
  • 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:
  • 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 realize the expected task effects 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 that realizes the expected effect of the global motion strategy corresponding to the robot motion task.
  • step S260 may include sub-steps S261 and S262 to quickly integrate multiple local motion strategies involving dynamic obstacle avoidance functions and desired operation execution functions into a global motion strategy, ensuring that the strategy output of the global motion strategy can achieve the robot motion effect of all local motion strategies, and at the same time ensuring the real-time output of the global motion strategy through the RMP propagation algorithm (including RMP forward push operation and RMP pull-back operation), so as to ensure that the target robot can achieve a reactive obstacle avoidance effect for dynamic obstacles in the process of performing the desired operation.
  • RMP propagation algorithm including RMP forward push operation and RMP pull-back operation
  • Sub-step S261 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 pullback operation, the local expected inertia matrix and local expected force of each leaf node task are transferred to the root node to obtain the global expected inertia matrix and global expected force of the root node in the current control cycle.
  • 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.
  • M + (M T M) -1 M T
  • a is used to represent the expected joint acceleration
  • M + is used to represent the pseudo-inverse matrix of the global expected inertia matrix M
  • f is used to represent the global expected force.
  • the above sub-step S262 may include sub-steps a to c:
  • 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 the joint acceleration control range of the target robot.
  • the target acceleration constraint condition is expressed by the following formula:
  • q * is used to represent the actual joint position included in the actual joint state information, 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
  • qu is used to represent the upper limit value of the joint position included in the joint limit motion position interval
  • ql is used to represent the lower limit value of the joint position included in the joint limit 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 interval, Used to represent the joint acceleration of the target robot.
  • 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.
  • the acceleration error function is expressed as follows:
  • Mr is used to represent the global expected inertia matrix
  • f r is used to represent the global expected force
  • Sub-step c with the purpose 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 to obtain the expected joint acceleration of the target robot in the current control cycle.
  • 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.
  • Step S270 Control the target robot to move according to the desired joint acceleration.
  • the robot control device 10 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 real-time performance while achieving the expected operation execution effect.
  • the present application can execute the above-mentioned steps S220 to S270, and utilize the fast iterative solution characteristics corresponding to the RMP push operation and the RMP pullback operation to ensure that the target robot achieves a reactive obstacle avoidance effect for dynamic obstacles in the process of performing the desired operation, thereby improving the real-time obstacle avoidance of the robot, and introducing 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 dexterity, thereby ensuring that the target robot can achieve the desired operation execution effect while avoiding dynamic obstacles with high dexterity and high real-time performance.
  • this application adopts The above functions are realized 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 by the present application and applied to the robot control device 10 are described below.
  • 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.
  • 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.
  • 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 terminal to perform the desired operation, as well as the obstacle avoidance motion task of multiple robot key parts at the robot terminal to avoid each obstacle respectively.
  • the dynamic system construction module 130 is used to respectively construct a geometric dynamic system involving velocity information for a position motion task, a posture motion task and each obstacle avoidance motion task.
  • the motion parameter acquisition module 140 is used to obtain 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 that match the expected task in the current control cycle.
  • 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.
  • 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 to solve the joint acceleration based on the RMP pullback operation, so as to obtain the expected joint acceleration of the target robot in the current control cycle.
  • the obstacle avoidance control module 170 is used to control the target robot to move according to the desired joint acceleration.
  • each box in the flowchart or block diagram can represent a module, a program segment or a part of a code, and a module, a program segment or a part of a code contains one or more executable instructions for implementing a specified logical function.
  • the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings.
  • each box in the block diagram and/or the flowchart, and the combination of boxes in the block diagram and/or the flowchart can be implemented with a dedicated hardware-based system that performs a specified function or action, or can be implemented with a combination of dedicated hardware and computer instructions.
  • 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 a computer device (which can be a personal computer, server, robot, or network device, etc.) to perform all or part of the steps of the method recorded in each embodiment of the present application.
  • the aforementioned readable storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program code.

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

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.

Description

一种机器人避障控制方法及相关设备A robot obstacle avoidance control method and related equipment

本申请要求于2023年11月28日在中国专利局提交的、申请号为202311614707.7、发明名称为“一种机器人避障控制方法及相关设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。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

本申请涉及机器人控制技术领域,具体而言,涉及一种机器人避障控制方法及相关设备。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

随着科学技术的不断发展,机器人技术在各大行业的应用越发广泛,往往需要机器人在执行期望作业的过程中针对机器人运行环境内存在的各种障碍物进行规避,以避免因障碍物碰撞机器人导致的机器人损伤、期望作业无法正常执行等问题。而在机器人实际运行过程中,机器人运行环境内的各种障碍物并不一定都属于静态障碍物,通常会有新增障碍物出现或者已有障碍物发生位置变动,即导致机器人运行环境内出现动态障碍物。因此,如何确保机器人在执行期望作业的过程中能够针对动态障碍物进行高灵巧性且高实时性地规避,便是当今机器人控制技术领域中的一项重要技术问题。With the continuous development of science and technology, the application of robotics technology in various industries has become more and more extensive. Robots are often required to avoid various obstacles in the robot's operating environment during the execution of the desired operation, so as to avoid robot damage caused by obstacles colliding with the robot, and the expected operation cannot be performed normally. In the actual operation of the robot, the various obstacles in the robot's operating environment are not necessarily static obstacles. Usually, new obstacles will appear or the position of existing obstacles will change, which will lead to dynamic obstacles in the robot's operating environment. Therefore, how to ensure that the robot can avoid dynamic obstacles with high dexterity and high real-time performance during the execution of the expected operation is an important technical issue in the field of robot control technology today.

技术问题Technical issues

有鉴于此,本申请的目的在于提供一种机器人避障控制方法及装置、机器人控制设备和可读存储介质,能够利用RMP(Riemannian Motion Policies,黎曼运动策略)的快速迭代求解特性,确保机器人在执行期望作业的过程中针对动态障碍物实现反应式避障效果,提升机器人避障实时性,并通过引入涉及速度信息的几何动态系统(Geometric Dynamical System,GDS)进行局部运动策略计算,以利用几何动态系统的速度连续特性,提升机器人避障灵巧性,从而确保机器人在实现期望作业执行效果的同时针对动态障碍物进行高灵巧性且高实时性地规避。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 while performing desired tasks, thereby improving the real-time performance of robot obstacle avoidance, and by introducing a geometric dynamic system (GDS) involving speed information to perform local motion strategy calculations, thereby utilizing the speed continuity characteristics of the geometric dynamic 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

为了实现上述目的,本申请实施例采用的技术方案如下:In order to achieve the above purpose, the technical solution adopted in the embodiment of the present application is as follows:

第一方面,本申请提供一种机器人避障控制方法,所述方法包括:In a first aspect, the present application provides a robot obstacle avoidance control method, the method comprising:

获取目标机器人所在运行环境内当前存在的所有障碍物各自的实际空间位置;Obtain the actual spatial positions of all obstacles currently existing in the operating environment of the target robot;

根据获取到的所有障碍物各自的实际空间位置,针对所述目标机器人构建对应的RMP运动策略映射树,其中所述RMP运动策略映射树的根节点任务与机器人关节空间对应,所述RMP运动策略映射树的叶节点任务包括机器人末端执行期望作业的位置运动任务和姿态运动任务,以及包括所述机器人末端的多个机器人关键部位分别针对各个障碍物进行避障的避障运动任务;According to 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 posture motion task of the robot end to perform the desired operation, and the obstacle avoidance motion task of multiple robot key parts at the robot end to avoid each obstacle respectively;

针对所述位置运动任务、所述姿态运动任务和各个所述避障运动任务分别构建涉及速度信息的几何动态系统;Constructing a geometric dynamic system involving velocity information for the position motion task, the posture motion task and each obstacle avoidance motion task respectively;

获取所述目标机器人在当前控制周期内的实际关节状态信息,以及所述目标机器人的机器人末端在当前控制周期内的与所述期望作业匹配的期望位置信息和期望姿态信息;Acquire 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;

基于RMP前推操作将所述实际关节状态信息、所述期望位置信息和所述期望姿态信息从所述RMP运动策略映射树的根节点传递到各个叶节点任务的几何动态系统中进行期望惯性矩阵求解和期望作用力求解,得到各个叶节点任务分别对应的局部期望惯性矩阵和局部期望作用力;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 the local expected force corresponding to each leaf node task are obtained;

基于RMP回拉操作将各个叶节点任务的局部期望惯性矩阵和局部期望作用力传递到所述根节点进行关节加速度求解,得到所述目标机器人在当前控制周期内的期望关节加速度;Based on the RMP pullback operation, the local expected inertia matrix and the local expected force of each leaf node task are transferred to the root node to solve the joint acceleration, so as to obtain the expected joint acceleration of the target robot in the current control cycle;

按照所述期望关节加速度控制所述目标机器人进行运动。The target robot is controlled to move according to the expected joint acceleration.

第二方面,本申请提供一种机器人避障控制装置,所述装置包括:In a second aspect, the present application provides a robot obstacle avoidance control device, the device comprising:

障碍物确定模块,用于获取目标机器人所在运行环境内当前存在的所有障碍物各自的实际空间位置;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;

RMP树构建模块,用于根据获取到的所有障碍物各自的实际空间位置,针对所述目标机器人构建对应的RMP运动策略映射树,其中所述RMP运动策略映射树的根节点任务与机器人关节空间对应,所述RMP运动策略映射树的叶节点任务包括机器人末端执行期望作业的位置运动任务和姿态运动任务,以及包括所述机器人末端的多个机器人关键部位分别针对各个障碍物进行避障的避障运动任务;An 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 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, and the obstacle avoidance motion task of multiple robot key parts at the robot end to avoid each obstacle respectively;

动态系统构建模块,用于针对所述位置运动任务、所述姿态运动任务和各个所述避障运动任务分别构建涉及速度信息的几何动态系统;A dynamic system construction module, used 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;

运动参数获取模块,用于获取所述目标机器人在当前控制周期内的实际关节状态信息,以及所述目标机器人的机器人末端在当前控制周期内的与所述期望作业匹配的期望位置信息和期望姿态信息; A motion parameter acquisition module, used to acquire 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;

局部策略求解模块,用于基于RMP前推操作将所述实际关节状态信息、所述期望位置信息和所述期望姿态信息从所述RMP运动策略映射树的根节点传递到各个叶节点任务的几何动态系统中进行期望惯性矩阵求解和期望作用力求解,得到各个叶节点任务分别对应的局部期望惯性矩阵和局部期望作用力;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 to solve the expected inertia matrix and the expected force based on the RMP forward operation, so as to obtain the local expected inertia matrix and the local expected force corresponding to each leaf node task;

全局策略求解模块,用于基于RMP回拉操作将各个叶节点任务的局部期望惯性矩阵和局部期望作用力传递到所述根节点进行关节加速度求解,得到所述目标机器人在当前控制周期内的期望关节加速度;A global strategy solving module is used to transfer the local expected inertia matrix and the local expected force of each leaf node task to the root node to solve the joint acceleration based on the RMP pullback operation, so as to obtain the expected joint acceleration of the target robot in the current control cycle;

避障作业控制模块,用于按照所述期望关节加速度控制所述目标机器人进行运动。The obstacle avoidance operation control module is used to control the target robot to move according to the expected joint acceleration.

第三方面,本申请提供一种机器人控制设备,包括处理器和存储器,所述存储器存储有可被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序,以实现前述实施方式中任意一项所述的机器人避障控制方法。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.

第四方面,本申请提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被运行时,实现前述实施方式中任意一项所述的机器人避障控制方法。In a fourth aspect, the present application provides a readable storage medium having a computer program stored thereon, and when the computer program is executed, the robot obstacle avoidance control method described in any one of the aforementioned embodiments is implemented.

有益效果Beneficial Effects

在此情况下,本申请实施例的有益效果可以包括以下内容:In this case, the beneficial effects of the embodiments of the present application may include the following:

本申请根据目标机器人所在运行环境内当前存在的所有障碍物各自的实际空间位置构建RMP运动策略映射树,使RMP运动策略映射树的根节点任务与机器人关节空间对应,且对应叶节点任务包括机器人末端执行期望作业的位置运动任务和姿态运动任务,以及包括机器人末端的多个机器人关键部位分别针对各个障碍物进行避障的避障运动任务,接着针对前述多种运动任务分别构建涉及速度信息的几何动态系统,并基于RMP前推操作将目标机器人在当前控制周期内的实际关节状态信息,以及目标机器人的机器人末端在当前控制周期内的与期望作业匹配的期望位置信息和期望姿态信息,从RMP运动策略映射树的根节点传递到各个叶节点任务的几何动态系统中进行期望惯性矩阵求解和期望作用力求解,得到各个叶节点任务的局部期望惯性矩阵和局部期望作用力,然后基于RMP回拉操作将各个叶节点任务的局部期望惯性矩阵和局部期望作用力传递到根节点进行关节加速度求解,得到目标机器人在当前控制周期内的期望关节加速度,并按照期望关节加速度控制目标机器人进行运动,从而利用RMP前推操作和RMP回拉操作所对应的快速迭代求解特性,确保机器人在执行期望作业的过程中针对动态障碍物实现反应式避障效果,提升机器人避障实时性,并在RMP前推操作实施过程中引入涉及速度信息的几何动态系统进行局部运动策略计算,以利用几何动态系统的速度连续特性,提升机器人避障灵巧性,来确保机器人在实现期望作业执行效果的同时针对动态障碍物进行高灵巧性且高实时性地规避。The present application constructs an RMP motion strategy mapping tree according to the actual spatial positions of all obstacles currently existing in the operating environment where the target robot is located, 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 terminal to perform the expected operation, as well as the obstacle avoidance motion task of multiple key parts of the robot terminal 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 terminal of the target robot that match the expected operation in the current control cycle 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. , the local expected inertia matrix and local expected force of each leaf node task are obtained, and then 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 for joint acceleration solution, and the expected joint acceleration of the target robot in the current control cycle is obtained, and the target robot is controlled to move according to the expected joint acceleration, so as to utilize the fast iterative solution characteristics corresponding to the RMP push forward operation and the RMP pullback operation to ensure that the robot can achieve reactive obstacle avoidance effect 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 speed information in the implementation process of the RMP push forward operation to calculate the local motion strategy, so as to utilize the speed 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.

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, preferred embodiments are specifically cited below and described in detail with reference to the attached drawings.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. 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 related drawings can be obtained based on these drawings without paying creative work.

图1为本申请实施例提供的机器人控制设备的组成示意图;FIG1 is a schematic diagram of the composition of a robot control device provided in an embodiment of the present application;

图2为本申请实施例提供的机器人避障控制方法的流程示意图;FIG2 is a schematic diagram of a flow chart of a robot obstacle avoidance control method provided in an embodiment of the present application;

图3为图2中的步骤S220包括的子步骤的流程示意图;FIG3 is a schematic flow chart of the sub-steps included in step S220 in FIG2 ;

图4为本申请实施例提供的RMP运动策略映射树的树形结构示意图;FIG4 is a schematic diagram of a tree structure of an RMP motion strategy mapping tree provided in an embodiment of the present application;

图5为图2中的步骤S260包括的子步骤的流程示意图;FIG5 is a schematic flow chart of the sub-steps included in step S260 in FIG2 ;

图6为本申请实施例提供的机器人避障控制装置的组成示意图。FIG6 is a schematic diagram of the composition of a robot obstacle avoidance control device provided in an embodiment of the present application.

图标:10-机器人控制设备;11-存储器;12-处理器;13-通信单元;100-机器人避障控制装置;110-障碍物确定模块;120-RMP树构建模块;130-动态系统构建模块;140-运动参数获取模块;150-局部策略求解模块;160-全局策略求解模块;170-避障作业控制模块。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.

本发明的实施方式Embodiments of the present invention

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. The components of the embodiments of the present application described and shown in the drawings here can be arranged and designed in various different configurations.

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围, 而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。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. All other embodiments obtained by ordinary technicians in this field without creative work based on the embodiments in this application are within the scope of protection of this application.

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。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, further definition and explanation thereof is not required in subsequent drawings.

在本申请的描述中,需要理解的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。In the description of the present application, it is to be understood that the relational terms such as the term "first" and "second" are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that there is any such actual relationship or order between these entities or operations. Moreover, the term "includes", "comprising" or any other variant thereof is intended to cover non-exclusive inclusion, so that the process, method, article or equipment including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or equipment. In the absence of more restrictions, the elements defined by the sentence "comprising one..." do not exclude the existence of other identical elements in the process, method, article or equipment including the elements. For those of ordinary skill in the art, the specific meaning of the above terms in the present application can be understood by specific circumstances.

在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。In the description of this application, it should also be noted that, unless otherwise clearly specified and limited, the terms "set", "install", "connect", and "connect" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be indirectly connected through an intermediate medium, or it can be the internal communication of two elements. For ordinary technicians in this field, the specific meanings of the above terms in this application can be understood according to specific circumstances.

申请人通过辛苦调研发现,现有控制机器人进行避障的方法,大致可以分为如下四种:The applicant has found through hard research that the existing methods of controlling robots to avoid obstacles can be roughly divided into the following four types:

(1)采样法:采样法是通过在机器人所在运行环境内随机采样的方式来判断并扩展无碰撞区域,当扩展至目标位置时,便可自动形成一条无碰撞路径。该方法的优势在于其完备性,即当无碰撞路径存在时,采样法一定能找到,因此适用于大范围复杂环境的路径搜索,但该方法并不能保证生成的路径最短或速度连续,同时其求解效率也存在很大随机性,实质适用于针对静态障碍物的避障效果。(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 can definitely find it. Therefore, it is suitable for path search in a large range of complex environments. However, this method cannot guarantee that the generated path is the shortest or the speed is continuous. At the same time, its solution efficiency is also very random. It is actually suitable for obstacle avoidance effects against static obstacles.

(2)优化法:优化法是通过在运动起始点和运动目标点之间建立简单的插值路径点作为参考,再以无碰撞作为这些插值路径点的约束,构造关于机器人关节输出量的数值优化方程进行求解。该方法的优势在于可以根据任务要求完善优化方程,例如要求路径最短或时间最短等,而对应优化方程一旦求解完成,便能获得一条理想的无碰撞轨迹。但是优化法的求解质量和效率是呈反相关性的,因此该方法通常作为离线静态避障规划方法来使用。(2) Optimization method: The optimization method is to establish simple interpolation path points between the starting point and the target point as references, and then use collision-free as the constraint of these interpolation path points to construct numerical optimization equations about the output of the robot joints for solution. 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.

(3)随机过程法:随机过程法可看作是采样法和优化法的结合,只不过采样和优化的元素是描述连续轨迹的高斯过程参数。该方法的优势在于天然具有速度连续性,且可以通过概率推理方法来加快优化过程。但即便如此,随机过程法也只能做到环境中识别出新增障碍物后进行快速重规划,其求解速率并不足以实现面对动态障碍物的实时在线规划。(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 perform rapid replanning after identifying new obstacles in the environment, and its solution rate is not sufficient to achieve real-time online planning in the face of dynamic obstacles.

(4)势能法:势能法则是基于势力场思想,将运动目标点当作势力场中的引力源,障碍物当作斥力源,从而可根据与引力源和斥力源之间叠加的势能,引导机器人在向运动目标点移动的同时避开障碍物。该方法的优势在于算法实施简单,解算快速,可以在一定程度上针对动态障碍物进行避障。而之所以说一定程度,是由于势能法仅考虑了机器人的位置状态信息,这使得该方法很容易因动态灵巧性不足而陷入局部最优卡死,实质无法针对动态障碍物进行高灵巧性地规避。(4) Potential energy method: The potential energy law is based on the idea of force field. It regards the moving target point as the source of gravity in the force field and the obstacle as the source of repulsion. Therefore, 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, and it is actually impossible to avoid dynamic obstacles with high dexterity.

在此情况下,为解决上述问题,本申请实施例通过提供一种机器人避障控制方法及装置、机器人控制设备和可读存储介质,以利用RMP的快速迭代求解特性和涉及速度信息的几何动态系统的速度连续特性,确保机器人在执行期望作业的过程中针对动态障碍物实现反应式避障效果,提升机器人避障实时性和机器人避障灵巧性,使机器人在实现期望作业执行效果的同时针对动态障碍物进行高灵巧性且高实时性地规避。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 fast iterative solution characteristics of RMP and the speed continuity characteristics of the geometric dynamic system involving speed information, so as to ensure that the robot can achieve 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's 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.

下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互结合。In conjunction with the accompanying drawings, some embodiments of the present application are described in detail below. In the absence of conflict, the following embodiments and features in the embodiments can be combined with each other.

请参照图1,图1是本申请实施例提供的机器人控制设备10的组成示意图。在本申请实施例中,所述机器人控制设备10与目标机器人通信连接,用于控制所述目标机器人的运动状态,使所述目标机器人在执行复杂操作任务的同时,快速且灵活地避开所述目标机器人所在运行环境内的动态障碍物。其中,所述机器人控制设备10可以是独立于所述目标机器人的计算机设备,也可以是与所述目标机器人集成在一起的硬件模块设备。其中,所述计算机设备可以是个人计算机、云服务器、笔记本电脑、平板电脑等;所述目标机器人可以是位控、力控或力位混合控制的串/并联构型冗余机器人,也可以是应用于工业、服务业和特种行业等领域的冗余机械臂、四足机器人或仿人机器人。 Please refer to Figure 1, which is a schematic diagram of the composition of the robot control device 10 provided in the embodiment of the present application. In the embodiment of the present application, the robot control device 10 is connected to the target robot in communication, 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 operation 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 configuration 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.

在本申请实施例中,所述机器人控制设备10可以包括存储器11、处理器12、通信单元13及机器人避障控制装置100。其中,所述存储器11、所述处理器12及所述通信单元13各个元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,所述存储器11、所述处理器12及所述通信单元13这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。In the 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 achieve 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.

在本申请实施例中,所述存储器11可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,所述存储器11用于存储计算机程序,所述处理器12在接收到执行指令后,可相应地执行所述计算机程序。In the embodiment of the present application, the memory 11 may be, but 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 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.

在本申请实施例中,所述处理器12可以是一种具有信号的处理能力的集成电路芯片。所述处理器12可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)及网络处理器(Network Processor,NP)、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件中的至少一种。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。In the embodiment of the present application, the processor 12 may be an integrated circuit chip with signal processing capability. The processor 12 may be a general-purpose processor, including 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 at least one of other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components. The general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc., which may implement or execute the disclosed methods, steps, and logic block diagrams in the embodiment of the present application.

在本申请实施例中,所述通信单元13用于通过网络建立所述机器人控制设备10与其他电子设备之间的通信连接,并通过所述网络收发数据,其中所述网络包括有线通信网络及无线通信网络。例如,所述机器人控制设备10可通过所述通信单元13从作业规划设备处获取所述目标机器人的机器人末端所需执行的期望作业的运动轨迹信息,其中所述运动轨迹信息可以包括所述目标机器人的机器人末端在执行期望作业过程中的不同控制周期各自对应的期望位置信息、期望姿态信息等;所述机器人控制设备10可通过所述通信单元13向所述目标机器人发送关节控制指令,以驱使所述目标机器人按照接收到的关节控制指令进行运动。In the 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, desired posture information, etc. 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.

在本申请实施例中,所述机器人避障控制装置100可以包括至少一个能够以软件或固件的形式存储于所述存储器11中或者固化在所述机器人控制设备10的操作系统中的软件功能模块。所述处理器12可用于执行所述存储器11存储的可执行模块,例如所述机器人避障控制装置100所包括的软件功能模块及计算机程序等。所述机器人控制设备10可通过所述机器人避障控制装置100利用RMP的快速迭代求解特性和涉及速度信息的几何动态系统的速度连续特性,确保机器人在执行期望作业的过程中针对动态障碍物实现反应式避障效果,提升机器人避障实时性和机器人避障灵巧性,使机器人在实现期望作业执行效果的同时针对动态障碍物进行高灵巧性且高实时性地规避。In the 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 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.

可以理解的是,图1所示的框图仅为所述机器人控制设备10的一种组成示意图,所述机器人控制设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。It is understandable that the block diagram shown in FIG1 is only a schematic diagram of a composition of the robot control device 10, and the robot control device 10 may also include more or fewer components than those shown in FIG1, or have a configuration different from that shown in FIG1. Each component shown in FIG1 may be implemented by hardware, software, or a combination thereof.

在本申请中,为确保所述机器人控制设备10能够利用RMP的快速迭代求解特性和涉及速度信息的几何动态系统的速度连续特性,确保机器人在执行期望作业的过程中针对动态障碍物实现反应式避障效果,提升机器人避障实时性和机器人避障灵巧性,使机器人在实现期望作业执行效果的同时针对动态障碍物进行高灵巧性且高实时性地规避,本申请实施例提供一种机器人避障控制方法实现前述目的。下面对本申请提供的机器人避障控制方法进行详细描述。In the present application, in order to ensure that the robot control device 10 can utilize the fast iterative solution characteristics of RMP and the speed continuity characteristics of the geometric dynamic system involving speed information, ensure that the robot achieves a reactive obstacle avoidance effect for dynamic obstacles in the process of performing the desired operation, improve the robot's obstacle avoidance real-time performance and the robot's obstacle avoidance dexterity, and enable the robot to avoid dynamic obstacles with high dexterity and high real-time performance while achieving the desired operation execution effect, the present application embodiment provides a robot obstacle avoidance control method to achieve the above-mentioned purpose. The robot obstacle avoidance control method provided by the present application is described in detail below.

请参照图2,图2是本申请实施例提供的机器人避障控制方法的流程示意图。在本申请实施例中,图2所示的机器人避障控制方法应用于上述机器人控制设备10,所述机器人避障控制方法可以包括步骤S210~步骤S270。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 above-mentioned robot control device 10, and the robot obstacle avoidance control method may include steps S210 to S270.

步骤S210,获取目标机器人所在运行环境内当前存在的所有障碍物各自的实际空间位置。Step S210, obtaining the actual spatial positions of all obstacles currently existing in the operating environment of the target robot.

其中,可通过在所述目标机器人所在运行环境内安装至少一个障碍物探测设备,以通过所述至少一个障碍物探测设备探测所述运行环境内当前存在哪些障碍物,以及当前存在的各个障碍物在当前时刻于所述运行环境内的实际空间位置,而后由所述至少一个障碍物探测设备将探测出的所述运行环境内所有障碍物各自的实际空间位置发送给所述机器人控制设备10,以便于所述机器人控制设备10直观地确定出所述目标机器人所在运行环境内的障碍物数量变化情况和障碍物位置变化情况。其中,前述障碍物探测设备可以是,但不限于,激光雷达、摄像头、超声波雷达等;所述障碍物探测设备可以安装在所述目标机器人上,也可以围绕所述目标机器人进行设置,还可以在所述机器人控制设备10置于所述运行环 境内的情况下对应设置在所述机器人控制设备10上,所述障碍物探测设备的具体数量和/或具体设置方式可根据机器人运行环境监测需求进行不同设置,本申请对此不作限定。Among them, at least one obstacle detection device can be installed in the operating environment where the target robot is located, so as to detect which obstacles currently exist in the operating environment and the actual spatial position of each obstacle currently existing in the operating environment at the current moment through the at least one obstacle detection device, and then the at least one obstacle detection device sends the detected actual spatial position 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 of obstacles and the changes in the positions of obstacles in the operating environment where the target robot is located. Among them, 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, or can be set around the target robot, or can be placed in the operating environment after the robot control device 10 is placed. In the domestic case, the corresponding obstacle detection device is set on the robot control device 10. The specific number and/or specific setting method of the obstacle detection device can be set differently according to the robot operating environment monitoring requirements, and this application does not limit this.

步骤S220,根据获取到的所有障碍物各自的实际空间位置,针对目标机器人构建对应的RMP运动策略映射树。Step S220: construct a corresponding RMP motion strategy mapping tree for the target robot according to the acquired actual spatial positions of all obstacles.

在本实施例中,所述RMP运动策略映射树的根节点任务与机器人关节空间对应,所述RMP运动策略映射树的叶节点任务包括机器人末端执行期望作业的位置运动任务和姿态运动任务,以及包括所述机器人末端的多个机器人关键部位分别针对各个障碍物进行避障的避障运动任务。其中,所述位置运动任务用于表征所述目标机器人的机器人末端在位置维度层面执行期望作业的运动任务,所述姿态运动任务用于表征所述目标机器人的机器人末端在姿态维度层面执行期望作业的运动任务,所述避障运动任务用于表征所述目标机器人的机器人关键部位相对于所述运行环境内的已有障碍物进行规避的运动任务。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, and the obstacle avoidance motion task of multiple robot key parts of the robot end to avoid obstacles respectively. Among them, the position motion task is used to characterize 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 characterize 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 characterize the motion task of the robot key parts of the target robot to avoid existing obstacles in the operating environment.

而对RMP(即黎曼运动策略)来说,其实质属于在黎曼流形空间下由二阶微分方程描述的带有几何信息的运动策略,RMP的数学规范形式(canonical form)可表示为RMP的数学自然形式(natural form)可表示为其中,表示空间坐标属于的m维黎曼流形空间,a:Ρm×Ρm→Ρm表示一个二阶连续的运动策略,M:Ρm×Ρm→Ρm×m表示一个微分映射,f=Ma。该RMP在应用到机器人动力学中时,可将a视为期望加速度,将M视为期望惯性矩阵,并将f视为期望作用力。As for RMP (Riemannian motion strategy), its essence belongs to the motion strategy with geometric information described by the second-order differential equation in the Riemann 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 In the m-dimensional Riemannian manifold space, a:P m ×P m →P m represents a second-order continuous motion strategy, M:P m ×P m →P m×m represents a differential mapping, and f = Ma. When this RMP is applied to robot dynamics, a can be regarded as the expected acceleration, M as the expected inertia matrix, and f as the expected force.

因此,当所述机器人控制设备10得到所述运行环境内实际存在的所有障碍物各自的实际空间位置后,可按照RMP架构将机器人运动任务拆分成包含在机器人关节空间、机器人任务空间等不同维度黎曼空间内的多个运动策略,使拆分出的处于机器人关节空间内的运动策略可直接充当RMP运动策略映射树的根节点,拆分出的处于机器人任务空间内的运动策略可直接充当RMP运动策略映射树的叶节点,此时该RMP运动策略映射树的根节点任务实质用于表征所述目标机器人在机器人关节空间下实现机器人运动任务所对应的期望效果的全局运动任务(即全局运动策略),该RMP运动策略映射树的叶节点任务用于表征所述目标机器人在机器人任务空间下实现机器人运动任务的分支子任务的局部运动任务(即局部运动策略),由此所述机器人控制设备10可通过将“驱动目标机器人执行期望作业,且保证目标机器人的每个机器人关键部位对当前运行环境下的各个障碍物进行规避”作为机器人运动任务进行拆分,从而得到包括有根节点任务“机器人关节空间下的全局运动任务”、叶节点任务“机器人末端在机器人任务空间下执行期望作业的位置运动任务”、叶节点任务“机器人末端在机器人任务空间下执行期望作业的姿态变化任务”、叶节点任务“机器人末端在机器人任务空间下针对各个障碍物进行避障的避障运动任务”和叶节点任务“除机器人末端以外的每个机器人关键部位在机器人任务空间下针对各个障碍物进行避障的避障运动任务”的RMP运动策略映射树。Therefore, when 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 different dimensional Riemann spaces 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 service, thereby the robot control device 10 can be split by "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 terminal to perform the desired task in the robot task space", the leaf node task "posture change task of the robot terminal to perform the desired task in the robot task space", the leaf node task "obstacle avoidance motion task of the robot terminal 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 terminal to avoid various obstacles in the robot task space".

可选地,在本实施例的一种实施方式中,所述机器人控制设备10可直接将根节点任务“机器人末端在机器人任务空间下执行期望作业的位置运动任务”作为各个叶节点任务的父节点,来构建所述RMP运动策略映射树,以通过该根节点任务所对应的机器人关节空间和各个叶节点任务所对应的机器人任务空间之间的空间变换关系,作为根节点与对应叶节点之间的连接边。Optionally, in one implementation of the present embodiment, the robot control device 10 may directly use the root node task "the position motion task of the robot end to perform 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.

可选地,请参照图3,图3是图2中的步骤S220包括的子步骤的流程示意图。在本实施例的另一种实施方式中,为确保本申请构建出的RMP运动策略映射树所涉及的各项局部运动策略能够比较容易地移植到另外一个机器人上进行使用,可通过在根节点与各个叶节点之间引入起承接作用的茎节点,并使该茎节点仅与机器人运动学模型相关,无需主动附加运动策略,以断开叶节点所对应的局部运动策略与目标机器人之间的机体关联性,从而在建立了一个叶节点后,可直接通过替换与之相连的茎节点任务, 即可将该叶节点所对应局部运动策略能够比较容易地移植到另外一个机器人上进行使用。此时,所述步骤S220可以包括子步骤S221~子步骤S225,以构建出运动策略移植性强的涉及期望作业和避障运动的RMP运动策略映射树。Optionally, please refer to FIG3 , which is a flowchart of the sub-steps included in step S220 in FIG2 . 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 relatively 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 motion strategies, so as to disconnect the body association between the local motion strategy corresponding to the leaf node and the target robot, so that after a leaf node is established, it can be directly replaced by replacing the stem node task connected to it. That is, the local motion strategy corresponding to the leaf node can be easily transplanted to another robot for use. At this time, the step S220 may include sub-steps S221 to S225 to construct an RMP motion strategy mapping tree involving desired operations and obstacle avoidance motions with strong portability of motion strategies.

子步骤S221,对目标机器人在机器人关节空间下的全局运动任务进行任务拆解,得到目标机器人的机器人末端在姿态空间下的姿态变化任务、机器人末端在位置空间下的位置变化任务,以及目标机器人的除机器人末端以外的各个机器人关键部位在对应位置空间下的位置变化任务。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.

在本实施例中,可采用表征所述目标机器人在机器人关节空间下的全局运动任务,其中用于表征该全局运动任务所涉及的状态参数(关节位置,关节速度),用于表征该全局运动任务所对应的RMP数学自然形式;可采用表征所述机器人末端在姿态空间下的姿态变化任务,其中用于表征该姿态变化任务所涉及的状态参数(姿态信息,姿态变化速度),用于表征该姿态变化任务所对应的RMP数学自然形式,其中可采用表征所述机器人末端在位置空间下的位置变化任务,其中用于表征该位置变化任务所涉及的状态参数(位置信息,位置变化速度),用于表征该位置变化任务所对应的RMP数学自然形式,其中可采用表征除机器人末端以外的l-1个机器人关键部位各自在对应位置空间下的位置变化任务,其中用于表征第i个机器人关键部位的位置变化任务所涉及的状态参数(位置信息,位置变化速度),用于表征第i个机器人关键部位的位置变化任务所对应的RMP数学自然形式,其中此时,前述全局运动任务可视为上述姿态变化任务和所有位置变化任务共同的父节点。In this embodiment, the Characterize the target robot in the robot joint space The global motion task is Used to characterize the state parameters (joint position, joint velocity) 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 It is used to characterize the state parameters (posture information, posture change speed) involved in the posture change task. The mathematical natural form of RMP used to characterize the posture change task is: Can be used Characterize the robot end in position space The position change task is It is 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 is It is used to characterize the state parameters (position information, position change speed) involved in the position change task of the key parts of the i-th robot. The mathematical natural form of RMP used to characterize the position change task of the key part of the i-th robot, where 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.

子步骤S222,将机器人末端在姿态空间下的姿态变化任务拆解到机器人末端的任务空间下,得到机器人末端在对应任务空间下执行期望作业的姿态运动任务。 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 movement task of the robot terminal to perform the desired operation in the corresponding task space.

在本实施例中,可采用表征所述机器人末端在任务空间下执行期望作业的姿态运动任务,其中用于表征该姿态运动任务所涉及的状态参数(姿态信息,姿态变化速度),用于表征该姿态运动任务所对应的RMP数学自然形式,其中此时前述姿态变化任务可视为姿态运动任务的父节点。In this embodiment, the Characterize the robot end in the task space The posture motion task of the expected job is performed under It is used to characterize the state parameters (posture information, posture change speed) involved in the posture motion task. 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.

子步骤S223,根据所有障碍物各自的实际空间位置,将机器人末端在位置空间下的位置变化任务拆解到机器人末端的任务空间下,得到机器人末端在对应任务空间下执行期望作业的位置运动任务,以及机器人末端在对应任务空间下针对各个障碍物进行避障的避障运动任务。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.

在本实施例中,可将机器人末端在位置空间下的位置变化任务拆解到与位置空间维度相同的任务空间下,得到所述机器人末端在任务空间下执行期望作业的位置运动任务,此时该位置运动任务可采用进行表征,其中用于表征该位置运动任务所涉及的状态参数(位置信息,位置变化速度),用于表征该位置运动任务所对应的RMP数学自然形式,其中此时前述位置变化任务可视为该位置运动任务的父节点。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 condition that the position motion task can be used To characterize, It is used to characterize the state parameters (position information, position change speed) involved in the position motion task. 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.

同时,可将机器人末端在位置空间下的位置变化任务拆解到与各个障碍物对应的描述机器人末端与对应障碍物之间的相对距离变化状况的一维流形任务空间下,得到所述机器人末端在任务空间下针对第j个障碍物进行避障的避障运动任务,此时所述机器人末端在与第j个障碍物对应的任务空间下对该障碍物进行避障的避障运动任务可采用进行表征,其中用于表征该避障运动任务所涉及的状态参数(机器人末端到第j个障碍物之间的相对距离,机器人末端与第j个障碍物之间的相对运动速度),用于表征该避障运动任务所对应的RMP数学自然形式,n用于表示所述运行环境内的障碍物总数,此时前述位置变化任务可视为该避障运动任务的父节点,前述机器人末端与第j个障碍物之间的相对距离和相对运动速度均可基于第j个障碍物的实际空间位置求得。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 terminal 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 jth obstacle, the relative motion speed between the robot end and the jth obstacle). The RMP mathematical natural form is used to characterize 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 jth obstacle can be obtained based on the actual spatial position of the jth obstacle.

子步骤S224,根据所有障碍物各自的实际空间位置,将除机器人末端以外的各个机器人关键部位在 对应位置空间下的位置变化任务拆解到对应任务空间下,得到除机器人末端以外的各个机器人关键部位在对应任务空间下针对各个障碍物进行避障的避障运动任务。Sub-step S224, according to the actual spatial positions of all obstacles, each key part of the robot except the end of the robot is moved The position change task in the corresponding position space is decomposed into the corresponding task space, and the obstacle avoidance motion tasks of the key parts of the robot except the end of the robot to avoid various obstacles in the corresponding task space are obtained.

在本实施例中,针对除机器人末端以外的每个机器人关键部位,可将该机器人关键部位在对应位置空间下的位置变化任务拆解到与各个障碍物对应的描述对应机器人关键部位与对应障碍物之间的相对距离变化状况的一维流形任务空间下,得到第i(i=2,…,l)个机器人关键部位在任务空间下针对第j个障碍物进行避障的避障运动任务,此时第i个机器人关键部位在与第j个障碍物对应的任务空间下对该障碍物进行避障的避障运动任务可采用进行表征,其中用于表征该避障运动任务所涉及的状态参数(第i个机器人关键部位与第j个障碍物之间的相对距离,第i个机器人关键部位与第j个障碍物之间的相对运动速度),用于表征该避障运动任务所对应的RMP数学自然形式,此时前述位置变化任务可视为该避障运动任务的父节点,前述第i个机器人关键部位与第j个障碍物之间的相对距离和相对运动速度均可基于第j个障碍物的实际空间位置求得。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 of the relative distance between the key parts of the robot and the corresponding obstacle. Next, we get the key part of the i-th (i=2,…,l) robot in the task space The next obstacle avoidance task is to avoid the jth 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. At this time, 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 i-th robot key part and the j-th obstacle can be obtained based on the actual spatial position of the j-th obstacle.

子步骤S225,根据机器人关节空间、姿态空间、位置空间和任务空间之间的空间变换关系,对全局运动任务、姿态变化任务、所有位置变化任务、姿态运动任务、位置运动任务和所有避障运动任务进行树形结构构建,得到RMP运动策略映射树。Sub-step S225, according to the spatial transformation relationship between the robot joint space, posture space, position space and task space, construct a tree structure 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.

其中,所述机器人关节空间、姿态空间、位置空间和任务空间之间的空间变换关系可以包括机器人关节空间与姿态空间之间的空间变换关系、机器人关节空间与位置空间之间的空间变换关系、姿态空间与任务空间之间的空间变换关系、位置空间与任务空间之间的空间变换关系,以及位置空间与任务空间之间的空间变换关系。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 With location space The spatial transformation relationship between them, the posture space With Task Space The spatial transformation relationship between the position space With Task Space The spatial transformation relationship between them, and the position space With Task Space The spatial transformation relationship between them.

此时,以图4所示的RMP运动策略映射树的树形结构示意图为例,可将全局运动任务作为根节点r,将姿态变化任务作为茎节点(即根节点r的子节点)t0,将机器人末端的位置变化任务作为茎节点t1,将除机器人末端以外的各个机器人关键部位的位置变化任务分别作为茎节点ti|(i=2,…,l),将机器人末端的姿态运动任务作为茎节点t0的叶节点(即茎节点t0的子节点)go,将机器人末端的位置运动任务作为茎节点t1的叶节点gp,将机器人末端的与第j(j=1,…,n)个障碍物对应的避障运动任务作为茎节点t1的叶节点将除机器人末端以外的第i个机器人关键部位的第j(j=1,…,n)个障碍物对应的 避障运动任务作为与第i个机器人关键部位对应的茎节点ti的叶节点 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 terminal can be taken as the stem node t1 , the position change tasks of each key part of the robot except the robot terminal can be taken as the stem nodes ti |(i=2,…,l), the posture motion task of the robot terminal can be taken as the leaf node (i.e., the child node of the stem node t0 ) g0 , the position motion task of the robot terminal can be taken as the leaf node gp of the stem node t1 , and the obstacle avoidance motion task corresponding to the jth (j=1,…,n) obstacle of the robot terminal can be taken as the leaf node of the stem node t1. The jth (j=1,…,n) obstacle corresponding to the key part of the i-th robot except the end of the robot The obstacle avoidance task is the leaf node of the stem node ti corresponding to the key part of the ith robot.

望作业的姿态变化任务”、叶节点任务“机器人末端在机器人任务空间下针对各个障碍物进行避障的避障运动任务”和叶节点任务“除机器人末端以外的每个机器人关键部位在机器人任务空间下针对各个障碍物进行避障的避障运动任务”的RMP运动策略映射树。The RMP motion strategy mapping tree includes the leaf node task “the posture change task of the robot end to avoid various obstacles in the robot task space”, the leaf node task “the obstacle avoidance motion task of each robot key part except the robot end to avoid various obstacles in the robot task space”.

由此,本申请可通过执行上述子步骤S221~子步骤S225,构建出运动策略移植性强的涉及期望作业和避障运动的RMP运动策略映射树。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.

步骤S230,针对位置运动任务、姿态运动任务和各个避障运动任务分别构建涉及速度信息的几何动态系统。Step S230 , constructing a geometric dynamic system involving velocity information for the position motion task, the posture motion task and each obstacle avoidance motion task respectively.

在本实施例中,几何动态系统可被看作定义在流形空间上的虚拟机械系统,其系统惯性由机械体的构型和速度共同决定,单个几何动态系统可采用数学元组进行表示,其中用于表示对应几何动态系统所在的流形空间(例如,任务空间任务空间和任务空间此时该几何动态系统需要满足如下条件:
In this embodiment, the geometric dynamic system can be regarded as a virtual mechanical system defined on the manifold space, and the 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 Mission Space and task space At this time, the geometric dynamic system needs to meet the following conditions:

其中,用于表示对应几何动态系统的与系统状态参数对应的几何度量矩阵,用于表示对应几何动态系统的与系统状态参数对应的阻尼矩阵,Φ(x)用于表示对应几何动态系统的势能方程,用于表示对应几何动态系统的与系统状态参数对应的第一曲率项矩阵,用于表示对应几何动态系统的与系统状态参数对应的第二曲率项矩阵,用于表示中第i列的子矩阵,用于表示对状态参数x求偏导,用于表示对状态参数求偏导,用于表示对状态参数x求梯度,m用于表示的矩阵总列数,状态参数为状态参数x的微分,状态参数为状态参数的微分。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 represent 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 is, Used to represent the corresponding geometric dynamic system and system state parameters The corresponding second curvature term matrix is, 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 indicate the gradient of the state parameter x, and m is used to indicate 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 .

在此情况下,与位置运动任务对应的状态参数x和状态参数分别用于表示所述机器人末端的位置信息和位置变化速度信息,与姿态运动任务对应的状态参数x和状态参数分别用于表示所述机器人末端的姿态信息和姿态变化速度信息,与避障运动任务对应的状态参数x和状态参数分别用于表示包括所述机器人末端的机器人关键部位和对应障碍物之间的相对距离信息和相对运动速度信息。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 y 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 state parameters corresponding to the obstacle avoidance motion task. They are respectively 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.

可以理解的是,上述位置运动任务、姿态运动任务和各个避障运动任务分别对应的几何动态系统可 根据机器人运动需求(例如,保持平衡、保持良好构型、平滑躲避障碍物撞击、平滑到达期望位置、平滑到达期望姿态、跳变式到达期望位置、跳变式达到期望姿态、骤停式躲避障碍物撞击等)进行设计,本申请对几何动态系统的具体设计思路不作限制。It can be understood that the geometric dynamic systems corresponding to the above position motion tasks, posture motion tasks and various obstacle avoidance motion tasks can be The design is based on the robot's movement 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.

可选地,在本实施例的一种实施方式中,可基于平滑到达期望姿态的机器人运动需求,将与姿态运动任务对应的几何动态系统设计为其中用于表示该姿态运动任务所在流形空间为叶节点go所在的任务空间,的计算公式如下所示:
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 It is used to indicate that the manifold space where the posture motion task is located is the task space where the leaf node g o is located. and The calculation formula is as follows:

其中,用于表示几何动态系统的几何度量矩阵,I用于表示与机器人关节空间维度相同的单位矩阵,wo用于表示几何动态系统的度量系数,用于表示几何动态系统的阻尼矩阵,用于表示几何动态系统的势能方程,用于表示机器人末端的期望姿态,x0用于表示机器人末端的实际姿态,e用于表示机器人末端的实际姿态与期望姿态之间的向量差,||e||用于表示向量e的模,用于表示对向量e求梯度,用于表示度量系数wo的上限值,用于表示度量系数wo的下限值,rp用于表示比例增益,rd用于表示速度增益,σ用于表示尺度参数,α用于表示平滑度参数。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, and w o is used to represent the geometric dynamic system The measurement coefficient of Used to represent geometric dynamic systems The damping matrix is Used to represent geometric dynamic systems The potential energy equation is: 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 indicate the upper limit of the measurement coefficient w o , It is used to indicate the lower limit of the measurement coefficient w o , r p is used to indicate the proportional gain, r d is used to indicate the velocity gain, σ is used to indicate the scale parameter, and α is used to indicate the smoothness parameter.

可选地,在本实施例的一种实施方式中,可基于平滑到达期望位置的机器人运动需求,将与位置运动任务对应的几何动态系统设计为其中用于表示该位置运动任务所在流形空间为叶节点gp所在的任务空间,的计算公式如下所示:
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 It is used to indicate that the manifold space where the position motion task is located is the task space where the leaf node gp is located. and The calculation formula is as follows:

其中,用于表示几何动态系统的几何度量矩阵,I用于表示与机器人关节空间维度相同的单位矩阵,wp用于表示几何动态系统的度量系数,用于表示几何动态系统的阻尼矩阵,用于表示几何动态系统的势能方程,用于表示机器人末端的期望位置,x1用于表示机器人末端的实际位置,d用于表示机器人末端的实际位置与期望位置之间的向量差,||d||用于表示向量d的模,用于表示对向量d求梯度,用于表示度量系数wp的上限值,用于表示度量系数wp的下限值,rp用于表示比例增益,rd用于表示速度增益,σ用于表示尺度参数,α用于表示平滑度参数。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, and w p is used to represent the geometric dynamic system The measurement coefficient of Used to represent geometric dynamic systems The damping matrix is Used to represent geometric dynamic systems The potential energy equation, is used to represent the desired 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 desired 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 indicate the upper limit of the measurement coefficient w p , It is used to indicate the lower limit of the metric coefficient w p , r p is used to indicate the proportional gain, r d is used to indicate the velocity gain, σ is used to indicate the scale parameter, and α is used to indicate the smoothness parameter.

可选地,在本实施例的一种实施方式中,可基于平滑躲避障碍物撞击的机器人运动需求,将第i(i=1,…,l)个机器人关键部位针对第j(j=1,…,n)个障碍物的避障运动任务所对应的几何动态系统设计为其中用于表示该避障运动任务所在流形空间为叶节点所在的任务空间,的计算公式如下所示:
Optionally, in one implementation of this embodiment, based on the robot motion requirement of smoothly avoiding obstacle collision, 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 motion task is located is a leaf node The task space where you are located, and The calculation formula is as follows:

其中,用于表示几何动态系统的几何度量矩阵,用于表示几何动态系统的阻尼矩阵,用于表示几何动态系统的势能方程,用于表示第i个机器人关键部位与第j个障碍物之间的相对距离,用于表示第i个机器人关键部位与第j个障碍物之间的相对运动速度,用于表示对状态参数求梯度,su用于表示最大安全距离,sl用于表示最小安全距离,rp用于表示比例增益,rd用于表示速度增益,σ用于表示尺度参数,ε为一个数值较小的正数。in, Used to represent geometric dynamic systems The geometric metric matrix of Used to represent geometric dynamic systems The damping matrix is 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 indicate 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, su is used to indicate the maximum safe distance, sl is used to indicate the minimum safe distance, rp is used to indicate the proportional gain, rd is used to indicate the velocity gain, σ is used to indicate the scale parameter, and ε is a small positive number.

步骤S240,获取目标机器人在当前控制周期内的实际关节状态信息,以及目标机器人的机器人末端在当前控制周期内的与期望作业匹配的期望位置信息和期望姿态信息。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.

其中,所述实际关节状态信息包括所述目标机器人的实际关节位置和实际关节速度,所述实际关节状态信息可由所述机器人控制设备10从所述目标机器人处直接读取得到;所述期望位置信息和所述期望姿态信息可由所述机器人控制设备10从所述目标机器人处读取得到,也可由所述机器人控制设备10从作业规划设备处获取得到。本申请对于所述机器人控制设备10获取所述期望位置信息和所述期望姿态信息的具体方式不作限定。The actual joint state information includes the actual joint position and actual joint speed of the target robot, and 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 can be obtained from the operation planning device by the robot control device 10. This application does not limit the specific method for the robot control device 10 to obtain the expected position information and the expected posture information.

步骤S250,基于RMP前推操作将实际关节状态信息、期望位置信息和期望姿态信息从RMP运动策略映射树的根节点传递到各个叶节点任务的几何动态系统中进行期望惯性矩阵求解和期望作用力求解,得到各个叶节点任务分别对应的局部期望惯性矩阵和局部期望作用力。Step S250, based on the RMP forward operation, transfers 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 to solve the expected inertia matrix and the expected force, and obtains the local expected inertia matrix and local expected force corresponding to each leaf node task.

在本实施例中,对于RMP架构来说,RMP前推操作实质属于将状态信息流从父节点朝子节点方向的前向传递运算,而当存在一个父节点以及该父节点下的K个子节点其中该父节点与第i个子节点之间存在空间变换关系 则前述RMP前推操作可被表示为:
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 push forward operation can be expressed as:

其中,用于表示对状态参数x求偏导。in, Used to represent the partial derivative of the state parameter x.

由此,所述机器人控制设备10可基于所述RMP运动策略映射树所揭露的根节点与各个叶节点之间的空间变换关系(包括图4中的根节点与各个茎节点之间的空间变换关系,以及每个茎节点与其对应的至少一个叶节点之间的空间变换关系),通过RMP前推操作将上述实际关节状态信息、上述期望位置信息和上述期望姿态信息传递到各个叶节点的几何动态系统,而后针对每个叶节点的几何动态系统进行期望惯性矩阵求解和期望作用力求解,得到每个叶节点在上述实际关节状态信息、上述期望位置信息和上述期望姿态信息的作用下实现自身对应的分支子任务所需的局部期望惯性矩阵和局部期望作用力。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.

其中,每个几何动态系统所对应的局部期望惯性矩阵和局部期望作用力的计算公式采用如下式子进行表示:
Among them, the calculation formula of the local expected inertia matrix and the local expected force corresponding to each geometric dynamic system is expressed as follows:

其中,用于表示对应几何动态系统的与系统状态参数对应的局部期望惯性矩阵,用于表示对应几何动态系统的与系统状态参数对应的局部期望作用力。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.

由此,本申请可通过上述计算公式对所述RMP运动策略映射树包括的各个叶节点任务的局部期望惯性矩阵和局部期望作用力进行精准计算。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.

可选地,在本实施例的一种实施方式中,当与姿态运动任务对应的几何动态系统被设计为上述则与该姿态运动任务对应的局部期望惯性矩阵和局部期望作用力的实际计算公式如下所示:
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:

其中,用于表示机器人末端的实际姿态与期望姿态之间的向量变化速度,用于表示向量变化速度的速率值。in, It is used to indicate 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.

可选地,在本实施例的一种实施方式中,当与位置运动任务对应的几何动态系统被设计为上述则与该位置运动任务对应的局部期望惯性矩阵和局部期望作用力的实际计算公式如下所示:
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:

其中,用于表示机器人末端的实际位置与期望位置之间的向量变化速度,用于表示向量变化速度的速率值。in, It is used to indicate 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.

可选地,在本实施例的一种实施方式中,当第i(i=1,…,l)个机器人关键部位针对第j(j=1,…,n)个障碍物的避障运动任务所对应的几何动态系统被设计为上述则与该避障运动任务对应的局部期望惯性矩阵和局部期望作用力的实际计算公式如下所示:
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)-th 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:

其中,用于表示对状态参数求梯度。in, Used to indicate the status parameters Find the gradient.

步骤S250,基于RMP回拉操作将各个叶节点任务的局部期望惯性矩阵和局部期望作用力传递到根节点进行关节加速度求解,得到目标机器人在当前控制周期内的期望关节加速度。Step S250, based on the RMP pullback operation, the local expected inertia matrix and the local expected force of each leaf node task are transferred to the root node to solve the joint acceleration, so as to obtain the expected joint acceleration of the target robot in the current control cycle.

在本实施例中,对于RMP架构来说,RMP回拉操作实质属于将RMP信息流从子节点朝父节点方向的反向传递运算,而当存在一个父节点以及该父节点下的K个子节点其中该父节点与第i个子节点之间存在空间变换关系则前述RMP回拉操作可被表示为:
In this embodiment, for the RMP architecture, the RMP pullback operation is actually 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:

其中,用于表示Ji的微分。 in, Used to represent the differential of Ji .

由此,所述机器人控制设备10可基于所述RMP运动策略映射树所揭露的根节点与各个叶节点之间的空间变换关系(包括图4中的根节点与各个茎节点之间的空间变换关系,以及每个茎节点与其对应的至少一个叶节点之间的空间变换关系),通过RMP回拉操作将上述各个叶节点任务的局部期望惯性矩阵和局部期望作用力传递到根节点,得到该根节点在机器人关节空间内同时实现各个叶节点任务的期望任务效果的全局期望惯性矩阵和全局期望作用力,而后基于得到的全局期望惯性矩阵和全局期望作用力针对该根节点进行关节加速度求解,从而得到实现机器人运动任务所对应的全局运动策略的期望效果的期望关节加速度。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 realize the expected task effects 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 that realizes the expected effect of the global motion strategy corresponding to the robot motion task.

此时,请参照图5,图5是图2中的步骤S260包括的子步骤的流程示意图。在本申请实施例中,所述步骤S260可以包括子步骤S261及子步骤S262,以将涉及动态障碍避障功能和期望作业执行功能的多种局部运动策略快速整合成一个全局运动策略,确保该全局运动策略的策略输出量能够实现全部局部运动策略的机器人运动效果,同时通过RMP传播算法(包括RMP前推操作和RMP回拉操作)确保全局运动策略的输出实时性,来确保目标机器人在执行期望作业的过程中能够针对动态障碍物实现反应式避障效果。At this time, please refer to Figure 5, which is a flow chart of the sub-steps included in step S260 in Figure 2. In the 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 operation execution functions into a global motion strategy, ensuring that the strategy output of the global motion strategy can achieve the robot motion effect of all local motion strategies, and at the same time ensuring the real-time output of the global motion strategy through the RMP propagation algorithm (including RMP forward push operation and RMP pull-back operation), so as to ensure that the target robot can achieve a reactive obstacle avoidance effect for dynamic obstacles in the process of performing the desired operation.

子步骤S261,根据RMP运动策略映射树内的根节点与各个叶节点之间的空间变换关系,基于RMP回拉操作将各个叶节点任务的局部期望惯性矩阵和局部期望作用力传递到根节点处,得到根节点在当前控制周期内的全局期望惯性矩阵和全局期望作用力。Sub-step S261, 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 pullback operation, the local expected inertia matrix and local expected force of each leaf node task are transferred to the root node to obtain the global expected inertia matrix and global expected force of the root node in the current control cycle.

子步骤S262,根据全局期望惯性矩阵和全局期望作用力,计算目标机器人在当前控制周期内的期望关节加速度。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.

在本实施例的一种实施方式中,所述机器人控制设备10在得到所述根节点所对应的全局期望惯性矩阵和全局期望作用力后,可基于RMP的数学规范形式和数学自然形式之间的转换关系,采用如下式子计算出所述目标机器人在当前控制周期内的与全局运动策略对应的期望关节加速度:
a=M+f;
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 specification form and the mathematical natural form of RMP using the following formula:
a=M + f;

其中,M+=(MTM)-1MT,a用于表示期望关节加速度,M+用于表示全局期望惯性矩阵M的伪逆矩阵,f用于表示全局期望作用力。Wherein, M + =(M T M) -1 M T , a is used to represent the expected joint acceleration, M + 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.

在本实施例的另一种实施方式中,为避免所述机器人控制设备10在所述目标机器人运动至奇异位型附近时出现期望关节加速度结算结果过大的状况,影响全局运动策略求解过程的安全性和可靠性,上述子步骤S262可以包括子步骤a~子步骤c:In another implementation of this embodiment, in order to avoid the situation where the expected joint acceleration settlement result of the robot control device 10 is too large when the target robot moves to the vicinity of the singularity, affecting the safety and reliability of the global motion strategy solution process, the above sub-step S262 may include sub-steps a to c:

子步骤a,根据目标机器人的关节极限运动位置区间及关节加速度调控区间,针对目标机器人的关节加速度构建目标加速度约束条件。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 the joint acceleration control range of the target robot.

其中,所述目标加速度约束条件采用如下式子进行表示:
The target acceleration constraint condition is expressed by the following formula:

其中,q*用于表示所述实际关节状态信息包括的实际关节位置,用于表示所述实际关节状态信息包括的实际关节速度,Δt用于表示单个控制周期的周期时长,qu用于表示所述关节极限运动位置区间包括的关节位置上限值,ql用于表示所述关节极限运动位置区间包括的关节位置下限值,用于表示所述关节加速度调控区间包括的关节加速度上限值,用于表示所述关节加速度调控区间包括的关节加速度下限值,用于表示所述目标机器人的关节加速度。Wherein, q * is used to represent the actual joint position included in the actual joint state information, 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, qu is used to represent the upper limit value of the joint position included in the joint limit motion position interval, ql is used to represent the lower limit value of the joint position included in the joint limit 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 interval, Used to represent the joint acceleration of the target robot.

子步骤b,根据全局期望惯性矩阵和全局期望作用力,针对目标机器人的关节加速度构建对应的加速度误差函数。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.

其中,所述加速度误差函数采用如下式子进行表示:
The acceleration error function is expressed as follows:

其中,Mr用于表示所述全局期望惯性矩阵,fr用于表示所述全局期望作用力。Among them, Mr is used to represent the global expected inertia matrix, and f r is used to represent the global expected force.

子步骤c,以最小化加速度误差函数的实际输出大小为目的,基于目标加速度约束条件针对关节加速度进行二次规划问题求解,得到目标机器人在当前控制周期内的期望关节加速度。Sub-step c, with the purpose 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 to obtain the expected joint acceleration of the target robot in the current control cycle.

其中,计算所述期望关节加速度的二次规划问题表达式采用如下式子进行表示:

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

由此,本申请可通过执行上述子步骤a~子步骤c,以避免所述机器人控制设备10在所述目标机器人运动至奇异位型附近时出现期望关节加速度结算结果过大的状况,提高全局运动策略求解过程的安全性和可靠性。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.

步骤S270,按照期望关节加速度控制目标机器人进行运动。Step S270: Control the target robot to move according to the desired joint acceleration.

在本实施例中,当所述机器人控制设备10得到所述目标机器人在当前控制周期内的与全局运动策略匹配的期望关节加速度后,可基于所述目标机器人在当前控制周期内的实际关节状态信息及所述期望关节加速度,计算所述目标机器人在当前控制周期内的期望关节状态信息(包括所述目标机器人在当前控制周期内的期望关节位置和期望关节加速度),而后按照得到的所述期望关节状态信息控制所述目标机器人在机器人关节空间内的实际关节状态信息,以确保所述目标机器人能够在执行期望作业的过程中针对动态障碍物实现反应式避障效果,来保证所述目标机器人在实现期望作业执行效果的同时针对动态障碍物进行高灵巧性且高实时性地规避。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 real-time performance while achieving the expected operation execution effect.

由此,本申请可通过执行上述步骤S220~步骤S270,利用RMP前推操作和RMP回拉操作所对应的快速迭代求解特性,确保所述目标机器人在执行期望作业的过程中针对动态障碍物实现反应式避障效果,提升机器人避障实时性,并在RMP前推操作实施过程中引入涉及速度信息的几何动态系统进行局部运动策略计算,以利用几何动态系统的速度连续特性,提升机器人避障灵巧性,来确保所述目标机器人在实现期望作业执行效果的同时针对动态障碍物进行高灵巧性且高实时性地规避。Therefore, the present application can execute the above-mentioned steps S220 to S270, and utilize the fast iterative solution characteristics corresponding to the RMP push operation and the RMP pullback operation to ensure that the target robot achieves a reactive obstacle avoidance effect for dynamic obstacles in the process of performing the desired operation, thereby improving the real-time obstacle avoidance of the robot, and introducing 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 dexterity, thereby ensuring that the target robot can achieve the desired operation execution effect while avoiding dynamic obstacles with high dexterity and high real-time performance.

在本申请中,为确保所述机器人控制设备10能够有效执行上述机器人避障控制方法,本申请通过 对存储在所述机器人控制设备10中的机器人避障控制装置100进行功能模块划分的方式实现前述功能。下面对本申请提供的应用于上述机器人控制设备10的机器人避障控制装置100的具体组成进行相应描述。In this application, in order to ensure that the robot control device 10 can effectively execute the above robot obstacle avoidance control method, this application adopts The above functions are realized 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 by the present application and applied to the robot control device 10 are described below.

请参照图6,图6是本申请实施例提供的机器人避障控制装置100的组成示意图。在本申请实施例中,所述机器人避障控制装置100可以包括障碍物确定模块110、RMP树构建模块120、动态系统构建模块130、运动参数获取模块140、局部策略求解模块150、全局策略求解模块160及避障作业控制模块170。Please refer to FIG6 , which is a schematic diagram of the composition of the robot obstacle avoidance control device 100 provided in an embodiment of the present application. In the 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.

障碍物确定模块110,用于获取目标机器人所在运行环境内当前存在的所有障碍物各自的实际空间位置。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.

RMP树构建模块120,用于根据获取到的所有障碍物各自的实际空间位置,针对目标机器人构建对应的RMP运动策略映射树,其中RMP运动策略映射树的根节点任务与机器人关节空间对应,RMP运动策略映射树的叶节点任务包括机器人末端执行期望作业的位置运动任务和姿态运动任务,以及包括机器人末端的多个机器人关键部位分别针对各个障碍物进行避障的避障运动任务。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 terminal to perform the desired operation, as well as the obstacle avoidance motion task of multiple robot key parts at the robot terminal to avoid each obstacle respectively.

动态系统构建模块130,用于针对位置运动任务、姿态运动任务和各个避障运动任务分别构建涉及速度信息的几何动态系统。The dynamic system construction module 130 is used to respectively construct a geometric dynamic system involving velocity information for a position motion task, a posture motion task and each obstacle avoidance motion task.

运动参数获取模块140,用于获取目标机器人在当前控制周期内的实际关节状态信息,以及目标机器人的机器人末端在当前控制周期内的与期望作业匹配的期望位置信息和期望姿态信息。The motion parameter acquisition module 140 is used to obtain 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 that match the expected task in the current control cycle.

局部策略求解模块150,用于基于RMP前推操作将实际关节状态信息、期望位置信息和期望姿态信息从RMP运动策略映射树的根节点传递到各个叶节点任务的几何动态系统中进行期望惯性矩阵求解和期望作用力求解,得到各个叶节点任务分别对应的局部期望惯性矩阵和局部期望作用力。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.

全局策略求解模块160,用于基于RMP回拉操作将各个叶节点任务的局部期望惯性矩阵和局部期望作用力传递到根节点进行关节加速度求解,得到目标机器人在当前控制周期内的期望关节加速度。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 to solve the joint acceleration based on the RMP pullback operation, so as to obtain the expected joint acceleration of the target robot in the current control cycle.

避障作业控制模块170,用于按照期望关节加速度控制目标机器人进行运动。The obstacle avoidance control module 170 is used to control the target robot to move according to the desired joint acceleration.

需要说明的是,本申请实施例所提供的机器人避障控制装置100,其基本原理及产生的技术效果与前述的机器人避障控制方法相同。为简要描述,本实施例部分未提及之处,可参考上述的针对机器人避障控制方法的描述内容。It should be noted that the basic principle and technical effect 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 brief description, for the parts not mentioned in this embodiment, reference can be made to the description of the aforementioned robot obstacle avoidance control method.

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。In the embodiments provided in the present 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 architecture, 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 a code, and a module, a program segment or a part of a code contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order 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 the flowchart, and the combination of boxes in the block diagram and/or the flowchart can be implemented with a dedicated hardware-based system that performs a specified function or action, or can be implemented with a combination of dedicated hardware and computer instructions.

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。本申请提供的各项功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,机器人,或网络设备等)执行本申请各个实施例记载方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。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 a computer device (which can be a personal computer, server, robot, or network device, etc.) to perform all or part of the steps of the method recorded in each embodiment of the present application. The aforementioned readable storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program code.

以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应当以权利要求的保护范围为准。 The above are only various implementations of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims (10)

一种机器人避障控制方法,其特征在于,所述方法包括:A robot obstacle avoidance control method, characterized in that the method comprises: 获取目标机器人所在运行环境内当前存在的所有障碍物各自的实际空间位置;Obtain the actual spatial positions of all obstacles currently existing in the operating environment of the target robot; 根据获取到的所有障碍物各自的实际空间位置,针对所述目标机器人构建对应的RMP运动策略映射树,其中所述RMP运动策略映射树的根节点任务与机器人关节空间对应,所述RMP运动策略映射树的叶节点任务包括机器人末端执行期望作业的位置运动任务和姿态运动任务,以及包括所述机器人末端的多个机器人关键部位分别针对各个障碍物进行避障的避障运动任务;According to 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 posture motion task of the robot end to perform the desired operation, and the obstacle avoidance motion task of multiple robot key parts at the robot end to avoid each obstacle respectively; 针对所述位置运动任务、所述姿态运动任务和各个所述避障运动任务分别构建涉及速度信息的几何动态系统;Constructing a geometric dynamic system involving velocity information for the position motion task, the posture motion task and each obstacle avoidance motion task respectively; 获取所述目标机器人在当前控制周期内的实际关节状态信息,以及所述目标机器人的机器人末端在当前控制周期内的与所述期望作业匹配的期望位置信息和期望姿态信息;Acquire 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; 基于RMP前推操作将所述实际关节状态信息、所述期望位置信息和所述期望姿态信息从所述RMP运动策略映射树的根节点传递到各个叶节点任务的几何动态系统中进行期望惯性矩阵求解和期望作用力求解,得到各个叶节点任务分别对应的局部期望惯性矩阵和局部期望作用力;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 the local expected force corresponding to each leaf node task are obtained; 基于RMP回拉操作将各个叶节点任务的局部期望惯性矩阵和局部期望作用力传递到所述根节点进行关节加速度求解,得到所述目标机器人在当前控制周期内的期望关节加速度;Based on the RMP pullback operation, the local expected inertia matrix and the local expected force of each leaf node task are transferred to the root node to solve the joint acceleration, so as to obtain the expected joint acceleration of the target robot in the current control cycle; 按照所述期望关节加速度控制所述目标机器人进行运动。The target robot is controlled to move according to the expected joint acceleration. 根据权利要求1所述的方法,其特征在于,所述根据获取到的所有障碍物各自的实际空间位置,针对所述目标机器人构建对应的RMP运动策略映射树的步骤,包括:The method according to claim 1 is 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 obstacles obtained comprises: 对所述目标机器人在所述机器人关节空间下的全局运动任务进行任务拆解,得到所述目标机器人的机器人末端在姿态空间下的姿态变化任务、所述机器人末端在位置空间下的位置变化任务,以及所述目标机器人的除所述机器人末端以外的各个机器人关键部位在对应位置空间下的位置变化任务;Decomposing 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 robot key part of the target robot except the robot end in the corresponding position space; 将所述机器人末端在姿态空间下的姿态变化任务拆解到所述机器人末端的任务空间下,得到所述机器人末端在对应任务空间下执行期望作业的姿态运动任务;Decomposing the posture change task of the robot end in the posture space into the task space of the robot end, and obtaining the posture movement task of the robot end to perform the desired operation in the corresponding task space; 根据所有障碍物各自的实际空间位置,将所述机器人末端在位置空间下的位置变化任务拆解到所述机器人末端的任务空间下,得到所述机器人末端在对应任务空间下执行期望作业的位置运动任务,以及所述机器人末端在对应任务空间下针对各个障碍物进行避障的避障运动任务;According to the actual spatial positions of all obstacles, the position change task of the robot end in the position space is decomposed into the task space of the robot end, so as to obtain the position movement task of the robot end to perform the desired operation in the corresponding task space and the obstacle avoidance movement task of the robot end to avoid each obstacle in the corresponding task space; 根据所有障碍物各自的实际空间位置,将除所述机器人末端以外的各个机器人关键部位在对应位置空间下的位置变化任务拆解到对应任务空间下,得到除所述机器人末端以外的各个机器人关键部位在对应任务空间下针对各个障碍物进行避障的避障运动任务;According to the actual spatial positions of all obstacles, the position change tasks of the key parts of the robot except the end of the robot in the corresponding position space are decomposed into the corresponding task space, so as to obtain the obstacle avoidance movement tasks of the key parts of the robot except the end of the robot to avoid each obstacle in the corresponding task space; 根据机器人关节空间、姿态空间、位置空间和任务空间之间的空间变换关系,对所述全局运动任务、所述姿态变化任务、所有位置变化任务、所述姿态运动任务、所述位置运动任务和所有避障运动任务进行树形结构构建,得到所述RMP运动策略映射树。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, the posture change task, all position change tasks, the posture motion task, the position motion task and all obstacle avoidance motion tasks to obtain the RMP motion strategy mapping tree. 根据权利要求1所述的方法,其特征在于,所述位置运动任务、所述姿态运动任务和各个所述避障运动任务各自的几何动态系统均满足如下条件:
The method according to claim 1 is characterized in that the geometric dynamic systems of the position motion task, the posture motion task and each of the obstacle avoidance motion tasks all satisfy the following conditions:
其中,用于表示对应几何动态系统的与系统状态参数对应的几何度量矩阵,用于表示对应几何动态系统的与系统状态参数对应的阻尼矩阵,Φ(x)用于表示对应几何动态系统的势能方程,用于表示对应几何动态系统的与系统状态参数对应的第一曲率项矩阵,用于表示对应几何动态系统的与系统状态参数对应的第二曲率项矩阵,用于表示中第i列的子矩阵,用于表示对状态参数x求偏导,用于表示对状态参数求偏导,用于表示对状态参数x求梯度,m用于表示的矩阵总列数,状态参数为状态参数x的微分,状态参数为状态参数的微分;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 represent 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 is, Used to represent the corresponding geometric dynamic system and system state parameters The corresponding second curvature term matrix is, Used to indicate The submatrix of the i-th column 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 indicate the gradient of the state parameter x, and m is used to indicate 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 在此过程中,与位置运动任务对应的状态参数x和状态参数分别用于表示所述机器人末端的位置信息和位置变化速度信息,与姿态运动任务对应的状态参数x和状态参数分别用于表示所述机器人末端的姿态信息和姿态变化速度信息,与避障运动任务对应的状态参数x和状态参数分别用于表示机器人关键部位和对应障碍物之间的相对距离信息和相对运动速度信息。In this process, 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 state parameters 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 state parameters 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 and the corresponding obstacles respectively.
根据权利要求3所述的方法,其特征在于,每个几何动态系统所对应的局部期望惯性矩阵和局部期望作用力的计算公式采用如下式子进行表示:
The method according to claim 3 is characterized in that the calculation formula of the local expected inertia matrix and the local expected force corresponding to each geometric dynamic system is expressed by the following formula:
其中,用于表示对应几何动态系统的与系统状态参数对应的局部期望惯性矩阵,用于表示对应几何动态系统的与系统状态参数对应的局部期望作用力。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.
根据权利要求1-4中任意一项所述的方法,其特征在于,所述基于RMP回拉操作将各个叶节点任务的期望惯性矩阵和期望作用力传递到所述根节点进行关节加速度求解,得到所述目标机器人在当前控制周期内的期望关节加速度的步骤,包括:The method according to any one of claims 1 to 4 is characterized in that the step of transferring the expected inertia matrix and expected force of each leaf node task to the root node to solve the joint acceleration based on the RMP pullback operation to obtain the expected joint acceleration of the target robot in the current control cycle includes: 根据所述RMP运动策略映射树内的根节点与各个叶节点之间的空间变换关系,基于RMP回拉操作将各个叶节点任务的局部期望惯性矩阵和局部期望作用力传递到所述根节点处,得到所述根节点在当前 控制周期内的全局期望惯性矩阵和全局期望作用力;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 the local expected force of each leaf node task are transferred to the root node based on the RMP pullback operation, and the root node is obtained at the current The global expected inertia matrix and global expected forces within the control period; 根据所述全局期望惯性矩阵和所述全局期望作用力,计算所述目标机器人在当前控制周期内的期望关节加速度。The expected joint acceleration of the target robot in the current control cycle is calculated according to the global expected inertia matrix and the global expected force. 根据权利要求5所述的方法,其特征在于,所述根据所述全局期望惯性矩阵和所述全局期望作用力,计算所述目标机器人在当前控制周期内的期望关节加速度的步骤,包括:The method according to claim 5, characterized in that the step of 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 comprises: 根据所述目标机器人的关节极限运动位置区间及关节加速度调控区间,针对所述目标机器人的关节加速度构建目标加速度约束条件;According to the joint limit motion position interval and the joint acceleration control interval of the target robot, constructing a target acceleration constraint condition for the joint acceleration of the target robot; 根据所述全局期望惯性矩阵和所述全局期望作用力,针对所述目标机器人的关节加速度构建对应的加速度误差函数;According to the global expected inertia matrix and the global expected force, constructing a corresponding acceleration error function for the joint acceleration of the target robot; 以最小化所述加速度误差函数的实际输出大小为目的,基于目标加速度约束条件针对关节加速度进行二次规划问题求解,得到所述目标机器人在当前控制周期内的期望关节加速度。With the purpose of minimizing the actual output size of the acceleration error function, a quadratic programming problem is solved for the joint acceleration based on the target acceleration constraint to obtain the expected joint acceleration of the target robot in the current control cycle. 根据权利要求6所述的方法,其特征在于,所述目标加速度约束条件采用如下式子进行表示:
The method according to claim 6, characterized in that the target acceleration constraint condition is expressed by the following formula:
其中,q*用于表示所述实际关节状态信息包括的实际关节位置,用于表示所述实际关节状态信息包括的实际关节速度,Δt用于表示单个控制周期的周期时长,qu用于表示所述关节极限运动位置区间包括的关节位置上限值,ql用于表示所述关节极限运动位置区间包括的关节位置下限值,用于表示所述关节加速度调控区间包括的关节加速度上限值,用于表示所述关节加速度调控区间包括的关节加速度下限值,用于表示所述目标机器人的关节加速度;Wherein, q * is used to represent the actual joint position included in the actual joint state information, 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, qu is used to represent the upper limit value of the joint position included in the joint limit motion position interval, ql is used to represent the lower limit value of the joint position included in the joint limit 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 interval, Used to represent the joint acceleration of the target robot; 所述加速度误差函数采用如下式子进行表示:
The acceleration error function is expressed as follows:
其中,Mr用于表示所述全局期望惯性矩阵,fr用于表示所述全局期望作用力;Wherein, Mr is used to represent the global expected inertia matrix, and fr is used to represent the global expected force; 此时,计算所述期望关节加速度的二次规划问题表达式采用如下式子进行表示:

At this time, the quadratic programming problem expression for calculating the desired joint acceleration is expressed as follows:

一种机器人避障控制装置,其特征在于,所述装置包括:A robot obstacle avoidance control device, characterized in that the device comprises: 障碍物确定模块,用于获取目标机器人所在运行环境内当前存在的所有障碍物各自的实际空间位置; 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; RMP树构建模块,用于根据获取到的所有障碍物各自的实际空间位置,针对所述目标机器人构建对应的RMP运动策略映射树,其中所述RMP运动策略映射树的根节点任务与机器人关节空间对应,所述RMP运动策略映射树的叶节点任务包括机器人末端执行期望作业的位置运动任务和姿态运动任务,以及包括所述机器人末端的多个机器人关键部位分别针对各个障碍物进行避障的避障运动任务;An 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 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, and the obstacle avoidance motion task of multiple robot key parts at the robot end to avoid each obstacle respectively; 动态系统构建模块,用于针对所述位置运动任务、所述姿态运动任务和各个所述避障运动任务分别构建涉及速度信息的几何动态系统;A dynamic system construction module, used 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; 运动参数获取模块,用于获取所述目标机器人在当前控制周期内的实际关节状态信息,以及所述目标机器人的机器人末端在当前控制周期内的与所述期望作业匹配的期望位置信息和期望姿态信息;A motion parameter acquisition module, used to acquire 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; 局部策略求解模块,用于基于RMP前推操作将所述实际关节状态信息、所述期望位置信息和所述期望姿态信息从所述RMP运动策略映射树的根节点传递到各个叶节点任务的几何动态系统中进行期望惯性矩阵求解和期望作用力求解,得到各个叶节点任务分别对应的局部期望惯性矩阵和局部期望作用力;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 to solve the expected inertia matrix and the expected force based on the RMP forward operation, so as to obtain the local expected inertia matrix and the local expected force corresponding to each leaf node task; 全局策略求解模块,用于基于RMP回拉操作将各个叶节点任务的局部期望惯性矩阵和局部期望作用力传递到所述根节点进行关节加速度求解,得到所述目标机器人在当前控制周期内的期望关节加速度;A global strategy solving module is used to transfer the local expected inertia matrix and the local expected force of each leaf node task to the root node to solve the joint acceleration based on the RMP pullback operation, so as to obtain the expected joint acceleration of the target robot in the current control cycle; 避障作业控制模块,用于按照所述期望关节加速度控制所述目标机器人进行运动。The obstacle avoidance operation control module is used to control the target robot to move according to the expected joint acceleration. 一种机器人控制设备,其特征在于,包括处理器和存储器,所述存储器存储有可被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序,以实现权利要求1-7中任意一项所述的机器人避障控制方法。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 described in any one of claims 1-7. 一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被运行时,实现权利要求1-7中任意一项所述的机器人避障控制方法。 A readable storage medium having a computer program stored thereon, characterized in that when the computer program is executed, the robot obstacle avoidance control method described in any one of claims 1 to 7 is implemented.
PCT/CN2023/142297 2023-11-28 2023-12-27 Robot obstacle avoidance control method and related device Pending WO2025112151A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202311614707.7 2023-11-28
CN202311614707.7A CN117707146A (en) 2023-11-28 2023-11-28 Robot obstacle avoidance control method and related equipment

Publications (1)

Publication Number Publication Date
WO2025112151A1 true WO2025112151A1 (en) 2025-06-05

Family

ID=90161574

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/142297 Pending WO2025112151A1 (en) 2023-11-28 2023-12-27 Robot obstacle avoidance control method and related device

Country Status (2)

Country Link
CN (1) CN117707146A (en)
WO (1) WO2025112151A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120911908A (en) * 2025-09-28 2025-11-07 山东港口日照港集团有限公司 A method and system for scheduling the work tasks of a cleaning robot

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120831958B (en) * 2025-09-18 2025-12-09 南通国轩新能源科技有限公司 Dynamic obstacle avoidance method and system for mobile storage and charging equipment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210122037A1 (en) * 2019-10-25 2021-04-29 Robert Bosch Gmbh Method for controlling a robot and robot controller
CN114227686A (en) * 2021-12-28 2022-03-25 深圳市优必选科技股份有限公司 Robot obstacle avoidance control method and device, terminal equipment and storage medium
US20220206468A1 (en) * 2019-04-17 2022-06-30 Twinny Co., Ltd. Sampling based optimal tree planning method and recording medium storing program for executing the same, and computer program stored in recording medium for executing the same
CN115179297A (en) * 2022-08-18 2022-10-14 首都医科大学 Method and system for controlling joint limit of joint in combined obstacle avoidance mode through position and posture of surgical robot
CN115972196A (en) * 2022-11-17 2023-04-18 浙江大学 Robot motion strategy generation method based on Riemann motion strategy
CN116372923A (en) * 2023-03-31 2023-07-04 深圳市优必选科技股份有限公司 Robot motion control method and device, robot control device and storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220206468A1 (en) * 2019-04-17 2022-06-30 Twinny Co., Ltd. Sampling based optimal tree planning method and recording medium storing program for executing the same, and computer program stored in recording medium for executing the same
US20210122037A1 (en) * 2019-10-25 2021-04-29 Robert Bosch Gmbh Method for controlling a robot and robot controller
CN114227686A (en) * 2021-12-28 2022-03-25 深圳市优必选科技股份有限公司 Robot obstacle avoidance control method and device, terminal equipment and storage medium
CN115179297A (en) * 2022-08-18 2022-10-14 首都医科大学 Method and system for controlling joint limit of joint in combined obstacle avoidance mode through position and posture of surgical robot
CN115972196A (en) * 2022-11-17 2023-04-18 浙江大学 Robot motion strategy generation method based on Riemann motion strategy
CN116372923A (en) * 2023-03-31 2023-07-04 深圳市优必选科技股份有限公司 Robot motion control method and device, robot control device and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120911908A (en) * 2025-09-28 2025-11-07 山东港口日照港集团有限公司 A method and system for scheduling the work tasks of a cleaning robot

Also Published As

Publication number Publication date
CN117707146A (en) 2024-03-15

Similar Documents

Publication Publication Date Title
CN112775976B (en) Task execution control method, device, control device and readable storage medium
Zhang et al. Sim2real learning of obstacle avoidance for robotic manipulators in uncertain environments
WO2025112151A1 (en) Robot obstacle avoidance control method and related device
Rakita et al. Collisionik: A per-instant pose optimization method for generating robot motions with environment collision avoidance
CN109807886A (en) A kind of space non-cooperative target based on prediction arrests strategy
CN117182932B (en) Method and device for planning obstacle avoidance action of mechanical arm and computer equipment
CN115383739A (en) Mechanical arm control method and device, computing equipment and storage medium
Wang et al. A Novel Multi-Objective Trajectory Planning Method for Robots Based on the Multi-Objective Particle Swarm Optimization Algorithm
Wu et al. An obstacle avoidance method for robotic arm based on reinforcement learning
CN117444962A (en) Robot tail end control method and device and computer equipment
CN117075617A (en) Robot trajectory planning method, device, storage medium and electronic equipment
CN115958608A (en) Motion planning method, system, device and medium for mobile dual-arm robot
CN111221318A (en) Multi-robot state estimation method based on model predictive control algorithm
CN119260748B (en) Multi-manipulator motion planning reinforcement learning training method based on structured action space, manipulator motion planning method
Bendali et al. An approach based on multiquadric radial basis functions for smooth trajectory planning of robotic manipulators with kinematic constraints
Wang et al. Two optimized general methods for inverse kinematics of 6R robots based on machine learning
CN117742344A (en) Robot obstacle avoidance control method and device, robot control equipment and storage medium
CN118650612A (en) A motion control optimization method for a multi-constrained and large-load industrial robot
CN117549303A (en) A method, device, readable storage medium and robotic arm for generating motion of a robotic arm
JP2025526458A (en) Robust motion planning and/or control for multi-robot environments
Wang et al. Dynamic Modelling and Continuous Trajectory Tracking Control of Space Robots Based on Lie Group SE (3)
Zhu et al. Efficient collision detection framework for enhancing collision-free robot motion
Korkmaz et al. Hybrid force and motion control of flexible joint parallel manipulators using inverse dynamics approach
CN109895096B (en) Method for stably cutting plane by welding robot motion model
Prakash et al. Closed form HJB solution for path planning of a robot manipulator with warehousing applications

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23960052

Country of ref document: EP

Kind code of ref document: A1