robot control

78
ROBOT CONTROL Nattee Niparnan

Upload: mateja

Post on 24-Feb-2016

54 views

Category:

Documents


1 download

DESCRIPTION

Nattee Niparnan. Robot Control. Behavior Based Robotic. Towards Autonomous Robot. A robot that can “think” how to perform the task. Autonomous?. Able to do things by itself. Robot Control System A system that decide what / when / how to do a particular thing to achieve the given task. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Robot Control

ROBOT CONTROLNattee Niparnan

Page 2: Robot Control

Behavior Based Robotic

Page 3: Robot Control

Towards Autonomous Robot A robot that can “think” how to perform

the task

Page 4: Robot Control

Autonomous? Able to do things by itself.

Robot Control SystemA system that decide what / when / how to

do a particular thing to achieve the given task

Page 5: Robot Control

Hierarchy of Control Reductionism

Follow the white rabbit

Get dress walk to the pub talk

choose a shirt wear a shirt

Move a hand to wardrobe

Page 6: Robot Control

Robot = ??? “ A device that connects sensing to

actuation in an intelligent way”

Intelligent

Page 7: Robot Control

Model-Based approach Sense Plan Act

Page 8: Robot Control

Model-Based approach Understand the world Planning according to the state of the

world Result in rules for actions

If … then …If … then …..

Page 9: Robot Control

Remember the Shakey?

Page 10: Robot Control

Robot Control Issue Model of the world? Robust?

Page 11: Robot Control

Problem of model based It seems reasonable Does it work well in practice?

Model can hardly be realizedModel based is more appropriated with

structured environmentParallel nature?GIGO issue

Page 12: Robot Control

Problem of model based Example,

Self Charging○ Walk to beacon○ Engage charger approach maneuver○ Plug-in○ stop

What if we are near the charger?

Page 13: Robot Control

Problem of model based What if we are near the charger?

Does our plan cover this case?

Coupling between requirementUsually bug prone

Model based is sometime “computer oriented”

Page 14: Robot Control

Computer vs. Robot All computers are equivalent (turing

machine) Any two robots are different

Page 15: Robot Control

Truth about Robot Robots have sensors that measure the

aspect of external worlds Robots have actuators that can act on the

robot and on the world The output of a robot’s sensors always

includes noise and other errors The commands given to a mobile robot’s

actuators are never executed faithfully.

Page 16: Robot Control

Sensing For us (human)… For them (robot)…

Page 17: Robot Control

Actuation Electrical signal Physical quantity

Always has some error

Page 18: Robot Control

Intelligence Robot design + Robot’s Program + Robot’s

environment = Robot’s Intelligence

Page 19: Robot Control

Mobile vs. Immobile Robots

Page 20: Robot Control

Mobile vs. Immobile RobotsMobile ImmobileUnknown world

Dynamic Environment

Localization and mapping problem

Highly structured world

Static Environment

Page 21: Robot Control

Example Collecting a puck and put it into light

Page 22: Robot Control

Tasks Show gizmo and collection tasks in Bsim

What we have as a low level command?

Page 23: Robot Control

Behavior based control What are used in Gizmo

Page 24: Robot Control

Example of Behavior Based

Page 25: Robot Control

Behavior based robotics

Page 26: Robot Control

Behavior based robotics Reflexive

Shortest time from sense act Carefully engineered the reflex to

actually perform the task

Page 27: Robot Control

Principle World = what robot sees Plan less

Check Act more Be highly adaptable to change

Agility?

Page 28: Robot Control

Intro to Control

Page 29: Robot Control

Lower Level Control Given desired output Find input that yield such output

Page 30: Robot Control

System

Input

U

Black Box(grey box)

System

Output

Y

Page 31: Robot Control

Control We hardly understand our system The mathematical model

“approximately” describe the system There always be some error There might be some unknown rule!

Page 32: Robot Control

Example Do we know the speed of motor

If we apply some specific voltage?Without actually measuring?i.e., forward computation

We have all the theory, right?

Page 33: Robot Control

So what? If we don’t really understand the system

How do we calculate U for given Y?

I want my motor to spin at 200rpmWhat voltage should I put?

Who knows?

Page 34: Robot Control

The Solution Control System

Open loopClosed loop

Page 35: Robot Control

Control System Open loop

Page 36: Robot Control

Open Loop Just supply input

From the model

ExampleLight bulbElectric fan

Page 37: Robot Control

Open Loop Neglect input

Hence, does not adapt itself to the worldVery simpleEasily failed

Work perfectly if we know perfect model of the systemWhich is not usually the case

Page 38: Robot Control

Control System Open loop

Page 39: Robot Control

Control System Closed loop

Page 40: Robot Control

Feedback Control Very important to accommodate error We already did that all the time

Your bodyYour brainYour eco system

Page 41: Robot Control

Trichotomy Measurement Yes More Less

Page 42: Robot Control

Proportional Controller Feedback with degree Include error of the output

Multiply by the proportion of the error○ i.e., gain of the control

Page 43: Robot Control

Closed-Loop Control Example Position Control

Page 44: Robot Control

BSim Gizmo task

Page 45: Robot Control

Problems Slow to adapt

Solve by increase gain

Page 46: Robot Control

BSim again Try to increase gain

Page 47: Robot Control

Control System Catastrophe

Page 48: Robot Control

Latency Problem Result from the control does not actually

reflect the current state

Lead to instabilitySometime to catastrophe

Page 49: Robot Control

Control System Stability

Page 50: Robot Control

PID Controller

Page 51: Robot Control

PID Controller Proportional Part

Normal close loop Differential Part

Adjust input by the differential of the error Integral Part

Adjust input by the

Page 52: Robot Control

Tuning PID Adjust P to converge

Page 53: Robot Control

Tuning PID Add D to solve overshoot

Page 54: Robot Control

Tuning PID Add I to solve Steady State

Page 55: Robot Control

Tuning PID Actually an black-art

Tuning the knob has highly coupling effect

Let’s try it

Page 56: Robot Control

Tuning PID summaryChange in parameter

Rise Time Overshoot S-S Error Settling Time

Increase P Less More Less Minor

Increase D Less More Eliminate More

Increase I Minor Less Minor Less

Page 57: Robot Control

Saturation, Backlash, Dead Zone

Page 58: Robot Control

Saturation, Backlash, Dead Zone

Page 59: Robot Control

Open Loop Enhancement Parameters States

Page 60: Robot Control

Bang-Bang Controller

Page 61: Robot Control

Hysteresis

Page 62: Robot Control

More control scheme Feed forward Predictive Adaptive

Page 63: Robot Control

Dynamic System Even if we perfectly understand the

system, it is still not trivial to achieve good control

Page 64: Robot Control

Example We can solve for u for a given y

Inputu

System with perfect

knowledge

Outputy

Page 65: Robot Control

Example Taken from Stephen Boyd class Input 2 dimension Output 2 dimension x˙ = Ax + Bu, y = Cx, x(0) = 0

Differential equation

Says, we want y = (1,-2) We can solve u to be (-0.63,36)

Page 66: Robot Control

Use the simple

Page 67: Robot Control

Example

Page 68: Robot Control

Final Words You cannot learn how to program robot

from looking at this slide BSim?

What works well in sim does not always works well in practice

Let’s do LEGO!

Page 69: Robot Control

Introduce Lego Mindstorm

Page 70: Robot Control
Page 71: Robot Control
Page 72: Robot Control
Page 73: Robot Control
Page 74: Robot Control
Page 75: Robot Control
Page 76: Robot Control
Page 77: Robot Control

Example Show example of Roverbot

PushbotGuardbotExplorerMozart

Page 78: Robot Control

Assignment Pick a robot from LEGO kit Do something with it It’s 10%