Disclosure of Invention
Aiming at the technical problems in the prior art, the invention provides a method, a system, equipment and a medium for planning the motion of a mobile double-arm robot, which aim to solve the technical problem that the existing robot motion planning method can not realize the intelligent human-simulated motion planning of the mobile double-arm robot in a dynamic and unstructured environment.
In order to achieve the purpose, the invention adopts the technical scheme that:
the invention provides a motion planning method for a mobile double-arm robot, which comprises the following steps:
constructing a RiDRM graph of a mobile base of the mobile double-arm robot relative to a right hand and a LiDRM graph of the mobile base relative to a left hand;
determining a right-hand expected grabbing pose and a left-hand expected grabbing pose of the mobile double-arm robot according to a target object to be grabbed;
planning and decomposing tasks to be executed of the mobile double-arm robot to obtain a plurality of subtasks; respectively determining a right-hand expected pose and a left-hand expected pose of each subtask according to the determined right-hand expected grabbing pose and the determined left-hand expected grabbing pose of the mobile double-arm robot;
executing the subtasks according to the expected right-hand pose and the expected left-hand pose of each subtask, transforming the RiDRM image of the mobile base of the mobile double-arm robot relative to the right hand to the expected right-hand position of the corresponding subtask, and transforming the LiDRM image of the mobile base of the mobile double-arm robot relative to the left hand to the expected left-hand position of the corresponding subtask;
dynamically detecting whether a new obstacle exists in the environment;
if so, updating the selectable enabling of the pose set in the LiDRM image of the mobile base relative to the right hand of the mobile two-arm robot and the selectable enabling of the pose set in the LiDRM image of the mobile base relative to the left hand of the mobile two-arm robot; respectively obtaining an updated RiDRM graph of the mobile base of the mobile double-arm robot relative to the right hand and an updated LiDRM graph of the mobile base relative to the left hand;
determining an optional position set of the mobile base of the mobile double-arm robot according to the updated RiDRM graph of the mobile base of the mobile double-arm robot relative to the right hand and the updated LiDRM graph of the mobile base relative to the left hand;
designing an optimal pose set of the mobile double-arm robot, adding the optimal pose set of the mobile double-arm robot into an optional pose set of the mobile double-arm robot, and obtaining an updated optional pose set of the mobile double-arm robot;
comprehensively evaluating the poses of the updated selectable pose sets of the mobile double-arm robot by utilizing an evaluation function to determine the optimal pose of the mobile robot;
according to the optimal pose of the mobile robot, carrying out trajectory planning and trajectory tracking control;
judging whether the task to be executed of the mobile double-arm robot is finished or not, if so, finishing the cycle; if not, returning to execute the next subtask.
The invention also provides a system for planning the movement of the mobile double-arm robot, which comprises:
the building module is used for building a RiDRM graph of a mobile base of the mobile double-arm robot relative to the right hand and a LiDRM graph of the mobile base relative to the left hand;
the task planning decomposition module is used for determining a right-hand expected grabbing pose and a left-hand expected grabbing pose of the mobile double-arm robot according to the target object to be grabbed; planning and decomposing tasks to be executed of the mobile double-arm robot to obtain a plurality of subtasks; respectively determining a right-hand expected pose and a left-hand expected pose of each subtask according to the determined right-hand expected grabbing pose and the determined left-hand expected grabbing pose of the mobile double-arm robot;
the execution module is used for executing the subtasks according to the expected right-hand pose and the expected left-hand pose of each subtask, transforming the RiDRM image of the mobile base of the mobile double-arm robot relative to the right hand to the expected right-hand position of the corresponding subtask, and transforming the LiDRM image of the mobile base of the mobile double-arm robot relative to the left hand to the expected left-hand position of the corresponding subtask; dynamically detecting whether a new obstacle exists in the environment; if so, updating the selectable enabling of the pose set in the LiDRM image of the mobile base relative to the right hand of the mobile two-arm robot and the selectable enabling of the pose set in the LiDRM image of the mobile base relative to the left hand of the mobile two-arm robot; respectively obtaining an updated RiDRM graph of the mobile base of the mobile double-arm robot relative to the right hand and an updated LiDRM graph of the mobile base relative to the left hand;
the optimization module is used for determining an optional position set of the mobile base of the mobile double-arm robot according to the updated RiDRM graph of the mobile base of the mobile double-arm robot relative to the right hand and the updated LiDRM graph of the mobile base relative to the left hand; designing an optimal pose set of the mobile double-arm robot, adding the optimal pose set of the mobile double-arm robot into an optional pose set of the mobile double-arm robot, and obtaining an updated optional pose set of the mobile double-arm robot; comprehensively evaluating the poses of the updated selectable pose sets of the mobile double-arm robot by utilizing an evaluation function to determine the optimal pose of the mobile robot; according to the optimal pose of the mobile robot, carrying out trajectory planning and trajectory tracking control;
the ending module is used for judging whether the task to be executed of the mobile double-arm robot is finished or not, and if the task to be executed of the mobile double-arm robot is finished, the cycle is ended; if not, returning to execute the next subtask.
The invention also provides a motion planning device for the mobile double-arm robot, which comprises:
a memory for storing a computer program;
a processor for implementing the steps of the method of moving the dual-arm robotic motion planning apparatus when executing the computer program.
The invention also provides a computer readable storage medium having stored thereon a computer program which, when executed by a processor, carries out the steps of the method of moving a dual-arm robotic motion planning apparatus.
Compared with the prior art, the invention has the beneficial effects that:
the invention provides a method for planning the motion of a mobile double-arm robot, which is used for intelligent dynamic motion planning of a mobile high-redundancy double-arm robot and realizes the collaborative motion planning of a mobile base and a left hand and a right hand by introducing a relative inverse reachability graph of the mobile base and the left hand and the right hand; meanwhile, according to the RiDRM image of the mobile base of the mobile double-arm robot relative to the right hand and the LiDRM image of the mobile base relative to the left hand, the mobile base pose and the upper arm operation pose which meet the operation performance requirements of the right hand and the left hand can be determined, the intelligent humanoid motion planning of the mobile double-arm robot in a dynamic and unstructured environment is realized, the process is simple, the motion planning effect is good, and the planning efficiency is high.
Furthermore, the process of constructing the right-hand RiDRM graph of the mobile base of the mobile double-arm robot and the left-hand LiDRM graph of the mobile base is combined with an offline process and an online process, so that the online use efficiency is not influenced, and the actual online search rate can be very high; if the barrier is detected on line, the RiDRM image and the LiDRM image are updated on line only by discarding the collided sampling poses, so that the updating efficiency is improved; and the coordinated motion planning of the mobile chassis and the two arms is realized by introducing a relative inverse reachability graph of the mobile chassis and the two arms, and human-like motion evaluation indexes of the mobile two-arm robot are defined, so that intelligent human-like motion planning is realized.
The motion planning method of the mobile double-arm robot can be used for various mobile double-arm robot task scenes such as static/dynamic, structured/unstructured, single arm/double arms, base-upper arm coordination and the like: in a static and structured environment, aiming at a single-arm task/double-arm cooperative task, the intelligent autonomous planning of the pose of a mobile base of the mobile double-arm robot can be realized; in a static and structured environment, aiming at a single-arm task/double-arm cooperative task, the cooperative intelligent autonomous planning of a mobile base and an end effector of a mobile double-arm robot can be realized; in a static and structured environment, aiming at a single-arm task/double-arm cooperative task, the humanoid pose planning of the robot can be realized; in a dynamic and unstructured environment, aiming at a single-arm task/double-arm cooperative task, the quick dynamic intelligent autonomous planning of the pose of a mobile base of a mobile double-arm robot can be realized; in a dynamic and unstructured environment, aiming at a single-arm task/double-arm cooperative task, the rapid dynamic intelligent autonomous planning of the cooperative motion of a mobile base and an end effector of a mobile double-arm robot can be realized; in a dynamic and unstructured environment, aiming at a single-arm task/double-arm cooperative task, the rapid intelligent planning of the humanoid pose of the robot can be realized; the dynamic intelligent human-simulated motion planning of the human-foreseeable mobile double-arm robot is realized in a dynamic and unstructured scene which needs to be cooperated with or interacted with the human.
Detailed Description
In order to make the technical problems, technical solutions and advantageous effects of the present invention more apparent, the following embodiments further describe the present invention in detail. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
The invention provides a motion planning method for a mobile double-arm robot, which comprises the following steps:
step 1, constructing a RiDRM graph of a mobile base of the mobile two-arm robot relative to a right hand and a LiDRM graph of the mobile base relative to a left hand.
The process of constructing the RiDRM graph of the moving base of the moving double-arm robot relative to the right hand is as follows:
the process of constructing the RiDRM graph of the moving base of the moving double-arm robot relative to the right hand comprises an off-line RiRM construction process and an on-line RiDRM construction process;
the off-line RiRM construction process specifically comprises the following steps:
randomly setting the position of a right-hand target of the mobile double-arm robot in a 3D space, and uniformly generating the position and posture of the right-hand target of the mobile double-arm robot;
setting the pose of a right-hand target of the mobile double-arm robot as a reference coordinate system;
according to the right-hand target pose of the mobile double-arm robot, IK solution is carried out to obtain a right-hand candidate pose qkr;
Judging the candidate pose q of the right handkrWhether it is a feasible solution;
if yes, solving the right-hand candidate pose qkrEvaluation function f ofkDetermining candidate poses q of a mobile base of a mobile two-arm robotb;
If not, returning to obtain the right-hand candidate pose again;
constructing and right-hand candidate pose qkrCorresponding RiRM space pixel viIs moving base arrival list ReiAnd with the right-hand candidate pose qkrCorresponding RiRM space pixel viList O of mobile base occupanciesi;
Judging the candidate pose q of the right handkrIf the generated number of the right-hand candidate poses does not reach the preset value N, returning to continuously obtain the right-hand candidate poses, otherwise, completing the construction of the offline RiRM;
the construction process of the online RiDRM specifically comprises the following steps:
initializing a RiDRM space to RiRM;
dynamically detecting whether a new obstacle exists in the environment, and if not, completing the construction of the online RiDRM;
if so, setting a right-hand candidate pose q colliding with a new obstaclekrIs no; synchronously updating pixel v corresponding to RiDRM spaceiTo the arrival list ReiAnd a pixel v corresponding to the RiDRM spaceiOccupancy list Oi。
The process of constructing the relative left-hand LiDRM graph of the mobile base of the mobile double-arm robot is as follows:
the process for constructing the relative left-hand LiDRM graph of the mobile base of the mobile double-arm robot comprises an offline LiRM construction process and an online LiDRM construction process;
the offline LiRM construction process specifically comprises the following steps:
randomly giving the left-hand target position of the mobile double-arm robot in a 3D space, and uniformly generating the left-hand target pose of the mobile double-arm robot;
setting the left-hand target pose of the mobile double-arm robot as a reference coordinate system;
according to the left-hand target pose of the mobile double-arm robot, IK solution is carried out to obtain a left-hand candidate pose qkl;
Judging left hand candidate pose qklWhether it is a feasible solution;
if yes, solving the left-hand candidate pose qklEvaluation function f ofkDetermining candidate poses q of a mobile base of a mobile two-arm robotb;
If not, returning to obtain the left-hand candidate pose again;
constructing and left-hand candidate pose qklCorresponding LiRM space pixel viIs moving base arrival list ReiAnd with the right-hand candidate pose qklCorresponding LiRM space pixel viList O of mobile base occupanciesi;
Judging left hand candidate pose qklIf the number of the generated positions reaches the preset value N, returning to continuously acquire the left-hand candidate poses, otherwise, completing the construction of the offline LiRM;
the construction process of the online LiDRM specifically comprises the following steps:
initializing LiDRM space to LiRM;
dynamically detecting whether a new obstacle exists in the environment, and if not, completing the construction of the online LiDRM;
if yes, setting a left-hand candidate pose q colliding with a new obstacleklIs no; synchronous updating of corresponding pixel v of LiDRM spaceiTo the arrival list ReiAnd a pixel v corresponding to the LiDRM spaceiOccupancy list Oi。
And 2, determining a right-hand expected grabbing pose and a left-hand expected grabbing pose of the mobile double-arm robot according to the target object to be grabbed.
Step 3, planning and decomposing the tasks to be executed of the mobile double-arm robot to obtain a plurality of subtasks; and respectively determining the right-hand expected pose and the left-hand expected pose of each subtask according to the determined right-hand expected grabbing pose and the left-hand expected grabbing pose of the mobile double-arm robot.
And 4, executing the subtasks according to the expected right-hand pose and the expected left-hand pose of each subtask, transforming the RiDRM image of the mobile base of the mobile double-arm robot relative to the right hand to the expected right-hand position of the corresponding subtask, and transforming the LiDRM image of the mobile base of the mobile double-arm robot relative to the left hand to the expected left-hand position of the corresponding subtask.
And 5, dynamically detecting whether a new obstacle exists in the environment.
Step 6, if a new obstacle is detected, updating the selectable enabling of the pose set in the RiDRM image of the moving base of the moving double-arm robot relative to the right hand and the selectable enabling of the pose set in the LiDRM image of the moving base relative to the left hand; and respectively obtaining the updated RiDRM graph of the mobile base of the mobile two-arm robot relative to the right hand and the updated LiDRM graph of the mobile base relative to the left hand.
And 7, determining an optional position set of the mobile base of the mobile double-arm robot according to the updated RiDRM image of the mobile base of the mobile double-arm robot relative to the right hand and the updated LiDRM image of the mobile base relative to the left hand.
And 8, if no new obstacle is detected, determining an optional position set of the mobile base of the mobile double-arm robot according to the RiDRM image of the mobile base of the mobile double-arm robot relative to the right hand and the LiDRM image of the mobile base of the mobile double-arm robot relative to the left hand.
Step 9, designing an optimal pose set of the mobile double-arm robot, adding the optimal pose set of the mobile double-arm robot into an optional pose set of the mobile double-arm robot, and obtaining an updated optional pose set of the mobile double-arm robot; and the optimal position set of the mobile double-arm robot is designed by adopting an improved MaxiMin NSGA-II algorithm.
And step 10, determining the optimal pose of the mobile robot according to the updated selectable pose set of the mobile double-arm robot.
And 11, planning a track by adopting a direct bidirectional RRT and gradient descent algorithm according to the optimal pose of the mobile robot, and performing track tracking control by using a self-adaptive RBF neural network.
Step 12, judging whether the task to be executed of the mobile double-arm robot is finished or not, and if so, finishing the cycle; if not, returning to execute the next subtask.
The invention also provides a motion planning system of the mobile double-arm robot, which comprises a construction module, a task planning decomposition module, an execution module, an optimization module and an end module. And the construction module is used for constructing a RiDRM graph of the mobile base of the mobile two-arm robot relative to the right hand and a LiDRM graph of the mobile base relative to the left hand. The task planning decomposition module is used for determining a right-hand expected grabbing pose and a left-hand expected grabbing pose of the mobile double-arm robot according to the target object to be grabbed; planning and decomposing tasks to be executed of the mobile double-arm robot to obtain a plurality of subtasks; and respectively determining the right-hand expected pose and the left-hand expected pose of each subtask according to the determined right-hand expected grabbing pose and the left-hand expected grabbing pose of the mobile double-arm robot. The execution module is used for executing the subtasks according to the expected right-hand pose and the expected left-hand pose of each subtask, transforming the RiDRM image of the mobile base of the mobile double-arm robot relative to the right hand to the expected right-hand position of the corresponding subtask, and transforming the LiDRM image of the mobile base of the mobile double-arm robot relative to the left hand to the expected left-hand position of the corresponding subtask; dynamically detecting whether a new obstacle exists in the environment; if so, updating the selectable enabling of the pose set in the LiDRM image of the mobile base relative to the right hand of the mobile two-arm robot and the selectable enabling of the pose set in the LiDRM image of the mobile base relative to the left hand of the mobile two-arm robot; and respectively obtaining the updated RiDRM graph of the mobile base of the mobile two-arm robot relative to the right hand and the updated LiDRM graph of the mobile base relative to the left hand. The optimization module is used for determining an optional position set of the mobile base of the mobile double-arm robot according to the updated RiDRM graph of the mobile base of the mobile double-arm robot relative to the right hand and the updated LiDRM graph of the mobile base relative to the left hand; designing an optimal pose set of the mobile double-arm robot, adding the optimal pose set of the mobile double-arm robot into an optional pose set of the mobile double-arm robot, and obtaining an updated optional pose set of the mobile double-arm robot; comprehensively evaluating the poses of the updated selectable pose sets of the mobile double-arm robot by utilizing an evaluation function to determine the optimal pose of the mobile robot; and carrying out trajectory planning and trajectory tracking control according to the optimal pose of the mobile robot. The ending module is used for judging whether the task to be executed of the mobile double-arm robot is finished or not, and if the task to be executed of the mobile double-arm robot is finished, the cycle is ended; if not, returning to execute the next subtask.
The invention also provides a motion planning device for the mobile double-arm robot, which comprises: a memory for storing a computer program; a processor for implementing the steps of the method for motion planning of a mobile two-arm robot when executing the computer program.
The processor implements the steps of the above-mentioned method for planning the movement of the mobile two-arm robot when executing the computer program, or implements the functions of the modules in the above-mentioned system when executing the computer program.
Illustratively, the computer program may be partitioned into one or more modules/units that are stored in the memory and executed by the processor to implement the invention. The one or more modules/units may be a series of computer program instruction segments capable of performing specific functions, the instruction segments being used to describe the execution of the computer program in the mobile dual-arm robotic motion planning apparatus. For example, the computer program may be divided into a construction module, a mission planning decomposition module, an execution module, an optimization module, and an end module, and the specific functions of the modules are as follows: and the construction module is used for constructing a RiDRM graph of the mobile base of the mobile two-arm robot relative to the right hand and a LiDRM graph of the mobile base relative to the left hand. The task planning decomposition module is used for determining a right-hand expected grabbing pose and a left-hand expected grabbing pose of the mobile double-arm robot according to the target object to be grabbed; planning and decomposing tasks to be executed of the mobile double-arm robot to obtain a plurality of subtasks; and respectively determining the right-hand expected pose and the left-hand expected pose of each subtask according to the determined right-hand expected grabbing pose and the left-hand expected grabbing pose of the mobile double-arm robot. The execution module is used for executing the subtasks according to the expected right-hand pose and the expected left-hand pose of each subtask, transforming the RiDRM image of the mobile base of the mobile double-arm robot relative to the right hand to the expected right-hand position of the corresponding subtask, and transforming the LiDRM image of the mobile base of the mobile double-arm robot relative to the left hand to the expected left-hand position of the corresponding subtask; dynamically detecting whether a new obstacle exists in the environment; if so, updating the selectable enabling of the pose set in the LiDRM image of the mobile base relative to the right hand of the mobile two-arm robot and the selectable enabling of the pose set in the LiDRM image of the mobile base relative to the left hand of the mobile two-arm robot; and respectively obtaining the updated RiDRM graph of the mobile base of the mobile two-arm robot relative to the right hand and the updated LiDRM graph of the mobile base relative to the left hand. The optimization module is used for determining an optional position set of the mobile base of the mobile double-arm robot according to the updated RiDRM graph of the mobile base of the mobile double-arm robot relative to the right hand and the updated LiDRM graph of the mobile base relative to the left hand; designing an optimal pose set of the mobile double-arm robot, and adding the optimal pose of the mobile double-arm robot into an optional pose set of the mobile double-arm robot; comprehensively evaluating the poses of the updated selectable pose sets of the mobile double-arm robot by utilizing an evaluation function to determine the optimal pose of the mobile robot; and carrying out trajectory planning and trajectory tracking control according to the optimal pose of the mobile robot. The ending module is used for judging whether the task to be executed of the mobile double-arm robot is finished or not, and if the task to be executed of the mobile double-arm robot is finished, the cycle is ended; if not, returning to execute the next subtask.
The motion planning equipment of the mobile double-arm robot can be computing equipment such as a desktop computer, a notebook computer, a palm computer and a cloud server. The mobile dual-arm robot motion planning apparatus may include, but is not limited to, a processor, a memory. It will be appreciated by those skilled in the art that the above is merely an example of a mobile two-arm robotic motion planning apparatus and does not constitute a limitation of a mobile two-arm robotic motion planning apparatus, and that more components may be included, or certain components may be combined, or different components may be included, e.g., the mobile two-arm robotic motion planning apparatus may also include input-output devices, network access devices, buses, etc.
The processor may be a Central Processing Unit (CPU), other general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, etc. The general purpose processor can be a microprocessor or the processor can be any conventional processor or the like that is the control center for the mobile dual-arm robotic motion planning apparatus, connecting the various parts of the overall mobile dual-arm robotic motion planning apparatus using various interfaces and lines.
The memory may be used to store the computer programs and/or modules, and the processor may implement the various functions of the mobile dual-arm robotic motion planning apparatus by executing or executing the computer programs and/or modules stored in the memory, as well as by invoking data stored in the memory.
The memory may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required by at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may store data (such as audio data, a phonebook, etc.) created according to the use of the cellular phone, and the like. In addition, the memory may include high speed random access memory, and may also include non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) card, a flash memory card (FlashCard), at least one disk storage device, a flash memory device, or other volatile solid state storage device.
The invention also provides a computer readable storage medium storing a computer program which, when executed by a processor, implements the steps of the method for motion planning of a mobile two-arm robot.
The modules/units integrated with the mobile two-arm robot motion planning apparatus may be stored in a computer-readable storage medium if implemented in the form of software functional units and sold or used as separate products.
Based on such understanding, the present invention realizes all or part of the processes of the above method, and can also be implemented by a computer program for instructing relevant hardware, wherein the computer program can be stored in a computer readable storage medium, and when being executed by a processor, the computer program can realize the steps of the above method for planning the movement of the mobile dual-arm robot. Wherein the computer program comprises computer program code, which may be in source code form, object code form, executable file or preset intermediate form, etc.
The computer-readable storage medium may include: any entity or device capable of carrying the computer program code, recording medium, usb disk, removable hard disk, magnetic disk, optical disk, computer memory, Read-only memory (ROM), Random Access Memory (RAM), electrical carrier wave signals, telecommunications signals, software distribution medium, etc.
It should be noted that the computer readable storage medium may contain content that is subject to appropriate increase or decrease as required by legislation and patent practice in jurisdictions, for example, in some jurisdictions, computer readable storage media that does not include electrical carrier signals and telecommunications signals in accordance with legislation and patent practice.
Examples
As shown in fig. 1, the embodiment provides a method for planning the movement of a mobile two-arm robot, which includes the following steps:
step 1, giving a preset high-redundancy mobile double-arm robot, and constructing a RiDRM graph of a mobile base of the mobile double-arm robot relative to a right hand and a LiDRM graph of the mobile base relative to a left hand.
Step 2, presetting a certain target object to be grabbed, and determining the target object to be grabbed by using the detection system of the mobile double-arm robot; and determining a right-hand expected grabbing pose and a left-hand expected grabbing pose of the mobile double-arm robot according to the target object to be grabbed.
Step 3, planning and decomposing the tasks to be executed of the mobile double-arm robot by using the task planning system of the mobile double-arm robot to obtain a plurality of subtasks; and respectively determining the right-hand expected pose and the left-hand expected pose of each subtask according to the determined right-hand expected grabbing pose and the left-hand expected grabbing pose of the mobile double-arm robot.
And 4, executing the subtasks according to the expected right-hand pose and the expected left-hand pose of each subtask, translating and transforming the RiDRM image of the mobile base of the mobile double-arm robot relative to the right hand to the expected right-hand position of the corresponding subtask, and translating and transforming the LiDRM image of the mobile base of the mobile double-arm robot relative to the left hand to the expected left-hand position of the corresponding subtask.
And 5, dynamically detecting whether a new obstacle exists in the environment. If a new obstacle is detected, go to step 6; if no new obstacle is detected, go to step 7.
Step 6, updating the selectable enabling of the pose set in the RiDRM image of the moving base relative to the right hand and the selectable enabling of the pose set in the LiDRM image of the moving base relative to the left hand of the moving double-arm robot according to the detected new barrier; respectively obtaining an updated RiDRM graph of the mobile base of the mobile double-arm robot relative to the right hand and an updated LiDRM graph of the mobile base relative to the left hand; and determining an optional position set of the mobile base of the mobile double-arm robot according to the updated RiDRM graph of the mobile base of the mobile double-arm robot relative to the right hand and the updated LiDRM graph of the mobile base relative to the left hand.
And 7, determining an optional position set of the mobile base of the mobile double-arm robot according to the RiDRM image of the mobile base of the mobile double-arm robot relative to the right hand and the LiDRM image of the mobile base of the mobile double-arm robot relative to the left hand.
And 8, designing the optimal pose of the robot to be added into the optional pose set by adopting an improved MaxiMin NSGA-II algorithm, selecting the optional poses of the left arm and the right arm according to the right-hand BiDRM algorithm and the left-hand LiDRM algorithm to be added into the optional pose set, and obtaining the updated optional pose set of the mobile double-arm robot.
And 9, comprehensively evaluating the pose of the updated selectable pose set of the mobile double-arm robot by utilizing an evaluation function, and determining the optimal pose of the mobile robot.
And step 10, according to the optimal pose of the mobile robot, performing trajectory planning by adopting a direct bidirectional RRT and gradient descent algorithm, and performing trajectory tracking control by using a self-adaptive RBF neural network.
Step 11, judging whether the task to be executed of the mobile double-arm robot is finished or not, and if so, finishing the cycle; if not, returning to step 4 to execute the next subtask.
In this embodiment, the process of constructing the riddrm map of the mobile base of the mobile two-arm robot relative to the right hand includes an offline ridm construction process and an online riddrm construction process, which are specifically as follows:
as shown in fig. 2, the offline RiRM construction process specifically includes the following steps:
s11, randomly setting the right-hand target position of the mobile double-arm robot in the 3D space, and uniformly generating the right-hand target pose of the mobile double-arm robot;
s12, setting the pose of the right-hand target of the mobile double-arm robot as a reference coordinate system;
s13, carrying out IK solving according to the right hand target pose of the mobile double-arm robot to obtain a right hand candidate pose qkr;
S14, judging the candidate pose q of the right handkrWhether it is a feasible solution;
s15, if yes, solving the right-hand candidate pose qkrEvaluation function f ofkDetermining candidate poses q of a mobile base of a mobile two-arm robotb;
S16, if not, returning to the step S13, and re-acquiring the candidate pose of the right hand;
s17, constructing and right-hand candidate pose qkrCorresponding RiRM space pixel viIs moving base arrival list ReiAnd with the right-hand candidate pose qkrCorresponding RiRM space pixel viList O of mobile base occupanciesi;
S18, judgmentCandidate pose q for right-handed offkrIf not, returning to the step S13 to continuously acquire the right-hand candidate pose, otherwise, completing the construction of the offline RiRM.
As shown in fig. 3, the construction process of the online riddrm specifically includes the following steps:
s19, initializing the RiDRM space into RiRM;
s110, dynamically detecting whether a new obstacle exists in the environment, and if not, completing construction of online RiDRM;
s111, if yes, setting a right-hand candidate pose q colliding with a new obstaclekrIs no; synchronously updating pixel v corresponding to RiDRM spaceiTo the arrival list ReiAnd a pixel v corresponding to the RiDRM spaceiOccupancy list Oi。
In this embodiment, the process of constructing the mobile base of the mobile two-arm robot relative to the left-hand LiDRM diagram includes an offline LiRM construction process and an online LiDRM construction process, and specifically includes the following steps:
as shown in fig. 4, the offline LiRM building process specifically includes the following steps:
s21, randomly setting the left-hand target position of the mobile double-arm robot in the 3D space, and uniformly generating the left-hand target pose of the mobile double-arm robot;
s22, setting the left-hand target pose of the mobile double-arm robot as a reference coordinate system;
s23, carrying out IK solving according to the left-hand target pose of the mobile double-arm robot to obtain a left-hand candidate pose qkl;
S24, judging left hand candidate pose qklWhether it is a feasible solution;
s25, if yes, solving the left hand candidate pose qklEvaluation function f ofkDetermining candidate poses q of a mobile base of a mobile two-arm robotb;
S26, if not, returning to the step S23 to obtain the left-hand candidate pose again;
s27, constructing and left-hand candidate pose qklCorresponding LiRM spacePixel viIs moving base arrival list ReiAnd with the right-hand candidate pose qklCorresponding LiRM space pixel viList O of mobile base occupanciesi;
S28, judging left hand candidate pose qklIf not, returning to the step S23 to continue to acquire the left-hand candidate pose, otherwise, completing the construction of the offline LiRM.
As shown in fig. 5, the construction process of the online LiDRM specifically includes the following steps:
s29, initializing the LiDRM space into LiRM;
s210, dynamically detecting whether a new obstacle exists in the environment, and if not, completing the construction of the online LiDRM;
s211, if yes, setting a left-hand candidate pose q colliding with a new obstacleklIs no; synchronous updating of corresponding pixel v of LiDRM spaceiTo the arrival list ReiAnd a pixel v corresponding to the LiDRM spaceiOccupancy list Oi。
In this embodiment, in order to realize the intelligent humanoid motion of the mobile two-arm robot, in the process of constructing the riddrm diagram of the mobile base of the mobile two-arm robot relative to the right hand and the LiDRM diagram of the mobile base relative to the left hand, an evaluation function based on the following five evaluation indexes is introduced, wherein the following middle end effector is the left hand or the right hand of the mobile two-arm robot; the method comprises the following specific steps:
(1) end effector positioning accuracy evaluation function
f1(θ)=||xR(θ)-xRd||+||xL(θ)-xLd||
Wherein f is1(θ) is a positioning accuracy evaluation function of the end effector; x is the number ofR(θ) is the actual position of the right hand; x is the number ofRdThe desired position for the right hand; x is the number ofL(θ) is the actual position of the left hand; x is the number ofLdThe desired position of the left hand. (Chinese physical meanings of the above letters are described separately)
(2) Evaluation function of direction tracking accuracy of end effector:
f2(θ)=||eqR(θ)+||eqL(θ)||
wherein, f2(θ) is a direction tracking accuracy evaluation function of the end effector; e.g. of the typeqR(θ) is the attitude error of the right hand; e.g. of the typeqL(θ) is the left hand attitude error; wherein the attitude error e of the right handqR(theta) and left hand attitude error eqLAnd (theta) is expressed by quaternion.
In this embodiment, in addition to reaching the desired position and pose of the left and right hands, the following evaluation indexes are introduced to enable the mobile two-arm robot to achieve the human-simulated motion behavior.
(3) Operational performance evaluation function of end effector:
in the embodiment, the operation performance can be used for describing the distance from the pose of the mobile double-arm robot to the singular pose; the expression of the operational performance is as follows:
Wherein Ω is the operating performance; j (theta) is a Jacobian matrix of the end effector; j. the design is a squareT(theta) is the transpose of the jacobian matrix J (theta) of the end effector; sigmamaxThe maximum singular value of a jacobian matrix J (theta) of the end effector; sigmaminIs the smallest singular value of the jacobian matrix J (θ) for the end effector.
Thus, the operational performance evaluation function of the end effector:
f3(θ)=-(ΩR(R)+ΩL(R))
wherein f is3(θ) is an end effector performance evaluation function; omegaR(R) right hand performance; omegaL(R) is the left hand performance.
(4) Joint displacement evaluation function:
in order to save energy, the mobile double-arm robot needs to have minimum joint displacement, so the joint displacement evaluation index based on quality is introduced:
wherein f is4(theta) is a joint displacement evaluation function, and is used for reflecting that the heaviest part of the mobile double-arm robot has the largest moving difficulty; n is the dimension of the generalized variable theta; thetaiIs a generalized variable; thetaiminAs a generalized variable thetaiThe left boundary of (1); thetaimaxAs a generalized variable thetaiThe right boundary of (c); wiIs a weight based on the mass distribution; miIs the total mass of link i to link k; mjIs the total mass of link j to link k; n iseSubscripts for the end effector; m iskIs the mass of the connecting rod k.
(5) Evaluation function of displacement of end effector relative to base:
in order to realize the cooperation between the mobile base and the operating arm; the evaluation function based on the displacement of the end effector in the moving base coordinate system is defined as:
f5(θ)=||xRb(θ)-xRbi||+||xLb(θ)-xLbi||
wherein f is5(θ) is an evaluation function of the displacement of the end effector relative to the base; x is the number ofRb(θ) is the desired position of the right hand in the mobile base coordinate system; x is the number ofRbiThe initial position of the right hand in the coordinate system of the mobile base; x is the number ofLb(θ) is the desired position of the left hand in the mobile base coordinate system; x is the number ofLbiThe initial position of the left hand in the mobile base coordinate system.
In the method for planning the movement of the mobile two-arm robot in this embodiment, assuming that the grasping positions of the left and right hands of the mobile two-arm robot are known, the positions of the mobile base, the upper body and the two arms of the mobile two-arm robot need to be determined.
Assuming that no barrier exists in the environment, grabbing the pose according to the expectation of the right hand or the left hand, and determining the pose area of the mobile base according to the RiDRM graph of the mobile base relative to the right hand and the LiDRM graph of the mobile base relative to the left hand; the design results are shown in fig. 6-7 and fig. 9-10, and it can be seen from fig. 6-7 and fig. 9-10 that the selectable area of the mobile base is determined as the area where the mobile base falls on the ground, i.e. the area with z coordinate [ - δ, + δ ], δ >0, and further the selectable area of the mobile base is determined as the annular area surrounding the right and left hands.
The optimal pose of the objective function is selected from the selectable pose set as the expected grabbing pose of the mobile two-arm robot, and as a result, as shown in fig. 8 and 11, it can be seen from fig. 8 and 11 that the grabbing pose of the mobile two-arm robot is predictable and humanoid, and no singular pose occurs.
Secondly, assuming that a rectangular obstacle exists in the environment, the updating time of the mobile base relative to the right-hand LiDRM image is 0.49366s, and the updating time of the mobile base relative to the left-hand LiDRM image is 0.41696517 s; the result of designing the right-handed riddrm map and the optional area of the pose of the mobile base when there is an obstacle is shown in fig. 12, and the result of designing the left-handed LiDRM map and the optional area of the pose of the mobile base when there is an obstacle is shown in fig. 13; as can be seen from fig. 12 and 13, the number of the selectable poses is changed from 17 to 6 or 8; the result of pose planning when an obstacle is present according to the grasp pose of the right hand is shown in fig. 14, and as can be seen from fig. 14, the pose planning time when an obstacle is present according to the grasp pose of the right hand is 17.691014 s; the pose planning when an obstacle is present according to the grasp pose of the left hand is shown in fig. 15, and as can be seen from fig. 15, the pose planning time when an obstacle is present according to the grasp pose of the left hand is 17.409708 s; as shown in fig. 16, it can be seen from fig. 16 that the selectable pose area of the moving base is an annular area and is more intensively distributed in the symmetry axis area of the desired positions of the left hand and the right hand when the left hand and the right hand operate simultaneously.
For a description of relevant parts in the system, the device and the computer-readable storage medium for planning the movement of the mobile dual-arm robot provided in this embodiment, reference may be made to the detailed description of the corresponding parts in the method for planning the movement of the mobile dual-arm robot described in this embodiment, which is not described herein again.
The method for planning the motion of the mobile double-arm robot can be used for planning the motion of tasks such as single-hand operation, single-hand and base system operation, double-arm cooperative operation, double-arm-base cooperative operation and the like, can be applied to dynamic and static environments, and greatly improves the intelligent degree of the robot; at the same time, it can be extended quickly to more complex motion planning situations, such as: if the situation that the left hand needs to be controlled relative to the right hand is involved, the optimal pose of the base and the right arm (left arm) can be determined directly on the basis of the existing algorithm, and then the pose planning of the left arm (right arm) is carried out.
The motion planning method of the mobile double-arm robot can be used for the motion planning of a home assistant robot, such as: giving position information of a target object to be taken; among them, the target object is, for example: the robot can intelligently plan a selectable area of a robot base when the robot takes the object, and plan the optimal position and posture when the robot grabs the object; the method for planning the motion of the mobile double-arm robot can also be used for planning the motion of operation tasks in industrial personalized production, such as: given the position information of a target object (such as a metal part) needing to be operated (welded, assembled, sprayed and the like), the robot can intelligently plan a selectable area of a robot base when the object is operated, and plan the optimal position and posture of the robot when the object is operated.
The above-described embodiment is only one of the embodiments that can implement the technical solution of the present invention, and the scope of the present invention is not limited by the embodiment, but includes any variations, substitutions and other embodiments that can be easily conceived by those skilled in the art within the technical scope of the present invention disclosed.