Abstract
This paper presents the redundancy analysis of two cooperative manipulators, showing how they can be considered as a single redundant manipulator through the use of the relative Jacobian matrix. In this way, the kinematic redundancy can be resolved by applying the principal local optimization techniques used in the single manipulator case. We resolve the redundancy by using the Jacobian null space technique, which permits us to perform several tasks with different execution priority levels at the same time; this is a useful feature, especially when the manipulators are to be mounted on and cooperate with a mobile platform. As an illustrative example, we present a case study consisting of two planar manipulators mounted on a smart wheelchair, whose degrees of redundancy are employed to move an object along a pre-defined path, while avoiding an obstacle in the manipulator’s workspace at the same time.
Keywords
Introduction
In the last few years the study of dual-arm manipulation has become a subject of interest among the scientific community. Dual-arm manipulation has been defined in several ways, but it generally refers to the cooperation of two manipulation robotic systems that physically interact with an object, exerting forces on it in order to move or reshape it. 1
The dual-arm manipulation system was first introduced to replace workers in dangerous manufacturing processes. Early robotic manipulators were constructed by Goertz in the 1940s for handling radioactive goods. 2 Later, they were employed for marine and space exploration, where the dual-arm manipulators were considerably improved. In 1969, NASA’s Johnson Space Center introduced anthropomorphic dual-arm teleoperators, since their performance is closer to that of human operators. 3
Today, modern technological progress and the increasing acceptance of technology by users has encouraged the scientific community to focus on the development of dual-arm manipulators that are adapted to work in user centered environments, for example surgery or ambient assisted living (AAL). An example of dual-arm surgical application concerns the “Active Project”, which is a European project that exploits ICT and other engineering methods and technologies for the design and development of a dual-arm platform for neurosurgery. 4 As for AAL applications, dual-arm manipulators could be mounted on a wheelchair in order to assist disabled people to reach and handle objects, or to perform more complex tasks. 5,6,7,8,9
Cooperation between two robotic arms manipulating an object is not easy, since their relative motions have to be adequately controlled in order to perform the desired operation (i.e. solve a specific task). Moreover, the two arms and the object realize a closed kinematic chain, where the degrees of mobility of the system are greater than those generally required to perform the task, therefore the inverse kinematics problem admits an infinite number of solutions. 10 For this reason the dual-arm manipulators become a kinematically redundant system during the cooperation, where the redundant variables are employed to perform tasks such as collision avoidance, 11 or satisfy specific performance criteria such as singularities avoidance, 12 mechanical joint limit avoidance, 13 or improvement of manipulability along a chosen direction. 14 There are several approaches in the literature that permit resolving the inverse kinematic problem for single redundant manipulators. They are mainly based on global and local optimization of a specific objective function. In particular, the global optimization permits calculation of the optimal path that satisfies a performance criterion (off-line mode), 15 such as avoiding obstacles whose positions are known a priori. The local optimization permits calculation of the current desired joint velocity in order to locally satisfy the performance criterion (real time mode). 16
The simplest local optimization technique is represented by the pseudo-inverse solution, 17 which provides the joint velocity with the minimum norm among those which satisfy the task constraint. Since the obtained joint movement does not provide global velocity minimization along the whole path, this technique does not guarantee the avoidance of a kinematic singularity. Moreover, it does not permit the use of the redundant joints for any secondary task. This is instead possible by adopting a task augmentation technique. 18 This technique consists of augmenting the task vector so as to tackle additional objectives by implementing two different methods: extended Jacobian 19,20 and augmented Jacobian. 21 The disadvantage of this technique is due to the presence of possible conflicts among the various tasks. Moreover, if the Jacobians associated with the tasks are linearly dependent, the task augmentation technique generates algorithmic singularities. 19 In order to overcome these problems, the Jacobian null space technique was proposed in Dubey et al. 22 It is based on a task priority strategy that projects the gradient of joint velocity tasks into the analytic Jacobian null space of the higher priority task, and is often referred to as the gradient projection scheme. 22 Generally, the end effectors task is identified as the main task, namely the primary task, so that it has a higher priority with respect to other tasks (denominated secondary tasks), in order to obtain a hierarchical structure, as described in Antonelli et al. 23 Moreover, the Jacobian null space method can be implemented to manage the constraints on the joint velocities. 24 In this case, the redundancy is resolved so that the redundant joints, whose velocities do not violate the constraints, are used to correctly execute the task. Since the velocities of the joints associated with the secondary tasks, obtained through the gradient projection method, generate self-motions in the robot, they do not affect the primary task motion. On the other hand, the Jacobian null space technique requires a relevant computing effort due to the Jacobian pseudo-inverse, which reduces the speed of data processing. An improved version of the gradient projection scheme, which does not require determination of the pseudo-inverse, can be found in Dubey et al. 25 For the case of rank analytic Jacobians, it is possible to implement the reduced gradient method described in De Luca and Oriolo. 26
In the literature, several examples of null space algorithms are implemented on single redundant manipulators that are individually controlled. Žlajpah et al. present a highly kinematic redundant planar manipulator that is able to avoid obstacles online in an unstructured environment by using a mono-dimensional obstacle avoidance task. 11 Park et al. propose a method to accommodate multiple tasks for redundancy utilization, which is based on a specific weighted pseudo-inverse. 27
Since the control of cooperative manipulators is more complex than the control of a single manipulator, it is useful to employ the method based on the relative Jacobian matrix. 28,29 This method permits the consideration of two redundant manipulators like a unique redundant manipulator, whose number of joints is equal to the sum of the joints relative to each manipulator, while the end effector motion variables correspond to the relative motion between the two grippers. This method presents more advantages than those based on the individual control of each manipulator. First of all, a dual-arm system modeled according to the relative Jacobian method can be controlled by the same algorithms used for controlling single manipulators. Secondly, the compact expression of the relative Jacobian matrix is simple to calculate when Jacobians of the individual manipulators are known and, if a manipulator is replaced with another one, it is sufficient to change the respective Jacobian without recalculating the entire relative Jacobian matrix. 28
A dual manipulator system can be seen as a redundant system, and this paper is focused on the resolution of redundancy by projecting the maximum number of the secondary tasks into the Jacobian null space of the primary task, as in the single manipulator case. The main contribution is to control a dual-arm manipulation system as a single redundant manipulator through the use of the relative Jacobian, exploiting the degrees of redundancy to perform secondary tasks by using the Jacobian null space technique. The proposed approach permits the use of a dual-arm manipulation system to perform a primary task (e.g. hold an object, as presented in the case study) by using a simple control law which can account for secondary tasks as well (e.g. obstacle avoidance in the case study) as long as the system has one or more redundancy degrees. The capability of performing tasks with different execution priorities levels and the possibility of controlling the dual-arm manipulators as a single manipulator is useful, especially in the case of cooperation with a mobile base.
The paper has the following structure. Section 2 presents the theoretical background on the resolution of the kinematic redundancy problem based on the null space of the relative Jacobian. Section 3 shows a case study, in order to evaluate the system performances with different dimensions of the null space. Conclusions and future work complete the paper in Section 4.
Redundancy resolution by Jacobian null space method
In this section we revise the main literature results that are necessary to formulate the kinematic inverse solution for cooperative manipulators. Let us first recall the definition of redundancy for robotic manipulators.
The first definition depends on the specific task, which implies that the same manipulator can be redundant with respect to a specific task and non-redundant with respect to another. It represents the main definition of redundancy, with the other two definitions referring to specific cases. In detail, the second definition does not depend on the task, since it is based on the intrinsic kinematic structure of the robot; it follows from the definition of kinematic redundancy by considering the operational space rather then the task space, whose dimension is always equal or less than that of the operational space. The third definition, instead, refers to the specific case where the number of possible motions of the manipulator is equal to the dimension of the operational space, and redundancy originates from the fact that the task is defined in a space with fewer dimensions than that of the operational space (e.g. the operational space has three dimensions, but the task is planar, which implies a task space in two dimensions). The following example provides a better understanding of the differences between the three redundancies. Consider a planar manipulator with 4 joints, which has to translate and rotate an object (m = 3) on a plane (s = 3). Since in a generic open-chain manipulator the degree of motion n is equal to number of its joints, we have n = 4, and the considered planar manipulator results intrinsically redundant, that is n > s. Therefore, the manipulator can reach the desired end effector pose by assuming infinite configurations. On the contrary, a planar manipulator with 3 joints, n = 3, which has to translate an object on a plane (m = 2, s = 3) is functionally redundant, because it can perform the task by assuming an arbitrary end effector orientation.
In the following, the generalized form of the Jacobian pseudo-inverse solution for a single redundant manipulator is derived, then the analytic Jacobian is replaced by the relative Jacobian. The kinematic inverse solution for cooperative manipulators is presented at the end of the section.
Redundancy resolution for a single manipulator
Given an open chain manipulator with n joints and a task described by m variables in the operative space, it is possible to calculate the end effector velocity vector
Otherwise, if the end effector orientation velocity
Since the dimension of the end effector velocity vector requested by task, namely
Kinematic inverse solution for a non-redundant manipulator
Since the task variables are generally defined in the operative space, kinematic inverse algorithms are necessary to obtain the manipulator joint velocity. When the manipulator is not redundant, the joint velocity vector
If the initial joint position
Since the kinematic inverse algorithms generally run on digital processors, the joint position is discretized into
where
Defining the joint velocity vector in the function of the pose error of the end effector pose
where
where the velocity of the pose error convergence depends on the eigenvalues of matrix
Kinematic inverse solution for a redundant manipulator
In the case of a redundant manipulator, the previous inverse Jacobian algorithm cannot be implemented, because the Jacobian matrix is a lower rectangular matrix (m < n) and its inversion admits multiple solutions. For this reason, a criterion of solution choice should be adopted. If the Jacobian matrix has full rank, the solution is based on the right pseudo-inverse of the Jacobian matrix. 30 This allows us to obtain the solution that locally minimizes the norm of the joint velocity, in accordance with Moore–Penrose properties.
The right pseudo-inverse of the Jacobian matrix
Replacing the inverse Jacobian matrix with its pseudo-inverse in equation (7), it is possible to obtain the CLIK pseudo-inverse expression
where
However, the simple CLIK pseudo-inverse expression does not allow us to manage the redundant joints (joints not required by the task), which could be used to perform other secondary tasks that must not affect the performance of the primary task. A possible strategy consists of projecting the redundant joints velocity vector
where
The maximum number of tasks that can be executed simultaneously by the system depends on the dimensions of each task space, 23 that is if mi is the dimension of the ith task space, then
where l indicates the maximum number of tasks that can be fulfilled simultaneously by the cooperative manipulators (namely one primary task) and l − 1 indicates the secondary tasks executable at the same time. Since a secondary task may influence the primary task motion, it is necessary to project it into the null space of the primary task by orthogonal projector matrix
According to the right pseudo-inverse Jacobian, an n × n matrix
where
where the
where ka
is a real scalar value which indicates the gain, and is positive when
Kinematic inverse solution for cooperative manipulators
When two manipulators interact on an object at the same time, they make a closed-chain among the three parts. In this case, the task is generally executed by the relative end effector motions, which require fewer motion variables with than those provided by two independent manipulators. Alternatively, the two cooperative manipulators can be seen as a single redundant manipulator, having the same degree of motion of the dual arms and the same number of end effector motion variables required by the task. In this way, it is possible to implement the same control algorithm adopted in the single redundant manipulator case, with the only difference being a redefined Jacobian matrix. The Jacobian matrix associated with the equivalent manipulator depends on the two individual analytic Jacobians possessed by each manipulator, and is called the relative Jacobian.
The relative Jacobian matrix
Two cooperative manipulators A and B are shown in Figure 1, where each possesses a number of joints, na
and nb
respectively. The frame integral to the base of manipulator B, namely Bb
, is placed on a fixed Cartesian distance
where

Two cooperative manipulators.
Thanks to the kinematic relations between the two manipulators, it is possible to obtain a single equivalent manipulator with a number of joints equal to nab
= na
+ nb
and end effector motion variables defined by the
where
with
The wrench transformation matrix
where
The relative Jacobian null space
Since the relative Jacobian matrix is associated with the cooperative dual arms, it can define its equivalent manipulator with a number of joints equal to nab
. Since nab > mab
, the equivalent manipulator results kinematically redundant with respect to the relative motion task. In accordance with equation (10), in this case the joints velocity vector
where
In order to obtain the joints velocity vector
where
with
Where
Case study
Task description
This section describes a case study which consists of the development of a kinematic control based on the relative Jacobian matrix of two cooperative Jaco manipulators, 35 A and B, mounted on the left and right side of a smart wheelchair, as shown in Figure 2. In this scenario, the user can autonomously reach any indoor point by using the smart wheelchair, thanks to a simultaneous localization and map-building algorithm. 36,37,38 The two cooperative manipulators add manipulation capability to the wheelchair in order to transport objects along a pre-defined path. Since the aim of this paper is focused on the analysis of the kinematic performance of a dual-manipulation system, the wheelchair motion is not considered during the execution of the manipulation tasks. Moreover the case study is faced in the planar case. The reader can refer to the concluding section for an explanation of possible future work, which takes into account cooperation between the wheelchair and the manipulators and a possible extension to the three-dimensional case.

Concept of the wheelchair with two manipulators within an AAL scenario.
The considered task is common in a daily scenario: during a meal the wheelchair user commands the two manipulators to move his/her dish from point The motion of the dish is along a straight line in the XY-plane, which is a common path to choose in order to reduce both the time of the task execution and the motor energy consumption. The dish is represented by a circle of ray r
1. The bottle is represented by a circle of ray r
2. The two anthropomorphic manipulators (Figure 3(a)) are modeled as two planar manipulators having three joints each (na
= nb
= 3), which grasp the dish so that the Cartesian distance between the two end effectors is equal to the diameter of the dish (Figure 3(b)). The end effector A has a low orientation velocity, thus the wrench transformation is approximated by the identity matrix.

Top view of the system (a) and initial planar manipulators configuration (b).
According to the Jacobian null space method, the proposed scenario could be decomposed into two different priority level tasks: the higher priority task (primary task) and the lower priority task (secondary task). In particular, the primary task ensures the grasping of the dish during all the motion time, that is the distance
where
The degree of redundancy is used to execute the first secondary task, which defines the translation of the dish between two points. It is obtained by projecting a desired Cartesian velocity
Therefore, it is possible to obtain the 6-dimensional joints velocity vector
where
The final degree of redundancy of the dual-arm system rab results in
From equation (32), the dual-arm system still has one degree of redundancy, which can be used to execute a third secondary task such as obstacle avoidance. In particular, the dual-arm system is able to avoid an obstacle of unknown position, which could be detected, for instance, by using a vision system.
The obstacle avoidance task is obtained by using a projecting gradient method.
22
This method permits increasing the distance between the obstacle and the nearest manipulator by projecting the joint space velocity relative to the third task in the null space of the secondary task. Since ma
= 2, the third task does not affect the translation of the end effectors, but only their orientation, which is not important for the correct execution of the higher priority task. The third task can be performed by an algorithm that operates in two steps. In the first step, the algorithm detects the arm closest to the obstacle, by iteratively calculating the minimum distance vector
where the subscript i = a, b indicates the two manipulators A and B. Suppose now that A is the arm closest to the obstacle (the same applies if B is the closest). The second step consists of maximizing the distance by calculating the gradient
where the obstacle avoidance gain ka is defined as
with k* being the nominal gain value and dT being the threshold distance where the the obstacle avoidance task is active. Finally, it is possible to calculate the final joint velocity vector of the equivalent manipulator by substituting equations (31) and (34) into equation (29)
Equation (36) presents a hierarchical task structure, which is summarized in the block digram shown in Figure 4.

Block diagram of two cooperative manipulators.
Thus, the final degree of redundancy of the system leads to
Results
In this section we simulate the movement of a dish, which has a ray r
1 = 0.2 m and its center placed in pc
= [0.2 m, 1 m], along a straight line defined between the points Maintaining a relative distance between the two end effectors Moving the A manipulator along the defined path. Avoiding an obstacle (i.e. a bottle).
In order to keep a constant end effector distance, the relative Cartesian velocity vector
The starting pose of the dual-arm system is shown in Figure 3(b), where the starting A manipulator pose is

Final manipulators configuration without (a) and with (b) the obstacle avoidance task.
The variations of joint angles without and with obstacle avoidance task are shown respectively in Figures 6(a) and (b).

Joint angle position without (a) and with (b) the obstacle avoidance task.
The performances of the first task are shown in Figures 7(a) and (b), where the relative end effector’s pose and orientation errors are reported. The results obtained indicate that the primary task is independent from the other secondary tasks. The performances of the second task are shown in Figures 8(a) and (b), which indicate respectively the end effector A’s position along the reference path and the relative error. Because no specification on the end effector’s orientation is assigned, it can be calculated in order to maximize the distance between obstacle and manipulators in accordance with the obstacle avoidance task. In particular, Figure 9 shows the minimum distance between the two manipulators and obstacle, so that it is possible to note how the obstacle avoidance algorithm permits us to keep the minimum distance value higher than safety distance. Since the primary task imposes the same relative end effector orientation value during the motion, the B manipulator remains near the obstacle when the obstacle avoidance task is executed.

Relative end effectors position error (a) and orientation error (b).

End-effector A position along the path (a) and the path following error (b).

Minimum distance between manipulators and obstacle.
Conclusions and future work
This paper presents the redundancy analysis of two cooperative manipulators considered as a single redundant manipulator through the use of the relative Jacobian matrix. The kinematic redundancy is resolved through the Jacobian null space technique, which permits us to perform several tasks with different execution priority levels by projecting the lower priority tasks into the null space of the relative Jacobian matrix. Since the maximum number of lower priority tasks executable at the same time depends on the dimension of the null space of the relative Jacobian matrix, a hierarchical structure of tasks can be defined, where lower priority tasks can be added as long as the redundancy degree is not zero. The proposed approach permits us to use a dual-arm manipulation system to perform a primary task by using a control law as simple in structure as those used for an individual manipulator, and accounting for secondary tasks as well (such as obstacle avoidance or avoiding joint limits). In the presented case study, two planar manipulators mounted on a smart wheelchair are considered, where the primary task is to keep a constant relative distance between the two end effectors, while the secondary tasks are to move one manipulator along a defined path while avoiding an obstacle. The obtained results show that the lower priority tasks do not affect the performance of the higher priority task.
Note that, due to the presence of the Jacobian pseudo-inverse, the Jacobian null space technique used in this paper may present a relevant computing effort, and thus a less computationally demanding control scheme, such as the one based on the Jacobian null space projection, should be considered for implementation on a real controller of two anthropomorphic manipulators (most suitable in the AAL scenarios). The authors are currently investigating full cooperation between the dual-arm manipulators and the mobile wheelchair in three dimensions, and are considering the extension of the case study to the three-dimensional case by using the kinematic model of real robotic manipulators (i.e. Jaco), and the cooperation of robotic arms with the smart wheelchair to operate the movement of grasped objects in three-dimensional space.
Footnotes
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) received no financial support for the research, authorship, and/or publication of this article.
