Nattee Niparnan
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
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 ….
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 realized Model based is more appropriated with structured environment Parallel 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 requirement Usually 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 robots sensors always includes noise and other errors The commands given to a mobile robots actuators are never executed faithfully.
Sensing For us (human)… For them (robot)…
Actuation Electrical signal Physical quantity Always has some error
Intelligence
Mobile vs. Immobile Robots
MobileImmobile 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
Reflexive Shortest 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?
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 motor If we apply some specific voltage? Without actually measuring? i.e., forward computation We have all the theory, right?
So what? If we dont really understand the system How do we calculate U for given Y? I want my motor to spin at 200rpm What voltage should I put? Who knows?
The Solution Control System Open loop Closed loop
Control System Open loop
Open Loop Just supply input From the model Example Light bulb Electric fan
Open Loop Neglect input Hence, does not adapt itself to the world Very simple Easily failed Work perfectly if we know perfect model of the system Which 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 body Your brain Your 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 instability Sometime to catastrophe
Control System Stability
PID Controller
Proportional Part Normal close loop Differential Part Adjust input by the differential of the error Integral Part Adjust 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-art Tuning the knob has highly coupling effect Lets try it
Tuning PID summary Change in parameter Rise TimeOvershootS-S ErrorSettling Time Increase PLessMoreLessMinor Increase DLessMoreEliminateMore Increase IMinorLessMinorLess
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 Input u System with perfect knowledge Output y
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 Lets do LEGO!
Introduce Lego Mindstorm
Example Show example of Roverbot Pushbot Guardbot Explorer Mozart
Assignment Pick a robot from LEGO kit Do something with it Its 10%