robotic control lecture 1 dynamics and modeling. robotic control2 a brief history… started as a...
Post on 11-Jan-2016
222 Views
Preview:
TRANSCRIPT
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
MechanicsDigital 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 surgeryb) 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
AsimoToys
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 coordinatesTranslate from joint angles to end position
Jacobiancoordinate 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 extensionSimple and intuitive description for each link
Global CoordinatesTypically 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 transformationMatrix of partial
derivativesTransforms joint
angles (q) into manipulator coordinates Jqx
n
1
q
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 21
xx
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 calculateMass, mi
Length, liCenter of gravity, lCi
Moment of Inertia, ii
m1
i1=m1l12 / 3
Robotic Control 21
Step 3: Formulate Lagrangian
Lagrangian L defined as differencebetween 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
iiCiii hglmV 0)sin(
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 qi, dqi/dt and plug into general equation:
Inertia
(d2qi/dt2)
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)*θ
Fg – 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 Codefunction xdot= robot_2link_abs(t,x)global T%parametersg = 9.8;m = [10, 10];l = [2, 1];%segment lengths l1, l2lc =[1, 0.5]; %distance from centeri = [m(1)*l(1)^2/3, m(2)*l(2)^2/3]; %moments of inertia i1, i2, need to validate coef'sc=[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 ValidationZero State/Input
Arm falls down and settles in that position
Robotic Control 31
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 32
Open Loop - Step ResponseTorque 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 functionTorque 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 qd(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
( ) ( ), ( )p t x t y t
Robotic Control 36
Trajectory Control Types
Displacement ControlControl the displacement i.e. angles or
positioning in spaceRobot 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 ManipulatorRigid “stiff” body makes if difficultControl the force being applied by the
manipulator – set-point controlExamples:
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
top related