Nattee Niparnan. Towards Autonomous Robot A robot that can think how to perform the task.

Post on 30-Mar-2015

222 views 0 download

Tags:

transcript

ROBOT CONTROLNattee Niparnan

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 SystemA system that decide what / when / how to

do a particular thing to achieve the given task

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

Robot = ???

“ A device that connects sensing to actuation in an intelligent way”

Intelligent

Model-Based approach

Sense Plan Act

Model-Based approach

Understand the world Planning according to the state of the

world Result in rules for actions

If … then …If … then …..

Remember the Shakey?

Robot Control Issue

Model of the world? Robust?

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

Problem of model based

Example,Self Charging

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

What if we are near the charger?

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”

Computer vs. Robot

All computers are equivalent (turing machine)

Any two robots are different

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.

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

Actuation

Electrical signal Physical quantityAlways has some error

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

environment = Robot’s Intelligence

Mobile vs. Immobile Robots

Mobile vs. Immobile RobotsMobile Immobile

Unknown world

Dynamic Environment

Localization and mapping problem

Highly structured world

Static Environment

Example

Collecting a puck and put it into light

Tasks

Show gizmo and collection tasks in Bsim

What we have as a low level command?

Behavior based control

What are used in Gizmo

Example of Behavior Based

Behavior based robotics

Behavior based robotics

ReflexiveShortest time from sense act

Carefully engineered the reflex to actually perform the task

Principle

World = what robot sees Plan less

Check Act more Be highly adaptable to change

Agility?

Intro to Control

Lower Level Control

Given desired output Find input that yield such output

System

Input

U

Black Box(grey box)

System

Output

Y

Control

We hardly understand our system The mathematical model

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

Example

Do we know the speed of motorIf we apply some specific voltage?Without actually measuring?i.e., forward computation

We have all the theory, right?

So what?

If we don’t really understand the systemHow do we calculate U for given Y?

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

Who knows?

The Solution

Control SystemOpen loopClosed loop

Control System

Open loop

Open Loop

Just supply inputFrom the model

ExampleLight bulbElectric fan

Open Loop

Neglect inputHence, does not adapt itself to the worldVery simpleEasily failed

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

Control System

Open loop

Control System

Closed loop

Feedback Control

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

Your bodyYour brainYour eco system

Trichotomy Measurement Yes More Less

Proportional Controller

Feedback with degree Include error of the output

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

Closed-Loop Control Example

Position Control

BSim

Gizmo task

Problems

Slow to adapt

Solve by increase gain

BSim again

Try to increase gain

Control System Catastrophe

Latency Problem

Result from the control does not actually reflect the current state

Lead to instabilitySometime to catastrophe

Control System Stability

PID Controller

PID Controller

Proportional PartNormal close loop

Differential PartAdjust input by the differential of the error

Integral PartAdjust input by the

Tuning PID

Adjust P to converge

Tuning PID

Add D to solve overshoot

Tuning PID

Add I to solve Steady State

Tuning PID

Actually an black-artTuning the knob has highly coupling effect

Let’s try it

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

Saturation, Backlash, Dead Zone

Saturation, Backlash, Dead Zone

Open Loop Enhancement Parameters States

Bang-Bang Controller

Hysteresis

More control scheme

Feed forward Predictive Adaptive

Dynamic System

Even if we perfectly understand the system, it is still not trivial to achieve good control

Example

We can solve for u for a given y

Inputu

System with perfect

knowledge

Outputy

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)

Use the simple

Example

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!

Introduce Lego Mindstorm

Example

Show example of RoverbotPushbotGuardbotExplorerMozart

Assignment

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