Robotic Control
Lecture 1
Dynamics and Modeling
Robotic Control
2
A brief history…
Started as a work of fiction
Czech playwright Karel Capek
coined the term robot in his play
Rossum’s Universal Robots
Robotic Control
3
Numerical control
Developed after WWII and
were designed to perform
specific tasks
Instruction were given to
machines in the form of
numeric codes (NC systems)
Typically open

loop systems,
relied on skill of programmers
to avoid crashes
Robotic Control
4
Robotics
Modern robots
Mechanics
Digital Computation
Electronic Sensors
Path Planning
Learning/Adaptation
Coordination
Actuation
Robotic Control
5
Types of Robots
Industrial
Locomotion/Exploration
Medical
Home/Entertainment
Robotic Control
6
Industrial Robots
Assembly of an automobile
Drilling/ Welding/Cutting
Coating/Painting
Robotic Control
7
Locomotion/Exploration
Space Exploration
Underwater exploration
Robo

Cop
Robotic Control
8
Medical
a) World's first CE

marked medical robot for head surgery
b) Surgical robot used in spine surgery, redundant manual guidance.
c) Autoclavable instrument guidance (4 DoF) for milling, drilling, endoscope
guidance and biopsy applications
Robotic Control
9
House

hold/Entertainment
Asimo
Toys
Robotic Control
10
Purpose of Robotic Control
Direct control of forces or displacements of
a manipulator
Path planning and navigation
(mobile robots)
Compensate for robot’s dynamic
properties (inertia, damping, etc.)
Avoid internal/external obstacles
Robotic Control
11
Mathematical Modeling
Local vs. Global coordinates
Translate from joint angles to end position
Jacobian
coordinate transforms
linearization
Kinematics
Dynamics
Robotic Control
12
Mechanics of Multi

link arms
Local vs. Global coordinates
Coordinate Transforms
Jacobians
Kinematics
Robotic Control
13
Local vs. Global Coordinates
Local coordinates
Describe joint angles or extension
Simple and intuitive description for each link
Global Coordinates
Typically describe the end effector /
manipulator’s position and angle in space
“output” coordinates required for control of
force or displacement
Robotic Control
14
Coordinate Transformation Cntd.
Homogeneous
transformation
Matrix of partial
derivatives
Transforms joint
angles (
q)
into
manipulator
coordinates
Robotic Control
15
Coordinate Transformation
2

link arm, relative
coordinates
Step 1: Define x
and y in terms of
θ
1
and
θ
2
Robotic Control
16
Coordinate Transformation
Step 2: Take
partial derivatives
to find J
Robotic Control
17
Joint Singularities
Singularity condition
Loss of 1 or more DOF
J becomes singular
Occurs at:
Boundaries of
workspace
Critical points (for
multi

link arms
Robotic Control
18
Finding the Dynamic Model of a
Robotic System
Dynamics
Lagrange Method
Equations of Motion
MATLAB Simulation
Robotic Control
19
Step 1: Identify Model Mechanics
Source: Peter R. Kraus, 2

link arm dynamics
Example: 2

link robotic arm
Robotic Control
20
Step 2: Identify Parameters
For each link, find or calculate
Mass, m
i
Length, l
i
Center of gravity, l
Ci
Moment of Inertia, i
i
m
1
i
1
=m
1
l
1
2
/ 3
Robotic Control
21
Step 3: Formulate Lagrangian
Lagrangian L defined as difference
between kinetic and potential energy:
L is a scalar function of q and dq/dt
L requires only first derivatives in time
Robotic Control
22
Kinetic and Potential Energies
Kinetic energy of individual links in an
n

link arm
Potential energy of individual links
Height of
link end
Robotic Control
23
Energy Sums (2

Link Arm)
T = sum of kinetic energies:
V = sum of potential energies:
Robotic Control
24
Step 4: Equations of Motion
Calculate partial derivatives of L wrt q
i,
dq
i
/dt and plug into general equation:
Inertia
(d
2
q
i
/dt
2
)
Conservative
Forces
Non

conservative Forces
(damping, inputs)
Robotic Control
25
M
–
Inertia Matrix
Positive Definite
Configuration dependent
Non

linear terms: sin(
θ
)
, cos(
θ
)
C
–
Coriolis forces
Non

linear terms: sin(
θ
)
, cos(
θ
)
,
(d
θ
/dt)
2
, (d
θ
/dt)
*
θ
F
g
–
Gravitational forces
Non

linear terms: sin(
θ
)
, cos(
θ
)
Equations of Motion
–
Structure
Source: Peter R. Kraus, 2

link arm dynamics
Robotic Control
26
Equations of Motion for 2

Link Arm,
Relative coordinates
Source: Peter R. Kraus, 2

link arm dynamics
Coriolis forces, c(
θ
i
,d
θ
i
/dt)
Conservative forces
(gravity)
M

Inertia matrix
Robotic Control
27
Alternate Form: Absolute Joint
Angles
If relative coordinates are
written as
θ
1
’,
θ
2
’, substitute
θ
1
=
θ
1
’ and
θ
2
=
θ
2
’+
θ
1
’
Advantages:
M matrix is now symmetric
Cross

coupling of eliminated from C, from F matrices
Simpler equations (easier to check/solve)
Robotic Control
28
Matlab Code
function xdot= robot_2link_abs(t,x)
global T
%parameters
g = 9.8;
m = [10, 10];
l = [2, 1];%segment lengths l1, l2
lc =[1, 0.5]; %distance from center
i = [m(1)*l(1)^2/3, m(2)*l(2)^2/3]; %moments of inertia i1, i2, need to validate coef's
c=[100,100];
xdot = zeros(4,1);
%matix equations
M= [m(2)*lc(1)^2+m(2)*l (1)^2+i(1), m(2)*l(1)*lc(2)^2*cos(x(1)

x(2));
m(2)*l(1)*lc(2)*cos(x(1)

x(2)),+m(2)*lc(2)^2+i(2)];
C= [

m(2)*l(1)*lc(2)*sin(x(1)

x(2))*x(4)^2;

m(2)*l(1)*lc(2)*sin(x(1)

x(2))*x(3)^2];
Fg= [(m(1)*lc(1)+m(2)*l(1))*g*cos(x(1));
m(2)*g*lc(2)*cos(x(2))];
T =[0;0]; % input torque vector
tau =T+[

x(3)*c(1);

x(4)*c(2)]; %input torques,
xdot(1:2,1)=x(3:4);
xdot(3:4,1)= M
\
(tau

Fg

C);
Robotic Control
29
Matlab Code
t0=0;tf=20;
x0=[pi/2 0 0 0];
[t,x] = ode45('robot_2link_abs',[t0 tf],x0);
figure(1)
plot(t,x(:,1:2))
Title ('Robotic Arm Simulation for x0=[pi/2 0 0 0]and T=[sin(t);0] ')
legend('
\
theta_1','
\
theta_2')
Robotic Control
30
Open Loop Model Validation
Zero State/Input
Arm falls down and settles in that position
Robotic Control
31
Open Loop

Static Equilibrium
x
0
= [

pi/2
–
pi/2 0 0]
x
0
= [

pi/2 pi/2 0 0]
x
0
= [pi/2 pi/2 0 0]
x
0
= [pi/2

pi/2 0 0]
Arm does not change its position

Behavior is as expected
Robotic Control
32
Open Loop

Step Response
Torque applied to first joint
Torque applied to second joint
When torque is applied to the first joint, second joint falls down
When torque is applied to the second joint, first joint falls down
Robotic Control
33
Input (torque) as Sine function
Torque applied to first joint
Torque applied to first joint
When torque is applied to the first joint, the first joint oscillates
and the second follows it with a delay
When torque is applied to the second joint, the second joint
oscillates and the first follows it with a delay
Robotic Control
34
Robotic Control
Path Generation
Displacement Control
Force Control
Hybrid Control
Robotic Control
35
To find desired joint space trajectory
q
d
(t)
given
the desired Cartesian trajectory using
inverse
kinematics
Given workspace or Cartesian trajectory
in the
(x, y)
plane which is a function of time
t
.
Arm control, angles
θ
1
,
θ
2
,
Convenient to convert the specified Cartesian
trajectory
(x(t), y(t))
into
a joint space trajectory
(
θ
1
(t),
θ
2
(t))
Path Generation
Robotic Control
36
Trajectory Control Types
Displacement Control
Control the displacement i.e. angles or
positioning in space
Robot Manipulators
Adequate performance
rigid body
Only require desired trajectory movement
Examples:
Moving Payloads
Painting Objects
Robotic Control
37
Trajectory Control Types (cont.)
Force Control
–
Robotic Manipulator
Rigid “stiff” body makes if difficult
Control the force being applied by the
manipulator
–
set

point control
Examples:
Grinding
Sanding
Robotic Control
38
Trajectory Control Types (cont.)
Hybrid Control
–
Robot Manipulator
Control the force and position of the manipulator
Force Control, set

point control where end effector/
manipulator position and desired force is constant.
Idea is to decouple the position and force control
problems into subtasks via a task space formulation.
Example:
Writing on a chalk board
Robotic Control
39
Next Time…
Path Generation
Displacement (Position) Control
Force Control
Hybrid Control i.e. Force/Position
Feedback Linearization
Adaptive Control
Neural Network Control
2DOF Example
Comments 0
Log in to post a comment