Intelligent Robotics Today Robot Control Architectures Monday ECEME

Intelligent Robotics Today: Robot Control Architectures Monday: ECE/ME Quiz

Computer Architecture • Internal structure of a digital computer, encompassing the design and layout of its instruction set and storage registers. The architecture of a computer is chosen with regard to the types of programs that will be run on it (business, scientific, generalpurpose, etc. ). – Britannica Concise Encyclopedia

Robot Architecture • “The architecture of a robot defines how the job of generating actions from percepts is organized” – Russell & Norvig • Defines Structure of the system, hardware and software, the way in which the robot processes sensor inputs, performs cognitive functions, and provides signals to output actuators.

Robot Control • Robot control is the process of taking information about the environment and processing it as necessary in order to make decisions about how to act. • The architecture provides a principled way of organizing a control system. • Low level and high level control.

Robot Control: Layers of Abstraction

Example: Road Runner Set current goal Stay on the path, avoid obstacles, set speed, crowd interaction Acceleration, braking, velocity control, steering control, process sensor readings

Robot: Movement, Sensing, Reasoning • Defining your robot’s architecture • Assessment of your environment and the robot’s goals – How does it decide what actions to take? (CS) – What situations does it need to sense? (sensor suite, signal processing) (ECE) – What will it manipulate? How will it move? (ME)

What does it take to get an intelligent robot to do a simple task? Robot Parts: Two Arms, Vision, and Brain The Brain can communicate with all parts Arms can take commands as left, right, up, down, forward, and backward Arms can answer yes/no about whether they are touching something but cannot distinguish what they are touching The vision system can answer any question the brain asks, but cannot volunteer information. The vision system can move around to get a better view.

Why is this simple task so difficult? • • Coordination is difficult Indirect feedback Updating knowledge about the environment Unexpected events – Need to re-plan • Different coordinate systems need to be resolved – Box-centered and arm-centered

Spectrum of AI (high level) Robot Control

Dealing with the Physical World A robot needs to be able to handle its environment or the environment must be altered and controlled. • Close World Assumption – The robot knows everything relevant to performing “Complete World Model” – no surprises • Open World Assumption – The robot does not assume complete knowledge – The robot must be able to handle unexpected events.

Deliberative/Hierarchical Robot Control • Emphasizes Planning • Robot senses the world, constructs a model representation of the world, “shuts its eyes”, creates a plan of action, makes the action, then senses the results of the action.

Deliberative: Good & Bad • Goal Oriented – Solve problems that need cognitive abilities – Ability to optimize solution • Predictable • Dependence on a world model – Requires a closed world assumption • Symbol Grounding Problem • Frame Problem

Reactive/Behavior-Based Control • Ignores world models • “The world is its own best model” Sense • Tightly couples perceptions to actions – No intervening abstract representations • Primitive Behaviors are used as building blocks – Individual behaviors can be made up of primitive behaviors • Reactive: no memory • Behavior-Based: Short Term Memory (STM) Act

Reactive: Good & Bad • Works with the Open World Assumption – Provides a timely response in a dynamic environment where the environment is difficult to characterize and contains a lot of uncertainty. • Unpredictable • Low level intelligence – Cannot manage tasks that require LTM or planning • Tasks requiring localization and order dependent steps

Behavior Coordination • If multiple behaviors are possible which one does the robot do?

Where does the overall robot behavior come from? • No planning, goal is generally not explicit • Emergent Behavior – Emergence is the appearance of a novel property of a whole system that cannot be explained by examining the individual components, for example the wetness of water. – Overall behavior is a result of robots interaction with its surroundings and the coordination between the individual behaviors.

Hybrid Paradigm • Combines Reactive and Deliberative Control Planner Sense Act

Reactive/Behavior-Based Control Design • Design Considerations Sense Act – What are the primitive behaviors? – What are the individual behaviors? • Individual behaviors can be made up of primitive and other individual behaviors – How are behaviors grounded to sensors and actuators? – How are these behaviors effectively coordinated? • If more than one behavior is appropriate for the situation, how does the robot choose which to take?

Situated Activity Design • Robot actions are based on the situations in which it finds itself • Robot perception is characterized by recognizing what situations it is in and choosing an appropriate action

Designing a Behavior-Based Control: Finite State Machine

Design of Behaviors represented by a State Transition Table Trash Pick-up Example qЄK Set of states (behaviors) σЄΣ Set of releasers δ Transition function s State Robot starts in qЄF Set of terminating states

Design for robot soccer • • What primitive behaviors would you program? What individual behaviors? What situations does the robot need to recognize If the “pass behavior” is active and the “shoot behavior” is active, how does it choose?

Implementing Behaviors • • Schema: knowledge + process Perceptual Schema: interpretation of sensory data Motor Schema: actions to take. Releasers: instantiates motor schema

Schema for Toad Feeding Behavior

Competitive Coordination • Action Selection Method – Behaviors compete using an activation level – The response associated with the behavior with the highest activation level wins – Activation level is determined by attention (sensors) and intention (goals)

Competitive Coordination • Suppression Network Method – Response is determined by a fixed prioritization in which a strict behavioral dominance hierarchy exists. – Higher priority behaviors can inhibit or suppress lower priority behaviors.

Cooperative Coordination • Behavioral Fusion – Requires the ability to use concurrently the output of more than one behavior at a time Behavior Fusion via vector summation

Competitive Coordination • Voting Methods: democratic arbitration – Each behavior casts votes for actions and the action that receives the most votes wins.

Subsumption Architecture • A suppression network architecture built in layers • Each layer gives the system a set of pre-wired behaviors • Layers reflect a hierarchy of intelligence. – Lower layers are basic survival functions (obstacle avoidance) – Higher layers are more goal directed (navigation) • The layers operate asynchronously (Multi-tasking) • Lower layers can override the output from behaviors in the next higher level – Rank ordering

Foraging Example

Using Multiple Behaviors requires the Robot to Multi-task • Multi-tasking is having more than one computing processing run in parallel. – True parallel processing requires multiple CPU’s. • IC functions can be run as processes operating in parallel. The processor is actually shared among the active processes – main is always an active process – Each process, in turn, gets a slice of processing time (5 ms) – Each process gets its own default program stack of 256 bytes • A process, once started, continues until it has received enough processing time to finish (or until it is “killed” by another process) • Global variables are used for inter-process communications

IC: Functions vs. Processes • Functions are called sequentially • Processes can be run simultaneously – start_process(function-call); • returns a process-id • processes halt when function exits or parent process exits – processes can be halted by using kill_process(process_id); • hog_processor(); allows a process to take over the CPU for an additional 250 milliseconds, cancelled only if the process finishes or defers • defer(); causes process to give up the rest of its time slice until next time

IC: Process Example #use pause. ic int done; /* global variable for inter-process communication */ void main() { pause(); done=0; start_process (ao_when_stop()); start_process (avoid. Behavior()); start_process (cruise. Behavior()); start_process (collision. Behavior()); start_process (arbitrate()); . . . more code. . . } void ao_when_stop() { while (stop_button() == 0); /* wait for stop button */ done=1; /* signal other processes */ ao(); /* stop all motors */ }




Localization & Navigation Reading Intro to AI Robotics: Chapters 9, 10 , 11
- Slides: 38