Document 7363256

Download Report

Transcript Document 7363256

Robotic Control
Lecture 1
Dynamics and Modeling
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
2
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
3
Modern robots
Mechanics
Digital Computation
Coordination
Electronic Sensors
Actuation
Path Planning
Learning/Adaptation
Robotics
Robotic Control
4
Types of Robots
Industrial
 Locomotion/Exploration
 Medical
 Home/Entertainment

Robotic Control
5
Industrial Robots
Coating/Painting
Assembly of an automobile
Robotic Control
Drilling/ Welding/Cutting
6
Locomotion/Exploration
Underwater exploration
Space Exploration
Robo-Cop
Robotic Control
7
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
8
House-hold/Entertainment
Toys
Asimo
Robotic Control
9
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
10
Mathematical Modeling

Local vs. Global coordinates
 Translate

from joint angles to end position
Jacobian
 coordinate
transforms
 linearization
Kinematics
 Dynamics

Robotic Control
11
Mechanics of Multi-link arms

Local vs. Global coordinates
 Coordinate Transforms
 Jacobians
 Kinematics
Robotic Control
12
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
13
Coordinate Transformation Cntd.

Homogeneous
transformation
 Matrix
of partial
derivatives
 Transforms joint
angles (q) into
1 
manipulator

q

coordinates
 
 n 
Robotic Control
x  Jq
14
Coordinate Transformation
2-link arm, relative
coordinates
 Step 1: Define x
and y in terms of θ1
and θ2

Robotic Control
15
Coordinate Transformation

Step 2: Take
partial derivatives
to find J
Robotic Control
16
Joint Singularities



Singularity condition
Loss of 1 or more DOF
J becomes singular
x
x

1  2

Occurs at:
 Boundaries
of
workspace
 Critical points (for
multi-link arms
Robotic Control
17
Finding the Dynamic Model of a
Robotic System
Dynamics
 Lagrange Method
 Equations of Motion
 MATLAB Simulation

Robotic Control
18
Step 1: Identify Model Mechanics
Example: 2-link robotic arm
Source: Peter R. Kraus, 2-link arm dynamics
Robotic Control
19
Step 2: Identify Parameters

For each link, find or calculate
 Mass,
mi
 Length, li
 Center of gravity, lCi
 Moment of Inertia, ii
m1
i1=m1l12 / 3
Robotic Control
20
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
21
Kinetic and Potential Energies

Kinetic energy of individual links in an n-link arm

Potential energy of individual links
Vi  mi lCi g sin( i )h0i
Robotic Control
Height of
link end
22
Energy Sums (2-Link Arm)

T = sum of kinetic energies:

V = sum of potential energies:
Robotic Control
23
Step 4: Equations of Motion

Calculate partial derivatives of L wrt qi,
dqi/dt and plug into general equation:
Inertia
(d2qi/dt2)
Conservative
Forces
Non-conservative Forces
(damping, inputs)
Robotic Control
24
Equations of Motion – Structure

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)*θ

Fg – Gravitational forces
 Non-linear
terms: sin(θ), cos(θ)
Source: Peter R. Kraus, 2-link arm dynamics
Robotic Control
25
Equations of Motion for 2-Link Arm,
Relative coordinates
M- Inertia matrix
Coriolis forces, c(θi,dθi/dt)
Source: Peter R. Kraus, 2-link arm dynamics
Conservative forces
(gravity)
Robotic Control
26
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
27
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
28
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
29
Open Loop Model Validation
Zero State/Input
 Arm falls down and settles in that position
Robotic Control
30
Open Loop - Static Equilibrium
x0= [-pi/2 –pi/2 0 0]
x0= [pi/2 pi/2 0 0]
x0= [-pi/2 pi/2 0 0]
x0= [pi/2 -pi/2 0 0]
Arm does not change its position- Behavior is as expected
Robotic Control
31
Open Loop - Step Response
Torque applied to second joint
Torque applied to first 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
32
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
33
Robotic Control
Path Generation
Displacement Control
 Force Control
 Hybrid Control


Robotic Control
34
Path Generation




To find desired joint space trajectory qd(t) given
the desired Cartesian trajectory using inverse
kinematics
Given workspace or Cartesian trajectory
p (t )   x(t ), y (t ) 
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))
Robotic Control
35
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
36
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
37
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
38
Next Time…








Path Generation
Displacement (Position) Control
Force Control
Hybrid Control i.e. Force/Position
Feedback Linearization
Adaptive Control
Neural Network Control
2DOF Example
Robotic Control
39