139
ALMA MATER STUDIORUM -UNIVERSIT ` A DEGLI STUDI DI BOLOGNA DIPARTIMENTO DI E LETTRONICA I NFORMATICA E S ISTEMISTICA DOTTORATO DI R ICERCA IN AUTOMATICA E R ICERCA OPERATIVA - ING/INF-04 XIX C ICLO P H.D. T HESIS Model and Control of Tendon Actuated Robots Gianluca Palli COORDINATORE Prof. Claudio Melchiorri TUTOR Prof. Claudio Melchiorri A.A. 2004/2006

Controller Design for Robot Arm

Embed Size (px)

Citation preview

Page 1: Controller Design for Robot Arm

ALMA MATER STUDIORUM - UNIVERSITA DEGLI STUDI DI BOLOGNA

DIPARTIMENTO DI ELETTRONICA INFORMATICA E SISTEMISTICA

DOTTORATO DI RICERCA IN AUTOMATICA

E RICERCA OPERATIVA - ING/INF-04

XIX CICLO

PH.D. THESIS

Model and Control of Tendon Actuated Robots

Gianluca Palli

COORDINATORE

Prof. Claudio Melchiorri

TUTOR

Prof. Claudio Melchiorri

A.A. 2004/2006

Page 2: Controller Design for Robot Arm

Author’s Web Page: http://www-lar.deis.unibo.it/∼gpalli/

Author’s e-mail: [email protected]

Author’s address:

Dipartimento di Elettronica Informatica e Sistemistica

Alma Mater Studiorum - Universita degli Studi di Bologna

Viale Risorgimento 2

40136 Bologna

Italia

This thesis was written in LATEX2εon a Debian GNU/Linux system with GNU Emacs.

Copyright c©2007 by Gianluca Palli. All right reserved.No part of this publication may be reproduced or transmitted in any form or by any means,

electronic or mechamical, including photocopy, recording or any information storage and

retrieval system, without permission in writing from the author.

Page 3: Controller Design for Robot Arm

To my wife Sonia

Page 4: Controller Design for Robot Arm
Page 5: Controller Design for Robot Arm

Abstract

The use of tendons for the transmission of the forces and the movements in robotic de-

vices has been investigated from several researchers all over the world. The interest in

this kind of actuation modality is based on the possibility of optimizing the position of

the actuators with respect to the moving part of the robot, in the reduced weight, high reli-

ability, simplicity in the mechanic design and, finally, in the reduced cost of the resulting

kinematic chain.

After a brief discussion about the benefits that the use of tendons can introduce in

the motion control of a robotic device, the design and control aspects of the UB Hand 3

anthropomorphic robotic hand are presented. In particular, the tendon-sheaths transmis-

sion system adopted in the UB Hand 3 is analyzed and the problem of force control and

friction compensation is taken into account.

The implementation of a tendon based antagonistic actuated robotic arm is then in-

vestigated. With this kind of actuation modality, and by using transmission elements with

nonlinear force/compression characteristic, it is possible to achieve simultaneous stiffness

and position control, improving in this way the safety of the device during the operation

in unknown environments and in the case of interaction with other robots or with humans.

The problem of modeling and control of this type of robotic devices is then considered

and the stability analysis of proposed controller is reported.

At the end, some tools for the realtime simulation of dynamic systems are presented.

This realtime simulation environment has been developed with the aim of improving the

reliability of the realtime control applications both for rapid prototyping of controllers

and as teaching tools for the automatic control courses.

Page 6: Controller Design for Robot Arm
Page 7: Controller Design for Robot Arm

Acknowledgments

The author thanks the Department of Electronics, Computer Science and Systems (DEIS)

of the Faculty of Engineer of the University of Bologna for the received support, the staff

of the Laboratory of Automation and Robotics (LAR) and the staff of the Institute of

Robotics and Mechatronics of the German Aerospace Center (DLR) for the help in the

experimental parts of the thesis.

A special thank to professor Claudio Melchiorri, the author is grateful to him for the

patience and the encouragement shown during these years.

Page 8: Controller Design for Robot Arm
Page 9: Controller Design for Robot Arm

Contents

1 Introduction 1

2 The UB Hand 3 Project 5

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2 Architecture and Kinematics of the Hand . . . . . . . . . . . . . . . . . 7

2.2.1 Mechanical Structure of the Hand . . . . . . . . . . . . . . . . . 7

2.2.2 Finger Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2.3 Configuration of the Tendons . . . . . . . . . . . . . . . . . . . . 11

2.3 Finger Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.4 Sensory Apparatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.5 Actuation Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.6 The UB Hand 3 Realtime Control System . . . . . . . . . . . . . . . . . 17

2.7 Experimental Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.8 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3 Model and Control of Tendon-Sheath Transmission Systems 25

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.2 Tendon-Sheath Transmission Characteristic . . . . . . . . . . . . . . . . 26

3.3 Tendon Dynamic Model . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.4 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.5 The ‘Three-Mass’ Model . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.5.1 Validation of the Three-Mass Model . . . . . . . . . . . . . . . . 34

3.5.2 Geometric Properties of the Model . . . . . . . . . . . . . . . . . 35

3.6 Tendon Transmission Control . . . . . . . . . . . . . . . . . . . . . . . . 37

3.6.1 Friction Compensation . . . . . . . . . . . . . . . . . . . . . . . 38

3.6.2 Optimal Controller Design . . . . . . . . . . . . . . . . . . . . . 39

3.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4 Antagonistic Actuated Robots 43

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.2 Dynamic Model of Robots with Antagonistic Actuated Joints . . . . . . . 44

4.3 Static Feedback Linearization . . . . . . . . . . . . . . . . . . . . . . . . 47

4.4 Control Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.5 Properties of the Transmission Elements . . . . . . . . . . . . . . . . . . 50

4.5.1 Quadratic Force-Displacement Transmission Elements . . . . . . 51

4.5.2 Exponential Force-Displacement Transmission Elements . . . . . 52

4.6 Simulation of the Two-Link Antagonistic Actuated Arm . . . . . . . . . 53

Page 10: Controller Design for Robot Arm

ii Contents

4.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5 The DLR’s Antagonistic Actuated Joint 55

5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.2 Characterization of the Transmission Elements . . . . . . . . . . . . . . 56

5.3 System Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.3.1 Static Response . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.3.2 Dynamic Response . . . . . . . . . . . . . . . . . . . . . . . . . 61

5.4 Actuator-Level Stiffness/Position Control . . . . . . . . . . . . . . . . . 63

5.4.1 Non-Backdrivable Actuators . . . . . . . . . . . . . . . . . . . . 63

5.4.2 Backdrivable Actuators . . . . . . . . . . . . . . . . . . . . . . . 64

5.5 Feedback Linearization . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.5.1 Static Feedback Linearization . . . . . . . . . . . . . . . . . . . 70

5.5.2 Dynamic Feedback Linearization . . . . . . . . . . . . . . . . . 75

5.6 Identification of the Transmission Element Parameters . . . . . . . . . . 78

5.6.1 Offline Identification Procedure . . . . . . . . . . . . . . . . . . 78

5.6.2 Online Identification Algorithm . . . . . . . . . . . . . . . . . . 80

5.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

6 Robots Feedback Linearization Control Based on Joint Position Measure-

ments 85

6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

6.2 Dynamics of Robotic Manipulators . . . . . . . . . . . . . . . . . . . . . 86

6.3 Feedback Linearization via Filtered Velocity . . . . . . . . . . . . . . . . 86

6.4 Stability of Feedback Linearization Based on Velocity Estimation . . . . 88

6.4.1 Lyapunov Function Candidate . . . . . . . . . . . . . . . . . . . 88

6.4.2 Time Derivative of the Lyapunov Function Candidate . . . . . . . 90

6.4.3 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

6.5 Case Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

6.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

7 Realtime Simulation 97

7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

7.2 Realtime Simulation of Dynamic Systems . . . . . . . . . . . . . . . . . 99

7.3 The COMEDI Realtime Simulation Driver . . . . . . . . . . . . . . . . . 101

7.4 The Inverted Pendulum . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

7.4.1 The Control System . . . . . . . . . . . . . . . . . . . . . . . . 102

7.4.2 The COMEDI Driver of the Rotary Inverted Pendulum . . . . . . 103

7.4.3 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . 105

7.5 The Tendon-Sheath Lumped Parameter Model . . . . . . . . . . . . . . . 107

7.5.1 The Control System . . . . . . . . . . . . . . . . . . . . . . . . 108

7.5.2 The COMEDI Driver of the Tendon-Sheath System . . . . . . . . 108

7.5.3 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . 110

Page 11: Controller Design for Robot Arm

Contents iii

7.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

8 Conclusions 113

Bibliography 115

Page 12: Controller Design for Robot Arm

iv Contents

Page 13: Controller Design for Robot Arm

List of Figures

2.1 Detail of the UB Hand 3 with the soft cover (a) and the UB Hand 3 in

comparison to the human hand (b). . . . . . . . . . . . . . . . . . . . . . 5

2.2 Structure of the finger module of the UB Hand 3. . . . . . . . . . . . . . 7

2.3 Adoption of coiled spring in elastic hinges. . . . . . . . . . . . . . . . . 7

2.4 The tendons path inside the finger. . . . . . . . . . . . . . . . . . . . . . 8

2.5 CAD design of the UB Hand 3 internal structure. . . . . . . . . . . . . . 9

2.6 Two degrees of freedom articulation of the upper fingers (a) and of the

thumb (b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.7 The experimental setup used for the identification of the kinematic prop-

erties of the finger. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.8 Rotational center of medial hinge. . . . . . . . . . . . . . . . . . . . . . 10

2.9 Static relation between tendon elongation and joint angle. . . . . . . . . . 11

2.10 Internal articulated finger structure. . . . . . . . . . . . . . . . . . . . . 12

2.11 Transformations from the cartesian space to the joints space and from the

joints space to the tendons space . . . . . . . . . . . . . . . . . . . . . . 13

2.12 Position sensor: FEM model (a) and actual implementation (b). . . . . . . 15

2.13 Output characteristic of the position sensor. . . . . . . . . . . . . . . . . 15

2.14 Tendon force sensor: FEM model (a), working principle (b). . . . . . . . 16

2.15 Output characteristic of a tendon tension sensor prototype with respect to

applied force and joint angle. . . . . . . . . . . . . . . . . . . . . . . . . 16

2.16 Instrumented actuation module. . . . . . . . . . . . . . . . . . . . . . . . 17

2.17 The UB Hand 3 (a) and the a detail of the forearm (b). . . . . . . . . . . . 18

2.18 The connection between UB Hand 3 and I/O card. . . . . . . . . . . . . . 19

2.19 The structure of the UB Hand 3 realtime control system. . . . . . . . . . 20

2.20 The communication of the realtime controller with the DAQ hardware and

the user. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.21 The UB Hand 3 grasping a bottle (a) and a cylindrical box (b). . . . . . . 21

2.22 Manipulation sequence of a pen. . . . . . . . . . . . . . . . . . . . . . . 22

3.1 Equilibrium of a tendon element. . . . . . . . . . . . . . . . . . . . . . . 27

3.2 The Dahl friction model. . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.3 Tendon tension distribution using the Coulomb friction model (a) and us-

ing the Dahl friction model (b). . . . . . . . . . . . . . . . . . . . . . . . 29

3.4 Lumped parameters tendon model. . . . . . . . . . . . . . . . . . . . . . 29

3.5 Simulation results: tendon tension input-output characteristic. . . . . . . 30

3.6 Simulation results: tendon tension distribution in the lumped parameters

model with sinusoidal input. . . . . . . . . . . . . . . . . . . . . . . . . 31

3.7 Acquisition system. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Page 14: Controller Design for Robot Arm

vi List of Figures

3.8 Experimental setup for the testing of the different materials. . . . . . . . . 32

3.9 Experiment results: transmission characteristic from constant bending an-

gle (a) and constant tendon length (b). . . . . . . . . . . . . . . . . . . . 33

3.10 Experimental results: identification of friction parameters (a) and com-

parison between simulation and experimental results (b). . . . . . . . . . 34

3.11 Scheme of the three-mass tendon-sheath transmission model. . . . . . . . 34

3.12 Tendon tension input-output characteristic: comparison between the three-

mass and of the lumped parameters models (a) and comparison of simu-

lation and experimental results for γ = π/2 (b). . . . . . . . . . . . . . . 353.13 Laboratory setup for the testing of the tendon tension controller. . . . . . 35

3.14 Setpoint, control action, tendon output tension (a) and tracking error (b). . 37

3.15 Setpoint, control action, output tension (a) and tracking error (b) with the

boundary layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.16 Response of the controller (3.26) with disturbance overestimation. . . . . 39

3.17 Scheme of the tendon tension optimal controller. . . . . . . . . . . . . . 40

3.18 Response of the optimal controller. . . . . . . . . . . . . . . . . . . . . . 41

4.1 A robotic arm with 3 antagonistic actuated joints. . . . . . . . . . . . . . 45

4.2 Detail of the antagonistic actuated joint. . . . . . . . . . . . . . . . . . . 52

4.3 (a) Joint positions and (b) trajectory tracking errors . . . . . . . . . . . . 54

4.4 (c) Joint stiffnesses and (d) stiffness tracking errors . . . . . . . . . . . . 54

5.1 The DLR’s antagonistic actuated joint. . . . . . . . . . . . . . . . . . . . 56

5.2 Detail (a) and working principle (b) of the transmission element. . . . . . 57

5.3 Scheme of the antagonistic actuated joint. . . . . . . . . . . . . . . . . . 60

5.4 Response of the antagonistic actuated joint to a step joint position varia-

tion for different values of the commanded stiffness. . . . . . . . . . . . 62

5.5 Response of the actuator level controller. . . . . . . . . . . . . . . . . . . 65

5.6 Response of actuator level controller with feedforward action. . . . . . . 66

5.7 Response of the actuator level controller with setpoint compensation. . . . 67

5.8 Response of the feedback linearization control. . . . . . . . . . . . . . . 77

5.9 Scheme of the offline identification experiment. . . . . . . . . . . . . . . 79

5.10 Offline estimation results. . . . . . . . . . . . . . . . . . . . . . . . . . . 80

5.11 Online identification algorithm. . . . . . . . . . . . . . . . . . . . . . . . 81

5.12 Online estimation results. . . . . . . . . . . . . . . . . . . . . . . . . . . 82

5.13 Online estimation results for a generic joint movement. . . . . . . . . . . 83

6.1 Positions and position errors of the two DOF robot. . . . . . . . . . . . . 94

6.2 Velocity estimation errors. . . . . . . . . . . . . . . . . . . . . . . . . . 94

6.3 Positions and position errors of the two DOF robot with D= diag1,1. . 956.4 Velocity estimation errors with D= diag1,1. . . . . . . . . . . . . . . 95

7.1 Left: typical software structure; Right: software structure with the COMEDI

library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

Page 15: Controller Design for Robot Arm

List of Figures vii

7.2 Flowchart of the realtime integration algorithm. . . . . . . . . . . . . . . 101

7.3 Rotary inverted pendulum. . . . . . . . . . . . . . . . . . . . . . . . . . 103

7.4 The rotary inverted pendulum is balanced. . . . . . . . . . . . . . . . . . 106

7.5 Comparison between the positions of the real and the realtime simulated

plant. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

7.6 Difference of positions and comparison between the velocities of the real

and the realtime simulated plant. . . . . . . . . . . . . . . . . . . . . . . 108

7.7 Representation of the tendon-sheath lumped parameter model. . . . . . . 108

7.8 Comparison between Matlab/Simulink and the realtime environment. . . 110

Page 16: Controller Design for Robot Arm

viii List of Figures

Page 17: Controller Design for Robot Arm

List of Tables

2.1 Degrees of mobility for each fingers . . . . . . . . . . . . . . . . . . . . 12

5.1 Parameters of the DLR’s antagonistic actuated joint. . . . . . . . . . . . 58

5.2 Mean value of the transmission elements estimated parameters and their

percent errors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.3 Mean value of the transmission elements parameters estimated with the

online algorithm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

6.1 Parameters of the two DOF manipulator considered in the simulations. . . . . . 93

7.1 The parameters of the Quanser rotary inverted pendulum. . . . . . . . . . 104

7.2 The parameters of the tendon-sheath lumped parameter model. . . . . . . 109

Page 18: Controller Design for Robot Arm

x List of Tables

Page 19: Controller Design for Robot Arm

1Introduction

While tendons, or more in general cables, are widely used in many mechanical devices

since the 19th century, the use of tendons in robotic applications has been studied since

the early 80’s, and several tendon actuated robots have been developed all over the world,

both in research laboratories and in industries. Often, tendons are used in robotic hands

[1, 2, 3] and in parallel robots [4, 5, 6]. The main reasons of the interest in robotic

tendon applications are their efficiency in the transmission of the forces from remotely

located actuators to the moving parts of the robot, the reliability and the simplicity of

implementation of this kind of transmission system, and because they allow to reduce

the weight and the cost of the overall device. The main drawbacks of this transmission

modality are, first of all, the limitation to both the static and the dynamic performance

due to the non-negligible tendon elasticity and, depending also on the routing systems

that guide the tendons from the actuator to the joint, the distributed friction along the

tendon path and the necessity of maintaining a suitable tendon pretension to avoid the

cable slack.

In the human body, or, more in general, in the biologic organisms, the transmission

of the movements is realized by means of the muscles, that in many cases act as linear

actuators, connected to the articulations, the joints, through tendons. Moreover, in almost

all the articulations of the human body, more than one muscle-tendon couple works in

antagonistic configuration to realize the movement. This actuation structure gives to hu-

mans an optimal behavior both in the free space movements and during the interaction

with the external environment. On the base of these considerations, an increasing inter-

est has been posed, in the last years, in the study and in the development of antagonistic

actuated robots, as a way to realize variable stiffness devices. Since at least two cooper-

ating actuators must be used to adjust simultaneously both the position and the stiffness

of a single joint, the use of tendon transmission systems in antagonistic actuated robots

allows to optimize the mass distribution by placing the actuators remotely with respect to

the joints, while in other implementations both the actuators are placed near to the joint,

resulting in a considerable increment of the links inertia.

The starting point of my research activity has been the development of the UB Hand

31, with particular attention for the design of both the sensory apparatus and the actuation

1University of Bologna Hand, version 3.

Page 20: Controller Design for Robot Arm

2 1. Introduction

system. As a consequence of the complexity of this kind of devices, due the number of

actuators and sensors involved, a great effort has been devoted also to the definition and

the development of the realtime control system of the UB Hand 3. After the evaluation

of the advantages and of the drawbacks of the particular implementation adopted, an

intensive study of the tendon-sheath transmission system of the UB Hand 3 has been

made to overcome the limitations to both the static and the dynamic performance of the

finger position and force control.

As a natural extension of this research activity, the application of tendons in antagonis-

tic configuration together with transmission elements with nonlinear force/compression

characteristic has been studied. This actuation modality allows the simultaneous control

of both the position and the stiffness of robotic devices. The research on this topic has

been carried out during my stay at the German Aerospace Center (DLR) in Oberpfaffen-

hofen.

A great attention has been posed also in the development of tools for the program-

ming and the testing of realtime control applications in the RTAI-Linux environment. A

software library for the realtime simulation of dynamic systems has been build and a live

Linux distribution has been realized to collect all the more useful tools for the RTAI con-

trol applications developer. This environment has been successfully used as teaching tool

in automatic control courses.

This thesis is organized as follow:

• In Chapter 2 the UB Hand 3 project is presented, and the more important featuresof this device are discussed. The activities for the development of the purposely

designed sensors and actuators are reported and the structure of the control sys-

tem of the UB Hand 3 is illustrated together with the preliminary activities for the

evaluation of the manipulation capabilities of this device.

• In Chapter 3 the tendon-sheath transmission system adopted in the UB Hand 3 isinvestigated in deep with the aim of improving the performance of the system in the

control of the force that the tendons apply to the hinges. Suitable solutions for the

compensation of the friction and for the control of the output tension of the tendon

are proposed.

• The analysis on the dynamics of antagonistic actuated robots is presented in Chap-ter 4. The conditions that allow to achieve simultaneous stiffness and position

control of anthropomorphic robotic arms are discussed, taking into account the

characteristics of the transmission system adopted to drive the robot. The feed-

back linearization of the system is presented and the simulation results of a 2-link

manipulators are reported.

• The Chapter 5 presents the analysis of the antagonistic actuated joint implementedat the DLR and the experimental activity carried out to evaluate the effectiveness of

the design approach for the realization of a variable stiffness device.

Page 21: Controller Design for Robot Arm

3

• Due to the fact that very often linear filters are used instead of state observers for theestimation of the velocity from the joint position information, the stability analysis

of feedback linearization control of robotic manipulators based on filtered position

information is reported in Chapter 6.

• The development of realtime algorithms for the simulation of dynamic systemsis presented in Chapter 7. This approach allows to design and test the control

application using the simulated system, improving the safety of the tuning phase of

the controller and improving the reliability of the final control application.

• In Chapter 8 some conclusion about the overall work are reported together withconsiderations about the open issues and plans for the future research activities.

Page 22: Controller Design for Robot Arm

4 1. Introduction

Page 23: Controller Design for Robot Arm

2The UB Hand 3 Project

2.1 Introduction

In dexterous robotic hands the reproduction of human hand compliance during the inter-

action with the objects to be manipulated (as demonstrated in [7], [8], [9]) is fundamental

for grasp adaptability and stability. Furthermore, a continuous soft cover increases the

level of protection against external agents and unexpected impacts, thus increasing the

reliability of the robotic hand. Even if these advantages are widely recognized, few hu-

manoid robotic hands, so far, have been designed specifically to optimize this aspect. In

most cases they are covered with thin layers of elastomeric material, capable to provide

high surface friction but not enough thick to actually work as real compliant pads. One of

the main reasons why it is so difficult to host pads with adequate thickness and therefore

deformability is the usual adoption of mechanical finger structures based prevalently on

the exoskeletal pattern, which means rigid hollow frames with transmissions or actuation

inside [10], [11].

(a) (b)

Figure 2.1: Detail of the UB Hand 3 with the soft cover (a) and the UB Hand 3 in com-

parison to the human hand (b).

Page 24: Controller Design for Robot Arm

6 2. The UB Hand 3 Project

The UB Hand 3 project addresses alternative design solutions in order to substitute

the exoskeletal structure with an endoskeletal articulated frame with a tendon-based ac-

tuation, aiming to reach the desired external compliance and to simplify the overall me-

chanical complexity of the hand. The endoskeletal structures may be implemented suc-

cessfully considering different morphologies of the joints: among the potential solutions,

biologically-inspired joints with rolling or sliding conjugated profiles or non biologically-

inspired solutions like compliant hinges to substitute articulations. The goals are to re-

duce the complexity of the articulated structure by reducing the number of components,

to reduce the effects of drawbacks like backlash or friction and to increase the reliability

of the mechanical structure. Moreover, the reconsideration of a tendon transmission for

remote actuation of joints is coherent with the perspective of hand-arm integration and

with a more generalized design of the finger structure, not conditioned by the type of the

actuators.

The general aim of the project is to test non-conventional design solutions, under-

standing what may be their advantages and their limits by means of theoretical investi-

gation, practical implementation and testing as well. A strong issue is to test not only

the validity of such solutions in terms of theoretical behavior, but also to point out and

to evaluate technological aspects related to their application and their compatibility with

general specifications, like the adoption of proper sensory equipment or the application

of specific control strategies. One of the key choices of the UB Hand 3 project is to in-

vestigate advantages and limits of articulated structures obtained with serial compliant

mechanisms actuated by means of tendons: a series of different finger architectures have

been built and evaluated based on this concept and described in previous works [12], [13],

[14], [15].

This project has been, for my research activity, a starting point for the evaluation of

various problematics related to the modeling of compliant structures and the control of

tendon actuated systems, with particular attention for sheath-based tendon routing sys-

tems and to antagonistic actuation. Another important point of interest for me has been

the development of realtime control application for such a complex mechatronic device

like the UB Hand 3. The overall project has been developed thanks to the joined work

of the Department of Mechanical Engineering (DIEM) and Department of Electronics,

Computer Science and Systems (DEIS) of the University of Bologna.

This chapter illustrates the hand architecture that is the result of the evolution per-

formed so far: it will probably be improved in the future, but it seems now a valid base to

start on-field evaluation of the proposed concepts. Some preliminary results of the hand

operating capability are presented in the final part of the chapter. They have been obtained

with a prototype that only partially implements all the prospected solutions, but already

confirm that the proposed approach exhibits very high potential.

Page 25: Controller Design for Robot Arm

2.2. Architecture and Kinematics of the Hand 7

External coating (skin) Soft pad Internal endoskeleton

Figure 2.2: Structure of the finger module of the UB Hand 3.

2.2 Architecture and Kinematics of the Hand

Due to the particular actuation modality adopted in this robotic device, the kinematics of

each finger can be seen as the result of the combination both of its mechanical structure

and of the connection of the tendons to the actuators and perhaps to the coupling between

the movements of the different tendons that driver the finger. All these aspects, together

with the mechanical structure of the UB Hand 3, will be illustrated in this section.

2.2.1 Mechanical Structure of the Hand

The present prototype of the UB Hand 3 is characterized by a modular structure in which

four identical fingers and one opposable thumb are assembled on a carpal frame, that will

be connected to a wrist. The tendons are routed from the forearm, where the actuators are

placed, to the fingers passing trough the wrist and the carpal frame, miming in this way

the human hand configuration. A compliant layer, reproducing the role of human hand

soft tissues, covers the endoskeletal structure, as shown in Fig. 2.1(a) and sketched in Fig.

2.2 for a single finger. The overall dimensions of the hand are very similar to the human

one and in Fig. 2.1(b) a direct comparison is proposed.

The internal articulated structure is designed according the “compliant mechanism”

concept so that the mobility of the phalanges is obtained by means of elastic joints (the

(a) (b)

Figure 2.3: Adoption of coiled spring in elastic hinges.

Page 26: Controller Design for Robot Arm

8 2. The UB Hand 3 Project

Figure 2.4: The tendons path inside the finger.

hinges) connected to the rigid parts (the phalanges, see Fig. 2.3(a)). The compliant ele-

ments are made with close-wound helical springs and the bending movement of the joints

is then obtained by means of the action of pulling tendons. A suitable choice of the mate-

rial of the springs allows to have large joint displacements with a limited number of coils

while avoiding permanent deformations and buckling phenomena. The structure of the

fingers is then obtained by plastic moulding with inclusion of continuous steel springs.

The parts that are not covered by the plastic material preserve the capacity of relative

movement due to the flexibility of the springs, while the other parts become rigid forming

the phalanges. The overall finger structure obtained in this way show a good reliability:

in the stress experiments that has been done under different load conditions, no failures

occurred after thousands of working cycles

As sketched in Fig. 2.3(b), multiple springs can be placed in parallel in order to obtain

high torsional stiffness in the orthogonal rotating directions with respect to the one which

the hinge is designed for. The actuation tendons are routed across the coiled springs

which form at the same time the hinges and the routing paths (see Fig. 2.4). The springs

are then used both as structural elements and as sheaths for the routing of the tendons.

This solution allows a simplified design with appreciable kinematics properties. In this

way, it is possible to consider the movement of each joint independent for the movements

of the others.

In the UB Hand 3 prototype (see Fig. 2.5) each finger can have up to 4 degrees of

mobility, obtaining a total number of 20 degrees of mobility. In order to find o good

trade-off between the complexity of the actuation system and the dexterity of the hand, 16

degrees of mobility are actively actuated whereas the others are locked or coupled. The

Page 27: Controller Design for Robot Arm

2.2. Architecture and Kinematics of the Hand 9

Figure 2.5: CAD design of the UB Hand 3 internal structure.

thumb and the index fingers have 4 d.o.f. each one, the middle and the little finger have 3

d.o.f. while the ring finger has 2 d.o.f. (see Tab. 2.1). This configuration, similar to that

implemented in the Robonaut hand project [16], is adopted in order to have a five fingered

hand suitable to perform power and enveloping grasps, in which only three fingers (the

thumb, the index and the middle) have fully mobility to execute dexterous manipulation

tasks.

2.2.2 Finger Kinematics

Significant efforts were performed in developing the proximal joints of the fingers. Dif-

ferent design solutions are adopted for the upper fingers and the opposable thumb. In the

upper finger, the yaw joint and the flexural bending of the proximal phalanges are ob-

tained through two orthogonal single axis hinges (see Fig. 2.6(a)), while the articulation

at the base of the thumb is obtained by a single two d.o.f. helicoidal hinge as shown in

Fig. 2.6(b). This last joint is actuated by means of three cooperating tendons that allow

(a) (b)

Figure 2.6: Two degrees of freedom articulation of the upper fingers (a) and of the thumb

(b).

Page 28: Controller Design for Robot Arm

10 2. The UB Hand 3 Project

Figure 2.7: The experimental setup used for the identification of the kinematic properties

of the finger.

the thumb to bend on a plane having variable direction.

An experimental setup (see Fig. 2.7) is used to verify this kinematic properties of the

finger hinges. The experimental result show that the rotational center of such compli-

ant flexures may be considered fixed in the whole angular range of the joint (0o - 90o).

Therefore, the kinematic behavior can be modeled with good approximation as an ideal

revolute joint with low-level of torsional stiffness. Accordingly it is possible to exploit the

usual kinematic relations between joint configuration and cartesian position given by the

Denavit-Hartemberg parameters, and to treat the fingers like standard robots with revolute

pairs. The position of the rotational center of medial and distal joints are depicted in Fig.

2.8.

C

B

Center of rotation

A

O

O1

C2

(a)

A

B

Center of Rotation

Experimental

measures

Fitting

circumference

(b)

Figure 2.8: Rotational center of medial hinge.

Page 29: Controller Design for Robot Arm

2.2. Architecture and Kinematics of the Hand 11

2.2.3 Configuration of the Tendons

It is worth to notice that, due to the inelastic tendons used, the estimation of the hand

configuration from the motor position provides excellent results. In Fig. 2.9 the relation

between tendon elongation and joint angle is shown. Such a relation, experimental ob-

0 10 20 30 40 50 60 70 80 90 1000

2

4

6

8

10

12

14

16

18

joint angle displacement (degrees)

tendon d

ispla

cem

ent (m

m)

experimental datafitting curve

Figure 2.9: Static relation between tendon elongation and joint angle.

tained by means of a setup including a video-camera and tendon position/tension sensors

(see Fig. 2.7), shows that the motion of the hinge, driven by the tendon, is quite repeat-

able, as can be seen in the plot 2.9, where the circles corresponding to different measures

are perfectly overlying. Due to this useful property, the relation between i-th tendon elon-

gation hi and the i-th joint angle displacement θi can be approximated, with little errors,with the simple expression:

hi = hi0−√

r2i +d2i −2ridi cos(θi0−θi) (2.1)

where hi0 is the tendon length corresponding to the zero joint position reference θi0 whileri and di are the geometric parameters of the hinge, as indicated in Fig. 2.10. The joint

angle can be computed from the tendon position measurement by inverting the eq. (2.1):

θi = −θi0+ arccos

[

(hi0−hi)2− r2i −d2i2ridi

]

(2.2)

Alternatively, providing a desired trajectory of joints, from eq. (2.1) it is possible to derive

the corresponding trajectory of the motors 1.

1Obviously, due to the presence of the rotative motor, the further relation h= R ·θm is introduced, whereθm is the motor position and R= 6mm is the radius of pulley.

Page 30: Controller Design for Robot Arm

12 2. The UB Hand 3 Project

ri

di

θi

θi0

Figure 2.10: Internal articulated finger structure.

The finger design allows operating with different tendon configurations. In the sim-

plest case (single-acting system), each tendon bends the related joint, while the return is

obtained by means of the flexures elasticity. In this configuration the finger stiffness is

depending on the hinge stiffness and it can’t be fully controlled. The other possible solu-

tion is to implement a double-acting system by adding two antagonistic tendons able to

cooperate with the hinge in the return phase: one related to the yaw joint and the other, in

the dorsal part of the finger, that works against the finger bending. The antagonistic solu-

tion for the motion control of the finger is under investigation, and it will be illustrated in

chapter 4, and its implementation in the next prototype of the UBHand 3 is planed.

Table 2.1: Degrees of mobility for each fingers

FingerDegree of mobility for each joint

Yaw Proximal Medial Distal

Index A A A A

Middle L A A A

Ring L A A C

Little A A A C

Thumb A3 A C

A - Actively actuated

L - Locked

C - Coupled with the medial joint

A3 - 2-d.o.f. joint actuated by 3 tendons

The adopted kinematic configuration allows to change the actual number of d.o.f.

without changing the prototype structure. This strategy, for example, may be applied to

couple the distal and medial bending motion to mimic the human finger behavior. Fur-

thermore, by adopting elastic coupling devices between the linked joints it is possible to

obtain self-adapting grasping procedures.

Page 31: Controller Design for Robot Arm

2.3. Finger Control 13

2.3 Finger Control

The kinematic considerations presented in sec. 2.2.2 allow to implement a control “at the

motor level” with an acceptable error in the operating space. A simple impedance control

on each motor, with classical elastic and damping terms, has been implemented.

FFh τ

JTjJTt

Tendons

spaceJoints

space

Cartesian

space

Figure 2.11: Transformations from the cartesian space to the joints space and from the

joints space to the tendons space

Taking into consideration the cartesian space, an impedance controller with stiffness

Kd and damping Dd can be written as:

Kd(p− pd)+Dd p+Fe = 0 (2.3)

where p and pd indicate the measured fingertip position and the desired one respectively,

and Fe is the force applied to the environment. The mass of the finger is neglected for

simplicity because of its very small value. It is important to note that, on the basis of

the considerations about the kinematics of the tendons, the fingertip position p can be

estimated by means of a measure of the tendon displacements using the eq. (2.2) and

the Denavit-Hartemberg parameters of the finger. In the joint space, the eq. (2.3) can be

written as:

JTj (q) [Kd(p− pd)+Dd p+Fe] = 0 (2.4)

in which J j(q) is the Jacobian matrix of the finger and q is the vector of the joint angularpositions. The relation that describes the static equilibrium of the finger is:

Keq= τ+ JTj (q) Fe (2.5)

where Ke is the stiffness of the hinges (given by the bending of the steel springs) and τis the vector of the torques applied by the tendons to the joints. Then, by applying the

control law:

τ = JTj (q) [Kd(p− p0)+Dd p]+Keq (2.6)

the desired behavior of the finger eq. (2.4) is achieved but, since the finger is driven by

means of tendons, the control law in eq. (2.6) must be rewritten in the state space of the

tendons:

Fh = JTt (h) τ = JTt (h)

JTj (q) [Kd(p− p0)+Dd p]+Keq

(2.7)

Page 32: Controller Design for Robot Arm

14 2. The UB Hand 3 Project

where Fh is the vector of the tendon forces, h is the vector of the tendon displacements

and Jt(h) is the Jacobian matrix transform between the tendons space and the joints space.The connection between the cartesian space, the joints and the tendons space is depicted

in Fig. 2.11.

From eq. (2.7) it is possible to conclude that the control of the tendon tension is fun-

damental to implement the cartesian stiffness control of the finger. The use of the steel

springs as sheaths for the routing of the tendons introduces nonlinear effects in the trans-

mission system due to the presence of elasticity and friction. These considerations justify

the analysis of the tendon-sheath transmission system reported in chapter 3.

Another important consideration is related to the unidirectionality of the static equilib-

rium of the finger eq. 2.5 due the tendon configuration. Without the use of an antagonistic

actuation, it is then possible to control the impedance of the finger only during the closing

movement. The analysis on the antagonistic actuated kinematic chains reported in chapter

4 can be useful, from this point of view, to improve the performance of the control system

of the finger.

The control law eq. (2.7) is suitable for dexterous manipulation [17, 18], in particular

when hands with such a structure (with a back-drivable actuation chain and with a soft

cover) are used. Despite the “almost ideal” static behavior of the hand (concerning the

relation tendon length /joint angle and the center of rotation) the use of tendons routed

inside flexible sheaths, the compliant hinges and the soft pads introduce dynamic terms,

which can easily make the system unstable, especially during physical interactions with

the environment, if suitable and accurate measurements of the joint positions and torques

are not available. On the contrary, by exploiting this kind of actuator level controller, the

manipulation of objects of different size and weight has been performed in a safe manner,

and the performance of the system can be improved by a suitable knowledge both of the

model of the transmission system and of the finger kinematics.

It is worth to highlight the role of visco-elastic cover in performing such operations.

On one side the dissipative terms introduced by this material contribute to the dynamic

stability of the hand/object system. On the other side, it has been noticed that a thick layer

of compliant material can compensate the positioning error of a “not very rigid” and “not

very precise” endoskeletal structure, allowing tasks otherwise quite prohibitive.

2.4 Sensory Apparatus

The non-conventional structure of the hand imposes the design of ad hoc force and po-

sition sensors. A systematic analysis of devices able to detect the bending angle of the

joints has been performed [14]. Different sensing technologies have been compared: op-

tical sensors, piezo-resistive sensors, hall-effect sensors and strain-gauge based sensors.

From the analysis the last solution seems preferable. The sensor, depicted in Fig. 2.12,

exploits the bending torque exerted by one of the springs composing the hinge on a minia-

turized load cell, which is integrated into each phalanx. This sensor has been chosen

because it offers a number of advantages with respect to other solutions. From its more

Page 33: Controller Design for Robot Arm

2.4. Sensory Apparatus 15

(a) (b)

Figure 2.12: Position sensor: FEM model (a) and actual implementation (b).

remarkable properties there are a working range that includes both positive and negative

angle displacements, a fairly linear characteristic (as can be seen in Fig. 2.13) and the

insensitivity with respect to lateral bending and compression of the hinge. The sensing

principle, based on strain gauge, allows to simplify the structure of the electronics for

the signal conditioning and acquisition. In fact, the same principle will be exploited for

tendon tension sensors and a single acquisition chain, with a suitable multiplexing stage

for all sensors, can be used for the sampling of all the sensors of the finger. Since the

signals produced by a (half-)bridge of strain gauges are very small and easily influenced

by electrical noise (in particular that produced by motors), the amplification chain will be

located directly on the back of each finger.

−100 −80 −60 −40 −20 0 20 40 60 80 1001.8

2

2.2

2.4

2.6

2.8

3

3.2

Bending angle (degrees)

Ou

tpu

t vo

lta

ge

(V

olt)

Figure 2.13: Output characteristic of the position sensor.

The miniaturized load cell that monitors the force applied by the tendons to the joints,

is properly constrained in the lower side of each phalanx and, at the same time, it sets

Page 34: Controller Design for Robot Arm

16 2. The UB Hand 3 Project

Deformable structure

(a)

Strain Gauge

Tendon link

Finger phalange

(b)

Figure 2.14: Tendon force sensor: FEM model (a), working principle (b).

up the mechanical link between the tendon and the phalanx. In Fig. 2.14 the structure

and the working mechanism of the sensor are reported. Two strain gauges, disposed in

an half-bridge circuit, are used to measure the deformation of the connector. In Fig. 2.15

the output characteristic (with respect to the force applied to the sensor and the joint

configuration) of a prototype is reported. Note that the sensor exhibit an excellent linearity

(eL ≈ 1%) and, in particular, it is insensitive to the joint angle and, therefore, to the tendonorientation.

0

20

40

60

80

100

0

2

4

6

8

10

2

2.5

3

3.5

4

4.5

5

5.5

6

Joint position (degrees)Tendon force (Kg)

Ou

tpu

t V

olta

ge

(V

olt)

Figure 2.15: Output characteristic of a tendon tension sensor prototype with respect to

applied force and joint angle.

2.5 Actuation Module

The actuation of the hand is provided by a system that include 16 modular multi-sensorized

motors. Each actuator is based on a very low-cost DC-brushed motor (Hitec HS 475 HB),

Page 35: Controller Design for Robot Arm

2.6. The UB Hand 3 Realtime Control System 17

Motor power electronics

Potentiometer

Load cell

DC motor

Tendon

Pulley

Sprocket

Figure 2.16: Instrumented actuation module.

that is equipped with a position sensor, a tendon force sensor and custom power electron-

ics (see Fig. 2.16). The tendon is wrapped around a sprocket, which is fixed to the output

shaft of the reduced DC motor, and then it wraps around a pulley to get the proper direc-

tion at the beginning of the sheath. This pulley is fixed on a instrumented support, where

two strain gauges measure the strength applied to the tendon. The modules are hosted

in a purposely designed structure (see Fig.2.17(b)), where each motor is placed radially

respect to the forearm axis with the tendons directed along the forearm axis. The overall

structure of the UB Hand 3 is shown in Fig. 2.17(a).

The electronics originally integrated into the motors (which provides a position con-

trol) has been modified in order to implement an hardware current/torque control loop,

more suitable for robotic applications, integrated directly into the power electronic of the

actuation module. The potentiometer and the gearbox integrated into the motor module

introduce non negligible backslash and friction effects in the motor characteristic. Then,

besides the hardware torque controller, an outer software control loop is necessary to con-

trol the tension of the tendon at the actuator side and to compensate for these nonlinear

effects, In the adopted configuration, the actuation system is able to apply to the tendon a

force of 70N and to close a finger joints in 0.36sec.

2.6 The UB Hand 3 Realtime Control System

In order to provide the motor electronics with the desired torque set-point and to acquire

the (position/force) sensor signals, an I/O board has been exploited and a realtime control

is performed on a standard personal computer. The I/O board is a Sensoray 626 Model,

a low cost PCI analog and digital I/O Card with four 14-bit D/A outputs, sixteen 16-bit

differential A/D input. The PC, used for realtime control, is a Pentium 4 at 1.8 GHz that

is equipped with RTAI-Linux operating system [19]. This OS provides realtime func-

Page 36: Controller Design for Robot Arm

18 2. The UB Hand 3 Project

(a) (b)

Figure 2.17: The UB Hand 3 (a) and the a detail of the forearm (b).

tionality both in the kernel and in the user space and it supports IPC mechanisms like

semaphores, FIFOs and shared memory. These functionalities are used to build a kernel

module for realtime control algorithm and to implement monitoring tasks and user inter-

faces in standard user applications. This system (PC with RTAI-Linux OS equipped with

the I/O board) represents a valid tool for rapid prototyping of robotic systems and allows

to reduce the developing time. Since the Sensoray 626 does not own a sufficient number

of input and output channels, 2 interfacing boards for the multiplexing/demultiplexing of

the signals have been built (see Fig. 2.18). These 2 interfacing boards will be redesigned

with SMD components in order to reduce the overall size of the electronics and to improve

the reliability of the cabling system.

The structure of the realtime controller of the UB Hand 3 is modular and hierarchical,

as can be seen from Fig. 2.6. The kinematic of the overall hand is computed, on the

basis of the setpoint information coming from the supervisor, by an independent task that

manage the hand data structure and the connected finger (or thumb) data structures. In this

way, the system kinematic task can handle simultaneously more than one hand without

any modifications to its internal structure, and each hand can have fingers with different

dimension or kinematic configuration. An handler is devoted to the description of the

Page 37: Controller Design for Robot Arm

2.6. The UB Hand 3 Realtime Control System 19

Figure 2.18: The connection between UB Hand 3 and I/O card.

thumb due to its particular kinematic configuration.

The actuation of the computed control and the acquisition and the filtering of the input

channels are managed by a control computation task. This task uses a controller for each

joint of the controlled finger, giving in this way to the control designer to possibility to

choose between different control strategies for the various joints (PID position control

is used at this moment). Each joint controller is provided with a descriptor of the joint

actuator and sensors, and independent digital filter functionality is given to the controller

to acquire and filter all the necessary data form its sensors.

The control system supervisor communicates with all these tasks. The communication

process can be split in two independent parts. The former is driven by the user requests

and by the scheduling of the data acquisition and actuation processes and it is indicated

by the green arrows in Fig. 2.6. These channels are used to update setpoint information

in the hand kinematic task and from the actuator and sensor modules to sample input and

output data. The latter, indicated by the red arrows, is driven by the supervisor and is used

to monitor the execution of the kinematic and control tasks and to stop the controller in

case of miss-function.

On the other side, the supervisor manages the communications with the low-level data

acquisition driver (the COMEDI library [20]) and with the user interface, see Fig. 2.6.

From the user point of view, The UB Hand 3 can operate in different modalities thanks

to the possibility of choosing between different user interfaces. The xrtailab [21] graphic

interface can be used to monitor the behavior of the overall system, to record data or to

adjust the parameters of the controller, while the movements of the hand can be controlled

via programmed trajectories or by means of a virtual reality data glove.

By means of 4 reading/writing cycles, it is possible to provide the 16 value of torque to

Page 38: Controller Design for Robot Arm

20 2. The UB Hand 3 Project

Figure 2.19: The structure of the UB Hand 3 realtime control system.

the motors and to acquire all the sensor signals. Due to the timing constraints of the Sen-

soray 626 data acquisition board, the minimum achievable sampling time of the control

loop is quite large (≈ 4ms), which is acceptable in the first phase of rapid prototyping. Forthe future development, we planed to change the data acquisition subsystem to achieve to

a faster and more complex control algorithm, both for improving the overall performances

and to implement multipoint manipulation applications. Thanks to the used of the above

described structure of the realtime controller, the modifications on the control software

are reduced to the minimum. In particular, only the low-level data acquisition hardware

interface must be redesigned. If the new acquisition subsystem is COMEDI-complaint,

only the adjustments related to the number of the available I/O channels are needed.

2.7 Experimental Activities

While a number of experiments have been carried out on single parts of the UB Hand 3,

i.e. elastic hinges, compliant cover, position and force sensors, the complete structure has

not been tested yet. Aim of this stage of the project is to demonstrate the capability of the

robotic hand to perform both grasping operations and manipulation tasks, and to highlight

the drawbacks of the proposed structure in order to further improve the technology of

compliant mechanisms and soft pads, by means of structural modifications and/or suitable

control strategies.

Page 39: Controller Design for Robot Arm

2.7. Experimental Activities 21

Figure 2.20: The communication of the realtime controller with the DAQ hardware and

the user.

Therefore, grasping and manipulation sequences have been planned for objects with

different shapes and dimensions:

• enveloping grasp of a glass bottle, Fig. 2.21(a);

• grasping and fingertip manipulation of middle-sized/small objects, like a can or acylindrical box, Fig. 2.21(b);

• fingertip manipulation of a pen, Fig. 2.22.

(a) (b)

Figure 2.21: The UB Hand 3 grasping a bottle (a) and a cylindrical box (b).

Page 40: Controller Design for Robot Arm

22 2. The UB Hand 3 Project

(a) (b)

(c) (d)

Figure 2.22: Manipulation sequence of a pen.

In this phase, all the operations are based on the feedback of the signals coming from the

motors, while a direct measure of the joint positions and tendon forces is not available

yet.

2.8 Conclusions

The practical implementation of the five fingered hand prototype is not concluded yet, but

some motions, grasp and manipulation experiments have been performed with success.

As to the mechanical design, the structure with spring-based compliant hinges proves to

be quite satisfactory in terms of structural simplification, ease of manufacturing and as-

sembly. Moreover, it shows good properties in terms of kinematic behavior, it is very

reliable and fully compatible with the requirements related to hosting the distributed sen-

sory equipment and the compliant external layers. The drawbacks due to the limited

stiffness of elastic-hinged fingers with respect to transverse loads do not seem an insur-

mountable obstacle for application to light manipulation tasks, where, on the contrary, a

limited passive compliance of the finger can play a positive role. A systematic approach

to hinge stiffness evaluation is under development and should provide a valuable tool, not

Page 41: Controller Design for Robot Arm

2.8. Conclusions 23

yet available in the literature, for optimizing the hinge design. Severe limitations have

been found in the present implementation of the sheath-guided tendon actuation system,

that seems the weakest point of the proposed architecture. Again, it seems that a wide

potential of technological improvement can exist and the present drawbacks can be at

least reduced, if not eliminated with a suitable knowledge of the behavior of the tendon-

sheath transmission system. Changing the pattern of tendon routing can be another way

to further improve the system performance: to this purpose the present finger design is

ready to host an additional extensor tendon in order to improve finger dynamics. The

rough manipulation experiments performed so far can not be assumed as representative of

the functional capability of the hand; when performed with a previous device with very

reduced compliance (the UB Hand 2, 1995) these experiments proved to be very critical

and many times were failing. Now they succeed, even in presence of incomplete sensory

feedback and simplified control algorithms. It is an early, partial result that does not allow

to say that the followed approach is in absolute the best for designing hands, but it simply

confirms that it worths going-on.

Page 42: Controller Design for Robot Arm

24 2. The UB Hand 3 Project

Page 43: Controller Design for Robot Arm

3Model and Control of Tendon-Sheath

Transmission Systems

3.1 Introduction

Tendon-sheath transmission systems are used in several robotic applications. In partic-

ular, they are adopted in robotic hands [12, 14, 15, 22, 23], because very often it is not

possible to place actuators inside the fingers. On the other hand, the use of pulleys to route

the tendons increases the mechanical complexity and the dimension of the structure, and

implies that the tendons must be properly preloaded to prevent that they route off from

the guides. With this respect, the use of sheaths reduces the size, the complexity, the cost

and, at the same time, increases the reliability of the overall system.

This transmission modality introduces some side effects (e.g. deadzones, hysteresis,

direction-dependent behaviors in the force control) due to the tendon compliance and to

the friction between tendon and sheath [24, 25, 26, 27, 28]. In particular, the non linear

behavior arising in force control is of great interest for tendon driven robotic fingers, since

the control of the output tendon tension plays a key role in the definition of impedance

controllers that can improve the manipulation capabilities of the robotic hand [17].

A simple tendon-sheath static model that highlight nonlinearities and direction-dependent

behavior is presented in [25]. Starting from this model, some additional considerations

have been made about environment disturbance and tension distribution along the tendon.

The environment is modeled as a mass linked to a mobile constrain by a spring. The

disturbance is represented by the movement of the constrain and by an external force ap-

plied to the environment mass. This model is adequately modified to consider the effect

of non-constant preload and environment disturbance.

In [26], a lumped parameters dynamical model is used to validate the input-output

relation derived from the experiments. We used a similar model in simulation to study

the tension distribution inside the tendon and the effect of the environment load. In

the analysis of the quasi-static behavior of the tendon-sheath transmission system, this

model shown a strange behavior in stationary condition due to the considered static fric-

tion model (Coulomb friction). A dynamical friction model (Dahl model [29]) has been

introduced to corrects this drawback.

Page 44: Controller Design for Robot Arm

26 3. Model and Control of Tendon-Sheath Transmission Systems

The new three-mass model presented in this chapter, very simple from a computational

point of view but incorporating the main nonlinear phenomena present in tendon-sheath

transmission systems, may help in the simulation and design of suitable tension control

strategies.

In order to compensate the nonlinear behavior of the driving system, a suitable con-

troller with a friction compensator is designed. The friction compensation law presents

discontinuities when the sign of the tendon velocity changes, so the bandwidth of the

actuators must be very high to obtain good performance. This switching control action

introduces dynamics behaviors in the system, such as vibrations in the tendon, that are

not considered in the static tendon model. Simulation results show that this controller is

able to compensate both friction effects and also the environment disturbances.

3.2 Tendon-Sheath Transmission Characteristic

The static model of the tendon-sheath driving system presented in [25] is (see Fig. 3.1):

Ff = µN sign(ε)

∆T = −Ffδ =

1

EAT = ρT

where E, A, and δ are respectively the Young modulus, the cross sectional area and theelongation of the tendon, ε and T are the tendon velocity and tension, Ff and N are thefriction force and the normal load acting between the tendon and the sheath respectively,

and

µ=

µs i f ε = 0µd i f ε 6= 0

is the Coulomb friction coefficient. In Fig. 3.1, the equilibrium condition of a small

tendon element is shown to highlight the fact that the friction force Ff between tendon

and sheath is mainly caused by the sheath curvature rather than the tendon weight, usually

negligible.

Assuming that ε has the same sign along the whole length of the tendon, and neglect-ing the effect of stiction, we can model an infinitesimal tendon element as:

N = Tdγ = Tdx

R(3.1)

dT = −Ff = −µT dxRsign(ε) (3.2)

where dγ is the angle subtended by the arc of length dx and R is the radius of the sheathcurvature. From these equations we can write:

[

dTdxdδdx

]

=

[

− µRsign(ε) 01EA

0

]

[

T

δ

]

+

[

0

− 1EA

]

T0

Page 45: Controller Design for Robot Arm

3.2. Tendon-Sheath Transmission Characteristic 27

RT

T +∆T

Ff

N

∆x

∆γ

Figure 3.1: Equilibrium of a tendon element.

or, in more compact formdθ

dx= Dθ+ΛT0 (3.3)

where T0 is the tendon preload. The solution of this system is:

T (x) =

Tin exp[

− µRx sign(ε)

]

i f x< L1

T0 i f x≥ L1(3.4)

δ(x) =

[

H(x)−T0x+ Rµ Tinsign(ε)]

ρ i f x< L1[

H(L1)−T0L1+ Rµ Tinsign(ε)]

ρ i f x≥ L1(3.5)

where

H(x) = −RµTinsign(ε) exp

[

−µRx sign(ε)

]

(3.6)

and

L1 =minx ∈ T (x) = T0When L1 becomes equal to L, to variation of the input tension is immediately transmitted

to the output side, with a ratio of:

dTout

dTin=

e−v if ε ≥ 0ev if ε < 0

(3.7)

where

v=µ

RL

This implies that ε has the same sign along the tendon, positive during the pulling phaseand negative during the loosening one.

Page 46: Controller Design for Robot Arm

28 3. Model and Control of Tendon-Sheath Transmission Systems

−6 −4 −2 0 2 4 6−2

−1.5

−1

−0.5

0

0.5

1

1.5

2Dahl Friction Model

FrictionForce

(Ff)[N

]

Displacement (x) [µm]

Figure 3.2: The Dahl friction model.

This model is obtained by considering only the static Coulomb friction. With a dy-

namical friction model, in our case the Dahl model (see Fig. 3.2), it is possible to see

that the slope of the exponential term of the (3.4) can assume all the intermediate values

between v and −v. To explain this phenomenon, we can note that in (3.2), the variationof the tendon tension is due only to the Coulomb friction. In the Dahl model, the value of

friction can vary between Fc and −Fc, as can be seen in Fig. 3.2, where Fc is the absolutevalue of the Coulomb friction.

Introducing the Dahl friction model into eq. (3.1) and (3.2), the normal load N that the

tendon element exerts on the sheath arc of length dx can be expressed as:

N = Tdγ = Tdx

R(3.8)

Ff = σ

[

x− Ff |x|µN

]

(3.9)

η A x dx+b x = T − (T +dT )−Ff (3.10)

where σ and b are respectively the stiffness of the contact bristles and the viscous frictioncoefficient that characterize the contact between tendon and sheath, η and A are the tendondensity and cross sectional area respectively (η A dx=m), x and x are the acceleration andthe velocity of the infinitesimal tendon element. Note that in eq.(3.10) also the dynamics

of the infinitesimal tendon element has been included: this will help in the definition

of the tendon-sheath lumped parameters model in the next section. Considering quasi-

static conditions, the same analysis that has been done to found the solution of the model

eq. (3.1) and (3.2) can be made also for the model (3.8)-(3.10) if the hypothesis of uniform

velocity direction along the tendon is satisfied.

The Dahl dynamical friction model, Eq. (3.9), is here adopted, [30]. Note that a more

complete friction model that takes into account more friction phenomena like stickbeck

Page 47: Controller Design for Robot Arm

3.3. Tendon Dynamic Model 29

0

0.5

1

1.5

2

0

10

20

30

40

0

2

4

6

8

10

12

14

16

18

Tension Distribution

TendonTension[N]

Tendon Length Time [s]

(a)

0

0.5

1

1.5

2

0

10

20

30

40

0

5

10

15

20

Tension Distribution

TendonTension[N]

Tendon Length Time [s]

(b)

Figure 3.3: Tendon tension distribution using the Coulomb friction model (a) and using

the Dahl friction model (b).

and elastoplastic effects i.e. the LuGre model or the Bliman and Sorine model [30, 31]

could be considered as well. In this model the sheath is considered infinitely stiff and non

movable in space.

3.3 Tendon Dynamic Model

A lumped parameters tendon model similar to the one presented in [26] is used for simu-

lation.

Actuator

kenv

Tendon

mimi mi

ki kikiki

cicicici

Figure 3.4: Lumped parameters tendon model.

With reference to the tendon-sheath lumped parameters model sketched in Fig. 3.4,

the equilibrium of each tendon element is given by:

miεi− ci(εi+1−2εi+ εi−1) = T+i +T−i −Ff i (3.11)

T+i +T−i = ki(εi+1−2εi+ εi−1) (3.12)

Ff i =µ

2R(T+i −T−i ) tanh(kvεi) =

2Rki(εi+1− εi−1) tanh(kvεi) (3.13)

Page 48: Controller Design for Robot Arm

30 3. Model and Control of Tendon-Sheath Transmission Systems

0 5 10 15 20 250

2

4

6

8

10

12

14

16

18

20

Input Output characteristic

Tin[N]

Tout[N

]

A

B

C

D

Figure 3.5: Simulation results: tendon tension input-output characteristic.

wheremi, εi, ci, Ff i, T+i , T

−i , kv and ki are respectively the mass, the position, the damping,

the friction, the input side tension, the output side tension, the friction parameter in the

Karnopp model and the stiffness of each tendon element. Note that the sign(·) functionin the Coulomb friction model is replaced in the Karnopp model by the tanh(·) function,eq. (3.13), to avoid numerical problems during simulation [29].

The simulation results highlight that in stationary conditions the tendon tension dis-

tribution shows a behavior without physical meaning, see Fig. 3.3(a). In particular, it is

possible to note that the output tension increases without an input tension variation, as if

the effect of friction is vanishing. This fact is due to the friction model used, that neglects

the stiction effect. The use of the Dahl friction model [29] allows to take into account the

effects of the friction also when the velocity goes to zero and for very small movements.

Considering the Dahl friction model instead of the Coulomb model, the equilibrium con-

dition of each tendon element can be written as:

xi = vi (3.14)

vi =1

mi[ci(vi+1−2vi+ vi−1)+

+ki (xi+1−2xi+ xi−1)−Ff i]

(3.15)

Ff i = σ

[

vi−2nR Ff i |vi|

µL ki(xi+1− xi−1)

]

(3.16)

where mi, xi, ci, Ff i, T+i , T

−i , and ki are respectively the mass, the position, the damping,

the friction, the input side tension, the output side tension and the stiffness of each tendon

element. The internal tension distribution along the tendon for a constant input of the

model (3.14)-(3.16) is reported in Fig. 3.3(b). In this model, also the friction force Ff i

Page 49: Controller Design for Robot Arm

3.4. Experimental Results 31

0

5

10

15

20

0

10

20

30

40

0

5

10

15

20

25

Tension distribution along the tendon

Time [s]Tendon elements [n]

TendonTension

[N]

Figure 3.6: Simulation results: tendon tension distribution in the lumped parameters

model with sinusoidal input.

is a state variable. Eq. (3.16) is the Dahl friction derivative for the considered system.

To validate this model, simulations have been performed, studying a tendon with a total

length L = 0.1 m, subdivided in n = 40 elements modeled by Eq. (3.14)-(3.16). Theparameter γ is chosen equal to π/2 so the radius of curvature is R= 2L/π.

The transmission characteristic obtained from simulations of this model is shown in

Fig. 3.5, where four main phases can be identified: pulling phase (A), relaxation dead zone

(B), loosening phase (C) and stretching dead zone (D). Fig. 3.6 shows the distribution of

tension along the tendon, supposed here with length L = 0.4 m and with R= 2L/π, whena sinusoidal input force is considered.

3.4 Experimental Results

In order to validate the simulation results and also to characterize the friction parameters

of different materials, for both tendon and sheath (alloy-alloy, Kevlar-alloy, Teflon-alloy,

Teflon-Teflon, spectra-alloy, spectra-Teflon), some experiments have been conducted. In

the laboratory setup (see Fig. 3.7 for a scheme of the acquisition system), the tendon is

connected at each end to an actuator, composed by a DC motor with encoder, gearheads

and ballskrew. The input and output tensions are measured by two load cells, placed

at each tendon end. The sheath curvature radius R can be changed, replacing the black

plastic cylinder visible in Fig. 3.8, and the possible bending angles γ are π/2, π and 3π/2.

The experimental results in Fig. 3.9(a) and Fig. 3.9(b) confirm that the transmission

characteristic (alloy-alloy) does not depend on the tendon length, but only on the bending

angle γ. The parameters of friction can be determined from the transmission characteristic

Page 50: Controller Design for Robot Arm

32 3. Model and Control of Tendon-Sheath Transmission Systems

Load Cell

Load Cell

Tendon

Sheath

Encoder

Encoder

Actuator

Actuator

Data Acquisition

Trajectory Generation

PC

Figure 3.7: Acquisition system.

Figure 3.8: Experimental setup for the testing of the different materials.

(see Fig. 3.10(a)). The comparison between simulation and experimental results (see Fig.

3.10(b)) validates the proposed model.

From Fig. 3.10(b) it is also possible to note that for high tendon tension, the compli-

ance of the sheath is not negligible. A model that takes into account also the elasticity and

the dynamics of the sheath is under development.

3.5 The ‘Three-Mass’ Model

Since the lumped parameters model presented in the Section 3.3 is computationally com-

plex, and therefore not very convenient if several simulations have to be performed, a

simplified version, called here the “three-mass model”, is now presented. The model of

the tendon-sheath driving system is now obtained considering the tendon constituted by

a single macro element having the same properties of the infinitesimal tendon element of

Page 51: Controller Design for Robot Arm

3.5. The ‘Three-Mass’ Model 33

0 10 20 30 40 50 60 700

10

20

30

40

50

60

Transmission characteristic (γ=cost)

Tin[N]

Tout[N

]

R= 40[mm]

R= 80[mm]

R= 120[mm]

(a)

0 10 20 30 40 50 60 700

10

20

30

40

50

60

Transmission characteristic (R=cost)

γ = π/2

γ = π

γ = 3π/2

Tin[N]

Tout[N

]

(b)

Figure 3.9: Experiment results: transmission characteristic from constant bending angle

(a) and constant tendon length (b).

Fig. 3.1. Therefore in this model the tendon is described by eq. (3.8), (3.9) and (3.10).

Moreover, also the inertia of both the actuator and the load are now considered, thus

obtaining the three mass model shown in Fig. 3.11 where m1 represents the mass of the

actuator, m2 is the load and b1, b2 are the viscous friction coefficients of the actuator and

of the load respectively. Fact is the force applied from the actuator to the tendon and Fenvrepresents any other external force applied to the load. In the UB Hand 3 [14, 15] the

tendon is attached to the phalanx that is affected by the elastic force of the hinge and by

the external forces due to the contact with a grasped object. By considering a suitable

projection of the elastic and grasping forces on the space of the tendons, it possible to

include the dynamic model of the hinge in the of the environment eq. (3.18).

The overall system is described by:

Fact = m1x1+b1x1+ k(x1− x3) (3.17)

Fenv = m2x2+b2x2+ k(x2− x3) (3.18)

−Ff = m3x3+b3x3+ k(−x1− x2+2x3) (3.19)

Ff = σ

[

x3−Ff |x3|

µ γ k(x2− x1)

]

(3.20)

where x1, x2 and x3 are the position of m1, m2 and m3 respectively, γ is the sheath curva-ture angle and b3 is the viscous friction coefficient between tendon and sheath, introduced

since the Dahl friction model does not take into account this friction phenomenon. Note

that the tendon internal viscous friction is neglected because it is very small whit respect

to other friction effects, therefore the tendon is modeled only with its mass m3 and its

stiffness k.

The three-mass model of the tendon seems to be suitable if the shape of the sheath is con-

stituted by an arc of constant radius. However, since the tendon path can be decomposed

in several arcs of the same radius such that the total bending angle γ is conserved without

Page 52: Controller Design for Robot Arm

34 3. Model and Control of Tendon-Sheath Transmission Systems

0 10 20 30 40 50 60 700

10

20

30

40

50

60

Friction parameters identification

Tin[N]

Tout[N

]

ev

e−v

A

B

(a)

0 10 20 30 40 50 60 700

10

20

30

40

50

60

Experiment

Simulation

Simulations and Experiments comparison

Tin[N]

Tout[N

]

(b)

Figure 3.10: Experimental results: identification of friction parameters (a) and compari-

son between simulation and experimental results (b).

alteration of the behavior of the transmission system [25, 26, 28], this model can be used

also for different tendon paths. Analogous considerations can be made also if the shape

of the sheath is constituted by several arcs with different radius and/or different bending

angles.

3.5.1 Validation of the Three-Mass Model

The simulation results of the three-mass model are now compared with those of the

lumped parameters model and with experimental results, see Fig. 3.12(a) and 3.12(b).

In the laboratory setup (see Fig. 3.13), the tendon is connected at each end to an actuator,

composed by a DC motor (of the same type used in the UB Hand 3) with a potentiome-

ter for absolute position measure, connected to the output shaft, and a multi-stage gear-

heads with total reduction ratio of 300:1. The input and output tensions are measured by

means of two load cells, placed at each tendon end. The sheath curvature radius R can be

changed, and the possible bending angles γ are π/2, π and 3π/2. The simulation resultsof the lumped parameters model and of the three-mass model reported in Fig. 3.12(a) and

3.12(b) are obtained using the physical parameters (length, angles, ...) of the experimental

setup.

Actuator LoadTendon

Sheath

m1 m2m3

b1 b2

k kFact Fenv

Figure 3.11: Scheme of the three-mass tendon-sheath transmission model.

Page 53: Controller Design for Robot Arm

3.5. The ‘Three-Mass’ Model 35

0 5 10 15 20 25 300

2

4

6

8

10

12

14

16

18

20

three−mass modellumped parameter model

A

B

C

D

Input Output characteristic

Tin[N]

Tout[N

]

(a)

0 10 20 30 40 50 60 700

10

20

30

40

50

60

ExperimentalLumped parameters modelThree mass model

Tin[N]

Tout[N

]

Simulations and Experiments comparison

(b)

Figure 3.12: Tendon tension input-output characteristic: comparison between the three-

mass and of the lumped parameters models (a) and comparison of simulation and experi-

mental results for γ = π/2 (b).

3.5.2 Geometric Properties of the Model

In this section, the properties of the system eq. (3.17)-(3.19) will be analyzed and the con-

ditions for the solution of the problems of disturbance decoupling will be checked. These

considerations are useful for the design of the a suitable controller for the compensation

of the friction in the tendon-sheath transmission system.

If Fact is considered as the control input of the system, and Fenv, Ff as disturbance

inputs, the system described by Eq. (3.17)-(3.19) is a linear system that can be written as:

x = Ax+Bu+Hd

y = Cx

w = Ex

Figure 3.13: Laboratory setup for the testing of the tendon tension controller.

Page 54: Controller Design for Robot Arm

36 3. Model and Control of Tendon-Sheath Transmission Systems

where x = [x1 x1 x2 x2 x3 x3]T is the state of the system, u = Fact is the control input,

d = [Fenv Ff ]T is the disturbance input, y = [x1 x2 Tin Tout ]

T is the output vector, and

w= Tout is the controlled output.The matrices of the system are defined as:

A=

0 1 0 0 0 0−km1

−b1m1

0 0 km1

0

0 0 0 1 0 0

0 0 −km2

−b2m2

km2

0

0 0 0 0 0 1km3

0 km3

0 −2km3

−b3m3

, B=

01m1

0

0

0

0

, H =

0 0

0 0

0 01m2

0

0 0

0 −1m3

(3.21)

C =

1 0 0 0 0 0

0 0 1 0 0 0

−k 0 0 0 k 0

0 0 k 0 −k 0

, E =[

0 0 k 0 −k 0]

(3.22)

Matrix C and the output vector y are chosen as described by Eq. (3.22) because in the

laboratory setup the available information are the position of the actuator (x1) and of the

environment load (x2), and the input (actuator side) and output (environment side) tension

of the tendon (Tin and Tout respectively). It can be easily shown that the system described

by matrices (3.21)-(3.22) has an eigenvalue in the origin and it is completely controllable

(hence stabilizable) from the input u, and completely observable (hence detectable) from

the output y. With respect to the control outputw, this system is not completely observable

and it is not detectable. The minimum set of output information that makes this system

completely observable is ym = [x2 Fout ]T . With this choice it is possible to reduce the

number of sensors required to control the tendon. The system under analysis is completely

observable also from [x1 Fin]T but this makes the control of the output tension an open

loop control, based only on the model of the system and this can increase the effects of

parameters uncertainties.

It can be easily shown that for this system:

H * V∗

B,E (3.23)

and also:

H *(

V∗

B,E +B

)

(3.24)

where H is the image of the matrix H, B is the image of the matrix B and V ∗B,E is the

maximum output nulling controlled invariant [32].

Equations (3.23) and (3.24) show that both the disturbance decoupling and measurable

signal decoupling problems are not solvable for the system described by the matrices

(3.21) and (3.22) because the structural conditions for the solution of these problems are

not satisfied [32].

While the problem of perfect decoupling between d and w cannot be solved, it is

possible to minimize the norm of the transfer functions between d andwwhile considering

Page 55: Controller Design for Robot Arm

3.6. Tendon Transmission Control 37

0 0.2 0.4 0.6 0.8 10

10

20

Control actionOutput tensionSetpoint

0 0.2 0.4 0.6 0.8 1

−1

0

1

(a) Time [s]

Tendon Tension [N] Tracking Error [N]

(b) Time [s]

Figure 3.14: Setpoint, control action, tendon output tension (a) and tracking error (b).

0 0.2 0.4 0.6 0.8 10

10

20

Control actionOutput tensionSetpoint

0 0.2 0.4 0.6 0.8 1

−1

0

1

(a) Time [s]

Tendon tension [N]

(b) Time [s]

Tracking error [N]

Figure 3.15: Setpoint, control action, output tension (a) and tracking error (b) with the

boundary layer.

a suitable limitation on the control action u [32]. Since this can be done with a suitable

algebraic state feedback, the knowledge of the entire state x of the system is required.

Since only two components of the state x are directly deducible from the output y (x1 and

x2), the problem of the design of a suitable state observer for the three-mass model of the

tendon must be addressed, as discussed in the Section 3.6.2.

3.6 Tendon Transmission Control

In this Section, two possible control strategies are analyzed. First, a control law based on

static friction compensation is presented. This controller is very simple to be implemented

but requires very fast actuators and can generate high frequency oscillations in the system.

Then, an optimal controller is presented. This latter controller is more complex, but allows

to control the tendon driving system considering explicitly also the effects of friction, of

environment forces, and the limitations of the actuators. At the moment, both controllers

have been verified only by means of simulations.

Page 56: Controller Design for Robot Arm

38 3. Model and Control of Tendon-Sheath Transmission Systems

3.6.1 Friction Compensation

The control of the output tension of the tendon, with a compensation of friction and elas-

ticity effects, is among the main targets of this research. For this purpose, a friction

compensator is designed to add a proper action to the input tension in order to reach the

desired value for the output tension.

The friction compensation law is not based on the tendon velocity, but on the tension

tracking error because if the environment constraint is considered fix, a positive tracking

error means that the tendon must be pulled and then the tendon velocity must become

positive and vice versa. So the control action Fc = Fact is:

Fc = Ts exp

[

µL

Rsign(e)

]

(3.25)

where Ts is the tension setpoint and e= Ts−Tout is the tension tracking error.In Fig. 3.14 it is possible to see that the tracking error is bounded but presents fast

variations due to the switching nature of the friction compensation action (3.25). As a

matter of fact, the controller is very similar to a sliding mode controller, because the

control action switches from a maximum to a minimum value related to the magnitude

of the disturbance (friction). In order to reduce the chattering of this control system, a

boundary layer of proper width is introduced. The new friction compensation action is:

Fc =

Ts exp[

µ LRsign(e)

]

if |e| ≥ ethTs

(

1+ |e|ethexp[

µ LRsign(e)

]

)

if |e| < eth(3.26)

where eth is the amplitude of the boundary layer. The response and the tracking error of

this controller are shown in Fig. 3.15.

With this control law, it is also possible to compensate for the effects of a non fixed

environment constraint. This is possible by overestimating the friction effects, and there-

fore increasing the magnitude of the action computed from the friction compensator. Fig.

3.16.a,b show the response of the system to a fast input variation when the control law

(3.26) is applied and the friction parameters are overestimated. In Fig. 3.16.c,d the re-

sponse of this system to a sinusoidal input is reported while Fig. 3.16.e,f show the re-

sponse to a sinusoidal load disturbance applied at t = 2 s.

It is important to note that the control action (3.26) is very easy to implement because

the exponential term can be computed only once for positive tracking error and once for

negative tracking error if the other parameter are not variables in time. It is also important

to note that measurement noise in the output tension is very critical for this controller,

since it is based on the sign of the output tracking error.

Page 57: Controller Design for Robot Arm

3.6. Tendon Transmission Control 39

0 0.2 0.4 0.6 0.8 10

10

20

Control actionOutput tensionSetpoint

0 0.2 0.4 0.6 0.8 1

−1

0

1

0 2 4 6 8 100

10

20

Control actionOutput tensionSetpoint

0 2 4 6 8 10

−1

0

1

0 2 4 6 8 10−20

0

20

Control actionOutput tensionSetpoint

0 2 4 6 8 10

−1

0

1

Time [s]Time [s]

(a) (b)

(c) (d)

(e) (f)

Tendon tension [N] Tracking Error [N]

Figure 3.16: Response of the controller (3.26) with disturbance overestimation.

3.6.2 Optimal Controller Design

In order to take into consideration the effects of control input and disturbances on the

system output, the system described by matrices (3.21)-(3.22) can be rewritten as:

x = Ax+Bu+Hd (3.27)

y = Cx+ +D1d (3.28)

w = Ex+D2u (3.29)

In this case, recalling that only two components of the state vector x are known (hence the

necessity of a state observer), and by considering the dual system, the state observer can

be designed to minimize the index:

Jobs =

Z ∞

0

(

dTHTHd+dTDT1D1d)

dt (3.30)

whereD1 is chosen very small to reduce the effects of disturbances on the state estimation,

but this increase the gain of the output feedback of the observer and, consequently, the

effects of the measurement noise in the state observation. The order of this observer can

Page 58: Controller Design for Robot Arm

40 3. Model and Control of Tendon-Sheath Transmission Systems

x_s

x_r

uQ

pinv(E)

F_actw

y

Three−mass tendon model

Fs

Set Point

Output tendontension

1s

Integrator

L

K

A

B

C

Figure 3.17: Scheme of the tendon tension optimal controller.

be reduced to estimate only the state components that are not directly deducible from the

outputs. To improve the performance in terms of estimation error, it is possible to design

a nonlinear state observer in order to estimate also the friction force, but this increase

the complexity of the observer. To ensure the convergence to zero of the state estimation

error, also the measure (or a suitable estimation) of the environment force Fenv is required.

The state feedback is designed to minimize:

J f b =Z ∞

0

(

wTr wr+uTDT2D2u

)

dt =

=

Z ∞

0

(

xrETExr+u

TDT2D2u)

dt (3.31)

wr = ws−wd (3.32)

xr = xs−E†wd (3.33)

where xs and ws are respectively the state estimated by the observer and the output of the

observer, wd is the desired output tension (i.e. the set point), E† is the pseudo-inverse of

matrix E. The parameter D2 is chosen taken into consideration that is possible to reduce

the tracking error reducing D2 but this increase the required control action and vice versa.

In Fig. 3.18.a,b the response of the optimal controller to a fast input variation is

reported while Fig. 3.18.c,d and Fig. 3.18.e,f show the response of the same system to a

sinusoidal input and to a sinusoidal load disturbance applied at t = 2 s respectively. Formthese plots it is possible to note that the performances, in terms of tracking error, of the

optimal controller are better than the ones of (3.26) in all the cases here presented, even if

the solicitations of the control action due to a fast input variation are greater than in Fig.

3.16(a).

The complete control scheme for the tendon is shown in Fig. 3.17 where K is the

algebraic feedback matrix computed from the solution of the continuous algebraic Riccati

Page 59: Controller Design for Robot Arm

3.7. Conclusions 41

0 0.5 1 1.5 20

10

20

Control actionOutput tensionSetpoint

0 0.5 1 1.5 2

−1

0

1

0 2 4 6 8 100

10

20

Control actionOutput tensionSetpoint

0 2 4 6 8 10

−1

0

1

0 2 4 6 8 10−20

0

20

Control actionOutput tensionSetpoint

0 2 4 6 8 10

−1

0

1

Time [s]Time [s]

(a) (b)

(c) (d)

(e) (f)

Tendon tension [N] Tracking Error [N]

Figure 3.18: Response of the optimal controller.

equation (CARE) that minimize the (3.31), L is the observer feedback matrix computed

from the solution of the CARE that minimize the (3.30) and Q= E† is the pseudo-inverseof the matrix E.

3.7 Conclusions

A dynamic model of an actuation system based on a tendon-sheath mechanism has been

presented. The model, because of its computational simplicity, may be used for the sim-

ulation and the design of suitable control laws for devices using this type of transmission

system. The results obtained so far, basically simulations and comparisons with experi-

mental data, are quite satisfactory and show the validity of the model.

With respect to future activities, implementation of the optimal control laws on the lab-

oratory setup and some improvements of the dynamic model considering also additional

effects are planned. In particular, it is foreseen to define also models of the actuators and

of the tendon (with a proper parameters estimation), as well as a more complex dynamic

friction model (e.g. the LuGre model).

With respect to control performance, the simulations show that a possible improve-

Page 60: Controller Design for Robot Arm

42 3. Model and Control of Tendon-Sheath Transmission Systems

ment could derive from considering saturation in the control action, that are physically

present, but that have not been considered in the design phase. These could be easily

taken into account with a suitable frequency shaped design of the optimal controller.

Moreover, in this type of driving system, a fundamental rule is played also by the

sheath, whose dynamics has not been considered yet. A simple model of the sheath,

taking into account its finite stiffness, is currently under development. Note that the dy-

namics of the non constrained parts of the sheath is very important for modeling the force

transmission dynamics into the tendon since, in practice, the mass of the sheath (subject

to motion) is much larger than the mass of the tendon.

Finally, also the dynamic model of the finger will be included to evaluate the perfor-

mance of the overall finger control and, in order to implement an impedance control for

the robotic finger, an output tendon stiffness controller will be designed.

Page 61: Controller Design for Robot Arm

4Antagonistic Actuated Robots

4.1 Introduction

Standard industrial robots are usually designed to have very rigid links, that implies a con-

siderable increment of the link masses, and to minimize the effects of the elastic coupling

between the actuators and the joints due to the deformation of the transmission elements

like long shafts, belts or harmonic drives. These design goals are usually maintained also

for the design of the control law of these robots. This approach is justified because in-

dustrial tasks usually require accuracy, repeatability and simplicity in the implementation

of the control law. On the other hand, it is well know that neglecting the elastic coupling

between the actuators and the robot joints can lead to vibrations in the kinematic chain

and reduce both the dynamic and static performance of the overall system [33, 34, 35, 36].

In the last years, a large variety of robots have been developed to accomplish a com-

pletely different class of tasks, like space and submarine activities, cooperative manipula-

tion and, in particular, to interact with humans for entertainment, domestic activities and

assistance to elder or handicapped people. The main requirements for the introduction

of robots in the human environment are safety and dependability of the robotic system

[37, 38, 39]. These requirements exclude the use of standard industrial robots for the

interaction with humans. Also incrementing the sensorization and improving the perfor-

mances of the controller, there are intrinsic limitations on the safety of industrial robots

due to the inertia of the links and to the magnitude of the torque that the actuators can

apply [39].

The development of lightweight robotic arms [40, 41] is carried out to improve the

dynamic performance and reduce the weight-to-payload ratio. While this approach is

suitable in case of devices for special applications, in particular for space activities, to

improve the safety of robotic arms different projects have been developed, besides main-

taining a low level of inertia, introducing also an high compliance at the mechanical level

both in the joints of the robot and in the interface between the robot and the environment.

Concerning the joint compliance in order to obtain an adequate level of accuracy preserv-

ing safety, several variable stiffness devices, and in particular antagonistic actuated joints,

have been developed [39, 42, 43]. Continuous high compliant structures with antagonistic

actuation are also applied to reduce the mechanical complexity, the weight and the cost of

robotic hands [12, 14, 15, 44].

Page 62: Controller Design for Robot Arm

44 4. Antagonistic Actuated Robots

In this chapter, the dynamic model of a robot with antagonistic actuated joints similar

to the one reported in [39] but without direct coupling between the antagonistic actuators

is presented, and the problem of full linearization via static state feedback of both the

position and the stiffness of the joint simultaneously is analyzed. The modulation of the

mechanical stiffness of the joint is achieved by using transmission elements with nonlin-

ear relation between the displacement and the actuated force [39, 42, 43]. In particular,

the cases of transmission elements with quadratic [42] and exponential [43] force-length

characteristic are analyzed as examples of application of this methodology. The time

dependence of the functions is omitted for brevity in the sequel of the chapter.

4.2 Dynamic Model of Robots with Antagonistic Actu-

ated Joints

In this section, the dynamic model of a robotic arm with N antagonistic actuated joints

is reported. Some assumptions have been made to obtain this dynamic model. In par-

ticular, we assume that the actuators have uniform mass distribution and center of mass

on the rotation axis [45] and that their rotor kinetic energy is due only to their spinning

angular velocity [35]. Another assumption is that each joint is independently actuated by

2 motors in an antagonistic configuration. From now, we refer to this kind of mechanical

structure as fully antagonistic actuated kinematic chain. Applications of this methodology

to mechanical structures with coupled antagonistic actuation (or non-fully antagonistic, to

distinguish from the former case) [12, 44] are object of future research.

The considered model is then composed by 3N rigid bodies (N links and 2N actuators)

with nonlinear elastic coupling between their positions. The state dimension of the model

of a robot with N spatial DOFs is then equal to 6N (position and velocity of each rigid

body) while the input dimension is 2N (the torques commanded to the actuators). In

this case it is necessary to distinguish between the spatial and the stiffness DOFs. The

former is the possibility of modifying the position of the system while the latter means

the possibility of adjusting the mechanical stiffness of the device. In this terms, a robot

with N antagonistic actuated joints1 has a total of 2N DOFs (N spatial + N stiffness).

It is important to stress the fact that, for mechanical stiffness, we mean the compliance

of the mechanical coupling between the link and the actuation. Usually this characteristic

is imposed by the mechanical design, and in particular by the elasticity of transmission

elements, while in this case it can be modulated with antagonistic actuation and nonlinear

transmission elements. This allows to increase the safety of the robot arm in the case of

unexpected collision with i.e. a human operator. In [38] a meaningful analysis of how the

mechanical coupling between the link and the actuation affects the safety of a robotic arm

operating in the human environment is reported.

1For mechanical structures with coupled antagonistic actuation, the total number of DOFs Nsp+st (spatial

+ stiffness) is N < Nsp+st < 2N.

Page 63: Controller Design for Robot Arm

4.2. Dynamic Model of Robots with Antagonistic Actuated Joints 45

α1

α2

α3

β1

β2β3

θ1

θ2

θ3

φ1

φ2φ3

ψ1

ψ2

ψ3

Figure 4.1: A robotic arm with 3 antagonistic actuated joints.

As output of the system, the positions of the joints and of the actuators are considered,

obtaining a output of dimension equal to 3N.

In Fig. 4.1 a sketch of a robotic arm with antagonistic actuated joints is reported.

With reference to this figure, αi and θi (i= 1, . . . ,N) are positive in the counterclockwisedirection while βi is positive in clockwise direction. φi = φi(αi,θi) and ψi = ψi(βi,θi) arethe nonlinear coupling functions between the position of the joint and of the two actuators

(see also Fig. 4.2).

The dynamic model of the robot with antagonistic actuated joints can be obtained form

the standard Lagrangian formulation and can be written in a convenient form grouping

the dynamics of the joints and considering separately the dynamics of the two groups of

actuators:

M(θ)θ+C j(θ, θ)θ+D jθ+g f (θ)+ϕ(α,β,θ) = 0 (4.1)

Jα+Dmα+φ(α,θ) = τα (4.2)

Jβ+Dmβ+ψ(β,θ) = τβ (4.3)

where θ is the vector of joint positions, α and β are the vectors of actuator positions,M(θ) is the inertia matrix of the robot, J is the diagonal matrix of the inertia moments ofthe actuators, C j(θ, θ) is the matrix of the centrifugal and Coriolis terms of the robot, D jand Dm are the diagonal matrices of the viscous friction coefficients of the robot and of

the actuators respectively, g f (θ) is the vector of gravity effects, ϕ(α,β,θ) is the combinedeffect of the positions of the actuators on the joints, τα and τβ are the vectors of the torques

commanded to the actuators.

The input of the system and the vector of output information are:

u=[

τTα τTβ

]T

, y=[

θT αT βT]T

(4.4)

Page 64: Controller Design for Robot Arm

46 4. Antagonistic Actuated Robots

Since we are interested to control both the position and the stiffness of the joints of the

robot, it is useful to define a new output vector that contains explicitly these information’s:

yc =

θ1...

θN∂ϕ1(α1,β1,θ1)

∂θ1...

∂ϕN(αN ,βN ,θN)∂θN

=

[

θS

]

(4.5)

where S is the vector of the mechanical stiffness of the joints that can be expressed as

in eq.(4.5) because we suppose all the joints and all the actuators to be independent (no

coupling between the movements of the joints or the actuators). From eq. (4.5) it is

possible to note that, in general, while it is difficult to measure the stiffness of the joints,

a suitable knowledge of the coupling functions ϕ(α,β,θ) enables us to derive the jointsstiffness S from the measured output y.

Considering the new output vector yc, the input u and the state vector

x=[

θT θT

αT αT βT βT]T

(4.6)

the model of the robot with antagonistic actuated joints described by eq. (4.1)-(4.3) can

be rewritten in the input-affine state space form:

x = f (x)+g(x)u (4.7)

yc = h(x) (4.8)

where x ∈ R6N and u,yc ∈ R2N . In particular, for the model of the robot with antagonisticactuated joints:

f (x) =

θM(θ)−1(−C j(θ, θ)θ−D jθ−g f (θ)−ϕ(α,β,θ))

αJ−1(−Dmα−φ(α,θ))

β

J−1(−Dmβ−ψ(β,θ))

(4.9)

g(x) =

[

0N×N 0N×N 0N×N J−1 0N×N 0N×N0N×N 0N×N 0N×N 0N×N 0N×N J−1

]T

, h(x) =

[

θS

]

(4.10)

The eq. (4.7)-(4.10) define a square nonlinear system that can be linearized via static

feedback if suitable conditions are satisfied [46, 47].

Page 65: Controller Design for Robot Arm

4.3. Static Feedback Linearization 47

4.3 Static Feedback Linearization

In this section, necessary and sufficient conditions for the solution of the problem of full

linearization via static state feedback of the system described by the eq. (4.1)-(4.5) are

analyzed [46]. In particular, we have to check if the decoupling matrix of this system

is nonsingular and if the sum of the relative degrees of the outputs are equal to the state

dimension of the system.

With the aim of simplifying the explanation, the notation used in the previous section

is extended. Since all the components of both the input, the output and the state vectors

belong to RN , where N is the number of robot joints, we can redefine the dimensions ofthe input u, the output yc and the state x of the system to 2, 2 and 6, respectively. Also the

notation of Lie derivative is extended to work with vectors in RN .The problem of static feedback linearization consists in transforming a nonlinear sys-

tem of the type (4.7)-(4.8), via static state feedback and coordinate transformations into a

fully controllable and observable linear system that can be represented in the form:

z = Az+B

Lr1f h1(Φ

−1(z))...

Lrmf hm(Φ

−1(z))

+Q(Φ−1(z))u

(4.11)

yc = Cz (4.12)

where A, B and C are matrices of proper dimensions given by the Brunowsky canonical

form, m is the number outputs of the system, r1, . . . ,rm are the relative degrees of eachoutput, L f h(x) denotes the Lie derivative of h(x) along the vector function f (x), z= Φ(x)is the coordinate transformation from the original to the new state space and Q(x) is theso-called decoupling matrix.

First of all, we have to define the (vector) relative degree of the outputs of the system.

For this purpose, it is useful to firstly define the state transformation from the original

state space to the state space of the linearized system:

Φ(x) =

h1(x)...

L(r1−1)f h1(x)...

hm(x)...

L(rm−1)f hm(x)

(4.13)

The relative vector degree of the outputs can now be easily found by looking when the

inputs appearing explicitly in eq. (4.13). In particular, for the output θ it possible to find

Page 66: Controller Design for Robot Arm

48 4. Antagonistic Actuated Robots

that:

Lg(α,β)Lkf hθ(x) = 0N×N , i= 0, · · · ,2 (4.14)

LgαL3f hθ(x) = −J−1M(θ)−1

∂ϕ(α,β,θ)

∂α(4.15)

LgβL3f hθ(x) = −J−1M(θ)−1

∂ϕ(α,β,θ)

∂β(4.16)

where hθ(x) denotes the restriction of the output vector to θ only while for the output S:

Lg(α,β)hS(x) = 0N×N (4.17)

LgαL f hS(x) = J−1∂S

∂α(4.18)

LgβL f hS(x) = J−1

∂S

∂β(4.19)

where hS(x) denotes the restriction of the output vector to its component S. Lgα and Lgβ

denote the restriction of the Lie derivative to the τα and τβ component of the input vector

respectively while Lg(α,β)denotes both these cases.

From this result we can state that, if the derivatives of ϕ(α,β,θ) in eq. (4.15), (4.16),(4.18), (4.19) are not null, the vector relative degree of θ is 4 while the one of S is 2. Thesum of the vector relative degrees of the output is then equal to the dimension of the state

of the system (i.e. 6), so that the condition for the existence of noninteracting control

via static state feedback is satisfied. In particular, if ϕ(α,β,θ) depends linearly on theirarguments, as in [33, 35, 36, 48], the terms in eq.(4.18), (4.19), and also the successive

derivatives, are always zero. Hence the vector relative degree of S is not defined and

therefore the mechanical stiffness of the joints is not controllable.

Now, to verify that the system has no zero dynamics, we have to check if the decou-

pling matrix is nonsingular. The decoupling matrix of this system is:

Q(x) = Bd(θ)

[ ∂ϕ(α,β,θ)∂α

∂ϕ(α,β,θ)∂β

∂S∂α

∂S∂β

]

(4.20)

where

Bd(θ) =

[

−J−1M(θ)−1 0N×N0N×N J−1

]

(4.21)

From this equation and from eq.(4.5), it is possible to see that the rank ofQ(x) dependson the nature of ϕ(α,β,θ), hence this property has to be checked for mechanical imple-mentation. If ϕ(α,β,θ) depends linearly on their arguments, S is constant and thereforeQ is singular.

Now, supposing that Q(x) is not singular, by defining the new input

u=Q−1(x)

([

−L4f hθ(x)

−L2f hS(x)

]

+

[

vθvS

]

)

(4.22)

Page 67: Controller Design for Robot Arm

4.4. Control Strategy 49

we obtain the linear model of the robot with elastic joints

z = Az+Bv , v=

[

vθvS

]

(4.23)

yc = Cz (4.24)

where

A=

0 I 0 0 0 0

0 0 I 0 0 0

0 0 0 I 0 0

0 0 0 0 0 0

0 0 0 0 0 I

0 0 0 0 0 0

, B=

0 0

0 0

0 0

I 0

0 0

0 I

, C =

[

I 0 0 0 0 0

0 0 0 0 I 0

]

(4.25)

z=[

θT θT

θT

θ[3]T ST ST]T

(4.26)

in which I and 0 are the identity and the zero matrix of dimension N. From eq. (4.23)-

(4.26) it is then possible to note that:

[

θ[4]

S

]

=

[

vθvS

]

(4.27)

4.4 Control Strategy

Since the system (4.23),(4.24) is completely controllable and observable, the state of the

system can be reconstructed by means of an asymptotic observer and of the change of

coordinates (4.13) or, since the position of each rigid body is directly measurable, the

velocities can be estimated in many ways e.g. by means of state variable filters or adaptive

windowing algorithms [49].

From eq.(4.27), applying the control laws:

vθ = θ[4]d +K3θ

[

θ[3]d −L3f hθ(x)

]

+K2θ

[

θd−L2f hθ(x)]

+

+K1θ

[

θd−L f hθ(x)]

+K0θ

[

θd−hθ(x)]

(4.28)

vS = Sd+K1S[

Sd−L f hS(x)]

+K0S

[

Sd−hS(x)]

(4.29)

with diagonal gain matrices K3θ, . . . ,K0S such that

λ4+λ3K3θi+λ2K2θi

+λK1θi+K0θi

= 0 , i= 1, . . . ,N (4.30)

λ2+λK1Si +K0Si = 0 , i= 1, . . . ,N (4.31)

are Hurwitz polynomials, the convergence to zero of the tracking error is ensured. If the

desired trajectory θd is continuous together with its derivatives up to the 4th order and

Page 68: Controller Design for Robot Arm

50 4. Antagonistic Actuated Robots

Sd is continuous together with its derivatives up to the 2nd, also the asymptotic trajectory

tracking is achieved.

It is important to note that all the Lie derivative appearing in eq. (4.22),(4.28) and

(4.29) can be written as function of the measurable quantities x, so the computation of the

time derivatives of θ (up to 4th order) and S (up to 2nd order) are not necessary.

The control law in eq. (4.28),(4.29) is equivalent to a static state feedback plus feed-

forward in the state space of the linearized system:

v= vd+K(zd−Φ(x)) (4.32)

vd =[

θ[4]Td S

Td

]T

, zd =[

θTd θTd θ

Td θ

[3]Td STd S

Td

]T

(4.33)

K = diag[K0θK1θK2θK3θK0S K1S ] (4.34)

The matrix K can be also obtained via direct eigenvalues assignment or through the

solution of the CARE equation with a suitable choice of the weight matrices.

This approach ensures that, in case of an undesired event e. g. a collision with an

obstacle, the coupling between the joint and the actuators has the desired stiffness without

the intervention of the controller, avoiding in this way any problem related to limited

control bandwidth, sensorization, delay in the control loop and so on. If the stiffness

S depends itself on θ, this behavior is a linearization of the system stiffness around thedesired position θd .

4.5 Properties of the Transmission Elements

To show some properties of different types of nonlinear coupling between the joint and

the actuators, transmission elements with quadratic and exponential relation between the

displacement and the force will be investigated. This analysis is performed considering a

two-links planar arm with antagonistic actuated joints. In Fig. 4.2 a detail of the antag-

onistic joint is given. From this picture, the displacement between the i-th joint and its

actuators can be defined as:

εαi = rmαi+ r jθi (4.35)

εβi = rmβi− r jθi (4.36)

where εαi,εβi are the displacements (compression or extension) of the transmission ele-

ments and rm,r j are the radii of the pulley of the actuator and of the joint respectively. Inorder to simplify the following calculations and without loss of generality, rm and r j are

supposed to be equals for all the actuators and all the joints. In [42, 43] the transmission

elements are connected to the actuators and to the joint by means of metallic cables. To

avoid cable slack, a suitable operating region of α,β,θ must be defined considering thegeometry of the device. However, the condition εαi,βi < 0 can be achieved by properly

Page 69: Controller Design for Robot Arm

4.5. Properties of the Transmission Elements 51

setting the zero position of the actuators. From Fig. 4.2 it is also possible to establish the

relationship between the coupling functions of the joint and of the actuators:

ϕi(αi,βi,θi) =r j

rm[φi(αi,θi)−ψi(βi,θi)] (4.37)

4.5.1 Quadratic Force-Displacement Transmission Elements

In order to provide a stiffness that is a linear function of the displacement and independent

from the position of the joint, transmission elements with quadratic force-compression

characteristic must be used [42]:

F = k2ε2+ k1ε+ k0 (4.38)

where F is the force, ε is the displacement and k2,1,0 are proper constants. The torquesapplied to the actuators result:

φi(αi,θi) = rm(k2ε2αi+ k1εαi+ k0) (4.39)

ψi(βi,θi) = rm(k2ε2βi

+ k1εβi+ k0) (4.40)

and the torque applied to the i-th joint is:

ϕi(αi,βi,θi) = r j[k2(ε2αi− ε2βi)+ k1(εαi− εβi)] =

= r j[k2rm(αi+βi)+ k1][rm(αi−βi)+2r jθi] (4.41)

Deriving this expression with respect to θi the value of the joint stiffness is obtained:

∂ϕi(αi,βi,θi)

∂θi= Si = 2r

2j [k2rm(αi+βi)+ k1] (4.42)

In this case, the joint stiffness does not depend on the position of the joint: this re-sult can be achieved only with quadratic force-displacement relation as eq. (4.38). Thedecoupling matrix for the two-links planar arm can be be written as:

Q(x) = r jrmBd(θ)

−(2k2εα1 + k1) 0 (2k2εβ1 + k1) 0

0 −(2k2εα2 + k1) 0 (2k2εβ2 + k1)2k2r j 0 2k2r j 0

0 2k2r j 0 2k2r j

(4.43)

In this case, Q(x) is singular if εαi = 0 or εβi = 0 and k1 = 0 (purely quadratic force-displacement characteristic, zero stiffness for zero displacement) and is always singular

if k2 = 0, confirming that the stiffness of the joints is not adjustable using transmissionelements with linear compliance. Another condition of singularity of Q(x):

αi+βi = − k1k2rm

(4.44)

that corresponds, from eq. (4.42), to the case in which Si = 0, that means no couplingbetween the actuators and the joint, a nonsense. This condition can be avoided imposing

a suitable minimum value of the joint stiffness.

Page 70: Controller Design for Robot Arm

52 4. Antagonistic Actuated Robots

α1

β1

θ1

φ1

ψ1

rm

rmr j

g1(θ1)

εα1

εβ1

Figure 4.2: Detail of the antagonistic actuated joint.

4.5.2 Exponential Force-Displacement Transmission Elements

In this example, the transmission elements are composed by plastic elements (rubber

balls) compressed inside a cylinder [43]. The geometry and the characteristic of the ma-

terial gives the nonlinear force-compression relation [50, 51, 52]:

F = k(eγε −1) (4.45)

where F is the force, ε is the displacement and k > 0, γ > 0 are suitable constants thatdepend on the shape and on the material used in the transmission elements. The torques

applied to the actuators of the i-th joint are then:

φi(αi,θi) = rmk[eγεαi −1] (4.46)

ψi(βi,θi) = rmk[eγεβi −1] (4.47)

The resulting torque applied to the joint using these elements in antagonistic configura-

tion is given by:

ϕi(αi,βi,θi) = r jk[eγεαi − eγεβi ] (4.48)

The resulting stiffness of the joint can be then expressed in the form:

∂ϕi(αi,βi,θi)

∂θi= Si = kγr

2j [e

γεαi + eγεβi ] (4.49)

The decoupling matrix for the two-links planar arm can be be written as:

Q(x) = k γ r jrmBd(θ)

−eγεα1 0 eγεβ1 0

0 −eγεα2 0 eγεβ2

γr jeγεα1 0 γr je

γεβ1 0

0 γr jeγεα2 0 γr je

γεβ2

(4.50)

It is important to note that in this case Q(x) is always nonsingular thanks to the propertiesof the exponential function that characterize the transmission elements.

Page 71: Controller Design for Robot Arm

4.6. Simulation of the Two-Link Antagonistic Actuated Arm 53

Another important point is that, due to the exponential relation between the compres-

sions and the forces of transmission elements (see eq. (4.49)), the joint stiffnesses are

always strictly positive, hence a suitable translation of the origin of the linearized sys-

tem is necessary. The value of the joint stiffnesses S0 that corresponds to the condition

εα,β = 0 is given by:

S0i = 2kγr2j , i= 1, . . . ,N (4.51)

The state of the linearized system is then:

z=[

θT θT

θT

θ[3]T (S−S0)T ST]T

(4.52)

Note that all the system state values xS0 that satisfy the condition εα,β = 0 are equilibriumpoints for the system (4.1)-(4.3). Also the desired stiffness trajectory Sd must be chosen

taking into account the value of the joint stiffness S0 in the equilibrium points of the

original system.

4.6 Simulation of the Two-Link Antagonistic Actuated

Arm

In the following the validity of the proposed approach is reported by presenting the simu-

lation results of a planar two-link antagonistic actuated arm. Due to space limitations, the

well-known model of the planar two-link arm together with the solution of the previous

equations for this system are omitted. For the same reason, only the simulations about the

exponential force-displacement transmission elements case are reported.

In the simulation scheme, only the joint and actuator positions are known and the

corresponding velocities are estimated by means of state variable filters. The trajectories

are generated through filters of appropriate order to estimate also their derivatives up to

the necessary order. The control strategy has been chosen as in eq. (4.33) and the matrix K

is obtained from the solution of the CARE equation with a diagonal state weights matrix.

In Fig.4.3 the positions of the joints of the antagonistic actuated arm are reported.

Both step and sinusoidal joint trajectories are used together with coordinated movements

to show the stabilizing properties of the controller. The joint stiffnesses and the stiffness

errors are reported in Fig.4.4. During the test, the stiffness of the joint 2 is constant while

the one of joint 1 is sinusoidal. It is important to note that the joint stiffness trajectories

are not affected by the changes of the joint positions and vice versa.

4.7 Conclusions

In this chapter, the non-interacting static feedback linearization of a antagonistic actuated

arm has been presented. This problem can be solved if the transmission elements have

nonlinear force-displacement characteristic and if the transmission element stiffness with

zero deformation S0 6= 0.

Page 72: Controller Design for Robot Arm

54 4. Antagonistic Actuated Robots

0 20 40 60 80 100−2

−1

0

1

Pos Joint 1

Pos Joint 2

0 20 40 60 80 100

−0.2

−0.1

0

0.1

0.2

Err Joint 1

Err Joint 2

Joint positions [rad] Joint position errors [rad]

(a) Time [s] (b) Time [s]

Figure 4.3: (a) Joint positions and (b) trajectory tracking errors

0 20 40 60 80 100

40

60

80

100

Stiffness Joint 1

Stiffness Joint 2

0 20 40 60 80 100−0.1

−0.05

0

0.05

0.1

Stiffness error 1

Stiffness error 2

Joint Stiffnesses [N m rad−1] Joint Stiffness errors [N m rad−1]

(c) Time [s] (d) Time [s]

Figure 4.4: (c) Joint stiffnesses and (d) stiffness tracking errors

The simultaneous stiffness-position control of a two-link robot arm has been validated

through simulation. Even if only the joint and the actuator positions are known, the ve-

locities estimation through state variable filters does not compromise the stability of the

closed loop system.

Future activities consist in the definition a suitable nonlinear state and external load

observer for the antagonistic actuated arm. A different analysis of the overall system,

based on singular perturbations, can lead to the definition of a simpler control law, es-

pecially for robots with a high number of DOF. Moreover, the introduction of a robust

controller can improve the reliability of the system in the case of model uncertainties or

undesired effects.

The analysis of the behavior of robots with antagonistic actuated joints during the in-

teraction with an external environment and the problem of external load compensation for

this system are under analysis while the extension of this approach to non-fully antago-

nistic actuated robots is object of future research.

Page 73: Controller Design for Robot Arm

5The DLR’s Antagonistic Actuated Joint

5.1 Introduction

With the aim of verifying the properties and of evaluating the behavior of antagonistic

variable stiffness devices, a testbed composed by a single rotative joint has been realized at

DLR1 (see Fig 5.1). In this implementation, the modulation of the mechanical stiffness of

the joint is achieved by means of transmission elements with exponential relation between

the displacement and the actuated force in antagonistic configuration [39, 42, 43]. These

transmission elements are connected to the actuators (two brushless motors) and to the

joint by means of alloy cables (tendons). The only information available on the system are

the joint and the actuators positions, measured by means of optical encoder, while no force

sensors are used to simplify the overall system. The forces applied by the transmission

elements will be estimated from the position information by means of a suitable model

of the their force/deformation relation. The estimation of both the joint and the actuators

velocities are obtained by means of state variable filters.

The control system is composed by a personal computer equipped with a 3GHz Pen-

tium IV processor, 1GB of RAM, the QNX realtime OS and a Sensoray 626 data acqui-

sition board. The development platform used to design the controller and to monitor the

control system is a standard PC with Windows OS and the MatLab/Simulink/ Realtime-

Workshop development environment.

In the previous chapter, the analysis and the feedback linearization of aN-DOF robotic

arm with antagonistic actuated joint has been presented. In this chapter, the same prin-

ciples are applied for the analysis of the DLR’s antagonistic actuated joint to design a

suitable joint position and stiffness controller. In the case of 1-DOF system, such as in the

considered implementation, or in the case of very light structure, in which the coupling

between the link dynamics can be neglected, a more simple controller can be defined

considering the static relation between the actuator positions and the joint position and

stiffness, as show in the sequel.

The chapter is organized as follows. In section 5.2 the nonlinear characteristic of the

transmission elements is analyzed and a suitable model is proposed. In section 5.3 the

DLR’s antagonistic actuated joint is presented and analyzed and the way how to achieve

1Deutsches Zentrum fur Luft- und Raumfahrt - German Aerospace Center

Page 74: Controller Design for Robot Arm

56 5. The DLR’s Antagonistic Actuated Joint

Figure 5.1: The DLR’s antagonistic actuated joint.

the joint variable stiffness is explained. Neglecting the joint dynamics, two suitable ap-

proaches for the simultaneous control of the joint position and stiffness in the case of

backdrivable and non-backdrivable actuators are presented in section 5.4. An alternative

approach for the simultaneous stiffness and position control of the joint, based on the

analysis reported in the previous chapter, is reported in section 5.5. In section 5.6 the

problem of the identification of the parameters of the transmission elements is taken into

account. Some conclusions about this work and some plans for future research activities

on this field are reported in section 5.7.

This research activity has been carried out during my stay at the DLR, in the period

February-September 2006.

5.2 Characterization of the Transmission Elements

It is well known that, to achieve simultaneous position and stiffness control of a robotic

device via antagonistic actuation, transmission elements with nonlinear relation between

the elements compression and the applied forces must be used [42]. In this section, the

transmission elements used in the implementation of the DLR’s antagonistic actuated joint

are described.

With the aim of reducing the weight, the flexibility of application and the dimensions

of the transmission elements, the properties of elastic materials, such as plastic polymers,

Page 75: Controller Design for Robot Arm

5.2. Characterization of the Transmission Elements 57

(a)

ε

F

F

A

B

C

D

E

(b)

Figure 5.2: Detail (a) and working principle (b) of the transmission element.

forged in a suitable shape, in this case sphere, are exploited to achieve a nonlinear relation

between the element compression and the applied force. In Fig. 5.2 it is possible to see

a detail of a transmission element and in Fig. 5.2(b) a scheme of the working principle

of the transmission element is reported. With reference to Fig. 5.2(b), the transmission

elements are composed by an aluminum shell (A), connected at one end to the actuator

(a pulley installed to the output shaft of a brushless rotative motor) by means of an alloy

cable (B), that contains from 2 to 6 rubber balls (C). These rubber balls can be compressed

by means of a plate (D), connected to the joint by means of another alloy cable (E). The

geometry and the material of the transmission elements, and in particular of the rubber

balls, gives a nonlinear relation between compression ε and applied force F (see eq. (5.1)and (5.2)). Adjustable stiffness is achieved by means of two of these elements connected

to the joint in antagonistic configuration and driven by two independent actuators.

The relation between the compression of the transmission elements ε and the appliedforce F can be modeled using the following nonlinear elastic relation:

F(t) =

k[eγε(t)−1], ε(t) ≥ 00, ε(t) < 0

(5.1)

where k and γ are constant parameters depending on the material, on the dimensions andon the shapes of the elastic elements (in this case the rubber balls) and on the implemen-

tation of the transmission elements. A more complete model that takes into account also

the damping introduced by the transmission elements is the nonlinear visco-elastic model,

also known as the Hunt-Crossley model [50]:

F(t) =

k[eγε(t)−1]+b ε(t)eγε(t), ε(t)≥ 00, ε(t) < 0

(5.2)

Page 76: Controller Design for Robot Arm

58 5. The DLR’s Antagonistic Actuated Joint

where b is the nonlinear damping coefficient. Other models can be choose for the descrip-

tion of the characteristic of the viscoelastic materials [51, 52], but experimental results

have shown that the proposed model is more reliable for this implementation.

It is important to note that the compression to force relation is unilateral. This is due

to the particular implementation of the transmission elements and to the use of tendons.

It implies that, both from the model and from the control point of view, the necessary

conditions to maintain the transmission elements in the proper working region (ε(t) ≥ 0)must be ensured.

For simulation purpose, the model reported in eq. (5.2) is used to ensure a more

reliable behavior of the system while for control purpose, the elastic nonlinear model

reported in eq. (5.1) can be used to obtain a more simple control law. Note that the

additional damping, introduced by the transmission elements and neglected during the

design of the controller, may increase the stability of the overall system.

5.3 System Analysis

With the aim of testing the behavior and of evaluating the benefits and the drawbacks of

this actuation modality, an experimental setup has been built. The system is driven by

means of two brushless motors and each of these motors is commanded by an embedded

current control unit that includes also the power electronic. The output information are

the joint and the motors positions, measured by means of optical encoders connected to

the joint and to the motor shafts respectively.

Description Symbol Value

Joint inertia J j 1.15e-2 kg ·m2Joint viscous friction coefficient b j 0.001 N · s ·m−1

Joint pulley radius r j 0.0355 m

Joint mass m j 0.541 kg

Link center of mass lc 0.085 m

Link length l 0.3 m

Motors inertia Jm 6.6e-5 kg ·m2Motors viscous friction coefficient bm 0.00462 N · s ·m−1

Motors pulley radius rm 0.00755 m

Motors torque constant Km 0.106 N ·m ·A−1

Table 5.1: Parameters of the DLR’s antagonistic actuated joint.

In Fig. 5.3 a scheme of the antagonistic actuated joint implemented at DLR is pre-

sented while in Tab. 5.1 the parameters of both the joint and the actuators are reported.

The identification of the parameters of the transmission elements will be illustrated in the

section 5.6.

Page 77: Controller Design for Robot Arm

5.3. System Analysis 59

Due to the particular implementation, the relation between the actuators and the joint

positions and the transmission elements compression can be written as:

εα = rmα+ r jθ (5.3)

εβ = rmβ− r jθ (5.4)

where α, β and θ are the position of the two actuators and of the joint respectively and rmand r j are, respectively, the radii of the actuator pulleys and of the joint pulley.

5.3.1 Static Response

In this section, the behavior of the system in steady state conditions is analyzed, so the

nonlinear elastic model reported in eq. (5.1) is considered to evaluate the relations be-

tween the actuator positions and the joint position and stiffness, taking into account also

external load torques applied to the joint.

The torques applied to the actuators by the transmission elements are:

φ(α,θ) = rmk[eγεα −1] , εα ≥ 0 (5.5)

ψ(β,θ) = rmk[eγεβ −1] , εβ ≥ 0 (5.6)

The resulting torque T applied to the joint by the transmission elements in antagonistic

configuration is:

ϕ(α,β,θ) = T =r j

rm[φ(α,θ)−ψ(β,θ)] = r jk[e

γεα − eγεβ] (5.7)

In the derivation of this expression, both the weight and the inertia terms due to the

mass of the transmission elements are neglected because they are very small with respect

to the involved forces and because we are here interested to study the static behavior of

the system, obtaining in this way an algebraic expression of the torques applied both to

the actuators and to the joint with respect to their positions. Deriving the eq. (5.7) with

respect to θ, the joint stiffness equation is obtained:

∂ϕ(α,β,θ)

∂θ= S= kγr2j [e

γεα + eγεβ] (5.8)

From eq. (5.8) it is possible to note that the joint stiffness depends, besides on the

actuator positions, also on the joint position. In [42] the use of transmission elements with

quadratic compression-force relation allows to obtain an expression of the joint stiffness

that is independent from the joint position.

Solving the eq. (5.8) and (5.7) with respect to α and β, it is possible to find the inversemodel that gives the value of the actuator positions given the actual joint torque and the

actual joint stiffness:

α,β = ∓ r jrm

θ+1

γrmlnS± γr jTl

2γr2jk= ∓ r jrm

θ+1

γrmlnS± γr jTlS0

(5.9)

Page 78: Controller Design for Robot Arm

60 5. The DLR’s Antagonistic Actuated Joint

αβ

θ

φ

ψ

rm

rm

r j

g(θ)

εα

εβ

Figure 5.3: Scheme of the antagonistic actuated joint.

where Tl is and external disturbance torque (the load torque) applied to the joint and

S0 = 2γr2jk is an important design parameter that represent the minimum value of the jointstiffness that it is possible to achieve, corresponding to the condition (see eq. (5.8)):

S|εα=0,εβ=0 = 2kγr2j = S0 (5.10)

From the eq. (5.3), (5.4) and (5.9) and from the conditions in the eq. (5.5) and (5.6),

a condition on the minimum value of the joint stiffness value can be found:

rmα,β± r jθ = εα,β =1

γlnS± γr jTlS0

≥ 0 ⇒ S± γr jTl ≥ S0 ⇒ S≥ S0+ γr j|Tl|(5.11)

Other conditions on the actuator positions that can be found starting from the same

equations are:

εα,β ≥ 0 ⇒ α,β ≥∓ r jrm

θ (5.12)

From the eq. (5.5), (5.6) and (5.7), considering the minimum values of the transmis-

sion elements compression εα and εβ needed to compensate for an external disturbance

torque Tl one can find:

Tl|minε =

r jk[eγεα −1], Tl > 0, εβ = 0

−r jk[eγεβ −1], Tl < 0, εα = 0(5.13)

or, in other words:

Tl|minε =

φ(α,θ), Tl > 0−ψ(β,θ), Tl < 0

(5.14)

Page 79: Controller Design for Robot Arm

5.3. System Analysis 61

From the eq. (5.13) and (5.14) it is possible to note that the system behaves as if

just one transmission element is working and the other is completely detached from the

system. In this conditions, the joint stiffness assumes the minimum achievable value:

minS=d|Tl|dθ

minε

= γkr2jeγε = γkr2j [+1−1+ eγε] =

1

2S0+ |Tl||minε (5.15)

Now, evaluating the expression of the joint stiffness (5.8) for small but positive dis-

placements one can obtain:

minS= kγr2j [eγεα + eγεβ ] ≃ 2kγr2j ( = S0 ) (5.16)

Comparing the eq. (5.15) with the eq. (5.16), it is possible to note that the system

presents a discontinuity in the joint stiffness when the compression of one of the two

transmission elements goes to zero (εα,β → 0). This is caused by the unilateral charac-teristic of the transmission elements, see eq. (5.5) and (5.6). To avoid this conditions, a

suitable preload of the transmission elements must be guaranteed adding a threshold value

ST to the desired joint stiffness. Moreover, the value of the desired joint stiffness must be

chosen according to the condition in the eq. (5.11) to avoid cable slack. If the value of the

external load torque is known, this information can be included in the design of the joint

stiffness setpoint, otherwise a suitable evaluation of the load torque is necessary.

5.3.2 Dynamic Response

To verify how the joint dynamics is influenced by the programmed joint stiffness S, the

visco-elastic transmission elements model eq. (5.2) is adopted. Considering an external

load torque Tl , the dynamic model of the joint can be written as:

J jθ+b jθ+ϕ(α,β,θ)+ r jb(

εαeγεα − εβe

γεβ)

= Tl (5.17)

Fixing the value of α and β, considering in this way as variable only the parameter θ,one can write:

εα,β = ±r jθ (5.18)

and then:

J jθ+[

b j+ r2jb(e

γεα + eγεβ)]

θ+ϕ(α,β,θ) = Tl (5.19)

or, introducing the stiffness expression:

J jθ+

[

b j+b

kγS

]

θ+ϕ(α,β,θ) = Tl (5.20)

The dynamic model of the joint is then linearized with respect to the joint state vari-

ables x= [θ θ]T obtaining the state space model:

[

θθ

]

=

[

0 1

− 1J j

[

S+bγr3j (eγεα − eγεβ) θ

]

− 1J j

[

b j+bkγS]

]

[

θθ

]

+

[

01J j

]

Tl (5.21)

Page 80: Controller Design for Robot Arm

62 5. The DLR’s Antagonistic Actuated Joint

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18

S=43.3 (S0)

S=200

S=400

S=800

Joint step response

Time [s]

Position

[rad]

Figure 5.4: Response of the antagonistic actuated joint to a step joint position variation

for different values of the commanded stiffness.

It is important to note that the term bγr3j (eγεα − eγεβ) is always zero in the equilibrium

condition for null input. Considering the neighborhood of the equilibrium point xeq =[θeq 0]

T , the linearized dynamic system becomes:

[

θθ

]

=

[

0 1

− SJ j

−beqJ j

]

[

θθ

]

+

[

01J j

]

Tl (5.22)

where beq = b j +bkγS. The transfer function from the load torque Tl to the output

position θ is:

G(s) =θ(s)

Tl(s)=

1J j

s2+beqJ js+ S

J j

(5.23)

from which it is possible to define the natural frequency ωn and the damping factor δ:

ωn =

S

J j, δ =

beq

2√

J jS=b j+

bkγS

2√

J jS

It is important to note that, increasing the joint stiffness, both the natural frequency

and the damping factor increase. The maximum percent over-elongation:

E% = 100 e− δπ√

1−δ2 = 100 e− πbeq√

4J jS−b2eq

goes to zero for δ → 1. Neglecting the joint damping b j, the minimum damping fac-tor of the transmission system δmin = b

2kγ

S0J jcan be then suitably chosen designing the

Page 81: Controller Design for Robot Arm

5.4. Actuator-Level Stiffness/Position Control 63

minimum stiffness parameter S0. Another important thing to note is that, if the damping

term b introduced by the transmission elements is neglected, considering in this way the

static nonlinear elastic model eq. (5.1), the damping factor δ → 0 if S → ∞, while ifthe visco-elastic model eq. (5.2) is considered introducing b, the damping factor δ → ∞if S → ∞. This fact shows as the nonlinear damping contribution given by the trans-mission elements increase the stability of the system with respect to the case of pure

elastic force/compression relation. In Fig. 5.4 the experimental response of the system to

a step joint position variation of amplitude 0.1 rad for different value of the commandedmechanical stiffness S is reported to show the effect of the damping introduced by the

transmission elements. These results confirm the effectiveness of the previous analysis.

The controller adopted during these experiments is described in sec. 5.4.2.

5.4 Actuator-Level Stiffness/Position Control

In this section, the simultaneous stiffness/position control of the antagonistic actuated

joint is taken into account. With the aim of design a very simple controller, the static

relation between the actuator positions and the joint position and stiffness eq. (5.9) is

exploited, and the the control objective is fulfilled controlling the position of the actuators.

This actuator-level controller of the joint position and stiffness is suitable simple and light

mechanical structures, like robotic fingers. In these cases, this control strategy allows to

obtain a good dynamic behavior with a very simple controller.

Typically, to reduce the weight, the size and the power consumption of robotic devices,

small and light electrical (DC) motors with very high reduction ratio are used, resulting in

a non backdrivable actuation. For this reason, a very simple stiffness/position controller

for non-backdrivable actuators is presented.

Since in the DLR’s antagonistic actuated joint direct drive synchronous motors are

used, also the problem of the joint stiffness and position control with backdrivable actua-

tion has been analyzed and some experimental results are reported.

5.4.1 Non-Backdrivable Actuators

Non-backdrivable actuators allow to neglect the coupling between the actuator position

and the torque applied to the actuator by the transmission element expressed by the eq.

(5.5) and (5.6). Hence, the dynamic equation of the actuators are:

Jmα+bmα = τcα − f fα (5.24)

Jmβ+bmβ = τcβ − f fβ (5.25)

where τcα , τcβ are the control torque applied to the actuators and f fα , f fβ are the actuatorfriction forces.

A possible, simple, approach to the control of the joint position and stiffness can be

Page 82: Controller Design for Robot Arm

64 5. The DLR’s Antagonistic Actuated Joint

implemented with the static model inversion + actuators PID position control:

τcα,β(s) =

(

Kp+Ki

s+Kd s

1+N s

)

∆α,β(s) (5.26)

∆α(s) = (αd−α(s)) (5.27)

∆β(s) = (βd−β(s)) (5.28)

αd = − r jrm

θd+1

γrmlnSd2+ γr jTlS0

(5.29)

βd =r j

rmθd+

1

γrmlnSd2− γr jTlS0

(5.30)

Sd2 =

Sd, Sd ≥ S0+ST + γr j|Tl|S0+ST + γr j|Tl|, Sd < S0+ST + γr j|Tl|

(5.31)

where θd and Sd are the joint position and the joint stiffness setpoint respectively. Theterm ST is a threshold stiffness value introduced to avoid the condition S = S0 in whichthe system shows a discontinuity in the stiffness as shown in the previous section, see

eq. (5.15) and (5.16). Kp, Ki and Kd are the proportional, the integral and the deriva-

tive gain of the PID controller respectively while N is introduced to reduce the effect of

the derivative term for high frequency signals, such as noise. If the friction forces can be

neglected, the control law (5.26) ensure that the position of the actuators approach asymp-

totically to the desired value (α,β → αd ,βd as t→ ∞). Otherwise, the integral action cancompensate for the static effects of friction but this approach can introduce also limit cy-

cles due to the nonlinear behavior of the friction. In this latter case, a suitable friction

compensation law can be considered.

If the external load is known, just the actuator position measures are necessary to

control the system. In the cause of unknown external disturbance torque, it is important

to note that, in steady-state conditions:

Tl = T = r jk[eγεα − eγεβ] (5.32)

This implies that the external load applied to the joint can be estimated by means of the

joint and the actuator position information.

5.4.2 Backdrivable Actuators

If backdrivable actuation is used, also the torque applied by the transmission elements to

the actuators must be included in the dynamic equations of the actuators:

Jmα+bmα+φ(α,θ) = τcα − f fα (5.33)

Jmβ+bmβ+ψ(β,θ) = τcβ − f fβ (5.34)

In this case, considering the equilibrium of the torques at the actuator side, if the

integral action is set to zero (Ki = 0) to avoid high values of the control action due to the

Page 83: Controller Design for Robot Arm

5.4. Actuator-Level Stiffness/Position Control 65

0 0.1 0.2 0.3 0.4 0.50

0.1

0.2

setpoint

joint position

0 0.1 0.2 0.3 0.4 0.5

500

1000

1500

2000

setpoint

joint stiffness

0 0.1 0.2 0.3 0.4 0.5−0.5

0

0.5

motor a

motor b

Time [s]

Position[rad]

Stiffness[Nmrad−1]

Input[V]

System response

Figure 5.5: Response of the actuator level controller.

integral term and neglecting friction for simplicity, the steady-state equilibrium point of

the system is given by the solution of the equation:

rmk[eγεα,β −1] = Kp ∆α,β (5.35)

In Fig. 5.5 the response of the DLR’s antagonistic actuated joint is reported. In this

experiment, the controller (5.26)-(5.31) is adopted with Ki = 0. From this plot, it is possi-ble to note that the joint stiffness is significantly influenced by the oscillations of the joint

during the transitory. An high value of the stiffness setpoint is used to highlight the steady

state stiffness error due to the non null position error of the actuators.

To restore the equilibrium point to the desired actuator positions, a forward action can

be added to compensate for the torque applied by the transmission elements:

τα = τcα + rmk[eγεα −1] (5.36)

τβ = τcβ + rmk[eγεβ −1] (5.37)

This approach decouples, in steady state conditions, the actuators form the transmis-

sion elements but it can introduce undesired effects due to unmodeled dynamics, as can

be seen in Fig. 5.6. From this figure it is possible to note the steady state stiffness error

tends to zero but the system shows a more oscillating behavior.

Another possible approach is to add to the actuator setpoint a suitable term such that

the equilibrium point given from the eq. (5.35) has the desired value. Form the eq. (5.3),

Page 84: Controller Design for Robot Arm

66 5. The DLR’s Antagonistic Actuated Joint

0 0.1 0.2 0.3 0.4 0.50

0.1

0.2

setpoint

joint position

0 0.1 0.2 0.3 0.4 0.5

500

1000

1500

2000

2500

setpoint

joint stiffness

0 0.1 0.2 0.3 0.4 0.5−0.5

0

0.5

motor a

motor b

Time [s]

Position[rad]

Stiffness[Nmrad−1]

Input[V]

System response

Figure 5.6: Response of actuator level controller with feedforward action.

(5.4), (5.35) and (5.9) one can obtain:

∆α,β =rmk

Kp

[

Sd2± γr jTlS0

−1]

(5.38)

From this equation the new values of the actuator position setpoint is obtained:

(α,β)d2 = (α,β)d+rmk

Kp

[

Sd2± γr jTlS0

−1]

=

= ∓ r jrm

θd+1

γrmlnSd2± γr jTlS0

+rmk

Kp

[

Sd2± γr jTlS0

−1]

(5.39)

Fig. 5.7 shows the response of the system with the setpoint compensation introduced

in eq. (5.39). From this plot it is possible to note that, in this case, the steady state stiffness

error tends to zero and the oscillations of the system are similar to the case of simple PD

actuator position control (see Fig. 5.5).

It is important to note that, also in this case, the joint position information is required

if the external load torque is not know.

Page 85: Controller Design for Robot Arm

5.5. Feedback Linearization 67

0 0.1 0.2 0.3 0.4 0.50

0.1

0.2

setpoint

joint position

0 0.1 0.2 0.3 0.4 0.5

500

1000

1500

2000

setpoint

joint stiffness

0 0.1 0.2 0.3 0.4 0.5−0.5

0

0.5

motor a

motor b

Time [s]

Position[rad]

Stiffness[Nmrad−1]

Input[V]

System response

Figure 5.7: Response of the actuator level controller with setpoint compensation.

5.5 Feedback Linearization

In the chapter 4 the problem of system linearization via static state feedback of an N

d.o.f. robotic arm with antagonistic actuated joints is analyzed considering transmission

elements with static nonlinear force/compression relation, such as eq. (5.1). If the visco-

elastic model eq. (5.2) is considered, the problem of full static feedback linearization of

the system cannot be achieved, as shown in section 5.5.1. In this case, a dynamic state

feedback controller must be adopted to achieve the full system linearization, see section

5.5.2.

From the general dynamic model of the antagonistic actuated robot eq. (4.1)-(4.3), the

dynamics the overall system, considering the visco-elastic behavior of the transmission

elements described by the eq. (5.2) can be written as:

J jθ+b jθ+ϕ(α,β,θ)+ r jb[

εαeγεα − εβe

γεβ]

= Tl (5.40)

Jmα+bmα+φ(α,θ)+ rmbεαeγεα = τα (5.41)

Jmβ+bmβ+ψ(β,θ)+ rmbεβeγεβ = τβ (5.42)

where θ is the joint positions, α and β are the actuator positions, J j is the inertia of thejoint, Jm is the inertia of the actuators, b j and bm are the viscous friction coefficients of the

joint and of the actuators respectively, ϕ(α,β,θ) is the combined effect of the positionsof the actuators on the joint, τα and τβ are the torques commanded to the actuators. In

Page 86: Controller Design for Robot Arm

68 5. The DLR’s Antagonistic Actuated Joint

the dynamical model eq. (5.40)-(5.42), both the friction torques acting on the joint and

on the actuators are neglected together with the inertia of the transmission elements for

simplicity. The actuators friction can be compensated with a low level controller while

the joint friction can be included in the external load torque. The transmission elements

inertia is neglected because its value is many times smaller than the involved transmission

forces.

The control input of the system, the disturbance input and the vector of output infor-

mation are:

u=[

τα τβ

]T, w= Tl , y=

[

θ α β]T

(5.43)

x =[

θ θ α α β β]T

(5.44)

The whole state information can be reconstructed from the output y by means of several

velocity estimation techniques, i.e. filtered position derivation, as we have done during

the experiments, so we suppose in the sequel that the state of the system is known.

Since we are interested to control the both the position and the stiffness of the joint, it

is useful to define a new output vector that contains directly these information:

yc =[

θ S−S0]T

(5.45)

where S is the mechanical stiffness of the joints that can be expressed considering the

derivative of the left side term of eq.(5.40) with respect to θ:

S = γr2j[

k(eγεα + eγεβ)+b(εαeγεα + εβe

γεβ)]

(5.46)

S0 = 2γr2jk (5.47)

εα,β = rmα, β± r jθ (5.48)

S0 is the stiffness value computed in the equilibrium condition of the system. The set of

the equilibrium points of the system (5.40)-(5.42) is given by:

xeq =

x ∈ R6 : εα,β = 0

(5.49)

Also in this case, as already discussed in the sections 5.3.1 and 5.4.1, a suitable thresh-

old value must be added to the equilibrium stiffness S0 to ensure an adequate cable pre-

tension and to avoid the discontinuity of the joint stiffness. From eq. (5.5), (5.6) and (5.8),

and evaluating the equilibrium conditions of the system (5.40)-(5.42), it is possible to find

the constant value of the actuator torques that gives to the joint the desired stiffness ST :

τST =rm

2γr2j(ST −S0) (5.50)

The torque τST is then added to both the actuators to modify the equilibrium condition ofthe system. Note that this implies a change of the equilibrium stiffness and actuator posi-

tions but has no influence on the equilibrium position of the joint. The new equilibrium

Page 87: Controller Design for Robot Arm

5.5. Feedback Linearization 69

stiffness of the system can be then considered ST , and the equilibrium actuator positions

can be found using eq. 5.9. In the sequel, the analysis of the system is then carried out

considering the equilibrium conditions for null input without loss of generality.

We suppose that the two actuators are independent (no coupling between the move-

ments of the actuators). From the eq. (5.46) it is possible to note that, in general, while the

stiffness of the joint are difficult to measure, a suitable knowledge of the relation between

the compression of the transmission elements and the torque applied to the joint makes it

possible to derive the joint stiffness S from the state of the system.

Considering the new output vector yc, the input u and the state vector x, the dynamic

model of the antagonistic actuated joint described by eq. (5.40)-(5.42) can be rewritten in

the state space form:

x = f (x)+g(x)u+d(x)w (5.51)

yc = h(x) (5.52)

where x ∈ R6, u,yc ∈ R2 and w ∈ R. In particular, for the model of the antagonisticactuated joint:

f (x) =

θ

J−1j

−b jθ θ−b jαα−b jββ−ϕ(α,β,θ)

αJ−1m

−b jα θ−bmαα−φ(α,θ)

β

J−1m

−b jβ θ−bmββ−ψ(β,θ)

(5.53)

g(x) =

0 0

0 0

0 0

J−1m 0

0 0

0 J−1m

, d(x) =

0

J−1j0

0

0

0

, h(x) =

[

θS−S0

]

(5.54)

where:

b jθ = b j+ r2jb(e

γεα + eγεβ) (5.55)

b jα = r jrmbeγεα (5.56)

b jβ = −r jrmbeγεβ (5.57)

bmα = bm+ r2mbeγεα (5.58)

bmβ= bm+ r2mbe

γεβ (5.59)

Considering the control input u and the output information yc, the eq. (5.51)-(5.54)

define a square nonlinear system that can be linearized via output feedback if suitable

conditions are satisfied [53, 46, 47].

Page 88: Controller Design for Robot Arm

70 5. The DLR’s Antagonistic Actuated Joint

Starting from the analysis on the feedback linearization of antagonistic actuated robots

carried out in the previous chapter, we have to check, first of all, some conditions on the

relative degrees of the output information. In this preliminary analysis only the control-

lable input u of the system is taken into account while the external torque Tl applied to the

joint is neglected. In this case, for the output θ it is possible to write:

Lg(α,β)Lif hθ(x) = 0 , i= 0,1 (5.60)

LgαL2f hθ(x) = − b jα

JmJ j(5.61)

LgβL2f hθ(x) =

b jβ

JmJ j(5.62)

while for the output S:

LgαhS(x) =γr2jrmbe

γεα

Jm(5.63)

LgβhS(x) =

γr2jrmbeγεβ

Jm(5.64)

where Lgα and Lgβdenote the restriction of the Lie derivative respectively to the τα and

τβ component of the input vector while Lg(α,β)denotes both the cases above mentioned.

If the disturbance input, the external torque applied to the joint, is considered, the

relative degrees of the output θ can be defined as:

Ldhθ(x) = 0 (5.65)

LdL f hθ(x) =1

J j(5.66)

while for the output S:

LdhS(x) =γr3jb(e

γεα − eγεβ)

J j(5.67)

From this considerations it is possible to state that the joint position cannot be decoupled

from the external torque while it is possible to annihilate the effects of the external torque

on the joint stiffness if a measure (or a suitable estimation) of the external torque is avail-

able, since the relative degree of the stiffness is the same both for the control input and

for the disturbance. The external torque Tl will be neglected in the sequel to simplify the

analysis. The problem of feedback linearization under the effects of an external torque

will be object of future research.

5.5.1 Static Feedback Linearization

From the eq. (5.60)-(5.64) we can state that, considering the controllable input u, the

vector relative degree of θ is 3 while the one of S is 1. The sum of the vector relative

Page 89: Controller Design for Robot Arm

5.5. Feedback Linearization 71

degrees of the output is then not equal to the dimension of the state of the system, so the

conditions for the solution of the full feedback linearization problem are not satisfied [46].

Anyway, the system can be partially linearized via static feedback if it is possible to define

a nonsingular coordinates transformation from the space of the original state variables

to the state space of the partially linearized one [54]. To solve this problem, since the

additional entries of the coordinates transformation (the ones that must be added to make

the coordinates transformation nonsingular) can be arbitrary chosen, it is convenient, if

possible, to make the nonlinear part of the new system independent from the inputs.

The state of the partially linearized system z can be split into the linear part:

zl =[

z1 z2 z3 z4]T

=[

θ θ θ S−S0]T

(5.68)

and its nonlinear part:

zn =[

z5 z6]T

(5.69)

where z5 and z6 will be chosen in suitable way as shown in the sequel. Hence, the overall

system state in the new coordinate system is:

z=

[

zlzn

]

(5.70)

The dynamics of the partially linearized system can be then written as:

zl = Azl+Bul (5.71)

zn = η(zl,zn,ul) (5.72)

yc = Czl (5.73)

ul =

[

L3f hθ(Φ−1(z))

L f hS(Φ−1(z))

]

+Q(Φ−1(z))u (5.74)

in which Q(Φ−1(z)) is the so-called decoupling matrix and the matrices A, B andC are inthe Brunowsky canonical form

A=

0 1 0 0

0 0 1 0

0 0 0 0

0 0 0 0

, B=

0 0

0 0

1 0

0 1

, C =

[

1 0 0 0

0 0 0 1

]

(5.75)

where eq. (5.72) express the nonlinear part of the system and z = Φ(x) represents thecoordinates transformation between the original and the partially linearized system:

Φ(x) =[

hθ(x) L f hθ(x) L2f hθ(x) hS(x) Φ5(x) Φ6(x)

]T(5.76)

where obviously L f hθ(x) = θ, L2f hθ(x) = θ can be expressed in terms of the state vector xby using the second element of the eq. (5.53), while Φ5(x) and Φ6(x) must be chosen insuch a way to make the coordinate transformation Φ(x) nonsingular.

Page 90: Controller Design for Robot Arm

72 5. The DLR’s Antagonistic Actuated Joint

It is important to note that the nonlinear residual part of the system η(zl,zn,ul) isunobservable from the outputs, as can be seen looking at the eq. (5.73). In particular the

stability of the zero dynamics

zn = η(0,zn,0) (5.77)

is a necessary condition for the controllability with bounded internal state of the overall

system [46].

Looking at the first four rows ofdΦ(x)dx:

dx=

1 0 0 0 0 0

0 1 0 0 0 0

⋆ ⋆ k1(εα)eγεα k2eγεα −k1(εβ)e

γεβ −k2eγεβ

⋆ ⋆ k3(εα)eγεα k4eγεα k3(εβ)e

γεβ k4eγεβ

where

k1(ξ) =γrmr j(k+bξ)

J j

k2 =rmr jb

J j

k3(ξ) = γ2rmr2j (k+bξ)

k4 = γrmr2jb

Choosing z5 = α and z6 = β, the coordinate transformation Φ(x) becomes nonsingular:

dx=

1 0 0 0 0 0

0 1 0 0 0 0

⋆ ⋆ k1(εα)eγεα k2eγεα −k1(εβ)e

γεβ −k2eγεβ

⋆ ⋆ k3(εα)eγεα k4eγεα k3(εβ)e

γεβ k4eγεβ

0 0 0 1 0 0

0 0 0 0 0 1

(5.78)

From this last expression, it is important to note that the state space transformation Φ(x)is nonsingular in the whole state space, and in particular in the origin. The state space

transformation Φ(x) is then:

z1 = θ

z2 = θ

z3 = J−1j[

−b jθθ−b jαα−b jββ−ϕ(α,β,θ)]

z4 = γr2j[

k(eγεα + eγεβ −2)+b(εαeγεα + εβe

γεβ)]

z5 = α

z6 = β

Page 91: Controller Design for Robot Arm

5.5. Feedback Linearization 73

The state space transformation form the original to the linearized system can be then

expressed only by means of the state space information of the original system. The dy-

namics equations that describe the nonlinear part of the system are then:

z5 = J−1m[

−b jα θ−bmαα−φ(α,θ)+ τα

]

z6 = J−1m[

−b jβ θ−bmββ−ψ(β,θ)+ τβ

]

Even if the nonlinear residual part of the system depends on the input, it is important to

note that the zero dynamics

[

z5z6

]

=

[

−bmαJm

0

0 −bmβ

Jm

]

[

z5z6

]

(5.79)

is asymptotically stable in the whole state space, so the system can be controlled with

bounded internal state.

To define the input of the linearized system, see eq. (5.74), we have to define first the

nonlinear terms L3f hθ(x) and L f hS(x) and the decoupling matrix Q(x).

L3f hθ(x) = J−1j

−b jθ−bmα−bmβ− r jb(εαeγεα − εβe

γεβ)+

−γr jk(εαeγεα − εβe

γεβ)− γr jb(ε2αe

γεα − ε2βeγεβ)

(5.80)

L f hS(x) = γr2j

kγ(εαeγεα + εβe

γεβ)+b[

(γε2α + εα)eγεα +(γε2β + εβ)eγεβ

]

(5.81)

where

εα,β = rmα, β± r jθ (5.82)

It is important to note that the joint and the actuator accelerations θ, α and β ineq. (5.80)-(5.82) can be expressed in terms of the state of the system x by using eq. (5.53).

Concerned to the decoupling matrix Q(x), considering eq. (5.61)-(5.64):

Q(x) =rmr jb

Jm

[

−eγεα

J j

eγεβ

J j

γr jeγεα γr je

γεβ

]

(5.83)

or, in equivalent form:

Q(x) =1

Jm

[

−k2eγεα k2eγεβ

k4eγεα k4e

γεβ

]

(5.84)

The resulting decoupling matrix is then nonsingular in the overall state space of the sys-

tem. The control law that allows to obtain the linearized system is then:

u= Q−1(x)

([

−L3f hθ(x)

−L f hS(x)

]

+

[

vθvS

]

)

(5.85)

Page 92: Controller Design for Robot Arm

74 5. The DLR’s Antagonistic Actuated Joint

where v = [vθ vS]T is the new input of the system. Note that this control law is static,

since it can be be computed directly from the system state information x and from the

new reference input v. The dynamics of the system eq. (5.40)-(5.42) with the control law

eq. (5.85) is, in the z coordinates:

zl = Azl+Bv (5.86)

zn = η(zl,zn,v) (5.87)

yc = Czl (5.88)

By recalling the definition of the matrices A, B and C in eq. (5.75), it is possible to write:

[

θ[3]

S

]

=

[

vθvS

]

(5.89)

An important point to note is that if the damping coefficient of the transmission ele-

ments b tends to zero (considering also the case in which b can be neglected), the control

law eq. (5.85) becomes ill conditioned and the zero dynamics eq. (5.79) is governed by

the damping coefficient of the actuators bm.

Due to the structure of the matrices A, B and C, the system described by eq. (5.86)

and (5.88) is completely controllable and observable, while eq. (5.87) represents its un-

observable part. This implies that the state zl can be estimated by means of an asymptotic

state observer and of the change of coordinates Φ(x) or, since the position of each rigidbody is directly measurable, the velocities can be estimated in many ways e.g. by means

of state variable filters or adaptive windowing algorithms [49].

For the control of the partially linearized system, an outer control loop can be used

to solve the problem of simultaneous decoupled stiffness and position trajectory tracking.

From eq.(5.89), applying the control laws:

vθ = θ[3]d +K2θ

[θd−L2f hθ(x)]+K1θ[θd−L f hθ(x)]+K0θ

[θd−hθ(x)] (5.90)

vS = Sd+K0S [Sd−hS(x)] (5.91)

where K2θ, K1θ, K0θ

and K0S are such that

λ3+λ2K2θ+λK1θ

+K0θ= 0 (5.92)

λ+K0S = 0 (5.93)

are Hurwitz polynomials, the convergence to zero of the tracking error is ensured.

If the desired trajectories θd is continuous together with its derivatives up to 3th and Sdis continuous together with its fist derivative, also the asymptotic trajectory tracking is

achieved. The control law in eq. (5.90),(5.91) is equivalent to a static state feedback plus

feedforward in the state space of the linearized system:

v= vd+K(zd−Φ(θ,S)(x)) (5.94)

Page 93: Controller Design for Robot Arm

5.5. Feedback Linearization 75

vd =[

θ[3]d Sd

]T

, zd =[

θd θd θd Sd]T

(5.95)

K = diag[K0θK1θK2θK0S ] (5.96)

and Φ(θ,S)(x) stay for the restriction of the coordinate transformation to the state compo-nent zl:

Φ(θ,S)(x) = zl =

θθ

J−1j

−b jθ θ−b jαα−b jββ−ϕ(α,β,θ)

γr2j

k(eγεα + eγεβ −2)+b(εαeγεα + εβe

γεβ)

(5.97)

The matrix K can be also obtained via direct eigenvalues assignment or through the

solution of the CARE equation with an opportune choice of the weight matrices.

5.5.2 Dynamic Feedback Linearization

Since the sum of the relative degrees of the inputs is not equal to the dimension of the

state space of the system, to achieve full state linearization and to solve the problem of

a vanishing damping of the transmission elements b, a dynamic feedback compensator

must be designed.

By choosing, for the linearized system, the new state vector:

z=[

θ θ θ θ[3] S−S0 S]T

(5.98)

the dynamics of the linearized system can be then written as:

z = Az+Bul (5.99)

yc = Cz (5.100)

ul =

[

L4f hθ(Φ−1(z))

L2f hS(Φ−1(z))

]

+Q(Φ−1(z))u+R(Φ−1(z))u (5.101)

where

L4f hθ(x) = J−1j

−b jθ[3]−bmα[3]−bmβ[3]− r jb(ε[3]α e

γεα − ε[3]βeγεβ)+

−3γr jb(εαεαeγεα − εβεβe

γεβ)− γr jk(εαeγεα − εβe

γεβ)+

−γ2r jk(ε2αe

γεα − ε2βeγεβ)− γ2r jb(ε

3αe

γεα − ε3βeγεβ)

(5.102)

L2f hS(x) = γr2j

kγ2(ε2αeγεα + ε2βe

γεβ)+ kγ(εαeγεα + εβe

γεβ)+

+3bγ(εαεαeγεα + εβεβe

γεβ)+bγ2(ε3αeγεα + ε3βe

γεβ)+b(ε[3]α e

γεα + ε[3]βeγεβ)

(5.103)

Page 94: Controller Design for Robot Arm

76 5. The DLR’s Antagonistic Actuated Joint

R(x) =1

Jm

[

−k1(εα)eγεα k1(εβ)eγεβ

k3(εα)eγεα k3(εβ)eγεβ

]

(5.104)

while Q(Φ−1(z)) is the same as in eq. (5.83) and the matrices A, B andC change in:

A=

0 1 0 0 0 0

0 0 1 0 0 0

0 0 0 1 0 0

0 0 0 0 0 0

0 0 0 0 0 1

0 0 0 0 0 0

, B=

0 0

0 0

0 0

1 0

0 0

0 1

, C =

[

1 0 0 0 0 0

0 0 0 0 1 0

]

(5.105)

It is important to note that, also in this case, all the terms appearing in eq. (5.102) and

(5.103) can be expressed as algebraic functions of the system state x.

Note that the matrix R(x) is well defined even if the coefficient b vanishes. The coor-dinates transformation between the original and the linearized system is then:

Φ(x) =[

hθ(x) L f hθ(x) L2f hθ(x) L

3f hθ(x) hS(x) L f hS(x)

]T

(5.106)

Now, by defining the dynamic compensation law:

u= Q−1(x)(

−[

L4f hθ(x)

L2f hS(x)

]

−R(x)u+[

vθvS

])

(5.107)

we obtain the fully linearized system

z = Az+Bv (5.108)

yc = Cz (5.109)

that, together with eq. (5.107), give the whole dynamics of the antagonistic actuated joint

plus the dynamic controller. By recalling the definition of the matrices A, B and C in

eq. (5.105), it is possible to write:

[

θ[4]

S

]

=

[

vθvS

]

(5.110)

The zero dynamics of the system is now inside the controller:

u= −Q−1(0)R(0)u= −rmr j(γk+b)2

[

γr j+1J j

γr j− 1J j

γr j− 1J j

γr j+1J j

]

u (5.111)

Hence, the zero dynamics of the system is clearly asymptotically stable. It is important to

note that now the dynamic compensation law eq. (5.107) is well defined also for vanishing

b, because if the matrixQ(x) becomes zero, the dynamic system in eq. (5.107) can be seen

Page 95: Controller Design for Robot Arm

5.5. Feedback Linearization 77

0 0.5 1 1.5 20

0.5

1

1.5

Positio

n [ra

d]

Joint position and position error

Setpoint

Joint Position

0 0.5 1 1.5 2−5

0

5

10

15x 10

−3

Positio

n e

rror

[rad]

Time [s]

(a)

0 0.5 1 1.5 20

50

100

Stiffness [ra

d N

−1]

Joint stiffness and stiffness error

Setpoint

Joint Stiffness

0 0.5 1 1.5 2−20

0

20

40

60

Stiffness E

rror

[rad N

−1]

Time [s]

(b)

0 0.5 1 1.5 2−0.5

0

0.5Actuator input signals

Input sig

nal m

oto

r a [V

]

0 0.5 1 1.5 2−0.5

0

0.5

Input sig

nal m

oto

r b [V

]

Time [s]

(c)

0 0.5 1 1.5 2−6

−4

−2

0

2Actuator positions

Positio

n m

oto

r a [ra

d]

0 0.5 1 1.5 2−2

0

2

4

6

Positio

n m

oto

r b [ra

d]

Time [s]

(d)

Figure 5.8: Response of the feedback linearization control.

as a singular perturbed system. Then, assuming that the system in eq. (5.107) has already

reached its steady state by posing u= 0, the control law becomes:

u= R−1(x)

(

−[

L4f hθ(x)

L2f hS(x)

]

+

[

vθvS

])

(5.112)

that is the same control law reported in the previous chapter for transmission elements

without the damping term b [53].

Also in this case, an outer control loop can be used to achieve trajectory tracking. By

posing v= [vθ vS]T , the control law:

v= vd+K(zd−Φ(x)) (5.113)

vd =[

θ[4]d Sd

]T

, zd =[

θd θd θd θ[3]d Sd Sd

]T

(5.114)

K = diag[K0θK1θK2θK3θK0S K1S ] (5.115)

Page 96: Controller Design for Robot Arm

78 5. The DLR’s Antagonistic Actuated Joint

ensures the asymptotic tracking of the desired trajectory, where Φ(x) is the coordinatestransformation eq. (5.106).

In Fig. 5.8 the experimental response of the static feedback linearization control (5.112)-

(5.115) is reported. The joint stiffness and position trajectories have been chosen smooth,

with continuous time derivative up to the 2nd and to the 4th order respectively, and slow

enough to avoid the excitation of the unmodeled system dynamics. From Fig. 5.8(a) it is

possible to note the position tracking error is very small and its not influenced by the stiff-

ness variation, while from Fig. 5.8(b) one can see that there is a small coupling between

the joint movements and the stiffness error. This effects can be caused by the error on the

velocity estimation obtained by means of variable state filters.

5.6 Identification of the Transmission Element Parame-

ters

In this section, we deal with the the identification of the transmission element parameters.

Former, an offline estimation technique is presented and latter the problem of the online

parameters estimation for the visco-elastic model of the transmission elements reported

in eq. (5.2) is analyzed.

5.6.1 Offline Identification Procedure

Since no direct information about the force applied to the joint is available, experiments in

quasi static conditions has been made to avoid problems caused by unmodeled dynamics

and the gravitational forces are used as known external load. In these experiments, the

joint is pulled up using just one actuator to avoid problems related to the coupling between

the two transmission elements. The position of the actuator is controlled over a sinusoidal

trajectory by means of a PD controller and both the positions of the joint and of the

actuator are registered.

A crucial point for the application of the offline identification technique is the ini-

tialization of the system. The lack of information about the torque applied to the joint

and the absence of absolute position information make not possible to obtain an unbiased

measurement of the transmission element compression since, from eq. (5.3) and (5.4),

without these information is not possible to find which values of the positions of the joint

and of the actuator give εα,β = 0. To consider this problem explicitly, the model in eq.(5.2) is modified in this convenient way:

εid(t) = γε(t)− ε0 (5.116)

F(t) =

k(

eεid(t)−1)

+b ε(t)eεid(t), εid(t) ≥ 00, εid(t) < 0

(5.117)

An offline estimation technique based on symmetric adaptive windowing [49] is then

used to estimate the compression velocity of the transmission element ε(t). The Matlab

Page 97: Controller Design for Robot Arm

5.6. Identification of the Transmission Element Parameters 79

α

θ

φ

rm

r j

gl

ga

εα

Figure 5.9: Scheme of the offline identification experiment.

Optimization Toolbox is then used for the estimation of the parameters γ, k, b and ε0 inthe eq. (5.116)-(5.117). In particular, the parameter ε0 depends on the system initializa-tion and it is the more responsible of the variance of the other parameters. In the Tab. 5.2

the mean value of the parameters γ, k and b estimated on the base of several experimentsare reported together with their percent errors. In Fig 5.10 the experimental data rela-

tive to one single identification experiment are shown as example. Fig. 5.10(a) reports

the comparison between the gravitational force acting on the joint and the force applied

by the transmission element computed from the eq. (5.116)-(5.117) using the estimated

parameters while in Fig. 5.10(b) the estimation error is reported.

This offline estimation technique is quite simple and it gives useful information for

the implementation of the joint controller but, since the parameter ε0 must be evaluated atany new initialization of the system, additional consideration are necessary.

Description Symbol Value Unit ∆ %

Stiffness coeff. k 14.229 N ≃ 10%Damping coeff. b 98.476 N · s ·m−1 ≃ 10%Exponential factor γ 1209.5 m−1 ≃ 1%

Table 5.2: Mean value of the transmission elements estimated parameters and their per-

cent errors.

Page 98: Controller Design for Robot Arm

80 5. The DLR’s Antagonistic Actuated Joint

0 50 100 150 2000

2

4

6

8

10

12

14

16

18

Force (estimated)

Force(real)

(a) Time [s]

Real and estimated force comparison[N]

0 50 100 150 200−1.5

−1

−0.5

0

0.5

1

1.5

2

Force estimation error[N]

(b) Time [s]

Figure 5.10: Offline estimation results.

5.6.2 Online Identification Algorithm

An online identification algorithm can be used to obtain an adaptive estimation of the

transmission element parameters. This latter approach, besides to be more complex in the

implementation that the former, has the advantage to give also an online estimation of the

parameter ε0, simplifying in this way the initialization of the system.For the analysis of the online identification algorithm, the eq. (5.116)-(5.117) must be

moved to the discrete time domain simply substituting the continuous time variable t with

the discrete time one n.

Since the transmission element model in eq.(5.116)-(5.117) is not-linear into their

parameters, the online estimation algorithm must be split in two parts. The first estimator

identifies the linear parameters k and b minimizing the cost function:

P1(k,b) =1

N

N

∑n=0

f 21 (n) (5.118)

where the error function f1(n) is:

f1(n) = Tl(n)− k(

eεid(n)−1)

+ b ε(n)eεid(n) (5.119)

Tl(n) is the gravitational load applied to the joint and k and b are the estimated values ofthe parameters k and b respectively.

Defining the estimated parameter vector, the input and the output term as:

Γ1(n) =

[

k(n)

b(n)

]

, y1(n) = Tl(n), u1(n) =

[

eεid(n)−1ε(n)eεid(n)

]

(5.120)

the estimation error can be rewritten in the linear form:

f1(n) = y1(n)−uT1 (n) Γ1(n) (5.121)

Page 99: Controller Design for Robot Arm

5.6. Identification of the Transmission Element Parameters 81

Φ1(ε, ε,Tl, γ, ε0)

Φ2(ε, ε,Tl, k, b)

(k, b)

(γ, ε0)

(ε, ε,Tl)

Figure 5.11: Online identification algorithm.

The second estimator identifies the parameters of eq. (5.116) minimizing the cost

function

P2(γ,ε0) =1

N

N

∑n=0

ln2 f2(n) (5.122)

where the error function f2(n) is:

f2(n) =Tl(n)+ k

(k+b ε(n)) exp(γε(n)− ε0)= 1+

f1(n)

(k+b ε(n)) exp(γε(n)− ε0)(5.123)

ln f2(n) = ln

(

Tl(n)+ k

k+b ε(n)

)

− (γε(n)− ε0) (5.124)

Defining the estimated parameter vector, the input and the output term as:

Γ2(n) =

[

γ(n)ε0(n)

]

, u2(n) =

[

ε(n)−1

]

(5.125)

y2(n) = ln

(

Tl(n)+ k

k+b ε(n)

)

(5.126)

the estimation error can be rewritten in the linear form:

ln f2(n) = y2(n)−uT2 (n) Γ2(n) (5.127)

Both the two observers can be implemented in the standard recursive form

Γ(n+1) = Γ(n)+Q(n+1)[

y(n+1)−uT (n+1) Γ(n)]

(5.128)

Q(n+1) = R(n) u(n+1)[

ρ+uT (n+1) R(n) u(n+1)]−1

(5.129)

R(n+1) =1

ρ

[

I−Q(n+1) uT (n+1)]

R(n) (5.130)

where ρ is the forgetting factorIn Fig. 5.11 a scheme of the online identification algorithm is reported. The conver-

gence of the overall estimation algorithm can be analyzed looking at how the error of one

Page 100: Controller Design for Robot Arm

82 5. The DLR’s Antagonistic Actuated Joint

0 5 10 1512

14

16

0 5 10 15

60

80

100

120

0 5 10 151100

1200

1300

Transmission elements parameters

Time [s]

k[N

]b

[Nsm−1]

γ[m

−1]

Figure 5.12: Online estimation results.

estimator is influenced by the error of the other one [52, 55]. The result of the online

estimation algorithm for the same experiment in Fig. 5.10 are reported in Fig. 5.12. Only

the first part of the experiment is shown to highlight the variation of the parameters esti-

mation. After this period there are no appreciable variation in the estimated parameters.

The parameter ε0 is not reported because it depends on the initialization and it is differentfor any experiment. The estimation procedure is enabled at t = 1 s to avoid the estimationdrift due to the initialization phase of the system, necessary to establish a suitable tendon

pretension before the start of the controller. The final value of the parameter estimations

using the online estimation algorithm is reported in Tab. 5.3.

The online estimation of the parameter ε0 leads to a set of estimated parameters k, band γ with a very little variation between the various experiments also for different initialconditions both for the parameters and for the system state. For this reason the parameter

Description Symbol Value Unit

Stiffness coeff. k 14.732 N

Damping coeff. b 99.710 N · s ·m−1

Exponential factor γ 1211.9 m−1

Table 5.3: Mean value of the transmission elements parameters estimated with the online

algorithm.

Page 101: Controller Design for Robot Arm

5.7. Conclusions 83

0 5 10 15

15

20

25

30

0 5 10 15

100

200

300

0 5 10 151000

1500

2000

Transmission elements parameters

Time [s]

k[N

]b

[Nsm−1]

γ[m

−1]

Figure 5.13: Online estimation results for a generic joint movement.

variations between the various experiments is not reported in Tab. 5.3.

In Fig. 5.13 the results of the online estimation algorithm applied to another exper-

iment with different initial conditions and different joint movement. Also in this case

the estimation procedure is enabled at t = 1 s and the parameter estimations converge tovalues close to the ones reported in Tab. 5.3.

5.7 Conclusions

In this chapter, the analysis of the DLR’s antagonistic actuated joint is carried out and

some different control strategies are presented together with some preliminary experi-

mental results.

The actuator-level controller, other than to be very simple to implement, shows a

good behavior also for fast setpoint variations. The introduction of a suitable setpoint

compensation allows to recover to zero the steady state stiffness error, even if backdrivable

actuators are used.

The feedback linearization control shows a stable response if smooth setpoint func-

tions are considered, and the tracking of the joint position ad stiffness trajectory is achieved

with very limited error.

All the experiments that has been carried out have shown that there are some limita-

tions to the dynamic performance of the system due to the unmodeled dynamics of the

Page 102: Controller Design for Robot Arm

84 5. The DLR’s Antagonistic Actuated Joint

transmission elements, and in particular to the orthogonal movements of these elements

with respect to the direction of the transmission forces caused by the use of long ten-

dons to simplify the assembling procedure of the device. These undesired effects can

be reduced by choosing tendons of opportune length and with the adoption of a suitable

mechanism to ensure a minimum level of tendon pretension. Also the nonlinear trans-

mission elements (see. Fig. 5.2) can be redesigned to reduce both their mass and their

dimensions.

An interesting point for future activities will be the evaluation of the system behavior

during the interaction with the external environment. The response of the system in case

of unexpected collision will be investigated together with the benefit introduced by the

use of a variable stiffness device in the force/impedance control of robotic systems.

Page 103: Controller Design for Robot Arm

6Robots Feedback Linearization Control

Based on Joint Position Measurements

6.1 Introduction

In this chapter, the stability problem for robotic control schemes based on feedback lin-

earization and velocity estimation is addressed. As a matter of fact, in several control

schemes for robotic systems the knowledge of the whole state of the system, i.e. of the

position and the velocity of each joint, is required while, on the other hand, the problem

of state reconstruction is often neglected. In many practical application, in fact, optical

encoders or potentiometers are the only sensors in the robotic manipulator, so only posi-

tion information are directly measurable, while the joint velocities must be estimated by

a suitable filtering of the position data [56, 49].

The feedback linearization of a robotic manipulator, besides requiring the knowledge

of the dynamic model of the robot, requires also the joint velocities to compute and com-

pensate the centripetal and Coriolis terms of the robot dynamics [57, 58], while only the

joint position information is necessary for the compensation of the gravitational terms. If

both the exact model and the true state of the system are known, the feedback linearization

control allows to obtain a linear model of the robot, and it is trivial to verify its stability

and to design a suitable high level joint position controller. Also the problem of asymp-

totic trajectory tracking can be solved with a “feedback linearization+PD” controller [57].

In practice, the velocity estimation and the uncertainties on the model parameters intro-

duce a limitation in the achievable performances and, in some cases, destabilizing effects.

From a theoretical point of view, the velocity estimation problem could be solved

by means of proper nonlinear observers of the state variables [59, 60, 61, 62]. On the

other hand, quite often in practical applications a simple numerical filter is used to obtain

velocity from position information.

With the aim of showing the effects of the estimation of the joint velocities with sim-

ple filters, and then of the imperfect cancellation of the centripetal and Coriolis terms, the

Lyapunov direct method is used in this chapter to find suitable conditions on the param-

eters of both the “feedback linearization+PD” controller and of the velocity estimation

process that ensure the stability of the overall system. In this chapter, the continuous-time

filtered position derivation is used as velocity reconstruction technique.

Page 104: Controller Design for Robot Arm

86 6. Robots Feedback Linearization Control Based on Joint Position Measurements

6.2 Dynamics of Robotic Manipulators

We consider the dynamic model of a n DOF robotic manipulator having only revolute

joints, rigid links, ideal actuators and no friction at the joints, given by the classic La-

grangian formulation [63]:

M(q)q+C(q, q)q+g(q) = τ (6.1)

where q is the vector of the joint positions, M(q), C(q, q) are the matrices of the inertiaand of the centripetal/Coriolis terms of the robot respectively, g(q) is the vector of thegravitational effects and τ is the vector of the torques applied to the robot joints. The timedependence of the variables is omitted throughout the chapter for notation ease.

Supposing, as usual, that the complete state of the system [q, q] is known, a controllerbased on the feedback linearization of the robot dynamics [57, 58], consists in the static

nonlinear control law:

τ =M(q)u+C(q, q)q+g(q) (6.2)

so that the robot dynamics results in a linear system constituted by a cascade of two

integrators

q= u (6.3)

By defining:

q= qd−q (6.4)

where qd is the vector of the desired joint positions, it is straightforward to show that the

control law

u= qd+Kpq+Kd ˙q (6.5)

with Kp and Kd positive definite (usually diagonal) matrices, allows the exact tracking

of the desired joint trajectories [qd, qd, qd]. As a matter of fact, by assigning Kp =diagω2n,i, Kd = diag2δiωn,i, where δi, ωn,i, i= 1, . . . ,n are proper design parameters,preassigned dynamic behaviors can be achieved. A complete review on the stability and

the tracking properties of the system defined by eq. (6.1)-(6.5) is reported e.g. in [57].

6.3 Feedback Linearization via Filtered Velocity

In this section, we want to verify the stability of the robotic manipulator in the case that

both the feedback linearization, eq. (6.2), and the control law, eq. (6.5), are computed

considering an estimation of the joint velocities, given by a numerical derivation of the

joint position data.

In this chapter, the estimation of the joint velocities is made by means of filtered

derivation of the joint position information q. A possible state space representation of this

process is:

ξ = −Dξ−D2q (6.6)

ζ = ξ+Dq (6.7)

Page 105: Controller Design for Robot Arm

6.3. Feedback Linearization via Filtered Velocity 87

where D = diagdi is a positive definite diagonal matrix, ζ is the estimated velocity,and ξ is the state of the velocity estimation filter. In the Laplace transform domain, theestimation process described by eq. (6.6) and (6.7) can be written as:

ζ1ζ2...

ζn

(s) =

d1ss+d1

0 . . . 0

0 d2ss+d2

. . . 0...

.... . .

...

0 0 . . . dnss+dn

q1q2...

qn

(s) (6.8)

or, in a more compact form and with some abuse of notation:

G(s) =ζ(s)

q(s)= diag

dis

s+di

(6.9)

¿From the two last equations, it is possible to note that we assume to estimate the joint

velocities with a battery of n first order independent filters, one for each joint, whose

bandwidth is defined by the parameter di. For the sake of simplicity and without lost of

generality, we can assume also di = d, i= 1, . . . ,n, as usual in practice.

Since the joint velocities are not available, the velocity tracking error ˙q used in eq. (6.5)

is no longer the time derivative of eq. (6.4), and must be replaced with:

q= qd−ζ (6.10)

where ζ is the output of the velocity estimation process and q is the velocity trackingerror calculated with respect to the estimated velocity ζ, eq. (6.7). We use this notationto highlight that q is not the derivation of a variable but it is the difference between two

known quantities. Therefore, eq. (6.5) becomes:

u= qd+Kpq+Kd q (6.11)

Also eq. (6.2) must be modified in accordance with the velocity estimation process:

τ =M(q)u+C(q,ζ)ζ+g(q) (6.12)

The resulting system dynamics is then:

¨q= −Kpq−Kvq−α(ζ,q, q) (6.13)

where

α(ζ,q, q) =M−1(q) [C(q,ζ)ζ−C(q, q)q] (6.14)

Page 106: Controller Design for Robot Arm

88 6. Robots Feedback Linearization Control Based on Joint Position Measurements

6.4 Stability of Feedback Linearization Based on Veloc-

ity Estimation

The stability of the system described by eq. (6.6), (6.7), and (6.13) is now discussed. We

assume a constant position reference qd , so that qd = qd = 0. The dynamics of the systemresults:

q= Kpq−Kvζ+α(ζ,q, q) (6.15)

By choosing the state vector [ζT qT qT ]T , and considering that the time derivative ofeq. (6.7) is:

ζ = ξ+Dq= −Dξ−D2q+Dq= −Dζ+Dq (6.16)

the dynamics of the overall system can be written as:

d

dt

ζq

q

=

−Dζ+Dq−q

Kpq−Kvζ+α(ζ,q, q)

(6.17)

It can be easily shown that the origin of the state space is an equilibrium point for this

system. To show the unicity of the equilibrium point, it is convenient to rewrite eq. (6.17)

as:

d

dt

ζq

q

=

−D 0 D

0 0 −IKζ(q,ζ) Kp Kq(q, q)

ζq

q

(6.18)

where

Kζ(q,ζ) = −Kv+M−1(q)C(q,ζ)

Kq(q, q) = −M−1(q)C(q, q)

or, in an equivalent form:

d

dt

ζq

q

= A(ζ,q, q)

ζq

q

(6.19)

Since Kp and D are positive definite, and therefore nonsingular, the matrix A(ζ,q, q) isalways nonsingular. From this fact, it is possible to conclude that the origin is the unique

equilibrium point of the system (6.17).

6.4.1 Lyapunov Function Candidate

To analyze the stability of the origin of the feedback linearized robot manipulator, ex-

pressed by eq. (6.15), we define the following Lyapunov function candidate:

V (ζ, q, q) =1

2

ζq

q

T

P

ζq

q

(6.20)

Page 107: Controller Design for Robot Arm

6.4. Stability of Feedback Linearization Based on Velocity Estimation 89

where

P=

KvD−1 0 −K−1

p

0 Kp −K−1v

−K−1p −K−1

v I

(6.21)

The Lyapunov candidate function can also be written as:

V (ζ, q, q) =1

2ζTKvD

−1ζ+1

2qT q+

1

2qTKpq− qTK−1

v q− qTK−1p ζ (6.22)

This function is clearly zero in the origin. If matrix P is positive definite, the candidate

Lyapunov function is a quadratic form in the state variables, and is also globally defined

and radially unbounded. In order to verify if matrix P is positive definite, the following

bounds can be defined for the terms of eq. (6.22):

ζTKvD−1ζ ≥ λmKv

λM D‖ζ‖2 (6.23)

qT q = ‖q‖2 (6.24)

qTKpq ≥ λm

Kp

‖q‖2 (6.25)

−qTK−1v q ≥ − 1

λm Kv‖q‖‖q‖ (6.26)

−qTK−1p ζ ≥ − 1

λm

Kp‖q‖‖ζ‖ (6.27)

where λm A and λM A are the minimum and the maximum eigenvalues of the matrixA respectively. Then, a lower bound for the candidate Lyapunov function can be written

as:

V (ζ, q, q) ≥ 12

‖ζ‖‖q‖‖q‖

T

Pl

‖ζ‖‖q‖‖q‖

(6.28)

where:

Pl =

λmKvλMD 0 − 1

λmKp0 λm

Kp

− 1λmKv

− 1

λmKp − 1λmKv 1

(6.29)

We have now to verify if the conditions that make the matrix Pl positive define are

satisfied. Recalling that Kp, Kv and D are symmetric (diagonal) and positive definite and

using the Gershgoring theorem [58], we obtain that Pl is positive definite if and only if:

λm KvλM D

>1

λm

Kp (6.30)

λm

Kp

>1

λm Kv(6.31)

1 >1

λm

Kp +

1

λm Kv(6.32)

Page 108: Controller Design for Robot Arm

90 6. Robots Feedback Linearization Control Based on Joint Position Measurements

These conditions can be satisfied with a suitable choice of the matrices Kp, Kv and D. In

particular, matrix Pl is positive definite if Kp and Kv are “large” enough.

6.4.2 Time Derivative of the Lyapunov Function Candidate

The time derivative of the Lyapunov function candidate (6.22) can be written as:

V (ζ, q, q) = −ζTKvζ+ζTKvq+ qTKpq− qTKvζ+ qTα(ζ,q, q)+

− qTKpq+ qTK−1p Dζ− qTK−1

p Dq−ζT q−ζTK−1p α(ζ,q, q)+

− qTKpK−1v q+ q

Tζ+ qTK−1v q− qTK−1

v α(ζ,q, q) (6.33)

Removing all the terms with opposed sign we have:

V (ζ, q, q) = −ζTKvζ+ qTα(ζ,q, q)+ qTK−1p Dζ− qTK−1

p Dq+

−ζTK−1p α(ζ,q, q)− qTKpK−1

v q+ qTK−1v q− qTK−1

v α(ζ,q, q) (6.34)

We have now to show that V (ζ, q, q) ≤ 0. For this purpose, it is convenient to select asuitable set of bounds for each term in eq. (6.34).

The first term can be easily bounded by:

−ζTKvζ ≤−λm Kv‖ζ‖2 (6.35)

Then

qTK−1p Dζ ≤ λM

K−1p

λM D‖ζ‖‖q‖ (6.36)

or, in an equivalent form:

qTK−1p Dζ ≤ λM D

λm

Kp‖ζ‖‖q‖ (6.37)

For the other terms:

− qTK−1p Dq≤− λmD

λM

Kp‖q‖2 (6.38)

− qTKpK−1v q≤−λm

Kp

λM Kv‖q‖2 (6.39)

qTK−1v q≤

1

λm Kv‖q‖2 (6.40)

The bounds for the terms involving α(ζ, q, q) must be carefully defined. For this purpose,let us recall the following property of matrixC(q,x)y [57].

Property 1: For robots having exclusively revolute joints, there exists a number kC1 >0 such that:

‖C(q,x)y‖ ≤ kC1‖x‖‖y‖ (6.41)

Page 109: Controller Design for Robot Arm

6.4. Stability of Feedback Linearization Based on Velocity Estimation 91

for all q, x, y ∈ Rn.

By using Property 1, the term α(ζ,q, q) can be bounded by:

α(ζ,q, q) ≤ km(

‖ζ‖2+‖q‖2)

(6.42)

where

km =kC1

λm M(q)The following bounds can be then defined:

qTα(ζ,q, q) ≤ km‖q‖(

‖ζ‖2+‖q‖2)

(6.43)

−ζTK−1p α(ζ,q, q) ≤ km

‖ζ‖λm

Kp

(

‖ζ‖2+‖q‖2)

(6.44)

− qTK−1v α(ζ,q, q) ≤ km

‖q‖λm Kv

(

‖ζ‖2+‖q‖2)

(6.45)

By defining:

η = km

[

‖q‖+‖ζ‖

λm

Kp +

‖q‖λmKv

]

(6.46)

it is possible to note that η defines a ball, in the neighborhood of the origin of the statespace, in which we are interested to study if V (ζ, q, q) ≤ 0. It is also important to notethat the dimension given by the term ‖ζ‖ and ‖q‖ of the ball η depend also on λm

Kp

and λm Kv respectively.The time derivative of the candidate Lyapunov function can be then upper bounded

by:

V (ζ, q, q) ≤−

‖ζ‖‖q‖‖q‖

T

Q(‖ζ‖,‖q‖,‖q‖)

‖ζ‖‖q‖‖q‖

(6.47)

where

Q(‖ζ‖,‖q‖,‖q‖) =

λm Kv−η 0 −12

λMDλmKp

0λmKpλMKv 0

−12λMD

λmKp 0λmD

λMKp −η− 1λmKv

(6.48)

To verify if matrix Q(‖ζ‖,‖q‖,‖q‖) is positive definite, keeping in mind the positive-ness of Kp, Kv, D and recalling again the Gershgoring theorem, we have the following

conditions:

λmKv−η >1

2

λM Dλm

Kp (6.49)

λm DλM

Kp−η− 1

λm Kv>1

2

λM Dλm

Kp (6.50)

Page 110: Controller Design for Robot Arm

92 6. Robots Feedback Linearization Control Based on Joint Position Measurements

The first condition, eq. (6.49), can be easily satisfied for sufficiently high value of λm Kv.It is possible to verify that the second condition, eq. (6.50), can be satisfied with a suitable

choice of Kp and D. In particular, with the simplifying assumption λM Kv = λm Kvand λM D = λm D the condition given by eq. (6.50) is always satisfied for a suffi-ciently high value of λm D. These conditions are not in contrast with the ones given byeq. (6.30)-(6.32), so it is possible to conclude that the system is asymptotically stable in

the ball defined by η centered in the origin of the state space.In conclusion, the following Theorem can be formulated.

Theorem 1: Given the robot dynamics (6.1) and the velocity estimation filter defined

by (6.7), the feedback linearization control (6.11), (6.12) is stable if conditions (6.30)-

(6.32) and (6.49), (6.50) hold.

6.4.3 Comments

Considering the conditions (6.30)-(6.32) and (6.49), (6.50) it is possible to find a set of

parameters of the controller and of the estimation process such that the overall system

results asymptotically stable in a neighborhood η of the origin of the state space. It isimportant to note that η can be made as large as desired by a suitable choice of the gainmatrices Kp, Kv and D.

It is also important to note that the condition (6.30) implies the condition (6.31) if

λM D ≥ 1, while condition (6.31) implies (6.30) if λM D < 1.Moreover, the condition (6.32) is certainly satisfied if both λm

Kp

and λm

Kp

are

greater than 2.

Finally, condition (6.30) implies (6.49) if η < 12

λMDλmKp , while (6.49) implies (6.30)

otherwise. In any case, the strongest condition is the (6.50), because it relates the mini-

mum and the maximum eigenvalue of both the matrices Kp and D. To highlight this fact,

we can rewrite the condition (6.50) as:

λm DλM

Kp − 12

λM Dλm

Kp > η+

1

λmKv(6.51)

Therefore, the left hand side of eq. (6.51) must be not only strictly positive, but also

“large” enough.

To conclude, it is possible to state that if λM D ≥ 1 and λm

Kp

,λm Kv> 2, onlythe conditions (6.30) and (6.50) must be checked to find a region η in which the system(6.17) is asymptotically stable.

6.5 Case Study

In order to show the validity and the features of the main result of the previous Section,

i.e. Theorem 1, a simple two DOF manipulator is now considered. The main dynamic

parameters of the manipulator are reported in Table I.

Page 111: Controller Design for Robot Arm

6.6. Conclusions 93

Parameter Value

b j 0.001 N · s ·m−1

ac1 0.085 m

ac2 0.085 m

a1 0.3 m

I1 1.15e-4 kg ·m2I2 1.15e-4 kg ·m2m1 0.541 kg

m2 0.541 kg

Table 6.1: Parameters of the two DOF manipulator considered in the simulations.

The control parameters are Kp = diag3,3 and Kv = diag3,3. The set point is astep of amplitude 0.2 at t = 0 sec for joint 2, and a step of amplitude −2 at t = 10 sec forjoint 1.

We analyze then two different situations. In the former, the velocity estimation pa-

rameters are set to D= diag8,8, so that all the conditions for the existence of a stabilityregion hold. Fig. 6.1 and Fig. 6.2 show that the system has a stable behavior.

In the latter, we set the velocity estimation parameters to D = diag1,1, so that thecondition (6.50) is not satisfied, and then it is not possible to define a stability region. In

Fig. 6.3 and Fig. 6.4 it is possible to see that, while the (small) step on the second joint

does not destabilize the system, the (large) step on the first joint make the system unstable.

6.6 Conclusions

In this chapter, the stability problem of control laws based on feedback linearization for

n-DOF robotic manipulators is taken into account. The stability of this kind of controllers

is analyzed considering that, in many practical application, the joint velocities must be

estimated from position information by means of suitable filtering techniques.

After a brief discussion on the unicity of the equilibrium point in the case of con-

stant setpoints, sufficient conditions for the local asymptotic stability of the system are

given, and it is shown how the stability region can be made arbitrarily large by means

of a suitable choice of the parameters of both the controller and the velocity estimation

process.

Future activities include the application of the proposed analysis to the problem of

trajectory tracking, to the case of adaptive control laws, and external load estimation.

Page 112: Controller Design for Robot Arm

94 6. Robots Feedback Linearization Control Based on Joint Position Measurements

0 5 10 15 20−2

−1

0

1

Joint position [rad] (Kp = diag3,3, K

v = diag3,3, D = diag8,8)

link 1 setpoint

link 2 setpoint

link 1 position

link 2 position

0 5 10 15 20−2

−1

0

1

Time [s]

Position error [rad] (Kp = diag3,3, K

v = diag3,3, D = diag8,8)

link 1

link 2

Figure 6.1: Positions and position errors of the two DOF robot.

0 5 10 15 20−0.6

−0.4

−0.2

0

0.2

0.4

Time [s]

Velocity estimation error [rad/s] (Kp = diag3,3, K

v = diag3,3, D = diag8,8)

link 1

link 2

Figure 6.2: Velocity estimation errors.

Page 113: Controller Design for Robot Arm

6.6. Conclusions 95

0 5 10 15 20−4

−2

0

2

Joint position [rad] (Kp = diag3,3, K

v = diag3,3, D = diag1,1)

link 1 setpoint

link 2 setpoint

link 1 position

link 2 position

0 5 10 15 20−2

−1

0

1

2

Time [s]

Position error [rad] (Kp = diag3,3, K

v = diag3,3, D = diag1,1)

link 1

link 2

Figure 6.3: Positions and position errors of the two DOF robot with D= diag1,1.

0 5 10 15 20−15

−10

−5

0

5

10

Time [s]

Velocity estimation error [rad/s] (Kp = diag3,3, K

v = diag3,3, D = diag1,1)

link 1

link 2

Figure 6.4: Velocity estimation errors with D= diag1,1.

Page 114: Controller Design for Robot Arm

96 6. Robots Feedback Linearization Control Based on Joint Position Measurements

Page 115: Controller Design for Robot Arm

7Realtime Simulation

7.1 Introduction

Several CACSD1 software packages are available for the simulation of dynamic systems

and the design of digital controllers, e.g. Scilab/Scicos, Matlab/Simulink, Mathematica,

and so on, [64, 65, 66, 67]. These CACSD tools allow the user to study the behavior of

a dynamical system and to verify the effectiveness of a control law during the designing

phase of the controller. It is also a standard practice to adopt an iterative procedure based

on simulation of the closed loop system for the tuning of the parameters of the controller.

These tools are normally used by the designer to obtain the ‘best’ controller that has to

be then translated in the real hardware/software control system. This latter phase implies

to re-write the control law in a standard programming language (e.g. C) taking care of the

hardware interface between the controller and the physical world. This design step may

introduce some side effects in the final controller, because time delays and quantizations

introduced by digital electronic devices can modify the behavior or, in the worst case,

destabilize the closed-loop system.

It is a standard feature of modern CACSD tools the possibility of automatically con-

verting the control scheme developed into a ready-to-run application for several realtime

platform and also to interface directly the simulation packages with real time I/O devices.

All these features are very useful for rapid-prototyping of control systems because they

simplify the development and reduce the time required for the synthesis of the controller.

In the last years, the issue of rapid prototyping of digital control systems has been

addressed by several researchers in order to reduce the time and the effort needed to

obtain the control system for the given plant, [68].

However, this approach requires that the final controller must be tested in the real plant

to verify its effectiveness. It is well known that this phase is very critical because during

this test it is possible to cause hardware damages and to reach dangerous conditions.

As a matter of fact, the interface between the control algorithm and the plant is based

on devices such as DAC, ADC, digital I/O, encoders, and so on. Many of these devices are

usually grouped in a single board, called Data Acquisition Board (or DAQ board). There

are many commercially available general purpose DAQ boards, each of them with specific

1Computer Aided Control System Design

Page 116: Controller Design for Robot Arm

98 7. Realtime Simulation

User space

Kernel space

Plant

Control

Driver

DAQ

Plant

Control

COMEDI

Realtime

simulationDAQ

Figure 7.1: Left: typical software structure; Right: software structure with the COMEDI

library.

software interfaces, limited compatibility with other boards even of the same producer

and, in general, no compatibility with boards of other producers. As a consequence,

a control application designed for a specific DAQ board is not portable to a different

hardware without, at least, the redefinition of the I/O interface.

To avoid this problem, the COMEDI2 library [20] provides an unified API3 for con-

trol applications. This library allows to obtain applications that are independent from the

specific DAQ board used to interface the control system to the plant. The major part of

commercial DAQ boards are already supported by COMEDI, and it is possible to ex-

tend the support to other boards by writing a specific driver. COMEDI also supports the

realtime extension of Linux (RTLinux and RTAI [69, 70]) natively.

With the aim of simplifying the development and testing phase of digital control sys-

tems, in this chapter we extend the traditional use of the COMEDI drivers to the realtime

simulation of the overall plant. With this architecture, it is possible to monitor the be-

havior of both the controller and the plant (or, more precisely, the dynamic model of the

plant) without really connecting the control system to the process. Fig. 7.1 reports a sim-

ple scheme of the adopted approach. Besides being useful in the design phase, this may

improve the reliability of the control system, because it is possible to test critical condi-

tions without risk, reducing also the possibility of miss-functions of the controller when

it is applied to the real process. This architecture has been also successfully used as a

teaching tool in Mechatronics/Digital control courses to allows the students to test their

digital controllers.

In [71] a similar architecture has been presented, and an RTAI application for the

2COntrol and MEasurement Device Interface.3Application Programming Interface.

Page 117: Controller Design for Robot Arm

7.2. Realtime Simulation of Dynamic Systems 99

simulation of dynamic system has been derived directly from the Modelica [66] model

of the plant. Both the Scilab/Scicos CACSD platform [72, 73] and the Matlab/Simulink/

RealTimeWorkshop environment can be used for the design of the digital controller be-

cause they allow to obtain ready-to-run realtime control applications with support for both

RTAI-Linux and the COMEDI library.

In any case, a crucial point is to ensure the realtime execution of the basic integration

algorithm used to solve the differential equations that describe the plant in the simulation

task. For this purpose, the GNU Scientific Library [74] has been used in this chapter

because, besides being opensource, it provides all the necessary functions for the imple-

mentation of the simulation algorithms.

This chapter is organized as follows. In Section 7.2 the realtime simulation algorithm

for linear and non-linear systems is briefly discussed. In Section 7.3 the implementation

the COMEDI realtime simulation driver is described, while in Sections 7.4 and 7.5 two

examples are reported and discussed. Section 7.6 concludes with final remarks and plans

for future activities.

7.2 Realtime Simulation of Dynamic Systems

In this environment, the realtime simulation of the plant is implemented by means of

a fixed step periodic RTAI task that executes all the necessary operations to compute

the time evolution of the system. The plant is modeled with the classical state space

representation for dynamic systems:

x(t) = f (x(t),u(t), t), x(t0) = x0 (7.1)

y(t) = g(x(t),u(t), t) (7.2)

where x is the state vector, u and y are the input and output vectors, t is the time, f (·) isthe state evolution function, g(·) is the output function and x0 is the initial state.When the plant is described by linear stationary differential equations, it is possible

to define its discrete time state space evolution in the classical linear form using standard

discretization techniques:

x(k+1) = Adx(k)+Bbu(k), x(0) = x0 (7.3)

y(k) = Cdx(k)+Ddu(k) (7.4)

where Ad , Bd ,Cd ,Dd are matrices of proper dimensions and k is the discrete-time variable.

Eq. (7.3)-(7.4) are very simple to be implemented with a periodic realtime task, and the

required computational effort is very low.

When the plant is described by means of generic non-linear differential equations, it

is possible to write its dynamics in the form of eq. (7.1)-(7.2).

In order to compute the time evolution of the plant, the ordinary differential equation

system (ODE) defined by eq. (7.1) must be solved by means of a numerical integration

Page 118: Controller Design for Robot Arm

100 7. Realtime Simulation

algorithm over the period of the realtime task. This may require a very high computational

effort, especially if a variable step integration algorithm is used.

In this chapter, the GNU Scientific Library (GSL) is used for the integration of generic

differential equations, such as eq. (7.1), but proper modifications to its source code have

been made since GSL are user space libraries, while COMEDI board drivers are Linux

kernel modules. For this reason, the code of the GSL library must be modified to make

it running in kernel space, and therefore to ensure that the integration algorithm is ex-

ecuted taking into account the constraints of the realtime environment. This approach

allows to use all the integration algorithms available in GSL (such as Runge-Kutta, Prince-

Dormand, Bulirsch-Stoer algorithm and so on), with fixed or variable integration step, for

the implementation of the COMEDI driver of the plant. It is important to note that RTAI

supports also kernel space floating point operations, therefore no modification on the data

type used by GSL for its computations is required.

When a fixed step algorithm is selected, the step size must be chosen considering the

computational capabilities of the platform in which the simulation algorithm must be im-

plemented. In general, the error on the solution of the differential equations that describe

the system increases with the step size. In this case, the period of the simulation task

corresponds to the integration step. This approach is suitable if the differential equations

are smooth enough, even though there is no control on the integration error. Experiments

show that the execution time of the integration algorithm in the fixed step case depends

mainly on the order of the system and on the computational capabilities of the computer,

and that it is practically constant during the simulation.

The use of a variable step size integration algorithm may improve the reliability of

the solution. In this case, the integration step is set to the same period of the simulation

task at the beginning of each period in order to estimate the first possible solution. Then,

the step doubling error checking method [75] is applied in order to evaluate the relative

integration error and, in case, to subdivide the integration step until the requested error

is achieved. In this case, the computational effort can be very high, especially if large

bandwidth/non-smooth functions are considered.

Controls on the integration error, the step size and the execution time are introduced

to avoid system starvation and to satisfy the realtime constraints of the hardware platform.

Therefore, it is possible to force the simulator to solve the dynamic equations with a given

precision, in terms of relative or absolute error: if the time required by the integration

algorithm during the iterations necessary to solve the ODE system with the prescribed

error is too large, the algorithm is stopped and the last computed solution is returned. In

Fig. 7.2 the flowchart of the realtime integration algorithm is reported. In general, the

period of the simulation task must be grater or, at least, equal than the controller period.

In the case of variable step integration algorithm, the simulation task period can be chosen

equal to the period of the controller without problems: the error checking procedure can

refine the integration step if necessary to satisfy the specifications on the integration error.

The use of fixed step integration algorithms can introduce a large error drift in the solution

of the system, since there is no control on the integration error.

Obviously, the period of the simulation task must be chosen large enough to allow

Page 119: Controller Design for Robot Arm

7.3. The COMEDI Realtime Simulation Driver 101

Figure 7.2: Flowchart of the realtime integration algorithm.

the solver to compute at least a possible solution of the ODE system. In case, the time

scale of the simulation and of the controller can be expanded to fit the computational

capabilities of the hardware platform. On the other hand, if the time required by the

integration algorithm is small enough with respect to the simulation step, it is possible to

compress the time scale to evaluate the behavior of the controller in a shorter time.

7.3 The COMEDI Realtime Simulation Driver

The COMEDI library provides to the control applications a set functions, called COMEDI

API, to exchange data with the various devices on the DAQ board, to configure the devices

and to convert and to manage the acquired data. This library creates a unified interface

for the communications with many different data acquisition boards. With COMEDI it is

possible to transfer data from the processing unit to the interface devices and vice versa

using both synchronous and asynchronous communication via buffered data acquisition

or direct data acquisition instructions respectively.

COMEDI is composed by two different parts: a userspace library that implements the

Page 120: Controller Design for Robot Arm

102 7. Realtime Simulation

COMEDI API for user space applications, some kernel modules for the kernel space API

support and a set of drivers for the various DAQ boards. These drivers are implemented

as kernel modules and each of these modules implements all the specifics functions for a

particular board (or board family). Since COMEDI is opensource, it is also possible to

develop new drivers for acquisition boards that are not supported yet, and eventually to

extend the functionality of existing drivers.

In COMEDI, the communications with the acquisition hardware is implemented in the

standard UNIX way using characters device files. Since the association between the board

and the file is specified dynamically via command line during the COMEDI configuration,

it is possible to support simultaneously many (different) boards on the same system by

associating each of them to a different file.

In this chapter, this mechanism is used to create a COMEDI driver for a virtual board

that implements, besides the necessary functions to emulate the acquisition hardware, the

realtime task for the simulation of the plant. Each data sent to the DAQ board changes the

value of the input variables (or some parameters) of the plant simulation task and the data

read functions return the value of the plant outputs.

There are some properties of the DAQ boards like setting time, conversion time, and

so on, that are not taken explicitly into account by COMEDI. These parameters can be

considered during the development of the COMEDI driver for the plant and introduced

in the communication functions in order to simulate also the delays caused by electronic

devices.

In order to implement the COMEDI driver for the realtime simulation of a given dy-

namic system, it is only necessary to write in C eq. (7.1)-(7.2) and to insert the code

into the generic realtime simulation COMEDI driver. The generation of the C code for

eq. (7.1)-(7.2) can be automated using, for example, Mathematica [67] or Modelica.

7.4 The Inverted Pendulum

The software architecture described in the previous Sections has been used for the simu-

lation and control design of a number of mechatronic devices. Here, as a case study, the

swing-up and balance control of the Quanser [76] rotary inverted pendulum is discussed

as a test bed to show the features and compare the responses of the realtime simulator and

of the real plant.

7.4.1 The Control System

The control system is based on a standard PC, with a Pentium III processor at 800 MHz,

256 MB of RAM and a Sensoray 626 DAQ board. The operating system is Debian-

GNU Linux SID with kernel 2.6.9, RTAI 3.2 and GCC 3.3.4. The COMEDI library has

been obtained from the CVS4 archive. Note that this software platform has been chosen

4Concurrent Versions System, an opensource tool to manage the distributed development of software

projects [77].

Page 121: Controller Design for Robot Arm

7.4. The Inverted Pendulum 103

Arm

Pendulum

θ

αDC Motor

+

Gearbox

Figure 7.3: Rotary inverted pendulum.

because all its components are opensource.

With the aim of testing this software platform on different hardware, a Knoppix-based

[78] Linux Live-CD distribution called RTAI-Knoppix5 has been developed. This live

distribution contains, besides the software components described above, all the necessary

tools like IDE6, editors, libraries, examples and source code for the development of re-

altime software and others applications for office, internet ecc. RTAI-Knoppix provides

also an auto-configurable GUI7 with xrtailab [72, 73], the graphic interface for RTAI ap-

plications.

7.4.2 The COMEDI Driver of the Rotary Inverted Pendulum

A sketch of the rotary inverted pendulum is reported in Fig. 7.3, while its parameters are

reported in Tab. 7.1. By using the standard Lagrangian formulation, the dynamic model

of the inverted pendulum can be written as:

M(q)q+C(q,q)q+Dq+g(q) = τ− τ f (7.5)

5RTAI-Knoppix is available for download at: http://www-lar.deis.unibo.it/people/gpalli/files/rtai-

knoppix.iso6Integrated Development Environment.7Graphic User Interface.

Page 122: Controller Design for Robot Arm

104 7. Realtime Simulation

Description Name Value Unit

Motor torque constant Km 0.00767 N m A−1

Armature resistance Rm 2.6 ΩTotal gear ratio Gr 60.5

Arm radius l1 0.2 m

Arm mass m1 0.128 Kg

Total arm inertia I1 0.0044 Kg m2

Arm viscous friction dα 0.0001 N m s rad−1

Pendulum half length l2 0.43 m

Pendulum mass m2 0.14 Kg

Total pendulum inertia I2 0.019 Kg m2

Pendulum viscous friction dθ 0.0152 N m s rad−1

Potentiometer sensitivity Ps 1.637 rad V−1

Encoder resolution Er 651.9 rad step−1

Table 7.1: The parameters of the Quanser rotary inverted pendulum.

where q= [α θ]T is the vector of generalized coordinates (respectively the angle betweenthe arm and a reference position and the angle of the pendulum with respect to the vertical

position), τ and τ f are the vectors of the torque and of static friction acting on the joints,M(q) is the inertia matrix,C(q,q) is the matrix of the Coriolis and centripetal effects, D isthe viscous friction matrix and g(q) is the vector of gravity effects. In particular, for thissystem:

M(q) =

[

I1+m2(l21+ l

22 sin

2(θ)) −m2l1l2 cos(θ)−m2l1l2 cos(θ) I2

]

(7.6)

C(q,q) = −m2l2 sin(θ)

[

l2 cos(θ)θ l2 cos(θ)α+ l1θ−l2 cos(θ)α 0

]

(7.7)

D=

[

dα 0

0 dθ

]

, g(q) =

[

0

−m2l2gsin(θ)

]

, τ =

[

τm0

]

, τ f =

[

0

0

]

(7.8)

where τm is the torque applied by the DC motor used as actuator to the arm. Note that thestatic friction is neglected (eq. (7.8)).

A simplified model of the DC motor is considered, being its electrical time constant

negligible with respect to the mechanical one:

τm =KmGr

Rmv− K

2mG2R

Rmα = Kvv−Kαα (7.9)

where v is the DC motor driving voltage provided by the Sensoray 626 DAQ board analog

output.

From eq. (7.6)-(7.9), assuming as state vector x = [α θ α θ]T and as input vector

Page 123: Controller Design for Robot Arm

7.4. The Inverted Pendulum 105

u= [v], eq. (7.5) can be rewritten in the form of eq. (7.1):

x1 = x3 (7.10)

x2 = x4 (7.11)

x3 =M12C21−M22(C11+D11+Kα)

M11M22−M12M21x3+

+[M12(C22+D22)−M22C12]x4+M12g2

M11M22−M12M21+

+M22Kv

M11M22−M12M21v (7.12)

x4 =−M21x3−C21x3− (C22+D22)x4−g2

M22(7.13)

Two sensors are available for the measurement of the positions α, θ of the arm (a poten-tiometer) and of the pendulum (an encoder), see Tab. 7.1. Then, eq. (7.2) can be written

as:

y=

[

y1y2

]

=

[

1/Ps 0 0 0

0 1/Er 0 0

]

x (7.14)

Eq. (7.10)-(7.14) are implemented in C in the COMEDI driver to test the realtime sim-

ulation of the system. The realtime integration of these equations is performed with an

adaptive variable step 4th-order Runge-Kutta algorithm, with relative error set to 10−6

and sampling time of 1 ms.

The input u and the output y of this system are then converted into the driver to the

standard unsigned integer representation used by COMEDI for the data acquired from

hardware devices. This mechanism allows also to consider the data quantization intro-

duced by ADC and DAC devices using the same word length during the conversion of

these data in the unsigned integer form.

In particular, in the COMEDI driver of the inverted pendulum, the channel 0 of the

DAC subdevice is the DC motor driving voltage, that corresponds to the input u, the

channel 0 of the ADC subdevice is the value of the output voltage of the potentiometer

y1 an the channel 0 of the counter subdevice is the output of the encoder y2. The same

assignment of channels and subdevices to input and output signals is maintained in the

Quanser pendulum to switch from the simulated to real plant without any modification on

the controller.

7.4.3 Experimental Results

A swing-up and balance controller has been developed. The swing-up control algorithm is

based on an unstable pendulum position control with limitation on the arm angle to avoid

the collision between the pendulum and the table during its oscillations, while the balance

controller is a LQR state feedback control based on the pendulum model, linearized at the

upward vertical position. The controller starts with the unstable position control and the

Page 124: Controller Design for Robot Arm

106 7. Realtime Simulation

Figure 7.4: The rotary inverted pendulum is balanced.

pendulum in the downward vertical position. When the pendulum is sufficiently near to

the vertical upward position, the controller switches to the balance control algorithm.

Estimation of angular velocities of both the pendulum and of the arm are essential to

realize a robust balance control. For this purpose, two state variable filters are used.

The control algorithms described above have been implemented in two different ways,

using Matlab/Simulink/RealTimeWorkshop and in C language. These two controllers did

not show any appreciable difference. The sampling time of the controller has been set to

1 ms.

After having verified that the controllers have the requested performance on the sim-

ulated plant, the control applications are switched -without any modification- to the real

plant and the response of the system has been recorded. The switch between the sim-

ulated and the real system is done simply by moving the association to the device file

/dev/comedi0 (used by the control application to acquire and send data from the COMEDI

realtime simulation driver) to the driver of the Sensoray 626 DAQ board using the instruc-

tion comedi_config8. In Fig. 7.4 it is possible to view the Quanser pendulummaintained

in the vertical upward position by the balance controller.

The comparison between the response of the simulated and the real plant are reported

in Fig. 7.5 and 7.6. In Fig. 7.5, it is possible to observe some differences between the re-

sponses of the two systems, caused by some parameters uncertainties and some neglected

8see COMEDI documentation for more details.

Page 125: Controller Design for Robot Arm

7.5. The Tendon-Sheath Lumped Parameter Model 107

0 2 4 6 8 10−7

−6

−5

−4

−3

−2

−1

0

1Real and Simulated Positions

Time [s]

Po

sitio

n [

rad

]

Arm (Real)Pendulum (Real)Arm (Simulated)Pendulum (Simulated)

Figure 7.5: Comparison between the positions of the real and the realtime simulated plant.

effects like static friction (see the first plot in Fig. 7.6).

During the test of the controller on the COMEDI realtime simulation driver, the execu-

tion time of the simulation task has been monitored. During several minutes of simulation,

the execution time has never exceeded the value of 16 µs, with an average value of 8.5 µsand a minimum value of 8.4 µs even under heavy system load caused by standard Linuxapplications, like massive hard-disk access, multimedia streaming or network navigation,

and the simultaneous execution of other RTAI tasks like latency test or xrtailab graphic

interface.

7.5 The Tendon-Sheath Lumped Parameter Model

In this section, the implementation of a realtime simulation driver for a lumped parameter

model is described and the response of the system is compared with the results of the sim-

ulation obtained usingMatlab/Simulink. The lumped parameter model of a tendon-sheath

transmission system presented in [28] has been chosen because, while the dimension of

the state space is larger that in the case of a standard mechatronic device like the one re-

ported in Sec. 7.4, the system dynamics is described by non-smooth nonlinear differential

equations.

This experiment has been conducted with the aim of testing the performances of the

realtime simulation environment in the case of systems with large state space dimension

and non-smooth differential equations.

Page 126: Controller Design for Robot Arm

108 7. Realtime Simulation

0 1 2 3 4 5 6 7 8 9 10−0.2

−0.1

0

0.1

0.2Difference in position

rad

ArmPendulum

0 1 2 3 4 5 6 7 8 9 10−10

−5

0

5

10Real and Simulated Velocities

Time [s]

Ve

locity [

rad

/s]

Arm (Real)Pendulum (Real)Arm (Simulated)Pendulum (Simulated)

Figure 7.6: Difference of positions and comparison between the velocities of the real and

the realtime simulated plant.

7.5.1 The Control System

In this case the simulations have been executed on a laptop computer, with Intel Cen-

trino processor at 1.6 GHz and 512 MB of RAM. The operating system is Debian-GNU

Linux SID, as in the previous case, but with kernel 2.6.14, RTAI 3.3 and GCC 3.3.6. The

COMEDI library version is the same used in the previous case.

7.5.2 The COMEDI Driver of the Tendon-Sheath System

A scheme representing the lumped parameter model of the tendon-sheath transmission

system is reported in Fig.7.7. The tendon-sheath lumped parameter model is described by

Actuator

EnvironmentTendon

mimi mi

ki kikiki

cicicici

Figure 7.7: Representation of the tendon-sheath lumped parameter model.

Page 127: Controller Design for Robot Arm

7.5. The Tendon-Sheath Lumped Parameter Model 109

the equations:

x0 = v0 (7.15)

v0 =1

m0[−c0(v0− v1)− k0(x0− x1)+u] (7.16)

xi = vi (7.17)

vi =1

mi

[

ci(vi+1−2vi+ vi−1)+ ki(xi+1−2xi+ xi−1)−Ff i]

(7.18)

Ff i = Kb

[

vi−2n Ff i |vi|

µγ ki(xi+1− xi−1)

]

(7.19)

i = 1, . . . ,n

xn+1 = vn+1 (7.20)

vn+1 =1

mn+1[−cn+1(vn− vn+1)− kn+1(xn− xn+1)− kenvxn+1+d] (7.21)

where xi, vi and Ff i are respectively the position, the velocity and the friction force acting

on the i-th tendon element, x0 and v0 are the position and the velocity of the actuator and

xn+1 and vn+1 are the position and the velocity of the load, u is the input force applied by

the actuator (e.g. the motor torque), d is the disturbance force applied to the load (e.g. the

gravity). The description of the other system parameters is reported in Tab. 7.2.

Eq. (7.19) describes the dynamics of the friction force of the i-th tendon element

according to the Dahl friction model [29]. It is important to note that this differential

equation, besides nonlinear, is non-smooth in vi = 0 because of the presence of the abso-lute value function and the typical high value of the contact bristle stiffness Kb.

The output vector of the system is:

y= [x0 xn+1 k0(x0− x1) kn+1(xn− xn+1)]T (7.22)

This set of output variables are chosen because in the experimental setup two poten-

tiometers are used to measure the position of output shaft of the actuator and the position

of the load and two load cells are used to measure the input and output tension of the

tendon.

Description Name Value Unit

Tendon internal viscous friction c0,...,n+1 0.004 N s m−1

Tendon element stiffness k0,...,n+1 6·104 N m−1

Tendon element mass m1,...,n 10−5 Kg

Coulomb friction coefficient µ 0.1186

Contact bristle stiffness Kb 103 N m−1

Tendon curvature angle γ π/4 rad

Tendon elements n 15

Environment stiffness kenv 102 N m−1

Table 7.2: The parameters of the tendon-sheath lumped parameter model.

Page 128: Controller Design for Robot Arm

110 7. Realtime Simulation

0 1 2 3 4 5 6 7 8 9 100

0.05

0.1

0.15

0.2Positions of the actuator and the load and tendon tensions

Po

sitio

n [

m]

Matlab input positionMatlab output positionRealtime input positionRealtime output position

0 1 2 3 4 5 6 7 8 9 100

5

10

15

20

Te

nsio

n [

N]

Time [s]

Input tensionMatlab output tensionRealtime output tension

Figure 7.8: Comparison between Matlab/Simulink and the realtime environment.

Eq. (7.15)-(7.22) are implemented in C in the COMEDI driver to test the realtime

simulation of the system. The realtime integration of these equations is performed with

an adaptive variable step 4th-order Runge-Kutta algorithm, with both relative and absolute

error set to 10−3 and sampling time of 1 ms.The input u and the output y of this system are then converted into the driver to the

standard unsigned integer representation used by COMEDI for the data acquired from

hardware devices. This mechanism allows also to consider the data quantization intro-

duced by ADC and DAC devices using the same word length during the conversion of

these data in the unsigned integer form.

In particular, in the COMEDI driver, the channel 0 of the DAC subdevice is the input

u, the channels from 0 to 3 of the ADC subdevice provide the value of the output vector

y.

7.5.3 Experimental Results

In this case only the openloop response of the system is reported and compared with the

results of the simulation on the Matlab/Simulink environment, see Fig. 7.8. It is important

to note that, while both input and output data in the COMEDI driver of the tendon are

quantized because of the presence of ADC and DAC, in Matlab/Simulink the simulation

data are not affected by quantization. This factor must be considered in the comparison of

the simulations. Also the duration of the simulation with Matlab/Simulink is many times

longer than the effectives 10 s on the same calculator.

Page 129: Controller Design for Robot Arm

7.6. Conclusions 111

The parameter n (the number of tendon elements) has been set to 15 to reduce the

simulation time and the results granularity. The considered tendon length is 0.1 m. It is

important to note that, with n = 15, the dimension of the state space is 49. The tendon-sheath lumped parameters model can be simulated in realtime with a sample time of 1 ms

and an average integration time of ∼400 µs. If the value of n is increased, the executiontime of the realtime integration algorithm increases very quickly as well. With n= 20 (thestate space dimension is 64) the integration algorithm is not able to provide a solution that

satisfy the desired relative error. The integration algorithm is stopped before the desired

precision is achieved to prevent the operating system starvation. In this case, to simulate

the system in realtime mode, a bigger integration error or a more powerful calculator is

necessary.

7.6 Conclusions

In this chapter, the implementation of a realtime environment for rapid prototyping of

digital control systems has been presented. The environment is based on RTAI-Linux and

on the COMEDI library, and its main feature is that it offers the possibility of simulating

in real time both the plant and the control law. Once the desired controller is obtained, the

control algorithm can be simply switched from the simulated to the real process without

any change in the software. Although being somehow limited to the RTAI-Linux envi-

ronment, the system would facilitate the implementation and rapid prototyping of digital

control systems.

This tool, besides for design purposes, has also been used as a teaching support in

courses on digital control as an alternative to standard laboratory setups. In this case, the

student may be asked to face both standard control design problems and aspects related

to implementation of multi-task realtime software.

Note that, if a proper model of the plant is available, with this system it is possible

to run simultaneously two identical controllers, one connected to the plant and one to

the simulator. This could help in the real time evaluation of the response of the plant to

the given commands before their real application, and also for supervision/fault detection

purposes.

An environment to obtain directly the COMEDI realtime simulation driver for a plant

described with the Modelica language, and the integration of this system with a 3D

graphic representation tools are object of future activity.

Page 130: Controller Design for Robot Arm

112 7. Realtime Simulation

Page 131: Controller Design for Robot Arm

8Conclusions

In this thesis, some problems related to the control of tendon actuated robots are consid-

ered, and suitable control solutions are proposed. The most important lesson learned from

the research activity carried out on this topic is that, while the use of tendons simplifies

the mechanical design and allows to reduced the dimension, the weight and the cost of the

robotic devices, it introduces some challenging problems from the control point of view

due, first of all, to the elasticity of the tendons and to the friction distributed along the

transmission chain. In antagonistic actuated robot, the use of tendons allows to partially

reduce the increment of mechanical complexity intrinsic in this actuation modality, but it

rises up the problem of tendon pretension due to their unilateral transmission character-

istic. These problems can be solved by a suitable choice of both the control law and the

mechanical implementation, even if, especially in the case of tendon-sheaths transmis-

sion, also a deeper comprehension of the dynamic model of the system can help in the

definition of controllers with better performance.

From my point of view, the use of tendon transmission systems are not so widespread

due to the above mentioned limitations. In this thesis, my aim is to show that solutions

exist to overcome the limits of this actuation modality. Both simulation results and exper-

imental activities confirm the effectiveness of tendon actuated robots in different fields,

like in object manipulation with the UB Hand 3 or in simultaneous stiffness/position con-

trol with the DLR’s antagonistic actuated joint.

The research activity presented in this thesis introduces some novel contributions in

the field of model and control of tendon actuated robotic devices:

• The development of a set of sensors and actuators for the control of tendon actuatedlightweight mechanical structures, like the fingers of the UB Hand 3;

• The definition of a new dynamic model of the tendon-sheath transmission systemsand of suitable solutions for the implementation of tendon tension control;

• The solution to the problem of the feedback linearization and decoupled stiffness/positioncontrol of antagonistic actuated robotic arms;

• The analysis of both the static and the dynamic characteristics of the DLR’s an-tagonistic actuated joint and the implementation of different stiffness/position con-

trollers for this device;

Page 132: Controller Design for Robot Arm

114 8. Conclusions

• The stability analysis of the feedback linearization (computed torque) control of arobotic manipulator based on velocity reconstruction from position informations by

means of linear filters.

Also in the field of realtime control systems, some new contributions are presented:

• A modular and device independent software architecture has been developed forthe realtime control of a complex mechatronic device, like the UB Hand 3. This

software architecture can be easily used for the control of several devices and with

different data acquisition systems;

• A live RTAI-Linux distribution has been built to give to the control system designera reliable software environment and a collection of useful tools for the development

of realtime control applications, avoiding all the problems related to the installation

and the tweak of the realtime operating system;

• A realtime algorithm for the simulation of dynamic systems. This realtime simula-tion environment has been successfully used as a teaching tool in automatic control

courses.

Future research activities can be addressed to improve the model of the tendon-sheath

transmission system, to the definition of new control laws for this actuation modality,

to the experimental evaluation of low-level tendon transmission controller integrated in

a more complex device like the UB Hand 3, to the evaluation of the response of robots

with antagonistic actuated joints, or more in general variable stiffness devices, during the

interaction with an external environment.

Page 133: Controller Design for Robot Arm

Bibliography

[1] K.S. Salisbury and B. Roth. Kinematics and force analysis of articulated mechanical

hands. In Journal of Mechanims, Transmissions and Actuation in Design, 1983. 1

[2] S.C. Jacobsen, E. Iversen, D. Knutti, R. Johnson, and K. Biggers. Design of the

Utah/Mit dexterous hand. In Proc. IEEE Int. Conf. on Robotics and Automation,

1986. 1

[3] C. Melchiorri and G. Vassura. Mechanical and control features of the UB Hand

version II. In Proc. IEEE/RSJ Int.Conf.on Intelligent Robots and Systems, IROS’92,

1992. 1

[4] K. Katsuta, W. Choe, H. Kino, and S. Kawamura. A design of parallel wire driven

robots for ultrahigh speed motion based on stiffness analysis. In Japan/USA Symp.

on Flexible Automation, pages 159–166, 1996. 1

[5] R. Verhoeven, M. Hiller, and S. Tadokoro. Workspace, stiffness, singularities and

classification of tendon-driven stewart-platforms. In Proceedings of the 6th Iner-

national Symposium on Advances in Robot Kinematics, ARK ’98, pages 105–114,

1998. 1

[6] G. Barrete and C.M. Gosselin. Kinematic analysis and design of planar parallel

mechanisms actuated with cables. In Proc. ASME Design Engineering Technical

Conf., pages 391–399, 2000. 1

[7] K. B. Shimoga and A. A. Goldenberg. Soft robotic fingertips - Part I: A comparison

of construction materials. The Int. Journal of Robotic Research, 15(4), 1996. 2.1

[8] K. B. Shimoga and A. A. Goldenberg. Soft robotic fingertips - Part II: A comparison

of construction materials. The Int. Journal of Robotic Research, 15(4), 1996. 2.1

[9] Y. Li and I.Kao. A review of modeling of soft-contact finger and stiffness control

of dexterous manipulation in robotic. In Proc. IEEE Int. Conf. on Robotic and Au-

tomation, Seoul, Korea, 2001. 2.1

[10] J. Butterfass, M. Grebenstein, H. Liu, and G. Hirzinger. DLR-Hand II: Next genera-

tion of a dextrous robot hand. In Proc. IEEE Int. Conf. on Robotics and Automation,

2001. 2.1

[11] H. Kawasaki, T. Komatsu, and K. Uchiyama. Dexterous anthropomorphic robot

hand with distributed tactile sensor: Gifu hand II. IEEE/ASME Transactions on

Mechatronics, 7(3):296–303, 2002. 2.1

Page 134: Controller Design for Robot Arm

116 Bibliography

[12] F. Lotti and G. Vassura. A novel approach to mechanical design of articulated finger

for robotic hands. In Proc. IEEE/RSJ IROS Int. Conf. on Intelligent Robot and

Systems, 2002. 2.1, 3.1, 4.1, 4.2

[13] F. Lotti, P. Tiezzi, and G. Vassura. Poliurethane gel pulps for robotic fingers. In

Proc. Int. Conf. on Advanced Robotics, 2003. 2.1

[14] L. Biagiotti, F. Lotti, C. Melchiorri, P. Tiezzi, and G. Vassura. UBH 3: an anthropo-

morphic hand with simplied endo-skeletal structure and soft continuous fingerpads.

In Proc. IEEE Int. Conf. on Robotics and Automation, 2004. 2.1, 2.4, 3.1, 3.5, 4.1

[15] L. Biagiotti, F. Lotti, C. Melchiorri, G. Palli, P. Tiezzi, and G. Vassura. Development

of UB Hand 3: Early results. In Proc. IEEE Int. Conf. on Robotics and Automation,

2005. 2.1, 3.1, 3.5, 4.1

[16] C.S. Lovchik and M.A. Diftler. The robonaut hand: a dexterous robot hand for

space. In Proc. IEEE Int. Conf. on Robotics and Automation, 1999. 2.2.1

[17] N. Hogan. Impedance control: An approach to manipulation, parts I-III. ASME

Journal of Dynamic Systems, Measurement and Control, 107:1–24, 1985. 2.3, 3.1

[18] S. Stramigioli, C. Melchiorri, and S. Andreotti. A passivity-based control scheme

for robotic grasping and manipulation. In Proc. of the 38th IEEE Conference on

Decision and Control, 1999. 2.3

[19] P. Mantegazza. E. Bianchi, L. Dozio. A Hard Real Time support for LINUX. Dipar-

timento di Ingegneria Aerospaziale, Politecnico di Milano. www.rtai.org. 2.6

[20] D. Schleef. COMEDI - The Control and Measurement Device Interface web page.

http://www.comedi.org/, Online. 2.6, 7.1

[21] Roberto Bucher, Simone Mannori, and Thomas Netter. RTAI-Lab tutorial: Scilab,

Comedi, and real-time control, 2006. 2.6

[22] Ali Nahvi, John M. Hollerbach, Yangming Xu, and Ian W. Hunter. Investigation

of the transmission system of a tendon driven robot hand. In IEEE International

Conference on Intelligent Robots and Systems, volume 1, pages 202 – 208, 1994.

3.1

[23] Hong Liu, Joerg Butterfass, Stefan Knoch, Peter Meusel, and Gerd Hirzinger. New

control strategy for DLR’s multisensory articulated hand. IEEE Control Systems

Magazine, 19(2):47–54, 1999. 3.1

[24] W. Townsend and J. Jr. Salisbury. The effect of coulomb friction and stiction on

force control. In Robotics and Automation. Proceedings. 1987 IEEE International

Conference on, volume 4, pages 883 – 889, Mar 1987. 3.1

Page 135: Controller Design for Robot Arm

Bibliography 117

[25] M. Kaneko, T. Yamashita, and K. Tanie. Basic considerations on transmission

characteristics for tendon drive robots. In Advanced Robotics, 1991. ’Robots in

Unstructured Environments’, 91 ICAR., Fifth International Conference on, pages

Page(s):827 – 832 vol.1, 1991. 3.1, 3.2, 3.5

[26] M. Kaneko, M. Wada, H. Maekawa, and K. Tanie. A new consideration on tendon-

tension control system of robot hands. In Robotics and Automation, 1991. Proceed-

ings., 1991 IEEE International Conference on, pages Page(s):1028 – 1033 vol.2,

1991. 3.1, 3.3, 3.5

[27] M. Kaneko, W. Paetsch, and H. Tolle. Input-dependent stability of joint torque

control of tendon-driven robot hands. In Industrial Electronics, IEEE Transactions

on, volume 39, Issue 2, pages 96 – 104, April 1992. 3.1

[28] G. Palli and C. Melchiorri. Model and control of tendon-sheath transmission system.

In Proc. IEEE Int. Conf. on Robotics and Automation, 2006. 3.1, 3.5, 7.5

[29] H. Olsson, K. J. Astrom, C. Canudas de Wit, M. Gafvert, and P. Lischinsky. Friction

models and friction compensation. European Journal of Control, 1998. 3.1, 3.3,

3.3, 7.5.2

[30] H. Olsson, K. J. Astrom, C. Canudas de Wit, and P. Lischinsky. A new model for

control of systems with friction. In IEEE Transactions on Automatic Control, 1995.

3.2

[31] P. Dupont, V. Hayward, B. Armstrong, and F. Altpeter. Single state elastoplastic

friction models. In IEEE Transactions on Automatic Control, 2002. 3.2

[32] G. Basile and G. Marro. Controlled and Conditioned Invariants in Linear System

Theory. Prentice Hall, 1992. 3.5.2

[33] A. De Luca. Dynamic control of robots with joint elasticity. In Proc. IEEE Int. Conf.

on Robotics and Automation, pag. 152-158 vol.1, 1988. 4.1, 4.3

[34] M. Vukobratovi, V. Matijevi, and V. Potkonjak. Control of robots with elastic joints

interacting with dynamic environment. J. Intell. Robotics Syst., 23(1):87–100, 1998.

4.1

[35] M. W. Spong. Modeling and control of elastic joint robots. Journal of Dynamic

Systems, Measurement, and Control, 109(4):310–319, 1987. 4.1, 4.2, 4.3

[36] A. De Luca and P. Lucibello. A general algorithm for dynamic feedback lineariza-

tion of robots with elastic joints. In Proc. IEEE Int. Conf. on Robotics and Automa-

tion, pages 504–510 vol.1, 1998. 4.1, 4.3

Page 136: Controller Design for Robot Arm

118 Bibliography

[37] A. Bicchi, S. Lodi Rizzini, and G. Tonietti. Compliant design for intrinsic safety:

General issue and preliminariey design. In Proc. of IEEE/RSJ Int. Conf. on Intelli-

gent Robots and Systems, 2001. 4.1

[38] A. Bicchi and G. Tonietti. Fast and soft arm tactics: Dealing with the safety-

performance trade-off in robot arms design and control. IEEE Robotics and Au-

tomation Magazine, 11(2):22–33, 2004. 4.1, 4.2

[39] G. Tonietti, R. Schiavi, and A. Bicchi. Design and control of a variable stiffness

actuator for safe and fast physical human/robot interaction. In Proc. IEEE Int. Conf.

on Robotics and Automation, pages 528–533, 2005. 4.1, 5.1

[40] G. Hirzinger, A. Albu-Schaffer, M. Hahnle, I. Schafer, and N. Sporer. On a new

generation of torque controlled light-weight robots. In Proc. IEEE Int. Conf. on

Robotics and Automation, volume 4, pages 3356–3363, 2001. 4.1

[41] G. Hirzinger, N. Sporer, A. Albu-Schaffer, M. Hahnle, R. Krennand A. Pascucci,

and M. Schedl. DLR’s torque-controlled light weight robot III - Are we reaching

the technological limits now? In Proc. IEEE Int. Conf. on Robotics and Automation,

pages 1710–1716, 2002. 4.1

[42] S. A.Migliore, E. A. Brown, and S. P. DeWeerth. Biologically inspired joint stiffness

control. In Proc. IEEE Int. Conf. on Robotics and Automation, 2005. 4.1, 4.5, 4.5.1,

5.1, 5.2, 5.3.1

[43] G. Palli, C. Melchiorri, T. Wimbock, M. Grebenstein, and G. Hirzinger. Variable

stiffness control of the DLR’s antagonistic actuated joint. In Submitted to IFAC

Trans. on MECHATRONICS, 2007. 4.1, 4.5, 4.5.2, 5.1

[44] G. Palli. Model and control of anthropomorphic robotic hands through visual servo-

ing. Master’s thesis, University of Bologna, Dept. of Electronic, Computer Science

ans Systems, 2003. (in italian). 4.1, 4.2

[45] P. Tomei. A simple PD controller for robots with elastic joints. In IEEE Trans. on

Automatic Control, volume 36, pages 1208–1213, 1991. 4.2

[46] A. Isidori. Nonlinear Control Systems, 3rd edition. Springer-Verlag New York, Inc.,

1995. 4.2, 4.3, 5.5, 5.5.1, 5.5.1

[47] A. De Luca and P. Tomei. Theory of Robot Control, chapter Elastic Joints. Springer-

Verlag New York, Inc., 1996. 4.2, 5.5

[48] A. De Luca and L. Lanari. Robots with elastic joints are linearizable via dynamic

feedback. In Proc. 34th IEEE Int. Conf. Decision and Control, pages 3895–3897

vol.4, 1995. 4.3

Page 137: Controller Design for Robot Arm

Bibliography 119

[49] Farrokh Janabi-Sharifi, Vincent Hayward, and Chung-Shin J. Chen. Discrete-time

adaptive windowing for velocity estimation. IEEE Trans. on Control Systems tech-

nology, 8(6):1003+, 2000. 4.4, 5.5.1, 5.6.1, 6.1

[50] K. H. Hunt and F. R. E. Crossley. Coeffcient of restitution interpreted as damping in

vibroimpact. ASME Journal of Appl. Mech., 1975. 4.5.2, 5.2

[51] C. Melchiorri L. Biagiotti, P. Tiezzi and G. Vassura. Modelling and identification of

soft pads for robotic hands. In Proc. IEEE/RSJ Int. Conf. on Intelligent Robots and

Systems, 2005. 4.5.2, 5.2

[52] N. Diolaiti, C. Melchiorri, and S. Stramigioli. Contact impedance estimation for

robotic systems. In IEEE Transactions on Robotics, volume 21, 2005. 4.5.2, 5.2,

5.6.2

[53] G. Palli, C. Melchiorri, T. Wimbock, M. Grebenstein, and G. Hirzinger. Feedback

linearization and simultaneous stiffness-position control of robots with antagonistic

actuated joints. In IEEE Int. Conf. on Robotics and Automation, 2007. 5.5, 5.5.2

[54] A. De Luca, R. Farina, and P. Lucibello. On the control of robots with visco-elastic

joints. In Proc. IEEE Int. Conf. on Robotics and Automation, 2005. 5.5.1

[55] C. Cao, A. Annaswamy, and A. Kojic. Parameter convergence in nonlinearly param-

eterized systems. In IEEE Trans. on Autom. Control, volume 48, pages 397–412,

2003. 5.6.2

[56] M. Brunt, G. Honderd, and W. Jongkind. Accurate motion control using improved

discrete state variable filtering. In Proc. 8th Int. Conf. on Advanced Robotics ICAR

’97, 1997. 6.1

[57] R. Kelly, V. Santibanez, and A. Lorıa. Control of Robot Manipulators in Joint Space.

Springer, 2005. 6.1, 6.2, 6.2, 6.4.2

[58] F. L. Lewis, D. M. Dawson, and C. T. Abdallah. Robot Manipulator Control: Theory

and Practice. Marcel Dekker Inc., 2003. Second Edition. 6.1, 6.2, 6.4.1

[59] G. Ciccarella, M. Dalla Mora, and A. Germani. A Luenberger-like observer for

nonlinear systems. International Journal of Control, 57(3):537–556, 1993. 6.1

[60] S. Nicosia and P. Tomei. Robot control by using only joint position measurements.

In IEEE Trans. on Automatic Control, volume 35, 1990. 6.1

[61] C. Canudas de Wit and N. Fixot. Robot control via robust estimated state feedback.

In IEEE Trans. on Automatic Control, volume 36, pages 1497–1501, 1991. 6.1

[62] C. Canudas de Wit, N. Fixot, and K.J. Astrom. Trajectory tracking in robot ma-

nipulators via nonlnear estimated state feedback. In IEEE Trans. on Robotics and

Automation, volume 8, pages 138–144, 1992. 6.1

Page 138: Controller Design for Robot Arm

120 Bibliography

[63] W. Khalil and E. Dombre. Modeling , Indetification and Control of Robots. Ermes

Penton Science, 2002. 6.2

[64] Scilab. Scilab web page. http://www.scilab.org/, 2006. 7.1

[65] The MathWorks. Mathworks web page. http://www.mathworks.com/, 2006. 7.1

[66] Peter Fritzson and Vadim Engelson. Modelica - A unified object-oriented language

for system modeling and simulation. Lecture Notes in Computer Science, 1445:67–,

1998. 7.1, 7.1

[67] Mufid Abudiab. The interfacing of Mathematica with a variety of computing envi-

ronments. Journal of Computing Sciences in Colleges, 17(5):175–185, 2002. 7.1,

7.3

[68] C. Bonivento, A. Tonielli, and C. Melchiorri. A pc-based rapid prototyping work-

station for the design of motion control systems. In 1st IFAC Conf. on Mechatronic

Systems, Darmstadt, Germany, Sept. 18-20 2000. 7.1

[69] D. Beal, E. Bianchi, L. Dozio, S. Hughes, P. Mantegazza, and S. Papacharalambous.

RTAI: Real Time Applications Interface. Linux Journal, April 2000. 7.1

[70] P. Cloutier, P. Mantegazza, S. Papacharalambous, I. Soanes, S. Hughes, and K. Yagh-

mour. DIAPM-RTAI Position Paper. In 2nd Real-Time Linux Workshop 2000, Or-

lando, Florida, USA, November 27-30 2000. Real-Time Linux Foundation. 7.1

[71] G. Ferretti, M. Gritti, G. Magnani, G. Rizzi, and P. Rocco. Real-time simulation of

modelica models under Linux / RTAI. In Gerhard Schmitz, editor, Proceedings of

the 4th International Modelica Conference, Hamburg, Germany, March 7-8, 2005.

7.1

[72] R. Bucher and L. Dozio. CACSD under RTAI Linux with RTAI-Lab. In Realtime

Linux Workshop, Valencia, Spain, 2003. 7.1, 7.4.1

[73] R. Bucher and L. Dozio. Rapid control prototyping with Scilab/Scicos and Linux

RTAI. In Scilab-2004, 1st Scilab International Conference, December 2-3 2004.

7.1, 7.4.1

[74] Mark Galassi, Jim Davies, J. Theiler, B. Gough, G. Jungman, M. Booth, and

F. Rossi. GNU Scientific Library Reference Manual. Network Theory Ltd., 2 edition,

2003. Avaiable online: http://www.gnu.org/software/gsl/manual/. 7.1

[75] William H. Press, Saul A. Teukolsky, William T. Vetterling, and Brian P. Flannery.

Numerical Recipes in C: The Art of Scientific Computing. Cambridge University

Press, New York, NY, USA, 1992. 7.2

[76] Quanser. Quanser web page. http://www.quanser.com/, 2005. 7.4

Page 139: Controller Design for Robot Arm

Bibliography 121

[77] K. Fogel andM. Bar. Open Source Development with CVS, Third Edition. Paraglyph

Press, 2003. Avaiable online: http://cvsbook.red-bean.com/. 4

[78] K. Knopper. Knoppix web page. http://www.knoppix.org/, Online. 7.4.1