%---------------------------------------------------------------------------- ACTION (otherwise known as Robotics) %---------------------------------------------------------------------------- Situated Action (or Reactive Control) direct mapping percepts ---------------------> actions %---------------------------------------------------------------------------- Cognitive Action (or Deliberative Planning) model / \ cognition / \ direction / \ / \ world --------- plans modification %---------------------------------------------------------------------------- Functional modules of an intelligent robot: Robot (or robot arm) Position and speed sensors for robot arm Control (motor control of robot arm) Environment sensors (sonar, tv camera, touch sensors, etc.) Recognition (interpreting the environment) Intelligent database (knowledge base) Information processing (planning, decision making) %---------------------------------------------------------------------------- PLANNING, EXECUTION, EXECUTION MONITORING PLANNING = process of coming up with a plan EXECUTION = actually running the plan When plans are carried out in the real world, FEEDBACK is necessary to ensure that all is going as expected. EXECUTION MONITORING = process of watching a plan's execution and checking the results. No general theory of execution monitoring exists at present. %---------------------------------------------------------------------------- INTERLEAVING PLANNING AND EXECUTION There's no point in planning every task in gory detail before executing everything, because events can occur while executing early tasks that will make plans for later tasks wrong. This can happen because: The world may not be exactly as you thought it was. Other agents in the world may be doing things at the same time. The robot's actions are not precise (e.g., mechanical error). Execution proceeds as soon as a single primitive task is ready for execution. After each execution, the world model is updated: If all went as planned, the new world model is posted. Otherwise, the results of execution may reveal that: Expected effects are wrong, or Reduction of later tasks is wrong Unexpected results must be explained. After explaining a failure, some tasks will be classified as failed, others as failing. A failed plan must be flushed and replaced, and its effects fixed. A failing plan must be corrected. Algorithm: Repair failing task: If there is an alternate way to do it then plan to do that else flush failing task Flush failed task: Mark it and its subtasks as "abandoned" If there is a way to redo it then plan to do that else if it has a super task then repair supertask else robot's life has been a failure %---------------------------------------------------------------------------- SPATIAL NAVIGATION and PATH PLANNING: - Plotting a course from START to GOAL, given a (possibly incomplete) TERRAIN MAP with possible OBSTACLES [slide of grid representation of problem]. - EXECUTION MONITORING and REACTIVE PLANNING, using the ability to use SENSORS to get more information while travel on the plotted course. - Planning representation and robot control methods are inseparable Goals: - To maintain a model of the world - To update that model using sensor data - To determine a path to a specified goal based on some criteria for "best" path - To modify that path as necessary, during execution, based on new or conflicting sensor data Characteristics of the mobile robot domain: - Imprecise control - Low dimensionality - Cumulative error - Incomplete model - Uncertainty in objects - Non-repetitive paths - On-line, continuous, path planning Sensor inputs: low level representation of world - E.g., slide of three-dimensional sonar map Navigation maps: high level representation of world (e.g., landmarks) - E.g., slide of navigation landmarks and automaton representation of navigation map Characteristics of a good path planning representation: - Efficiency - Representation of Uncertainty - Multiple Frames of Reference - Sensor Independence - Robot Vehicle Independence - Support for Semantic Information - Facilitation of Parallel Processing - Support of Localization %---------------------------------------------------------------------------- Hierarchical control systems - Communication and control in a predicatable and predetermined manner - Production oriented - Clear division of planning functionality. Typically: MISSION PLANNER: establishes objectives determines optimality criteria invokes spatial or commonsense reasoning NAVIGATOR: develops global path, subject to mission planner's constraints PILOT: implements global plan piecewise handles avoidance of ummodelled obstactles - Higher levels establish subgoals for lower levels - In some systems, a CARTOGRAPHER is used to independently maintain world model - Conceptual architecture: AuRA (Autonomous Robot Architecture [Arkin]): ------------------- | HUMAN COMMANDER | ------------------- | hierarchical | planner v ------------------- decision ->| MISSION PLANNER | <---| |--------------|--------------| data | ------------------- | | Meadow Map | CARTOGRAPHER |----------->| NAVIGATOR | |decision |..............|..............|<<-<---- | ------------------- |criteria | | | | | ->| PILOT | | | High level | |<-|<---| ------------------- |---------| |--------------| | | |sensory ^ | | CONTROL | | Intermediate | VISIONS |<-| |pathways status| v plans |---------| |--------------| | | | -------------------- | ^ | Low level | |<-| |--->| MOTOR SCHEMA |<---| | |--------------|--------------| | | MANAGER |---------| ^ -------------------- -------->----------->------| vehicle interface <-- internal | | | | sensors |------------| |------------| |------------| |------------| | SENSOR | | SENSOR | | MOTOR | | MOTOR | | PROCESSING | | PROCESSING | | CONTROLLER | | CONTROLLER | |------------| |------------| |------------| |------------| ^ ^ | | | | v v sensor 1 sensor 2 motor 1 motor 2 PERCEPTION <------ ENVIRONMENT -------- ACTION %---------------------------------------------------------------------------- Copyright (c) Ashwin Ram and Ashok Goel, 1994-97 Associate Professors, College of Computing Georgia Institute of Technology, Atlanta, Georgia 30332-0280 E-mail: %----------------------------------------------------------------------------