ROBOTICS 01PEEQW Basilio Bona DAUIN Politecnico di Torino - - PowerPoint PPT Presentation

robotics 01peeqw
SMART_READER_LITE
LIVE PREVIEW

ROBOTICS 01PEEQW Basilio Bona DAUIN Politecnico di Torino - - PowerPoint PPT Presentation

ROBOTICS 01PEEQW Basilio Bona DAUIN Politecnico di Torino Control Part 4 Other control strategies These slides are devoted to two advanced control approaches, namely Operational space control Interaction control The


slide-1
SLIDE 1

ROBOTICS 01PEEQW

Basilio Bona DAUIN – Politecnico di Torino

slide-2
SLIDE 2

Control – Part 4

slide-3
SLIDE 3

These slides are devoted to two advanced control approaches, namely Operational space control Interaction control The desired trajectory is planned in the operational (i.e., cartesian) space, specifying both the TCP position and the orientation (i,.e., the pose) The control laws are designed to operate at the joint actuation, using position, velocity and acceleration of joints this means that the inverse kinematic functions must be known, at least for the joint position, or on inverse Jacobian (when the position is approximated by some integration algorithm) for joint velocity and acceleration the algorithms are often based on numerical differentiation

Basilio Bona ROBOTICS 01PEEQW - 2016/2017

Other control strategies

3

slide-4
SLIDE 4

A different solution can be found, by defining the control directly in the

  • perational space, instead in the joint space

In this case the error is given by the difference from the desired cartesian pose and the measured one; it is therefore necessary to know the direct kinematic function in order to compute the achieved pose from the present joint values Now the feedback control loops do not need the kinematic inversion, but they include the coordinate transformation joint -> pose

Basilio Bona 4 ROBOTICS 01PEEQW - 2016/2017

Operational Space Control

slide-5
SLIDE 5

The operational space control algorithms are “heavy” from the computational point of view; this may impact on the sampling time choice, which cannot be too short, with the consequent degradation of the control performances Joint space control algorithms are usually able to obtain a satisfactory motion control of the robot Operational space control algorithms are necessary when the robot TCP interacts with the external environment, and/or it is necessary to control the forces/torques exchanged with the environment

Basilio Bona 5 ROBOTICS 01PEEQW - 2016/2017

Operational Space Control

slide-6
SLIDE 6

In general two general approaches are available Jacobian Inverse control Jacobian Transpose control The operational approach requires the analytical (i.e., operational or task) Jacobian In both cases, in the feedback loop the direct kinematic equation is required to transform joints into pose. If the desired pose is known, the pose error is defined as

Basilio Bona 6 ROBOTICS 01PEEQW - 2016/2017

Operational Space Control ( ) ( ) ( ) ( )

p d

t t t t ∆ = = − p e p p ( ) ( ); ( ) t t → = q p p f q i.e.,

slide-7
SLIDE 7

In this scheme we assume that the error in the pose is small, so that

  • ne can apply the inverse Jacobian and obtain

Then the control torque is computed multiplying the joint error for a suitable gain

Basilio Bona 7 ROBOTICS 01PEEQW - 2016/2017

Operational Space Control: Jacobian inverse

( )

1

( ) ( ) ( )

a

t J t t ∆ ∆

= q q p ( ) ( )

c t

t ∆ = K q τ

slide-8
SLIDE 8

Basilio Bona 8 ROBOTICS 01PEEQW - 2016/2017

Operational Space Control: Jacobian inverse

Gain matrix

ROBOT

1( ) a

J − q K ( ) f q

Direct kinematics

∆p q ∆q p

d

p

c

τ

+ ‒

slide-9
SLIDE 9

Since the control torque is the resulting controlled system can be interpreted as a generalized elastic spring, whose elastic coefficients are given by the gain elements If the gain matrix is diagonal, the elastic elements are independent ,

  • ne for every joint

Basilio Bona 9 ROBOTICS 01PEEQW - 2016/2017

Operational Space Control: Jacobian inverse

c

∆ = K q τ

slide-10
SLIDE 10

In this scheme the pose error is not transformed into a joint error, but directly multiplied by a gain matrix The output of the previous block can be considered as an elastic force in the operational space, produced by a generalized spring, whose scope is to zero the pose error In other words the resulting force drives the TCP along a direction such that the pose error is reduced The elastic force in the operational space is now transformed into the corresponding torque to be applied to the joints, using the Jacobian transpose, as dictated by the kineto-static relations

Basilio Bona 10 ROBOTICS 01PEEQW - 2016/2017

Operational Space Control: Jacobian transpose

slide-11
SLIDE 11

G

Basilio Bona 11 ROBOTICS 01PEEQW - 2016/2017

Operational Space Control: Jacobian transpose

Gain matrix

( )

a

J q

T

( ) f q

Direct kinematics

∆p q ∆q p

d

p

c

τ ROBOT

+ ‒

slide-12
SLIDE 12

The operational space control schemes presented above, are to be considered only as generic architectures, since their direct application do not guarantee stability or accuracy It is necessary to improve them, embedding their principles in more rigorous architectures. These are PD control with gravity compensation Inverse dynamics control

Basilio Bona 12 ROBOTICS 01PEEQW - 2016/2017

Operational Space Control

slide-13
SLIDE 13

The user wants to attain a desired cartesian pose; the control objective consists in reducing to zero the pose error This objective is achieved setting a nonlinear gravity compensation in the joint space and adding a PD linear compensator in the operational space The system reaches an asymptotically stable system corresponding to

Basilio Bona 13 ROBOTICS 01PEEQW - 2016/2017

PD control with gravity compensation

( )

( ) ( ) ( ) ( )

a P d D a

= + − − ɺ u g q J q K p p K J q q

T

( ) ( ) ( )

p d

t t t = − e p p ( ) ( )

a P d −

= J q K p p

T

gravity compensation PD control term

slide-14
SLIDE 14

Basilio Bona 14 ROBOTICS 01PEEQW - 2016/2017

PD control with gravity compensation

ROBOT

( ) g q q q ɺ ( )

a

J q

T

+ +

( )

a

J q

D

K ( ) f q

Direct kinematics

p

d

p

+ ‒

P

K

p ɺ

+ ‒

Jacobian transpose

∆q

c

τ

slide-15
SLIDE 15

Basilio Bona 15 ROBOTICS 01PEEQW - 2016/2017

( ) ( , )

c

+ = M q q h q q u ɺɺ ɺ ( )

r c c +

− q u h a M ɺɺ ≐

c

= e a ɺɺ

slide-16
SLIDE 16

Basilio Bona 16 ROBOTICS 01PEEQW - 2016/2017

Inverse dynamics control in operational space

slide-17
SLIDE 17

ROBOT

Basilio Bona 17 ROBOTICS 01PEEQW - 2016/2017

Inverse dynamics control in operational space

q q ɺ ( )

a

J q

T

+ +

Direct kinematics

p

d

p

+ ‒

P

K

+

c

τ ( )

a

J q ɺ p

D

K

d

ɺ p

( , ) h q q ɺ

( ) M q ( ) f q

+ ‒

( , )

a

ɺ ɺ J q q

+ +

d

ɺɺ p

slide-18
SLIDE 18

All operational space schemes require the Jacobian computation In singularity configurations the algorithms may get stuck and do not work Moreover, all the above schemes require a minimal representation of the orientation (three angles appearing in the definition of the analytical Jacobian) When this is not possible or not preferred, it is necessary to compute the geometrical Jacobian, that makes the stability analysis of the algorithm much more complex

Basilio Bona 18 ROBOTICS 01PEEQW - 2016/2017

General notes

slide-19
SLIDE 19

Many tasks require that the TCP remains in contact with an external surface or object manipulation capabilities In these cases it is no more sufficient to control the manipulator motion; it is necessary to manage the interaction of the TCP with the environment The environment imposes constraints on paths or trajectories than can be actually followed by the TCP. A simple position control would require a perfect knowledge of the geometrical and mechanical characteristics of the environment Small motion errors could generate high contact forces, able to modify the TCP trajectory; the controller action could saturate the actuators

Basilio Bona 19 ROBOTICS 01PEEQW - 2016/2017

Interaction Control

slide-20
SLIDE 20

The main quantity that characterizes the interaction is the TCP contact force and this becomes the controlled quantity The main idea behind the interaction control is to act on the compliance of the robot+environment system, either actively or passively The robot+environment system can be represented by an equivalent generalized spring, whose coefficient (or coefficient matrix in multidimensional case) becomes the control design objective Stiffness (or rigidity) and compliance are reciprocal terms measured by the stiffness coefficient k or its inverse 1/k

Basilio Bona 20 ROBOTICS 01PEEQW - 2016/2017

Interaction Control and Compliance

slide-21
SLIDE 21

The robot compliance can be altered using passive components, i.e., adding suitable devices on the robot wrist, that react to external forces in a predefined satisfactory way. A Remote Compliance Center (RCC) inserts a passive device able to apply different level of compliance between the robot and the external surface; in the case shown below the compliance is higher in the lateral direction, while in vertical direction the device is quite rigid

Basilio Bona 21 ROBOTICS 01PEEQW - 2016/2017

Passive Compliance Control

slide-22
SLIDE 22

Unfortunately these devices are of limited use, since they are not adaptable to different environments, mainly when the robot must move and at the same tine apply controlled forces/torques to the external environment Therefore active compliance control is suggested, since is more versatile, allowing an active control of the interaction forces. The price to pay for versatility is Increased control complexity Approximate knowledge of the physical characteristics of the surfaces in contact with the robot.

Basilio Bona 22 ROBOTICS 01PEEQW - 2016/2017

Passive vs Active Compliance Control

slide-23
SLIDE 23

Two general strategies can be defined: indirect and direct force control Indirect Force Control: The controlled force is obtained through a motion control No force feedback loop is present Main techniques: stiffness control and impedance control Direct Force Control : In addition to a position and/or velocity loop, a force feedback loop is also present Position and force can be controlled along different directions/subspaces (hybrid control)

Basilio Bona 23 ROBOTICS 01PEEQW - 2016/2017

Active Compliance Control

slide-24
SLIDE 24

The basic approach is presented using a one dof system; the applied force is along the horizontal direction The environment surface or the robot TCP are assumed to have a finite stiffness (i.e., some compliance) The surface is slightly deformed due to the applied force The reference position is never reached

Basilio Bona 24 ROBOTICS 01PEEQW - 2016/2017

Stiffness Control – 1 dof

Current TCP position Reference position Undeformed Surface position

slide-25
SLIDE 25

The force applied by the TCP is where ke is stiffness coefficient of the contact surface The dynamic equation can therefore be written as No gravity is assumed to act on the force direction

Basilio Bona 25 ROBOTICS 01PEEQW - 2016/2017

Stiffness Control – 1 dof

( )

e e e

f k x x = − ( )

e e c

mx k x x f + − = ɺɺ

Equivalent mass Control force

slide-26
SLIDE 26

Since no gravity is present, the control algorithm can be a PD compensator, since no integrative action is required Replacing the control force in the previous equation one obtains the controlled system dynamics equation as With a suitable choice of the PD gains the controlled system is asymptotically stable

Basilio Bona 26 ROBOTICS 01PEEQW - 2016/2017

Stiffness Control – 1 dof

( )

c P r D

f K x x K x = − − ɺ ( ) ( ) ( )

e e P r D D P e e e P r

mx k x x K x x K x mx K x K k x k x K x + − = − − + + + = + ɺɺ ɺ ɺɺ ɺ

PD gains

slide-27
SLIDE 27

Basilio Bona 27 ROBOTICS 01PEEQW - 2016/2017

Stiffness Control – 1 dof

slide-28
SLIDE 28

Basilio Bona 28 ROBOTICS 01PEEQW - 2016/2017

Stiffness Control – 1 dof

slide-29
SLIDE 29

Basilio Bona 29 ROBOTICS 01PEEQW - 2016/2017

Stiffness Control – 1 dof

slide-30
SLIDE 30

Basilio Bona 30 ROBOTICS 01PEEQW - 2016/2017

Stiffness Control – n dof

slide-31
SLIDE 31

Basilio Bona 31 ROBOTICS 01PEEQW - 2016/2017

Stiffness Control – n dof

slide-32
SLIDE 32

Basilio Bona 32 ROBOTICS 01PEEQW - 2016/2017

Stiffness Control – n dof

slide-33
SLIDE 33

Basilio Bona 33 ROBOTICS 01PEEQW - 2016/2017

Stiffness Control – n dof

The desired reference pose

slide-34
SLIDE 34

Basilio Bona 34 ROBOTICS 01PEEQW - 2016/2017

Stiffness Control – n dof

slide-35
SLIDE 35

This type of control is based on the design of a desired mechanical behavior of the manipulator in contact with the environment. This behavior is described by a dynamic mechanical impedance function The mechanical impedance is a second order differential equation model corresponding to a mass-spring-damper system This type of control is often used when the forces exchanged with the environment are not required to be accurate, but it is sufficient to limit them to some level, as in the case of assemblage operations

Basilio Bona 35 ROBOTICS 01PEEQW - 2016/2017

Impedance Control

slide-36
SLIDE 36

Basilio Bona 36 ROBOTICS 01PEEQW - 2016/2017

Impedance Control – 1 dof

slide-37
SLIDE 37

Basilio Bona 37 ROBOTICS 01PEEQW - 2016/2017

Impedance Control – 1 dof

slide-38
SLIDE 38

Basilio Bona 38 ROBOTICS 01PEEQW - 2016/2017

Impedance Control – n dof

slide-39
SLIDE 39

Basilio Bona 39 ROBOTICS 01PEEQW - 2016/2017

Impedance Control – n dof

slide-40
SLIDE 40

Basilio Bona 40 ROBOTICS 01PEEQW - 2016/2017

Impedance Control – n dof

slide-41
SLIDE 41

Basilio Bona 41 ROBOTICS 01PEEQW - 2016/2017

Impedance Control – practical considerations

slide-42
SLIDE 42

Basilio Bona 42 ROBOTICS 01PEEQW - 2016/2017

Indirect Force Control – Conclusions

The indirect force control presented in the previous slides is obtained acting indirectly on the desired pose of the TCP through the motion control system The interaction between the environment and the TCP is directly influenced by the compliance of the environment surface and either the impedance or the compliance of the manipulator If one wants to control the contact force in a more accurate way one must specify directly the contact force

slide-43
SLIDE 43

Basilio Bona 43 ROBOTICS 01PEEQW - 2016/2017

Direct Force Control

We use this approach to set exact values of the contact force not only in equilibrium, as the previous cases, but during the entire time history The force measurements are affected by a considerable noise level and this makes unsuitable to use a PD scheme: the force derivatives will amplify the noise and make the scheme useless. The stabilizing action shall be provided by a damping of the velocity terms and this can be achieved using velocity measurements (and often also position measurements) All direct force schemes are based on an additional outer force regulation feedback loop, in addition to the usual motion loop based

  • n inverse dynamics
slide-44
SLIDE 44

Basilio Bona 44 ROBOTICS 01PEEQW - 2016/2017

Direct Force Control

slide-45
SLIDE 45

Basilio Bona 45 ROBOTICS 01PEEQW - 2016/2017

Direct Force Control

slide-46
SLIDE 46

Basilio Bona 46 ROBOTICS 01PEEQW - 2016/2017

Direct Force Control

slide-47
SLIDE 47

Manipulation tasks may be subject to or require complex contact situations between the robot and the environment Some directions in the operational space are subject to the TCP pose constraints, others are subject to the interaction force constraints It is NOT POSSIBLE to simultaneously specify POSE AND FORCE along each direction In a real case of contact interaction of the TCP with the environment, both kinematic and dynamic aspects are involved

Basilio Bona 47 ROBOTICS 01PEEQW - 2016/2017

Constrained Motion

slide-48
SLIDE 48

Kinematic constraints on the TCP motion arise due to the contact with the environment. Reaction forces/torques are produced when the TCP violates the constraints The TCP exerts also dynamic forces/torques on the environment, when environment dynamics are important, as in the case of compliance The compliance of the TCP due to the structural compliance of the robotic chain (both in links and in joints), as well as the compliance of force/torque sensors mounted on the TCP, may affect the contact force/torque values Contact surfaces may locally present a deformation due to interaction. Static and/or dynamic friction may arise when surfaces are not ideally smooth

Basilio Bona 48 ROBOTICS 01PEEQW - 2016/2017

Constrained Motion

slide-49
SLIDE 49

In most typical cases it is possible to define a local reference frame, called the constrain frame Rc with respect to which the constraints imposed by the environment are simple to describe Any axis of Rc corresponds to two degrees of freedom One associated to the linear velocity or to the linear force along the axis direction One associated to the angular velocity or the angular momentum around the axis If the environment is rigid and no friction is present, the axes of Rc decompose the operational space into

  • Directions along which a pure position/velocity control can be applied
  • Directions along which a pure force/torque control can be applied

Basilio Bona 49 ROBOTICS 01PEEQW - 2016/2017

Constrained Motion

slide-50
SLIDE 50

Assuming to have fixed Rc we distinguish between natural constraints and artificial constraints Natural constraints are those determined by the task and environment geometry Along each dof there is a natural constraint in

Velocity: impossibility to perform translations or rotations Force: impossibility to apply forces or torques along or around the considered axis

Artificial constraints are those determined by the strategies adopted for the task execution and its specifications Along each dof there is a natural constraint in

These constraints determine the reference values for the variables not subject tot the natural constraints; i.e., those that can be controlled di the robot

Basilio Bona 50 ROBOTICS 01PEEQW - 2016/2017

Constraints

slide-51
SLIDE 51

Natural and artificial constraints are always complementary, since it is not possible to assign position/velocity and force values at the same time along the same direction The constraints completely describe the task to be performed In the complete case we have six natural constraint and six artificial constraints for each dof

Basilio Bona 51 ROBOTICS 01PEEQW - 2016/2017

Constraints

slide-52
SLIDE 52

Peg insertion in a cylindrical hole with desired velocity vd

Basilio Bona 52 ROBOTICS 01PEEQW - 2016/2017

Examples

x y z

slide-53
SLIDE 53

Screw motion

Basilio Bona 53 ROBOTICS 01PEEQW - 2016/2017

Examples

x y z

slide-54
SLIDE 54

Basilio Bona 54 ROBOTICS 01PEEQW - 2016/2017

Constraints and Selection Matrices

slide-55
SLIDE 55

Basilio Bona 55 ROBOTICS 01PEEQW - 2016/2017

Constraints and Selection Matrices

slide-56
SLIDE 56

Basilio Bona 56 ROBOTICS 01PEEQW - 2016/2017

Constraints and Selection Matrices

slide-57
SLIDE 57

Basilio Bona 57 ROBOTICS 01PEEQW - 2016/2017

Constraints and Selection Matrices

slide-58
SLIDE 58

Basilio Bona 58 ROBOTICS 01PEEQW - 2016/2017

Constraints and Selection Matrices – an example