28
Introduction to Control: How Its Done In Robotics R. Lindeke, Ph. D. ME 4135

Introduction to Control: How Its Done In Robotics R. Lindeke, Ph. D. ME 4135

Embed Size (px)

Citation preview

Introduction to Control: How Its Done In Robotics

R. Lindeke, Ph. D.

ME 4135

Remembering the Motion Models: As we found using the L-E approach, the

Required Joint Torque is:

( ) ( , ) ( ) ( )i i i i i iD q q C q q h q b q

Dynamical Manipulator

Inertial Tensor – a function of position and acceleration

Coupled joint effects

(centrifugal and coriolis) issues due to multiple moving joints

Gravitational Effects

Frictional Effect due to Joint/Link

movement

Lets simplify the model (a Bit)

This torque model is a 2nd order one (in position) lets look at it as a velocity model rather than positional one then it becomes a system of highly coupled 1st order differential equations

We will then isolate Acceleration terms (acceleration is the 1st derivative of velocity)

1( ) ( , ) ( ) ( )i i i i iv q D q C q q h q b q

Considering Control:

Each Link’s torque is influenced by each other links motion We say that the links are highly coupled

Solution then suggests that control should come from a simultaneous solution of these torques

We will model the solution as a “State Space” design and try to balance the torque-in with positional control-out – the most common way it is done! But we could also use ‘force control’ to solve the control

problem!

The State-Space Control Model:

D-1(q) 1/s 1/sOutput

PositionsKinematics

b

C

h

+

+

+

Torque accel Vel pos

Friction

CoriolisCentrifugal

Effects

GravitationEffects

Inertial Coupling

State Space Approach

The State Space General Model feeds out positional kinematics based on the “torque (power) demand” input

Notice: 1/s is the Laplace transform of a unit step (torque) impulse

As you remember, Laplace transforms convert linear differential equation sets into algebraic equation sets once solved we need to do inverse Laplace transforms to

return to torque/position space In LaPlace models, S is a complex variable!

Ultimately how do we know How much Torque to specify – and if we are ‘In Control’

In robots with moving joints, we set targets for motion

We sense motion at the joint level (using kinesethic sensors)

We study differences between where we are and where we’re going as a “Feedback” (ie. servo) error

Control means that we try to minimize error (make error go to zero) when we move toward a new location

Setting up a Real Control

We will (start) by using positional error to drive our torque devices

This simple model is called a PE (proportional error) controller

+ KeError

State Space Model,Generalized Torque Needed

Feedback, Qa

Qd

+

-

QJoint Drive

PE Controller:

To a 1st approximation, = Km*I Torque is proportional to motor current

And the Torque required is a function of ‘Inertial’ (Acceleration) and ‘Friction’ (velocity) effects as suggested by our L-E models

to the 1st approx:

m eq eq

m m eq eq

J q F q

K I J q F q

Setting up a “Control Law”

We will use the positional error (as drawn in the state model) to develop our torque control

We say then for PE control:

Here, kpe is a “gain” term that guarantees sufficient current will be generated to develop appropriate torque based on observed positional error

( )pe d ak

Using this Control Type:

It is a representation of the physical system of a mass on a spring!

We say afer setting our target as a ‘zero goal’ that:

1 12 2 2

1 2

*

who's solution is:

pe a

F t t tJa

k J F

e C e C e

a is a function of the servo

feedback as a function of time!

Examining this ‘solution’:

The 1st term is a damping term for the motion

The systems ‘natural frequency’ is given by:

2

Ft

Je

2

24 ekFJJ

Studying the solution:

If (F2/4kpe)> J we are ‘over damped’ and the system will never quite reach its target considering “reasonable time”

If (F2/4kpe)= J we are ‘critically damped’ giving the system ideal behavior

If (F2/4kpe)< J we are ‘under damped’ and the system will over-shoot and oscillate about our target at the system’s natural frequency – a dangerous situation in robotics!

These behaviors make sense (physically!):

Under High Friction Conditions (over damped):

A system is hard to start but easy to stop

With High Moment of Inertia Conditions (under damped):

A system is hard to start and it is hard to stop leading to overshoot and possibly one that oscillates about the target ‘forever’

Problems with PE Control:

First the so-called “Steady-State” error – the torque goes to zero when the target is hit!

Secondly, we may be out of balance – the GAIN is not meeting our Inertial vs. Friction balance leading to overshoot or undershoot Typically we will add a term to our

model to react to increasing speed so we minimize overshoot

Dealing With Steady State Zero Error

This is a gravitational issue: we must add an ‘L’ or gravitational term back to our Torque control model

Gravitational input is positionally controlled: L = -g (M1r1 + M2R)* Cos()

For a R Manipulator with a payload on M2

Solving the Overshoot Problem:

Lets expand our control law: We should include a term that reacts to the

velocity of the link – But velocity is the derivative of the position We will call this a proportional – derivative

controller (PD Control)

pe d a d

dk k L

dt

State Space Model of PD:

+ KeError

State Space Model,Generalized Torque Needed

Feedback, Qa

Qd

+

-

QJoint Drive

Kd

dQ/dt

Solving the PD Model:

Remembering:

eq eq

pe d a d eq eq

pe eq eq d

J q F q

k k L J F

k J F k L

Leads to a Solution of the form:

2 .5 .51 2

2

2

4

where:

eq d

eq

F ktJ t t

eq d pe

eq eq

e C e C e

F k k

J J

Effect of Derivative Term:

It is observed to be a form of “Active Friction”

It tends to slow down the link as it moves faster when high errors (being far from goal) are observed

Thus it can be thought of as a brake on the motion

It is a component that anticipates changes and provides very fast response to these changes

Taking Care of Trouble:

We add an integrator to the model To damp out oscillations from over shoot To control effects due to environmental

perturbations To damp out Wild data gyrations – typically due to

encoder errors

This leads to a model of control:

0

( ) ( ) ( )t

pe d a i d a dtt k t k t dt k

PID State Space Model:

+ KeError

State Space Model,Generalized Torque Needed

Feedback, Qa

Qd

+

-

Q

Kd

dQ/dt

ki dt

Joint Drive

Developing Optimal Control

PID is most often found in the systems Arm Joints

The components of Torque are functions of POSE meaning the Jeq and Feq as well as L factors change as one observes the robot moving throughout the work envelope

We achieve control with kpe, kd and ki if they are fixed values, we can expect critically

damped control at only a single (or very few) position(s)

What is done: We operate off critical PID on arm joints and PD

w/ gravitational compensation for remote and wrist joints

Most controls use a form of adaptive control Tables of gains applicable over certain geometries with

automatic changes as the manipulator moves about the work envelope

We swap in and out the gain values such that we minimize energy consumed by the drive:

2

given by

min

:

pe d

u dt

u k k

Another Idea:

Develop a Performance Index (PI) that judges controller stability

This PI is an external measurement scheme that using logic and comparisons between desired and actual performance then adjusts the model

State Model of Adjustable Controller

+ Controller w/ Adj.Parameters

Error Control Input

Feedback, Qa

Qd+

-

Drive Position/TorqueActualPos

PerformanceIndex

Measure

Robot Sys.Transfer

Functions

Desired Drive

Calc. Drive

Actual Drive usingSeparate Feedback

Sensors

DecisionLogic

Modifications

Kinematic/Kinetic Models

PhysicalParameters

Thus Ends our Introductory Studies of “Robotics & Controls”

This is a rich and deep field of applied Mechanical and Industrial Engineering

While we have deeply explored some topics, others have only been scanned

I wish you well as you move forward in your lifelong exploration of “AUTOMATION” and its myriad of supporting technologies

I sincerely hope that you have all learned something of this fascinating field and that these lessons will prove to be valuable in your careers!