You are on page 1of 34

Robot Control and Dynamics

Motion control
• The error driving the feedback part of the control law can
be defined either in Cartesian or in joint space
• Control action always occurs at the joint level (where
motors drive the robot), but performance has to be
evaluated at the task level
• Robot is an electro-mechanical system driven by actuating
torques produced by the motors
• It is possible, however, to consider a kinematic command
(most often, a velocity) as control input to the system...
• Thanks to the presence of low-level feedback control
loops at the robot joints that allow imposing the
commanded reference velocity (in the “ideal case”)
Motion control

• These feedback loops are present in industrial


robots within a “closed” control architecture,
where users can only specify reference
commands of the kinematic type
• In this way, performance can be very
satisfactory, provided the desired motion is not
too fast and/or does not require large
accelerations.
Trajectory planner interface
From task to trajectory
Example
Kinematic control
and trajectory generation
• A trajectory is a function of time q(t) s.t.

q(t0)=qs
And
q(tf)=qf .

tf-t0 : time taken to execute the trajectory.

• Point to point motion: plan a trajectory from the initial


configuration q(t0) to the final q(tf).

• In some cases, there may be constraints (for example: if the


robot must begin and end with zero velocity)
Point to point motion planning

• Choose the trajectory of polynomial of degree


n , if you have n+1 constraints.

Ex (1): Given the 4 constraints: (n=3)


Cubic Trajectories

– 4 coefficients (4 constraints)
– Define the trajectory q(t) to be a polynomial of degree n

qt   a0  a1t  a2t  a3t 2 3

– The desired velocity:

qt   a1  2a2t  3a3t 2


Point to point planning

• Evaluation of the ai coeff to satify the


constaints
qt0   a0  a1t0  a2t0  a3t0  q0
2 3

qt0   q0 q t0   v0
q t0   a1  2a2t0  3a3t02  v0

qt f   a0  a1t f  a2t f  a3t f  q f


2 3

qt f   q f q t f   v f
qt f   a1  2a2t f  3a3t 2f  v f
Point to point planning

• Combined the four equations into a single


matrix equation.

1 t0 t 2
0 t   a0   q0 
3
0
 2   
 0 1 2t0 3t   a1   v0 
0

1 t f t 2
t   a2   q f 
3

    
f f

0 1 2t f 3t   a3   v f 
2
f
Example

q0  10o , q f  20o , v0  v f  0 deg/sec, t0  0, t f  1


1
1 0 0 0 a0   10  1 0 0 0  10   a0 
0 1 0 0  0  a 
0
 1 0 0  a1   0       1

1 
1 1 1 a2    20 1 1 1 1  20 a2 
          
0 1 2 3  a3   0  0 1 2 3  0   a3 

 a0  10, a1  0, a2  90, a3  60

 
q t  10  90t  60t
2 3
Polynomial trajectory
• Cubic polynomial trajectory

qt   10  90t 2  60t 3

• Matlab code:
syms t;
q=10-90*t^2+60*t^3;
t=[0:0.01:1];
plot(t,subs(q,t))
xlabel('Time sec')
ylabel('Angle(deg)')
Velocity profile

• Velocity profile for cubic polynomial trajectory


q t   180t  180t 2

• Matlab code:
syms t;
qdot=-180*t+180*t^2;
t=[0:0.01:1];
plot(t,subs(qdot,t))
xlabel('Time sec')
ylabel(’velocity(deg/s)')
Acceleration profile
• Acceleration profile for cubic polynomial trajectory

qt   180 360t

• Matlab code:
syms t;
qddot=-180+360*t;
t=[0:0.01:1];
plot(t,subs(qddot,t))
xlabel('Time sec')
ylabel(’Acceleration(deg/s2)')
Home work
• A single link robot with a rotary joint is at
Ө=15ْ degrees. It is desired to move the
joint in a smooth manner to Ө=75ْ in 3 sec.
Find the coefficeints of a cubic to bring the
manipulator to rest at the goal.

qt   a0  a1t  a2t 2  a3t 3

q0  15o , q f  75o , v0  v f  0 deg/sec, t0  0, t f  3


EXAMPLE 2

• Given the 6 constraints: (n=5)

qt0   q0 q t f   q f
q t0   v0 q t f   v f
qt0    0 qt f    f
t0 is the start time t f is the end time
q0 , v0 and  0 are the initial position , velocity and acceleration
q f , v f and  f are the final position , velocity and acceleration
POINT TO POINT TRAJECTORY

– 6 coefficients (6 constraints)
– Define the trajectory q(t) to be a polynomial of degree n

qt   a0  a1t  a2t 2  a3t 3  a4t 4  a5t 5


– The desired velocity:

q t   a1  2a2t  3a3t 2  4a4t 3  5a5t 4


– The desired acceleration:

qt   2a2  6a3t  12a4t 2  20a5t 3


contd

• Evalautation of the ai coeff to satify the constaints

q0  a0  a1t0  a t  a t  a t  a t
2
2 0
3
3 0
4
4 0
5
5 0

v0  a1  2a2t0  3a t  4a t  5a t
2
3 0
3
4 0
4
5 0

 0  2a2  6a3t0  12a t  20a t


2
4 0
3
5 0

q f  a0  a1t f  a t  a t  a t  a t
2
2 f
3
3 f
4
4 f
5
5 f

v f  a1  2a2t f  3a t  4a t  5a t
2
3 f
3
4 f
4
5 f

 f  2a2  6a3t f  12a t  20a t


2
4 f
3
5 f
Trajectory

• Combined the six equations into a single


matrix equation.
Trajectory cont’d

• Combined the six equations into a single


matrix equation.
Dynamics
• Robot Dynamics is the study of the relation between the applied
forces/torques and the resulting motion.
• The dynamic response of the time rate of change of robot
configuration to input joint torques can be expressed by a second
order nonlinear ordinary differential equations called equation of
motion.

where τ is force/torque or generalized forces and q is joint variable


• The reasons to study the dynamics of a manipulator is:
 simulation and animation: test desired motions without
 resorting to real experimentation
 Analysis and synthesis of suitable control algorithms
Dynamics methods
Example

Note: we did similar example with classical methods Assuming mass


concentrated at the center
Transformation Matrix Form
Kinetics Energy Compare it with what
we did in the class:
Final Second Order differential
Equation
Feedback Control
Example
Thank you !!!

You might also like