Date post: | 30-Mar-2015 |
Category: |
Documents |
Upload: | peter-partain |
View: | 222 times |
Download: | 0 times |
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%