# Lecture 2 - (Robotic Control)

Μηχανική

31 Οκτ 2013 (πριν από 4 χρόνια και 6 μήνες)

106 εμφανίσεις

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

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

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

(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
-

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
-
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
-

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
-

Example: 2
-

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
-

Height of

Robotic Control

23

Energy Sums (2
-

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
-

Robotic Control

26

Equations of Motion for 2
-
Relative coordinates

Source: Peter R. Kraus, 2
-

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

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

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];

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

rigid body

Only require desired trajectory movement

Examples:

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

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