1
ME 597/747 - Lecture 1Autonomous Mobile Robots
Instructor: Chris ClarkTerm: Fall 2005
Figures courtesy of Siegwart & Nourbakhsh
2
Course Description
An introduction to mobile robots and current approaches to robot autonomy. Topics include: – Mobile robot systems and modeling– Control structures– Sensors & Estimation – Localization and Mapping– Motion planning– Multi-robot systems.
3
Course Description
This course will consider the design, construction and programming of robots using existing technology (i.e. off-the-shelf materials).
This course will provide a broad overview of all components related to mobile robots with an emphasis is on robot autonomy.
4
Course Description
Required Text:– “An Introduction to Autonomous Robots”,
Roland Siegwart and Illah R. Nourbakhsh, MIT Press, 2004
Recommended Texts:– “Behavior-Based Robotics”,
Ronald C. Arkin, MIT Press, 1998– “Principles of Robot Motion”, Choset et.
Al., MIT Press, 2005
5
Course Description
Recommended Background: – Basic programming skills, knowledge of
microprocessors, linear algebra, control systems, Matlab, Soldering skills.
6
Course Description
The Mark III Robot
7
Syllabus
1 Sept. 14 Navigation & Control Structures Robot Construction
2 Sept. 21 Robot Programming Robot Programming
3 Sept. 28 Motion Control I – Locomotion & modeling Open Loop Control I
4 Oct. 5 Perception I – Sensor Characteristics Open Loop Control II
5 Oct. 12 Perception II – Sensor Types Sensor Characteristics
6 Oct. 19 Localization I – Rep’s and Markov Loc. Sensor Characteristics
7 Oct. 26 Localization II – Kalman Filter & Mapping Particle Filter I
8 Nov. 2 Cognition I – Motion Planning Particle Filter II
9 Nov. 9 Cognition II – Planning & AI Motion Planning I
10 Nov. 16 Exam Motion Planning II
11 Nov. 23 Multi-Robot Systems Competition Prep.
12 Nov. 30 Robot Competition NA
8
Class Format
Lecture– CPH 3374– 1-1.5 hours theory– Sample Applications
Lab– E3-3146– 1-2 hours
9
Marking – ME 597
10% Assignments35% Experiments45% Midterm10% Competition
10
Marking – ME 747
5% Assignments20% Experiments30% Exam35% Design Project10% Competition
11
Assignments
Done individuallyDue at the beginning of classNecessary for most experimentsMaintain one copy for the experimentWill include Matlab coding for simulations
12
Experiments
Done in groups of 2-3Marks based on– 2/10 Questions– 2/10 Methodology: participation, critical thinking– 4/10 Results: quality, completion– 2/10 Write-up: Background discussion &
conclusions
13
Exam
During lecture (2 hours)Closed book, no notesEquation sheet providedIncludes material up until day of exam
14
Design Project (ME 747 only)
Project proposal is due Sept. 28Final report due in my office:– Dec. 13 (ME 747)
Simulation is required
15
Mini-Sumo Robot Competition
Experiment time to prepare2 sections of round-robin tournament play to qualify into semi-finalsMarking– 1.0 marks for entering each match– 1.0 marks for each win
16
Administrative Info.
Locations– Lectures: CPH-3374– Labs: E3-3146
Web site – http://www.me.uwaterloo.ca/~me597/
17
Administrative Info.
Instructor: Chris Clark – email: [email protected]– Office Hours: Thursday 2-3 pm (OBA)
Teaching Asst: April Blaylock – email adblaylo@engmail– Office Hours: TBA
18
Navigation and Control
1. Course Objective2. Example Systems3. Approaches To Control4. Control Architectures5. Navigation Example
19
Course Objective
Provide robots with the ability to accomplish tasks autonomously.
Autonomously?– Different levels dependant on application
Tele-Operation Fully Autonomous
20
Robot Navigation
For autonomous behavior, mobile robots need the ability to navigate:– Learn the environment-> “Model”– Estimate where it is in the environment->
“Localize”– Move to desired locations in the environment
21
Navigation Problem
Problem Characteristics– Environments are Known versus Unknown– Environments are Static versus Dynamic– Environments are Structured versus
Unstructured (Indoors versus Outdoors?)
Most robot navigation systems are tailored to the problem characteristics.
22
Navigation and Control
1. Course Objective2. Example Systems3. Approaches To Control4. Control Architectures5. Navigation Example
23
Historical Examples
The Tortoise (Walter, 1950)
Courtesy of Hans Moravec
24
Historical Examples
Shakey (SRI 1969)
Stanford Research Institute
25
Historical Examples
Stanford Cart (Moravec, 1977)
Courtesy of Hans Moravec
26
Application Examples
Planetary Exploration
Image of jpl’s mars rover
27
Application Examples
Submersible ROV: Remotely Operated Vehicle
MBARI’s ROV Ventana
28
Application Examples
Legged Robots
jpl’s Lemur robot
29
Application Examples
Security Robots
ActiveMedia’s PatrolBot
30
Application Examples
Multi-Robot Systems
USC’s robot platforms
31
Application Examples
UAVs: Unmanned Aerial Vehicles
AUV “Big Blue” from Advanced Ceramics Research, Inc.
32
Application Examples
AGVs: Autonomic Guided Vehicles
Volvo’s AGV
33
Application Examples
Competitions
2002 RoboCup Tournament – Cornell Team
34
Navigation and Control
1. Course Objective2. Example Systems3. Approaches To Control4. Control Architectures5. Navigation Example
35
Approaches to Control
Open-Loop Control
uKxdesired Gcontrol plant
xw
u xKxdesired Gcontrol plant
wClosed-Loop Control
36
Approaches to Control
1. Planning Based Control– Traditional methods born out of AI (1960’s +)
2. Reactive (i.e. Behavior) Based Control– More recent (mid to late 1980’s)
3. Mixture of Planning and Reactive– Today
37
Approaches to ControlPlanning Based Control
Through perception and sensors fusion, a model of the “real” world is captured in memory.A goal is given and a plan is generated, assuming the “real” world is not changing.Then, the “plan” is executed, one (abstract) “operation” at a time.
38
Approaches to ControlPlanning Based Control
Example: A robot is equipped with a camera and two arms to perform an assembly task.– Goal: put part A into part B– World: where are A and B?– Plan:
move left arm to A; move right arm to B; grab A; grab B; move left and right arm closer; assemble
39
Approaches to ControlPlanning Based Control
Example continued:– What the camera sees is a world of “pixels”.– What is “interesting” in the “real” world to be
captured?– At what level of details should we represent
the “real” world?– What if during plan execution, the “real” world
changes? e.g., drop part A.
40
Approaches to ControlPlanning Based Control
Planning-based navigation architecture
41
Approaches to ControlPlanning Based Control
Perception, modeling and planning are computationally intensive.Our model of the “real” world must be at all times accurate (consistent and reliable).Sudden changes in the world may not be reflected instantly in our model.This approach works well in a predictable world.
42
Approaches to ControlBehavior-Based Control
Actions are connected to precepts via “behaviors”.No internal model: The real world is our model.A robot reacts to changes and exhibits complex behaviors due to both internal and external interactions.
43
Control StructuresBehavior-Based Control
A robot is equipped with many “simple” behaviors.Each behavior defines its own sensor data and actions.Interactions among the behaviors are resolved by coordination.These behaviors are concurrent and independent; they react to changes instantly.
44
Control StructuresBehavior-Based Control
Example: A simple roaming mobile robot is equipped with the following behaviors:
45
Control StructuresBehavior-Based Control
Different behaviors may share same sensors and/or actuators.Noisy sensor data are masked by redundant behaviors.Competitive or cooperative actions are handled by careful coordination.Behaviors may be added or deleted incrementally.
46
Control StructuresBehavior-Based Control
Subsumption Architecture– Behavioral coordination can be based on a fixed
priority of suppression.
47
Control StructuresBehavior-Based Control
Subsumption Architecture– Behavioral coordination can be based on a
fixed priority of suppression.
48
Control StructuresBehavior-Based Control
Each behavior may generate more than one type of actions.Multiple subsumption orderings may coexist at the same time.A behavior may be lower in one ordering, but be higher in an other.Each behavior’s decision “cycle” time is independent.
49
Control StructuresPlanning Based Control
Perception
Localization Cognition
Motion Control
Prior Knowledge Operator Commands
50
Control StructuresBehavior-Based Control
Perception
Localization Cognition
Motion Control
Prior Knowledge Operator Commands
Behaviors
51
Motion Control
Software: Low-Level Control (e.g. PID)
Hardware: Motors, legs, wheels
52
Perception
Hardware: Sensors
Software: Filtering raw data
53
Localization
Modeling and Mapping
54
Cognition
Hardware: Processors
Software: Planning Algorithms
55
Navigation and Control
1. Course Objective2. Example Systems3. Approaches To Control4. Control Architectures5. Navigation Example
56
Control Architectures
Today, most robots control systems have a mixture of planning and behavior-based control strategies.To implement these strategies, a control architecture is used.Control architectures should be:– Modular
57
Control ArchitecturesDesired Characteristics
Code Modularity– Allows programmers to interchange
environment types sensors, path planners, propulsion, etc.
Localization– Embed specific navigation functions within
modules to allow different levels of control (e.g. from task planning to wheel velocity control)
58
Control ArchitecturesDecomposition
Decomposition allows us to modularize our control system based on different axes:
1. Temporal Decomposition– Facilitates varying degrees of real-time processes
2. Control Decomposition– Defines how modules should interact: serial or
parallel?
59
Control ArchitecturesTemporal Decomposition
Factors affecting temporal decomposition:– Sensor response time– Temporal memory and
horizon– Spatial Locality– Context Specificity
T. Memory & Horizon
Context Specificity
Spatial Locality
Sensor Response Time
60
Control ArchitecturesTemporal Decomposition
Example
61
Control ArchitecturesTiered Architectures
A general tiered architecture for episodic planningRole of the Executive is:– Switch behaviors– Monitor failures– Call the planner
Planning only when required (e.g. blockage)
62
Control ArchitecturesTiered Architectures
A tiered architecture for integrated planning
Planning is fast and is embedded as a behavior.
63
Control ArchitecturesTiered Architectures
An integrated planning architectureRole of the Executive is:– Switch behaviors– Monitor failures– Call the planner
64
Control ArchitecturesControl Decomposition
An example of a control decomposition using a mixture of serial and parallel approaches.
65
Navigation and Control
1. Course Objective2. Example Systems3. Approaches To Control4. Control Architectures5. Navigation Example
66
Example System 1: Minerva
Courtesy of Sebastian Thrun
67
Example System 2: Mark III
IR Range Sensor
Servo Motor
OOPic Micro-Controller
Line Sensor
68
Lab
For first lab, there is nothing to hand-in.However, you must demonstrate a working robot at the beginning of the third lab.
69
Lab
Decide if you will take the courseForm a group of threeMeet at Room E3 – 3112Collect manual and Equipment from the TACheck all parts are presentBegin constructing robot by dividing responsibilities
– Circuit board (start with resistors)– Mechanical (start with motors).– Familiarize with software gui (start with tutorial)