Robotics 2
Control in the Cartesian Space
Prof. Alessandro De Luca
Regulation of robot Cartesian pose
n “PD +” type control for regulation problems
n proportional to the Cartesian pose error, with a derivative term
(on velocity) + cancellation/compensation of gravity in joint space
n robot
dimension of spaces
n dynamics ! " "̈ + % ", "̇ "̇ + ( " = *
joint = !
n kinematics + = , " ⟶ +̇ = . " "̇ Cartesian = "
n goal: asymptotic stabilization of the end-effector pose
+ = +! , "̇ = "̇ ! = 0 ⟶ +̇! = 0
Note: if ! = #, then %̇ = 0 ⇔ (̇ = 0 up to singularities
n if ! < #, then the goal is not uniquely associated
to a complete robot state: # − ! joint
coordinates are missing …
Robotics 2 2
A Cartesian regulation law
(*) * = ." " 0# +! − + − 0$ "̇ + ((") #! , #" > 0
(symmetric)
Theorem
under the control law (*), the robot state will converge asymptotically
to the set 4 = {"̇ = 0, ": 0# +! − , " ∈ 8 ." " )
⊇ {"̇ = 0, ": , " = +! }
Proof
define '! = )# − ) (Cartesian error) and the associated
Lyapunov-like candidate function
, = $% 0̇ & 9 0 0̇ + $% ''& #! '! -
,=0
with , = 0 ⟺ (0, 0)
̇ ∈ {0̇ = 0, 0: 6 0 = )# } ⊆ -
Robotics 2 3
Proof (cont)
! # ! #
differentiating + = " %̇ , % %̇ + " .$ /% .% ≥ 0
;̇ = "̇ " !"̈ + %& !̇ "̇ − <'" 0# +̇
= "̇ " * − %"̇ − ( + ! !̇ "̇ −<'" 0# +̇
"
= "̇ " ." 0# <# − 0$ "̇ + ( − ( − <'" 0# ."̇
= −"̇ " 0$ "̇ ≤ 0
with ,̇ = 0 ⟺ 0̇ = 0
in this situation, the closed-loop equations become
, % %̈ + 2 % = 3# % /% .% + 2(%) %̈ = ,&!(%)3# % /% .%
%̈ = 0 ⟺ /% .% ∈ 8 3# (%)
by applying LaSalle theorem, the thesis follows
Robotics 2 4
Corollary
for a given initial state (" 0 , "(0)
̇ ), if the robot does not
encounter any singularity of .!(") (configurations where
> ." < @ ≤ A) during its motion, then there is asymptotic
stabilization to one single state (when @ = A) or to a set of
states (when @ < A) such that
!! = 0, &̇ = 0
Note: singular configurations % of 3#(%) coincide with those of 3(%)
Robotics 2 5
A possible variant for regulation
“all Cartesian” PD control + gravity cancellation in joint space
(**) * = ." " 0# +! − + − 0$ +̇ + ((") #! , #" > 0
(symmetric)
mechanical
interpretation
'! '!
(*) (**)
3# transforms the “virtual” elastic, for (*), or visco-elastic, for (**),
force/torque acting on the end-effector into control torques at the joints
Robotics 2 6
Feedback linearization in Cartesian space
robot 9 0 0̈ + = 0, 0̇ + > 0 = ?
Cartesian
output ; = ), ) = 6(0) assume: " = !
position/orientation
algorithm differentiate the output(s) as many times as needed
up to the appearance of (at least one of) the input torque(s),
then verify if it is possible to solve for the input = “inversion”
uniform 9=: %
“relative degree’’ 9̇ = 3 % %̇ from the dynamic model
(=2
for all outputs 9̈ = 3 % %̈ + 3̇ % %̇
= 3 % ,&! % ; − < %, %̇ − 2 % + 3̇ % %̇
Theorem
for a non-redundant robot, it is possible to exactly linearize and
decouple the dynamic behavior at the Cartesian level if and only if
det 3(%) ≠ 0
Robotics 2 7
Feedback linearization in Cartesian space
(in the right coordinates!)
control law ; = , % 3&! % B + < %, %̇ + 2 % − , % 3&! % 3̇ % %̇
= C % B + D(%, %)
̇
9̈ = (̈ = 3 % ,&! % ; − < %, %̇ − 2 % + 3̇ % %̇ = B
(, (̇ are the so-called “linearizing” coordinates
closed-loop equations (in the joint space)
̇ ̇ +<+2
,&! ∗ ,%̈ + < + 2 = ,3&! B − 3%
purely
%̈ = 3&! % B − 3&! % 3̇ % %̇
kinematic
equations
(but still nonlinear and coupled!!)
Robotics 2 8
Physical interpretation
1
+= .
A 0 3, ? 3 F A F B& -
if in static conditions
and gravity balanced:
9(0) (̈ )̈ ! * > 0 (' (G)
" B%
0 2, ? 2 * = B ", "̇ B$
0 1, ? 1 +C " D (̈
; ;
articulated robot unitary (or arbitrary) mass
@ inertia depends on % and is @ same constant behavior
variable in different Cartesian directions in all Cartesian directions
when a force F is applied at the end-effector
§ the uncontrolled robot will accelerate with (̈ in a different direction
on the other hand
§ a mass ! accelerates always in the same direction of the applied force F
Robotics 2 9
Alternative derivation
in purely Cartesian terms
the previous exact linearizing and decoupling law can be rewritten
in Cartesian terms using a control force/torque E
; = , % 3&! % B + < %, %̇ − , % 3&! % 3̇ % %̇ + 2 %
joint torque ; is moved to the Cartesian space as F = 3&# (%); (for ! = #)
! = #"# $#"$ % Cartesian inertia = 3,&!3# &! = ,$ (()
̇ ̇
+ #"# ' − #"# $#"$ #* Cartesian Coriolis/centrifugal terms
+ #"# + Cartesian gravity
= $% % + '% + +%
this is the feedback linearization law !' + +̈ + F' +, +̇ + (' + = E
applied to the Cartesian dynamic
model of the robot +̈ = D
Robotics 2 10
Remarks -1
n the design of a Cartesian trajectory tracking control is completed
by stabilizing the tracking error in the @ independent chains of
double integrators, i.e., by setting
scalars
D2 = +̈!2 + 0$2 +̇!2 − +̇2 + 0#2 +!2 − +2 #'( > 0, #"- > 0
/ = 1, … , -
n the transient behavior of the Cartesian error along a desired
trajectory is exponentially stable (with arbitrary eigenvalues
assigned by choosing the diagonal gains of 0", 0$ )
n for +# = constant (regulation task), the control law becomes
̇ 0̇
? = 9 0 C.$ 0 #! '! − #" C 0 0̇ + = 0, 0̇ + > 0 − 9(0)C.$ (0)C(0)
which is computationally heavier than a control law designed
directly for regulation, such as previous laws (*) or (**), but it
keeps the property of an exponentially stable transient error
Robotics 2 11
Remarks -2
n the Cartesian pose/velocity can either be directly measured by
external sensors (cameras: eye-to-hand/eye-in-hand) or
computed through direct and differential kinematics of the robot
!
&"
%
"
%
!(#) !(#)
Robotics 2 12
Remarks -3
n in redundant robots (@ < A), by replacing !.3% = .!3% 3% in
the control law with some (weighted) pseudoinverse .!3% #4 ,
one still obtains input-output decoupling and linearization, but
not exact linearization of the whole state dynamics
n there is an additional internal dynamics left of dimension # − !
Robotics 2 13
More on the redundant case …
n suppose @ < A, but with a Jacobian . of full rank @
n let the control law (with null-space torque term *6 ) be defined as
* = . " !3% (") #
4
̇ "̇ + . " !3% " F ", "̇ + ( "
D − .(")
3% #
+ G− . " ! " 4
. " !3% (") *6
where .!3% #
4 = H 3% !3% ." .!3% H 3% !3% ." 3%
n three standard choices for H > 0
H=G ⟹ .!3% # = !3% ." .!3& ." 3% each associated
control torque
# optimizes a
H = !3% ⟹ .!3% 7 $! = . " .!3% ." 3%
different criterion
(see the slides on
H = !3& ⟹ .!3% #7$" = ! ." . ." 3% = !.# redundant robots)
n all give the same +̈ = D, with *6 available for null-space control
Robotics 2 14
Conclusions
n most of the control laws presented in the joint space
(i.e., driven by a joint error) can be translated with
relative ease to the Cartesian space, e.g.
n regulation with constant gravity compensation
n adaptive regulation
n robust control for trajectory tracking
n adaptive control for trajectory tracking
n the main issues are related to
n kinematic singularities, both for the Jacobian transpose and
the Jacobian inverse control laws: suitable modifications are
needed to obtain singularity robustness
n kinematic redundancy (! < #): use of a stabilizing null-space
torque control is needed for the extra # − ! generalized
coordinates (locally, # − ! joint variables)
Robotics 2 15