ROBOTICS 01PEEQW Basilio Bona DAUIN Politecnico di Torino - - PowerPoint PPT Presentation
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
Control – Part 4
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
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
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
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.,
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 τ
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
τ
+ ‒
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 τ
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
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
+ ‒
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
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
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
τ
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 ɺɺ
Basilio Bona 16 ROBOTICS 01PEEQW - 2016/2017
Inverse dynamics control in operational space
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
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
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
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
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
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
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
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
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
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
Basilio Bona 27 ROBOTICS 01PEEQW - 2016/2017
Stiffness Control – 1 dof
Basilio Bona 28 ROBOTICS 01PEEQW - 2016/2017
Stiffness Control – 1 dof
Basilio Bona 29 ROBOTICS 01PEEQW - 2016/2017
Stiffness Control – 1 dof
Basilio Bona 30 ROBOTICS 01PEEQW - 2016/2017
Stiffness Control – n dof
Basilio Bona 31 ROBOTICS 01PEEQW - 2016/2017
Stiffness Control – n dof
Basilio Bona 32 ROBOTICS 01PEEQW - 2016/2017
Stiffness Control – n dof
Basilio Bona 33 ROBOTICS 01PEEQW - 2016/2017
Stiffness Control – n dof
The desired reference pose
Basilio Bona 34 ROBOTICS 01PEEQW - 2016/2017
Stiffness Control – n dof
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
Basilio Bona 36 ROBOTICS 01PEEQW - 2016/2017
Impedance Control – 1 dof
Basilio Bona 37 ROBOTICS 01PEEQW - 2016/2017
Impedance Control – 1 dof
Basilio Bona 38 ROBOTICS 01PEEQW - 2016/2017
Impedance Control – n dof
Basilio Bona 39 ROBOTICS 01PEEQW - 2016/2017
Impedance Control – n dof
Basilio Bona 40 ROBOTICS 01PEEQW - 2016/2017
Impedance Control – n dof
Basilio Bona 41 ROBOTICS 01PEEQW - 2016/2017
Impedance Control – practical considerations
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
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
Basilio Bona 44 ROBOTICS 01PEEQW - 2016/2017
Direct Force Control
Basilio Bona 45 ROBOTICS 01PEEQW - 2016/2017
Direct Force Control
Basilio Bona 46 ROBOTICS 01PEEQW - 2016/2017
Direct Force Control
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
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
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
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
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
Peg insertion in a cylindrical hole with desired velocity vd
Basilio Bona 52 ROBOTICS 01PEEQW - 2016/2017
Examples
x y z
Screw motion
Basilio Bona 53 ROBOTICS 01PEEQW - 2016/2017
Examples
x y z
Basilio Bona 54 ROBOTICS 01PEEQW - 2016/2017
Constraints and Selection Matrices
Basilio Bona 55 ROBOTICS 01PEEQW - 2016/2017
Constraints and Selection Matrices
Basilio Bona 56 ROBOTICS 01PEEQW - 2016/2017
Constraints and Selection Matrices
Basilio Bona 57 ROBOTICS 01PEEQW - 2016/2017
Constraints and Selection Matrices
Basilio Bona 58 ROBOTICS 01PEEQW - 2016/2017