Next Article in Journal
Human–Machine Relationship—Perspective and Future Roadmap for Industry 5.0 Solutions
Previous Article in Journal
Formation Control for Second-Order Multi-Agent Systems with Collision Avoidance
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Bidirectional RRT*-Based Path Planning for Tight Coordination of Dual Redundant Manipulators

1
School of Mechanical and Electrical Engineering, Central South University, Changsha 410083, China
2
The State Key Laboratory of High Performance Complex Manufacturing, Central South University, Changsha 410083, China
*
Author to whom correspondence should be addressed.
Machines 2023, 11(2), 209; https://doi.org/10.3390/machines11020209
Submission received: 14 December 2022 / Revised: 28 January 2023 / Accepted: 30 January 2023 / Published: 1 February 2023
(This article belongs to the Section Robotics, Mechatronics and Intelligent Machines)

Abstract

:
There are closed-chain constraints between the left manipulator and the right manipulator in tight coordination of the dual redundant manipulator. The existing planning algorithms suitable for loose coordination cannot be directly applied to tight coordination, as the planned path cannot satisfy the closed-chain constraints. To solve the above problem, a master-slave planning method based on bidirectional RRT* is proposed for dual redundant manipulators. Bidirectional RRT* is adopted to plan the path of the master manipulator. The path of the slave manipulator is calculated by terminal generalized velocity constraints instead of terminal position and posture constraints. Moreover, a local path replanning strategy is proposed to solve the problem that the planned path is actually not feasible due to the discontinuous joint path of the slave manipulator. The joint self-motion in the null space is utilized to keep the terminal position and posture of the slave manipulator unchanged. The proposed method is verified by simulations and experiments and the results show that it can solve the discontinuity problem, increase the success rate, shorten the planning time and satisfy closed-chain constraints. Therefore, the proposed method can be feasibly and effectively applied to the tight coordination of dual redundant manipulators.

1. Introduction

Redundant manipulators, compared with nonredundant manipulators [1,2], can be more flexible to perform a variety of delicate and complex operations due to their increased degrees of freedom [3,4,5]. Hence, they are widely applied to various industrial fields. For many operations such as transportation, assembly, maintenance and processing of complex parts, single redundant manipulators may not be competent due to the limitations of their load-bearing capacity, workspace and application range. Therefore, coordination operations of dual redundant manipulators have attracted extensive attention [6,7,8].
Path planning is one of the key technologies for safe operations of dual redundant manipulators [9,10,11]. Sampling-based algorithms are the most popular algorithms for path planning. Rapidly exploring random tree (RRT) and its derivative algorithms are the mainstream among various sampling-based algorithms [12,13,14,15,16,17]. Yu et al. [18] proposed a spline RRT* for coordinated motion planning of dual-arm space manipulators. RRT* was adopted to plan the desired path and then the quartic spline function was adopted to smooth it. Ying et al. [19] proposed a bidirectional RRT with deep learning for the cooperative assembly of dual manipulators. The historical training data of deep learning were adopted to generate new nodes that were close to the goal node and away from the obstacles. Chen et al. [20] proposed a bidirectional RRT with post-processing for the cooperative assembly of dual manipulators. After the planning of bidirectional RRT was completed, the path was optimized by post-processing. Compared with RRT, bidirectional RRT has a faster convergence speed, and RRT* can plan an optimized path. To shorten the planning time and path length, bidirectional RRT* (B-RRT*) is proposed by combining bidirectional RRT with RRT* [21,22]. Therefore, B-RRT* is adopted in this study for path planning of dual redundant manipulators.
Existing algorithms based on RRT are generally applied to plan the path for loose coordination of dual redundant manipulators [18,19,20,23,24,25]. Compared with loose coordination, the terminal positions and postures of the left manipulator and the right manipulator are mutually restricted by the kinematic closed-chain constraints in tight coordination [26,27]. Therefore, planning algorithms suitable for loose coordination cannot be directly applied to tight coordination. To solve the above problem, a master-slave planning method based on B-RRT* is proposed for tight coordination of dual redundant manipulators in this study.
For general master-slave planning methods, the path of the slave manipulator in the task space is obtained by the terminal position and posture constraints, and then its path in the joint space is calculated by solving the inverse kinematics [28,29]. For redundant manipulators, the inverse kinematics is usually solved by numerical algorithms. Numerical algorithms generally obtain the joint angular velocity of the redundant manipulator through its terminal generalized velocity and then calculate the joint angles accordingly [30,31]. According to the above characteristics, the terminal generalized velocity constraints are directly adopted to obtain the joint angular velocity of the slave manipulator in our study. Therefore, it can avoid the calculation of inverse kinematics and improve the execution efficiency.
When the master-slave planning method based on B-RRT* is applied to dual redundant manipulators, it cannot guarantee the continuity of the path at the connection nodes of two trees in the joint space. The reasons for this problem are described as follows. The path of the master manipulator is planned by the planning algorithm. Hence, it is continuous at the two connection nodes in both the task space and the joint space. Nevertheless, the path of the slave manipulator is calculated by the closed-chain constraints that are just acted on the terminal states. Therefore, it can only ensure that its path is continuous at the two connection nodes in the task space. Since there are infinite sets of inverse kinematics solutions for redundant manipulators, there is a high probability that the two sets of joint angles at the two connection nodes are inconsistent and usually quite different. That is, the path of the slave manipulator may be discontinuous at the two connection nodes in the joint space. As a result, there is an additional motion between the two connection nodes in the actual motion due to the above discontinuity problem. This additional motion is not included in the planned path. Therefore, the dual redundant manipulator may collide with obstacles or fail to satisfy the closed-chain constraints in the actual motion. The planned path is actually not feasible in this case. To solve the discontinuity problem, it is necessary to modify the master-slave planning method based on B-RRT* so that the planned path is continuous in both the task space and the joint space.
The main contributions of this paper are highlighted as follows:
(1)
For tight coordination of dual redundant manipulators, a master-slave planning method based on B-RRT* is proposed. One manipulator is regarded as the master manipulator and the other is regarded as the slave manipulator. The path of the master manipulator is planned by B-RRT* and then the path of the slave manipulator is calculated according to the kinematic closed-chain constraints.
(2)
Considering the characteristics of dual redundant manipulators, the path of the slave manipulator is calculated by the terminal generalized velocity constraints instead of the terminal position and posture constraints. In this way, the calculation of the inverse kinematics solutions can be avoided, and the planning efficiency can be improved.
(3)
To solve the discontinuity problem in the joint path of the slave manipulator at the connection nodes when the master-slave planning method based on B-RRT* is applied to dual redundant manipulators, a local path replanning strategy is designed on the basis of the joint self-motion in the null space. On the premise that the terminal position and posture of the slave manipulator remain unchanged, the local path of the slave manipulator between the two connection nodes is replanned to guarantee its continuity and satisfy the closed-chain constraints.
The subsequent contents of this paper are organized as follows. In Section 2, the closed-chain constraints of dual redundant manipulators are described. The master-slave planning method based on B-RRT* for dual redundant manipulators is introduced. The local path replanning strategy is designed. In Section 3, comparative simulations and experiments are carried out, and their results are analyzed. In Section 4, innovations, extended applications and limitations of our study are discussed. In Section 5, conclusions are given.

2. Materials and Methods

2.1. Closed-Chain Constraints for Dual Redundant Manipulators

The general situation of tight coordination operation of dual redundant manipulators is that the left manipulator and the right manipulator cooperate with each other to grip a workpiece and then move it along a desired path. In this situation, a closed-chain structure is formed between the left manipulator, the right manipulator and the workpiece. There are strict constraints between them, which are called the closed-chain constraints. The transportation of a workpiece is taken as an example to describe the closed-chain constraints in the tight coordination operation of dual redundant manipulators, as shown in Figure 1. The left manipulator is taken as the benchmark in the following description.

2.1.1. Terminal Position and Posture Constraints

It can be seen from the purple dotted line box in Figure 1 that there is a closed-chain relationship between the terminal position of the left manipulator and the terminal position of the right manipulator. Therefore, the closed-chain constraint between them can be obtained according to the addition rule of vectors [32,33], as described below:
d 0 + R w l 0 p l 0 l 7 q l + R w l 0 R l 0 l 7 q l d 7 = p w r 7 q r
where d 0 is the position vector of the base coordinate frame of the left manipulator in the world coordinate frame, R w l 0 is the posture transformation matrix of the base coordinate frame of the left manipulator with respect to the world coordinate frame, p l 0 l 7 q l is the position vector of the terminal coordinate frame of the left manipulator in its base coordinate frame, R l 0 l 7 q l is the posture transformation matrix of the terminal coordinate frame of the left manipulator with respect to its base coordinate frame, d 7 is the distance vector between the terminal coordinate frames of the left manipulator and the right manipulator in the terminal coordinate frame of the left manipulator and p w r 7 q r   is the position vector of the terminal coordinate frame of the right manipulator in the world coordinate frame.
According to the transformation relation between the coordinate frames at the four vertices of the purple dotted line box in Figure 1, the constraint between the terminal posture of the left manipulator and the terminal posture of the right manipulator can be obtained [32,33], as described below:
R w r 0 R r 0 r 7 q r = R w l 0 R l 0 l 7 q l R l 7 r 7
where R w r 0 is the posture transformation matrix of the base coordinate frame of the right manipulator with respect to the world coordinate frame, R r 0 r 7 q r is the posture transformation matrix of the terminal coordinate frame of the right manipulator with respect to its base coordinate frame and R l 7 r 7 is the posture transformation matrix of the terminal coordinate frame of the right manipulator with respect to the terminal coordinate frame of the left manipulator.

2.1.2. Terminal Linear and Angular Velocity Constraints

The constraint between the terminal linear velocity of the left manipulator and the terminal linear velocity of the right manipulator can be obtained through the derivation of Equation (1) [32,33], as described below:
R w l 0 J l q l + L q l q ˙ l = R w r 0 J l q r q ˙ r
where L q l = R w l 7 q l d 7 q l , J l q l is the first three rows of the Jacobian matrix of the left manipulator, J l q r is the first three rows of the Jacobian matrix of the right manipulator, q ˙ l   is the joint angular velocity of the left manipulator and q ˙ r is the joint angular velocity of the right manipulator.
For the transportation of a workpiece, the posture transformation matrix R l 7 r 7 is a constant matrix. Therefore, the angular velocity of the terminal coordinate frame of the right manipulator with respect to the terminal coordinate frame of the left manipulator is 0. That is, the terminal angular velocity of the right manipulator is equal to the terminal angular velocity of the left manipulator. The constraint between the terminal angular velocity of the left manipulator and the terminal angular velocity of the right manipulator is described below [32,33]:
R w l 0 ω l = R w r 0 ω r
where ω l = J a q l q ˙ l , ω r = J a q r q ˙ r , ω l is the terminal angular velocity of the left manipulator in its base coordinate frame, ω r is the terminal angular velocity of the right manipulator in its base coordinate frame, J a q l is the last three rows of the Jacobian matrix of the left manipulator and J a q r is the last three rows of the Jacobian matrix of the right manipulator.
The constraint between the terminal generalized velocity of the left manipulator and the terminal generalized velocity of the right manipulator can be obtained by combining constraint (3) with constraint (4) [32], as described below:
q ˙ r = J + q r R w 0 1 J n q l q ˙ l
where R w 0 = R w r 0 O O R w r 0 , J n q l = R w l 0 J l q l + L q l R w l 0 J a q l , J + q r is the pseudo inverse of the Jacobian matrix of the right manipulator.

2.2. Master-Slave Planning Based on B-RRT* for Dual Redundant Manipulators

For dual redundant manipulators, B-RRT* establishes a tree T1 at the initial node qinit and another tree T2 at the goal node qgoal, respectively. The root node of the tree T1 is qinit and the root node of the tree T2 is qgoal. Then, two trees are extended successively until they are connected to each other, as shown in Algorithm 1.
Algorithm 1. Bidirectional RRT*
Input: the initial node qinit and the goal node qgoal
Output: the desired path σ
1. T1.init(qinit); T2.init(qgoal);
2. For i = 1 To N
3.  (T1, flag1, qe1, qe2) Extend(T1, T2);
4.  If  flag1 = true
5.   Break;
6.  End If
7.  (T2, flag2, qe1, qe2) Extend(T2, T1);
8.  If  flag2 = true
9.   Break;
10.  End If
11. End For
12. If  flag1 = true or flag2 = true
13.  σ ← ExtractPath (T1, T2, qinit, qgoal, qe1, qe2);
14. Else
15. σ ← Ø;
16. End If
17. Return σ;
Assuming that both the left manipulator and the right manipulator have n degrees of freedom, the dual redundant manipulator can be regarded as a whole, which is equivalent to a single manipulator with 2n degrees of freedom. In this case, the nodes of two trees can be expressed as below:
q = q l q r
where q l = q 1 l q i l q n l , q r = q 1 r q i r q n r , q is the node of one tree of the dual redundant manipulator, q l is the set of n joint angles of the left manipulator, q r is the set of n joint angles of the right manipulator, q i l is the ith joint angle of the left manipulator and q i r is the ith joint angle of the right manipulator.
The extension processes of two trees are identical. Hence, the extension process of the tree T1 is taken as an example to elaborate the details, as shown in Algorithm 2.
Algorithm 2 (T1, flag, qe1, qe2) ← Extend(T1, T2)
  • flagfalse;
  • qrand ← Sample(qlimit);
  • qnear1 ← Near(qrand, T1);
  • qnew1 ← Steer(qrand, qnear1);
  • feasibility ← DetectCollision(qnew1);
  • If  feasibility = true
  • T1 ← Insert(qnew1, qnear1);
  • T1 ← ReselectParentNode(qnew1, qnear1, T1);
  • T1 ← Rewire(qnew1, T1);
  •  (flag, qe1, qe2) ← JudgeConnectivity(qnew1, T2);
  • While feasibility = true And flag = false
  •   qnear2 ← Near(qnew1, T2);
  •   qnew2 ← Steer(qnew1, qnear2);
  •   feasibility ← DetectCollision(qnew2);
  •   If feasibility = true
  •    T2 ← Insert(qnew2, qnear2);
  •    T2 ← ReselectParentNode(qnew2, qnear2, T2);
  •    T2 ← Rewire(qnew2, T2);
  •    (flag, qe1, qe2) ← JudgeConnectivity(qnew2, T1);
  •   End If
  • End While
  • End If
Firstly, a sampling point qrand can be obtained by random sampling within the motion range of the dual redundant manipulator. Secondly, the node qnear1 that is nearest to the sampling point qrand is searched in the tree T1. Thirdly, a new node qnew1, whose parent node is qnear1, can be obtained by expanding, as shown in Algorithm 3. Fourthly, the collision between the dual redundant manipulator and obstacles at the new node qnew1 is detected. If a collision occurs, the new node qnew1 will be abandoned and then the tree T2 is switched to extend. Conversely, if no collision occurs, the new node qnew1 will be added to the tree T1. Fifthly, the parent node of the new node qnew1 is reselected in its neighborhood. Its new parent node is the node with the lowest path cost. The path cost of a node is the sum of the path length from the root node qinit to this node and the path length from this node to the new node qnew1. Sixthly, all nodes in the neighborhood of the new node qnew1 are rewired. The new node qnew1 is taken as the parent node of these nodes and then their new path costs are calculated. If the new path costs are less than the old path costs, the parent nodes of these nodes are changed to the new node qnew1. On the contrary, the parent nodes of these nodes remain unchanged. Seventhly, the connectivity of the two trees is checked, as shown in Algorithm 4. If the distance between the new node qnew1 and some node of the tree T2 is less than the connection threshold, the two trees have been connected to each other and then the extensions of two trees are stopped. If the distance between the new node qnew1 and any node of the tree T2 is greater than the connection threshold, the tree T2 is extended towards the new node qnew1 until there is a collision or the two trees are connected to each other. In the case that there is a collision, the tree T2 is switched to perform the above steps. Finally, in the case that the extensions of two trees are completed, if the two trees are connected to each other, the desired path can be extracted from the two trees and it will be the output of the algorithm. Otherwise, the empty set is directly returned as the output of the algorithm.
Algorithm 3 qnew ← Steer(qtarget, qnear)
  • ( q t a r g e t l , q t a r g e t r ) ← Decompose(qtarget);
  • ( q n e a r l , q n e a r r ) ← Decompose(qnear);
  • q n e w l ← Expand( q t a r g e t l , q n e a r l );
  • q ˙ l ← ( q n e w l q n e a r l )/t;
  • q ˙ r ← Constraint( q ˙ l, q n e a r l , q n e a r r );
  • q n e w r q n e a r r + t q ˙ r;
  • qnew Merge( q n e w l , q n e w r );
Algorithm 4 (flag, qe1, qe2) ← JudgeConnectivity(qnew, T)
  • qe1qnew;
  • Fori = 1 To k
  • qi ← ExtractNode(T, i);
  • If  Distance(qnew, qi) < threshold
  •   flagtrue;
  •   qe2qi;
  •   Break;
  • Else
  •   flagfalse;
  • End If
  • End For
In the expansion phase, for single redundant manipulators, a new node qnew can be obtained directly by extending a step distance δ forward in the direction from the node qnear to the sampling point qrand. However, for dual redundant manipulators, considering the closed-chain constraints (1)–(5) between the left manipulator and the right manipulator in tight coordination, a new node qnew cannot be obtained by the expansion mode of single redundant manipulators. Therefore, the master-slave planning method is adopted to extend the trees of dual redundant manipulators. It is assumed that the left manipulator is the master manipulator and the right manipulator is the slave manipulator. A new set of joint angles q n e w l of the left manipulator is generated by the expansion mode of single redundant manipulators. Then, the corresponding set of joint angles q n e w r of the right manipulator can be calculated according to the closed-chain constraints. Lastly, a new node qnew of the dual redundant manipulator can be obtained by merging the two sets of joint angles q n e w l and q n e w r .
The closed-chain constraints (1)–(5) of the dual redundant manipulator are the constraints between the terminal states of the left manipulator and the right manipulator. Therefore, the general execution process of the master-slave planning method is described as follows. After obtaining the set of joint angles of the left manipulator, the terminal position and posture of the left manipulator are calculated through forward kinematics. Then, the terminal position and posture of the right manipulator can be calculated through the closed-chain constraints (1) and (2). Finally, the set of joint angles of the right manipulator is solved by inverse kinematics [28,29]. The numbers of degrees of freedom of the left manipulator and the right manipulator are both greater than 6. It results in the calculation of the analytic solution of inverse kinematics being very tedious. Hence, the inverse kinematics is usually solved by numerical algorithms. Numerical algorithms are generally based on the relationship (7) between the terminal generalized velocity of the redundant manipulator and its joint angular velocity. The joint angular velocity of the redundant manipulator is calculated by the numerical algorithm, and then its corresponding set of joint angles can be calculated accordingly [30,31].
q ˙ = J + q V + I n × n J + q J q ε
where V is the terminal generalized velocity vector of the redundant manipulator, J + q is the pseudo inverse of the Jacobian matrix and ε is a vector in the null space.
The closed-chain constraints (3)–(5) of the dual redundant manipulator are essentially the constraints between the terminal generalized velocities of the left manipulator and the right manipulator, but they have been transformed into the constraints between the joint angular velocities of the left manipulator and the right manipulator through the Jacobian matrix. To simplify the calculation of the set of joint angles of the right manipulator, the joint angular velocity of the left manipulator is calculated after obtaining the set of joint angles of the left manipulator. Then, the joint angular velocity of the right manipulator can be calculated through the closed-chain constraints (3)–(5), and the set of joint angles of the right manipulator can be calculated accordingly, as shown in Algorithm 3. This method can avoid the calculation of the inverse kinematics solution and can effectively improve the planning efficiency and shorten the planning time. The specific steps are described as follows:
(I)
In the direction from the node q n e a r l of the left manipulator to its temporary target point q target l , the new node q n e w l can be obtained by extending a step distance δ forward, as described below:
q n e w l = q n e a r l + δ
where q n e w l is the new node of the left manipulator and q n e a r l is the node closest to the temporary target point q t a r g e t l of the left manipulator.
(II)
The motion time t between two adjacent nodes of the dual redundant manipulator is given. Assuming that the left manipulator moves at a uniform speed between the two adjacent nodes in the joint space, the joint angular velocity q ˙ l of the left manipulator can be calculated by Equation (9).
q ˙ l = q n e w l q n e a r l t
where q ˙ l is the joint angular velocity of the left manipulator and t is the motion time between two adjacent nodes of the dual redundant manipulator.
(III)
According to the closed-chain constraint (5), the joint angular velocity q ˙ r of the right manipulator is calculated.
(IV)
Similarly, assuming that the right manipulator moves at a uniform speed between the two adjacent nodes in the joint space, the new node q n e w r of the right manipulator can be calculated by Equation (10).
q n e w r = q n e a r r + t · q ˙ r
where q n e w r is the new node of the right manipulator, q n e a r r is the node closest to the temporary target point q t a r g e t r of the right manipulator and q ˙ r is the joint angular velocity of the right manipulator.
(V)
The new node q n e w l of the left manipulator and the new node q n e w r of the right manipulator are merged to obtain the new node qnew = [ q n e w l   q n e w r ] of the dual redundant manipulator.
To ensure that the new node qnew can satisfy the closed-chain constraints (1) and (2), the step distance δ and the motion time t should not be too large. That is, the motion between the two adjacent nodes should be a differential motion.

2.3. Local Path Replanning

The connection condition of two trees is that the distance between some node q1i of the tree T1 and some node q2j of the tree T2 is less than the given threshold, as shown in Algorithm 4. In the case that B-RRT* is applied to dual redundant manipulators, its node q contains both the set of joint angles ql of the left manipulator and the set of joint angles qr of the right manipulator. In the actual planning, when the distance between two sets of joint angles of the left manipulator (or the right manipulator) in different trees is less than the given threshold, the distance between two sets of joint angles of the right manipulator (or the left manipulator) in different trees may be not less than the given threshold in a high probability. That is, it is difficult to meet the connection condition of two trees. Therefore, it is necessary to modify the connection condition of two trees for solving the above problem.
Since it is difficult for the left manipulator and the right manipulator to meet the connection condition at the same time, it can first ensure that the parts corresponding to the left manipulator in two nodes of different trees are connected with each other, as shown in Algorithm 5. Then, the local path between the parts corresponding to the right manipulator in two nodes of different trees is replanned. That is, while keeping the left manipulator stationary, the right manipulator moves from the set of joint angles corresponding to the connection node of the tree T1 (or T2) to the set of joint angles corresponding to the connection node of the tree T2 (or T1). Moreover, to satisfy the closed-chain constraints (1) and (2), the terminal position and posture of the right manipulator must always remain unchanged during the movement.
Algorithm 5 (flag, qe1, qe2) ← NewJudgeConnectivity(qnew, T)
  • qe1qnew;
  • ( q n e w l , q n e w r ) ← Decompose(qnew);
  • Fori = 1 To k
  • qi ← ExtractNode(T, i);
  •  ( q i l , q i r ) ← Decompose(qi);
  • If  Distance( q n e w l , q i l ) < threshold
  •   flagtrue;
  •   qe2qi;
  •   Break;
  • Else
  •   flagfalse;
  • End For
  • End For
To ensure that the terminal position and posture of the right manipulator remains unchanged during the local path replanning, it can be realized through the joint self-motion in the null space [34,35] on the basis of the characteristics of redundant manipulators. That is, the joint angular velocity of the right manipulator is calculated by setting the terminal generalized velocity V in Equation (7) to zero, as described below:
q ˙ r = I n × n J + q r J q r ε r
where ε r is a vector in the null space of the right manipulator.
To ensure that the right manipulator can start from the starting point q l o c a l s t a r t r of the local path and move towards the end point q l o c a l g o a l r of the local path, the value of vector εr can be calculated by Equation (12).
ε r = q l o c a l g o a l r q k r m k + 1 t
where m = q l o c a l g o a l r q l o c a l s t a r t r δ , k = 1 m , q l o c a l s t a r t r is the starting point of the local path of the right manipulator, q l o c a l g o a l r is the end point of the local path of the right manipulator, m is the upper limit of the number of discrete points in the local path of the right manipulator and k is the serial number of the current discrete point in the local path of the right manipulator.
The process of local path replanning is shown in Algorithm 6. In addition, the extension process of bidirectional RRT* with local path replanning (B-RRT*-LPR) is shown in Algorithm 7.
Algorithm 6 (T, success, qe1) ← Localpath(qe1, qe2, T)
  • successfalse;
  • ( q l o c a l s t a r t l , q l o c a l s t a r t r ) ← Decompose(qe1);
  • ( q l o c a l g o a l l , q l o c a l g o a l r ) ← Decompose(qe2);
  • q1qe1; q 1 r q l o c a l s t a r t r ;
  • Fork = 1 To m − 1
  • J k r ← Jacobian( q k r );
  • ε k r ← NullSpaceVector( q k r , q l o c a l g o a l r , k);
  • q ˙ k r Velocity( J k r , ε k r );
  • q k + 1 r q k r + t q ˙ k r
  • q k + 1 ← Merge( q l o c a l s t a r t l , q k + 1 r r k;
  • feasibility ← DetectCollision(qk+1);
  • If feasibility = true
  •   T ← Insert(qk+1, qk);
  •   qkqk+1;
  •   If  Distance( q k + 1 r , q l o c a l g o a l r ) < threshold
  •    qe1qk+1;
  •    successtrue;
  •    Break;
  •   End If
  • End If
  • End For
The specific steps of local path replanning are described as follows:
(a)
The parts corresponding to the right manipulator in the connection node of the tree T1 (or T2) are selected as the starting point q l o c a l s t a r t r of the local path. The parts corresponding to the right manipulator in the connection node of the tree T2 (or T1) are selected as the end point q l o c a l g o a l r of the local path. The first discrete point q 1 r of the local path is q r l o c a l s t a r t r .
(b)
The Jacobian matrix J k r and the vector ε k r of the current discrete point q k r are calculated. Then, the joint angular velocity q ˙ k r of the right manipulator is calculated according to Equation (11).
(c)
The next discrete point q k + 1 r is calculated by Equation (13).
q k + 1 r = q k r + t q ˙ k r
where q k + 1 r is the next discrete point of the local path of the right manipulator, q k r is the current discrete point of the local path of the right manipulator and q ˙ k r is the joint angular velocity of the right manipulator at the current discrete point of the local path.
Algorithm 7 (T1, flag, qe1, qe2) ← NewExtend(T1, T2)
  • flagfalse;
  • qrand ← Sample(qlimit);
  • qnear1 ← Near(qrand, T1);
  • qnew1 ← Steer(qrand, qnear1);
  • feasibility ← DetectCollision(qnew1);
  • Iffeasibility = true
  • T1 ← Insert(qnew1, qnear1);
  • T1 ← ReselectParentNode(qnew1, qnear1, T1);
  • T1 ← Rewire(qnew1, T1);
  •  (flag, qe1, qe2) ← NewJudgeConnectivity(qnew1, T2);
  • If flag = true
  •   (T1, flag, qe1) ← Localpath(qe1, qe2, T1);
  • End If
  • While feasibility = true And flag = false
  •   qnear2 ← Near(qnew1, T2);
  •   qnew2 ← Steer(qnew1, qnear2);
  •   feasibility ← DetectCollision(qnew2);
  •   If feasibility = true
  •    T2 ← Insert(qnew2, qnear2);
  •    T2 ← ReselectParentNode(qnew2, qnear2, T2);
  •    T2 ← Rewire(qnew2, T2);
  •    (flag, qe2, qe1) ← NewJudgeConnectivity(qnew2, T1);
  •    If flag = true
  •     (T2, flag, qe2) ← Localpath(qe2, qe1, T2);
  •    End If
  •   End If
  • End While
  • End If
(d)
The set of joint angles q l o c a l s t a r t l of the left manipulator corresponding to the starting point q l o c a l s t a r t r of the local path of the right manipulator is merged with the next discrete point q k + 1 r of the local path of the right manipulator to obtain the next discrete point qk+1 = [ q l l o c a l s t a r t l   q k + 1 r ] of the local path of the dual redundant manipulator.
(e)
The collision detection of the next discrete point qk+1 of the local path of the dual redundant manipulator is carried out. If the dual redundant manipulator does not collide, step (f) is performed. If the dual redundant manipulator collides, the local path replanning is stopped and the result that the node qlocalstart = [q q l o c a l s t a r t r ] and the node qlocalgoal = [ q l o c a l g o a l l   q l o c a l g o a l r ] cannot be connected with each other is returned.
(f)
The next discrete point qk+1 of the local path of the dual redundant manipulator is added to the tree T1 (or T2).
(g)
The distance between the next discrete point q k + 1 r of the local path of the right manipulator and the end point q r l o c a l g o a l r of the local path of the right manipulator is judged to determine whether it is less than the given threshold. Alternatively, the serial number k of the current discrete point is judged to determine whether it is greater than the upper limit m of the number of discrete points. If the distance is less than the given threshold or the serial number k is greater than the upper limit m, the local path replanning is stopped and the result that the node qlocalstart and the node qlocalgoal can be connected with each other is returned. If the distance is not less than the given threshold value and the serial number k is not greater than the upper limit m, the current discrete point of the local path of the right manipulator is replaced by q k r +1, and then step (b) is performed again.

3. Results

To verify the effectiveness of B-RRT*-LPR for dual redundant manipulators, the Baxter dual redundant manipulator is taken as the experimental object to plan its motion path of tight coordination operations. The experimental platform is built for the situation of collaborative transportation, as shown in Figure 2. There are two obstacles in the environment. Obstacle 1 is a dark yellow paper box suspended in the air, and obstacle 2 is a white storage box placed on the desktop. The workpiece is an industrial aluminum profile whose length, width and height are 0.235 m, 0.04 m and 0.04 m, respectively. A simulation platform, whose size is consistent with the actual size, is built accordingly, as shown in Figure 3. In Figure 3, the yellow cuboids are the obstacles. Then, the simulations are carried out by Matlab 2014a, which runs on a computer with an Intel(R) Core(TM) i7-4710HQ quad-core processor, 2.50 GHz main frequency and 8G memory. Finally, the experiment is carried out according to the simulation results.

3.1. Simulation

Considering the randomness of sampling-based algorithms, B-RRT* and B-RRT*-LPR are adopted to plan 10 groups of paths in the case that the connection threshold is 1°, 5°, 10°, 15°, 20°, 25° and 30°, respectively. The planning results are arranged in ascending order according to the time cost of each group of paths, as shown in Figure 4. The maximum number of iterations of the two algorithms is set to 500. That is, if no feasible path is obtained after 500 iterations, the planning fails.
The maximum time cost, minimum time cost, average time cost and success rate of 10 groups of planning results of the 2 algorithms with different connection thresholds are shown in Table 1 and Table 2.
It can be seen from Figure 4 and Table 1 and Table 2 that the success rate of B-RRT* is 0% in the case that the connection threshold is less than or equal to 15°. With the increase of the connection threshold, the success rate gradually increases until it reaches 100% when the connection threshold is 30°. However, the success rate of B-RRT*-LPR is 100% in the case that the connection threshold is any one of the seven given values. Therefore, the results show that the local path replanning strategy can effectively solve the discontinuity problem in the joint path of the slave manipulator at the connection nodes in the case that B-RRT* is applied to dual redundant manipulators. It can significantly improve the success rate.
The success rate of B-RRT* is 100% in the case that the connection threshold is 30°, but its average time cost is 1106.657 s. On the contrary, with the same connection threshold, B-RRT*-LPR can ensure that the success rate is 100%, and its average time cost is 708.229 s, which is 36.00% lower than the one of B-RRT*. Therefore, B-RRT*-LPR can effectively shorten the planning time.
In the case that B-RRT* fails to plan, its time cost is always more than 4000 s. That is, for B-RRT*, the time cost of 500 iterations is more than 4000 s. Therefore, in the case that the maximum number of iterations is greater than 500, although it is possible to improve the success rate, the time cost will be further increased. That is, if the number of iterations exceeds 500, B-RRT* may successfully plan the desired path, but the time cost must exceed 4000 s. However, B-RRT*-LPR spends no more than 1400 s successfully planning the desired path with any connection threshold. Therefore, instead of increasing the maximum number of iterations to improve the success rate of B-RRT*, it is better to directly adopt B-RRT*-LPR for path planning.
In addition, although B-RRT* can improve the success rate by increasing the connection threshold, the increase of the connection threshold means that the difference between the connection nodes of two trees will also become larger. When the connection threshold is much larger than the step distance, the local path between the two connection nodes essentially contains some other hidden nodes. These hidden nodes have not been detected whether they would collide with obstacles. Hence, they may collide with obstacles. As a result, the planned path may actually be infeasible. For B-RRT*-LPR, it can ensure that the success rate is 100% with any connection threshold. Therefore, a smaller connection threshold can be selected in the actual planning to ensure that B-RRT*-LPR will not have the above problem.

3.2. Experiment

The most representative path in the 10 groups of planning results of B-RRT*-LPR is chosen in the case that the connection threshold is 1°. Its time cost is closest to the average time cost of 10 paths. That is, the fifth path is chosen. The display of this path in the task space is shown in Figure 5. In Figure 5, the green hollow dot represents the node of two trees, the blue thin solid line represents the local path between two nodes and the red thick solid line represents the final path. The yellow cuboid suspended above is obstacle 1, and the yellow cuboid placed below is obstacle 2.
According to the path shown in Figure 5, the motion process of the dual redundant manipulator can be described as follows. At the initial stage of motion, the dual redundant manipulator is far away from obstacles 1 and 2. Hence, it moves directly towards the goal state. When the dual redundant manipulator approaches obstacle 1, it moves downward to avoid collision with obstacle 1. After moving a certain distance, the dual redundant manipulator moves towards the goal state again on the premise that it does not collide with obstacles 1 and 2. After successfully passing through the gap between obstacle 1 and obstacle 2, the dual redundant manipulator moves upward until its height is close to the height of the goal state. Then, the dual redundant manipulator moves towards the goal state until it reaches the goal state.
In the case that the dual redundant manipulator moves along the path shown in Figure 5, its actual motion process is shown in Figure 6.
It can be seen from Figure 6 that the dual redundant manipulator starts from the initial state, as shown in Figure 2a. Then, the dual redundant manipulator moves to the vicinity of obstacle 1 in the direction of the goal state, as shown in Figure 6a. The state of the dual redundant manipulator in Figure 6a corresponds to the connection node of the tree T1. Afterwards, the dual redundant manipulator moves along the local path planned by the local path replanning strategy until it reaches the state corresponding to the connection node of the tree T2, as shown in Figure 6b. The terminal positions and postures of both the left manipulator and the right manipulator remain unchanged during the local motion shown in Figure 6a,b. After that, the dual redundant manipulator moves downward for a distance and then passes through the gap between obstacle 1 and obstacle 2 without collision, as shown in Figure 6c,d. Finally, the dual redundant manipulator can reach the goal state successfully, as shown in Figure 2b.
The above results show that the dual redundant manipulator can move according to the desired path and satisfy the closed-chain constraints in the actual motion. The actual path of the dual redundant manipulator is continuous in both the task space and the joint space. Therefore, B-RRT*-LPR can effectively plan a collision-free path for tight coordination operation of the dual redundant manipulator.

4. Discussions

4.1. Innovations

For RRT and its derivative algorithms, they are generally applied to plan the path for loose coordination of dual redundant manipulators, such as assembly [36,37] and grasp [38,39]. In these cases, there are three most common planning strategies, as described as follows: (1) RRT or its derivative algorithm is adopted to plan the paths of the left manipulator and the right manipulator in parallel. After obtaining the paths of the two manipulators, collision detection between the two paths is performed [23,24]. (2) RRT or its derivative algorithm is adopted to plan the path of one manipulator first, and then the path of another manipulator. During the planning of the second manipulator, the first manipulator is treated as a dynamic obstacle [19]. (3) The dual redundant manipulator is treated as a single redundant manipulator with 2n degrees of freedom. Then, the path of this single redundant manipulator is planned by RRT or its derivative algorithm. Collision detection between the left manipulator and the right manipulator can be transformed into self-collision detection of the single redundant manipulator [20].
For tight coordination of dual redundant manipulators, there are kinematic closed-chain constraints between the left manipulator and the right manipulator. The terminal positions and postures of the left manipulator and the right manipulator are mutually restricted. However, these kinematic closed-chain constraints are not considered for the above three planning strategies. Therefore, the above three planning strategies are not applicable to tight coordination of dual redundant manipulators. To solve this problem, a master-slave planning method based on B-RRT* is proposed in our study. The path of the master manipulator is directly planned by B-RRT*. Then, the path of the slave manipulator is calculated by the closed-chain constraints. The experimental and simulation results show that the closed-chain constraints can always be satisfied during the motion of the dual redundant manipulator. Therefore, the master-slave planning method based on B-RRT* can be effectively applied to tight coordination of dual redundant manipulators.
Due to the redundant characteristics of dual redundant manipulators, the master-slave planning method based on B-RRT* will cause a discontinuity problem in the joint path of the slave manipulator at the connection nodes. This problem will result in the actual motion path being infeasible. To solve this problem, a local path replanning strategy is designed in our study. The joints of the slave manipulator move only in the null space for satisfying the closed-chain constraints. The experimental and simulation results show that the dual redundant manipulator can move continuously in both the task space and the joint space. Therefore, the local path replanning strategy can effectively solve the discontinuity problem.
Moreover, since the closed-chain constraints act on the terminal state of the dual redundant manipulator, the calculation of the path of the slave manipulator is generally to calculate its terminal position and posture first, and then calculate its joint angles through inverse kinematics [28,29]. For redundant manipulators, the inverse kinematics is usually solved by numerical algorithms [30,31]. However, numerical algorithms generally have the disadvantages of large amounts of calculation and high time cost [40]. To avoid the calculation of inverse kinematics, the terminal generalized velocity constraints are directly adopted to obtain the joint angular velocity of the slave manipulator in our study. Then, the joint angles of the slave manipulator can be calculated accordingly. Therefore, it can effectively improve the execution efficiency.

4.2. Extended Applications

In our study, the master-slave planning method on B-RRT* is proposed to plan the path for tight coordination of dual redundant manipulators. However, for the path planning of the master manipulator, B-RRT* is not the only choice; other algorithms, such as other derivative algorithms [41,42] of RRT and PRM [43,44], or an artificial potential field method [45,46], can also be chosen.
The local path replanning strategy can also be applied to realize the obstacle avoidance [47,48] of redundant manipulators. In the case that the end-effector does not collide with obstacles, but some joints collide with obstacles, the local path replanning strategy can be adopted to make these joints move away from or around obstacles on the premise that the end-effector remains stationary. In this way, it is not necessary to replan the entire path, but only to replan the local path of joints.

4.3. Limitations

Both the master-slave planning method based on B-RRT* and the local path replanning strategy take advantage of the unique kinematic characteristics of redundant manipulators in the design process. Therefore, the proposed methods are not applicable to dual nonredundant manipulators, but only to dual redundant manipulators.

5. Conclusions

To effectively plan a safe path for tight coordination operations of dual redundant manipulators, a bidirectional RRT* satisfying closed-chain constraints is proposed. B-RRT* is adopted to plan the path of the master manipulator, and the path of the slave manipulator is then obtained based on the closed-chain constraints. When the connectivity between the two nodes of different trees is checked, only the parts corresponding to the master manipulator are checked. The connectivity between the parts corresponding to the slave manipulator is guaranteed by the local path replanning strategy. The simulation results show that, compared with B-RRT*, the proposed method can effectively improve the success rate when the connection threshold is small and can shorten the planning time when the connection threshold is the same. The experimental results show that the dual redundant manipulator can effectively avoid obstacles and satisfy the closed-chain constraints during the motion. Therefore, the proposed method can effectively plan a collision-free path for tight coordination operations of dual redundant manipulators.
Our current study is the path planning for tight coordination of dual redundant manipulators in the static environment. That is, obstacles are stationary. The positions and postures of obstacles are known. However, if obstacles are in motion, their positions and postures will change in real time and are unknown. Hence, to apply the proposed method to the dynamic environment, it is necessary to add some external equipment to obtain the real-time positions and postures of obstacles. In the future, we will use visual sensors to obtain the information of obstacles in real time and then extract the positions and postures of obstacles through image processing technologies. On the basis of the above, the proposed method can be adopted to plan the path for tight coordination of dual redundant manipulators in the dynamic environment.

Author Contributions

Conceptualization, J.D. and H.D.; methodology, J.D.; software, J.D. and Y.Z.; validation, J.D., Y.Z. and H.D.; formal analysis, J.D. and H.D.; investigation, J.D.; resources, H.D.; data curation, Y.Z. and H.D.; writing—original draft preparation, J.D.; writing—review and editing, Y.Z. and H.D.; visualization, J.D.; supervision, Y.Z. and H.D.; project administration, Y.Z. and H.D.; funding acquisition, H.D. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded in part by the National Natural Science Foundation of China under Grant 52275297, in part by the Special Key Project for Natural Disaster Prevention Technology and Equipment Engineering, Ministry of Industry and Information Technology of China under Grant TC210H00L/17, and in part by the Project of State Key Laboratory of High Performance Complex Manufacturing, Central South University under Grant ZZYJKT2021-17.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Guo, D.; Li, Z.; Khan, A.H.; Feng, Q.; Cai, J. Repetitive motion planning of robotic manipulators with guaranteed precision. IEEE Trans. Ind. Inform. 2021, 17, 356–366. [Google Scholar] [CrossRef]
  2. Hu, C.; Lin, S.; Wang, Z.; Zhu, Y. Task space contouring error estimation and precision iterative control of robotic manipulators. IEEE Robot. Autom. Let. 2022, 7, 7826–7833. [Google Scholar] [CrossRef]
  3. Patel, R.V.; Shadpey, F. Control of Redundant Robot Manipulators; Springer: Berlin/Heidelberg, Germany, 2005; pp. 7–34. [Google Scholar]
  4. Ning, Y.; Li, T.; Du, W.; Yao, C.; Zhang, Y.; Shao, J. Inverse kinematics and planning/control co-design method of redundant manipulator for precision operation: Design and experiments. Robot. Com. Int. Manuf. 2023, 80, 102457. [Google Scholar] [CrossRef]
  5. Fan, J.; Jin, L.; Xie, Z.; Li, S.; Zheng, Y. Data-driven motion-force control scheme for redundant manipulators: A kinematic perspective. IEEE Trans. Ind. Inform. 2022, 18, 5338–5347. [Google Scholar] [CrossRef]
  6. Zivanovic, M.D.; Vukobratovic, M.K. Multi-Arm Cooperating Robots: Dynamics and Control; Springer: Dordrecht, The Netherland, 2006; pp. 1–4. [Google Scholar]
  7. Zhang, Z.; Zheng, L.; Chen, Z.; Kong, L.; Karimi, H.R. Mutual-collision-avoidance scheme synthesized by neural networks for dual redundant robot manipulators executing cooperative tasks. IEEE Trans. Neur. Net. Lear. 2021, 32, 1052–1066. [Google Scholar] [CrossRef] [PubMed]
  8. Lu, Z.; Wang, N.; Shi, D. DMPs-based skill learning for redundant dual-arm robotic synchronized cooperative manipulation. Complex Intell. Syst. 2022, 8, 2873–2882. [Google Scholar] [CrossRef]
  9. Gill, M.A.C.; Zomaya, A.Y. Obstacle Avoidance in Multi-Robot Systems; World Scientific: Singapore, 1998; pp. 30–51. [Google Scholar]
  10. Choi, Y.; Kim, D.; Hwang, S.; Kim, H.; Kim, N.; Han, C. Dual-arm robot motion planning for collision avoidance using B-spline curve. Int. J. Precis. Eng. Man. 2017, 18, 835–843. [Google Scholar] [CrossRef]
  11. Ni, S.; Chen, W.; Ju, H.; Chen, T. Coordinated trajectory planning of a dual-arm space robot with multiple avoidance constraints. Acta Astronaut. 2022, 195, 379–391. [Google Scholar] [CrossRef]
  12. Meng, B.H.; Godage, I.S.; Kanj, I. RRT*-based path planning for continuum arms. IEEE Robot. Autom. Let. 2022, 7, 6830–6837. [Google Scholar] [CrossRef] [PubMed]
  13. Becerra, I.; Yervilla-Herrera, H.; Antonio, E.; Murrieta-Cid, R. On the local planners in the RRT* for dynamical systems and their reusability for compound cost functionals. IEEE Trans. Robot. 2022, 38, 887–905. [Google Scholar] [CrossRef]
  14. Thakar, S.; Rajendran, P.; Kabir, A.M.; Gupta, S.K. Manipulator motion planning for part pickup and transport operations from a moving base. IEEE Trans. Autom. Sci. Eng. 2022, 19, 191–206. [Google Scholar] [CrossRef]
  15. Wang, J.; Li, B.; Meng, M.Q.H. Kinematic constrained bi-directional RRT with efficient branch pruning for robot path planning. Expert Syst. Appl. 2021, 170, 114541. [Google Scholar] [CrossRef]
  16. Zhao, W.; Wang, X.; Liu, Y. Path planning for 5-axis CMM inspection considering path reuse. Machines 2022, 10, 973. [Google Scholar] [CrossRef]
  17. Li, J.; Cui, R.; Su, P.; Ma, L.; Sun, H. A computer-assisted preoperative path planning method for the parallel orthopedic robot. Machines 2022, 10, 480. [Google Scholar] [CrossRef]
  18. Yu, M.; Luo, J.; Wang, M.; Gao, D. Spline-RRT: Coordinated motion planning of dual-arm space robot. IFAC PapersOnLine 2020, 53, 9820–9825. [Google Scholar] [CrossRef]
  19. Ying, K.; Pourhejazy, P.; Cheng, C.; Cai, Z. Deep learning-based optimization for motion planning of dual-arm assembly robots. Comput. Ind. Eng. 2021, 160, 107603. [Google Scholar] [CrossRef]
  20. Chen, X.; You, X.; Jiang, J.; Ye, J.; Wu, H. Trajectory planning of dual-robot cooperative assembly. Machines 2022, 10, 689. [Google Scholar] [CrossRef]
  21. Mashayekhi, R.; Idris, M.Y.I.; Anisi, M.H.; Ahmedy, I.; Ali, I. Informed RRT*-connect: An asymptotically optimal single-query path planning method. IEEE Access 2020, 8, 19842–19852. [Google Scholar] [CrossRef]
  22. Wang, X.; Wei, J.; Zhou, X.; Xia, Z.; Gu, X. Dual-objective collision-free path optimization of arc welding robot. IEEE Robot. Autom. Let. 2021, 6, 6353–6360. [Google Scholar] [CrossRef]
  23. Vahrenkamp, N.; Asfour, T.; Dillmann, R. Simultaneous grasp and motion planning. IEEE Robot. Autom. Mag. 2012, 19, 43–57. [Google Scholar] [CrossRef]
  24. Li, H.; Liang, Y.; Tang, Q. Parallel algorithm for collision avoidance motion planning of dual arm grasping of humanoid robot. Comp. Model. New Technol. 2014, 18, 110–116. [Google Scholar]
  25. García, N.; Rosell, J.; Suárez, R. Motion planning by demonstration with human-likeness evaluation for dual-arm robots. IEEE Trans. Syst. Man. Cy. 2019, 49, 2298–2307. [Google Scholar] [CrossRef]
  26. Xian, Z.; Lertkultanon, P.; Pham, Q.C. Closed-chain manipulation of large objects by multi-arm robotic systems. IEEE Robot. Autom. Let. 2017, 2, 1832–1839. [Google Scholar] [CrossRef]
  27. Jang, K.; Baek, J.; Park, S.; Park, J. Motion planning for closed-chain constraints based on probabilistic roadmap with improved connectivity. IEEE/ASME Trans. Mech. 2022, 27, 2035–2043. [Google Scholar] [CrossRef]
  28. Wang, X.; Chen, L. A vision-based coordinated motion scheme for dual-arm robots. J. Intell. Robot. Syst. 2020, 97, 67–79. [Google Scholar] [CrossRef]
  29. Gao, M.; Zhou, H.; Yang, Y.; Dong, Z.; He, Z. An intelligent master–slave collaborative robot system for cafeteria service. Robot. Auton. Syst. 2022, 154, 104121. [Google Scholar] [CrossRef]
  30. Tchoń, K.; Janiak, M. Repeatable approximation of the jacobian pseudo-inverse. Syst. Control Lett. 2009, 58, 849–856. [Google Scholar] [CrossRef]
  31. Reiter, A.; Müller, A.; Gattringer, H. On higher order inverse kinematics methods in time-optimal trajectory planning for kinematically redundant manipulators. IEEE Trans. Ind. Inform. 2018, 14, 1681–1690. [Google Scholar] [CrossRef]
  32. Zhang, F.; Hua, L.; Fu, Y.; Guo, B. Dynamic simulation and analysis for bolt and nut mating of dual arm robot. In Proceedings of the 2012 IEEE International Conference on Robotics and Biomimetics, Guangzhou, China, 11–14 December 2012; pp. 660–665. [Google Scholar]
  33. Jiao, C.; Yu, L.; Su, X.; Wen, Y.; Dai, X. Adaptive hybrid impedance control for dual-arm cooperative manipulation with object uncertainties. Automatica 2022, 140, 110232. [Google Scholar] [CrossRef]
  34. Ren, X.; Zhang, P.; Zhang, Z. Bicriteria velocity minimization approach of self-motion for redundant robot manipulators with varying-gain recurrent neural network. IEEE Trans. Cogn. Dev. Syst. 2022, 14, 578–587. [Google Scholar] [CrossRef]
  35. Wu, T.; Zhao, J.; Xie, B. A novel method for computing self-motion manifolds. Mech. Mach. Theory 2023, 179, 105121. [Google Scholar] [CrossRef]
  36. García, N.; Suárez, R.; Rosell, J. Task-dependent synergies for motion planning of an anthropomorphic dual-arm system. IEEE Trans. Robot. 2017, 33, 756–764. [Google Scholar] [CrossRef]
  37. Wang, Z.; Gan, Y.; Dai, X. Assembly-oriented task sequence planning for a dual-arm robot. IEEE Robot. Autom. Let. 2022, 7, 8455–8462. [Google Scholar] [CrossRef]
  38. Zimmermann, S.; Hakimifard, G.; Zamora, M.; Poranne, R.; Coros, S. A multi-level optimization framework for simultaneous grasping and motion planning. IEEE Robot. Autom. Let. 2020, 5, 2966–2972. [Google Scholar] [CrossRef]
  39. Li, Y.; Hao, X.; She, Y.; Li, S.; Yu, M. Constrained motion planning of free-float dual-arm space manipulator via deep reinforcement learning. Aerosp. Sci. Technol. 2021, 109, 106446. [Google Scholar] [CrossRef]
  40. Lauretti, C.; Grasso, T.; Marchi, E.d.; Grazioso, S.; Gironimo, G.d. A Geometric Approach to Inverse Kinematics of Hyper-Redundant Manipulators for tokamaks maintenance. Mech. Mach. Theory 2022, 176, 104967. [Google Scholar] [CrossRef]
  41. Gammell, J.D.; Barfoot, T.D.; Srinivasa, S.S. Informed sampling for asymptotically optimal path planning. IEEE Trans. Robot. 2018, 34, 966–984. [Google Scholar] [CrossRef]
  42. Yuan, C.; Liu, G.; Zhang, W.; Pa, X. An efficient RRT cache method in dynamic environments for path planning. Robot. Auton. Syst. 2020, 131, 103595. [Google Scholar] [CrossRef]
  43. Xu, Z.; Deng, D.; Shimada, K. Autonomous UAV exploration of dynamic environments via incremental sampling and probabilistic roadmap. IEEE Robot. Autom. Let. 2021, 6, 2729–2736. [Google Scholar] [CrossRef]
  44. Cao, Y.; Cheng, X.; Mu, J. Concentrated coverage path planning algorithm of UAV formation for aerial photography. IEEE Sens. J. 2022, 22, 11098–11111. [Google Scholar] [CrossRef]
  45. Tian, Y.; Zhu, X.; Meng, D.; Wang, X.; Liang, B. An overall configuration planning method of continuum hyper-redundant manipulators based on improved artificial potential field method. IEEE Robot. Autom. Let. 2021, 6, 4867–4874. [Google Scholar] [CrossRef]
  46. Pan, Z.; Zhang, C.; Xia, Y.; Xiong, H.; Shao, X. An improved artificial potential field method for path planning and formation control of the multi-UAV systems. IEEE Trans. Circuits Syst. II Exp. Briefs 2022, 69, 1129–1133. [Google Scholar] [CrossRef]
  47. Peidró, A.; Reinoso, Ó.; Gil, A.; Marín, J.M.; Payá, L. A method based on the vanishing of self-motion manifolds to determine the collision-free workspace of redundant robots. Mech. Mach. Theory 2018, 128, 84–109. [Google Scholar] [CrossRef]
  48. Gong, M.; Li, X.; Zhang, L. Analytical inverse kinematics and self-motion application for 7-DOF redundant manipulator. IEEE Access 2019, 7, 18662–18674. [Google Scholar] [CrossRef]
Figure 1. Closed-chain constraints for dual redundant manipulators.
Figure 1. Closed-chain constraints for dual redundant manipulators.
Machines 11 00209 g001
Figure 2. Experimental platform: (a) initial state; (b) goal state.
Figure 2. Experimental platform: (a) initial state; (b) goal state.
Machines 11 00209 g002
Figure 3. Simulation platform: (a) initial state; (b) goal state.
Figure 3. Simulation platform: (a) initial state; (b) goal state.
Machines 11 00209 g003
Figure 4. Time cost: (a) B-RRT*; (b) B-RRT*-LPR.
Figure 4. Time cost: (a) B-RRT*; (b) B-RRT*-LPR.
Machines 11 00209 g004
Figure 5. Path of the dual redundant manipulator in the task space: (a) global view; (b) partial enlarged view.
Figure 5. Path of the dual redundant manipulator in the task space: (a) global view; (b) partial enlarged view.
Machines 11 00209 g005
Figure 6. Actual motion process: (a) connection node of the tree T1; (b) connection node of the tree T2; (c) global view of a node located between two obstacles; (d) partial enlarged view of a node located between two obstacles.
Figure 6. Actual motion process: (a) connection node of the tree T1; (b) connection node of the tree T2; (c) global view of a node located between two obstacles; (d) partial enlarged view of a node located between two obstacles.
Machines 11 00209 g006
Table 1. Planning results of B-RRT*.
Table 1. Planning results of B-RRT*.
tmax (s)tmin (s)tavg (s)sr
Th: 1 (°)5294.0874323.1684855.9170%
Th: 5 (°)5376.8894379.0254838.7320%
Th: 10 (°)5283.4194359.3484885.9780%
Th: 15 (°)5197.2094097.9944815.2040%
Th: 20 (°)5316.1074438.9164811.79520%
Th: 25 (°)4902.0811856.0692972.80480%
Th: 30 (°)1414.534963.7511106.657100%
where tmin, tmax and tavg are the minimum, maximum and average time costs of 10 groups of paths, sr is the success rate of 10 groups of paths and Th is the connection threshold that is used to judge the connectivity of two trees.
Table 2. Planning results of B-RRT*-LPR.
Table 2. Planning results of B-RRT*-LPR.
tmax (s)tmin (s)tavg (s)sr
Th: 1 (°)1355.623756.6541066.326100%
Th: 5 (°)1264.872805.9441006.879100%
Th: 10 (°)1279.273784.542976.011100%
Th: 15 (°)1166.911682.488872.420100%
Th: 20 (°)1017.361619.926795.953100%
Th: 25 (°)984.236601.268761.544100%
Th: 30 (°)965.477534.450708.229100%
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Dai, J.; Zhang, Y.; Deng, H. Bidirectional RRT*-Based Path Planning for Tight Coordination of Dual Redundant Manipulators. Machines 2023, 11, 209. https://doi.org/10.3390/machines11020209

AMA Style

Dai J, Zhang Y, Deng H. Bidirectional RRT*-Based Path Planning for Tight Coordination of Dual Redundant Manipulators. Machines. 2023; 11(2):209. https://doi.org/10.3390/machines11020209

Chicago/Turabian Style

Dai, Jun, Yi Zhang, and Hua Deng. 2023. "Bidirectional RRT*-Based Path Planning for Tight Coordination of Dual Redundant Manipulators" Machines 11, no. 2: 209. https://doi.org/10.3390/machines11020209

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop