Title: Integrated, PlanBased Control of Autonomous Robots in Human Environments
1Integrated, Plan-Based Control of Autonomous
Robots in Human Environments
- Presented by Aaron Drew
- April 17, 2003
- Michael Beetz, Munich University of Technology
- Tom Arbunckle, Thorsten Belker, Armin B. Cremers,
Dirk Schulz, University of Bonn - Maren Bennewitz, Wolfram Burgard, Dirk H hnel,
University of Freiberg - Dieter Fox, University of Washington
- Henrik Grosskreutz, Aachen University of
Technology
2The Challenge
- The next step in autonomous robots.
- Create a robot which has several functions
- Operates in an unstructured, dynamic environment.
- Accomplishes prolonged, complex, and dynamicly
changing tasks. - Performs safely and reliably.
3The Requirements
- The robot must possess several abilities
- Rich perceptual capabilities to recognize objects
and places. - Method to communicate with people.
- System to manage concurrent tasks.
- Self improving control routines based on
experience.
4The Star of Our Show
- Rhino, a RWI B21 mobile robot.
- Has a unique control system.
- Enables successful operation in increasingly
complex environments. - Has multiple vision sensors.
- Includes human interaction functions.
5Dynamic-system Perspective
- Must be flexible and responsive to changes.
- Dynamic systems used as primary abstract model
for programming integrated, plan-based
controller. - Two processes
- Controlled process
- Controlling process
6Controlled Process
- Events in environment, robot's physical
movements, and sensing operations. - Broken into two processes
- Environment
- Changes world state.
- Sensing
- Maps world state into sensor data.
7Controlling Process
- Robot's controlling system.
- Broken into two processes
- State estimation
- Computes beliefs about the controlled system's
states. - Action generation
- Specifies control signals supplied to controlled
process as a response to estimated system state.
8Visualization of Processes
9RPL
- Uses Reactive Plan Language.
- Provides traditional control abstractions.
- Includes high-level constructs (interrupts,
monitors). - Allows specification of interactive behavior,
concurrent control processes, failure recovery
methods, and temporal coordination of processes. - Makes plans reactive and robust by incorporating
sensing and monitoring, as well as reactions.
10Plan-based High-level Control
- Robot must flexibly interleave tasks, exploit
opportunities, quickly plan actions, and revise
intended activities. - Rhino plans represent future activity and have
two roles - Executable prescriptions the robot interprets to
accomplish jobs. - Syntactic objects the robots revises to meet
specific success criteria.
11Planning Processes
- Project what might happen when a robot controller
executes a plan. - Return the result as an execution scenario.
- Infer what might be wrong with a robot controller
given an execution scenario. - Perform complex revisions on robot controllers.
12Probabilistic State Estimation
- Sensors are inaccurate.
- Combine data to get object's most likely state.
- When asked, state estimators return all available
information in probability density. - Allows variance and entropy to be measured.
13Plan Transformation
- Robot has a plan library of canned plans.
- Not always optimal.
- If unexpected opportunity presents itself, canned
plans will miss them. - Self-adapting plans are used.
- When a belief changes, a runtime plan adaption
process occurs. - Decides if revisions are necessary and if so,
performs them.
14How it works
- Move red letter from A-111 to A-120
- Move green book from A-110 to A-113
- Environment stays static.
15How it works
- Move red letter from A-111 to A-120
- Move green book from A-110 to A-113
- Door to A-120 closes after getting the red letter.
16Control System Architecture
- Three parts
- Low-level control system
- Responsible for sensing and navigating.
- High-level controller, or structured reactive
controller - Must effectively combine tasks into coherent
task-directed behavior. - High-level interface
- Let's low-level and high-level talk.
17System Architecture Visualization
18Low-Level Control Systme
- 20 distributed modules monitor or control a
dedicated aspect of the robot. - Modules communicate using asynchronous
message-passing library. - They use iterative algorithms with simple update
rules. - Get immediate answer and iteratively improve it.
19Perceptual Subsystem
- Original Rhino had localization and mapping
probabilistic state estimators. - Added two more to allow for a more dynamic
environent - One monitored doors, chairs, and waste baskets.
- Other tracked people and other robots.
20Perceptual Subsystem (2)
- Also an image-processing subsystem.
- Uses RECIPE (reconfigurable, extensible, capture
and image processing environment). - Loads modules for image processing at runtime.
21Perceptual Subsystem (3)
- Another component supports some natural language.
- Rhino able to be instructed by emails.
- Supports only a constrained subset of English.
- Parsed with a simple definite-clause grammar.
22Perceptual Subsystem (4)
- From peters_at_cs.uni-bonn.de
- Date Fri, 24 Oct 1997 120357
- To rhinotcx_at_cs.uni.bonn.de
- Subject Command
- Could you please bring the yellow book on the
desk in room a-120 to the library before 1230
23Perceptual Subsystem (5)
- (Request
- SENDER (THE PERSON (FIRST-NAME Hanno)
- (LAST-NAME Peters))
- RECEIVER (THE ROBOT (NAME RHINO))
- TIME (THE TIME-INSTANT 10241203)
- REPLY-WITH (YOUR COMMAND FROM 1203)
- CONTENT (ACHIEVE
- (LOC (THE BOOK
- (COLOR YELLOW)
- (ON (THE DESK
- (IN (THE ROOM A-120)))))
- (THE LOC (IN (THE ROOM LIBRARY))))
- DEADLINE (A TIME INSTANT (BEFORE (DATE 1230)))
24Navigational Subsystem
- Transforms a pair of locations into a Markov
Decision Process. - Solves using a value iterator.
- End result is a mapping from every possible
location to a optimal heading for the
destination. - Reactive collision avoidance module gets mapping.
- Mapping, dynamics, and sensor data used to reach
to reach destination.
25High-Level Interface
- Provides a mechanism for High-Level Controller to
control low-level control processes. - High-Level Controller can start, terminate, and
wait for processes. - Interface gives High-Level Controller feedback,
such as task completion signals.
26Structured Reactive Controllers
- The high-level controller.
- Given a set of jobs, SRC concurrently executes
default routines. - During the execution of routine activities, SRC
determines if plans will interfere with each
other and monitors if robot experiences
non-standard situations. - If necessary, determines how routine may work and
revises plan to make it more robust.
27SRC Prediction
- Rhino's action model reflects several facts
- Physical robot actions cause continuous change.
- Controllers are reactive systems.
- The robot is executing multiple physical and
sensing actions. - The robot is uncertain about the effects of its
actions and the state of the environment. - Huge branching factor for future possible states.
28SRC Prediction (2)
- Rhino employs probabilistic sampling-based
temporal projection methods. - Infer information quickly with a bounded risk.
- Given a set of possible plan failure modes and a
risk the robot is willing to take that its
prediction is wrong, infer whether the plan is
likely to produce a failure mode with a
probability greater than a given threshhold.
29Transformational Planning of Concurrent Reactive
Plans
- Simple version take several plans, glue them
together, improve the plan so it works. - Complex version
- Search in plan space. Nodes are proposed plans.
- Initial node is default plan from plan library.
- Adaptor projects plan to find execution
scenarios. - Adaptor criticizes execution scenarios to
estimate how good a plan is and predict possible
plan failures. - Adaptor revises plan to produce a new version,
and repeats.
30Learning Symbolic Robot Plans
- XFRMLEARN.
- Starts with default plans made through navigation
system and MDP. - Activates collision avoidance module and
executes. - XFRMLEARN watches the behavior, and finds
stretches to improve (thin hallways, for
example). - Forms revision methods and experiments with them.
Successful methods are kept and used.
31Sample of Navigation Learning
32Future Work
- Improving robustness for hardware and software
failures, along with unknown situations. - Extend probabilistic models and context-sensitive
calculation abilities.