Introduction
Version: 15.10.03
What is a robot?
Notion derives from 2 strands of thought: - Humanoids human-like - Automata self-moving things Robot derives from Czech word robota - Robota: forced work or compulsory service Term coined by Czech play right Karel Capek - 1921 play R.U.R. (Rossums Universal Robots) Current notion of robot: - Programmable - Mechanically papable - Flexible Our Working definition of robot: physical agent that generates intelligent connection between perception and action
Some Current State-of-the-Art Robots
More State-of-the-Art Research Robots
Robot Videos
Industrial manipulators
Honda Humanoid Robot http://world.honda.com/ASIMO walking stair climbing
Robot Videos
Localization and Navigation ..\Videos\103_0363.AVI
Robotics as an Interdisciplinary Science
Mathematics Physics Control-theory Cybernetics Computer Science Artificial Intelligence Biology Psychology Sociology Philosophy Artificial life
Why Are Mobile Robots Interesting ?
Mobile robots are a motivating and hard test environment for a wide range of methods. The success of each method can be evaluated according to the following criteria, which can be categorized in three fields: Real-world abilities, meaning the ability of handling real-world data Interacting with the environment Handling dynamic scenes
State of Robotics Applications
Moving from manufacturing, industrial manipulators to: - Entertainment robotics - Personal service robots - Medical robots - Industrial applications beyond factory (e. g., mining, agriculture) - Hazardous applications (e. g., military, toxic cleanup, space)
Challenges of Robotics Research: Inherent Uncertainty (1)
Environment is stochastic and unpredictable Sensors are limited and noisy Robot effectors are limited and noisy Models are simplified and inaccurate
Example:
Challenges of Robotics Research: Inherent Uncertainty (2)
Examples:
laser scan with raw odometry data
map based on corrected odometry data
Sources and Effect of Uncertainty/Noise
Sources of sensor noise: - Limited resolution sensors - Sensor reflection, multi-pathing, absorption - Poor quality sensor conditions (e.g., low lighting for cameras) Sources of effectors noise: - Friction: constant or varying (e.g., carpet vs. vinyl vs. tile; clean vs. dirty floor) - Slippage (e.g., when turning or on dusty surface) - Varying battery level (drainage during mission) Impact: - Sensors difficult to interpret - Same action has different effects when repeated - Incomplete information for decision making
Why is Robotics hard?
Sensors are limited and crude Effectors are limited and crude State (internal and external, but mostly external) is partially-observable Environment is dynamic (changing over time) Environment is full of potentially-useful information
What are Basic Robot Issues?
Perception
(sense/detect)
Control
(behave, plan, react, reason, ...)
Action
(through effectors: wheels, legs, tracks...)
Environment
How do you perceive? How do you control? How do you generate action?
Autonomous mobile robots accomplish given objectives in unstructured, dynamic, partially observable, and uncertain environments: - Autonomous: robot makes majority of decisions on its own; no human-in-the-loop control (as opposed to teleoperated) - Mobile: robot does not have fixed based (e. g., wheeled, as opposed to manipulator arm) - Unstructured: environment has not been specially designed to make robots job easier - Dynamic: environment may change unexpectedly - Partially observable: robot cannot sense entire state of the world (i. e., hidden states) - Uncertain: sensor readings are noisy; effecter output is
Intelligent Robotics
Fundamental Issues in Robotics
-Where am I? [localization]
- How do I interpret my sensor feedback to determine my current state and surroundings? [sensor processing / perception - How do I make sense of noisy sensor readings? [uncertainty management] - How do I fuse information from multiple sensors to improve my estimate of the current situation? [sensor fusion] - What assumptions should I make about my surroundings? [structured / unstructured environments] - How do I know what to pay attention to [focus-of-attention]
Fundamental Issues in Robotics
-What should my control strategy be to ensure that I respond quickly enough? [control architecture] - How should I make decisions? [reasoning, task arbitration] - Where do I want to be, and how do I get there? [path planning, navigation] - I have lots of choices of actions to take what should I do in my current situation? [action selection] - How should I change over time to respond to a dynamic environment? [learning, adaptation] - Why doesnt the same action that worked in this situation before not work now? [hidden state] - How should I work with other robots?
Components of a Robot
sensors effectors/actuators locomotion system on-board computer system
Sensors
Sonars Laser range scanners Infrared proximity detectors Cameras Bumpers, tactile sensors Encoders Accelerometers, compass, gyroscope, inertial navigation systems GPS
Sensor Modalities
Sensor modality: - Sensors which measure same form of energy and process it in similar ways - Modality refers to the raw input used by the sensors Different modalities: - Sound - Pressure - Temperature - Light Visible light Infrared light X-rays etc.
Categorizing Perceptual Stimuli
Proprioception: measurements of movement relative to the robots internal frame of reference (also called dead reckoning) Exteroception: measurements of layout of the environment and objects relative to robots frame of reference Exproprioception: measurement of the position of the robot body or parts relative to the layout of the environment
Bild
robots origin in robots frame of reference = (0,0,0) robots origin in global frame of reference = (XR0,YR0,ZR0)
Proprioceptive Sensors
Sensors that give information on the internal state of the robot, such as: - Motion - Position (x, y, z) - Velocity, acceleration - Temperature - Battery level Example proprioceptive sensors: - Encoders (dead Reckoning) - Inertial navigation system (INS) - Global positioning system (GPS) - Compass - Gyroscopes
Dead Reckoning Odometry Encoders
Measure turning distance of motors (in terms of numbers of rotations), which can be converted to robot translation/rotation distance If gearing and wheel size known, number of motor turns number of wheel turns estimation of distance robot has traveled
Encoders
Challenges/issues: - Motion of wheels not corresponding to robot motion, e.g., due to wheel spinning - Wheels dont move but robot does, e.g., due to robot sliding Error accumulates quickly, especially due do turning:
Dead Reckoning Errors
Plot of overlaid laser scans overlaid based strictly on odometry:
Bild
Proximity Sensors
Measure relative distance (range) between sensor and objects in environment Most proximity sensors are active Sonar (ultrasonics) Laser range finders Infrared (IR) Bump and feeler sensors
Time of Flight Sensors
d=v t
d : round-trip distance v : speed of propagation t : elapsed time.
The measured time is representative of traveling twice the separation distance (i. e., out and back) and must therefore be reduced by half to result in actual range to the target.
Errors for Time of Flights Sensors
Variations in the speed of propagation, particularly in the case of acoustical systems Uncertainties in determining the exact time of arrival of the reflected pulse Inaccuracies in the timing circuitry used to measure the round-trip time of flight Interaction of the incident wave with the target surface
Sonar (Ultrasonics)
Refers to any system that achieves ranging through sound Can operate at different frequencies Very common on indoor and research robots Operation: - Emit a sound - Measure time it takes for sound to return - Compute range based on time of flight
Reasons Sonar is So Common
Can typically give 360 coverage as polar plot Cheap (a few $US) Fast (sub-second measurement time) Good range about 25 feet with 1 resolution over FOV of 30
Ultrasonic Sensors
Ultrasonic TOF ranging is today the most common technique employed on indoor mobile robotics systems. availability of low-cost systems Sonar sensors are used for world modeling collision avoidance, position estimation motion detection.
Sonar Challenges
Dead zone, causing inability to sense objects within about 11 inches Indoor range (up to 15 feet) better than outdoor range (perhaps 8 feet) Key issues: - Foreshortening: - Cross-talk: sonar cannot tell if the signal it is receiving was generated by itself, or by another sonar in the ring
Mobile Robots and Manipulators
A robot acts through the use of its actuators, also called effectors. Robotic actuators are used for: locomotion (moving around, going places) manipulation (handling objects) Mobile robotics Mobile robots can move around, using wheels, tracks, or legs, and usually move in 2-dimensions; Manipulator robotics Manipulators are various robot arms 6-DOF arms can move in three translational and three rotational dimensions
Brief History of Robotics
Cybernetics Grey Walters Tortoise Breitenberg Vehicles Shakey Behavior Based Paradigm
Cybernetics
Cybernetics is combination of: - Control theory - Information science - Biology Seeks to explain control principles in both animals and machines Uses mathematics of feedback control systems to express natural behavior Emphasis is on situatedness strong two-way coupling between organism and its environment Leader of cybernetics field: Norbert Wiener in late 1940s
Cybernetics
Pioneered by Norbert Wiener (1940s) (From Greek "steersman" of steam engine) Marriage of control theory (feedback control), information science and biology Seeks principles common to animals and machines, especially for control and communication Coupling an organism and its environment (situatedness)
Grey Walters Machina Speculatrix, or Tortoise (1953)
Sensors: - Photocell - Contact Actuators: - Steering motor on wheel - Driving motor on wheel
Behaviors of tortoise: - Seeking light - Head toward weak light - Back away from bright light - Turn and push (for obstacle avoidance) - Recharge battery
Design Principles Learned from Walters Tortoise
Parsimony: simple is better (recharging strategy) Exploration or speculation: constant motion to avoid traps Attraction (positive tropism): move towards positive stimuli Aversion (negative tropism): motivation to avoid obstacles, slopes Discernment: distinguish between productive and unproductive behavior
Braitenbergs Vehicles (1984)
Took perspective of psychologist Created wide range of vehicles Vehicles used inhibitory and excitatory influences Direct coupling of sensors to motors Complex behaviors from simple mechanisms Exhibited behavioral characteristics that appeared to be: - Cowardice - Aggression - Love - etc.
Braitenberg Vehicle 1: Getting Around
Single motor, single sensor Motion always forward Speed controlled by sensor Principle: The more there is of the quality (e.g., heat) to which the sensor is tuned, the faster the motor goes. Environmental perturbations produce direction changes
Braitenberg Vehicle 2:
Two motors, two sensors One configuration: light aversive (fear) Second configuration: light attractive (aggression)
Braitenberg Vehicle 3: Love and Exploration
Two motors, two sensors Same as vehicle 2, but with inhibitory connections One configuration: approaches and stops at strong light (love) Second configuration: approaches light, but always exploring (explorer)
Braitenburg Vehicle 4: Values and Special Tastes
Two motors, two sensors Add various non-linear speed dependencies to vehicle 3, s. t. speed peaks between max and min intensities Result: oscillatory behaviors
Summary of Braitenbergs Vehicles
Systems are inflexible, non-reprogrammable However, vehicles are compelling in overt behavior Achieve seemingly complex behavior from simple sensori-motor transformations
Shakey (SRI), 1960s
One of first mobile robots Sensors: - Vidicon TV camera - Optical range finder - Whisker bump sensors Radio link to DEC PDP-10 , PDP-15 computers Environment: Office environment with specially colored and shaped objects STRIPS planner: developed for this system - Used world model to determine what - Actions robot should take to achieve goals
Shakey
Shakey used programs for perception, world-modeling, and acting. low level action routines took care of simple moving, turning, and route planning. intermediate level actions strung the low level ones together in ways that robustly accomplished more complex tasks. the highest level programs could generate and execute plans to achieve goals given it by a user. the system also generalized and saved these plans for possible future use.
Shakeys STRIPS World
Types of actions Shakey can make (at least in simulation): - Move from place to place: Go(y): PRECOND: At (Shakey, x) In (x, r) In(y, r) EFFECT: At (y) - Push movable objects: Push (b, x, y): PRECOND: Pushable (b) At (b, x) At (Shakey,x) In (x, r) In(y, r) On (Shakey, Floor) EFFECT: At (b, y)
STRIPS-Based Approach to Robot Control
Use first-order logic and theorem proving to plan strategies from start state to goal Define: - Goal State - Initial State - Operators STRIPS Operators have: - Action description - Preconditions - Effect: Add-list Delete-list
Simple Example of STRIPS-Style Planning
Goal State: ON (A, B) Start state: ON (A, Table); ON (B, Table); EMPTYTOP (A); EMPTYTOP (B) Operator: - Move (x,y) Add-List: ON(x,y) Delete-List: EMPTYTOP (y); ON (x, Table)
A B
A B
Start State
Goal State