Trends in Robotics Research Classical AI Robotics (mid-70’s) Sense-Plan-Act Complex world model and reasoning Indoor, wheeled, static blocks world Reactive Paradigm (mid-80’s) No models: “the world is the model” Simple sense-act functions Emergent behavior Static legged motion, robot swarms, reactive Complex environments, mapping and localization, human-robot interactions Hybrid Architectures (90’s) Models at higher levels, reactive at lower levels Mid-level executive to sequence actions Challenging outdoor environments Air, water vehicles Dynamic legged motion Probabilistic Methods (mid-90’s) Uncertain sensing and acting Integration of models, sensing, acting [Again – Thanks to Steffen Gutmann for many slides]
Classic AI Robotics Shakey (1967) at SRI – Rosen, Nilsson, Hart First AI Robot Foundational study: reason about the world, e.g., “block a doorway” How do you represent the environment? How do you plan to change the environment? Set of predicates describing the world AT(Box1, (32, 11)) ON(Box2, Box1) Rules among the predicates (predicate logic) Operators describing how actions affect the world => STRIPS planner 9/21/2018 CS225B Kurt Konolige
Sense-Plan-Act Paradigm Architecture: Sense Plan Act STRIPS Exec ILUs DB Exec was in charge ILUs were reactive Opportunistic use of plans Replanning 9/21/2018 CS225B Kurt Konolige
Shakey’69 Stanford Research Institute 9/21/2018 CS225B Kurt Konolige
Stanford CART ‘73 Stanford AI Laboratory / CMU (Moravec) 9/21/2018 CS225B Kurt Konolige
Classical Paradigm - Stanford Cart Take nine images of the environment, identify interesting points in one image, and use other images to obtain depth estimates Integrate information into global world model Correlate images with previous image set to estimate robot motion On basis of desired motion, estimated motion, and current estimate of environment, determine direction in which to move Execute the motion 9/21/2018 CS225B Kurt Konolige
Classical Paradigm as Horizontal/Functional Decomposition 9/21/2018 CS225B Kurt Konolige
Classical Paradigm as Horizontal/Functional Decomposition 9/21/2018 CS225B Kurt Konolige
Behavioral Paradigm Vertical vs. Horizontal Decomposition Reaction to perceived inadequacies of the SPA paradigm Brooks, Arkin, Payton Radical change: use a short Sense-Act Cycle Many different incarnations Subsumption (Brooks, Connell, …) Potential Fields, Motor Schemas (Arkin, Gat) Rule-based (Saffiotti, Ruspini, Konolige) Circuits (Gat, Rosenschein and Kaelbling-Pack) Biological Inspiration No complex data structures No complex sensory processing Sense Act Vertical vs. Horizontal Decomposition 9/21/2018 CS225B Kurt Konolige
Reactive Paradigm as Vertical Decomposition 9/21/2018 CS225B Kurt Konolige
Behavioral Paradigm: Tenets Swarm robots: Robots are situated No abstract thinking Interpretation of robot state depends on environment Behavior-based programming, emergent behaviors No hierarchical controller Distributed, concurrent behaviors Behavior-specific sensing Quick and dirty (e.g., seagull chicks) Genghis: Sense Act How do behaviors combine? 9/21/2018 CS225B Kurt Konolige
Motor Schema Direct mapping from the environment to a control signal obstacle-avoiding behavior goal-seeking behavior 9/21/2018 CS225B Kurt Konolige
Motor Schema path taken by a robot controlled by the resulting field vector sum of the avoid and goal motor schemas 9/21/2018 CS225B Kurt Konolige
Behavior Design Behavior design is more an art than a science In what situation does the behavior apply? What is the result of the behavior? Easy to program? Robustness? Scalability? Good behaviors produce smoothly varying control signals Control signals that oscillate or otherwise jump around lead to poor control performance Emergent behavior is difficult to predict 9/21/2018 CS225B Kurt Konolige
Project 1: Wall Following Find a wall to travel along Use right-hand rule: keep wall on the right Keep a short distance from the wall, going parallel to it NOTE: *must* interpret LRF readings by finding “wall” features Follow along inside and outside bends Go through reasonable openings (> 1m) Suggestions: Use behaviors for different situations: along wall, far from wall, at inside corner, etc. Debug them separately Invoke behaviors based on the situation Use heading control rather than separate wheel velocities 9/21/2018 CS225B Kurt Konolige
Complex Control Architectures Task: there are three robots to deliver six packages to four people. Question: how much force should Robot 1 apply to its left wheel? state -> a1, a2 ... an Multi-robot coordination Planner Sequencer Behaviors Hybrid Architectures Faster More Capable SSS Connell Motor Schemas Arkin RAPS Firby Saphira Konolige et al ..\..\..\writings\talks\videos\flakey etc\flakey-sap.avi 9/21/2018 CS225B Kurt Konolige
Final Project (Fall 2001) 9/21/2018 CS225B Kurt Konolige
QRIO’s Navigation Architecture Each module runs in own thread Message passing between modules Aperios/OPEN-R real-time system 9/21/2018 CS225B Kurt Konolige
Environment Classification 6 different types: Floor Stairs Border Tunnel Obstacle Unknown 9/21/2018 CS225B Kurt Konolige
Configuration and Modularity Only enabled actions are allowed when expanding a node during path search Motion behavior is selected based on the types of cells on the path and on the path direction as reported by the path planner. 9/21/2018 CS225B Kurt Konolige
QRIO autonomously navigates on an obstacle course (IJCAI-2005) Experiments narrow obstacles Stairs (2 x 3cm) Table (35 cm) QRIO autonomously navigates on an obstacle course (IJCAI-2005)
Video