Nattee Niparnan ROBOT CONTROL Behavior Based Robotic Towards
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
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 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 quantity �Always has some error
Intelligence � Robot design + Robot’s Program + Robot’s environment = Robot’s Intelligence
Mobile vs. Immobile Robots
Mobile vs. Immobile Robots Mobile Immobile Unknown world Highly structured world Dynamic Environment Static Environment Localization and mapping problem
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 � 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?
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 motor �If we apply some specific voltage? �Without actually measuring? �i. e. , forward computation � We have all theory, right?
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 200 rpm �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
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 �Let’s try it
Tuning PID summary Change in Rise Time Overshoot S-S Error parameter Settling Time Increase P Less More Less Minor Increase D Less More Eliminate More Increase I Less Minor
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 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 � Let’s 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 � It’s 10%
- Slides: 78