Download ppt - LaDiSpe - Politecnico di Torino

Document related concepts

Centripetal force wikipedia , lookup

Classical central-force problem wikipedia , lookup

Mitsubishi AWC wikipedia , lookup

Transcript
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 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 - 2015/2016
3
Operational Space Control
 A different solution can be found, by defining the control directly in the
operational 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
ROBOTICS 01PEEQW - 2015/2016
4
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
ROBOTICS 01PEEQW - 2015/2016
5
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.
q (t )  p (t ); i.e., p  f (q )
 If the desired pose is known, the pose error is defined as
p (t )  e p (t )  p d (t )  p (t )
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
6
Operational Space Control: Jacobian inverse
 In this scheme we assume that the error in the pose is small, so that
one can apply the inverse Jacobian and obtain
q (t )  J a1 q (t )  p (t )
 Then the control torque is computed multiplying the joint error for a
suitable gain
t c (t )  K q (t )
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
7
Operational Space Control: Jacobian inverse
p
pd
+
1
a
J (q )
q
Gain matrix
K
tc
ROBOT
q
‒
p
f (q )
Direct kinematics
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
8
Operational Space Control: Jacobian inverse
 Since the control torque is
t c  K q
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 ,
one for every joint
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
9
Operational Space Control: Jacobian transpose
 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
ROBOTICS 01PEEQW - 2015/2016
10
Operational Space Control: Jacobian transpose
p
pd
+
Gain matrix
G
q
T
a
J (q )
tc
ROBOT
q
‒
p
f (q )
Direct kinematics
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
11
Operational Space Control
 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
ROBOTICS 01PEEQW - 2015/2016
12
PD control with gravity compensation
 The user wants to attain a desired cartesian pose; the control objective
consists in reducing to zero the pose error
e p (t )  p d (t )  p (t )
 This objective is achieved setting a nonlinear gravity compensation in
the joint space and adding a PD linear compensator in the operational
PD control term
space

u  g (q )  J (q ) K P ( p d  p )  K DJ a (q )q
T
a

gravity
compensation
 The system reaches an asymptotically stable system corresponding to
J aT (q )K P ( p d  p )  0
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
13
PD control with gravity compensation
KD
pd
+
KP
+
‒ q
T
a
J (q )
tc
+
‒
+
p&
J a (q )
q&
ROBOT
q
g (q )
p
f (q )
Direct kinematics
Jacobian transpose
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
14
&+ h (q , q&) = u c
M (q )q&
&
u c B M (q&
- ac ) + h
r
&= a c
e&
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
15
Inverse dynamics control in operational space
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
16
Inverse dynamics control in operational space
pd
pd
+
KP
‒
pd
+
‒
+
+
+
T
a
J (q ) M (q )
+
tc
+
q
ROBOT
q&
h (q , q&)
KD
J a (q , q )
f (q )
p
Direct kinematics
p
Basilio Bona
J a (q )
ROBOTICS 01PEEQW - 2015/2016
17
General notes
 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
ROBOTICS 01PEEQW - 2015/2016
18
Interaction Control
 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
ROBOTICS 01PEEQW - 2015/2016
19
Interaction Control and Compliance
 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
ROBOTICS 01PEEQW - 2015/2016
20
Passive Compliance Control
 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
ROBOTICS 01PEEQW - 2015/2016
21
Passive vs Active 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
ROBOTICS 01PEEQW - 2015/2016
22
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
ROBOTICS 01PEEQW - 2015/2016
23
Stiffness Control – 1 dof
 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)
Current TCP position
Undeformed
Surface position
Reference
position
 The surface is slightly deformed due to the applied force
 The reference position is never reached
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
24
Stiffness Control – 1 dof
 The force applied by the TCP is
fe  ke (x  x e )
where ke is stiffness coefficient of the contact surface
 The dynamic equation can therefore be written as
mx  ke (x  x e )  fc
Equivalent mass
Control force
 No gravity is assumed to act on the force direction
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
25
Stiffness Control – 1 dof
 Since no gravity is present, the control algorithm can be a PD
compensator, since no integrative action is required
fc  K P (x r  x )  K D x
PD gains
 Replacing the control force in the previous equation one obtains the
controlled system dynamics equation as
mx  ke (x  x e )  K P (x r  x )  K D x
mx  K D x  (K P  ke )x  ke x e  K P x r
 With a suitable choice of the PD gains the controlled system is
asymptotically stable
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
26
Stiffness Control – 1 dof
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
27
Stiffness Control – 1 dof
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
28
Stiffness Control – 1 dof
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
29
Stiffness Control – n dof
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
30
Stiffness Control – n dof
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
31
Stiffness Control – n dof
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
32
Stiffness Control – n dof
The desired reference pose
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
33
Stiffness Control – n dof
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
34
Impedance Control
 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
ROBOTICS 01PEEQW - 2015/2016
35
Impedance Control – 1 dof
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
36
Impedance Control – 1 dof
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
37
Impedance Control – n dof
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
38
Impedance Control – n dof
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
39
Impedance Control – n dof
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
40
Impedance Control – practical considerations
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
41
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
ROBOTICS 01PEEQW - 2015/2016
42
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
on inverse dynamics
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
43
Direct Force Control
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
44
Direct Force Control
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
45
Direct Force Control
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
46
Constrained Motion
 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
ROBOTICS 01PEEQW - 2015/2016
47
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
ROBOTICS 01PEEQW - 2015/2016
48
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
ROBOTICS 01PEEQW - 2015/2016
49
Constraints
 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
ROBOTICS 01PEEQW - 2015/2016
50
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
ROBOTICS 01PEEQW - 2015/2016
51
Examples
 Peg insertion in a cylindrical hole with desired velocity vd
z
x
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
y
52
Examples
 Screw motion
z
x
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
y
53
Constraints and Selection Matrices
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
54
Constraints and Selection Matrices
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
55
Constraints and Selection Matrices
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
56
Constraints and Selection Matrices
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
57
Constraints and Selection Matrices – an example
Basilio Bona
ROBOTICS 01PEEQW - 2015/2016
58