Trends in Robotics Research Classical AI Robotics (mid-70’s) Sense-Plan-Act Complex world model...

download Trends in Robotics Research Classical AI Robotics (mid-70’s) Sense-Plan-Act Complex world model and reasoning Reactive Paradigm (mid-80’s) No models: “the.

If you can't read please download the document

description

2/4/2016CS225B Kurt Konolige Sense-Plan-Act Paradigm Architecture: Exec was in charge ILUs were reactive Opportunistic use of plans Replanning Sense Plan DB STRIPS Act Exec ILUs

Transcript of Trends in Robotics Research Classical AI Robotics (mid-70’s) Sense-Plan-Act Complex world model...

Trends in Robotics Research Classical AI Robotics (mid-70s) Sense-Plan-Act Complex world model and reasoning Reactive Paradigm (mid-80s) No models: the world is the model Simple sense-act functions Emergent behavior Hybrid Architectures (90s) Models at higher levels, reactive at lower levels Mid-level executive to sequence actions Probabilistic Methods (mid-90s) Uncertain sensing and acting Integration of models, sensing, acting Indoor, wheeled, static blocks world Static legged motion, robot swarms, reactive Complex environments, mapping and localization, human-robot interactions Challenging outdoor environments Air, water vehicles Dynamic legged motion [Again Thanks to Steffen Gutmann for many slides] 2/4/2016CS225B Kurt Konolige 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 2/4/2016CS225B Kurt Konolige Sense-Plan-Act Paradigm Architecture: Exec was in charge ILUs were reactive Opportunistic use of plans Replanning Sense Plan DB STRIPS Act Exec ILUs 2/4/2016CS225B Kurt Konolige Shakey 69 Stanford Research Institute 2/4/2016CS225B Kurt Konolige Stanford CART 73 Stanford AI Laboratory / CMU (Moravec) 2/4/2016CS225B Kurt Konolige Classical Paradigm - Stanford Cart 1. Take nine images of the environment, identify interesting points in one image, and use other images to obtain depth estimates 2. Integrate information into global world model 3. Correlate images with previous image set to estimate robot motion 4. On basis of desired motion, estimated motion, and current estimate of environment, determine direction in which to move 5. Execute the motion 2/4/2016CS225B Kurt Konolige Classical Paradigm as Horizontal/Functional Decomposition 2/4/2016CS225B Kurt Konolige Classical Paradigm as Horizontal/Functional Decomposition 2/4/2016CS225B Kurt Konolige Behavioral Paradigm 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 Vertical vs. Horizontal Decomposition Sense Act Sense Act Sense Act Sense Act 2/4/2016CS225B Kurt Konolige Reactive Paradigm as Vertical Decomposition 2/4/2016CS225B Kurt Konolige Behavioral Paradigm: Tenets 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) How do behaviors combine? Sense Act Sense Act Sense Act Sense Act Swarm robots: Genghis: 2/4/2016CS225B Kurt Konolige Motor Schema Direct mapping from the environment to a control signal goal-seeking behaviorobstacle-avoiding behavior 2/4/2016CS225B Kurt Konolige Motor Schema vector sum of the avoid and goal motor schemas path taken by a robot controlled by the resulting field 2/4/2016CS225B 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 2/4/2016CS225B 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 2/4/2016CS225B 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 SSSConnell Motor Schemas Arkin RAPSFirby SaphiraKonolige et al 2/4/2016CS225B Kurt Konolige Final Project (Fall 2001) 2/4/2016CS225B Kurt Konolige QRIO s Navigation Architecture Each module runs in own thread Message passing between modules Aperios/OPEN-R real-time system 2/4/2016CS225B Kurt Konolige Environment Classification 6 different types: Floor Stairs Border Tunnel Obstacle Unknown 2/4/2016CS225B 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. QRIO autonomously navigates on an obstacle course (IJCAI-2005) narrow obstacles Stairs (2 x 3cm) Table (35 cm) Experiments Video PR2 Door and Plugin (Milestone 2) 2/4/2016CS225B Kurt Konolige Milestone 2: Doors and Plugin