Shanti Singh

Keywords: arm frames and joint axes and virtual joints, 2, 3 Control architecture for CTS pose control

List of Figures

1.1 Shift of "Robot zone" towards mass customization zone where manual assembly was prevalent [1]. . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Dual-arm collaborative robots performing industrial tasks: (a) cooperative lifting with human [2]; (b) dual-arm IKEA chair assembly [3]; (c) bimanual folding assembly [4]; (d) bimanual peg-in-hole task [5]. . . . . . 1.3 Dual-arm robots performing domestic and assistance tasks: (a) folding clothes [6]; (b) flattening clothes or wrinkle removal [7]; (c) bottom dressing assistance [8]; and, (d) upper body clothing assistance [9]. . . . . . . . 1.4 Control architecture for CTS pose control. . . . . . . . . . . . . . . . . . . 2.1 Static analysis of dual-arm handling a single object. . . . . . . . . . . . . 2.2 Dual-

iv

Abstract

The classical approach for dual-arm cooperative task space control was revisited and the symmetric formulation of dual arm coordination using virtual stick s was implemented using screw-based kinematics with dual quaternion representation. The proposed simultaneous pose control of cooperative task space, i.e. simultaneous control of both position and orientation setpoints of relative and absolute task space was compared against the performance of conventional proportional controller treating position and orientation error separately. The simultaneous pose controller demonstrated better tracking of pose and orientation in terms of accuracy and stability compared to the conventional controller for tasks requiring faster operation in the relative task space of dual-arm manipulators.

The cooperative task space modelling and control approach using screw-based kinematics and dual quaternions were extended for the cooperation modelling of the fingers of an anthropomorphic robotic hand. Additionally, the coupling of joints in the underactuated fingers of the robotic hand were represented with a coupled finger Jacobian. The coupled Jacobian of the robotic finger was used for inverse kinematic control, while allowing easy integration with a robotic arm.

The idea of simultaneous treatment of position and orientation variables was capitalized further with the design of a dynamic trajectory tracker using dual quaternions. The trajectory controller hence designed was capable of tracking pose, velocity and acceleration setpoints for the end-effector using inverse dynamic model of the robot. The dynamic trajectory tracker using a simultaneous resolved rate acceleration controller was found to be capable of tighter trajectory control, specially for error terms related to orientation, compared to the conventional controller that treated the position and orientation setpoints separately and ignored the inherent effect of rotation on translational motion. Additionally, it also led to lower oscillations in the joint torque command when implemented for the control of one of the arms of Baxter dual-arm robot.

Finally, a complete framework for the coordination of bi-arm robotic systems was proposed with the addition of a cooperative task planner. The simplicity of screw theory was exploited additionally for parametrized generation of generalized second order trajectories for tasks requiring simplified motion, like translation, rotation and screw motion around an arbitrary 6D screw-axis given in a known reference frame. The trajectory generation method was extended to represent the constraints related to tasks involving contact between objects using the concept of virtual mechanism. terms for the rope deformation task to achieve U and S shape. . . . . . . 5.12 Pose tracking performance for relative task space in DQ (x 1 , x 2 , ..., x 8 ) terms for the rope deformation task to achieve U and S shape. . . . . . . 5. [START_REF] Vilhena | Two-arm manipulation: From manipulators to enhanced human-robot collaboration[END_REF]

List of Tables

2. [START_REF] Zeiß | Manipulation Skill for Robotic Assembly[END_REF] Computation cost comparison between HTMwDH [START_REF] Dantam | Practical exponential coordinates using implicit dual quaternions[END_REF], DQwDH [START_REF] Vilhena | Two-arm manipulation: From manipulators to enhanced human-robot collaboration[END_REF] and DQwScrew ( [START_REF] Özgür | Kinematic modeling and control of a robot arm using unit dual quaternions[END_REF], A. • k xi,j : Pose of frame j relative to frame i and represented in frame k.

• i xj : Pose of frame j relative to frame i and represented in frame i.

Chapter 1

Introduction 1.1 Motivation

In the past decades, robots have demonstrated great applicability in manufacturing industries for manipulation of heavy parts for assembly, welding and machining operations. Since the focus of previous robotic applications was geared towards high-volume manufacturing, a structured environment with dedicated robotic cells was the prevailing norm in these manufacturing units. But as the market's demand is shifting from mass production towards mass customization [START_REF] Wahrburg | Combined pose-wrench and state machine representation for modeling robotic assembly skills[END_REF], as shown in Fig. 1.1, industries are forced to redesign the production lines more frequently. Additionally, manual labor is often needed for intermediate tasks like fastening two parts together, inspection of manufactured parts for defects, etc.

To stay relevant in the industries, the robots should evolve to be more skilled with higher cognition abilities, flexible in terms of applicability for different kinds of tasks, and safe enough to work with humans. It is expected that 30% of the robots sold in 2027 will be collaborative robots [START_REF]Collaborative robot market forecast 2018 -interact analysis[END_REF], or as commonly known, cobots, which are designed for safe interaction and collaboration with humans. The take-away message from these trends is that the key drivers of automation in the near future will be the robotics solutions for tasks that are traditionally done by humans, while capable of working close to humans and collaboration with humans in an human-centric environment [START_REF] Kragic | Interactive, collaborative robots: Challenges and opportunities[END_REF].

2

Chapter 1: Introduction Fig. 1.1 Shift of "Robot zone" towards mass customization zone where manual assembly was prevalent [START_REF] Zeiß | Manipulation Skill for Robotic Assembly[END_REF].

The robotics community has started to respond to this emerging demand of high mix and low volume production in industries with the development of highly skilled collaborative robots capable of working alongside humans for traditionally manual tasks, such Fig. 1.2 Dual-arm collaborative robots performing industrial tasks: (a) cooperative lifting with human [2]; (b) dual-arm IKEA chair assembly [3]; (c) bimanual folding assembly [4]; (d) bimanual peg-in-hole task [START_REF] Weng | A survey of dual-arm robotic issues on assembly tasks[END_REF].

1.1 Motivation 3 as packaging of goods, small parts assembly, etc. Dual-arm robots have been used for cooperative tasks such as: manipulation of heavy objects [START_REF] Chang | Control of cooperative dual-arm mobile robots in a vision-based intelligent space[END_REF]; bimanual assembly operations [START_REF] Ge | Small part assembly with dual arm robot and smart camera[END_REF][START_REF] Fang | Dual-arm robot assembly system for 3c product based on vision guidance[END_REF]; laboratory automation [START_REF] Chu | Application of dual-arm robot in biomedical analysis: Sample preparation and transport[END_REF][START_REF] Fleischer | Application of a dual-arm robot in complex sample preparation and measurement processes[END_REF]; and, space exploration crew-assistance [START_REF] Zereik | Autonomous dual-arm mobile manipulator crew assistant for surface operations: force/vision-guided grasping[END_REF], etc. Some of the recent results in the context of these application scenarios of advanced industrial automation using robots have been depicted in Fig. 1.2.

There is also a significant potential of robotic applications for domestic tasks in a humancentric environment such as service industries, like restaurants and hotels, in addition to medical facilities. Dual-arm robotic platforms can be used for domestic applications like making pancakes [START_REF] Beetz | Robotic roommates making pancakes -look into perception-manipulation loop[END_REF], and house-keeping tasks such as making a bed, folding laundry, ironing clothes, etc [START_REF] Stria | Garment perception and its folding using a dual-arm robot[END_REF][START_REF] Sun | Accurate garment surface analysis using an active stereo robot head with application to dual-arm flattening[END_REF]. However, one of the most crucial service application of a robot could be taking care of patients and the elderly. Robots can help patients with immobility ease into their wheelchair or to put them to bed or help them stand by providing physical support [START_REF] Mukai | Development of a nursing-care assistant robot riba that can lift a human in its arms[END_REF]. They can also be used to dress and undress patients with mental and physical incapabilities [START_REF] Yamazaki | Bottom dressing by a dual-arm robot using a clothing state estimation based on dynamic shape changes[END_REF][START_REF] Tamei | Reinforcement learning of clothing assistance with a dual-arm robot[END_REF]. Fig. 1.3 shows some of the robotic solutions for common household tasks, like folding laundry and clothing assistance tasks.

The applicability of dual-arm robots in manufacturing industries, as well as in domestic tasks is undeniable on account of following factors [START_REF] Smith | Dual arm manipulationa survey[END_REF][START_REF] Lee | Dual redundant arm configuration optimization with task-oriented dual arm manipulability[END_REF]:

• Industrial Applications:

-Fixture-less assembly: Assembly operation involves controlled interaction between two assembly parts. A single manipulator needs a structured fixture to hold one of the parts thus greatly reducing the applicability of manipulators in industries. A dual-arm manipulator can eliminate the requirement of a dedicated setup thus has the potential of increasing the usage of robots in Small and medium-sized enterprise (SME)s.

-Larger workspace and higher load-bearing capacity: A dual-arm system enlarges the workspace. Moreover, there are many tasks in industrial settings that involve the manipulation of heavy objects and their interaction with the external environment where dual-arm robots can be of higher utility than single-arm robots.

-Flexibility in the operation and task-space: Sometimes even when the desired tasks can be accomplished with just one arm, the other arm can provide • Human-centric applications:

-Human form-factor : The human form-factor of dual-arm robots makes them an ideal choice to employ in service industries owing to the trust factor and thus making dual-arm robots easier to integrate with human-structured environment [START_REF] Albers | Upper body of a new humanoid robot-the design of armar iii[END_REF].

-Transfer of skills: Since we humans perform many tasks that involve a combination of single-arm and bimanual operations, a dual-arm robot is more desirable, as human inspired strategies can be easily imitated or transferred [START_REF] Silvério | Learning bimanual end-effector poses from demonstrations using task-parameterized dynamical systems[END_REF][START_REF] Pais | Constraints extraction from asymmetrical bimanual tasks and their use in coordinated behavior[END_REF].

1.2 Scope of the thesis

Scope of the thesis

While dual-arm robots offer a considerable advantage for most of the industrial and domestic applications, they inherit all the single manipulator challenges related to the task description, the abstraction of higher-level inferences from raw sensor data and sensor inaccuracies, uncertainties related to the environment, motion planning and control of the manipulator, and so on. On top of that, dual-arm manipulation presents some new problems such as dual-arm coordination, dual-arm motion planning, role-assignment for each contributing arms, etc [START_REF] Smith | Dual arm manipulationa survey[END_REF].

This thesis deals with some of the issues related to dual-arm coordination for tasks where cooperative behavior of two arms of a dual-arm robot is paramount. The goal of this thesis has been to apply the principles of screw theory using dual quaternions for the representation of motion variable and spatial transformations, and to improve upon the previous works on cooperative dual-arm manipulation in terms of computational advantage and controller performance. The improvements in computational and storage efficiency can be attributed to the use of UDQ, and controller performance to the consideration of the inherent coupling of linear and angular terms in rigid body motion.

The improvement in control performance observed for cooperative task-space control was extended for second-order trajectory tracking for single robotic manipulator.

While this thesis does not address the issues involved in robotic grasping, the kinematic aspects of an anthropomorphic hand that incorporates coupled motion in the last two distal phalanxes similar to human fingers were studied. A coupled Jacobian was proposed which represented this motion coupling and the forward and inverse kinematic model was validated on robotic fingers. Additionally, the concept of relative task-space was applied to control the relative task-space of a unified manipulator consisting of index and thumb, with two end-effectors frames defined at the two fingers tips.

A framework for task definition, trajectory planning and execution for dual-arm manipulation was designed. Screw theory and dual quaternions were used as the tools to define cooperative task-space variables, which refers to the absolute and relative task space of dual-arm robots. In addition, screw-theory were employed to obtain parametrized cooperative task-space trajectories for common industrial and domestic tasks. The task definition approach uses VMs to define physical constraints related to tasks. The goal of Chapter 1: Introduction using VM is to parametrize the task definition with task requirements which are either pre-specified or can be obtained from an appropriate sensing module.

Contributions

The main contribution of this thesis are presented in the following sections.

ROBOT HW INTERFACE (Real/Simulation)

[q r curr ]

[qt curr ] b Ĵ r b Ĵ t [Δq
[V � S r , V � S t ] [V � S r , V � S t ] Initial Screw Axes ([ b ŝ 1m init , b ŝ 2m init , ..., b ŝ nm init ])

Framework for Dual-arm cooperative task execution

A framework for dual-arm cooperative task execution has been proposed that includes a novel formulation of dual-arm coordination using unit dual quaternions, and a task planning strategy for tasks involving the manipulation of rigid, well as articulated and deformable object manipulation. The proposed strategy was validated on Baxter robot for a variety of tasks such as cooperative lifting, deformation of foam for packaging and where the pose variables related to linear and angular motion are separately controlled.

Cooperative task-planner

A task planner has been proposed for generating motion plans in the cooperative task space, with the a variation of VS concept proposed in [START_REF] Uchiyama | A symmetric hybrid position/force control scheme for the coordination of two robots[END_REF], that was used for static analysis of a rigid body held by two manipulators. The VS concept was modified for the task modeling of articulated and deformable object manipulation. The implementation of the task planner is based on screw theory that allowed us to parametrize these tasks with minimal parameters, while at the same time generate higher-order trajectories. A comparative analysis of screw theory and Dual Quaternion (DQ) based pose controller was carried out for tasks hence defined against the classical control approach involving three-dimensional position and orientation components of motion.

Anthropomorphic finger modeling and control

An anthropomorphic hand was studied that consisted of fingers with human-like mechanical coupling in their middle and distal phalanx motion. The kinematic model was derived analytically while taking this coupling into account, in a way so as to make it easier to integrate with the kinematics of the finger with that of a connected robotic arm. The kinematic model hence derived was validated on an anthropomorphic hand for forward and inverse kinematic control of individual fingers, as well as for relative task-space control of relative motion between thumb and index-finger fingertips.

Chapter 1: Introduction

The inclusion of the relative task space of finger with the cooperative task-space framework has also been proposed and the corresponding architecture has been outlined in the future work section.

Coupled resolved-rate acceleration controller

The trajectory tracking strategy of manipulators using resolved rate acceleration control was studied and a controller was designed which respected the inherent coupling of angular and linear terms in rigid body motion. The proposed trajectory tracker uses a

Proportional Derivative (PD) control scheme based on spatial dynamics and unit dual quaternion representation of motion variable viz. pose, velocity and acceleration. The novel trajectory tracker for robotic manipulation hence designed was compared with a state of the art decoupled controller, where the linear and angular terms of the control law are controlled separately.

A framework for extending the coupled resolved-rate acceleration control for dual-arm handling of a rigid object has also been proposed in the future work section.

Funding

This work is funded by the European Union. The European Union gets involved in Auvergne-Rhône-Alpes through the European Regional Development Fund (FEDER).

Publications

The research work conducted in the scope of thesis were disseminated through following conferences:

• Chandra, R

Outline of the thesis

Chapter 2 presents the dual-arm coordination problem in detail and explains the advantages of the proposed dual quaternion based approach compared to state of the art approaches. The comparative validation for different simple cooperative task-space motion of the dual-arm manipulators is also presented in chapter 2. The kinematic modelling and relative task-space control strategy of an anthropomorphic hand is given in chapter 3. The task planning strategy for dual-arm robots, along with experiments with deformable objects has been given in chapter 5.

The new strategy proposed for resolved-rate acceleration control design for trajectory tracking of end-effector, along with the theoretical foundation, related work and comparative validation with state of the arm approaches is described in chapter 4. Future work and perspective and a general conclusion for the entire thesis work is presented in the last chapter, i.e. chapter 6.

Chapter 2

Dual-Arm Kinematic

Coordination using Dual

Quaternion

The treatment of dual-arm coordination available in the literature can be divided into symmetric and asymmetric schemes, where in symmetrical schemes of dual-arm manipulation it is desired to have shared contribution of force and motion from both arms. In asymmetric schemes the pose and desired interaction force setpoints for the master manipulator are used to compute the corresponding variables for the slave arm [START_REF] Yan | Coordinated compliance control of dual-arm robot for payload manipulation: Master-slave and shared force control[END_REF][START_REF] Jian M Tao | Compliant coordination control of two moving industrial robots[END_REF][START_REF] Zhang | Dynamic simulation and analysis for bolt and nut mating of dual arm robot[END_REF].

Some bimanual tasks demand master-slave control, for example hammering a nail where one of the arms position the nail on the wall, while other handles the hammer. However, for situations where asymmetry is not apparent from the task, it is desired to formulate the cooperation problem symmetrically to have better control over the task and use it to our advantage to modify the cooperative behavior [START_REF] Park | Extended cooperative task space for manipulation tasks of humanoid robots[END_REF][START_REF] Jamisola | Modular relative jacobian for dual-arms and the wrench transformation matrix[END_REF]. The reasons for this choice are issues like artificially imposed asymmetry [START_REF] Stanley | Object impedance control for cooperative manipulation: Theory and experimental results[END_REF], information delay [START_REF] Wang | A unified dynamic control method for a redundant dual arm robot[END_REF], and proper master/slave role assignment during the execution of task [START_REF] Uchiyama | A symmetric hybrid position/force control scheme for the coordination of two robots[END_REF] with asymmetric coordination scheme.

Uchiyama [START_REF] Uchiyama | A symmetric hybrid position/force control scheme for the coordination of two robots[END_REF] provided one of the earliest symmetric formulations to deal with dual-arm coordination considering both arms collectively. Their VSs based static analysis of bimanual manipulation of rigid objects provides a good starting point to study dual arm coordination, since it also provides a sound basis to account for different kinematic 12

Chapter 2: Dual-Arm Kinematic Coordination using Dual Quaternion cooperative models derived from the study of human bimanual actions [START_REF] Guiard | Asymmetric division of labor in human skilled bimanual action: The kinematic chain as a model[END_REF] to impart different level of contribution to the cooperating robotic arms [START_REF] Park | Extended cooperative task space for manipulation tasks of humanoid robots[END_REF][START_REF] Park | Dual-arm coordinated-motion task specification and performance evaluation[END_REF]. In this work however, we only focus on bimanual actions where the cooperating arms are desired to contribute equally, i.e. on parallel bimanual actions.

A screw-based approach using dual-quaternion representation has been presented in this chapter for dual-arm kinematic modelling. One of the goal of this study is to compare such approach with existing methods using other CTS modelling approaches such as DH and DH with DQ representation. Another objective for this work was to analyze the difference in the dual-arm cooperative motion control performance when the position and orientation variables are controlled separately, against the proposed simultaneous pose control law that use screw theory to handle both positional and orientational variables simultaneously.

In following section (section 2.1) the cooperative task space proposed by [START_REF] Uchiyama | A symmetric hybrid position/force control scheme for the coordination of two robots[END_REF] is briefly presented, which will aid in understanding between different approaches taken in the literature for dual-arm cooperation modelling and control. The related works in the direction of CTS modelling and control is presented in section 2.1, and the motivation and contributions related to this work is presented in section 2.2.2. Based on [START_REF] Uchiyama | A symmetric hybrid position/force control scheme for the coordination of two robots[END_REF] static analysis of dual arm cooperation, a new method for cooperative task-space modelling is proposed in section 2.3 that uses DQ representation of screw variables of motion, i.e. pose and velocity. The proposed cooperative task-space control architecture and its comparative validation against existing models along with corresponding experiments is given in 2.4. Finally, the conclusion of this work is presented in section 2.5.

Cooperative task space

Consider two robotic arms equipped with grippers or hands holding an object as shown in Fig. moments at the points of contacts of the hands with the object can be projected to the tips of VSs for static analysis of the system, which we will denote with o f bi and o n bi , for arm i, (i = 1, 2):

o f bi = o f hi (2.1) o n bi = o n hi + o f hi × o l hi . (2.2)
If the object is assumed to be infinitely rigid, the resultant wrench at o O a is given as:

o f a = o f b1 + o f b2 (2.3) o n a = o n b1 + o n b2 (2.4)
By employing generalized force/moment 6-dimensional (D) vector o fa and 12-D vector o f b , the above expression can be succinctly written as:

o fa = W o f b (2.5)
where

o fa = o f a o n a (2.6) o f b = o f b1 o n b1 o f b2 o n b2 (2.7) W = I 6 I 6 , (2.8)
where, I 6 , is 6 × 6 identity matrix.

The general solution for the EE forces being exerted on the end of the VSs can be obtained by inverting 2.5, and is given as:

o f b = W † o fa + (I 12 -W † W) f (2.9)
where f is an arbitrary 12-D vector and W † is the Moore-Penrose inverse of W.

Six column vectors corresponding to the orthogonally independent bases belonging to the 6-D null space of W, i.e. N (W), can be chosen from V = [I 6 -I 6 ] , where six orthogonally independent bases from N (W) are given by o fr . This choice of null space resolution implies that both the EE applies equal and opposite force and moment at the end of their corresponding VSs, when the system of dual-arm robot and the object attached to the EEs is at static equilibrium. Thus we get following relations for o fa and o fr , i.e. absolute force and internal force acting on the object:

o fa = o fb1 + o fb2 (2.10) o fr = 1/2( o fb1 -o fb2 ) (2.11)
Another set of cooperative task space velocity 6-D vectors, containing both linear and angular terms can be constructed, consistent with the cooperative workspace force vectors using the principle of virtual work, and is given as :

o ωa = 1/2( o ωb1 + o ωb2 ) (2.12) o ωr = o ωb1 -o ωb2 (2.13)
where o ωb1 and o ωb2 are the velocities of the frames attached to the ends of the VSs pointing towards the object's centre of mass and assumed to coincide at the starting of the motion.

o ωbi = [ o v bi o ω bi ] (2.14)
for i = 1 and 2.

Similarly cooperative workspace pose variables can be derived upon integration of 2.12, and assuming that the frames attached to the tips of the VSs ( o Σ bi , for i = 1 and 2)

coincides at the beginning of the motion:

o pa = 1/2( o pb1 + o pb2 ) (2.15) o pr = o pb1 -o pb2 (2.16)
where o pbi , represents the position and orientation of the frames attached the tips of corresponding VSs. o pa represents the absolute pose of the grasped object, and o pr corresponds to relative position and orientation of the frames attached to the tips of VSs.

These cooperative task space variables, i.e. absolute and relative poses, velocities, and absolute and internal forces had been used in the past to control the interaction of dualarm manipulators with the object, as well as to keep the the internal forces within safe limits. While some of the work focuses entirely on the kinematic aspects of coordination with the assumption of perfect position or velocity control, others have taken the modelling and control error into account and used hybrid force/position controller to accommodate the positioning error to keep the interaction forces between object and manipulators within limits.

In the section below, we provide some of the representative work related to the formulation of cooperative task-space, focussing mainly on the kinematic control problem when using symmetrical formulation of dual-arm coordination. The goal is to highlight the gap in the existing approaches that can be filled with screw-theory and dual-quaternion based approach taken in this work and to understand the corresponding implications.

Chapter 2: Dual-Arm Kinematic Coordination using Dual Quaternion

Related work and contributions 2.2.1 Related Work

The cooperative task space variables, i.e., absolute and relative velocities, were directly defined by [START_REF] Chiacchio | Pd-type control schemes for cooperative manipulator systems[END_REF] for dual arm coordination for tasks where the robot had not yet grasped the object. The velocities of the tips of the VSs were replaced with those of the EEs to obtain the relative and absolute motion during dual-arm manipulation. These cooperative task space variables were used for inverse kinematics algorithm, which would generate joint trajectories corresponding to the desired absolute and relative trajectories.

The new definition of cooperative task-space variables, proposed in [START_REF] Chiacchio | Pd-type control schemes for cooperative manipulator systems[END_REF], was applied in [START_REF] Caccavale | Task-space regulation of cooperative manipulators[END_REF] for internal force and position regulation during handling of an object by a dual arm robot. The concept of VSs was replaced with the concept of grasp matrix to project the EE forces on to the object. While, conceptual formulations for both grasp matrix and VSs are exactly the same for dual-arm robots, grasp matrix allows generalization of the cooperative task-space formulation for multiple manipulators (> 2) cooperation for rigid object manipulation. Moreover, unit quaternions were used for orientation representation in order to avoid representation singularities associated with minimal representation methods such as Euler's angles.

While some bimanual tasks demands coordination over both absolute and relative task space, for example in the case of handling a heavy object the absolute position corresponds to the motion of the object and relative motion to rigidly grasp the object, for some tasks only relative motion is enough. All the assembly tasks such as peg-in-hole and screwing tasks, where the two arms of a dual-arm robot are handling each of the assembly parts, can be accomplished with just the relative motion. Such treatment of bimanual coordination where only relative task space affords higher dimension of null space in the relative task-space which can be used to perform additional tasks such as collision avoidance, keeping the joints positions within safety limits, etc. [START_REF] Lee | Relative impedance control for dual-arm robots performing asymmetric bimanual tasks[END_REF].

Relative Jacobian maps the relative velocity between the two EEs of the cooperating manipulators with their joint velocities. Relative Jacobian was formulated in [START_REF] Lewis | Trajectory generation for two robots cooperating to perform a task[END_REF] using DH convention based frame definition of manipulator links and rotation matrix representation of orientation for the trajectory generation for two robots cooperating to perform assembly tasks. It allowed the cooperating manipulators to be treated as a single manipulator, while facilitating higher dimensional null space.

In [START_REF] William S Owen | Acceleration and torque redistribution for a dual-manipulator system[END_REF] a weighted pseudoinverse of relative Jacobian was used to control the joint torque contribution of each joints to keep it within safe limits, in addition to controlling the relative motion between two manipulators in machining operations. The trajectories for the manipulators were resolved at the acceleration level using a relative Jacobian, where consideration of just the relative motion rather than complete cooperative task-space afforded extra redundancy for the dual-arm system.

Guenther [START_REF] Guenther | Screw-based relative Jacobian for manipulators cooperating in a task[END_REF] provided a new formulation of relative Jacobian based on screw theory that required only two frames, i.e. reference and tool frame, thus eliminating the need of defining frames on each involved link for the corresponding DH convention based formulation. However, they used the rotation matrices to represent the orientation of the screw axis, which can be problematic for control due to the associated representation singularity, as well as, is more expensive in terms of computation and storage.

Screw theory and unit dual quaternion algebra were used in [START_REF] Sariyildiz | A new formulation method for solving kinematic problems of multiarm robot systems using quaternion algebra in the screw theory framework[END_REF] for forward as well inverse kinematics problem of cooperative manipulation for dual-arm robots, however, the differential kinematics problem was not addressed.

In [START_REF] Lee | Relative impedance control for dual-arm robots performing asymmetric bimanual tasks[END_REF], a modular relative Jacobian was obtained by using the individual Jacobians of the cooperating manipulators, and used it for impedance control between two arms.

A slightly different formulation of relative Jacobian was obtained in [START_REF] Jamisola | Modular relative jacobian for dual-arms and the wrench transformation matrix[END_REF]. The time derivative of the relative pose was used for the derivation of a modular relative Jacobian which revealed a wrench transformation matrix (WTM), a function of mutual position of the cooperating arms' EEs. The modular relative Jacobian composed of WTM hence obtained, demonstrated better trajectory tracking accuracy for high relative angular velocity of the EEs.

The cooperative task space representation of robotic bimanual actions was extended in [START_REF] Park | Extended cooperative task space for manipulation tasks of humanoid robots[END_REF][START_REF] Park | Dual-arm coordinated-motion task specification and performance evaluation[END_REF] to account for the three kinematic cooperative models, viz. orthogonal, serial and parallel actions, studied and categorized in [START_REF] Guiard | Asymmetric division of labor in human skilled bimanual action: The kinematic chain as a model[END_REF] from the study of human bimanual actions. The orthogonal model corresponded to the movement where two arms are mutually independent or uncoordinated, such as using a keyboard and mouse while operating computers. When two arms share a common task with two hands, for instance, lifting a heavy box, it is referred to as parallel mode of cooperation. Lastly, the coordination Chapter 2: Dual-Arm Kinematic Coordination using Dual Quaternion mode where two arms have partial dependence, for example hammering a nail on the wall or cutting vegetables, falls under the serial mode. To address these coordination modes in bimanual action, two new coefficients were introduced, namely, balance and coordination coefficients to modify the balance of shared load, and to represent different bimanual coordination models or to activate and deactivate coordination respectively.

The adjustment of balance coefficient, for a single object manipulation, was akin to shifting the centre of mass of the object in the static analysis for dual-arm cooperation in VSs or grasp matrix approach. The purpose of introducing these balance and coordination coefficients was to offer more flexibility in relative tasks. While previous works on relative motion control ( [START_REF] Lewis | Trajectory generation for two robots cooperating to perform a task[END_REF][START_REF] Jamisola | Modular relative jacobian for dual-arms and the wrench transformation matrix[END_REF][START_REF] Lee | Relative impedance control for dual-arm robots performing asymmetric bimanual tasks[END_REF][START_REF] Guenther | Screw-based relative Jacobian for manipulators cooperating in a task[END_REF]) used the kinematic redundancy directly using the null space of relative Jacobian of dual-arm robots, extended cooperative task space representation allowed the adjustment of balance coefficient to perform additional tasks such as increasing manipulability in dual-arm manipulation to avoid singularity, while still controlling the absolute cooperative task space.

Adorno [START_REF] Vilhena | Two-arm manipulation: From manipulators to enhanced human-robot collaboration[END_REF] used unit dual quaternions for the forward and inverse kinematic control of dual-arm robots, where the quaternions allowed singularity free representation of orientation and unit dual quaternion representation of pose allowed simultaneous control of translation and rotation variables. The kinematic modelling of the dual-arm robot was based on DH convention. In addition to that, many primitive task Jacobians were proposed, such as relative distance control, absolute rotation control and so on, which allowed to efficiently utilize the available degrees of freedom for a desired task, and to use the redundancy for additional tasks.

While the above mentioned works provided an insight into existing work related to dual-arm coordination at kinematic level, in following section we will highlight some of the shortcomings of previous works related to modelling and control aspects and explain how our approach of formulating cooperative task space using unit dual quaternion representation and screw theory can help in addressing those issues. In addition to that, our proposed method is also compared with another instance of cooperative task space formulation using unit dual quaternion ( [START_REF] Vilhena | Two-arm manipulation: From manipulators to enhanced human-robot collaboration[END_REF]) existing in literature. simplify the modelling process for general manipulators [START_REF] Guenther | Screw-based relative Jacobian for manipulators cooperating in a task[END_REF]. In addition to that, the same approach of screw-based modelling can be applied to parallel manipulators, which can be relevant for tasks where a dual-arm robot can be considered a parallel manipulator, for example, two arms rigidly grasping an object. Moreover, the joint variables can be used to represent actual displacement in contrast to DH-based modelling where actual joints states are generally computed using offsets over the DH parameters [START_REF] Cr Rocha | A comparison between the denavithartenberg and the screw-based methods used in kinematic modeling of robot manipulators[END_REF].

• Relative Jacobian Formulation: The earlier definitions of relative Jacobian used individual Jacobians of the manipulators, without the consideration of effect of relative angular velocity on relative linear velocity. However, it was revealed that a WTM, function of relative position vector, exists in the formulation of relative Jacobian. The modular Jacobian consisting of WTM was obtained by taking the time derivative of the relative pose computed by taking one of the EEs frame as base frame and a frame on the other EE as tool frame. The corresponding relative Jacboian demonstrated better trajectory tracking accuracy for high relative angular velocity of the EEs [START_REF] Guenther | Screw-based relative Jacobian for manipulators cooperating in a task USING ASSUR VIRTUAL CHAINS[END_REF][START_REF] Guenther | Screw-based relative Jacobian for manipulators cooperating in a task[END_REF]. Screw-based formulation of relative Jacobian naturally takes into account this wrench transformation matrix and thus can lead to better trajectory tracking for all kinds of relative tasks.

• Representation singularity: The earlier works on cooperative task space control of dual-arm robots used rotation matrices for the representation of orientation, where Euler's angles were derived for the control law formulation. While, rotation matrices can be intuitive, it suffers from representation singularities that may lead to instability in the controller.

Chapter 2: Dual-Arm Kinematic Coordination using Dual Quaternion More recent works ( [START_REF] Caccavale | Task-space regulation of cooperative manipulators[END_REF][START_REF] Park | Extended cooperative task space for manipulation tasks of humanoid robots[END_REF][START_REF] Park | Dual-arm coordinated-motion task specification and performance evaluation[END_REF]) employed quaternions to overcome the limitations related to unit quaternions, where the vector part of the error quaternion was used for the formulation of control law. While this approach is relatively simple to use and asymptotic stability of such a control has been proved in [START_REF] Caccavale | Task-space regulation of cooperative manipulators[END_REF], deriving angle-axis parameters from the error unit quaternion represents more meaningful definition of error and global exponential convergence behaviour of corresponding control law can be proved [START_REF] Özgür | Kinematic modeling and control of a robot arm using unit dual quaternions[END_REF].

• Conventional Pose control : Most of previous works for cooperative task space control controlled the position and orientational error terms separately. While this method is easy to implement, it does not consider the natural motion of rigid bodies where linear component is inherently coupled with the angular component of motion. Controlling linear and angular terms separately may lead to unnatural trajectory and is undesired for applications where both orientation and position tracking is equally important [START_REF] Wang | Unit dual quaternion-based feedback linearization tracking problem for attitude and position dynamics[END_REF]. A novel approach for forward and inverse kinematics using dual quaternion representation was proposed in [START_REF] Vilhena Adorno | Dual position control strategies using the cooperative dual task-space framework[END_REF][START_REF] Vilhena | Two-arm manipulation: From manipulators to enhanced human-robot collaboration[END_REF] which used DH parameter based approach for kinematic modelling of dual-arm robots. The proposed approach was effective in addressing the issue of orientation representation singularity and their control law accounted for both position and orientational error simultaneously. However, use of DH based parameters for kinematic modelling resulted in overly complicated definition of manipulator Jacobian, since it used matrix form of dual-quaternion operations. While theoretical foundation of the relative Jacobian formulation was given for a general manipulator, complete formulation of relative Jacobian was limited to dual-arm robots with rotational joints.

While most of the modern manipulators have rotational joints, differential kinematics formulation for both rotational as well as prismatic joints becomes especially relevant when virtual mechanisms are used to represent task constraints, e.g. the translational motion in peg-in-hole tasks.

The pose error term used in [START_REF] Vilhena | Two-arm manipulation: From manipulators to enhanced human-robot collaboration[END_REF] for inverse kinematic control was the numerical difference between the unit dual quaternion representing desired and current frames for relative pose control, which does not represent a meaningful displacement variable [START_REF] Özgür | Kinematic modeling and control of a robot arm using unit dual quaternions[END_REF].

A meaningful expression of dual quaternion error using dual quaternion product was utilized for a single manipulator control in [START_REF] Lfc Figueredo | Robust kinematic control of manipulator robots using dual quaternion representation[END_REF]. Using the modified of error unit dual quaternion, an optimal trajectory tracking controller was proposed in [START_REF] Mm Marinho | A dual quaternion linear-quadratic optimal controller for trajectory tracking[END_REF], albeit for a single manipulator case. However, the screw parameters based definition of control law Chapter 2: Dual-Arm Kinematic Coordination using Dual Quaternion proposed in [START_REF] Özgür | Kinematic modeling and control of a robot arm using unit dual quaternions[END_REF] is still more meaningful since screw error terms can be transformed to different frames, and has global exponential convergence behaviour.

Moreover, the computational efficiency of dual quaternions was underutilized in [START_REF] Vilhena | Two-arm manipulation: From manipulators to enhanced human-robot collaboration[END_REF], as their computation of Jacobian required more mathematical operations than the homogeneous transformation matrix approach, attributed to the use of a large (8 × 8) dual quaternion Hamilton matrix to compensate for the non-commutative nature of dual quaternion multiplication.

The comparison between three methods, i.e DH and Homogeneous Transformation Matrix (HTM) based, DQ and HTM based and DQ and screw-theory based method used in this work, for pose transformation, forward kinematics and Jacobian computation of a serial manipulator, in terms of computation cost has been given in Table 2.1 based on the computational analysis given in A.5. HTMwDH based approach is the classical DH based rotation matrix approach, DQwDH corresponds to the dual quaternion and DH parameters based formulation given in [START_REF] Vilhena | Two-arm manipulation: From manipulators to enhanced human-robot collaboration[END_REF] and the last one (DQwScrew) corresponds to dual quaternion kinematic formulation based on screw-theory, proposed in [START_REF] Özgür | Kinematic modeling and control of a robot arm using unit dual quaternions[END_REF]. The explanation for the computation of HTM and DQ method based on DH convention based kinematic modelling of manipulators has been given in [START_REF] Vilhena | Two-arm manipulation: From manipulators to enhanced human-robot collaboration[END_REF]. A more detailed analytical and empirical analysis of the computational efficiency of our dual-quaternion and screwtheory based approach concerning forward kinematics and Jacobian computation, and inverse kinematics and control is given in [START_REF] Dantam | Practical exponential coordinates using implicit dual quaternions[END_REF][START_REF] Wang | On the comparisons of unit dual quaternion and homogeneous transformation matrix[END_REF].

The presented comparisons show that both dual quaternion based approaches requires less arithmetic and trigonometric operations for obtaining product of transforms and for the computation of forward kinematics compared to HTMwDH based method. While

DQwDH based method requires a little less multiplications, it require far more trigonometric computations compared to DQwScrew based method used in our work. In terms of Jacobian computation, HTMwDH method requires less arithmetic (× and +) operations than both dual quaternion method based operations. However, the DQwScrew method requires less trigonometric operations than other two methods, even though it requires a bit more arithmetic operations than HTMwDQ based method. Finally, the DQ based has less memory requirement compared to HTM approach, i.e. DQ based representation of pose needs only 8 floating units, compared to 12 floating units needed for HTM based pose representation. Finally a summary of all the advantage our approach has over other work in the direction of CTS modeling and control has been in Table 2.2.

Cooperative task space formulation using UDQs

In this section we will use the kinematic formulation for a serial manipulator, developed in [START_REF] Özgür | Kinematic modeling and control of a robot arm using unit dual quaternions[END_REF] and presented in appendix A.5, to formulate the cooperative task space variables related to pose and velocity for dual-arm coordination [START_REF] Uchiyama | A symmetric hybrid position/force control scheme for the coordination of two robots[END_REF]. A differential kinematic formulation, i.e. relative and absolute Jacobian was also developed to map the joint velocities of the cooperating arms to cooperative task space velocities. The absolute Jacobian has been formulated in the base frame, while the relative Jacobian has been derived in a frame attached to the EE of reference manipulator, so as to define the relative task intuitively. If the relative task is defined in the object frame, then the error twist should be transformed from the object to the reference arm's EE frame.

The dual arm set-up along with the different frames used in the following formulations is given in Fig. 2.2. Σ r is the reference frame, Σ t is the tool frame and Σ b is the fixed base frame. The joint screw axes are given as b ŝri for i = 1, 2, ..f , and b ŝtj for j = 1, 2, ..g for the reference and tool manipulator respectively, in the base frame. The same screw axes are given as r ŝi for i = 1, 2, ..f + g for the combined manipulator consisting of the two arms, in the reference end-effector frame.

Relative Jacobian

The relative pose of the tool EE frame Σ t in the reference EE frame Σ r can be computed using the EE poses of tool and reference manipulator as:

r xt = b x * r b xt , (2.17)
where b x * r is classic dual-quaternion conjugate of b xr .

The formulation of relative Jacobian, which maps the joint velocities of both the arms to the relative twist of the tool EE with respect to the reference frame, described in the reference frame will follow the same approach discussed in section A.5.1:

r ξtr = r ŝ1 r ŝ2 • • • r ŝf+g θr ḋr θt ḋt T (2.18) = r Ĵ θr ḋr θt ḋt T ,
where θr and ḋr refers to the the general joints velocity array, depending on the type joints for the reference manipulator, starting from the joint closest to the reference end-effector. Similarly θt and ḋt are the joint velocity arrays for the tool manipulator, again starting from the joint closest to the reference end-effector.

The screw axes related to the joints will have to be transformed from the base frame to the reference EE frame, Σ r , using following relation that transforms a Plücker line, represented as a dual vector:

r ŝi = ( b x * r ) b ŝi ( b x * r ) * = r xb b ŝi r x * b (2.19)
Additionally, either the joint displacements for reference manipulator joints, or the corresponding joint axes, have to be taken in negative sense, so as to respect the inverted kinematic chain of the reference manipulator used to define a relative task manipulator, which has joint axes r ŝt(i) for i = 1, . . . , f + g (refer the joint screw axes indexing depicted in red in Figure 2.2). In our formulation we have inverted the joint screw of the tool manipulator to maintain the traditional representation of relative Jacobian.

Hence the relative Jacobian corresponding relative twist, in the reference manipulator frame is given in the matrix form as:

J rel =   -r L r 0 r L t 0 -r M r -r L r r M t r L t   , (2.20)
where terms like L and M are arrays of direction vector and the moment vectors of the corresponding manipulator and have meanings similar to A.61.

Absolute Jacobian

All the terms appearing in the following derivation of absolute Jacobian are in the base frame, unless otherwise mentioned. Let b xr = q rP + q rD , b xt = q tP + q tD and b xabs = q absP + q absD be the unit dual quaternion corresponding to the reference, tool and absolute task space frame, i.e. the frame where the tip of VSs connected to the cooperating manipulators end-effector meet. Let b p b,r and b p b,t be the position vectors of the reference and tool EEs respectively, which are represented as a pure quaternions.

They can be derived from the corresponding poses UDQs as follows:

b p b,r = 2q rD q * r P

(2.21)

b p b,t = 2q tD q * t P (2.22) where q * is quaternion conjugate of q.

Absolute position and orientation is given as ( [START_REF] Caccavale | Task-space regulation of cooperative manipulators[END_REF]):

b p abs = b p b,r + b p b,t 2 (2.23) b q absP = q rP q relP ( 1 2 ) , (2.24)
where q relP ( 1

2 ) refers to half of the rotation around the same rotation axis corresponding to the relative rotation quaternion (q relP ) computed in reference frame. The relative rotation quaternion in reference frame is given as:

b q relP = q * r P q tP .

(2.25)

Chapter 2: Dual-Arm Kinematic Coordination using Dual Quaternion

In order to use the control law using screw parameters of error dual quaternion (see A.73), it is desired to obtain the absolute pose as UDQ. Using relation (2.21) and

(2.23), we have b p abs = q rD q * r P + q tD q * t P

(2.26)

or, 2q absD q * absP = q rD q * r P + q tD q * t P Therefore, q absD = (q rD q * r P + q tD q * t P )q absP 2 (2.27)

The absolute angular velocity in the base frame in the matrix-vector form, using (A.59) is given as:

ω abs = ω r + ω t 2 = L r θr + L t θt 2 (2.28)
And absolute linear velocity is given as:

v abs = v r + v t 2 (2.29)
An absolute Jacobian is required to map joint velocities of the dual-arm robot to screw twist corresponding to absolute frame motion, i.e {v abs0 , ω abs } pair. Here {v abs0 refers to the linear velocity of a point attached to the absolute frame, currently coinciding with the base frame. Since the screw-based control law has attractive features like global stability and exponential convergence [START_REF] Özgür | Kinematic modeling and control of a robot arm using unit dual quaternions[END_REF], it is desired to obtain the absolute Jacobian in the same form as well. Using (A.67) we have:

v abs0 = v abs -ω abs × p abs . (2.30)
After expanding (2.30) using (A.67), (2.23), (2.28), (2.29) we get:

v abs0 = v r + v t 2 - ω r + ω t 2 × (p r + p t ) 2 = v r0 + ω r × p r + v t0 + ω t × p t 2 - ω r + ω t 2 × (p r + p t ) 2 = 2(v r0 + v t0 ) + ω r × (p r -p t ) + ω t × (p t -p r ) 4
Using matrix-vector representation given in (A.60), we have:

v abs0 = M r θr + L r ḋr + M t θt + L t ḋt 2 + L r θr × (p r -p t ) 4 + L t θt × (p t -p r ) 4 (2.31)
Writing (2.28) and (2.31) in the matrix form, we get:

  ω abs v abs 0   = J abs θr ḋr θt ḋt T (2.32)
where,

J abs =   Lr 2 0 Lt 2 0 2Mr+Lr ×(pr-pt) 4 Lr 2 2Mt+Lt ×(pt-pr) 4 Lt 2   (2.33)

Implementation of dual-arm CTS pose control

The CTS variables and corresponding Jacobians obtained earlier in section 2.3 were used for the control of absolute and relative poses of the CTS of a dual-arm robot.

The simultaneous pose control approach, that uses screw parameters of the error UDQ, was compared against the conventional approach of controlling position and orientation separately. The proposed method was validated with different cooperative tasks, that required both absolute and relate pose control, on Baxter dual-arm robot [START_REF]Baxter collaborative robots for industrial automation[END_REF]. The control architecture for implementation of CTS control is explained in section 2.4.1. The robotic platform used for the validation along with its modeling parameters are given in Chapter 2: Dual-Arm Kinematic Coordination using Dual Quaternion section 2.4.2. The cooperative tasks, the classical CTS approach used for comparative validation, and the trajectory generation strategy is given in section 2.4.3. The details of the experimental validation with real robot and discussion about the results has been detailed in section 2.4.4.

Control Architecture

The CTS kinematic formulations using UDQ representation was implemented for a general dual-arm system consisting of two redundant (more than 6dofs) manipulators. The controller architecture of the complete system capable of CTS inverse kinematics control is shown in Fig. Extractor block in the proposed architecture (see (A.5.3)). The controller was tuned to obtain a stable response for CTS pose control with a suitable gain (λ). An integrator approach was chosen to compute desired joint position commands, [q r cmd ] and [q t cmd ],

in the control loop using the current joint positions, [q r curr ] and [q t curr ], and computed joint velocity, [∆q r ] and [∆q t ].

Baxter Dual-arm platform

Baxter robot is an industrial collaborative robot built by Rethink Robotics [START_REF]Baxter collaborative robots for industrial automation[END_REF][START_REF][END_REF], and is equipped with two compliant 7 dof s robotic arms. The joints for one of the arms is shown in Fig. 2.4. The novel actuation mechanism provides protection against shock The robot has been used for assembly tasks like bimanual peg-in-hole tasks [START_REF] Zhang | Peg-in-hole assembly based on two-phase scheme and f/t sensor for dual-arm robot[END_REF], as well for domestic applications like collaborative human-robot manipulation of deformable objects like bed sheet [START_REF] Kruse | Collaborative human-robot manipulation of highly deformable materials[END_REF]. The integration of the robot control with robot operating system (ROS) [START_REF] Quigley | Ros: an open-source robot operating system[END_REF] through Baxter software developers kit (SDK) provides a perfect platform to design and test new bimanual applications, and it has been utilized for the validation of the novel methods developed during this thesis in the scope of dual-arm cooperative manipulation.

The joint axes parameters for both the arms of Baxter is given in Table.

Cooperative dual-arm tasks and comparative validation strategy

The validation of the proposed strategy of CTS pose controller designed based on screw theory was done with tasks that required motion in relative and absolute task space. Arm EE Position {x, y, z} (in m) EE Orientation q 0 + q 1 i + q 2 j + q 3 k Right Arm 0.7975, 0.9925, 0.3210 0.653281, 0.270599, 0.653281, -0.270599 Left Arm 0.7975, 0.9925, 0.3210 0.653281, -0.270599, 0.653281, 0.270599 We generated the CTS trajectories at different speeds to compare the performance of screw-based CTS Jacobians and screw-error based control law with the conventional CTS Jacobians where the wrench transformation matrix is not included in the relative Jacobian. We describe below the CTS Jacobians and control law for the conventional control method used for comparison.

CTS Jacobians and Control law for conventional CTS pose controller

The manipulator Jacobians for decoupled controller were obtained using Kinematics and Dynamics Library (KDL) library [START_REF]KDL wiki -The Orocos Project[END_REF][START_REF] Smits | Kdl: Kinematics and dynamics library[END_REF]. The conventional cooperative Jacobians, i.e. absolute and relative Jacobians are defined as follows [START_REF] Chiacchio | Pd-type control schemes for cooperative manipulator systems[END_REF][START_REF] Caccavale | Task-space regulation of cooperative manipulators[END_REF]:

J KDL abs = 1 2 J KDL right J KDL lef t
(2.34)

J KDL rel = J KDL lef t -J KDL right (2.35)
where J KDL i for i ∈ {lef t, right} is the conventional Jacobian relating the joint velocities to the end-effector frame conventional velocity, rather than screw velocity (refer section A.6.1). Note that, the relative Jacobian for conventional pose control has been given in the base frame of the robot. Hence, the error twist between the current and desired relative pose had to be transformed to the base frame for a relative task defined in the right arm's EE frame, for which relation A.50 can be used, the position and orientation terms to be used for conventional pose controller can be derived (see A.77). The control law for pose control used in the conventional pose controller is given as: where θ e , and l e are angle-axis parameters corresponding to the error quaternion obtained from the quaternions related to the desired and actual orientations, and λ is the controller gain.

ξKDL = λ(θ e l e + ε p e ) (2.36) Controller Type Jacobian Type Control Law Absolute CTS Proportional Gain     λ absP 3×3 p 0 3×3 0 3×3 λ absP 3×3 o     Relative CTS Proportional Gain     λ relP 3×3 p 0 3×3 0 3×3 λ relP 3×3 o     Simultane- ous pose Controller Equation 2.33, 2.20 Equation A.73     250 0 3×3 0 3×3 250         250 0 3×3 0 3×3 250     Conven- tional Pose Controller Equation 2.34, 2.35 Equation 2.36     300 0 3×3 0 3×3 300         100 0 3×3 0 3×3 500    
q e = q d q * c .

(2.37) p e is the relative position error between desired and actual pose, for both relative and absolute task space, and can be computed from the error unit dual quaternion given in (A.72) using (A.70).

The controller gains for the control of CTS using both simultaneous pose control and conventional pose control approach is given in Table 2.5, where λ absPp refers to the proportional gain corresponding to linear part of the error twist, while λ absPo refers to the proportional gain corresponding to angular part for absolute task-space control.

Similarly, λ relPp and λ relPo , refers to the linear and angular part of the error twist in the relative task space. The gains were chosen by tuning the conventional pose controller for a stable and bounded performance for the pose tracking tasks for Baxter-dual arm robot, where both the controllers were operating at 100 Hz.

34

Chapter 2: Dual-Arm Kinematic Coordination using Dual Quaternion All the tasks start with a pre-defined position of the left and right arms' EEs such that the tips of respective VSs are assumed to be coinciding in the middle of the two EEs and the respective frames are pre-oriented to have same orientation at the beginning of the task. The screw axes for the cooperative tasks are constructed by choosing one of the orthogonal axes in the corresponding reference frames, i.e. absolute frame for absolute task, and a frame attached to the tip of the VS attached to the reference manipulator 's end-effector frame. The orthogonal axis chosen for the validation of motion in relative and absolute task-space has been provided in Table . 2.6.

A screw displacement can be parametrized with a dual number, θtask = θ task + εd task .

Given total time and the current time, t f and t respectively, a trajectory can be specified by varying the displacement parameters represented by the dual number θtask linearly with time:

θtask (t) = θtask f t t f (2.38)
The UDQ corresponding to the desired pose in the reference frame can then be computed using the screw displacement parameters hence obtained using A.36.

Experiments

In the following sections we will present the plots corresponding to the performance of the proposed screw-based CTS Jacobians and simultaneous pose control technique along with conventional CTS Jacobians and control law. The two experiments chosen for the comparative validation given in Table 2.6 were carried out with different time allotted for the entire motion, which were: 8, 4.5 and 1.5 seconds. The goal of performing the same motion at different speed was to study the effect of wrench transformation matrix consideration in the proposed screw-based CTS Jacobian om the controller performance. The evolution of error in terms of norm of position variables ( x 2 e + y 2 e + z 2 e ) and orientation variables ( θ e ) for the motion duration 1.5 secs. is given in Fig. 2.10 and 2.11 for absolute and relative task space respectively. Finally, the mean root mean square errors and corresponding standard deviations during CTS pose tracking control for all three time durations are given in Fig. 2.12, 2.13, 2.14, 2.15, for the norm of position and orientation components of pose error in absolute and relative task space. Note that in the desired absolute pose for the simultaneous pose control approach and ( ) to conventional pose control approach and conventional pose control approach(see x 6 and

x 7 terms in Fig. 2.6) are different because the desired trajectories for the experiments were derived from the initial configuration of the manipulators. Since the validation platform Baxter dual-arm robot consists of non-stiff joints, it is not possible to start the experiments at exactly the same configuration even after setting the joint states initially.

While the performance of the two controllers were similar for both relative and absolute task space for the motion duration 8 secs. (Fig. 2.6, 2.7), the conventional pose controller had slightly better performance in absolute task-space, even for the shorter durations of 4.5 and 1.5 secs, as evident in Fig. 2.12, 2.13. However, the DQ based simultaneous pose controller demonstrated consistently better performance for position as well orientation tracking (see Fig. 2.14 and 2.15). Additionally, the oscillations observed in KDL based conventional controller in Fig. 2.9 and 2.11 for shortest duration experiment (1.5 sec.)

was not observed DQ based simultaneous pose controller. Baxter robot performing relative rotation between the tips of the virtual sticks connected to the end-effectors of two arms around x-axis of the tip of reference manipulator 's VS frame can be seen in Fig. 2.16. The trajectory for the right and left end-effectors is represented with red dots. The absolute pose at the centre of the two cooperating robotic arms was desired to be fixed during the entire motion.

Relative rotation around x axis of right arm's EE frame

The simultaneous pose controller and conventional pose controllers performance in terms of DQ terms for absolute and relative task space desired and achieved poses are given in Fig. 2.17 and Fig. 2.18, respectively. Similarly the performance of the controllers for the motion duration of 1.5 secs. is given in Fig. 2. [START_REF] Ge | Small part assembly with dual arm robot and smart camera[END_REF] and Fig. 2.20 for absolute and relative task space, respectively. The two controllers performance during the motion in relative task space for a duration of 8 sec. in terms of DQ terms related to the absolute and relative task space desired and achieved poses are given in Fig. 2.17 and Fig. 2.18, respectively. Similarly the performance of the controllers for the motion duration of 1.5 secs. is given in Fig. 2.20 and Fig. 2.20 for absolute and relative task space, respectively. The evolution of error in terms of norm of position variables and orientation variables for the motion duration 1.5 secs. is given in Fig. 2.21 and 2.22 for absolute and relative task space respectively. Finally, the mean root mean square errors and corresponding standard deviations during CTS pose tracking control for all three time durations are given in Fig. 2.23, 2.24, 2.25, 2.26, for the norm of position and orientation components of pose error in absolute and relative task space.

The conventional controller had slightly better performance in absolute task-space for the relative rotation for a duration of 8 and 4.5 secs. (Fig. 2.17, 2.18, 2.23, 2.24). However, the DQ based simultaneous pose controller demonstrated consistently better performance for position as well orientation tracking in relative task-space control (see Fig. 2.25 and 2.26). For tasks with total duration 1.5 secs. high oscillations can be observed in relative and absolute task space, as is evident from Fig. 2.19, 2.20, 2.21 and 2.22.

The performance of conventional for position and orientation control in relative as well as absolute task space deteriorated for faster relative task due to high oscillations, as shown in Fig. 2.23, 2.24, 2.25, 2.26. The performance of simultaneous pose control is also affected from high relative motion, however, the controller remains stable and error Chapter 2: Dual-Arm Kinematic Coordination using Dual Quaternion were significantly less for position and orientation control in absolute and relative task space.

The above results confirms that consideration of wrench transformation matrix for relative task-space control is important for tasks requiring faster motion in relative task space. Additionally, it demonstrates that the absolute pose tracking is reliant on the stability and performance of relative task space, since oscillations were also observed in absolute task space for conventional control.

Conclusion

The classical approach for dual-arm cooperative task space control was revisited and the symmetric formulation of dual arm coordination using VSs was implemented using dual quaternion method. The proposed proportional simultaneous pose control of cooperative task space, i.e. simultaneous control of both position and orientation was compared against the performance of a proportional conventional controller that used KDL library for forward kinematics and Jacobian computation. The simultaneous pose controller demonstrated better tracking of pose and orientation in terms of accuracy and stability compared to KDL based controller for tasks requiring faster operation in CTS.

One of the future goal is to define various task Jacobians, for relative and absolute taskspace, like rotation or translation along a desired axis, and control only those aspects of the motion which are absolutely necessary for the completion of the task, while using the redundancy to perform additional task, like increasing manipulability, avoiding singularities and joint limits, etc. Although, the simultaneous pose approach for kinematic control of CTS showed improved performance over conventional conventional approach, still the deviation of actual CTS poses from desired set-points reveals the need to consider the interaction forces for cooperative manipulation, specially in the case of rigid objects. So, the first goal for the screw-based implementation for manipulation is to verify its applicability for single arm case and compare the hybrid force/position control performance with screw-based Jacobian. Afterwards, it is desired to do the same for dual-arm robots, where the motion and forces are controlled for relative task-space. A similar approach was taken for dual-arm impedance control in [START_REF] Lee | Relative Impedance Control for Dual-Arm Robots Performing Asymmetric Bimanual Tasks[END_REF], where a modular relative Jacobian was formulated for relative task-space control. It will allow the controller to control the interaction between the two arms during dual-arm manipulation, if the grasps are assumed to be infinitely rigid.

Chapter 3

Kinematics of the fingers of an anthropomorphic robotic hand with coupling

Introduction

The operation of robotic hands performing grasping tasks employs requires two kinds of operations: bringing the fingers of the hand to an appropriate grasping position, and closing the fingers until the tactile sensors on the fingertips senses a contact. The availability of a kinematic model allows for the control of the fingers for each of the above operations. In this work we present the kinematic model of an anthropomorphic hand, consisting of fingers with coupled joints similar to humans.

Underactuated hands provides a cheaper and lighter solution for grasping, in addition to self-adapting capability for different kinds of objects [START_REF] Kragten | A planar geometric design approach for a large grasp range in underactuated hands[END_REF]. A four-bar linkage comprising middle and distal phalanx in a robotic finger can effectively imitate the coupling that exists between the proximal and distal interphalangical joints (i.e. PIP and DIP joints) of the human fingers. Additionally, the higher load bearing capacity of four-bar linkages [START_REF] Arun K Natesan | Kinematic analysis and synthesis of four-bar mechanisms for straight line coupler curves[END_REF] makes them a natural choice for the purpose of effort transmission in fingers.

However, the mechanism employing these systems often presents additional complexity to the kinematic formulation, owing to the non-linear relation between the actuation 52 Chapter 3: Kinematics of the fingers of an anthropomorphic robotic hand with coupling and the motion of the finger joints. Some existing kinematic formulations for these kind of fingers use a simplified linear coupling model for the relation between PIP and DIP joints at the cost of accuracy, or a complex actuation mechanism as a trade-off for the simplicity of the design [START_REF] Godler | Robotic finger with coupled joints: A prototype and its inverse kinematics[END_REF].

A geometrical approach was taken to obtain the relation between the finger joints actuation and the motion of finger consisting of such mechanisms using a coupling Jacobian.

The goal of such formulation was the easier integration of the fingers fo the robotic hand with the arm at the kinematic level. This will allow us in the future for a combined forward and inverse-kinematics control of the robotic arm and hand, to ensure reachability of the fingertips to the grasping point, and pre-plan the grasping tasks in terms of the finger movement.

In addition to that, a relative Jacobian has been derived to control the relative configuration of index finger and thumb fingertips (see Fig. 3.1a) using a screw-based method described in 2, with the aim of using this model for grasping and in-hand manipulation.

In addition to the advantages of the screw-based treatment of cooperative task space strategy using UDQ (see Table 2.1 and 2.2), the kinematic model can easily be integrated with the kinematics of a robotic arm in order to benefit from the added redundancy.

Kinematic modelling of the fingers 53

The model hence obtained is implemented and validated on an anthropomorphic robotic hand, AR10 from Active8 Robots [START_REF]AR10 Robotic Hand -Active8Robots[END_REF] shown in Fig. 3.1a, installed at the end-effector of one of the arms of Baxter robot. Though AR10 hand provides a versatile yet relatively cost-effective solution for performing grasping and manipulation task, a kinematic model for the underactuated finger mechanism for forward and inverse kinematics currently does not exist, as far as the author knows.

In the following sections we describe the formulation of finger Jacobian using unit dual quaternion formulation. The use of screw based kinematics helps in avoiding the complexity of kinematic modelling associated with the traditional Denavit Hartenberg convention based method. Section 3.2.1 provides the detail of the formulation of kinematics and corresponding Jacobian for fingers with coupled joints, whereas the formulation of relative Jacobian in section 3.2.2. The validation of the formulations obtained on AR10 hand is explained in sec. 3.3. Afterwards, a summary of insights and future goals is presented in sec. 3.4.

Kinematic modelling of the fingers 3.2.1 Formulation of index finger Jacobian

The kinematic mechanism corresponding to the index finger of AR10 hand (Fig. 3.1a) is given in Fig. 3.1b. The initial configuration of the joint angles, and screw axes are computed and stored for a desired starting configuration, with respect to the base frame of the index finger, i.e., Σ 0 . The relation between the finger configuration and the slider positions is presented below.

The index finger consists of three joints where the last two joints are coupled. The corresponding joints are θindex = [ θi1 θi2 θi3 ] T . The proximal phalanx lead screw mechanism (slider 1 ) rotates Σ 1 around its z -axis, and thus changing θ i1 . Using cosine rule for the ∆BCD, θ i1 is computed as:

θ i1 = cos -1 b 1 2 + c 1 2 -slider 1 2 2 b 1 c 1 (3.1)
Chapter 3: Kinematics of the fingers of an anthropomorphic robotic hand with coupling θ i2 , and consequently the rotation of Σ 2 caused by slider 2 , is also computed using (3.1), using the corresponding parameters, i.e., b 2 , c 2 and slider 2 . The change in the slider 2 caused by the middle phalanx movement leads to the change in θ i2 as well as θ i3 , owing to the four-bar mechanism of the distal phalanx and middle phalanx defined by the segments HF , JF , JK and KH. As it can be seen in Fig. (3.1b), the change in θ i2 , also corresponds to change in φ, that is the angle between the segment F H and HK. θ i3 corresponding to a given φ is obtained using the constraint of fixed length of the link JK, and the two ways to define the position of point K from point H, i.e by using the position constraint HK = HF + F J + JK.

θ i3 = tan -1 q sin(ψ) -p sin(φ) g + q cos(ψ) -p cos(φ) -φ (3.2)
where, ψ is given as:

ψ(φ) = tan -1 B A -cos -1 C √ A 2 + B 2 A(φ) = 2 p q cos(φ) -2 g q, B(φ) = 2 p q sin(φ) C(φ) = g 2 + p 2 + q 2 -h 2 -2 p g cos(φ).
The parameters p, q, g, h used in above equation have been shown in Fig. 3.1b. The relation between the derivative of φ or θ i2 , and θ i3 is given as ( [START_REF] Michael | Geometric design of linkages[END_REF]):

f (θ i2 , ψ, θ i3 ) = θ i3 φ = θ i3 θ i2 (3.3) = p sin(ψ -φ) -h sin(φ + θ i3 -ψ) h sin(φ + θ i3 -ψ) . (3.4)
Since change in θ i2 corresponds to the change in φ, the coupling Jacobian is given as f (θ i2 , ψ, θ i3 ), assuming the initial offset between θ i2 and φ is known. Finally, the unit dual quaternion based Jacobian for the index finger is given as (see Fig. 3.1a):

J index = ŝindex1 (ŝ index2 + ŝindex3 • f (θ i2 , ψ, θ i3 )) (3.5)
Note that the relations (3.2) to (3.5) are only valid for the crossed configuration of fourbar mechanism given in Fig. 3.1b ( [START_REF] Toussaint | Simple proofs of a geometric property of four-bar linkages[END_REF], [START_REF] Michael | Geometric design of linkages[END_REF]). It has been assumed that the configuration 3.2 Kinematic modelling of the fingers 55 will be crossed throughout the operation, which is, in fact, true for the particular hand we have chosen for validation of the strategy.

The error unit dual quaternion ê in the base frame, can be obtained as the relative displacement between the desired and current pose of the fingertip, i.e. xd and xc , respectively computed in the base frame.

Formulation of relative Jacobian

The thumb consists of two lead screw mechanisms in series, with three links for each joints connected as a triangle to convert the translational motion of lead-screw mechanism to rotational motion of the joints. The geometrical arrangement is similar to the first two mechanisms of the index finger, i.e., ∆BCD and ∆EHG. However, the rotation axes of the thumb, i.e. ŝthumb1 and ŝthumb2 , are not coplanar, as was the case with the index finger (refer to Fig. 3.1b). The forward kinematics for the thumb is computed using (3.1).

The relative Jacobian maps the intermediate joint displacement to the relative screw displacements between the index fingertip and thumbtip frames. The index fingertip is taken as the reference frame for the relative pose control (Fig. 3.1a). The relative Jacobian defined in the index fingertip frame is given as:

Chapter 3: Kinematics of the fingers of an anthropomorphic robotic hand with coupling

J rel = (ŝ i2 + ŝi3 • f (θ i2 , ψ, θ i3 )) ŝi1 ŝt1 ŝt2 (3.8)
Note that in the above equation the subscript index has been replaced with i for the joint screw axes of index finger, for the sake of compactness, whereas subscripts t1 and t2 refers to the joint screw axes of the thumb joints. It is important to point out that all the joint screw axes, which were computed at the base frame, Σ 0 , have to be transformed to the frame at the index fingertip (Σ index ), during the starting of the computation.

The joint displacement array corresponding to the relative Jacobian defined in (3.8) is:

δ θrel = -δ θi2 -δ θi1 δ θt1 δ θt2 T (3.9)
Again, note that the joint displacements for the index finger joints are negative, in order to account for the reverse sense of displacement as seen from the index finger tip frame, compared to the displacement observed from the base frame Σ 0 .

Experimental validation and results

The Jacobian formulated in (3.5) for the finger mechanism was used for the inverse kinematic control for the index finger of AR10 hand (see (3.7)). Using the formulations discussed in subsection 3.2.1, the initial values of θ 1 , θ 2 , and θ 3 were obtained. The subsequent angular displacements were computed using the current slider positions for forward kinematics. The slider commands for inverse kinematic control were computed by using the inversion of (3.1) and (3.2), using the initial and the computed values of θ 1 , θ 2 , and θ 3 .

The parameters given in Fig. (3.1b) and similarly for the thumb, i.e. the dimensions of all the involved segments, were computed using manual measurements. In the following experiments we express the error of inverse kinematics with the assumption of perfect knowledge of those parameters. Since the fingers have very limited workspace, a preidentified achievable configuration for the index fingertip was chosen as desired position of the fingertip. As index finger is a planar mechanism, the XY plane trajectory taken by the finger tip have been depicted in Fig. 3.2.

Experimental validation and results

57

The exponential convergence of the norm of the error screw parameters used in the controller (see (3.7)) is computed as:

ScrewError norm = ω 2 e + v oe 2 , (3.10)
is shown in Fig. 3.3. Among the three controller gains tested, the best performance was achieved for the gain λ = 0.5. The convergence is the slowest for λ = 0.1, while some oscillation can be seen in the Finger tip trajectory plot in Fig. 3.3 for λ = 1. The error at the end of the inverse kinematic control, i.e. at the steady state is given in Table 3.1, which demonstrates that for the gains of λ = 0.5 and 1, the error is under one mm. have been provided. Similar to the index finger inverse kinematic control, the desired pose was obtained from a known achievable pose. The initial, desired relative configuration and different stages of robotic fingers motions from initial to the final desired relative configuration has been shown in Fig. 3.6. As can be seen in Fig. 3.4, the gain of λ = 0.6 was found to be most suited for relative pose control. However, an offset can be observed in the ScrewError norm in the Fig. 3.5, which corresponds to 5.5 mm and 0.2 mm in x and y axis respectively, as shown in Table 3.2. This is attributed to the fact that the relative task space consists of 6 dof s, while the combined system of index and thumb can only afford 4 dof s. Therefore it is important to reduce the task to lower dimension, for example by only giving position set-points instead of proving complete position and orientation set-points. Another issue encountered during relative pose control between index and thumb fingertips was the synchronization of the motion Chapter 3: Kinematics of the fingers of an anthropomorphic robotic hand with coupling of the fingers. It can be observed in Fig. 3.5 where even after achieving a lower error at 10 sec. mark, the error (ScrewError norm ) settles at a higher value. The synchronization between the fingers' motion can be achieved by setting a control frequency higher than the response time of both the fingers. In the current implementation the relative task-space inverse kinematics controller operates at 2 Hz.

Conclusion

The coupling in the motion of middle and distal phalanxes of a finger in an anthropomorphic robotic hand effected by a four-bar mechanism was modelled and inverse kinematic controller was designed. Additionally, the cooperative task-space modelling and control strategy based on screw-theory and UDQ developed in Chapter 2 was extended to the anthropomorphic hand for relative task space control between the fingertips of index and thumb for application in grasping tasks. The finger Jacobian comprising of coupled joints used in the inverse kinematics controller demonstrated exponential error convergence for the desired end-effector position. The relative pose control between index and thumb fingertip gave promising results, however demonstrated the need for further work, so that it can be used for real applications like in-hand manipulation. For the future work, we have identified following areas of improvements:

• Calibration of fingers: As we noted in the experimental validation section, the parameters used in the modeling were manually measured, since the manufacturer have not provided an accurate model. A vision based calibration method can be employed to estimate the joint screw axes parameters and the fingertips poses [START_REF] Wang | A screw axis identification method for serial robot calibration based on the poe model[END_REF].

• Task specific Jacobian: Since the fingers have limited dof s, special care has to be taken about the control objectives. For example, positional distance Jacobian can be employed [START_REF] Vilhena | Two-arm manipulation: From manipulators to enhanced human-robot collaboration[END_REF], since it is not really important to control the orientation of the frames in the case of grasping.

• Integration with a robotic arm: The kinematic model for the fingers developed in this work can easily be integrated with the kinematic model of a robotic arm, for example Baxter robot [START_REF][END_REF], to increase the applicability of the hand.

A strategy for integrating the cooperative task-space control of the anthropomorphic hand with that of the arm it is attached to (see Fig. 3.7) can be proposed to deal with the low dof of actuation available in the corresponding fingers. All the screw axes are given in the base frame of the robot, and it can be assumed that the pose transformation between the arm's end-effector frame Σ r , given as r xbh is accurately known. To simplify the subsequent modeling, we assume that the robotic arms and robotic hands consists only of rotational joints.

The strategy to obtain relative pose, absolute pose, and relative Jacobian remains the same as given in section 2.3, while still keeping the index fingertip frame Σ i as the reference frame. The absolute Jacobian utilizing the combined dof of hand and arm system can be derived as follows:

Let the Jacobian of the robotic arm r in base frame Σ r is given as (refer A.5.2)

: b Ĵr = L r 0 M r L r (3.11)
Chapter 3: Kinematics of the fingers of an anthropomorphic robotic hand with coupling Similarly the Jacobian of the index finger (i) and thumb (t) of the anthropomorphic robotic hand in base frame Σ r given in 3.2.1 can be given in simplified form as:

b Ĵi = L i 0 M i L i , (3.12)
and b Ĵt = L t 0 M t L t (3.13)
We can assume the robotic arm as two manipulators r a and r b for deriving the absolute Jacobian between these two manipulators, while in reality they are the same manipulators, each consisting of one of the fingers. Now the absolute velocity for these two extended manipulators can be given similar to (2.32) as:

ω abs v abs 0 = J abs θ ra θi θ r b θt T = [ θtotal ] T (3.14)
where,

J abs = Lr a 2 L i 2 Lr b 2 Lt 2 2Mr a +Lr a ×(p i -pt) 4 2M i +L i ×(pt-p i ) 4 2Mr b +Lr b ×(p i -pt) 4
2Mt+Lt ×(pt-p i ) 4

(3.15)

The terms p t and p i refers to the position of thumb and index fingertip frames in the base frame. Now, using (3.15) in (3.14) and noting that manipulators r a and r b are indeed the same, we can obtain the absolute Jacobian for robotic hand and arm system as:

J abs = L r L i 2 Lt 2 2Mr+Lr ×(p i -pt) 2 2M i +L i ×(pt-p i ) 4 2Mt+Lt ×(pt-p i ) 4 , (3.16)
where θtotal is redefined as:

[ θtotal ] T = θr θi θt T .

(3.17)

Chapter 4

Resolved Acceleration Control

Using Dual Quaternion

Introduction

Traditional control of robotic manipulators involves decoupling of position and orientation trajectory set-points, i.e. linear and angular position, velocity and acceleration terms of motion, results in an unnatural trajectory of the controlled end-effector manipulating an object [START_REF] Han | Control of oriented mechanical systems: A method based on dual quaternion[END_REF]. A tighter control of position and orientation with consideration of the coupling effect inherent in a rigid body motion is vital for the success of certain manipulation tasks, such as welding of a curved surface. During such tasks the tool attached to the end-effector has to follow the surface while maintaining a specific orientation throughout the operation. A simultaneous pose control design can also improve performance in applications such as collision avoidance in a clattered environment [START_REF] Han | Kinematic control of free rigid bodies using dual quaternions[END_REF],

as it can be beneficial for reducing the swept volume of the end-effector [START_REF] Abdel-Malek | Swept volumes: fundation, perspectives, and applications[END_REF], i.e. the volume generated as a result of the motion of end-effector [START_REF] Abdel-Malek | Swept volumes: fundation, perspectives, and applications[END_REF].

The basis of such simultaneous pose controller defined on SE(3), the Euclidean group of rigid motions, along with a strategy to deal with simultaneous pose trajectory tracking problem for a rigid body using homogeneous transformation matrices and exponential coordinates was given in [START_REF] Bullo | Proportional derivative (pd) control on the euclidean group[END_REF]. The geometric properties of Lie groups (and corresponding Lie algebras) were exploited to generalize the classical PD control in a coordinate-free way. The difference in the convergence behaviour of simultaneous pose and conventional 64 Chapter 4: Resolved Acceleration Control Using Dual Quaternion control of linear and angular terms was reported in [START_REF] Han | Kinematic control of free rigid bodies using dual quaternions[END_REF] for the motion on SE(2) of a ground omnidirectional robot and it was concluded that the simultaneous treatment is a better choice when the synergy of position and orientation is important, i.e. applications where the position and orientation set points are desired to be achieved simultaneously.

This works presents the first instance of simultaneous pose computed torque controller design for task-space control of a manipulator which considers the inherent coupling between the translational and rotational aspects of a rigid body motion for controller design, rather than controlling the translational motion of a point on the rigid body and the angular motion of the rigid body separately. Dual quaternions have proved to be a compact and singularity-free alternative to homogeneous transformation matrices and are equally capable for handling the natural coupling between the translation and rotational motion of rigid bodies [START_REF] Wang | Feedback linearization regulator with coupled attitude and translation dynamics based on unit dual quaternion[END_REF][START_REF] Wang | Unit-dual-quaternion-based pid control scheme for rigid-body transformation[END_REF][START_REF] Wang | 6-dof robust adaptive terminal sliding mode control for spacecraft formation flying[END_REF][START_REF] Wang | The geometric structure of unit dual quaternion with application in kinematic control[END_REF][START_REF] Wang | Unit dual quaternion-based feedback linearization tracking problem for attitude and position dynamics[END_REF][START_REF] Wang | On the comparisons of unit dual quaternion and homogeneous transformation matrix[END_REF][START_REF] Vilhena | Two-arm manipulation: From manipulators to enhanced human-robot collaboration[END_REF][START_REF] Özgür | Kinematic modeling and control of a robot arm using unit dual quaternions[END_REF]. The computational and storage advantages of using unit dual quaternions for a manipulator's kinematic modelling and control have been established in Table 2.

Related work on task space regulation for manipulators

In this section we will revisit the previous works related to second order trajectory trackers design in the domain of manipulators and will highlight potential improvements simultaneous pose control might over these methods.

There are mainly two methods available in literature related to trajectory tracking of a manipulator, which are: computed torque control with resolved-acceleration control [START_REF] Luh | Resolved-acceleration control of mechanical manipulators[END_REF][START_REF] Wampler | Applications of damped least-squares methods to resolved-rate and resolved-acceleration control of manipulators[END_REF][START_REF] Fabrizio Caccavale | Second-order kinematic control of robot manipulators with jacobian damped least-squares inverse: Theory and experiments[END_REF][START_REF] Fabrizio Caccavale | Resolvedacceleration control of robot manipulators: A critical review with experiments[END_REF][START_REF] Xian | Task-space tracking control of robot manipulators via quaternion feedback[END_REF];, and operational space control [START_REF] Khatib | A unified approach for motion and force control of robot manipulators: The operational space formulation[END_REF][START_REF] Nakanishi | Operational space control: A theoretical and empirical comparison[END_REF]. These approaches differ 4.2 Related work on task space regulation for manipulators 65 mainly in their method of treating singularities and redundancies. The redundancy of manipulators is treated as a problem of resolving the end-effector desired motion into joint motions with respect to some criteria, such as avoidance of joint limits, kinematic singularities etc in resolved-acceleration control. Whereas in operational space framework the manipulator is treated as a redundant mechanism in the neighbourhood of a singular configuration with respect to its end-effector motion in the subspace of operational space. The subspace of the operational space is orthogonal to its singular direction and can be obtained using the kinematic characteristic of the manipulator's Jacobian matrix.

One of the first implementations for task-space regulation of a serial manipulator was

given in [START_REF] Luh | Resolved-acceleration control of mechanical manipulators[END_REF], where joint torques were obtained for the tracking of a desired trajectory by a manipulator using inverse dynamic model of the manipulator. While the dynamics of position error was obtained in a straightforward manner, the dynamics of orientation errors was resolved only for small orientational error with the assumption that only one of the axis of desired coordinates is misaligned.

A new approach for resolved-rate and resolved-acceleration controllers capable of suppressing high joint velocities near singularities was proposed in [START_REF] Wampler | Applications of damped least-squares methods to resolved-rate and resolved-acceleration control of manipulators[END_REF]. By the virtue of damped pseudo-inverse of manipulator Jacobian, the proposed control scheme reduces the joint rates while inducing minimal errors in the end-effector motion. However, this controller scheme is incapable of dealing with singularities where the rate of convergence in the singular directions is reduced. Potential functions composed of position and orientation were constructed for stability and convergence analysis. A family of potential functions for orientational error that would bring the manipulator from current to the desired rotated configuration were proposed, although authors assumed the orientation error to remain bounded during closed-loop control.

Resolved-acceleration technique for the tracking control problem of robot manipulators in the task space was reviewed in [START_REF] Fabrizio Caccavale | Resolvedacceleration control of robot manipulators: A critical review with experiments[END_REF], where different forms of orientation error were compared in terms of tracking performance and representation singularity avoidance. An alternative method of extracting Euler terms for orientation from mutual rotation matrix was advocated over classical method of getting the difference of corresponding Euler angles. The proposed approach only presented singularity problems for high orientation error. The authors also proposed quaternion based orientation error dynamics along with angle-axis based approach. While quaternion based approach was found to be capable of singularity avoidance, it led to non-linear closed-loop system. The angle-axis approach suffered from singularity. The tracking performance for quaternion feedback and the angle-axis feedback schemes was found to be similar to the proposed Euler angles based method.

Owing to its non-singular representation of orientation, the quaternion feedback based method has since been the preferred method for formulate orientation dynamics [START_REF] Xian | Task-space tracking control of robot manipulators via quaternion feedback[END_REF][START_REF] Caccavale | Six-DOF Impedance Control of Dual-Arm Cooperative Manipulators[END_REF][START_REF] Vigoriti | Tracking control of redundant manipulators with singularity-free orientation representation and null-space compliant behaviour[END_REF] for resolved-acceleration controller design, as well as for operation space formulation of manipulator task-space regulation problem [START_REF] Nakanishi | Operational space control: A theoretical and empirical comparison[END_REF]. However, none of the above work have addressed the inherent coupling of rotational and linear motion for a rigid body for designing the control law for end-effector trajectory tracking.

In the current work we take advantage of singularity-free attribute of quaternions, compactness and efficiency of screw-based based kinematics and simultaneous treatment of angular and linear motion variables of second-order trajectory using UDQ to propose a new resolved acceleration control and compare its trajectory tracking performance with above mentioned conventional controllers. In the following section we will describe the design of both control strategies in detail.

Controller design for task-space regulation

In this section controller design for conventional task space regulator has been presented, which would later serve as a benchmark for the performance analysis of the proposed controller.

Resolved Acceleration Control

The dynamic model of a serial manipulator consisting on n joints in joint space is given as:

H(q) q + C(q, q) q + G(q) = Γ, (4.1)

4.3 Controller design for task-space regulation 67

where, H(q) is an (n×n) symmetric and positive definite inertial matrix and varies with the joint positions q. C(q, q) is an (n × 1) vector of Coriolis and centrifugal torques, whereas G(q) consists of gravity torques. Γ is an (n × 1) vector of joint driving torques.

The differential kinematics relation for a manipulator that relates the joint velocities θ to the end-effector twist ω is given as:

ω = Ĵ θ (4.2)
The end-effector acceleration â is obtained by differentiating (4.2) with respect of time:

â = ω = Ĵ θ + J θ (4.3)
where the twist and acceleration terms consists of both linear and angular terms:

ω = ω v (4.4) â = âcmd = α cmd a cmd (4.5)
Subsequently, the acceleration of the joints of the manipulator can be computed from acceleration control command as:

θcmd = qcmd = Ĵ -1 âcmd - J θ . (4.6)
Now âcmd can be used to compute the joint torque commands for the inverse dynamic model given in (4.1). Assuming the perfect knowledge of the involved dynamic parameters and inverting (4.3) and using âcmd as the control input in (4.1), the driving torque can be computed as:

Γ = H(q) Ĵ -1 (â cmd - J θ) + C(q, q) q + G(q) (4.7)
Since Jacobian inverse is not defined for singular configurations, a damped least-squares inverse can be adopted for robustness in the neighbourhood of kinematic singularities, whereas a pseudo-inverse can be used in the redundant case (n > 6) in conjunction with Chapter 4: Resolved Acceleration Control Using Dual Quaternion a suitable term in the null space of the Jacobian describing the internal motion of the manipulator.

Note that the dual angle θi used in (4.3) is converted to q i in (4.1), depending on the type of joint (see (A.52)).

Conventional and Simultaneous Pose Task-Space Regulator Design

As discussed in the last section, the inverse dynamic model can be used to obtain joint torques for the input âcmd , commonly referred to as resolved acceleration. It is desired to construct a control dynamics for positional and orientation trajectory with a proper input command, that will ensure a stable and reliable tracking of the desired trajectory.

In this section we present the conventional position and orientation task-space regulation design from the existing works, and then present the strategy for simultaneous pose task-space regulation inspired from [START_REF] Wang | Unit dual quaternion-based feedback linearization tracking problem for attitude and position dynamics[END_REF].

Conventional controller design

Consider a desired trajectory for a manipulator's end-effector motion given by xd , ωd , and âd ∈ R 6 , which are desired pose, velocity and acceleration terms containing both positional and orientation components and given in a static base frame. Note that these terms considered as 6D arrays in for the explanation of conventional controller design in this section.

Position tracking scheme:

Given a position trajectory, the position error is given with the difference of desired and current position vectors as:

p e = p d -p c (4.11)
For the following choice of resolved linear acceleration:

a cmd = pd + λ V p ṗe + λ P p p e (4.12)
an exponentially stable closed loop dynamics is obtained, as long as the proportional and derivative gains corresponding to closed-loop control of translational motion, i.e.

λ P p and λ V p , have positive elements.

pe + λ V p ṗe + λ P p p e = 0 (4.13)

Orientation tracking scheme:

While the choice of position error is straightforward to obtain an stable closed loop dynamics, there are many different possibilities for orientation error selection.

• Euler Angle feedback : The most common approach to represent a relative orientation is rotation matrices based on Euler angles. While this approach of representing rotation is intuitive, it suffers from representation singularity which means that for certain configurations the extraction of Euler angles is not possible. λ P o and λ V o represent the proportional and derivative gains corresponding to closed-loop control of angular motion of the end-effector in the subsequent equations.

-Classical operational space approach: A classical approach to obtain stable closed-loop orientation error dynamics is by deriving the Euler angles from the rotation matrices of desired and actual trajectory and getting the numerical The resolved angular acceleration is given as: The above resolved angular acceleration scheme becomes ill-conditioned when the actual or desired end-effector orientations are near their corresponding representation singularities.

α cmd = T (o e )(
-Alternative Euler angles feedback : An alternative feedback scheme for orientation tracking was proposed in [START_REF] Fabrizio Caccavale | Resolvedacceleration control of robot manipulators: A critical review with experiments[END_REF] to mitigate the issues with representation singularities in classical Euler feedback scheme. An error rotation matrix in the actual end-effector frame can be first derived from the desired and current rotation matrices:

c R e = R c R d (4.18)
Using this error rotation matrix and with proper choice of Euler representation the representation singularity will only come into effect when there are large orientation error, as compared to last approach where there is chance of running into representation singularity while deriving orientation components from current as well as desired rotation matrices. following feedback scheme for closed-loop orientation control can be adopted:

α cmd = ωd -Ṫe (o e ȯe ) ȯe + T e (o e )(K V o ȯe + K P o o e ), (4.20)
where T e (o e ) is defined similar to (4.16), and

• Angle-axis approach: The axis-angle representation of a rotation represents a rotation in 3D Euclidean space by a unit vector r representing the axis of rotation and an angle θ describing the magnitude of the rotation about the axis, and can be represented as a rotation matrix as follows:

R = I + (sin θ)[r] × + (1 -cos θ)[r] 2 × (4.21)
where [r] × is the cross-product operator matrix corresponding to the axis of rotation r and I.

Two equivalent versions of orientation error were defined in [START_REF] Luh | Resolved-acceleration control of mechanical manipulators[END_REF]:

o e = 1 2 ([n c ] × n d + [s c ] × s d + [a c ] × a d ), and (4.22)
= sin(θ e )r e (

where n d , s d , a d and n c , s c a c are the unit vectors of the axes corresponding to the rotation matrices (R = [n s a]) related to the desired and actual pose, respectively. In the second expression, r e and θ e are the angle-axis parameters related to the angle-axis representation of mutual rotation in the common reference frame, given as:

R e = R d R c (4.24)
Taking the first and second time derivative of (4.22), following resolved angular acceleration can be chosen:

α cmd = L -1 (L ωd + L ω d -Lω c + K V o ȯe + K P o o e ) (4.25)
where

L = - 1 2 ([n d ] × [n c ] × + [s d ] × [s c ] × + [a d ] × [a c ] × ). (4.26)
The above mentioned control command α cmd is stable in the interval θ e = (-π/2, π/2), but is ill-defined when L is singular, which occurs at θ e = ±π/2. In addition to that, another drawback of this approach is the high computation cost of obtaining α cmd in (4.25).

• Quaternion feedback : The representation singularity issues related to the above mentioned approaches for the computation of resolved angular acceleration can be mitigated by using the vector part of the quaternion related to the mutual rotation matrix between desired and actual orientation represented in the base frame in (4.24).

Let quaternion q e = s e + v e corresponds to the rotation matrix R e in (4.24). Then the resolved angular acceleration can be given as:

α cmd = ωd + K V o ω e + K P o v e (4.27)
where ω e the angular velocity error of the end-effector frame is given as:

ω e = ω d -ω c . (4.28)
Lyapunov analysis was invoked for the stability analysis of the above mentioned control law in [START_REF] Fabrizio Caccavale | Resolvedacceleration control of robot manipulators: A critical review with experiments[END_REF]. Although quaternion feedback approach does not present any representation singularity issues, the proposed control law is non-linear.

Unit Dual Quaternion based Simultaneous Pose Controller Design

Given current (x c ) and desired (x c ) poses represented with UDQ and both expressed in a static base frame, there are four possible permutations for error computation.

The error UDQ used in our formulation is:

xe = xd x * c = b xc→d . (4.29)
4.3 Controller design for task-space regulation 73

The screw axis related this error represents a screw displacement vector, directed from the current frame c to the desired frame d, expressed in the base frame b. Which means, if we transform the error screw axis derived from xe using expressions given in A.4.2.1, from the base frame to the current frame using Ad ( b x * c ) :

c ŝe = Ad ( b x * c ) b ŝe = b x * c b ŝe b xc (4.30) = Ad ( c xb ) b ŝe = c xb b ŝe c x * b ,
and then postmultiply the corresponding UDQ, obtained using (A.36), to the current frame pose xc , we will achieve the desired pose, i.e.:

xd = xc exp c θe 2 c ŝe . (4.31)
The same interpretation can also be applied to unit quaternion errors. For example, in [START_REF] Fabrizio Caccavale | Resolvedacceleration control of robot manipulators: A critical review with experiments[END_REF], the vector part of the quaternion derived from the current and desired rotation matrices was used, which is equivalent to (q e = q * c q d = c q c→d ), and thus had to be transformed to the base frame. Instead, ( b q c→d = q d q * c ) could have directly been used with the same effect.

We follow the feedback linearisation approach developed in for the attitude and position tracking problem of a rigid body. The goal is to obtain an âcmd for obtaining the appropriate joint driving torques, such that the pose and spatial velocity of the end-end effector of serial manipulator will converge to a desired pose with a desired spatial velocity.

Taking the derivative of the error UDQ (4.29), we obtain:

ẋe = ẋd x * c + xd ẋ * c . (4.32)
Now, it has been proved in [START_REF] Han | Kinematic control of free rigid bodies using dual quaternions[END_REF] that:

ẋ = 1 2 xω, (4.33)
where, ω is the screw velocity of a rigid body given in the reference frame, whose pose of the rigid body is given with UDQ x. The time derivative of its conjugate x * is given Chapter 4: Resolved Acceleration Control Using Dual Quaternion as:

ẋ * = - 1 2 x * ω. (4.34)
Similarly to [START_REF] Han | Kinematic control of free rigid bodies using dual quaternions[END_REF], following can be derived:

ẋe = 1 2 xe ωe , (4.35)
where,

ωe = Ad (x * e ) ωd -ωc (4.36)
The adjoint operation used in the above expression is given in 4.30.

Taking the derivative of 4.36, we obtain:

ωe = Ȧd (x * e ) ωd + Ad (x * e ) ωd -ωc (4.37)
After expanding the involved terms in the above expression we obtain:

ωe = Ad (x * e ) ωd -ωc + vec ωc Ad (x * e ) ωd (4.38)
where, vec x1 x2 operation refers to dual quaternion product x1 x2 , but with null scalar terms in both real and dual parts.

If following âcmd is chosen for feedback linearisation:

âcmd =2 λ P ln xe + λ V ωe (4.39)
+ vec ωc Ad (x * e ) ωd + Ad (x * e ) ωd , and substituted in the place of ωc in 4.38, we obtain the following error dynamics:

ωe + λ V ωe + 2 λ P ln xe = 0 (4.40)
The asymptotic stability of equilibrium point (ln(x e ), ωe ) = ( 0, 0) for the above system was established in [START_REF] Wang | Unit dual quaternion-based feedback linearization tracking problem for attitude and position dynamics[END_REF] for an appropriate choice of the gains λ P and λ V . Therefore, the end-effector motion will eventually converge to the desired trajectory for the control 4.4 Experimental Validation 75 command obtained in (4.39). The two equilibria problem for dual quaternion has been discussed in [START_REF] Wang | Unit dual quaternion-based feedback linearization tracking problem for attitude and position dynamics[END_REF], where the system (4.40) has two identical equilibria at xe = (I, 0) and (-I, 0), which was resolved by multiplying the error UDQ with -1 if the scalar part of the real quaternion related to the error UDQ is negative.

The expression 2 λ P ln xe is the same control law used in chapter 2 for kinematic control of manipulators, and refers to the product of dual angle and unit dual vector pertaining to the axis of the screw obtained by deriving the screw parameters from the error UDQ xe (see section A.4.2.1).

Formulation of Jacobian Derivative

In order to compute the driving torque command in 4.1 from the control law âcmd obtained in 4.39, the computation of J is required (see 4.7).

Derivative of the Jacobian Ĵ of a serial robotic manipulator can be obtained as in [START_REF] Featherstone | A beginner's guide to 6-d vectors (part 2)[tutorial[END_REF],

assuming a joint screw axis ŝi represented as unit dual line, is fixed on the child link i:

J = ṡ1 ṡ2 • • • ṡn = vec ω1 ŝ1 vec ω2 ŝ2 • • • vec ωn ŝn , (4.41)
where, ωi represents the screw velocity of an i th link, and can be computed by summing the twists caused by the joints between the base frame and the i th link in a way similar to 4.2.

Experimental Validation

The simultaneous pose resolved acceleration control obtained in section 4.3.2.2 was validated on one of the redundant arms of Baxter dual arm collaborative robot [START_REF]Baxter collaborative robots for industrial automation[END_REF]. Note that the presented implementation does not address redundancy resolution for the extra joint in the used robotic arm. Instead, the trajectory is defined such that the self-motion of some of the joints due to redundancy does not affect the manipulator motion due to imperfect gravity compensation. The control architecture implemented for the comparative performance analysis of PD controller described in previous section using dual quaternions has been shown in Fig. The trajectory generation module uses a third-order polynomial for interpolation of pose and velocities and is capable of generating second order trajectories such as rotation, translation and screw motion, i.e. desired pose, velocity and acceleration. The cubic function parametrized by parameters of screw motion, and initial desired pose ensures zero initial and final velocity given the total displacement and the time allotted for the motion [START_REF] Biagiotti | Trajectory planning for automatic machines and robots[END_REF].

Third order polynomial trajectory

Since a screw displacement is defined as a rotation (θ task ) and translation (d task ) along same screw axis, it can be parametrized with a dual number, θtask = θ task + εd task , containing both terms. The position and velocity terms in the desired motion are the functions of θtask and, θtask , as given in A.51 and A.58. Given total time and the current time, t f and t respectively, a trajectory may be specified by assigning initial and final conditions for a dual parameter containing both translational and angular displacement terms. The four desired boundary conditions for position and velocity require the screw displacement parameter, θtask (t), to be a cubic polynomial function of time. θtask (t) = â0 + â1 t + â2 t 2 + â3 t 3 (4.42) Solving for the boundary conditions reveals following expressions for the coefficients â0 ,

= θtask i , â1 = θtask i , â2 = -3( θtask i -θtask f ) -(2 θtask i + θtask f )t f t f 2 , (4.43) â3 = 2( θtask i -θtask f ) + ( θtask i + θtask f )t f t f 3 , â1 , â2 , â3 . â0
The evolution of position, velocity and acceleration of the one of the parameters belonging to the dual screw displacement ( θtask ), i.e. θ task or d task , generated using above method has been plotted in Fig. 4.2 for a time period of 10 seconds, where the initial and final velocity is zero and initial and final positions are 0 and 50 respectively. Now, a second order trajectory can be generated, given a 6D screw axis, i.e. a Plücker line in an known frame, and the third order polynomial trajectory generator, as discussed in section A.5.1 and A.5.2.

Comparative performance analysis of simultaneous pose and conventional controllers

The controller performance was compared with the control law used in [START_REF] Fabrizio Caccavale | Resolvedacceleration control of robot manipulators: A critical review with experiments[END_REF], where the translational and orientational components of the trajectory were treated separately.

Experimental Validation 79

Controller Type

Jacobian Type Control Law Proportional Gain     λ P 3×3 p 0 3×3 0 3×3 λ P 3×3 o     Derivative Gain     λ V 3×3 p 0 3×3 0 3×3 λ V 3×3 o    

Simultaneous pose Controller

Screw-based Jacobian Equation 4.39 The Jacobian of the manipulator for the conventional controller were obtained from the KDL library. This Jacobian maps the joint velocities of the manipulator to the conventional end-effector velocity and not spatial velocity (see discussion in appendix A.6). Additionally the derivative of this Jacobian was also obtained from KDL library.

    190 0 3×3 0 3×3 190         6 0 3×3 0 3×3 6     conven- tional Controller KDL Jacobian Equation 4.44     270 0 3×3 0 3×3 270         7.5 0 3×3 0 3×3 7.5    
The quaternion based control law used for comparison, as given in [START_REF] Fabrizio Caccavale | Resolvedacceleration control of robot manipulators: A critical review with experiments[END_REF]:

a cmd = pd + λ V p ṗe + λ P p p e , (4.44)
α cmd = ω d + λ V o ω e + λ P o v e , (4.45)
where, p e refers to the position error of the end-effector frame, for a given desired position p d . v e refers to the vector part of the error quaternion computed as q e = q d q * c , from which the orientation error in the base frame can be derived. a cmd and α cmd are used to obtain the combined acceleration command, similar to âcmd , to be used in an expression similar to (4.7).

Both the controllers were tuned for a stable profile in velocity and to obtain the best tracking performance. The controller gains for the two controllers used in the comparative analysis have been given in Table The âcmd obtained in 4.39 calculated using position and velocity errors was used to compute qcmd using 4.6. The qcmd hence obtained was substituted in 4.1 to get the joint driving torques. The joint inertia matrix, Coriolis and centrifugal torques, and the gravity torques were obtained using KDL library [START_REF] Smits | Kdl: Kinematics and dynamics library[END_REF], and q was provided by the Baxter ROS interface.

The robot performing the trajectory tracking task can be seen in Fig. torques for all the joints, given in Fig. 4.8, however higher oscillations can be observed with conventional controller for commanded joint torques.

Conclusion and Future Works

A new controller for resolved acceleration control of robotic manipulators was proposed for the trajectory tracking of serial robotic manipulator using screw theory and concepts from spatial dynamics. Representation of the motion variables with dual quaternions allowed simultaneous treatment of translational and orientational components of trajectory tracking error. Comparison with a conventional controller revealed better orientation tracking and less oscillations in commanded joint torques, while achieving identical performance for the translational components of the trajectory. However, an appropriate redundancy resolution strategy is needed to utilize the additional degrees of freedom for redundant manipulators, as during the current implementation special attention was taken during the definition of trajectory. Additionally, we would like to extend this method trajectory tracking for dual-arm manipulation. In the future, we wish to extend the simultaneous pose resolved-rate acceleration controller for dual-arm manipulation similar to the approach taken in [START_REF] Caccavale | Task-space regulation of cooperative manipulators[END_REF][START_REF] Caccavale | Impedance control for multi-arm manipulation[END_REF][START_REF] Caccavale | Six-DOF Impedance Control of Dual-Arm Cooperative Manipulators[END_REF], where the desired trajectory of individual manipulators were obtained from the CTS trajectories. If the two robotic arms are manipulating a single object and the constraint of rigid grasp is assumed, then the relative motion can be assumed to be negligible, and the corresponding trajectories for the the cooperating manipulators can be derived from the geometry of the grasp [START_REF] Caccavale | Six-DOF Impedance Control of Dual-Arm Cooperative Manipulators[END_REF]. Since, the simultaneous pose approach of trajectory tracking demonstrated better tracking for single arm, it will be interesting to see if this performance carries over into dual-arm cooperative manipulation. In addition to that, a hybrid force/position force control or impedance control strategy is needed to ensure the interaction forces between the object and the robotic arms' end-effectors, and internal force acting on the object under acceptable limits. The dual-arm architecture, proposed as an extension to the architecture presented in Fig. 4.1, incorporating the above mentioned strategy for the inner position control loop, has been given in Fig. 4.9. In this chapter, we add another dimension to our framework for dual-arm control with the addition of a task planner. When the two end-effectors attached to the arms of a dual-arm of a robot are interacting through a single rigid or articulated object, or with two objects held in each arm, there are situations which require complex interaction between the cooperating robotic arms. These interactions are related both to the kind the task desired, as well as to physical constraints related to the tasks. For example when handling a rigid object, the relative pose between the arms should be kept constant so as to not exert excessive internal force on the object, whereas the absolute force will counter 88 Chapter 5: CTS Planner for Shape-Servoing and Contact-based Assembly Tasks gravity and perform manipulation and control interaction with the environment. In the case of interaction of the grasped object with environment the type of contact the held rigid object makes with the environment has to be taken into account while generating absolute task-space motion, i.e. the motion for the object to keep the interaction forces arising due to the contact of object with the environment within limits. Similarly, if the dual-arm robot is performing an assembly operation with two mating parts held in each arm, the involved contact state between the objects also limits the motion permissible for the relative task-space.

A cooperative task-planner that is capable of representing these constraints related to external (with the environment) and internal (between cooperating manipulators) interaction can be instrumental to generate cooperative motion plans. In this chapter we propose a task planner that is capable of representing such tasks and related constraints with the application of virtual mechanisms. We generate virtual mechanisms in relative and absolute task space to represent different tasks with constraints, and adjust the VSs attached to each of the arms as the task evolves thus giving the same inputs to the control architecture presented in 2.4.1 (Fig. 2.3). The objective of readjusting the virtual sticks is to extend the static analysis of bimanual rigid body grasping [START_REF] Uchiyama | A symmetric hybrid position/force control scheme for the coordination of two robots[END_REF] explained in chapter 2.1 for tasks requiring interaction between two objects and also for the handling of objects with articulations, like a pair of scissors. In the current work we assume that the object/objects are at static equilibrium throughout the task, the object model and corresponding pose sensing, as well as manipulator pose control, is precise enough to keep the interaction forces within limits.

The implementation of the task planner is based on screw theory, which allows us to easily define these tasks with minimal parameters, while at the same time is also capable of generating higher-order trajectories. A higher-order trajectory is desired to generate smooth end-effector motion in situations when there are abrupt changes in the pose setpoints. The task-planner will be validated with tasks requiring variation of virtual sticks, by deforming a linear elastic body in different shapes with intuitive approach, and with tasks requiring virtual mechanisms to represent multiple intermediate articulations, like deforming a rope using hinges. Although we have limited the experiments to deformable objects, one of the objective of the these experiments is also to demonstrate how contact states arising in an assembly tasks can be represented with the proposed task-planner.

Motivation

The applicability of VM based task planners can be demonstrated with a new categorization of dual-arm tasks as shown in Fig. 5.1. There are a variety of tasks that can be accomplished by a dual-arm robot, which can roughly be divided into coordinated (goal-coordinated and bimanual tasks) and uncoordinated tasks [START_REF] Smith | Dual arm manipulationa survey[END_REF]. Uncoordinated tasks are relatively simpler to handle since they are an extension of single-arm tasks, in spite of added complexity of collision awareness of the other arm's operation. Coordinated tasks, especially bimanual tasks, where coordination between the arms is inherent requirement of the task, for example bimanual lifting or bimanual assembly tasks. Bimanual cooperative structures have been further classified into parallel and serial model of cooperation [START_REF] Park | Extended cooperative task space for manipulation tasks of humanoid robots[END_REF], taking a cue from the study of human bimanual actions [START_REF] Guiard | Asymmetric division of labor in human skilled bimanual action: The kinematic chain as a model[END_REF].

In the proposed new categorization we define new sub-categories of bimanual tasks, different from [START_REF] Park | Extended cooperative task space for manipulation tasks of humanoid robots[END_REF] categorization based on the dependency between arms for bimanual tasks. The new categorization is based on the degree of complexity in the definition of cooperative tasks and extends the concept of CTS for performing assembly tasks, and to control the shape of deformable objects using two arms. Although single object manipulation presents challenges related to internal force control and interaction of the grasped object with the environment, the rigid body constraint assumed during cooperative manipulation design makes it comparatively easier to define the task. In the manipulation of objects with fixed articulation, for instance, scissors, telescope, etc., constraint related to the articulation joint should also be taken into account. On the other hand, contact-based dual-arm assembly tasks like bimanual peg-in-hole and fastening using screws, and shape-control of deformable objects presents additional task modeling challenges due to the higher degree of articulation related to assembly tasks and shape control of deformable objects.

face-face face-edge face-vertex edge-edge cross Fig. 5.2 Principal contacts between two polyhedra [START_REF] Xiao | Automatic generation of high-level contact state space[END_REF].

Motivation 91

Assembly tasks deals with achieving a desired contact configuration between two assembly parts, where these parts go through a controlled sequence of different contact formations. Some these contact states for two polyhedra are given in Fig. 5.2. During assembly sequence the mating parts are required to perform motion within these contact states, in addition to transitioning between different contact states [START_REF] Xiao | Automatic generation of high-level contact state space[END_REF] which can also be represented with finite articulation between assembly parts. Robotic manipulation of these assembly parts has to respect the constraints imposed by the contact, and the knowledge of these constraints are important to not only for maintaining the contact, but also for keeping the interaction forces within limits [START_REF] Merlet | C-surface applied to the design of an hybrid force-position robot controller[END_REF].

The constraints related to a different state of contact during assembly tasks can be modeled using VM, with the exclusion of the dynamic aspects such as interaction force control. VM has been used for contact modelling in assembly tasks in [START_REF] Bruyninckx | Kinematic models for model-based compliant motion in the presence of uncertainty[END_REF], and for modeling finger contact model in [START_REF] Kobayashi | Control and geometrical considerations for an articulated robot hand[END_REF]. Additionally, the same approach can be used to model bimanual skills for the task-frame formalism of assembly tasks [START_REF] Wahrburg | Combined pose-wrench and state machine representation for modeling robotic assembly skills[END_REF][START_REF] Kresse | A semantic constraint-based Robot Motion Control for Generalizing Everyday Manipulation Actions[END_REF]. While there are more complicated issues involved for reliable and safe execution of assembly tasks, such as proper sensing of contact state, compliance control, etc. [START_REF] Bruyninckx | A roadmap for autonomous robotic assembly[END_REF], in the current work, we have limited our study to the definition of kinematic constraints involved in dual-arm coordination for assembly tasks. The definition of VM for some common assembly tasks has been given in Fig. 5.3. Deformable object manipulation presents some of the most complex scenarios for defining dual-arm cooperative motion which arises due to the high degree of articulations associated with deformable objects [START_REF] Sanchez | Robotic manipulation and sensing of deformable objects in domestic and industrial applications: a survey[END_REF]. The degree of articulations of a deformable linear object often outnumbers the degree of control the cooperating arms have over Chapter 5: CTS Planner for Shape-Servoing and Contact-based Assembly Tasks these articulations, which are only twelve dimensions of CTS, half of them for relative and the other half for absolute task-space control. Nonetheless, the description of certain linear deformable objects using VMs will not only allow us to obtain an approximate model of the shape of objects but also provide a plan for the deformation. In fact, there are some previous works related to the deformation control of isometric linear objects have already employed similar method of modeling the shape of the rope as multi-link system [START_REF] Matsuno | Flexible rope manipulation by dual manipulator system using vision sensor[END_REF][START_REF] Yamakawa | Motion planning for dynamic knotting of a flexible rope with a high-speed robot arm[END_REF], however, without the consideration of cooperative task-space for the shape control of rope. This section presents architecture for the implementation of an efficient and compact way of parametrized definition of assembly and shape-servoing tasks using virtual links, and is given in Fig. 5.4. The cooperative task planner consists of a CTS Task Descriptor module that is capable of defining VMs based on the sensor input, for example, an image of the initial state of the linear object, and with the desired resolution. The same can be derived for a desired state of the object, and a plan for deformation can thus be obtained by identifying the nodes/joints of deformation and moving the closest joints in the initial VM representation to achieve an approximation of the desired state. The proposed task planner in its current state of implementation does not close the shape control loop with sensorial information, but we demonstrate the effectiveness of this approach by achieving some simple shapes obtained with user-defined tasks in CTS Task Descriptor module.

Design of Cooperative Task Planner

The joint screw axes of the virtual mechanism, total desired joint displacements and total time for the operation are the outputs of CTS Task Descriptor module and given as an input to CTS Task Mediator module.

The task is initialized once the object is held by both hands by recording the current relative configuration. While in the original formulation by [START_REF] Uchiyama | A symmetric hybrid position/force control scheme for the coordination of two robots[END_REF] the absolute pose was assumed to coincide with the centre of mass for a rigid body held by two manipulators.

However, for the shape control of linear elastic body like a foam we can assume negligible mass of the object and can a variable absolute pose. The implication this assumption is that VS sticking from the end-effectors attached to the cooperating robotic arms are coinciding with the new absolute pose. Thus the relative motion between the tips of the virtual sticks can be used to apply a desired internal force for shape control. In the current implementation the new absolute pose can be defined by the user in CTS Task Descriptor module, while the relative pose at the beginning of a task is always a unity transformation matrix, which means absolute frame and the frames at the tips of the virtual sticks are all coinciding at the beginning of the task.

A VM is defined in Virtual Sticks/ Mechanism Based Trajectory Generator using initial screw axes DQ given in the reference frame and the current relative pose. In the current implementation, the absolute pose in reference manipulator 's end-effector frame is connected to the link exactly at the centre of the virtual mechanism. The Virtual Sticks/ Mechanism Based Trajectory Generator uses the computeFKM block to compute the evolution of the virtual mechanism in the reference manipulator 's end-effector frame.

The desired absolute pose is then computed from the current state of virtual mechanism defining the desired relative configuration using the method described in Algorithm 2.

Finally new virtual sticks are computed from the desired relative and absolute frame hence computed using Algorithm 3. The complete method used in CTS Task Mediator to generate the CTS poses and virtual sticks is given in Algorithm 1.

Algorithm 1 VM based CTS task planner • l vm ∈ {l x , l y , l z }: initial VM screw axes direction in reference manipulator 's end-effector (ref ) frame

• n V M : number of joints desired for the VM

• qvm total = [q vm total , ...] ∈ D n V M : total joint motion (dual angle consisting of translational and rotational motion) desired for VM joints • ŝabs ∈ {ŝ x , ŝy , ŝz }: screw axes direction in absolute frame for desired trajectory initialize VM

• divide total length of relative position into n V M + 1 parts

• ŝvm 1 ŝvm 2 • • • ŝvm n V M
← initial screw axes

Experimentation Validation and Result

The proposed framework for CTS task planning and control was validated on a Baxter dual-arm platform for the manipulation of a deformable foam and a non-elastic rope.

The variation of virtual sticks, obtained by changing the initial absolute pose in the reference frame, was validated first with an elastic linear foam and by analysing the deformed shape. It is hypothesized that static analysis valid for rigid body control, where the relative pose is kept constant to avoid excessive strain on the object due to internal force, can be used to achieve the desired deformation for quasi-static motion between the robotic arms by providing a relative motion.

In the first set of experiments we will validate the variation of virtual sticks with deformation tasks with linear deformable foam, so that the effect of changing the absolute pose is visible. Afterwards, the VM based trajectory generation method was validated with constraint based deformation of a rope. The controller gains for the simultaneous pose controller used in this approach were the same chosen in chapter 2 and has been presented in Table 2.5. The total duration of the experiment was 8 seconds and the controller was operating at ≈ 100 Hz. The following sections describe the experiments designed for the validation of the VS (section 5.3.1) and VM based task specification (section 5.3.2) in more detail.

Variation of Virtual sticks

In the first set of experiments shown in Fig. 5.5 and 5.6, the linear foam is at static equilibrium when it is held between both the two cooperating arms. For the BC (Bend Centre) experiment absolute pose was fixed exactly at the centre of the foam, while for the BOC (Bend Off Centre) experiment absolute pose was fixed exactly at the centre of the foam. A relative rotational motion of 80 degrees was generated at the tips of the VSs in the frame of the tip of the reference manipulator while keeping the absolute pose constant with respect to the base frame. The screw-based rotational trajectory planning was achieved using the approach given in section 2.4.3.2.

The performance of the controller has been shown in terms of DQ representation on the desired and actual pose for both experiments in Fig. 5.9 and 5.10. Whereas, in Fig. 5.8 and 5.7 the controller performance has been represented in terms of norm of the position, i.e. the modulus of distance ( x 2 e + y 2 e + z 2 e ) error, and in terms of orientational distance ( θ e ) error related to angle-axis approach of orientation error representation. For both the experiments high pose tracking accuracy was achieved both in relative and absolute task space and the maximum pose error was around 7 mm, while a maximum rotation error of 0.02 radian was recorded. The deformable foam was at equilibrium throughout the experiment and the deformation was very controlled. This confirms that our static equilibrium assumption can be beneficial for controlled deformation of such objects.

Relative task definition using VMs

The VM based definition of task in relative task space explained in 1 was validated with experiments related to constrained deformation of a rope. Two kinds of experiments were designed to validate the VM based trajectory generation module. The experiment starts with a rope held in the undeformed elongated state by both arms of the manipulator. In the first experiment, the rope has to be wound around two vertical lines in the U-shape, while keeping the absolute pose static. The distances between the hinges were a third of the total length of the rope. The motion of the arms was generated by using two rotational axes in the same direction. An equal rotation of 45 degrees is given to both the joints, while the initial absolute pose was maintained. For the next experiment, one of the joints was given an equal and opposite rotation, while maintaining the initial absolute pose by redefining the VSs for each iteration of the control loop. The robot performing the task, as well as the corresponding VM is given in Table 5.1. The performance of the controller has been shown in terms of DQ representation on the desired and actual pose for both experiments in Fig. 5.11 and 5.12. Whereas, in Fig. 5.13 and 5.14 the controller performance has been represented in terms of the modulus of distance error, and in terms of orientational distance error related to angle-axis approach of orientation error representation. While the trajectory profile for both the experiments is stable, significant error (≈ 2.5 cm) was recorded for the U-shape task in relative task space. This significant error can be attributed to the measurement errors related to the dimension of the rope and the distance between the hinges, and to the fact that the rope is rigidly attached to the robot and the joints of Baxter robot are compliant. Note that the desired absolute as well relative pose represented as DQ in Fig. 5.13 and 5.14 is constant throughout the task. This is because instead of varying the desired relative pose, we are computing the corresponding virtual sticks, as explained in Algorithm 1. ) and S ( ) shape.

Conclusion

This chapter presented the application screw theory based kinematics with DQ representation for constraint modeling and trajectory generation using virtual mechanisms.

The static analysis for rigid body handling using dual-arm robots was extended for the definition of a deformation task for linear semi-rigid objects with elastic properties. The implementation of the task planner consisted of planning as well as visualization modules, which was found to be useful for visualizing the task before executing it with the robot.

The task modeling approach using screw theory provided a basis for compact parametrization of a wide range of tasks. While conventional approaches require a frame for every link of the virtual mechanism along with the axis of joint motion, the screw-based approach requires only the screw axes of the joints of the VM. Forward kinematics of the virtual mechanism is also more efficient than HTM based method since DQ multiplication is computationally less expensive, as shown in section 2.2.2.2. Moreover, the comparative evaluation of DQ pose controller using screw parameters of pose error against the conventional control of position and orientation error, proved that the simultaneous pose control was found to be better at pose tracking in relative task space.

Chapter 6 Conclusion

In this thesis we developed a complete framework for dual-arm coordination and task definition. We used screw-based kinematics for the modelling of manipulators and their coordination, and employed VM for task definition. A simultaneous pose control approach was taken for the CTS control of dual-arm that operated on the screw error between the desired and current poses, and was compared with the conventional approach of minimizing position and orientation errors separately. Preliminary results of the implementation of these two controllers, simultaneous pose controller and conventional pose controller, on a dual-arm robot, demonstrated that simultaneous pose controllers are better at tracking CTS pose set-points, with clear improvement for orientation control.

To summarize the contributions of this thesis:

• CTS modelling and control : We combined screw-based kinematics with DQ representation for the modelling and control of CTS poses for dual-arm coordination in chapter 2. The compactness and computational efficiency of dual quaternion representation of pose (Table 2.1), and generalized velocity were utilized for the forward kinematics and control law design for dual-arm cooperation. Usage of screw-based kinematics allowed natural consideration of wrench transformation matrix and thus more stable and accurate tracking in relative task space, even for tasks requiring fast relative motions (Table 2.2). 106 Chapter 6: Conclusion

• Anthropomorphic hand modelling: We extended the relative Jacobian modelling for the cooperation modelling of the fingers of an anthropomorphic robotic hand in chapter 3. The coupling of joints in the underactuated fingers of the robotic hand were represented with a coupled finger Jacobian. The coupled Jacobian of the robotic finger was used for inverse kinematic control, while allowing easy integration with a robotic arm. Additionally, the relative task-space between the fingertips of index finger and thumb was modelled using screw theory, similar to dual-arm robots. The inverse kinematic control to achieve a desired relative pose between the thumb tip and the index finger tip was validated on a robotic hand AR10.

• Resolved-rate acceleration control : The idea of simultaneous pose treatment of position and orientation variables was taken further in chapter 4 with the design of a second-order trajectory tracker using DQs. The trajectory controller hence designed was capable of tracking pose, velocity and acceleration setpoints for the end-effector using inverse dynamic model of the robot. The simultaneous pose resolved rate acceleration controller was implemented for the control of one of the arms of Baxter dual-arm robot, and was found to be capable of tighter trajectory control, specially for error terms related to orientation, compared to the conventional controller ( [START_REF] Fabrizio Caccavale | Resolvedacceleration control of robot manipulators: A critical review with experiments[END_REF]) that treated the position and orientation setpoints separately and ignored the inherent effect of rotation on translational motion. Additionally, it also led to lower oscillations in the joint torque command.

• CTS Task Planner : Finally, a complete framework for the coordination of biarm robotic systems was proposed with the addition of a cooperative task planner in chapter 5. The simplicity of screw theory was exploited additionally for parametrized generation of generalized second order trajectories for tasks requiring simplified motion, like translation, rotation and screw motion around an arbitrary 6D screw-axis given in a known reference frame. The trajectory generation method was extended to represent the constraints related to tasks involving contact between objects using the concept of VM. Again, screw theory was found to be a suitable choice for constructing such mechanisms on the fly, and computation of desired set points for relative and absolute task-space for dual arm coordination.

Additionally, the VMs were also used to parametrize different kinds of operations of 6.1 Future directions 107 semi-deformable objects with evident elastic properties like foam and with highly articulated objects like rope where we constrain the rope to achieve desired shapes.

Future directions

The current implementation of the framework for dual-arm manipulation is capable of:

• Generating simple trajectories like rotation, translation and screw motion around a 6D screw axes. Additionally, trajectories can also be generated using VM for single arm, as well as for relative and absolute task space. The parametrized trajectory generator is also capable of generating second-order trajectory with null velocity at the starting and end of the trajectory, which can easily be extended to higher order if is desired to include the boundary conditions for acceleration.

• Tracking of pose trajectory hence generated for single arm, and for CTS control of dual-arm robots using both UDQ based coupled controller, as well as for KDL based decoupled controller.

• Trajectory tracking of a single manipulator, when the end-effector has to follow a desired pose, velocity and acceleration set-points, for both position and orientation.

The significance of this framework can be further enhanced by:

• Combining hand kinematics with the robotic arm, so that the complete robotic hand-arm system can be made to achieved an initial configuration with an object to be grasped. Then the relative task-space modelling for fingertips can be used to obtain task-specific Jacobian [START_REF] Vilhena | Two-arm manipulation: From manipulators to enhanced human-robot collaboration[END_REF] for tasks like grasping and un-grasping by increasing or decreasing the distance between finger tips. We have proposed CTS Jacobians for cooperation control between robotic fingers of an anthropomorphic hand attached to a robotic arm in the conclusion section (3.4) of chapter 3.

• Extension of coupled resolve-rate acceleration control of manipulators for dual-arm manipulation: In the future we would like to extend the coupled resolved-rate acceleration controller for dual-arm manipulation similar to the approach taken in [START_REF] Caccavale | Task-space regulation of cooperative manipulators[END_REF][START_REF] Caccavale | Impedance control for multi-arm manipulation[END_REF][START_REF] Caccavale | Six-DOF Impedance Control of Dual-Arm Cooperative Manipulators[END_REF], where the desired trajectory of individual manipulators were obtained The method for deriving the angle-axis parameters can be derived from the rotation quaternion, i.e. the primary part of the given dual-quaternion, will be the same for both HTM equivalent representation and screw-displacement representation, which is given below.

• Screw displacement: Chasles's theorem states that the general spatial displacement of a rigid body is screw displacement, i. characterised with an angular magnitude, linear magnitude and a directed line. Spatial motion vectors include spatial velocity, or twist velocity, and spatial acceleration, which is the derivative of spatial velocity. Spatial motion vectors along with force vectors form two dual 6D vector spaces called M 6 and F 6 , which are defined in the same way as a screw twist. Spatial forces, or wrench and spatial momentum are the members of F 6 .

In this section the relation of spatial variables, like spatial velocity and spatial acceleration with conventional twist and conventional acceleration is discussed.

A.6.1 Spatial Velocity

Consider a point P on a rigid body, moving with an angular velocity ω and linear velocity v P given in a reference frame Σ ref with origin O. The spatial acceleration in 6D vector form is given as:

        ω v o         =         ω v P + --→ OP × ω         (A.75)
The same can be represented as a dual vector as:

ω = ω + εv o (A.76)
Thus spatial velocity of a point attached to the rigid body but instantaneously passing through the origin of the reference frame. Velocity motor and twist velocity are other common names for spatial velocity.

Conversely, the dual vector of the velocity of a point P on a rigid body in 6D form can be obtained from the spatial velocity and the position vector from the origin of the reference frame to the point P on the rigid body:

        ω v P         =         ω v o - --→ OP × ω         (A.

Spatial Acceleration

Spatial acceleration is the derivative of screw velocity and defines a helicoidal vector field [START_REF] Featherstone | The acceleration vector of a rigid body[END_REF].

â = ω =         ω vo         (A.78)
The angular acceleration ω of a body in classical sense and spatial dynamics is the same.

However, the linear acceleration of a point attached to the body is quite different in both paradigm. Below, we provide the steps to obtain classical acceleration of a general point attached to a rigid body from its spatial acceleration and vice-versa.

A.6.

âco =         ω a co         =         ω vo + ω × v o         (A.79)
Note that the dual part of a co , i.e. a co is not the derivative of v co (or v o ). In fact, a co "refers to the acceleration of an individual body-fixed point at the moment when it happens to be passing through the origin" [START_REF] Featherstone | The acceleration vector of a rigid body[END_REF].

The dual classical acceleration comprising the linear acceleration of a general point, say P , i.e. origin of a frame on the end-effector, can be obtained as: Then inverting (A.79), the spatial acceleration can be obtained as:

âc P =        
â =         ω vo         =         ω vo + ω × v o         =         ω a co -ω × v o         (A.82)

9 2

 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Scope of the thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3.1 Framework for Dual-arm cooperative task execution . . . . . . . . 6 1.3.1.1 Dual-arm cooperative task-space formulation . . . . . . . 7 1.3.1.2 Cooperative task-planner . . . . . . . . . . . . . . . . . . 7 1.3.2 Anthropomorphic finger modeling and control . . . . . . . . . . . . 7 1.3.3 Coupled resolved-rate acceleration controller . . . . . . . . . . . . 8 1.4 Funding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.5 Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.6 Outline of the thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dual-Arm Kinematic Coordination using Dual Quaternion 11 2.1 Cooperative task space . . . . . . . . . . . . . . . . . . . . . . . . . . .

xiii 3 . 3

 33 Performance of the inverse kinematics controller. . . . . . . . . . . . . . . 3.4 Trajectory of the relative pose between index fingertip and thumbtip in the index fingertip frame. . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Performance of the inverse kinematics controller for relative pose control. 3.6 Initial configuration, final desired configuration and state of fingers at different stages during the inverse kinematics control of relative pose between thumb and index fingertips. . . . . . . . . . . . . . . . . . . . . . . 3.7 Coordinate frames and screw axes for robotic hand-arm system consisting of Baxter robot and AR10 hand. . . . . . . . . . . . . . . . . . . . . . . . 4.1 Resolved rate acceleration control strategy for single manipulator. . . . . 4.2 Visualization of position, velocity and acceleration trajectories. . . . . . . 4.3 Trajectory generation strategy and Baxter robot performing trajectory tracking task. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Pose error (Desired -Current) plot for the two controllers. ( ) refers to the simultaneous pose controller and ( ) to conventional controller. . 4.5 Velocity error (Desired -Current) plot for the two controllers. Linear velocity components are given in m/sec., and angular velocity error in radian/sec. ( ) refers to the simultaneous pose controller and ( ) to conventional controller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 Norm of position and orientation error. ( ) refers to the simultaneous pose controller and ( ) to conventional controller. . . . . . . . . . . . . 4.7 Desired and tracked trajectory of the end-effector position. ( ) refers to the simultaneous pose controller and ( ) to conventional controller. . 4.8 Joint Effort plot for the two controllers. ( ) refers to the simultaneous pose controller and ( ) to conventional controller. . . . . . . . . . . . . 4.9 Pose control loop for dual-arm cooperative manipulation of single object. 5.1 Proposed levels of dual-arm coordination hierarchy. . . . . . . . . . . . . . 5.2 Principal contacts between two polyhedra [11]. . . . . . . . . . . . . . . . 5.3 Virtual mechanism equivalents of different assembly tasks: q v encapsulates the joint displacement of the virtual mechanism. (a) Surface-surface contact task can be represented with a 3-dof planar mechanism, (b) pegin-hole task with a one-dof prismatic joint, (c) and bolting task with 2-dof screw joint mechanism, where the prismatic joint displacement is equal to the revolute joint displacement (θ) multiplied by the pitch (h) of the bolt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Cooperative task planner architecture. . . . . . . . . . . . . . . . . . . . . 5.5 Bend at the centre: The absolute pose was fixed at the centre of the foam. The initial desired state of Virtual stick (VS)s is shown in yellow, current desired state in blue, and final desired configuration in magenta. . . . . . 5.6 Bend off centre: The absolute pose was shifted 10 cm to the left from the centre of foam. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7 Pose tracking performance for absolute task space in DQ (x 1 , x 2 , ..., x 8 ) terms for two relative rotation tasks with variation of absolute pose, which are BC(Bend Centre) and BOC(Bend Off Centre). . . . . . . . . . . . . . 5.8 Pose tracking performance for relative task space in DQ (x 1 , x 2 , ..., x 8 ) terms for two relative rotation tasks with variation of absolute pose, which are BC(Bend Centre) and BOC(Bend Off Centre). . . . . . . . . . . . . . List of Figures 5.9 Evolution of error in terms of the norm of position and orientation error in absolute task space. ( ) refers to BC experiment and ( ) to BOC experiment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.10 Evolution of error in terms of the norm of position and orientation error in relative task space. ( ) refers to BC experiment and ( ) to BOC experiment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.11 Pose tracking performance for absolute task space in DQ (x 1 , x 2 , ..., x 8 )

  Evolution of error in terms of the norm of position and orientation error in absolute task space for the rope deformation task to achieve U ( ) and S ( ) shape. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.14 Evolution of error in terms of the norm of position and orientation error in relative task space for the rope deformation task to achieve U ( ) and S ( ) shape. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.1 Frame rotation using unit quaternion. . . . . . . . . . . . . . . . . . . . . A.2 Plücker line in reference frame: Represented by a dual vector ŝ with direction unit vector l as the real part and moment of the line m computed with respect to the origin of the reference frame Σ ref . . . . . . . . . . . . A.3 Rigid body motion akin to one represented using homogeneous transformation matrix. The rigid body frame (Σ 0 ) is first translated by a vector t to Σ ref to Σ 1 frame (shown with dotted axes) and rotated using a unit quaternions q r to Σ 2 frame, where all the motion and frames are computed and represented in the reference frame. Σ ref . . . . . . . . . . . A.4 Screw displacement of a rigid body: p is any point lying on the screw axis ŝ, both computed and represented in reference frame Σ ref . The rigid body first undergoes a rotation by θ along ŝ and then a translation by d along the same axis. . . . . . . . . . . . . . . . . . . . . . . . . . . . A.5 A serial manipulator and its joint screw axes in the reference frame Σ ref . The current end-effector position computed and represented in the reference frame is given by the vector ref p ref . . . . . . . . . . . . . . . . . . .

3. 1

 1 Abbreviations

Fig. 1 . 3

 13 Fig. 1.3 Dual-arm robots performing domestic and assistance tasks: (a) folding clothes [6]; (b) flattening clothes or wrinkle removal [7]; (c) bottom dressing assistance [8]; and, (d) upper body clothing assistance [9].

Fig. 1 . 4

 14 Fig. 1.4 Control architecture for CTS pose control.

1. 3

 3 Contributions manipulation of isometric linear objects like rope. The framework shown in Fig. 1.4 consists of following modules: 1.3.1.1 Dual-arm cooperative task-space formulationThe modelling of dual-arm coordination tasks was remodeled by capitalizing on the efficiency and compactness afforded by unit dual quaternions for pose representation while avoiding representation singularities. The proposed work also takes advantage from the simplicity of screw theory for kinematic modelling, and its capability to represent the natural motion of rigid bodies where linear and angular movements are inherently coupled. The proposed method was compared against the traditional control approach

Fig. 2 . 2

 22 Fig. 2.2 Dual-arm frames and joint axes and virtual joints.

29 DUAL_ARM

 29 2.3.A trajectory descriptor was implemented for generating desired pose trajectory in absolute and relative task-space for simple tasks like rotation and translation along a pre-defined screw axis defined in a known reference frame. The trajectory generation strategy has been detailed in section 2.4.3.2. The desired absolute ( b xdes abs ) and relative pose ( r xdes rel ) is used along with the current CTS poses ( b xcurr abs and r xcurr rel ) to compute the corresponding error UDQs. The current CTS poses are computed from the current poses of left and arms' EEs, i.e. b xcurr r and b xcurr t respectively, using the current joint positions and initial configuration of joint screw axes of the dual-arm robot in the Dual-Arm CTS Handler block in given architecture. 2.4 Implementation of dual-arm CTS pose control m= {r, t}, where r: reference frame, t: tool frame, b: base frame

Fig. 2 . 3

 23 Fig. 2.3 Control architecture for CTS pose control.

Fig. 2 . 4

 24 Fig. 2.4 Baxter dual-arm robot's joints [10]. The robot has two 7-dof arms. There are two shoulder joints (S), two elbow joints (E), and three wrist joints (W).

  2.3 for the initial configuration of the robot with zero displacement in all the joints. They are used to construct 6-D Plücker line as shown in Fig. A.2 for the computation of forward and inverse kinematics, as explained in section A.5.1.

2. 4 . 4 . 1

 441 Absolute frame translation in z-axis of absolute frameBaxter robot performing translation of absolute pose in the positive z-axis of absolute frame (fixed at the centre of the end-effectors) can be seen in Fig.2.5. The yellow lines represent the initial desired state, while magenta lines represent the final desired state of the virtual sticks. The trajectory for the right (reference manipulator ), left (tool manipulator ) and the absolute frame is represented with red dots. The relative pose of the two cooperating robotic arms was desired to be fixed during the entire motion.The simultaneous pose (DQ based) controller and conventional (KDL based) pose controllers performance during the motion in absolute task space for a duration of 8 sec. in terms of DQ terms for absolute and relative task space desired and achieved poses are given in Fig.2.6 and Fig.2.7, respectively. Similarly the performance of the controllers for the motion duration of 1.5 secs. is given in Fig.2.8 and Fig.2.9 for absolute and relative task space, respectively.

Fig. 2 . 5 Fig. 2 . 6 Fig. 2 . 7 8 Fig. 2 . 8 Fig. 2 . 9 Fig. 2 .Fig. 2 .Fig. 2 .

 25262782829222 Fig. 2.5 Initial and final configuration of robot performing rotation in the x-axis of relative task frame.

Fig. 2 .

 2 Fig. 2.13 Absolute Translation: Box plot corresponding to the mean and standard deviation for orientation error in absolute task space for the motion duration of 8, 4.5 and 1.5 secs. () refers to simultaneous pose control approach and ( ) to conventional pose control approach.

Fig. 2 .

 2 Fig. 2.14 Absolute Translation: Box plot corresponding to the mean and standard deviation for position error in relative task space for the motion duration of 8, 4.5 and 1.5 secs. () refers to simultaneous pose control approach and ( ) to conventional pose control approach.

Fig. 2 .

 2 Fig. 2.15 Absolute Translation: Box plot corresponding to the mean and standard deviation for orientation error in relative task space for the motion duration of 8, 4.5 and 1.5 secs. () refers to simultaneous pose control approach and ( ) to conventional pose control approach.

Fig. 2 .Fig. 2 .Fig. 2 .

 222 Fig. 2.16 Initial and final configuration of robot performing rotation in the x-axis of relative task frame.

Fig. 2 .Fig. 2 .Fig. 2 .Fig. 2 .Fig. 2 .Fig. 2 .Fig. 2 .Fig. 2 .

 22222222 Fig. 2.19 Relative Rotation: Pose tracking performance for absolute task space in DQ (x 1 , x 2 , ..., x 8 ) terms for motion duration 1.5 secs..

( a )

 a Index finger and thumb of AR10 hand, with corresponding axes and frames.(b) Index finger mechanism: Frames defined on the base of the index finger (Σ 0 ), on each rotational joints (i.e. Σ 1 , Σ 2 , Σ 3 ), and on the fingertip (Σ 4 ).

Fig. 3 . 1

 31 Fig. 3.1 AR10 hand, and index finger mechanism.

  d is the classical quaternion conjugate of xd . The control law for kinematic control for screw-based method using unit dual quaternion representation for a given gain λ, is:ξ = -λ ln(ê) = -λ(θ e l e + ε (θ e m e + d e l e )) = -(ω e + εv oe )(3.7)where, {θ e , d e , l e , m e } are screw displacement parameters related to the error dual quaternion ê, and λ is a positive scalar gain for the controller. The global exponential convergence of the above mentioned control law ( ξ) has been proved for (-π ≥ θ e ≥ π)in[START_REF] Özgür | Kinematic modeling and control of a robot arm using unit dual quaternions[END_REF].

4 • 10 1 Fig. 3 . 2

 10132 Fig. 3.2 Trajectory of the fingertip of the index finger.

1 Fig. 3 . 3 8 Fig. 3 . 4 8 Fig. 3 . 5

 133834835 Fig. 3.3 Performance of the inverse kinematics controller.

Fig. 3 . 6

 36 Fig. 3.6 Initial configuration, final desired configuration and state of fingers at different stages during the inverse kinematics control of relative pose between thumb and index fingertips.

Fig. 3 . 7

 37 Fig. 3.7 Coordinate frames and screw axes for robotic hand-arm system consisting of Baxter robot and AR10 hand.

1 .

 1 schemes have been presented in section 4.3. The validation strategy for the proposed simultaneous pose tracking scheme for task space regulation has been presented in 4.4, where the conclusions and future work are presented in section 4.5.

xd = o d p d ( 4

 4 for actual trajectory related to end-effector motion, i.e. xc , ωc can be defined. It is important to define rotation matrices corresponding to the orientation terms of desired and actual trajectory, which we denote with R d and R c , respectively. The orientation components o c and o d can be derived from the corresponding rotation matrices based on the representation chosen from the 12 possible definitions of the Euler 4.3 Controller design for task-space regulation 69 angles, or by using A.41 and A.46 given in the appendix A.4.2.1 if angle-axis method of orientation representation is used.

Chapter 4 :

 4 Resolved Acceleration Control Using Dual Quaternion difference. o e = o d -o c (4.14)

Now, similar to

  classical Euler Angle feedback, after deriving the Euler angles (o e ) from the error rotation matrix c R e and taking time derivative of 4.18 and using expression 4.16 after computing the transformation matrix T e (o e ) 4.3 Controller design for task-space regulation 71 in the static base frame: T e (o e ) = R c c T e (o e ), (4.19)

Chapter 4 :Fig. 4 . 1

 441 Fig. 4.1 Resolved rate acceleration control strategy for single manipulator.

4. 1 .

 1 Note that compared to the CTS architecture shown in Fig. 2.3 in chapter 2 an Extended Manipulator Kinematics Handler is used. It computes Jacobian derivative from the initial screw axes, current joint positions and velocities using 4.41, in addition to the manipulator Jacobian. The Resolved-Rate Acceleration Controller module implements the control law discussed in section 4.3.2.2 to obtain the acceleration command in 4.39. The required joint torque 4.4 Experimental Validation 77 command was obtained using inverse dynamic model of the manipulator in getJoint-Torque module using pseudo-inverse of the manipulator Jacobian and velocity-product acceleration obtained using the Jacobian derivative and joint speeds. While in the future it is desired to receive the set-points for the desired end-effector trajectory from a sensing module and task-planner, in the current implementation we have used user-defined trajectory to validate the proposed trajectory tracking strategy for the manipulator. Concepts from screw theory were used to generate parametrised trajectory in Screw-based Trajectory Descriptor module to generate pose, velocity and acceleration set-points to be used in the Resolved-Rate Acceleration Controller module.

Fig. 4 . 2

 42 Fig. 4.2 Visualization of position, velocity and acceleration trajectories.

  .

4 . 1 .

 41 The control loop frequency for both the controllers was set 200 Hz.

Fig. 4 . 3 Fig. 4 . 4

 4344 Fig. 4.3 Trajectory generation strategy and Baxter robot performing trajectory tracking task.

Fig. 4 . 5

 45 Fig. 4.5 Velocity error (Desired-Current) plot for the two controllers. Linear velocity components are given in m/sec., and angular velocity error in radian/sec. ( ) refers to the simultaneous pose controller and ( ) to conventional controller.

Fig. 4 . 6 Fig. 4 . 7

 4647 Fig. 4.6 Norm of position and orientation error. ( ) refers to the simultaneous pose controller and () to conventional controller.

Fig. 4 . 8

 48 Fig. 4.8 Joint Effort plot for the two controllers. ( ) refers to the simultaneous pose controller and () to conventional controller.

( 4 . 3 )

 43 , and performance of both the controllers for pose and velocity tracking has been given in Fig.

( 4 . 4 )

 44 and (4.5), respectively. While the performance of both the simultaneous pose and conventional controllers is identical for position tracking (see Fig.4.7), the simultaneous pose controller performed better in terms of orientation tracking, as is evident from Fig.4.6. The performance is identical in terms of velocity error and the commanded joint

Fig. 4 . 9

 49 Fig. 4.9 Pose control loop for dual-arm cooperative manipulation of single object.

4. 5

 5 Conclusion and Future Works 85

Chapter 5 CTS

 5 Planner for Shape-Servoing and Contact-based Assembly TasksIn the previous chapters, we established the advantages of screw theory and DQ based kinematic modeling of CTS of dual-arm robots (chapter 2) and anthropomorphic hands with underactuated fingers (chapter 3), in terms of computational and storage efficiency, as well as in terms of ease of kinematic modelling. The coupled treatment of position and orientation variables in resolved acceleration control of manipulators demonstrated improvement in trajectory tracking performance with regards to tracking accuracy and reduced oscillations in the joint torque commands, as shown in chapter 4. Additionally, the approach to extend the resolved acceleration control for bimanual control was proposed as future work.

Fig. 5 . 1

 51 Fig. 5.1 Proposed levels of dual-arm coordination hierarchy.

Fig. 5 . 3

 53 Fig. 5.3 Virtual mechanism equivalents of different assembly tasks: q v encapsulates the joint displacement of the virtual mechanism. (a) Surface-surface contact task can be represented with a 3-dof planar mechanism, (b) peg-in-hole task with a one-dof prismatic joint, (c) and bolting task with 2-dof screw joint mechanism, where the prismatic joint displacement is equal to the revolute joint displacement (θ) multiplied by the pitch (h) of the bolt.

Fig. 5 . 4

 54 Fig. 5.4 Cooperative task planner architecture.

1 :

 1 procedure VM based CTS task planning Initial Conditions: • b xinit r ← right end-effector pose in base frame • b xinit t ← left end-effector pose in base frame Input:

1 : 6 :computeVSFromAbsoluteRelative 1 : 3 :5: end procedure Algorithm 4 getRefToolFromAbsRelative 1 :5: end procedure 96 Chapter 5 :

 16131965 procedure get absolute pose from relative pose Input: • r xt : tool frame pose in ref frame Output: • r xabs : absolute pose in ref frame 2: [θ, d, l, m] ← DQT oScrew( r xt ) 3: p ← getP ositionF romDQ( r xt ) 4: r orientation abs ← angleAxisT oQuaternion(θ/2, l) 5: r translation abs ← getT ranslationQuaternion( r orientation abs , p/2) r xabs ← r orientation abs r translation abs 7: end procedure Algorithm 3 procedure get VSs from absolute and relative poses Input: • b xabs : absolute pose in ref frame • r xt : tool pose in ref frame Output: • r xrV S : VS ref in ref end-effector frame • t xtV S : VS tool in tool end-effector frame 2: [ b xr , b xt ] ← getRef T oolF romAbsRelative( b xabs , r xt ) (Algorithm 4) r xrV S ← multiplyDQ(getDQClassicConjugate( b xr ), b xabs ) 4: t xtV S ← multiplyDQ(getDQClassicConjugate( b xt ), b xabs ) procedure get end-effectors poses from absolute and relative poses Input: • b xabs : absolute pose in base frame • r xt : tool end-effector pose in ref end-effector frame Output: • b xr : ref pose in base frame • b xt : tool pose in base frame 2: r xabs ← computeAbsP oseInRef F rame( r xt ) 3: b xr ← multiplyDQ( b xabs , getDQClassicConjugate( r xabs )) 4: b xt ← multiplyDQ( b xr , r xt ) CTS Planner for Shape-Servoing and Contact-based Assembly Tasks

Fig. 5 . 5

 55 Fig. 5.5 Bend at the centre: The absolute pose was fixed at the centre of the foam. The initial desired state of VSs is shown in yellow, current desired state in blue, and final desired configuration in magenta.

Fig. 5 . 6 Fig. 5 . 7 Fig. 5 . 8

 565758 Fig. 5.6 Bend off centre: The absolute pose was shifted 10 cm to the left from the centre of foam.

Fig. 5 . 9

 59 Fig. 5.9 Evolution of error in terms of the norm of position and orientation error in absolute task space. ( ) refers to BC experiment and ( ) to BOC experiment.

Fig. 5 .

 5 Fig. 5.10 Evolution of error in terms of the norm of position and orientation error in relative task space. ( ) refers to BC experiment and ( ) to BOC experiment.

  (a) Initial and desired state of U-shape VM. (c) Initial and desired state of S-shape VM. (b) Robot performing U-shaped deformation. (d) Robot performing S-shaped deformation.

Fig. 5 .

 5 Fig. 5.11 Pose tracking performance for absolute task space in DQ (x 1 , x 2 , ..., x 8 ) termsfor the rope deformation task to achieve U and S shape.

Fig. 5 .

 5 Fig.5.12 Pose tracking performance for relative task space in DQ (x 1 , x 2 , ..., x 8 ) terms for the rope deformation task to achieve U and S shape.

Fig. 5 .

 5 Fig. 5.13 Evolution of error in terms of the norm of position and orientation error in absolute task space for the rope deformation task to achieve U () and S ( ) shape.

Fig. 5 .

 5 Fig. 5.14 Evolution of error in terms of the norm of position and orientation error in relative task space for the rope deformation task to achieve U () and S ( ) shape.

A. 3 . 1 • 20 )

 3120 Dual vectors operations• The product of a dual number d and a dual vector d = ( d1 , d2 , d3 ) is given as:d d = ( d d1 , d d2 , d d3 ) (A.18)The inner product of two dual vectors d = ( d1 , d2 , d3 ) and ê = (ê 1 , ê2 , ê3 ) is defined as:d • ê = d1 ê1 + d2 ê2 + d3 ê3 (A.19)• The cross product of two dual vectors d and ê is given as :If l is a unit vectors then, it can regarded as the direction vector of the line and the dual part m is the moment of the line about the origin of the reference frame, given as m = p × l, where p can be any point on the line. The inner product of two Plücker lines yields the cosine of a dual angle θ = θ + εd, where d is the relative distance between the lines and θ is the angle between the two Plücker lines.

Fig. A. 2

 2 Fig. A.2 Plücker line in reference frame: Represented by a dual vector ŝ with direction unit vector l as the real part and moment of the line m computed with respect to the origin of the reference frame Σ ref .

Fig. A. 4

 4 Fig. A.4 Screw displacement of a rigid body: p is any point lying on the screw axis ŝ, both computed and represented in reference frame Σ ref . The rigid body first undergoes a rotation by θ along ŝ and then a translation by d along the same axis.

  e. a rotation about an axis and a translation along the same axis, as depicted in Fig. A.4. The corresponding unit dual quaternion, with real component as rotation unit quaternion, is given as:

2 . 1

 21 Spatial to classical acceleration Let âco = ω + ε a co represents the conventional acceleration of a frame c o rigidly attached to the end-effector and instantaneously coincident with the origin of the base frame. Given spatial acceleration a = ω + ε vo , and spatial velocity ω = ω + εv o , âco is computed as:

  .79, A.80) can be used to convert spatial acceleration of a rigid body to the classical acceleration of a know point on the rigid body, if the twist related to its motion is known.A.6.2.2 Classical to spatial accelerationThe classical acceleration of a point attached to the rigid body and instantaneously coincident with the origin of the reference frame is derived first from the classical acceleration of a point P attached to the rigid body.

  . . 12 2.2 Related work and contributions . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2.1 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2.2 Motivation for unit dual quaternion and screw-theory based cooperative task space formulation . . . . . . . . . . . . . . . . . . . . . 19

2.2.2.1 Issues related to previous formulation of cooperative task space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 List of Figures List of Figures

  5) based manipulator kinematics, where n is the number of joints in the manipulator. . . . . . . . . . . . . . . . . . . . . . . . 2.2 Comparison of our screw-theory and unit dual quaternion based modelling of CTS compared to previous works. . . . . . . . . . . . . . . . . . . . . . 2.3 Baxter's left and right arm's joints parameters for starting configuration of the robot when all the joints are at home or zero position. . . . . . . . 2.4 Baxter's left and right arm's EE pose in the base-frame of the robot for zero joint displacements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 Summary of the controllers used for comparative analysis of dual-arm CTS control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6 Cooperative tasks used for comparative validation of CTS control strategy.

  2.1. Robotic hand attached to arm 1 exerts force o f h1 and moment o n h1 on the object, measured at the origin of EE frame (or force sensor frame) o Σ 1 and given in the base frame Σ o . Similarly, the hand attached to arm 2 exerts force o f h2 and moment

		o f h1	o f a		o f h2
	o ¡ 1	o O b1 l h1 Stick 1 o	o O a o O b2	Stick 2 l h2 o	o ¡ 2
	Arm 1	o n h1	o n a		o n h2	Arm 2
				¡ o
	Fig. 2.1 Static analysis of dual-arm handling a single object.

o n h2 on the object, which are measured at the origin of its EE frame o Σ 2 .

For the static analysis VSs can be extended from the origin of both the EEs to the centre of mass of the object, o O a , denoted by vectors o l h1 and o l h2 . Now the forces and

Table 2

 2

	.1 Computation cost comparison between HTMwDH [12], DQwDH [13] and
	DQwScrew ([14], A.5) based manipulator kinematics, where n is the number of joints
			in the manipulator.
		Multiplications	Additions	Trigonometric Functions
		Cost of successive transform (transform product) computation
	HTMwDH	36	27	NA
	DQwDH	48	40	NA
	DQwScrew	48	40	NA
			Cost of forward kinematics
	HTMwDH	70n -64	48n -48	4n
	DQwDH	60n -48	44n -40	4n
	DQwScrew	61n -48	43n -40	2n
			Cost of Jacobian computation
	HTMwDH	155n -64	108n -48	8n
	DQwDH	189n -48	142n -40	8n
	DQwScrew	157n -144	123n -120	2n

Table 2 . 2

 22 Comparison of our screw-theory and unit dual quaternion based modelling of CTS compared to previous works.

	Previous Works	Complete CTS modelling [31]	Consideration of WTM in relative Jacobian [36]	Advantages of screw-based kinematics [48]	Advantages of DQ representation [14, 51, 52, 53]
	[43, 54]
	[36, 55, 44]
	[46, 49]
	[35, 38, 31, 56, 42, 41]
	[57, 58, 59]
	[13, 60]
	Proposed method
	2.2.2.2 Comparison with DH parameters and unit dual quaternion based
	formulation of cooperative task space

Table 2 . 3

 23 Baxter's left and right arm's joints parameters for starting configuration of the robot when all the joints are at home or zero position.

	Joints	3D Screw axis (l)	Point on axis (p)
	S0 right	0, 0, 1	0.0640272, -0.259027, 0.129626
	S1 right	0.707108, 0.707105, 0	0.112818, -0.307818, 0.399976
	E0 right 0.707105, -0.707108, 0 0.184942, -0.379943, 0.399976
	E1 right	0.707105, 0.707108, 0	0.370501, -0.565502, 0.330976
	W0 right 0.707108, -0.707105, 0	0.44375, -0.638751, 0.330976
	W1 right	0.707105, 0.707108, 0	0.635163, -0.830166, 0.320976
	W2 right 0.707105, -0.707108, 0	0.71717, -0.912173, 0.320976
	S0 left	0, 0, 1	0.0640272, 0.259027, 0.129626
	S1 left	-0.707108, 0.707105, 0	0.112818, 0.307818, 0.399976
	E0 left	0.707105, 0.707108, 0	0.184942, 0.379943, 0.399976
	E1 left	-0.707105, 0.707108, 0	0.370501, 0.565502, 0.330976
	W0 left	0.707108, 0.707105, 0	0.44375, 0.638751, 0.330976
	W1 left -0.707105, 0.707108, 0	0.635163, 0.830166, 0.320976
	W2 left	0.707105, 0.707108, 0	0.71717, 0.912173, 0.320976

loads

[START_REF] Gill | Series elastic actuators[END_REF]

and meet the requirements of a collaborative robot that is Power and Force Limited by Inherent Design as described in ISO 10218-1: 2011, section 5.10.5. The robot is imprecise in terms of positioning accuracy of the EEs since the robot uses serial elastic actuators (SEAs) for the actuation of the joints of the arms.

Table 2 . 4

 24 Baxter's left and right arm's EE pose in the base-frame of the robot for zero joint displacements.

Table 2 . 5

 25 Summary of the controllers used for comparative analysis of dual-arm CTS control

Table 2 . 6

 26 Cooperative tasks used for comparative validation of CTS control strategy.

	Trajectory			Displacement
		Motion type Screw axis	Reference frame
	task-space			desired ( θtask f )
				Initial
	Absolute	Translation	0, 0, 1	0.20 meter
				Absolute frame
				Initial
	Relative	Rotation	1, 0, 0	40 degrees
				right EE VS tip frame
	2.4.3.2 Trajectory generation for CTS kinematic control

Table 3 . 1

 31 Final error of the index finger IK computation.

	Gain X error (in mm.) Y error (in mm.)
	0.1	-1.37181	-3.89763
	0.5	-0.196327	-0.373781
	1	-0.598718	-0.714857

Table 3 . 2

 32 Final error of the relative pose IK computation.

	Gain X error (in mm.) Y error (in mm.)
	0.5	-5.65922	0.44209
	0.6	-5.52501	-0.206231
	0.8	-5.86298	-0.206231

  öd + λ V o ȯe + λ P o o e ) + Ṫ (o e , ȯe ) ȯe (4.15)where, T (o e ) is a transformation matrix that relates the angular velocity error to the time derivative of the error represented using Euler angles:

ω e = T (o e ) ȯe (4.16) ωe = Ṫ (o e , ȯe ) ȯe + T (o e ) öe (4.17

)

Table 4 . 1

 41 Comparison of simultaneous pose and conventional controllers for resolvedrate acceleration control

Table 5 .

 5

1 U and S shaped deformation trajectory details and real robot performing the tasks.

Acknowledgements

I want to thank my thesis director Professor Youcef Mezouar and co-supervisor Dr.

Juan Antonio Corrales Ramón for giving me the opportunity to conduct this doctoral thesis under their supervision. The presented work is the product of Dr. Juan's vision and Prof. Youcef's guidance. I would like to thank them for their unwavering support, encouragement and patience throughout the duration of this thesis. I would also like to express my gratitude to my colleague Dr. José Sanchez for all the intellectual and philosophical discussions related to robotics, politics and life, in general. I am also appreciative of Dr. Miguel Aranda, who was always available for academic discussions and clearing my theoretical doubts. Additionally, I am also thankful my other contemporary colleagues in Institut Pascal: Dr. Rawan Kalawoun, Dr. Kamal Mohy el Dine, Laurent Lequievre, and Dr. Carlos M. Mateo, to name a few, for all the cheerful and gratifying moments we shared during the last three and a half years together.

brother Rahul Chandra, who has been an absolute tower of strength throughout my life.

This work is funded by the European Union. The European Union gets involved in Auvergne-Rhône-Alpes through the European Regional Development Fund (FEDER). I would like to thank these institutions for the financial support that made this thesis

Chapter 6: Conclusion from the CTS trajectories. We have proposed an architecture for this extension of resolved-rate acceleration control for tasks where the two robotic arms are manipulating a single object and the constraint of rigid grasp is assumed in Fig. 4.9 in chapter 4.

• Identifying and formalizing dual-arm robotics skills for deformation control and assembly tasks. Since today's industries rely on constantly changing products to spur the market demands, a flexible framework for robotic application in the production line is desired. One of most common approaches to address this challenge of easy reconfigurability of robotic applications has been to implement a skill-based system [START_REF] Wahrburg | Combined pose-wrench and state machine representation for modeling robotic assembly skills[END_REF]. While there are multitude of aspects involved in the design of such a system that are outside the scope of this thesis, such as force control, uncertainty handling, etc., other than the additional components of task state identification and state transition, a parametrized description of motion during these tasks constitute the core of such systems. As has been demonstrated in the current chapter, screw-based definition of tasks provides a compact and general parametrization of motion. Some common deformation and assembly tasks can be encoded as dual-arm skill primitives using the tools such as task definition and dual-arm motion control, provided in the current framework of cooperative task modelling and control.

Appendix A Dual Quaternion and Spatial

Dynamics Basics

A.1 Quaternions Quaternions can be regarded as pairs of a scalar and a vector (s, v), where s ∈ R and v ∈ R 3 , or as a 4-tuple: q = s q + v q = s q + v q x i + v q y j + v q z k (A.1) = (s q , v q x , v q y , v q z ). (A.2) i, j, k are the unit vectors along the x, y, z axis, respectively, for which following relations was defined by William Rowan Hamilton in 1843 [START_REF] Rowan | Xi. on quaternions; or on a new system of imaginaries in algebra[END_REF]:

A pure quaternion has null scalar component, i.e. s = 0.

Appendix A: Dual Quaternion and Spatial Dynamics Basics

A.1.1 Quaternion operations

• Addition: Addition of two quaternions p = s p + v p = s p + v p x i + v p y j + v p z k and q = s q + v q = s q + v q x i + v q y j + v q z k is defined as:

• Multiplication: Multiplication of two quaternions p = s p + v p and q = s q + v q is performed as:

The multiplication between quaternions is associative but not commutative.

• Conjugate: The conjugate of a quaternion q = s q + v q is given as:

The product of a quaternion and its conjugate will result in the square sum of its elements, i.e.:

• Norm: The norm of a quaternion is defined as:

A quaternion with unity norm, i.e q = 1 is called unit quaternion and can be used to represent rotation operation akin to rotation matrix.

• Inverse: The inverse of a quaternion is defined as:

The inverse of a unit quaternion is its conjugate as can be verified from above relation.

A.2 Dual

A rotation represented by q can be applied to a vector v = v x i + v y j + v z k, and the vector thus obtained is given as:

A.2 Dual Numbers

Dual numbers, proposed by Clifford [START_REF]Preliminary sketch of biquaternions[END_REF], is defined with a real and dual part, a and b respectively, as:

where a, b ∈ R and ε is a dual unit, such that ε 2 = 0.

A.2.1 Dual number operations

• Addition: Addition of two dual numbers d1 = a 1 + εb 1 and d2 = a 2 + εb 2 is given as:

• Multiplication: The multiplication of two dual number is given as:

• Inverse: Inverse of a dual number d = a + εb is defined for the condition a = 0, as:

• Function of dual number : A function of a dual number d = a + εb is defined using Taylor expansion yields:

since all terms with two or higher power of ε vanish.

A.3 Dual Vectors

Dual vectors have 3D vectors as both real and dual parts, or can also be defined as vectors where each entry of the vector is a dual number. Dual vectors with a unit vector as real part and orthogonal real and dual parts are the representation of spatial lines in

A.4 Dual Quaternions

Dual quaternions are extension of dual numbers with real and dual quaternion components which combines Hamilton quaternion algebra with the dual number theory [START_REF]Preliminary sketch of biquaternions[END_REF].

A dual quaternion can be written in following forms:

The first dual quaternion representation has quaternions where q r and q d are real and dual components of dual quaternion x, respectively. The second representation has ŝ and v as the dual number and dual vector components of the given dual quaternion.

The last representation considers a dual quaternion as an 8-tuple.

A.4.1 Dual quaternion operations

• Addition: Given two dual quaternions x1 = q r 1 +εq d 1 and x2 = q r 2 +εq d 2 , addition operation of dual quaternions is defined as:

• Multiplication: The product of two dual quaternions x1 and x2 is defined as:

25)

• Conjugate: There are three conjugates that can be defined for a dual quaternion, which are used for different operations like Plücker line transformation, or point transformation.

-Classical quaternion conjugate: This conjugates refers to the representation of dual quaternion as a variation of dual numbers with quaternions as real and dual components and is used for line transformation.

x * = q * r + εq * d .

(A.26)

A.4 Dual Quaternions

115

-Dual conjugate: Dual conjugate is similar to the conjugate of a dual number and is given as:

-Combined conjugate: is used for point transformation and is defined as:

The conjugate of the conjugate of x, for all the conjugates introduced above, is itself. The conjugate of the product of dual quaternions equals the product of the individual conjugates of these dual quaternions in the reverse order.

• Norm: The norm of a dual quaternion is obtained using classical quaternion conjugate and is given as:

A unit dual quaternion has unity norm, i.e.:

which implies that real part quaternion q r should be a unit quaternion and it should be orthogonal to the dual part q d as 4-tuples:

The above equations shows that unit dual quaternions belongs to a six-dimensional manifold and can be used to represent rigid body displacement.

A.4.2 Transformations using unit dual quaternions

A unit dual quaternion can be used to represent rigid body motion or a directed line.

They are also useful for transforming geometrical entities like lines, points, etc.

A.4.2.1 Rigid body motion and pose representaion

A rigid body motion can be represented using unit dual quaternions a single screw motion as well as with a series of transformation similar to an order sequence of translation and rotational motion. Both forms of the representation of rigid body motion is equally useful and has been explained below, along with the methods to obtain the motion parameters when the corresponding UDQ is given.

• HTM equivalent rigid body motion using UDQ: A rigid body displacement equivalent of homogeneous transformation matrix is given as:

The above unit dual quaternion represents a sequence of rigid body motion, where a frame attached to the rigid body is first translated by t and then rotated using the unit quaternion q r , as demonstrated in -Two trigonometric operations for the computation of sin θ 2 and cos θ 2 .

-13 multiplication (×) operation for the computation of

-Three addition (+) operations for the computation of l d 2 cos θ 2 + m sin θ 2 .

UDQ to screw parameters : Given a unit dual quaternion ( x = ŝ + v = (s p + εs q ) + (v p + εv q )) corresponding to a rigid body motion, the computation of screw parameters (θ, d, l and m) requires different approaches depending if there is rotation involved during the motion. If there is no rotation involved, i.e. s p = 1 or θ = 0, the dual quaternion corresponds to pure translation and the screw components are given as:

If θ = 0 and 0 < θ < 2π, screw parameters are given as: A directed line represented by a dual vector ŝa undergoing a transformation represented by unit dual quaternion x can be given as:

where x * is the classical quaternion conjugate of unit dual quaternon x.

A.5 Serial manipulator kinematics using unit dual quaternions

A forward kinematic model of a manipulator is used to obtain the position of its constituent links and end-effector for a given joint configuration. Inverse kinematics deals with the computation of the joint positions for a desired end-effector pose and the most common method is through the use of inverse Jacobian of the manipulator. This section presents a dual quaternion based forward and inverse kinematics of serial manipulator, where the theory developed in [START_REF] Özgür | Kinematic modeling and control of a robot arm using unit dual quaternions[END_REF] is revisited. All the variables related to pose and directed lines such as joint screw axes are computed and represented in a common reference frame Σ ref .

A.5 Serial manipulator kinematics using unit dual quaternions

given as:

where,

• ŝi 0 is the initial joint screw axis described using unit vector along the axis (i.e. l i 0 ), and moment of the joint screw axis about the base frame of the manipulator (i.e. m i 0 ),

• dual vector δi is the displacement effected on the end-effector by the ith joint of the manipulator due to joint displacement θi , and

• θi is a joint displacement from the home position θi 0 θi = ∆θ i , for revolute joints, θi = ε ∆d i , for prismatic joints.

A.5.2 Jacobian computation of a serial manipulator

The screw twist of the end-effector frame in a reference frame is given as:

where, ω ee is the rotational velocity of the end-effector frame, and v eeo is the translational velocity of a point which is attached to the end-effector frame and is instantaneously coincident with the origin of reference frame Σ ref (see Fig. A.5). ω ee is defined as a pure quaternion non-dual part, and v eeo is defined as a pure quaternion dual part of the dual quaternion ref ξeeo .

The twist of the end-effector in the base frame is given as:

Therefore, the corresponding Jacobian is given as:

The current configuration of an intermediate joint screw of the manipulator represented A.5 Serial manipulator kinematics using unit dual quaternions 123 as dual vector ŝi for the i th joint, can be obtained from its initial value ŝi 0 , by transforming it using the total displacement caused by the previous (i -1) joints.

ŝi = δT (i-1) ŝi 0 δ * T (i-1) (A.56)

Note that in the case of first joint, i.e. ŝ1 , the dual vector of joint screw is constant with respect to the reference frame.

A matrix-vector representation of (A.55) was given in [START_REF] Özgür | Kinematic modeling and control of a robot arm using unit dual quaternions[END_REF] as:

)

where,

(A.67) can be written in a matrix form using (A.58) as:

where,

p ee can be derived as a vector from the current pose of the end-effector frame (x ee ) computed in (A.51), as:

where xee = q r + q t , and q * r is the quaternion conjugate of q r .

Computational cost for the screw-based Jacobian computation for a serial manipulation using dual-quaternion representation: In order to compute the Jacobian as given in (eq. The control law for kinematic control was given in [START_REF] Özgür | Kinematic modeling and control of a robot arm using unit dual quaternions[END_REF] in terms of the logarithm of the error unit dual quaternion:

A.6 Spatial Vectors: Velocity and Acceleration

A screwing motion along a directed line is the most general motion of a rigid body, which is referred to as spatial motion by Featherstone in [START_REF] Featherstone | A beginner's guide to 6-d vectors (part 1)[END_REF][START_REF] Featherstone | A beginner's guide to 6-d vectors (part 2)[tutorial[END_REF]. A screw motion is