370 likes | 536 Views
Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics. Topics (2-3 lectures). Early mobile robots Robot architectures Deliberative Reactive (Behavior Based) Hybrid Obstacle Avoidance Localization Navigation. Topics. Early mobile robots Robot architectures
E N D
Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics Electrical Engineering Design Project - Fall 2002
Topics (2-3 lectures) • Early mobile robots • Robot architectures • Deliberative • Reactive (Behavior Based) • Hybrid • Obstacle Avoidance • Localization • Navigation Electrical Engineering Design Project - Fall 2002
Topics • Early mobile robots • Robot architectures • Deliberative • Reactive (Behavior Based) • Hybrid • Obstacle Avoidance • Localization • Navigation Electrical Engineering Design Project - Fall 2002
Grey Walter’s Tortoise “Elsie” • Built completely from hardware • Exhibited behaviors including • Seeking light • Head towards weak light • Back away from bright light • Turn and push • Recharge batteries • Behaviors were prioritized – robot always acted on the highest priority behavior Electrical Engineering Design Project - Fall 2002
Hopkins Beast Electrical Engineering Design Project - Fall 2002
The Stanford CART Electrical Engineering Design Project - Fall 2002
SRI's Shakey • SHAKEY built an internal model of the world using logic based representational formalism. • A planner (STRIPS) would then find a sequence of actions to perform the task. • SHAKEY was confined to highly engineered static environments and “very error prone”. • Up to an hour to cross a room. Electrical Engineering Design Project - Fall 2002
Topics • Early mobile robots • Robot architectures • Deliberative • Reactive (Behavior Based) • Hybrid • Obstacle Avoidance • Localization • Navigation Electrical Engineering Design Project - Fall 2002
Deliberative Robot Architecture Sense Plan Act All sensor data is collected in one step. The action is executed. Sensor data is combined “fused” into a single world model. A plan is generated to try determine an action that will carry the robot closer to the goal - example “move forward 30 cm” Electrical Engineering Design Project - Fall 2002
Topics • Early mobile robots • Robot architectures • Deliberative • Reactive (Behavior Based) • Hybrid • Obstacle Avoidance • Localization • Navigation Electrical Engineering Design Project - Fall 2002
oscillatory directional aversive attraction What is a Behavior? • Valentino Braitenberg (1984) – Braitenberg Vehicle • behaviors can result from simple connections between sensors and actuators. Electrical Engineering Design Project - Fall 2002
Some General Behaviors • Exploration/directional (move in a general direction) • - heading based • - wandering • Goal oriented (move towards an attractor) • - discrete object attractor • - area attractor • Aversive/Protective (prevent collisions) • - avoid stationary objects • - allude moving abjects • - aggression • Path following behaviors • - road following • - hallway navigation • - stripe following • Tele-autonomous behaviors • - influence • - behavioral modication Electrical Engineering Design Project - Fall 2002
SR blocks can be combined to design a complex system C O O R D I N A T O R Stimulus 1 Behavior 1 Stimulus 2 Behavior 2 action Stimulus 3 Behavior 3 Stimulus n Behavior n Behavioral Representation 1. Stimulus Response (SR) diagram stimulus response Behavior Electrical Engineering Design Project - Fall 2002
2. Functional Notation b(s) = r A functional expression of multiple behaviors would have the following form Coordinate-behaviors[ behavior_1(stimulus_1), behavior_2(stimulus_2), behavior_3(stimulus_3), behavior_n(stimulus_n) ] = motor-response Behavioral Representation Electrical Engineering Design Project - Fall 2002
3. Finite State Acceptor Diagrams (FSA) - useful for describing a sequence of behaviors • Where • Q = set of allowable behavioral states • = transition mapping function mapping the input and current state to another state. qo= the starting behavioral state. F = a set of accepting states indicating completion of a task. M = (Q, , qo, F) Example – from a robot used in AAAI competition. not at start other found all poles compete Find next pole Return to start Move to pole start pole selected at start no pole found timeout lost at pole wander halt all not at pole no timeout Behavioral Representation Electrical Engineering Design Project - Fall 2002
Competitive Methods • Arbitration • - behaviors have fixed priority. • - output is active behavior with highest priority. • - Subsumption - later perception Behavior 4 Behavior 3 Behavior 2 Behavior 1 Response of highest active behavior Behavioral Coordination Electrical Engineering Design Project - Fall 2002
perception Behavior 4 Behavior 3 R=RMAX(act(B1),act(B2)..act(b4)) Behavior 2 Response of behavior with highest activation level Behavior 1 Behavioral Coordination • Action Selection • - behaviors actively compete through use of activation levels • - biological robots that get hungry as time passes • - Alliance Electrical Engineering Design Project - Fall 2002
Cooperative Methods • Potential fields (vector addition) • - the output of each behavior is multiplied by a gain and then added • - motor schema theory perception Behavior 4 Behavior 3 Behavior 2 Fused behavioral response Behavior 1 R = (Gi * Ri) Behavioral Coordination Electrical Engineering Design Project - Fall 2002
Sensors Reason about Behavior of Objects Perception Plan Changes to the World Modeling Actuators Sensors Identify Objects Planning Build Maps Task Execution Explore Motor Control Wander Avoid Objects Actuators Sense-Plan-Act Subsumption Behavior-Based Architectures Subsumption – Rodney Brooks - MIT (1985) Electrical Engineering Design Project - Fall 2002
perception Behavior 4 Behavior 3 Behavior 2 Behavior 1 Response of highest active behavior Subsumption • Based on building layers of competence in a robot. • Additional layers can be added at any time. • Low level behaviors usually represent primitives such as a avoiding obstacles and wandering. • Each layer can be designed and thoroughly debugged before adding new layers. • Higher level layers can view input and outputs of low level layers. • Higher level behaviors can inhibit the input or suppress the output of low level behaviors. • Coordination is achieved by a fixed arbitration scheme where high level behaviors take priority. Electrical Engineering Design Project - Fall 2002
suppressor Behavioral Module Input wires Output wires I S inhibitor Subsumption • Originally each layer was built from a small processor. • Each processor represented an augmented finite state machine (AFSM) • No handshaking – asynchronous • Each AFSM has • Input lines • Output lines • Reset line • An extra wire can terminate at input/output to inhibit/suppress the input/output. Electrical Engineering Design Project - Fall 2002
Allen -The first subsumption robot Toto - explores around office buildings Genghis – a walking robot Herbert – a soda can collecting robot Polly – a tour guide robot Wheelesley – a wheelchair robot Ants – a community of cubic inch robots Hannibal and Attila – insect robots Subsumption robots Electrical Engineering Design Project - Fall 2002
Subsumption robots Cog An ongoing project at MIT to build a humanoid robot from a bottom-up subsumption approach. Electrical Engineering Design Project - Fall 2002
Motor Schema • Represent robot behaviors as motor schemas • Every motor schema has at least one perceptual schema responsible for providing environmental stimulus for that behavior. • Behaviors can have internal parameters that provide additional flexibility in their deployment. • Each behavior generates a response vector (magnitude and direction) in a manner analogous to potential fields methods. • Schemas can operate asynchronously. • Perceptual schemas are recursively defined –perceptual sub-schemas can extract bits of information that are used by other perceptual schemas • Coordination is performed simply by vector addition Electrical Engineering Design Project - Fall 2002
Sensors Motor schemas PSS1 PSS2 PS1 MS1 robot ES3 ES1 PS2 ES2 motors PS – perceptual schema PSS – Perceptual subschema MS – motor schema ES – environment sensors PS3 MS2 Motor Schema Electrical Engineering Design Project - Fall 2002
Stay on path Avoid static obstacle Move to goal Move in direction Dodge Noise Motor schema coordination - each behavior outputs a vector in the following manners Electrical Engineering Design Project - Fall 2002
Behaviors are coordinated by vector addition. Electrical Engineering Design Project - Fall 2002
Pioneer robots – formation keeping Reactive control in hostile environments IO, Ganeymede and Callisto – trash collecting robots Behavior based architecture for Asimo the Honda Robot Some motor schema robots Electrical Engineering Design Project - Fall 2002
Motor Schema Design Process • Characterize the problem domain in terms of the motor behaviors necessary to accomplish the task. • Decompose the motor behaviors to their most primitive level. • Develop formulas to express the robot’s reaction to perceived environmental events. • Conduct simulation studies to asses the desired behaviors approximate performance in the proposed environment. • Determine the perceptual requirements needed to satisfy the inputs for each motor schema. • Design specific perceptual algorithms that extract the required data for each behavior. • Integrate resulting control system onto robot. • Test and evaluate the system’s performance. • Iterate and expand behavioral repertoire as necessary. Electrical Engineering Design Project - Fall 2002
Example – Trash Collecting Robot Step 1: Behaviors necessary to accomplish the task. • Wander – look for trash. • Acquire – move towards and pick up trash. • Deliver – deliver trash to a specific location. Step 2: Decompose behaviors to their most primitive levels. • Avoid static obstacles. • Avoid other robots (in the case of multiple robots) • Move towards a goal. • Noise. Electrical Engineering Design Project - Fall 2002
Step 3: Develop Formulas • Avoid obstacles Where S = sphere of influence R = radius of object G = gain D = distance from robot to obstacle Vdirection = radially along a line from robot center to center of obsatcel directed away from obstacle • Move to goal Vmagnitude = fixed gain value Vdirection = towards goal • Noise Vmagnitude = fixed gain value Vdirection = random direction changed every p time steps (p denotes persistence) Electrical Engineering Design Project - Fall 2002
Wander Noise generate direction Avoid Obstacles detect obstacles detect robots Avoid other robots Acquire Move to goal detect goal Avoid Obstacles detect obstacles Sequencer detect robots Avoid other robots Noise generate direction Deliver Move to goal detect goal Avoid Obstacles detect obstacles detect robots Avoid other robots generate direction Noise Step 7: System Integration Electrical Engineering Design Project - Fall 2002
Avoid Obstacles detect obstacles Detect other robots detect robots Move to goal detect goal Noise generate direction • Step 5: Determine necessary perceptual schemas • Avoid obstacles – detect obstacles • Avoid other robots - detect robots • Move towards a goal – detect goal • Noise – generate direction Electrical Engineering Design Project - Fall 2002
Perceptual triggers start wander acquire deliver halt Sequencer? other begin detect grab release done • Perceptual triggers cause a transition from one state to another resulting in a new set of behaviors being enable. • State of the system determine what behaviors will be currently active. Electrical Engineering Design Project - Fall 2002
Next Day – Obstacle Avoidance, Localization and Navigation Electrical Engineering Design Project - Fall 2002