Motion track planning method, robot, electronic equipment and medium

By using sampling methods and optimization techniques to plan motion trajectories under complex environments and dynamic constraints, the problem of difficulty in planning high-quality motion trajectories in the prior art is solved, and higher accuracy and efficiency are achieved.

CN119512149APending Publication Date: 2025-02-25AGIBOT INNOVATION (SHANGHAI) TECHNOLOGY CO LTD

Patent Information

Application Number
CN202411575433.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-05
Publication Date
2025-02-25

AI Technical Summary

Technical Problem

It is difficult for the prior art to plan a motion trajectory that meets the expected mass under complex environments and complex dynamic constraints.

Method used

By planning the initial motion path based on the sampling method, and then adding time information to the initial motion path according to the preset optimization target and optimizing it, the target motion trajectory is obtained.

Benefits of technology

The quality of the target motion trajectory is improved, so that the motion trajectory that meets the expected quality can be planned under complex environments and dynamic constraints, thereby improving the accuracy and efficiency of the robot performing target tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119512149A_ABST
    Figure CN119512149A_ABST
Patent Text Reader

Abstract

The invention provides a motion track planning method, a robot, electronic equipment and a medium, and the method comprises the steps: obtaining input information which comprises a parameter of a starting point of the robot and a parameter of a target point of the robot; planning an initial motion path from the starting point to the target point based on a sampling method according to the parameters of the starting point and the parameters of the target point; and adding time information to the initial motion path according to a preset optimization target, and performing optimization to obtain a target motion track. According to the technical scheme, the motion trail meeting the expected quality can be planned under the complex environment and complex dynamic constraint conditions.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robot control technology, and in particular to a motion trajectory planning method, a robot, an electronic device and a medium. Background Art

[0002] With the advancement of science and technology, robots are being used in more and more fields. For example, robots can be used to perform target tasks such as grabbing target objects and moving target objects. Under normal circumstances, robots can drive to the target point according to the pre-planned motion trajectory to perform tasks. Therefore, the quality of the planned motion trajectory has a certain impact on the accuracy and efficiency of the robot's execution of the target task, and the quality of the motion trajectory is mainly affected by the complexity of the environment and the complexity of the dynamic constraints. The current motion trajectory planning method is difficult to plan a motion trajectory that meets the expected quality under complex environments and complex dynamic constraints. Summary of the invention

[0003] In view of this, the embodiments of the present application provide a motion trajectory planning method, a robot, an electronic device and a medium, which can plan a motion trajectory that meets the expected quality in a complex environment and complex dynamic constraints.

[0004] In a first aspect, an embodiment of the present application provides a motion trajectory planning method, comprising: obtaining input information, the input information including parameters of a starting point of the robot and parameters of a target point of the robot; planning an initial motion path from the starting point to the target point based on a sampling method according to the parameters of the starting point and the parameters of the target point; adding time information to the initial motion path and optimizing it according to a preset optimization goal to obtain a target motion trajectory.

[0005] In the second aspect, an embodiment of the present application provides a motion trajectory planning device, including: an acquisition module for acquiring input information, the input information including parameters of the robot's starting point and parameters of the robot's target point; a planning module for planning an initial motion path from the starting point to the target point based on a sampling method according to the parameters of the starting point and the parameters of the target point; an optimization module for adding time information to the initial motion path and optimizing it according to a preset optimization goal to obtain a target motion trajectory.

[0006] In a third aspect, an embodiment of the present application provides a robot comprising dual arms and a control module, wherein the control module is used to execute the motion trajectory planning method described in the first aspect above.

[0007] In a fourth aspect, an embodiment of the present application provides an electronic device, comprising: a processor; and a memory for storing processor executable instructions, wherein the processor is used to execute the motion trajectory planning method described in the first aspect above.

[0008] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the storage medium stores a computer program, and the computer program is used to execute the motion trajectory planning method described in the first aspect above.

[0009] In a sixth aspect, an embodiment of the present application provides a computer program product, which includes a computer program. When the computer program is executed by a processor of a computer device, the computer device is enabled to execute the motion trajectory planning method described in the first aspect above.

[0010] In a seventh aspect, an embodiment of the present application provides a chip, comprising: a processor; and a memory for storing processor executable instructions, wherein the processor is used to execute the motion trajectory planning method described in the first aspect above.

[0011] The embodiments of the present application provide a motion trajectory planning method, a robot, an electronic device, and a medium, which plans an initial motion path based on a sampling method, and then adds time information to the initial motion path and optimizes it according to a preset optimization goal, so that a target motion trajectory that meets the preset optimization goal can be obtained. Therefore, the technical solution provided by the embodiments of the present application can improve the quality of the target motion trajectory, that is, by presetting the optimization goal, a motion trajectory that meets the expected quality can be planned in a complex environment and under complex dynamic constraints. Furthermore, controlling the movement of the robot according to the target motion trajectory can improve the accuracy and efficiency of the robot in performing the target task to a certain extent. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Figure 1 Shown is a schematic diagram of the system architecture of a motion trajectory planning system provided by an exemplary embodiment of the present application.

[0013] Figure 2 Shown is a flow chart of a motion trajectory planning method provided by an exemplary embodiment of the present application.

[0014] Figure 3 Shown is a flow chart of a motion trajectory planning method provided by another exemplary embodiment of the present application.

[0015] Figure 4 Shown is a schematic structural diagram of a motion trajectory planning device provided by an exemplary embodiment of the present application.

[0016] Figure 5 Shown is a schematic structural diagram of a motion trajectory planning device provided by another exemplary embodiment of the present application.

[0017] Figure 6 Shown is a block diagram of an electronic device for executing a motion trajectory planning method provided by an exemplary embodiment of the present application. DETAILED DESCRIPTION

[0018] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0019] Application Overview

[0020] Using robots to complete related tasks is an increasingly common phenomenon in modern society. For example, robots can be used for target tasks such as grasping or carrying target objects. When using robots to perform target tasks, the robot's motion trajectory from the starting point to the target point can be planned in advance. The complexity of the environment in which the motion trajectory is located and the complexity of the dynamic constraints corresponding to the target task determine the difficulty of motion trajectory planning.

[0021] Motion trajectory planning belongs to the field of motion planning. There are two traditional solution methods for motion planning problems: one is based on sampling (also called sampling method), and the other is based on optimization (also called optimization method). The sampling-based method is suitable for non-convex unstructured environments. It can search globally and achieve global probability optimization, but it is difficult to handle continuous differentiable constraints such as kinematics and dynamics, and cannot guarantee the consistency of the solution. The optimization-based method can handle continuous differentiable constraints such as kinematics and dynamics well, but it cannot handle trajectory planning problems in non-convex unstructured environments well. This method can find the optimal solution with good consistency, but it is easy to fall into local optimality.

[0022] Therefore, the current motion trajectory planning methods have the problem of being difficult to plan a motion trajectory that meets the expected quality in a complex environment and under complex dynamic constraints.

[0023] In view of the above technical problems, the embodiment of the present application provides a motion trajectory planning method, which plans an initial motion path based on a sampling method, and then adds time information to the initial motion path and optimizes it according to a preset optimization goal, so that a target motion trajectory that meets the preset optimization goal can be obtained. Furthermore, controlling the movement of the robot according to the target motion trajectory can improve the accuracy and efficiency of the robot in performing the target task to a certain extent.

[0024] Exemplary Systems

[0025] Figure 1 FIG. 1 is a schematic diagram of a system architecture of a motion trajectory planning system provided by an exemplary embodiment of the present application. Figure 1As shown, the motion trajectory planning system 100 may include a robot 110, and the robot 110 may be used to perform a target task in a target area 120. For example, the target task may be to grasp a target object, and the robot 110 may include two arms. Specifically, the robot 110 may control the end of the left arm of the robot 110 to move from a starting point A to a target point B, and then control the left arm to grasp the target object at the target point B. A controller 111 may be installed on the robot 110. The controller 111 may be used to control the robot 110 to execute the motion trajectory planning method provided in an embodiment of the present application, so as to plan a target motion trajectory that can avoid obstacles in the target area 120.

[0026] In one example, according to the parameters of the starting point A and the parameters of the target point B, the controller 111 may plan the initial motion path from the starting point A to the target point B based on the sampling method. The parameters of the starting point A may include the parameters of the left arm end at the starting point A (such as position parameters), and the parameters of the target point B may include the parameters of the target point B where the target object is located (such as position parameters). The initial motion path may include position information, that is, a series of position coordinates. Optionally, in some embodiments, the controller 111 may select at least one target first algorithm module from a plurality of first algorithm modules according to the sampling method and the environmental feature constraints set for the environment in which the target area 120 is located, thereby planning the initial motion path from the starting point A to the target point B based on the specific algorithm in the at least one target first algorithm module.

[0027] Further, the controller 111 may add time information to the initial motion path and optimize it according to a preset optimization target to obtain a target motion trajectory. The preset optimization target may include a time optimal constraint or an energy optimal constraint. The target motion trajectory may include position information and time information. By adding time information to the initial motion path and optimizing it, a target motion trajectory that meets the preset optimization target may be obtained, that is, a motion trajectory that meets the expected quality. The target motion trajectory may be a time optimal trajectory or an energy optimal trajectory under the target mission scenario.

[0028] In some examples, the controller 111 may further control the end of the left arm of the robot 110 to move from the starting point A to the target point B based on the target motion trajectory, and then control the left arm to grasp the target object at the target point B to complete the target task.

[0029] In other examples, the controller 111 may be located outside the robot 110 , such as being a device independent of the robot 110 .

[0030] Exemplarily, the controller 111 may include at least one of a logic controller, a machine vision controller, a motion controller, and the like.

[0031] In other examples, the target task may be to carry a target object or other tasks that can be implemented using the robot 110. The parameters of the starting point A may be position parameters of the right arm end of the robot 110. Optionally, in other examples, the execution of the target task requires the participation of both the left arm and the right arm, the number of starting points may be two, and the parameters of the starting points may include position parameters corresponding to the left arm end and the right arm end, respectively. Optionally, in other examples, the parameters of the starting point may include the starting posture parameters of the right arm end and / or the left arm end of the robot 110, and the parameters of the target point may include the expected posture parameters of the right arm end and / or the left arm end of the robot 110 at the target point.

[0032] It should be understood that the above application scenario examples are only shown to facilitate understanding of the spirit and principle of the present application, and the embodiments of the present application are not limited thereto. On the contrary, the embodiments of the present application can be applied to any scenario that may be applicable.

[0033] Exemplary Methods

[0034] Figure 2 Shown is a flow chart of a motion trajectory planning method provided by an exemplary embodiment of the present application. Figure 2 The method can be Figure 1 The controller in is executed. Figure 2 As shown, the motion trajectory planning method may include the following contents.

[0035] 210: Obtain input information, where the input information includes parameters of the robot's starting point and parameters of the robot's target point.

[0036] Specifically, the robot can be used to perform target tasks that can be achieved by the robot, such as grasping, carrying, welding, and surgery. For example, in a specific scenario, the target task can be to screw a screw at the end of the left arm or the end of the right arm of the robot. In some embodiments, the robot can be a humanoid robot, such as the robot can include structures such as arms, a waist, and a bottom, the bottom can be legs or a chassis, and the chassis can be a wheeled chassis or a tracked chassis. In some embodiments, the robot can perform the target task through part or all of the structures in the robot, for example, the robot can perform the target task through the left arm and / or the right arm, or through the arms and the waist, or through the bottom, or through the waist and the bottom, or through the arms, the waist, and the bottom.

[0037] In one example, the input information may be received by the robot from an interactive device that is communicatively connected to the robot, and the interactive device may be an electronic device such as a notebook, a mobile phone, etc. Optionally, the robot may be provided with an input component, and the input information may be directly input by the user through the input component, for example, the input component may be a display screen and / or a key, etc.

[0038] In one example, the input information may include parameters of a starting point of the robot and parameters of a target point of the robot.

[0039] In some embodiments, the parameters of the robot's starting point may include the starting position parameters or posture parameters corresponding to the endpoints of the relevant structures in the robot for performing the target task. The parameters of the robot's target point may include the expected position parameters or posture parameters corresponding to the endpoints of the relevant structures in the robot for performing the target task.

[0040] In other embodiments, the parameters of the starting point of the robot may include the position parameters of the starting point of the target object corresponding to the target task performed by the robot. The parameters of the target point of the robot may include the position parameters of the target point of the target object. Further, the robot may determine the initial posture parameters and the expected posture parameters of the endpoints of the relevant structures in the robot for performing the target task according to the position parameters of the starting point of the target object and the position parameters of the target point, for example, the posture parameters of the endpoints of the relevant structures in the robot may be determined by the conversion between the target object coordinate system and the robot coordinate system.

[0041] Taking the target task as a transport task as an example, the endpoints of the relevant structures in the robot for performing the target task may include the end of the left arm and / or the end of the right arm. The robot may plan the target motion trajectory according to the starting posture parameters of the left arm and / or the end of the right arm and the expected posture parameters of the left arm and / or the end of the right arm, and then may transport the target object from the starting point to the target point according to the target motion trajectory to achieve the transport task.

[0042] In other target tasks, the meanings of the parameters of the robot's starting point and the parameters of the robot's target point can be found in the above-mentioned transport tasks, and will not be repeated here.

[0043] 220: According to the parameters of the starting point and the parameters of the target point, an initial motion path from the starting point to the target point is planned based on a sampling method.

[0044] Specifically, in one example, the parameters of the starting point of the robot may include the starting posture parameters corresponding to the endpoints of the relevant structure in the robot for performing the target task. The parameters of the target point of the robot may include the expected posture parameters corresponding to the endpoints of the relevant structure in the robot for performing the target task.

[0045] To facilitate understanding of the technical solution and description of the embodiment of the present application, the motion trajectory planning method provided in the embodiment of the present application is explained below by taking the endpoint of the relevant structure as the end of the robot's robotic arm (the left arm end and / or the right arm end) as an example. The situation of the endpoints of other structures in the robot is similar, and to avoid repetition, it will not be repeated.

[0046] In one example, the sampling method may include an algorithm based on a Rapidly-exploring Random Tree (RRT), or an algorithm based on a Probabilistic Road Map (PRM), or other methods that can be used for path planning. In some embodiments, the algorithm based on a Rapidly-exploring Random Tree (RRT) may include an algorithm of RRT, Bi-RRT, Informed-RRT*, or other RRT variants.

[0047] In one example, the initial motion path planned according to the parameters of the starting point and the parameters of the target point may include position information, such as position coordinates of a series of points.

[0048] 230: Adding time information to the initial motion path and optimizing it according to a preset optimization target to obtain a target motion trajectory.

[0049] Specifically, the preset optimization target may be set according to actual needs. For example, the preset optimization target may include a time optimal constraint or an energy optimal constraint.

[0050] In some embodiments, a trajectory including position information and time information may be obtained by adding time information to the initial motion path. In one example, the trajectory may be optimized according to the time information of the trajectory to obtain a time-optimal trajectory, that is, a target motion trajectory that satisfies the time-optimal constraint. In another example, dynamic parameters such as speed, acceleration, and jerk may be obtained according to the position information and time information of the trajectory, and the trajectory may be optimized according to these dynamic parameters to obtain an energy-optimal trajectory, that is, a target motion trajectory that satisfies the energy-optimal constraint.

[0051] In other embodiments, according to different preset optimization targets, time information may be added to the initial motion path and optimized in different ways, so as to obtain a target motion trajectory that meets the preset optimization target.

[0052] The embodiment of the present application provides a motion trajectory planning method, which plans an initial motion path based on a sampling method, and then adds time information to the initial motion path and optimizes it according to a preset optimization goal, so that a target motion trajectory that meets the preset optimization goal can be obtained. Therefore, the technical solution provided by the embodiment of the present application can improve the quality of the target motion trajectory, that is, by presetting the optimization goal, a motion trajectory that meets the expected quality can be planned in a complex environment and complex dynamic constraints. Furthermore, controlling the movement of the robot according to the target motion trajectory can improve the accuracy and efficiency of the robot in performing the target task to a certain extent.

[0053] According to an embodiment of the present application, step 220 may include: selecting at least one target first algorithm module from multiple first algorithm modules according to a sampling method and a first preset constraint; and planning an initial motion path from a starting point to a target point based on at least one target first algorithm module.

[0054] Specifically, the first preset constraint can be set according to actual needs, and the first preset constraint is used to select at least one target first algorithm module from a plurality of first algorithm modules to implement the planning of the initial motion path.

[0055] In one example, the first preset constraint may include at least one of the following: an environmental feature constraint corresponding to the environment in which the target motion trajectory is located, a task scenario constraint corresponding to the target task performed by the robot based on the target motion trajectory, and a structural feature constraint of the robot.

[0056] Environmental feature constraints may include constraints constructed according to the complexity of the environment in which the target motion trajectory or the target task is located. The complexity of the environment is related to factors such as the degree of structuring of the environment, the number of obstacles in the environment, and the regularity of the spatial shape of the environment. For example, the higher the degree of structuring of the environment, the lower the complexity of the environment; the fewer the number of obstacles in the environment, the lower the complexity of the environment; the lower the regularity of the spatial shape of the environment, the higher the complexity of the environment. Therefore, the environmental feature constraints can be constructed according to at least one of the degree of structuring of the environment, the number of obstacles in the environment, and the regularity of the spatial shape of the environment. Of course, in other embodiments, one or more suitable features can be selected according to actual needs to characterize the complexity of the environment, and then the environmental feature constraints can be constructed. In one example, different target first algorithm modules can be selected from multiple first algorithm modules according to different environmental feature constraints (complexity of the environment).

[0057] The task scenario constraints may include constraints that need to be satisfied to complete the target task, such as kinematic constraints that need to be satisfied for the robot to complete the target task. In one example, the target task may be a handling task, and the task scenario constraints may be a two-arm closed-chain constraint. Of course, in other examples, the task scenario constraints may include a two-arm closed-chain constraint, a two-arm end posture constraint, and / or other kinematic constraints. The task scenario constraints may be constructed according to specific task scenario types. In one example, different target first algorithm modules may be selected from a plurality of first algorithm modules, depending on the different task scenario constraints.

[0058] The structural feature constraints of the robot may include constraints constructed based on the structural features of the robot body. The structural features of the robot body may include the movable angle range of some joints in the robot, etc. For example, there is no limit on the movable angle of a joint in the robot, that is, it can rotate all the time. In this case, the distances (distances) corresponding to the joint turning to 0 degrees and 3×360 degrees are different. The structural feature constraints of this robot can be applied to screwing tasks or other suitable tasks. If the movable angle range of the joint is [-360°, +360°], the distances corresponding to the joint turning to 0 degrees and 3×360 degrees are the same. The structural feature constraints of this robot can be applied to handling tasks or other suitable tasks. In one example, different target first algorithm modules can be selected from multiple first algorithm modules according to the different structural feature constraints of the robot.

[0059] In one example, each of the multiple first algorithm modules can be used to implement a specific calculation process based on a preset algorithm to obtain a specific calculation result. For the same calculation result, the multiple first algorithm modules include one, two or more first algorithm modules for obtaining the calculation result. For example, the multiple first algorithm modules include two first algorithm modules for obtaining the same calculation result. According to different sampling methods or different first preset constraints, different first algorithm modules can be selected from the two first algorithm modules to obtain the calculation result. Here, the selected first algorithm module is the target first algorithm module.

[0060] In one example, the planning of the initial motion path may include one or more calculation links, each of which may be implemented by an algorithm provided by a corresponding first algorithm module. When there are multiple target first algorithm modules, the planning of the initial motion path may be implemented according to the algorithms provided by the multiple target first algorithm modules.

[0061] In this embodiment, by setting up multiple first algorithm modules, different sampling methods or different first preset constraints can be dealt with, that is, according to different sampling methods or different first preset constraints, a suitable target first algorithm module can be selected from multiple first algorithm modules to plan the initial motion path, thereby improving the adaptability of the motion trajectory planning method. In addition, the embodiment of the present application can separate each calculation link in the path planning process and configure a variety of different algorithms for each calculation link. For example, each algorithm can be presented in the form of a module. In this way, for a specific task scenario, the required module can be selected from multiple first algorithm modules to implement the path planning process, thereby omitting the process of rewriting the algorithm when changing the task scenario in the prior art.

[0062] According to an embodiment of the present application, an initial motion path from a starting point to a target point is planned based on at least one target first algorithm module, including: selecting a target algorithm from a plurality of algorithms corresponding to each target first algorithm module in at least one target first algorithm module according to a first preset constraint; and planning an initial motion path from a starting point to a target point according to a target algorithm corresponding to each target first algorithm module in at least one target first algorithm module.

[0063] Specifically, each first algorithm module corresponds to one or more algorithms. For a specific task scenario, at least one first algorithm module can be selected from multiple first algorithm modules as at least one target first algorithm module. When a target first algorithm module corresponds to multiple algorithms, a suitable algorithm can be selected from the multiple algorithms to implement the computing function corresponding to the target first algorithm module.

[0064] For example, the target first algorithm module corresponds to multiple algorithms for obtaining the same calculation result, and according to different first preset constraints, different algorithms can be selected from the multiple algorithms to obtain the calculation result. Here, the selected algorithm is the target algorithm.

[0065] In one example, the planning of the initial motion path may include one or more calculation links, each of which may be implemented by an algorithm provided by a corresponding first algorithm module. That is, the first algorithm module may implement certain calculation functions, and in the process of performing specific calculations for a specific task scenario, a suitable algorithm may be selected from at least one algorithm corresponding to the first algorithm module according to the first preset constraint to implement the corresponding calculation function, thereby completing the planning of the initial motion path.

[0066] In the present embodiment, by configuring multiple algorithms for the first algorithm module, different first preset constraints can be dealt with, that is, according to different first preset constraints, a suitable target algorithm can be selected from multiple algorithms to realize the calculation process of the entire sampling method, so as to obtain the initial motion path, thereby improving the adaptability of the motion trajectory planning method. Further, the present application embodiment can strip off each calculation link in the path planning process, configure at least one algorithm module for each calculation link, and configure at least one algorithm for each algorithm module. In this way, for each calculation link in a specific task scene, a suitable module (a module that satisfies the sampling method and the first preset constraint) can be selected from at least one algorithm module, and a suitable algorithm (an algorithm that satisfies the first preset constraint) can be selected from the suitable module. By providing a double selection, the adaptability of the motion trajectory planning method can be further improved, and the process of rewriting the algorithm when changing the task scene in the prior art can be omitted. Therefore, the motion trajectory planning method provided by the present application embodiment can be adapted to various morphological robots.

[0067] According to one embodiment of the present application, the motion trajectory planning method also includes: selecting at least one target second algorithm module from multiple second algorithm modules according to a second preset constraint, wherein step 230 may include: based on the at least one target second algorithm module, adding time information to the initial motion path and optimizing it according to a preset optimization goal to obtain a target motion trajectory.

[0068] Specifically, multiple second algorithm modules can be preset, similar to the first algorithm module, each second algorithm module can be used to implement a specific calculation function. The second preset constraint can be set according to actual needs, and is used to select at least one target second algorithm module from the multiple second algorithm modules to add time information to the initial motion path and optimize it to obtain the target motion trajectory.

[0069] In one example, the second preset constraint may include at least one of the following: a task scenario constraint corresponding to a target task performed by the robot based on the target motion trajectory, a quality constraint corresponding to the initial motion path, and a preset effect constraint corresponding to the target motion trajectory.

[0070] For the relevant contents of the task scene constraint, reference may be made to the description in the above embodiment. To avoid repetition, it will not be repeated here. In one example, different target second algorithm modules can be selected from a plurality of second algorithm modules according to the different task scene constraints. Further, in one example, at least one target first algorithm module can be selected from a plurality of first algorithm modules according to the sampling method and the first preset constraint. When both the first preset constraint and the second preset constraint include the task scene constraint, it can be ensured that the method of adding time information to the initial motion path and optimizing the method of the front end planning the initial motion path matches as much as possible, thereby improving the efficiency of the motion trajectory planning method.

[0071] The quality constraint corresponding to the initial motion path can characterize the quality requirement for the initial motion path, that is, the quality constraint can be constructed according to the preset quality requirement. The quality requirement can be set according to actual needs, and the quality requirement and quality constraint can be set by the length of the path, the curvature of the path, and / or the energy consumption. For example, the quality requirement may include a length requirement, and the corresponding quality constraint may include a length constraint; the quality requirement may include a path curvature requirement, and the corresponding quality constraint may include a path curvature constraint; the quality requirement may include an energy consumption requirement, and the corresponding quality constraint may include an energy consumption constraint. In some embodiments, the quality constraint may include a length constraint, a path curvature constraint, an energy consumption constraint, and / or other constraints that can be used to evaluate the quality of the path. In one example, depending on the quality constraints, different target second algorithm modules can be selected from multiple second algorithm modules.

[0072] The preset effect constraints corresponding to the target motion trajectory may include constraints constructed according to preset path effects. The preset path effects may be set according to actual needs. For example, the preset path effects may include no broken lines in the path, the number of turns in the path is less than or equal to the preset number of turns, etc. In one example, different target second algorithm modules may be selected from a plurality of second algorithm modules according to different preset effect constraints.

[0073] In one example, each of the plurality of second algorithm modules can be used to implement a specific calculation process based on a preset algorithm to obtain a specific calculation result. For the same calculation result, the plurality of second algorithm modules include one, two or more second algorithm modules for obtaining the calculation result. For example, the plurality of second algorithm modules include two second algorithm modules for obtaining the same calculation result. According to different second preset constraints, different second algorithm modules can be selected from the two second algorithm modules to obtain the calculation result. Here, the selected second algorithm module is the target second algorithm module.

[0074] In one example, the process of adding time information to the initial motion path and optimizing it can be implemented by an optimization method, or the process of adding time information to the initial motion path and the process of optimizing it can be implemented by a time information adding method and an optimization method, respectively.

[0075] For example, the process of adding time information to the initial motion path and optimizing it can be implemented by an optimization method. The entire process of the optimization method can be implemented by selecting multiple target second algorithm modules from multiple second algorithm modules. In one example, the process of adding time information to the initial motion path and optimizing it (i.e., the calculation process or optimization process of the optimization method) can include one or more calculation links, and each calculation link can be implemented by an algorithm provided by a corresponding second algorithm module. When there are multiple target second algorithm modules, the optimization process can be implemented according to the algorithms provided by the multiple target second algorithm modules.

[0076] For example, one target second algorithm module can be configured with a speed optimization algorithm, and another target second algorithm module can be configured with a B-spline trajectory optimization algorithm. At least one of the two target second algorithm modules (speed optimization algorithm and / or B-spline trajectory optimization algorithm) can be used to add time information to the initial motion path and optimize it. In other examples, the second algorithm module can be configured with a B-spline trajectory optimization algorithm, a trajectory optimization (Trajectory Optimization, Traj-Opt) algorithm, a gradient-based trajectory optimization algorithm (such as Covariant Hamiltonian Optimization for Motion Planning, CHOMP) or other algorithms.

[0077] In this embodiment, by setting a plurality of second algorithm modules, different second preset constraints can be dealt with, that is, according to different second preset constraints, a suitable target second algorithm module can be selected from a plurality of second algorithm modules to add time information to the initial motion path and optimize it, thereby improving the adaptability of the motion trajectory planning method. In addition, the embodiment of the present application can separate each calculation link of the optimization process, and configure a variety of different algorithms for each calculation link, for example, each algorithm can be presented in the form of a module, so that for a specific task scene, the required module can be selected from a plurality of second algorithm modules to realize the optimization process, thereby omitting the process of rewriting the algorithm when changing the task scene in the prior art. Further, the embodiment of the present application can select at least one target first algorithm module from a plurality of first algorithm modules according to the sampling method and the first preset constraint to plan the initial motion path, and select at least one target second algorithm module from a plurality of second algorithm modules according to the second preset constraint to add time information to the initial motion path and optimize it. In other words, the embodiment of the present application can provide a variety of algorithm modules for the path planning process of the front end, and provide a variety of algorithm modules for the optimization process of the back end, thereby further improving the adaptability of the motion trajectory planning method.

[0078] According to an embodiment of the present application, based on at least one target second algorithm module, time information is added to the initial motion path and optimized according to a preset optimization target to obtain a target motion trajectory, including: according to a second preset constraint, selecting a target algorithm from multiple algorithms corresponding to each target second algorithm module in at least one target second algorithm module; according to the target algorithm corresponding to each target second algorithm module in at least one target second algorithm module, and the preset optimization target, adding time information to the initial motion path and optimizing it to obtain the target motion trajectory.

[0079] Specifically, similar to the first algorithm module, each second algorithm module may correspond to one or more algorithms. For a specific task scenario, at least one second algorithm module may be selected from multiple second algorithm modules as at least one target second algorithm module. When the target second algorithm module corresponds to multiple algorithms, a suitable algorithm may be selected from the multiple algorithms to implement the calculation function corresponding to the target second algorithm module.

[0080] For example, the target second algorithm module corresponds to multiple algorithms for obtaining the same calculation result. According to different second preset constraints, different algorithms can be selected from multiple algorithms to obtain the calculation result. Here, the selected algorithm is the target algorithm. In the process of performing specific calculations for a specific task scenario, a suitable algorithm can be selected from at least one algorithm corresponding to the second algorithm module according to the second preset constraint to implement the corresponding calculation function, thereby completing the optimization process of the initial motion path.

[0081] In the present embodiment, by configuring multiple algorithms for the second algorithm module, different second preset constraints can be dealt with, that is, according to different second preset constraints, a suitable target algorithm can be selected from multiple algorithms to realize the calculation process of the entire optimization method, so as to obtain the target motion trajectory, thereby improving the adaptability of the motion trajectory planning method. Further, the embodiment of the present application can strip off each calculation link in the optimization process, configure at least one algorithm module for each calculation link, and configure at least one algorithm for each algorithm module. In this way, for each calculation link in a specific task scene, a suitable module can be selected from at least one algorithm module, and a suitable algorithm can be selected from the suitable module. By providing a double selection, the adaptability of the motion trajectory planning method can be further improved, and the process of rewriting the algorithm when changing the task scene in the prior art can be omitted. Therefore, the motion trajectory planning method provided by the embodiment of the present application can be adapted to various morphological robots.

[0082] According to an embodiment of the present application, the second preset constraint includes a quality constraint corresponding to the initial motion path, the quality constraint corresponding to the initial motion path includes a preset path that meets the preset quality requirements, and at least one target second algorithm module includes a path simplification module, and the path simplification module is used to simplify the path, wherein at least one target second algorithm module is selected from multiple second algorithm modules according to the second preset constraint, including: calculating the length difference between the initial motion path and the preset path; when the length difference exceeds the preset difference range, selecting the path simplification module from the multiple second algorithm modules.

[0083] Specifically, for the relevant content of the quality constraint corresponding to the initial motion path, reference may be made to the description in the above embodiment, and to avoid repetition, it will not be described again here.

[0084] The preset quality requirements can be set according to actual needs, for example, they may include quality requirements set based on the length of the path, the curvature of the path, and / or energy consumption. In one example, the preset path can be a path that meets the preset quality requirements that is manually set in advance by a technician according to a specific task scenario. In another example, the preset path can be generated by an algorithm. For example, for a specific task scenario, the motion path can be planned within a set period of time by the target first algorithm module of the front end, that is, the algorithm is allowed to run for a long time to obtain a time-asymptotically optimal motion path, and the time-asymptotically optimal motion path can be used as the preset path. For example, the time-asymptotically optimal path planning can be implemented by Informed-RRT*, and the output of Informed-RRT* can be used as the preset path, that is, as an algorithm benchmark. Subsequently, in the same task scenario, the initial motion path output by the target first algorithm module of the front end can be compared with the preset path in length to obtain a length difference. When the length difference exceeds the preset difference range, it indicates that the initial motion path does not meet the quality constraint, that is, does not meet the preset quality requirements. At this time, a path simplification module can be selected from multiple second algorithm modules. The path simplification module is used to simplify the initial motion path to shorten the length of the initial motion path.

[0085] In this embodiment, the process of adding time information to the initial motion path and optimizing it by using the target second algorithm module through the back end includes the process of simplifying the initial motion path, that is, simplifying the path through the path simplification module. In one example, the path simplification module can be configured with a Path Processing algorithm, a Smooth algorithm and / or a Short-cut algorithm, etc., and the path simplification module can simplify the initial motion path through the configured algorithm. By calculating the length difference between the initial motion path and the preset path, the initial motion path can be geometrically simplified (i.e., geometrically optimized). In addition, the embodiment of the present application can also obtain a trajectory by adding time to the initial motion path and then simplifying or optimizing the trajectory in time (i.e., time optimization), so as to obtain a target motion trajectory that meets the preset optimization goal.

[0086] Optionally, in some embodiments, a Path Processing algorithm or a back-end optimization algorithm may be used to implement time-progressive optimal path planning, and the output of the Path Processing algorithm or the back-end optimization algorithm may be used as a preset path.

[0087] According to an embodiment of the present application, step 220 may include: planning an original motion path from a starting point to a target point according to a sampling method; simplifying the original motion path according to a path simplification method to obtain an initial motion path.

[0088] Specifically, in the present embodiment, the initial motion path may be a path that has been geometrically optimized. For example, a motion path from a starting point to a target point is planned according to a sampling method, and the motion path may be an original motion path. Then, the original motion path may be simplified by a path simplification method to obtain an initial motion path. The path simplification method may include a PathProcessing algorithm, a Smooth algorithm, and / or a Short-cut algorithm, etc. In one example, the path simplification method may be executed by a path simplification module configured with a Path Processing algorithm, a Smooth algorithm, a Short-cut algorithm, and / or other algorithms. In one example, the length difference between the original motion path and the preset path may be calculated. When the length difference exceeds a preset difference range, the original motion path may be simplified by a path simplification method. For the relevant contents of the preset path, reference may be made to the description in the above embodiment, and in order to avoid repetition, it will not be repeated here.

[0089] In one example, at least one target first algorithm module can be selected from multiple first algorithm modules according to the sampling method and the first preset constraint, and the original motion path from the starting point to the target point can be planned based on the at least one target first algorithm module. The specific process of planning the path based on the target first algorithm module can refer to the description in the above embodiment, and will not be repeated here to avoid repetition.

[0090] Further, after simplifying the original motion path according to the path simplification method to obtain the initial motion path, time information can be added to the initial motion path and optimized (time optimization) according to the preset optimization target to obtain the target motion trajectory. The specific process of adding time information to the initial motion path and optimizing it can refer to the description in the above embodiment, and will not be repeated here to avoid repetition.

[0091] In this embodiment, before adding time information to the initial motion path and optimizing it according to the preset optimization target, the original motion path can be simplified (such as geometric optimization) to obtain the initial motion path. After obtaining the geometrically optimized initial motion path, the initial motion path can be time optimized, which can simplify the process of optimizing the trajectory by the back-end and improve the efficiency of the back-end algorithm.

[0092] According to one embodiment of the present application, the motion trajectory planning method also includes: obtaining real-time posture parameters of the joints in the robot used to perform the target task; predicting the posture parameters of the joints based on the target motion trajectory and the real-time posture parameters to obtain predicted posture parameters; obtaining motor control instructions of the robot based on the predicted posture parameters; and controlling the joint movement of the robot according to the motor control instructions.

[0093] Specifically, after obtaining the target motion trajectory, the robot can start moving according to the target motion trajectory to perform the target task. In the process of the robot performing the target task based on the target motion trajectory, the real-time posture parameters of the joints in the robot used to perform the target task can be obtained in real time. For example, the execution of the target task requires the robot's arm joints to participate in the movement. In the process of the robot performing the target task, the real-time posture parameters of the arm joints can be obtained, and the gap between the moving position of the arm joint and the target motion trajectory can be judged according to the real-time posture parameters, and the posture parameters of the arm joints can be predicted according to the gap to obtain the predicted posture parameters. In one example, the predicted posture parameters can make the robot's arm joints fit the target motion trajectory better in the subsequent movement process. In another example, the posture parameters of the joints can be predicted according to the target motion trajectory, the real-time posture parameters and the environmental characteristics of the task scene to obtain the predicted posture parameters, and the predicted posture parameters can enable the robot to avoid temporary obstacles in the task scene and get as close to the target motion trajectory as possible.

[0094] The robot's motor control instructions can be obtained based on the predicted posture parameters, and the robot's joint movements can be controlled based on the motor control instructions.

[0095] In this embodiment, by real-time tracking of the real-time posture parameters of the joints used to perform the target task in the robot, the gap between the moving position of the joint (the position corresponding to the real-time posture parameters) and the target motion trajectory can be determined, so that the predicted posture parameters can be obtained based on the gap, and the robot's joints can be controlled to fit the target motion trajectory more closely in the subsequent motion process through the predicted posture parameters, thereby improving the execution efficiency and accuracy of the target task. Alternatively, the joint posture parameters can be predicted based on the target motion trajectory, the real-time posture parameters, and the environmental characteristics of the task scene to obtain the predicted posture parameters, and the robot's joint movement can be controlled based on the predicted posture parameters, so that the robot can avoid temporary obstacles in the task scene and move as close to the target motion trajectory as possible in the subsequent motion process, thereby improving the safety of the robot in performing the target task.

[0096] According to an embodiment of the present application, the robot includes two arms, and the parameters of the target point include the target posture parameters of the ends of the left arm and / or the right arm in the two arms, that is, the desired posture parameters corresponding to the endpoints (the ends of the left arm and / or the right arm) of the relevant structure in the robot for performing the target task. Alternatively, the parameters of the target point include the target posture parameters of the target object corresponding to the target task of the robot, that is, the position parameters of the target point that the target object needs to reach.

[0097] In one example, the real-time pose parameters of the joints in the robot used to perform the target task may include the real-time pose parameters of the ends of the left arm and / or right arm of the robot.

[0098] According to an embodiment of the present application, a method for predicting the posture parameters of a joint based on the target motion trajectory and the real-time posture parameters to obtain the predicted posture parameters includes at least one of the following: a model predictive control algorithm, force control, and an interpolation method.

[0099] Specifically, in one example, the Model Predictive Control algorithm can obtain the predicted posture parameters of the joints according to the environmental characteristics of the task scene and the real-time posture parameters of the joints, so that the actual motion trajectory of the joints can be fine-tuned in real time to bypass obstacles in the task scene. Further, the MPC algorithm can obtain the predicted posture parameters of the joints according to the target motion trajectory, the environmental characteristics of the task scene, and the real-time posture parameters of the joints, so that the actual motion trajectory of the joints can be fine-tuned in real time to bypass obstacles in the task scene and make the joint move as close to the target motion trajectory as possible.

[0100] Force control is a technology and method used to accurately control force in a robot or automated system. It monitors the force in real time through a sensor, and adjusts the action of the actuator according to the preset target force value to achieve precise force control. In one example, the force control system generally includes three parts: a force sensor, a controller, and an actuator. The force sensor is used to measure the force in real time. The controller calculates the control amount based on the deviation between the measured value and the target force value, and drives the actuator to produce corresponding actions to adjust the force to the target value. In one embodiment, force control can be mainly used in double-arm collaboration to eliminate the internal force between the gripper and the target object.

[0101] The interpolation method can be implemented through an interpolator, which is a mathematical tool used to estimate the value of unknown data points between known data points. It builds a function to fit these known data points and uses the function to predict or calculate the value of the unknown point. In one example, the interpolation method can determine the predicted pose parameters based on the gap between the position corresponding to the real-time pose parameters of the joint and the target motion trajectory, and control the robot's joints to fit the target motion trajectory more closely during subsequent movements through the predicted pose parameters.

[0102] In one embodiment, the MPC algorithm, force control, and interpolation method may be selected and combined according to task requirements to implement the functions of the actuator.

[0103] Figure 3 Shown is a flow chart of a motion trajectory planning method provided by another exemplary embodiment of the present application. Figure 3 The embodiment is Figure 2 For the example of the embodiment, in order to avoid repetition, the same points can be referred to the description in the above embodiment, which will not be repeated here. Figure 3As shown, the motion trajectory planning method may include the following contents.

[0104] 310: Obtain input information, where the input information includes parameters of the robot's starting point and parameters of the robot's target point.

[0105] In some embodiments, the input information may further include configuration parameters and / or environment perception parameters.

[0106] The configuration parameters may include at least one of the following: a specific joint combination required for the execution of the target task, a format of target point parameters (target format), and requirement parameters that need to be met for the execution of the target task.

[0107] For example, the robot may include multiple joint combinations (multiple groups), and the multiple joint combinations may include: combination 1, left arm / right arm; combination 2, left arm + chassis; combination 3, right arm + chassis; combination 4, left and right arms + chassis, etc.

[0108] The format of the target point parameters can be the format of the Cartesian space pose parameters of SE (3), such as the format of the expected pose parameters corresponding to the robot tool center point (TCP), or the format of the target pose parameters of the target object.

[0109] The required parameters that need to be met for the execution of the target task may include at least one of the following: constraints on the joint ends, double-arm closed chain constraints, self-collision constraints, constraints that the joint ends should move in a straight line, constraints that the robot should stop moving when encountering obstacles, etc.

[0110] In one example, if Figure 4 As shown, input information can be entered into the planner.

[0111] 320: According to the parameters of the starting point and the parameters of the target point, according to the sampling method and the first preset constraint, select at least one target first algorithm module from multiple first algorithm modules, and plan the original motion path from the starting point to the target point based on the at least one target first algorithm module.

[0112] The specific content of the first preset constraint and the specific process of planning the path based on the target first algorithm module can be found in the description of the above embodiment. To avoid repetition, they will not be described here.

[0113] In some embodiments, the first preset constraint may be constructed according to at least part of the configuration parameters and / or the environment perception parameters in the input information.

[0114] In one example, if Figure 4As shown, the planning of the original motion path can be achieved through the sampling method provided by the front-end RRT algorithm module and the target algorithm provided by the multiple target first algorithm modules. For example, the multiple target first algorithm modules may include: the nearest neighbor algorithm module, which is used to find the point closest to the given point in the RRT, and can support exhaustive method, kd-tree and other algorithms; the local planner algorithm module, which is used to check whether two state points are feasible, and can support Euclidean space interpolation, manifold surface interpolation and other algorithms; the sampler algorithm module, which can be used to implement sampling in the joint space, and can support uniform sampling, with goal bias sampling, etc.; Distance calculator algorithm module: used to calculate the distance between two joint states q1 and q2, such as manifold surface distance calculation (during the movement, each joint needs to satisfy the unchanged posture of the double-arm grasping object, and the constraint is the joint-space manifold surface, so the Distance needs to be calculated on the manifold surface), which can support distance algorithms such as L1-norm, L2-norm, L∞-norm, and manifold surface distance; Checkers algorithm module: used to check whether the joint state q satisfies the constraints, which may include collision-free, joint-bound, end posture constraints, double-arm closed chain constraints, etc.; Inverse Kinematics (IK) algorithm module: used to inversely calculate the angles of each joint based on the position or direction of the end effector; Forward Kinematics (FK) algorithm module: used to calculate the position of each child joint based on the rotation of the parent joint. In other examples, NearestNeighbor, Local Planner, Sampler, Distance, Checkers, IK, FK and other algorithm modules can constitute the RRT algorithm module.

[0115] 330: Simplify the original motion path according to a path simplification method to obtain an initial motion path.

[0116] The path simplification method may include a Path Processing algorithm, a Smooth algorithm and / or a Short-cut algorithm, etc. In one example, the path simplification method may be executed by a path simplification module configured with a Path Processing algorithm, a Smooth algorithm, a Short-cut algorithm and / or other algorithms. In one example, the length difference between the original motion path and the preset path may be calculated, and when the length difference exceeds the preset difference range, the original motion path may be simplified by the path simplification method. For the relevant content of the preset path, reference may be made to the description in the above embodiment, and will not be repeated here to avoid repetition.

[0117] In one example, if Figure 4 As shown, the original motion path can be simplified by the path simplification module. Specifically, the path simplification module can be a module that configures the Path Processing algorithm. Further, the original motion path can be simplified by the path simplification module and at least one third algorithm module, and the at least one third algorithm module may include a checker algorithm module, a simplification processing (Short-cut) algorithm module and a smoothing processing (Smooth) algorithm module. Some of the third algorithm modules can be the first algorithm modules, for example, the checker algorithm module can be used as both the target first algorithm module and the third algorithm module.

[0118] 340: Select at least one target second algorithm module from multiple second algorithm modules according to the second preset constraint, and based on the at least one target second algorithm module, add time information to the initial motion path and optimize it according to a preset optimization goal to obtain a target motion trajectory.

[0119] The specific content of the second preset constraint, the specific content of the preset optimization target, and the specific process of adding time information to the initial motion path and optimizing the target second algorithm module can be found in the description of the above embodiment. To avoid repetition, they will not be repeated here.

[0120] In some embodiments, the second preset constraint may be constructed according to at least part of the configuration parameters and / or the environment perception parameters in the input information.

[0121] In one example, if Figure 4As shown, the initial motion path can be optimized by adding time information to the back-end trajectory optimization (Traj-Opt) algorithm module (the initial motion path is geometrically feasible, but there is no time information). The trajectory optimization algorithm module can be used to optimize the initial motion path according to kinematic or dynamic constraints, as well as task scenario constraints (such as closed-chain constraints), and output a time-optimal or energy-optimal trajectory. In one example, the initial motion path can be optimized by adding time information according to the optimization method provided by the trajectory optimization algorithm module and the target algorithm provided by multiple target second algorithm modules. Multiple target second algorithm modules may include: Checkers algorithm module; Inverse Kinematics (IK) algorithm module; Forward Kinematics (FK) algorithm module; B-spline algorithm module; Speed ​​optimization algorithm module, etc. Some of the second algorithm modules can be the first algorithm modules, for example, the Checkers algorithm module, the Inverse Kinematics (IK) algorithm module and the Forward Kinematics (FK) algorithm module can be used as both the target first algorithm module and the target second algorithm module. In other examples, Checkers, IK, FK, Bspline, speed optimization and other algorithm modules can constitute the back-end trajectory optimization algorithm module.

[0122] 350: Obtain real-time posture parameters of joints in the robot for performing a target task, predict the posture parameters of the joints according to the target motion trajectory and the real-time posture parameters, obtain the predicted posture parameters, obtain motor control instructions of the robot according to the predicted posture parameters, and control the joint motion of the robot according to the motor control instructions.

[0123] The specific process of obtaining the real-time posture parameters of the joints in the robot used to perform the target task, and the specific process of predicting the posture parameters of the joints according to the target motion trajectory and the real-time posture parameters to obtain the predicted posture parameters can be found in the description in the above embodiments. To avoid repetition, they will not be repeated here.

[0124] In one example, if Figure 4As shown, the planner can be connected to the front-end RRT algorithm module, the path simplification module and the trajectory optimization algorithm module, and the planner can output the target motion trajectory obtained by the trajectory optimization algorithm module to the actuator. The actuator can obtain the real-time posture parameters of the joints used to perform the target task in the robot, predict the posture parameters of the joints according to the target motion trajectory and the real-time posture parameters, obtain the predicted posture parameters, obtain the motor control instructions of the robot according to the predicted posture parameters, and transmit the motor control instructions to the motor, and the motor controls the joint movement of the robot according to the motor control instructions. In one example, the model predictive control algorithm module, the force controller algorithm module, and the interpolator algorithm module can form an actuator, and the actuator is used to close the loop to track the trajectory output by the back end. The output of the actuator goes directly to the motor and controls the motor action, thereby realizing the joint movement of the robot, such as realizing the entire dual-arm coordination function. In other examples, the planner may be composed of a front-end RRT algorithm module, a path simplification module, and a trajectory optimization algorithm module. The RRT algorithm module may be composed of multiple first algorithm modules, the path simplification module may be composed of multiple third algorithm modules, and the trajectory optimization algorithm module may be composed of multiple second algorithm modules. Each algorithm module can be connected or disconnected from other algorithm modules by plugging and unplugging. For example, Figure 4 The solid arrows in the figure represent the combination relationship between modules, and the dotted arrows represent the data flow between modules.

[0125] The motion trajectory planning method provided in the embodiment of the present application can use the RRT (Bi-RRT, Informed-RRT* and other RRT variants) algorithm at the front end to realize path planning in geometric space. The implementation of RRT and its variant algorithms can be realized by a combination of module algorithms such as Sampler, Distance, Local Planner, Nearest Neighbor, Checkers, etc., where each module supports multiple algorithm implementations and can be configured to specify the specific algorithm used by the front-end module. Therefore, the multiple first algorithm modules provided in the embodiment of the present application can adapt to different task scenarios, increase the generalization of the front end, and easily handle trajectory planning problems in non-convex and unstructured environments. The path generated based on RRT and its variant algorithms is not guaranteed to be optimal and there will be detour problems. The path simplification module (such as the Path Processing algorithm) can be used to perform geometric Short-cut and Smooth optimization on the path. In an embodiment of the present application, the back end can use the path (such as the initial motion path) output by the path simplification module as a reference (Reference), and use an optimization method (such as Traj-Opt) to construct kinematic constraints, dynamic constraints and / or mission scenario constraints as a nonlinear optimization problem, and solve it through a solver to output a trajectory that satisfies the mission scenario constraints and satisfies the time optimality or energy optimality. For example, the back end can perform time optimization on the initial motion path and output a time optimal trajectory that satisfies position limits, speed limits, acceleration limits and jerk limits.

[0126] Furthermore, the embodiment of the present application provides a variety of algorithms based on the state management module of the tree, so the motion trajectory planning method provided by the embodiment of the present application is insensitive to the robot's degrees of freedom and can adapt to different robot forms and different degrees of freedom configurations. For example, RRT and its variant algorithms are tree-based search algorithms. In the algorithm implementation, the joint state q pointer can be used as a tree vertex. The planning dimension is the size of q. Changing the planning dimension is insensitive to the tree, so the algorithm can adapt to robots with any degrees of freedom.

[0127] In addition, for the A2W (two arms + waist + chassis) robot, the method provided in the embodiment of the present application can realize the two-arm grasping of the target object and move the target object to the target position (cooperative planning of two arms + waist). During the movement, each joint of the robot can meet the constraints of collision-free, unchanged posture of the two-arm grasping objects, and optimal trajectory time.

[0128] Exemplary Devices

[0129] Figure 5 FIG. 2 is a schematic diagram of the structure of a motion trajectory planning device provided by another exemplary embodiment of the present application. Figure 5As shown, the motion trajectory planning device 500 includes: an acquisition module 510 , a planning module 520 and an optimization module 530 .

[0130] The acquisition module 510 is used to acquire input information, including parameters of the robot's starting point and the robot's target point. The planning module 520 is used to plan the initial motion path from the starting point to the target point based on the sampling method according to the parameters of the starting point and the target point. The optimization module 530 is used to add time information to the initial motion path and optimize it according to the preset optimization target to obtain the target motion trajectory.

[0131] The embodiment of the present application provides a motion trajectory planning device, which plans an initial motion path based on a sampling method, and then adds time information to the initial motion path and optimizes it according to a preset optimization goal, so that a target motion trajectory that meets the preset optimization goal can be obtained. Therefore, the technical solution provided by the embodiment of the present application can improve the quality of the target motion trajectory, that is, by presetting the optimization goal, a motion trajectory that meets the expected quality can be planned in a complex environment and complex dynamic constraints. Furthermore, controlling the movement of the robot according to the target motion trajectory can improve the accuracy and efficiency of the robot in performing the target task to a certain extent.

[0132] According to one embodiment of the present application, the planning module 520 is used to: select at least one target first algorithm module from multiple first algorithm modules according to a sampling method and a first preset constraint; and plan an initial motion path from a starting point to a target point based on at least one target first algorithm module.

[0133] According to one embodiment of the present application, the planning module 520 is used to: select a target algorithm from multiple algorithms corresponding to each target first algorithm module in at least one target first algorithm module according to a first preset constraint; and plan an initial motion path from a starting point to a target point according to the target algorithm corresponding to each target first algorithm module in at least one target first algorithm module.

[0134] According to one embodiment of the present application, the first preset constraint includes at least one of the following: an environmental feature constraint corresponding to the environment in which the target motion trajectory is located, a task scenario constraint corresponding to the target task performed by the robot based on the target motion trajectory, and a structural feature constraint of the robot.

[0135] According to an embodiment of the present application, the motion trajectory planning device 500 further includes a selection module 540, which is used to select at least one target second algorithm module from multiple second algorithm modules according to a second preset constraint. The optimization module 530 is used to add time information to the initial motion path and optimize it according to a preset optimization target based on the at least one target second algorithm module to obtain a target motion trajectory.

[0136] According to one embodiment of the present application, the second preset constraint includes at least one of the following: a task scenario constraint corresponding to the target task performed by the robot based on the target motion trajectory, a quality constraint corresponding to the initial motion path, and a preset effect constraint corresponding to the target motion trajectory.

[0137] According to an embodiment of the present application, the second preset constraint includes a quality constraint corresponding to the initial motion path, the quality constraint corresponding to the initial motion path includes a preset path that meets the preset quality requirements, and at least one target second algorithm module includes a path simplification module, and the path simplification module is used to simplify the path. The selection module 540 is used to: calculate the length difference between the initial motion path and the preset path; when the length difference exceeds the preset difference range, select the path simplification module from multiple second algorithm modules.

[0138] According to an embodiment of the present application, the planning module 520 is used to: plan an original motion path from a starting point to a target point according to a sampling method; and simplify the original motion path according to a path simplification method to obtain an initial motion path.

[0139] According to an embodiment of the present application, the preset optimization target includes a time optimal constraint or an energy optimal constraint.

[0140] According to an embodiment of the present application, the sampling method includes: an algorithm based on a fast random exploration tree, or an algorithm based on a probabilistic roadmap.

[0141] According to one embodiment of the present application, the acquisition module 510 is also used to: obtain the real-time posture parameters of the joints in the robot used to perform the target task; predict the posture parameters of the joints according to the target motion trajectory and the real-time posture parameters to obtain the predicted posture parameters; obtain the motor control instructions of the robot according to the predicted posture parameters; and control the joint movement of the robot according to the motor control instructions.

[0142] According to an embodiment of the present application, a method for predicting the posture parameters of a joint based on the target motion trajectory and the real-time posture parameters to obtain the predicted posture parameters includes at least one of the following: a model predictive control algorithm, force control, and an interpolation method.

[0143] According to one embodiment of the present application, the robot includes two arms, and the parameters of the target point include the target posture parameters of the ends of the left arm and / or the right arm of the two arms, or the target posture parameters of the target object corresponding to the target task of the robot.

[0144] It should be understood that the operations and functions of the acquisition module 510, the planning module 520, the optimization module 530, and the selection module 540 in the above embodiment can refer to the above Figure 2 or Figure 3 The description of the motion trajectory planning method provided in the embodiment will not be repeated here to avoid repetition.

[0145] An embodiment of the present application also provides a robot, which includes two arms and a control module, and the control module is used to execute the motion trajectory planning method provided in any of the above embodiments.

[0146] In some embodiments, the robot may include a robot having dual arms and a chassis / legs, such as a humanoid robot, a wheeled robot, and the like.

[0147] The operation and functions of the robot provided in the embodiment of the present application can refer to the above Figure 2 or Figure 3 The description of the motion trajectory planning method provided in the embodiment will not be repeated here to avoid repetition.

[0148] Figure 6 FIG. 6 is a block diagram of an electronic device 600 for executing a motion trajectory planning method provided by an exemplary embodiment of the present application. The electronic device 600 may be a robot, a remote control device for controlling a robot, or other devices.

[0149] Reference Figure 6 The electronic device 600 includes a processing component 610, which further includes one or more processors, and a memory resource represented by a memory 620 for storing instructions executable by the processing component 610, such as an application. The application stored in the memory 620 may include one or more modules, each corresponding to a set of instructions. In addition, the processing component 610 is configured to execute instructions to perform the above-mentioned motion trajectory planning method.

[0150] The electronic device 600 may also include a power supply component configured to perform power management of the electronic device 600, a wired or wireless network interface configured to connect the electronic device 600 to a network, and an input / output (I / O) interface. The electronic device 600 may be operated based on an operating system stored in the memory 620, such as Windows Server 2000. TM , Mac OSX TM , Unix TM , Linux TM , FreeBSD TM or similar.

[0151] A non-temporary computer-readable storage medium, when instructions in the storage medium are executed by a processor of the electronic device 600, enables the electronic device 600 to execute a motion trajectory planning method.

[0152] All the above optional technical solutions can be arbitrarily combined to form optional embodiments of the present application, and will not be described in detail here.

[0153] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0154] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0155] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0156] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0157] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0158] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium, including several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program check codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0159] It should be noted that, in the description of this application, the terms "first", "second", "third", etc. are used for descriptive purposes only and cannot be understood as indicating or implying relative importance. In addition, in the description of this application, unless otherwise specified, the meaning of "plurality" is two or more.

[0160] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0161] The above description is only a preferred embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, etc. made within the spirit and principles of the present application shall be included in the protection scope of the present application.

Claims

1. A motion trajectory planning method, characterized in that: include: Acquiring input information, the input information including parameters of a starting point of the robot and parameters of a target point of the robot; According to the parameters of the starting point and the parameters of the target point, an initial motion path from the starting point to the target point is planned based on a sampling method; According to a preset optimization target, time information is added to the initial motion path and optimized to obtain a target motion trajectory.

2. The motion trajectory planning method according to claim 1, characterized in that: The planning of the initial motion path from the starting point to the target point based on the sampling method includes: Selecting at least one target first algorithm module from a plurality of first algorithm modules according to the sampling method and the first preset constraint; Based on the at least one target, the first algorithm module plans an initial motion path from the starting point to the target point.

3. The motion trajectory planning method according to claim 2, characterized in that: The first algorithm module based on the at least one target plans the initial motion path from the starting point to the target point, comprising: According to the first preset constraint, selecting a target algorithm from a plurality of algorithms corresponding to each target first algorithm module in the at least one target first algorithm module; An initial motion path from the starting point to the target point is planned according to a target algorithm corresponding to each target first algorithm module in the at least one target first algorithm module.

4. The motion trajectory planning method according to claim 2, characterized in that: The first preset constraint includes at least one of the following: an environmental feature constraint corresponding to the environment in which the target motion trajectory is located, a task scenario constraint corresponding to the target task performed by the robot based on the target motion trajectory, and a structural feature constraint of the robot.

5. The motion trajectory planning method according to claim 1, characterized in that: Also includes: Selecting at least one target second algorithm module from a plurality of second algorithm modules according to a second preset constraint, The step of adding time information to the initial motion path and optimizing it according to a preset optimization target to obtain a target motion trajectory includes: Based on the at least one target second algorithm module, time information is added to the initial motion path and optimized according to the preset optimization target to obtain the target motion trajectory.

6. The motion trajectory planning method according to claim 5, characterized in that: The second preset constraint includes at least one of the following: a task scenario constraint corresponding to a target task performed by the robot based on the target motion trajectory, a quality constraint corresponding to the initial motion path, and a preset effect constraint corresponding to the target motion trajectory.

7. The motion trajectory planning method according to claim 5, characterized in that: The second preset constraint includes a quality constraint corresponding to the initial motion path, the quality constraint corresponding to the initial motion path includes a preset path that meets a preset quality requirement, the at least one target second algorithm module includes a path simplification module, the path simplification module is used to simplify the path, The selecting at least one target second algorithm module from a plurality of second algorithm modules according to the second preset constraint comprises: Calculating the length difference between the initial motion path and the preset path; When the length difference exceeds a preset difference range, the path simplification module is selected from the plurality of second algorithm modules.

8. The motion trajectory planning method according to claim 1, characterized in that: The planning of the initial motion path from the starting point to the target point based on the sampling method includes: Planning the original motion path from the starting point to the target point according to the sampling method; The original motion path is simplified according to a path simplification method to obtain the initial motion path.

9. The motion trajectory planning method according to claim 1, characterized in that: The preset optimization target includes a time optimal constraint or an energy optimal constraint.

10. The motion trajectory planning method according to claim 1, characterized in that: The sampling method includes: an algorithm based on a fast random exploration tree, or an algorithm based on a probabilistic roadmap.

11. The motion trajectory planning method according to claim 1, characterized in that: Also includes: Obtaining real-time position and posture parameters of joints in the robot for performing a target task; Predicting the posture parameters of the joint according to the target motion trajectory and the real-time posture parameters to obtain predicted posture parameters; Obtaining a motor control instruction of the robot according to the predicted posture parameters; The joint movement of the robot is controlled according to the motor control instruction.

12. The motion trajectory planning method according to claim 11, characterized in that: The method of predicting the posture parameters of the joint according to the target motion trajectory and the real-time posture parameters to obtain the predicted posture parameters includes at least one of the following: a model predictive control algorithm, force control, and an interpolation method.

13. The motion trajectory planning method according to any one of claims 1 to 12, characterized in that: The robot includes two arms, and the parameters of the target point include target posture parameters of the ends of the left arm and / or the right arm of the two arms, or target posture parameters of the target object corresponding to the target task of the robot.

14. A robot, characterized in that: It comprises two arms and a control module, and the control module is used to execute the motion trajectory planning method described in any one of claims 1 to 13.

15. An electronic device, characterized in that: include: processor; a memory for storing instructions executable by the processor, Wherein, the processor is used to execute the motion trajectory planning method described in any one of claims 1 to 13.

16. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, and the computer program is used to execute the motion trajectory planning method according to any one of claims 1 to 13.

17. A computer program product, characterized in that The computer program product includes a computer program, and when the computer program is executed by a processor of a computer device, the computer device is enabled to execute the motion trajectory planning method according to any one of claims 1 to 13.

Citation Information

Patent Citations

  • Closed-loop control-based humanoid robot omnidirectional walking method

    CN103149933A

  • Multi-point intelligent path planning method and system

    CN112308315A

  • Trajectory planning and control method of mobile robot, electronic equipment and storage medium

    CN116954230A

  • Robot control method, device and equipment and storage medium

    CN117245640A

  • Trajectory tracking control method and system for mobile redundant mechanical arm

    CN118596155A

Cited By

  • Robot control method and device and electronic equipment

    CN119871452A

  • Low-altitude flight trajectory optimization method and system

    CN121954027A

  • A low-altitude flight trajectory optimization method and system

    CN121954027B