# Tutorial Review on Space Manipulators for Space Debris Mitigation
## 11 Dual-Manipulator Control  
The use of multiple (most commonly, dual) manipulator arms offers significant advantages over a single arm. More than two cooperative manipulators with load distribution has been addressed using a virtual linkage model [244]. A second arm can move to compensate for reactions imposed by the first by maintaining the spacecraft's inertial position [245], though this would be a wasteful use of an additional arm and ungainly. Multiple arms can share heavier loads, have larger workspace and can perform functions that cannot be performed with a single arm. Other tasks will require cooperative dual tasking, such as coupler mating or common object manipulation. Indeed, dual arms can perform human-like tasks [246]. In particular, a division of labour might be apportioned in which one arm performs a task (manipulate a peg), while the other arm fixes the task location (positioning the hole). In a closed chain configuration, dual arms offer increased rigidity yet retaining flexibility of movement of the grasped object. For dual manipulators, there are several control approaches:  
1. [label=()]
2. fully decentralised, in which each manipulator is decoupled and controlled independently;
3. partially decentralised master/slave approach, in which a master manipulator is controlled to which the slave manipulator has a fixed relative position. In handling a common object, the two robots form a closed kinematic chain with two holonomic constraints [247]: \[p(\theta_{m})+R(\theta_{m})r_{m}-p(\theta_{s})=0\] (133) where \(\mathrm{r_{m}}=\) virtual stick from the end effector to the object centroid \[U=R(\theta_{m})^{T}R(\theta_{s})=\mathrm{relative\ orientation}=\mathrm{constant}\] Differentiating yields: \[\dot{\theta}_{s}=\left( \begin{array}{c}J_{\mathrm{v}}(\theta_{s})\\ J_{\mathrm{w}}(\theta_{s})\end{array} \right)^{-1}\left( \begin{array}{c}J_{ \mathrm{v}}(\theta_{m})+L(\theta_{m})\\ J_{\mathrm{w}}(\theta_{m})\end{array} \right)\dot{\theta}_{m}\text{ where }L(\theta_{m})=\frac{\partial R_{ \mathrm{n}}(\theta_{m})r_{m}}{\partial\theta_{m}}\] (134)
4. centralised approach, in which force control is administered at the common object such as the operational space formulation. The six-degree-of-freedom wrench in cartesian coordinates may be defined by the operational space dynamic model of a manipulator [248]: \[\omega=\Lambda_{m}(q)\ddot{q}+\Gamma_{m}(q,\dot{q})+F_{ext}\] (135) where \(\Lambda(\mathrm{q})=\left(JD(\theta)^{-1}J^{T}\right)^{-1}=\mathrm{operational\ space\ inertia}\), \(\Gamma(\mathrm{q},\dot{q})=J^{-T}C(\theta,\dot{q})J^{-1}-\Lambda(\mathrm{q})J ^{-1}=\mathrm{wrench\ including\ nonlinear\ terms}\), \(\omega=J^{-T}\tau=\mathrm{end\ effector\ wrench}\), \(\mathrm{D}(\theta)=\mathrm{joint\ space\ inertia}\), \(C(\theta,\dot{\theta})=\mathrm{Coriolis\ and\ centrifugal\ parameters}\), \(\tau=\mathrm{joint\ torques}\). Force control in operational space is given by: \[\tau=J^{T}(\theta)F_{ext}+[I-J^{T}(\theta)\overline{J}^{T}(\theta)]F_{int} \text{ where }\overline{J}(\theta)=D^{-1}(\theta)J^{T}\Lambda(\theta)= \mathrm{generalised\ inverse}\] (136) In terms of null space projection [249; 250]: \[\tau_{nullspace}=[I-J^{T}(\theta)\overline{J}^{T}(\theta)]F_{int}\] (137) Hybrid position/force control can be readily applied to the control of two arms simultaneously [251]. Similarly, impedance control of dual arms can be applied both centralised and decentralised [252]. There are several forms of cooperative arm control: (i) position-controlled master arm with a force-controlled slave arm which does not distribute loads effectively; (ii) dual-arm hybrid position/force control; (iii) dynamic cooperation in which the computed torque controller incorporates manipulator and object dynamics to nullify internal forces. During such dual-manipulator tasks, both arms apply forceswhich either generate movement of the object (motion forces) or generate internal forces (squeeze forces).