CS225B Robot Programming Laboratory

Download Report

Transcript CS225B Robot Programming Laboratory

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 world is the model”
• Simple sense-act functions
• Emergent behavior
Hybrid Architectures (90’s)
• Models at higher levels, reactive at lower levels
• Mid-level executive to sequence actions
Probabilistic Methods (mid-90’s)
• Uncertain sensing and acting
• Integration of models, sensing, acting
[Again – Thanks to Steffen Gutmann for many slides]
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
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

7/17/2015
CS225B Kurt Konolige
Sense-Plan-Act Paradigm
Architecture:
Sense
Plan
STRIPS
Act
Exec
ILUs
DB




7/17/2015
Exec was in charge
ILUs were reactive
Opportunistic use of plans
Replanning
CS225B Kurt Konolige
Shakey’69
Stanford Research
Institute
7/17/2015
CS225B Kurt Konolige
Stanford CART ‘73
Stanford AI Laboratory / CMU (Moravec)
7/17/2015
CS225B Kurt Konolige
Classical Paradigm Stanford Cart
1.
2.
3.
4.
5.
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
7/17/2015
CS225B Kurt Konolige
Classical Paradigm as Horizontal/Functional Decomposition
7/17/2015
CS225B Kurt Konolige
Classical Paradigm as Horizontal/Functional Decomposition
7/17/2015
CS225B 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
7/17/2015
CS225B Kurt Konolige
Sense
Act
Sense
Act
Sense
Act
Sense
Act
Reactive Paradigm as Vertical Decomposition
7/17/2015
CS225B Kurt Konolige
Behavioral Paradigm: Tenets
Swarm robots:
Robots are situated


Genghis:
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?
7/17/2015
CS225B Kurt Konolige
Sense
Act
Sense
Act
Sense
Act
Sense
Act
Motor Schema
Direct mapping from the environment to a control signal
obstacle-avoiding behavior
7/17/2015
goal-seeking behavior
CS225B Kurt Konolige
Motor Schema
path taken by a robot controlled
by the resulting field
vector sum of the avoid and
goal motor schemas
7/17/2015
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
7/17/2015
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
7/17/2015
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
Hybrid
Architectures
Multi-robot
coordination
Planner
SSS
Connell
Motor Schemas Arkin
RAPS
Firby
Saphira
Konolige et al
..\..\..\writings\talks\videos\flakey etc\flakey-sap.avi
7/17/2015
Sequencer
Behaviors
CS225B Kurt Konolige
Faster
More
Capable
Final Project (Fall 2001)
7/17/2015
CS225B Kurt Konolige
QRIO’s Navigation Architecture
• Each module runs
in own thread
• Message passing
between modules
• Aperios/OPEN-R
real-time system
7/17/2015
CS225B Kurt Konolige
Environment Classification
6 different types:
 Floor
 Stairs
 Border
 Tunnel
 Obstacle
 Unknown
7/17/2015
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.
7/17/2015
CS225B Kurt Konolige
Experiments
narrow
obstacles
Stairs (2 x 3cm)
Table
(35 cm)
QRIO autonomously navigates on an obstacle course (IJCAI-2005)
Video