Coordinating Obstacle Avoidance of a Redundant Dual-Arm Nursing-Care Robot

Collision safety is an essential issue for dual-arm nursing-care robots. However, for coordinating operations, there is no suitable method to synchronously avoid collisions between two arms (self-collision) and collisions between an arm and the environment (environment-collision). Therefore, based on the self-motion characteristics of the dual-arm robot’s redundant arms, an improved motion controlling algorithm is proposed. This study introduces several key improvements to existing methods. Firstly, the volume of the robotic arms was modeled using a capsule-enveloping method to more accurately reflect their actual structure. Secondly, the gradient projection method was applied in the kinematic analysis to calculate the shortest distances between the left arm, right arm, and the environment, ensuring effective avoidance of the self-collision and environment-collision. Additionally, distance thresholds were introduced to evaluate collision risks, and a velocity weight was used to control the smooth coordinating arm motion. After that, experiments of coordinating obstacle avoidance showed that when the redundant dual-arm robot is holding an object, the coordinating operation was completed while avoiding self-collision and environment-collision. The collision-avoidance method could provide potential benefits for various scenarios, such as medical robots and rehabilitating robots.


Introduction
Nursing-care robots are efficient assistants for daily life actions such as home service and social guarantee [1,2].Initially, single-arm robots were widely adopted for nursing-care robots due to their simple structure and low cost [3].However, their limited operational flexibility and spatial efficiency make them underperform in complex or space-constrained environments [4].To enhance the adaptability and flexibility of robots, researchers have introduced designs with redundant degrees of freedom (DoFs) [5,6], significantly enhancing the spatial reachability of single-arm robots and enabling them to be more flexible to complex environment.Despite these improvements, single-arm structures still exhibit performance bottlenecks when executing tasks that require dual-arm coordination, such as litter cleaning [7].Consequently, further studies presented redundant dual-arm robots [8].This design expanded the operational space [9], enhanced the capability to perform complex tasks through coordinated dual-arm operations [10], and improved the stability and efficiency of task execution [11].Nevertheless, redundant dual-arm robots still face risks of self-collision and collisions with environmental obstacles (environment-collision).
Global path planning, as proposed by Kavraki et al. [12], is a collision-avoidance technology, which precomputes a path from the starting point to the endpoint to circumvent obstacles.This method is suitable for static environments where the positions of obstacles are completely known.In contrast, local path planning is more flexible, as shown by Hatib et al.'s research [13], which adapts the obstacle-avoidance path to accommodate dynamically changing environmental obstacles, and it is suitable for complex or frequently changing environments.Shen et al. [14] and Li et al. [15] used the local path planning method for redundant dual-arm robots to avoid environment-collision but without considering self-collision when performing coordinating operations.As an attempt, Wang et al. [16] and Wu et al. [17] considered the optimization of the robotic arm's motion trajectories to avoid self-collision but overlooked the volumetric aspects of the arms.This oversight can lead to collisions between different parts of the robotic arm during actual operations.Additionally, according to Shi et al. [18] and Li et al. [19], recent obstacle avoidance strategies often cause the robotic arm to be unsmooth due to uneven joint trajectories in coordinated operations.Hence, for coordinated operations, there is still no suitable method to smoothly control motion while avoiding self-collision and environment-collision with the actual robot volume.
To address this issue, this study proposes an obstacle-avoidance algorithm for coordinated operations of redundant dual-arm robots based on their inherent kinematic properties.The main contribution of this work is as follows: • A capsule-based algorithm was used to model the volume of the robotic arms, and a gradient projecting method was utilized to calculate the shortest distances (among the left arm, the right arm, and the environment), which achieved the actual body's self-collision avoidance.

•
By introducing a distance threshold to assess the risk of collisions between obstacles and the robotic arms, the robotic arm movement speed was smoothly adjusted.
The experiments showed that this study realized smooth robot self-collision and environment-collision avoidance, which has potential benefits for various scenarios such as medical robots and rehabilitating robots.

Kinematics of Coordinating Operation of Dual-Arm Robot
The schematic diagram of the redundant dual-arm robot used in this study is shown in Figure 1.The dual-arm robot had a symmetric structure with seven rotating joints.Compared with the traditional 6 DoF robotic arm, the 7 DoF arm shows self-motion characteristics.When the two redundant arms coordinate to carry objects, a closed kinematic chain is formed between the left arm and the object, as well as between the object and the right arm, to constrain the movement efficiently [11,20].[13], which adapts the obstacle-avoidance path to accommodate dynamically changing environmental obstacles, and it is suitable for complex or frequently changing environments.Shen et al. [14] and Li et al. [15] used the local path planning method for redundant dual-arm robots to avoid environment-collision but without considering self-collision when performing coordinating operations.As an attempt, Wang et al. [16] and Wu et al. [17] considered the optimization of the robotic arm's motion trajectories to avoid self-collision but overlooked the volumetric aspects of the arms.This oversight can lead to collisions between different parts of the robotic arm during actual operations.Additionally, according to Shi et al. [18] and Li et al. [19], recent obstacle avoidance strategies often cause the robotic arm to be unsmooth due to uneven joint trajectories in coordinated operations.Hence, for coordinated operations, there is still no suitable method to smoothly control motion while avoiding self-collision and environment-collision with the actual robot volume.
To address this issue, this study proposes an obstacle-avoidance algorithm for coordinated operations of redundant dual-arm robots based on their inherent kinematic properties.The main contribution of this work is as follows: A capsule-based algorithm was used to model the volume of the robotic arms, and a gradient projecting method was utilized to calculate the shortest distances (among the left arm, the right arm, and the environment), which achieved the actual body's self-collision avoidance.

•
By introducing a distance threshold to assess the risk of collisions between obstacles and the robotic arms, the robotic arm movement speed was smoothly adjusted.
The experiments showed that this study realized smooth robot self-collision and environment-collision avoidance, which has potential benefits for various scenarios such as medical robots and rehabilitating robots.

Kinematics of Coordinating Operation of Dual-arm Robot
The schematic diagram of the redundant dual-arm robot used in this study is shown in Figure 1.The dual-arm robot had a symmetric structure with seven rotating joints.Compared with the traditional 6 DoF robotic arm, the 7 DoF arm shows self-motion characteristics.When the two redundant arms coordinate to carry objects, a closed kinematic chain is formed between the left arm and the object, as well as between the object and the right arm, to constrain the movement efficiently [11,20].When an object is being transported, there is no relative motion between the endeffectors of the arms and the object.Therefore, the kinematic constraint equation in the coordinating operation of a redundant dual-arm robot can be derived as follows [14,20]: where  x is the velocity vector of the arm end-effector, ( ) L R , J q q is the Jacobian matrix of the coordinating operation of the dual-arm robot [21], and is the joint angular velocity vector.

Shortest Distance Calculation Based on Gradient Projection Method
When the redundant dual-arm robot operates in coordination, the two arms are obstacles to each other.To avoid self-collision, it is necessary to perform calculations in real time.The shortest distance from each link of the right arm to the left arm is calculated when the right arm is regarded as the obstacle to the left arm.Furthermore, the shortest distance from each link of the left arm to the right arm is calculated when the left arm is regarded as the obstacle to the right arm.At the same time, to avoid self-collision and environment-collision, the shortest distance between the left arm, the right arm, and the environment should be calculated.A detailed derivation and a comprehensive explanation of the gradient projection method used for these distance calculations are specifically provided in Sections 2.2.1-2.2.3.

Simplified Model of Redundant Dual-arm Robot
Most existing robotic arm obstacle-avoidance algorithms approximate the actual arm as a segmented line and then use the gradient projection method to calculate the shortest When an object is being transported, there is no relative motion between the endeffectors of the arms and the object.Therefore, the kinematic constraint equation in the coordinating operation of a redundant dual-arm robot can be derived as follows [14,20]: .x = J(q L , q R ) .q (1) where .
x is the velocity vector of the arm end-effector, J(q L , q R ) is the Jacobian matrix of the coordinating operation of the dual-arm robot [21], and T is the joint angular velocity vector.

Shortest Distance Calculation Based on Gradient Projection Method
When the redundant dual-arm robot operates in coordination, the two arms are obstacles to each other.To avoid self-collision, it is necessary to perform calculations in real time.The shortest distance from each link of the right arm to the left arm is calculated when the right arm is regarded as the obstacle to the left arm.Furthermore, the shortest distance from each link of the left arm to the right arm is calculated when the left arm is regarded as the obstacle to the right arm.At the same time, to avoid self-collision and environment-collision, the shortest distance between the left arm, the right arm, and the environment should be calculated.A detailed derivation and a comprehensive explanation of the gradient projection method used for these distance calculations are specifically provided in Sections 2.2.1-2.2.3.

Simplified Model of Redundant Dual-Arm Robot
Most existing robotic arm obstacle-avoidance algorithms approximate the actual arm as a segmented line and then use the gradient projection method to calculate the shortest distance between the left arm, the right arm, and the environment.However, the segmented line method mainly considers the arm length and ignores its volume element, which is often the main reason for the failure of obstacle avoidance in an actual operation.Therefore, based on the overall arm size, the actual shortest distance between the left arm, the right arm, and the environment is obtained, and the obstacle-avoidance algorithm for the redundant dual-arm robot is developed.
The common methods for simplifying the robotic arm mainly include the sphereenveloping simplification, cuboid-enveloping simplification, capsule-enveloping simplification, and ellipsoid-enveloping simplification [22,23].Among these, the capsule-enveloping simplification method closely approximates the actual structure of the robotic arm and provides continuous boundaries, thus improving its accuracy.Therefore, this study uses this method to simplify the dual arms, as shown in Figure 3.In the kinematic analysis, each robotic arm link is represented by a capsule consisting of a cylindrical body with hemispherical ends.The gradient projection method is used to calculate the shortest distance between capsules and between capsules and environmental obstacles.Compared to other models, the capsule model simplifies the shortest distance calculation to compute the distance between cylinders and hemispheres, avoiding high computational costs and significantly enhancing computational efficiency.
Bioengineering 2024, 11, x FOR PEER REVIEW 4 of 17 distance between the left arm, the right arm, and the environment.However, the segmented line method mainly considers the arm length and ignores its volume element, which is often the main reason for the failure of obstacle avoidance in an actual operation.Therefore, based on the overall arm size, the actual shortest distance between the left arm, the right arm, and the environment is obtained, and the obstacle-avoidance algorithm for the redundant dual-arm robot is developed.
The common methods for simplifying the robotic arm mainly include the sphereenveloping simplification, cuboid-enveloping simplification, capsule-enveloping simplification, and ellipsoid-enveloping simplification [22,23].Among these, the capsule-enveloping simplification method closely approximates the actual structure of the robotic arm and provides continuous boundaries, thus improving its accuracy.Therefore, this study uses this method to simplify the dual arms, as shown in Figure 3.In the kinematic analysis, each robotic arm link is represented by a capsule consisting of a cylindrical body with hemispherical ends.The gradient projection method is used to calculate the shortest distance between capsules and between capsules and environmental obstacles.Compared to other models, the capsule model simplifies the shortest distance calculation to compute the distance between cylinders and hemispheres, avoiding high computational costs and significantly enhancing computational efficiency.

Shortest Distance between Left Arm and Obstacle k
To simplify the system without losing generality, the i-th link of the left arm, the j-th link of the right arm, and the surrounding obstacle k are taken as the objects of study to analyze the shortest distance between the i-th link of the left arm and the surrounding obstacle k when an object is being transported.The geometric relationship between the ith link of the left arm and the surrounding obstacle k is as shown in Figure 4.

Shortest Distance between Left Arm and Obstacle k
To simplify the system without losing generality, the i-th link of the left arm, the j-th link of the right arm, and the surrounding obstacle k are taken as the objects of study to analyze the shortest distance between the i-th link of the left arm and the surrounding obstacle k when an object is being transported.The geometric relationship between the i-th link of the left arm and the surrounding obstacle k is as shown in Figure 4.
The points A Li and B Li represent the start and end joints of the i-th link of the left arm, and their position vectors in the base frame are a and b, respectively.The length of the i-th link in the capsule-simplified model of the left arm is l Li .Then, the unit vector of the i-th link of the left arm is The position vector of the center of the surrounding obstacle k located in the robot's vision in the base frame is c.The shortest point on the axis of the i-th link of the left arm from the obstacle k is recorded as C Lik1 .The position of point C Lik1 is related to the projection value β Lik1 of obstacle k on the axis of the i-th link of the left arm, and its expression is as follows: where e T Li is the transpose matrix of e Li .
Bioengineering 2024, 11, x FOR PEER REVIEW 5 of 17 C ik on the axis of the i-th link of the left arm from the obstacle k in the base frame is expressed as Therefore, the shortest distance between the geometric center of the surrounding obstacle k and the axis of the i-th link of the left arm is given by where ||•|| represents the modulus of the vector.
Considering the volume elements of the left arm and the surrounding obstacle, the shortest distance between the surrounding obstacle k and the i-th link of the left arm is modified as The position vector of the shortest point C Lik1 on the axis of the i-th link of the left arm from the obstacle k in the base frame is expressed as Therefore, the shortest distance between the geometric center of the surrounding obstacle k and the axis of the i-th link of the left arm is given by where ||•|| represents the modulus of the vector.
Considering the volume elements of the left arm and the surrounding obstacle, the shortest distance between the surrounding obstacle k and the i-th link of the left arm is modified as where R Li is the radius of the i-th link of the left arm in the capsule-simplified model of the redundant arms, and R k is the radius of the surrounding obstacle k.

Shortest Distance between Left Arm and Right Arm
When an object is being transported, the j-th link of the slave arm acts as an obstacle to the i-th link of the left arm.The shortest distance between the i-th link of the left arm and the j-th link of the right arm is analyzed, and its geometric relationship is as shown in Figure 5.
Points A Rj and B Rj represent the start and end joints of the j-th link of the right arm, respectively, and their position vectors in the robot's base frame are h and m.The shortest points on the axis of the i-th link of the left arm from the start and end joints of the j-th link of the right arm are recorded as C Lik2 and C Lik3 , respectively, and their position vectors in the robot's base frame are r and s, respectively.sition vectors in the robot's base frame are r and s, respectively.
The start joint of the j-th link of the right arm is taken as the obstacle to the i-th link of the left arm.At this time, the projection of the start joint of the j-th link of the right arm on the axis of the i-th link of the left arm is expressed as follows: According to the method in Equation ( 4), the shortest distance on the axis of the i-th link of the left arm from the start joint of the j-th link of the right arm is calculated as where r is the position vector of the shortest point L 2 C ik on the axis of the i-th link of the left arm from the start joint of the j-th link of the right arm in the base frame.
Similarly, considering the volume element of the arm, the shortest distance between the i-th link of the left arm and the start joint of the j-th link of the right arm is modified as where Sj R is the radius of the j-th link of the right arm in the capsule-simplified model of the arms.The start joint of the j-th link of the right arm is taken as the obstacle to the i-th link of the left arm.At this time, the projection of the start joint of the j-th link of the right arm on the axis of the i-th link of the left arm is expressed as follows: According to the method in Equation ( 4), the shortest distance on the axis of the i-th link of the left arm from the start joint of the j-th link of the right arm is calculated as where r is the position vector of the shortest point C Lik2 on the axis of the i-th link of the left arm from the start joint of the j-th link of the right arm in the base frame.
Similarly, considering the volume element of the arm, the shortest distance between the i-th link of the left arm and the start joint of the j-th link of the right arm is modified as where R Sj is the radius of the j-th link of the right arm in the capsule-simplified model of the arms.The end joint of the j-th link of the right arm is taken as the obstacle to the i-th link of the left arm.At this time, the projection of the end joint of the j-th link of the right arm on the axis of the i-th link of the left arm is given as Similarly, the shortest distance between the axis of the i-th link of the left arm and the end joint of the j-th link of the right arm can be calculated by where s is the position vector of the shortest point C Lik3 on the axis of the i-th link of the left arm from the end joint of the j-th link of the right arm in the base frame.
Based on the volume elements of the dual-arm robot, the shortest distance between the i-th link of the left arm and the j-th link's end joint of the right arm is modified as Using the above method, the shortest distance between the surrounding obstacle k and each link of the left arm is derived in turn, and the minimum value is recorded as d * L1 .When the start and end joints of each link of the right arm are regarded as the obstacle of the left arm, respectively, the shortest distance to each link of the left arm is given, and the minimum values are recorded as d * L2 and d * L3 , respectively.Therefore, the shortest distance between the left arm and all obstacles including the surrounding obstacle k and the link joints of the right arm is given by The point marked on the link's axis of the left arm corresponding to the shortest distance is p 0L , called the left arm marker, and its position vector in the robot's base frame is recorded as p 0L .
Similarly, the shortest distance between the joints of each link on the left arm and the surrounding obstacle k from the right arm can be provided as The point marked on the link's axis of the right arm corresponding to the shortest distance is p 0R , called the right arm marker, and its position vector in the robot's base frame is recorded as p 0R .

Obstacle-Avoidance Algorithm in Coordinating Operation
During the coordinating operation of a redundant dual-arm robot, there is inevitably a certain overlap area between the operation spaces of the left and right arms.Moreover, in a complex operating environment, the environmental obstacles inevitably affect the coordinating operation of the two arms, making self-collision and environment-collision likely and causing the coordinating operation of the arms to fail.Therefore, it is necessary to plan the trajectories and velocities of a redundant dual-arm robot.The motion-correction algorithm adjusts the redundant joints in the null space at each iteration based on the current end-effector position, target position, and obstacle information.Adjustments in the null space do not affect the end-effector trajectory, ensuring that the robot can reliably complete its tasks.

Obstacle-Avoidance Motion Space
During the coordinating operation of a redundant dual-arm robot, if the shortest distance d 0L between the left arm marker p 0L and the obstacle at a specific time is less than the set "distance threshold", the arm will generate an obstacle-avoidance action.As the arm moves in three-dimensional space, to reduce the number of computations and improve the operation efficiency of the algorithm, a reduced obstacle-avoidance motion space is introduced [13,22].The arm only moves along the line between the geometric center of the obstacle and the marker, as shown in Figure 6.At this time, the obstacle-avoidance motion space is reduced from three dimensions to one dimension.
At this moment, the position vector of the geometric center of the obstacle with the shortest distance from the left arm to the marker p 0L is expressed as Its unit vector is expressed as the set "distance threshold", the arm will generate an obstacle-avoidance action.As the arm moves in three-dimensional space, to reduce the number of computations and improve the operation efficiency of the algorithm, a reduced obstacle-avoidance motion space is introduced [13,22].The arm only moves along the line between the geometric center of the obstacle and the marker, as shown in Figure 6.At this time, the obstacleavoidance motion space is reduced from three dimensions to one dimension.At this moment, the position vector of the geometric center of the obstacle with the shortest distance from the left arm to the marker 0L p is expressed as Its unit vector is expressed as The velocity 0L  p and Jacobian matrix 0L J for the obstacle avoidance of the marker on the left arm can be rewritten as After the reduced motion space is introduced, the marker's velocity on the left arm to avoid obstacles in the operation space changes from

and the
Jacobian matrix changes from 0L Similarly, after the reduced motion space is introduced, the velocity and Jacobian matrix for the obstacle avoidance of the marker 0R p on the right arm in the operation space are as follows: After the reduced motion space is introduced, the marker's velocity on the left arm to avoid obstacles in the operation space changes from .p 0L ∈ R m×1 to .p d0L ∈ R 1×1 , and the Jacobian matrix changes from J 0L ∈ R m×n to J d0L ∈ R 1×n .
Similarly, after the reduced motion space is introduced, the velocity and Jacobian matrix for the obstacle avoidance of the marker p 0R on the right arm in the operation space are as follows: .
The marker's velocity on the right arm to avoid obstacles in the operation space changes from .p 0R ∈ R m×1 to .p d0R ∈ R 1×1 , and the Jacobian matrix changes from J 0R ∈ R m×n to J d0R ∈ R 1×n .n 0R is the unit vector of the position vector of the obstacle from the shortest point of the right arm to the right arm marker.The introduction of a reduced motion space dramatically reduces the number of computations.

Obstacle-Avoidance Algorithm Theory
According to the kinematic constraint equation for the obstacle avoidance of a redundant single-arm robot in the literature [24,25], and combined with Equation (1), the obstacle-avoidance algorithm in the coordinating operation of a redundant dual-arm robot can be written as follows: The superscript "+" represents the Moore-Penrose inverse of the matrix, and I is the identity matrix; J + .
x represents the joint motion required to maintain the coordinating operation of two arms under the condition of the minimum norm solution; x represents the joint motion required for the left arm to avoid obstacles under the condition of sacrificing the minimum norm solution; the matrix J d0L I − J + J represents the degrees of freedom for the marker P 0L on the left arm to avoid obstacles without generating end-effector motion.It converts the movement of the marker on the left arm to avoid obstacles from Cartesian space to the corresponding joint space motion through the pseudo-inverse solution.J d0R I − J + J + .p d0R − J d0R J + .
x represents the joint motion required for the right arm to avoid obstacles by sacrificing the minimum norm solution, and the matrix J d0R I − J + J represents the degrees of freedom for the marker P 0R on the right arm to avoid obstacles without generating end-effector motion.It converts the movement of the marker on the right arm to avoid obstacles from Cartesian space to the corresponding joint space motion through the pseudo-inverse solution.
To ensure the effective control of the marker for obstacle-avoidance movement during the coordinating operation of a dual-arm robot, Equation ( 21) is modified as follows: . q = J + . x where α i (d 0i ) is the velocity weight factor for the marker to avoid obstacles, γ i (d 0i ) is the gain of the joint angular velocity, and d 0i is the distance between the marker and the obstacle.The distance threshold d n (n = 1, 2, 3) is introduced to ensure the smooth motion of the arms in the joint frame while avoiding collisions.The relationship between the weight factors α i (d 0i ), γ i (d 0i ), and d n can be given by where d 1 , d 2 , and d 3 are three set distance thresholds; c 0 , c 1 , c 2 , c 3 , k 0 , k 1 , and k 2 are constant coefficients whose values are as follows: it is a safe area.Let α i = γ i = 0, meaning that the angular velocity values of the joints of the left and right arms are solved under the minimum norm solution condition.At this time, Equation ( 22) is rewritten as When it is an early warning area.The velocity weight factor of the marker is not introduced, meaning that γ i = 0.However, α i changes according to Equation ( 23) so that the homogeneous solution of the joint angular velocity gradually increases from zero.At this time, the redundant arm starts to avoid collisions to ensure that the arm runs smoothly while staying away from obstacles.When d 0i decreases to d 2 , α i reaches the maximum value α max , and Equation ( 25) is rewritten as When it is a dangerous area.With the further reduction of d 0i , the velocity gain γ i of the marker increases rapidly from zero according to Equation (24), and, thus, the homogeneous solution of the joint angular velocity changes rapidly to ensure the smooth operation of the arm while accelerating the collision-avoidance action of the arm.When d 0i decreases to d 1 , γ i reaches the maximum value γ max , and Equation ( 26) is rewritten as

Simulation Analysis
To verify the algorithm's effectiveness, it was applied to a redundant dual-arm robot, as shown in Figure 1.The initial values of the joint angles of the redundant dual-arm robot are listed in Table 1.The velocity for avoiding obstacles at the marker on the arm was set to 15 mm/s, and the three distance thresholds were set as d 1 = 15 mm, d 2 = 30 mm, and d 3 = 45 mm.The initial and target positions of the geometric center of the object to be handled were A = (766, 0, 556) mm and B = (441, 0, 291) mm.To ensure the safe operation of the robot, the physical movement range of each joint was restricted to prevent the robotic arm from exceeding its designed limits.Moreover, when solving the inverse kinematics of the robotic arm, the principle of minimum energy consumption was followed to select the optimal solution.Table 1.Initial joint angle values of a redundant dual-arm robot.The given task requirements are as follows.The dual-arm robot was required to move the object from the initial position A to the target position B at a constant speed along a straight line by a coordinating operation and to avoid self-collisions and collisions with surrounding obstacles while keeping the posture of the object unchanged.The time t was set as 10 s, and two spherical obstacles with radius r = 50 mm were established in the workspace in the coordinating operation of the dual-arm robot.The positions of the geometric center in the base frame were O 1 = (370, 55, −130) mm and O 2 = (500, −110, −200) mm.

Angle
For the case in which the robot did not plan for obstacle avoidance, the simulation motion trajectory in the coordinated operation of the dual-arm robot is shown in Figure 7a.The two arms collided at the end of the second link during the period of t = 4-10 s, and the collision intensified with time.During the period of t = 6-10 s, the end of the second link of the master arm collided with obstacle O 1 , and the third link of the slave arm collided with obstacle O 2 .With time, the collisions between the arms and the surrounding obstacles intensified, and the coordinated operation task of the dual-arm robot failed.
When only considering the two arms as obstacles to each other, without considering the influence of surrounding obstacles on the motion of the manipulator, the simulation motion trajectory in the coordinated operation of the dual-arm robot is shown in Figure 7b.From the simulation results, it can be seen that during the period of t = 0-6 s, the ends of the second link of the master and slave arms gradually approached each other, and at the time where t = 6 s, the set safety threshold was reached.During the whole process of the coordinated operation of the dual-arm robot, there were no collisions between the links of the master arm and those of the slave arm.During the period of t = 6-10 s, the end of the second link of the master arm collided with obstacle O 1 , and the third link of the slave arm collided with obstacle O 2 .With time, the collisions intensified, and the coordinated operation task of the dual-arm robot failed.
the coordinated operation of the dual-arm robot, there were no collisions bet links of the master arm and those of the slave arm.During the period of t = 6-10 s of the second link of the master arm collided with obstacle O1, and the third li slave arm collided with obstacle O2.With time, the collisions intensified, and th nated operation task of the dual-arm robot failed.It can be seen from the previous two groups of simulations that, although the endeffector of the dual-arm robot could complete the predetermined operation trajectory, collisions between each link of the master arm and those of the slave arm as well as between the links of the arms and the surrounding obstacles occurred.Therefore, in the trajectory planning in the coordinated operation of a dual-arm robot, it is necessary to realize the influence of surrounding obstacles while considering the links of the two arms to be obstacles to each other.
The trajectory planning simulation was carried out using the obstacle avoidance algorithm proposed in the process of simulation implementation.It comprehensively considered the mutual obstacles of the two arms and the surrounding obstacles.The motion simulation trajectory is shown in Figure 7c.It can be seen from the simulation results that during the entire process of the coordinated operation of the dual-arm robot, there were no collisions between the links of the two arms and no collisions between the links and surrounding obstacles.The real-time shortest distance between each link of the master arm and those of the slave arm, as well as the distances between the links of the arms and the surrounding obstacles, was always greater than the set safety threshold.
Compared with the previous three groups of experiments, it can be seen that after adopting the obstacle-avoidance algorithm proposed in this study, the redundant dual-arm robot not only completed the coordinated operation but also realized real-time self-collision avoidance and surrounding obstacle avoidance by using the self-motion characteristics of the redundant arms of the dual-arm robot.Through three groups of simulations, it was proven that the algorithm in this study is indispensable for ensuring the safety of the coordinated operation of the dual-arm robot.

Experimental Scenario
To verify the obstacle-avoidance algorithm in the coordinating operation of the redundant dual-arm robot, the experimental platform shown in Figure 8 was built.The robot body was a redundant dual-arm robot from Shanghai Zhiyin Automation Technology Co., Ltd., Shanghai, China, with an operating range of 591 mm for a single arm and seven degrees of freedom for each arm.The motion capture equipment was the OptiTrack high-performance optical motion capture system produced by the American Natural Point Company, which included a camera, switch, camera gimbal, and three-dimensional (3D) PTZ (pan, tilt, zoom) system.The pneumatic grippers were installed at the ends of the dual-arm robotic arms, which gripped a cylindrical object powered by a pneumatic pump.Two small balls were placed in the workspace in the coordinating operation of the dual-arm robot to act as surrounding obstacles.

Experimental Results
To make the redundant dual-arm robot run safely and stably in the process of a coordinating operation, the obstacle-avoidance algorithm proposed in this study, which comprehensively considers self-collision and environment-collision, was used to carry out a trajectory planning experiment.The motion trajectory for the coordinating operation of the dual-arm robot is shown in Figure 9.
The shortest distance between the left arm, the right arm, and the environment in the entire motion process of the robot during the coordinating operation were analyzed and calculated, as shown in Figure 10.The angular changes of the joints of the left and right arms are shown in Figure 11a,b, respectively.To capture the distance information between each link of the dual-arm robot and between each link and the surrounding obstacles during the 3D motion of the redundant dual-arm robot, five optical cameras of the OptiTrack motion capture device were reasonably arranged in space in this experiment, so the dual-arm robot was always within the field of view of each camera during the motion.At the same time, the markers were pasted on the outer surface of each joint of the arm and the geometric center of the object to be transported.The OptiTrack motion capture system captured the 3D motion information of these markers and fed the information to a laptop computer connected to it.The motion control frequency for the robot was set at 250 Hz, and the obstacle-avoidance algorithm was executed at 50 Hz.These values can be adjusted based on specific requirements.

Experimental Results
To make the redundant dual-arm robot run safely and stably in the process of a coordinating operation, the obstacle-avoidance algorithm proposed in this study, which comprehensively considers self-collision and environment-collision, was used to carry out a trajectory planning experiment.The motion trajectory for the coordinating operation of the dual-arm robot is shown in Figure 9.
a trajectory planning experiment.The motion trajectory for the coordinating operation o the dual-arm robot is shown in Figure 9.
The shortest distance between the left arm, the right arm, and the environment in the entire motion process of the robot during the coordinating operation were analyzed and calculated, as shown in Figure 10.The angular changes of the joints of the left and righ arms are shown in Figure 11a,b, respectively.It can be seen from Figures 9 and 10 that during the period of t = 0-0.2s, the shortes distance between each link of the left arm and those of the right arm, as well as the dis tances between the links of the arms and the surrounding obstacles, was always greate than the threshold d3 without collision, and the dual-arm robot performed an object-hold ing task.The second link of the left arm approached the obstacle during the period of t = 0.2-3.8s, and its shortest distance was between the thresholds d3 and d2.The system issued an early warning, and the dual-arm robot took obstacle-avoidance actions while perform ing the given task.At time t = 3.8 s, the shortest distance reached the threshold d2, and th obstacle-avoidance action was accelerated to keep away from the obstacle.The distances between each link of the right arm and the obstacle were always greate than the threshold d3 during the period of t = 0.2-0.6 s, and no collision occurred.During the period of t = 0.4-4.6 s, the third link was close to the obstacle.When the shortest dis tance was between the thresholds d3 and d2, the system issued an early warning and took obstacle-avoidance actions.At time t = 4.6 s, the shortest distance reached the threshold d2 and the obstacle-avoidance action was accelerated to keep away from the obstacles.The distances between each link of the right arm and the obstacle were always greater than the threshold d3 during the period of t = 0.2-0.6 s, and no collision occurred.During the period of t = 0.4-4.6 s, the third link was close to the obstacle.When the shortest distance was between the thresholds d3 and d2, the system issued an early warning and took obstacle-avoidance actions.At time t = 4.6 s, the shortest distance reached the threshold d2, and the obstacle-avoidance action was accelerated to keep away from the obstacles.It can be seen from Figures 9 and 10 that during the period of t = 0-0.2s, the shortest distance between each link of the left arm and those of the right arm, as well as the distances between the links of the arms and the surrounding obstacles, was always greater than the threshold d 3 without collision, and the dual-arm robot performed an object-holding task.The second link the left arm approached the obstacle during the period of t = 0.2-3.8s, and its shortest distance was between the thresholds d 3 and d 2 .The system issued an early warning, and the dual-arm robot took obstacle-avoidance actions while performing the given task.At time t = 3.8 s, the shortest distance reached the threshold d 2 , and the obstacle-avoidance action was accelerated to keep away from the obstacle.
The distances between each link of the right arm and the obstacle were always greater than the threshold d 3 during the period of t = 0.2-0.6 s, and no collision occurred.During the period of t = 0.4-4.6 s, the third link was close to the obstacle.When the shortest distance was between the thresholds d 3 and d 2 , the system issued an early warning and took obstacleavoidance actions.At time t = 4.6 s, the shortest distance reached the threshold d 2 , and the obstacle-avoidance action was accelerated to keep away from the obstacles.
Figures 10 and 11a demonstrate that the second link of the left arm approached the obstacle during the period of t = 0.2-3.8s, and the angle of joint 1 changed faster so that the marker on the second link moved far away from the obstacle.It can be seen from Figures 10 and 11b that the third link of the right arm approaches the obstacle during the period of t = 0.4-4.6 s, and the angle of joint 2 changes faster so that the marker on the third link moves far away from the obstacle.It can be seen in Figures 9-11 that during the entire process of the coordinating operation of the dual-arm robot, there were no self-collisions and environment-collisions.The shortest distance between the left arm, the right arm, and the environment were always greater than the set safety threshold.Additionally, the algorithm ensured smooth and continuous movements while coordinating the operation.
The effectiveness of this algorithm was validated in controlled experimental environments.However, a broad application in real-world scenarios requires addressing its limitations in unstructured environments and operational complexity.Zhao et al. [26] proposed an online policy learning method that avoids the latency of traditional offline learning by adjusting control strategies in real time, enabling quick responses to dynamic task demands.Similarly, Dong et al. [27] proposed a method for capturing and modeling complex relationships in heterogeneous networks using meta-path strategies, which excels in identifying complex patterns in data, thereby enhancing the robot's rapid adaptation and response capabilities in complex environments.Su et al. [28] presented the robot-assisted minimally invasive surgery method, which combines teaching-by-demonstration and advanced modeling techniques.Using dynamic time warping and Gaussian mixture model-based dynamic movement primitives, it creates detailed 3D surgical skill models from multiple human demonstrations, enhancing the system's precision in replicating complex surgical operations.
Although these methods do not directly address dual-arm robots' obstacle avoidance, they provide significant methodological support for improving operational efficiency and safety.Future research can incorporate these methods by introducing online policy learning and meta-path-based modeling techniques into dual-arm service robots' control systems for real-time adaptive adjustments, enhancing response speed and task execution efficiency in dynamic environments.Additionally, utilizing dynamic time warping and Gaussian mixture model techniques can improve algorithmic precision and flexibility in handling complex tasks.Integrating these advanced methods will further enhance dual-arm service robots' obstacle-avoidance capabilities and overall performance in complex environments and operations.

Figure 1 .
Figure 1.Schematic diagram of a redundant dual-arm robot.The frames of the redundant dual-arm robot are shown in Figure 2. OB-XBYBZB is the base frame, and OLn-XLnYLnZLn and ORn-XRnYRnZRn are the frames of the end-effectors of the left and right arms, respectively.OW-XWYWZW is the frame fixed at the geometric center of the object.Li l and Ri l represent the length of the i-th link of the left arm and that of the

Figure 1 .
Figure 1.Schematic diagram of a redundant dual-arm robot.The frames of the redundant dual-arm robot are shown in Figure 2. O B -X B Y B Z B is the base frame, and O Ln -X Ln Y Ln Z Ln and O Rn -X Rn Y Rn Z Rn are the frames of the end-effectors of the left and right arms, respectively.O W -X W Y W Z W is the frame fixed at the geometric center of the object.l Li and l Ri represent the length of the i-th link of the left arm and that of the right arm, respectively.q Li and q Ri (i = 1, 2 ••• 7) are the joint angles of the i-th link of

Figure 2 .
Figure 2. Frames of a redundant dual-arm robot.

Figure 2 .
Figure 2. Frames of a redundant dual-arm robot.

Figure 3 .
Figure 3. Capsule-enveloping simplified model of redundant arms of a dual-arm robot.

Figure 3 .
Figure 3. Capsule-enveloping simplified model of redundant arms of a dual-arm robot.

Figure 4 .e
Figure 4. Schematic diagram of the geometric relationship between the i-th link of the left arm and the obstacle k.The points L A i and L B i represent the start and end joints of the i-th link of the left arm, and their position vectors in the base frame are a and b, respectively.The length of the i-th link in the capsule-simplified model of the left arm is Li l .Then, the unit vector of the i-th link of the left arm is

Figure 4 .
Figure 4. Schematic diagram of the geometric relationship between the i-th link of the left arm and the obstacle k.

Figure 5 .
Figure 5. Schematic diagram of the geometric relationship between the i-th link of the left arm and the j-th link of the right arm.

Figure 5 .
Figure 5. Schematic diagram of the geometric relationship between the i-th link of the left arm and the j-th link of the right arm.

Figure 6 .
Figure 6.Obstacle-avoidance movement of the marker.The velocity .p 0L and Jacobian matrix J 0L for the obstacle avoidance of the marker on the left arm can be rewritten as .p d0L = n T 0L

Figure 7 .
Figure 7. Motion trajectory in the coordinated operation of the dual-arm robot (a) without considering collision avoidance, (b) only considering the arms as obstacles to each other, and (c) considering the two arms as mutual obstacles and surrounding obstacles.

Bioengineering 2024 , 17 Figure 8 .
Figure 8. Experimental platform of coordinating operation of a redundant dual-arm robot.

Figure 8 .
Figure 8. Experimental platform of coordinating operation of a redundant dual-arm robot.

Figure 9 .
Figure 9. Motion trajectory for the coordinating operation of the dual-arm robot considering self collision and environment-collision.

Figure 9 .
Figure 9. Motion trajectory for the coordinating operation of the dual-arm robot considering selfcollision and environment-collision.The shortest distance between the left arm, the right arm, and the environment in the entire motion process of the robot during the coordinating operation were analyzed and calculated, as shown in Figure10.The angular changes of the joints of the left and right arms are shown in Figure11a,b, respectively.

Figure 10 .
Figure 10.Shortest distance between the left arm, the right arm, and the environment.

Figure 10 .
Figure 10.Shortest distance between the left arm, the right arm, and the environment.

Figure 11 .
Figure 11.Angular variation curves for each joint of the (a) left arm and (b) right arm.Figure 11.Angular variation curves for each joint of the (a) left arm and (b) right arm.

Figure 11 .
Figure 11.Angular variation curves for each joint of the (a) left arm and (b) right arm.Figure 11.Angular variation curves for each joint of the (a) left arm and (b) right arm.