Lecture 2 - (Robotic Control)

meanchildlikeΜηχανική

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

85 εμφανίσεις

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