electrical/computer engineering design project fall 2002 lecture 4 – robotics

37
Electrical Engineering Design Project - Fall 2002 Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Upload: simeon

Post on 11-Feb-2016

25 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

Electrical/Computer Engineering

Design Project

Fall 2002

Lecture 4 – Robotics

Page 2: 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

Page 3: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

Topics

• Early mobile robots• Robot architectures

Deliberative Reactive (Behavior Based) Hybrid

• Obstacle Avoidance• Localization• Navigation

Page 4: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

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

Page 5: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

Page 7: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

The Stanford CART

Page 8: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

Page 9: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

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.

Page 10: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

• Early mobile robots• Robot architectures

Deliberative Reactive (Behavior Based) Hybrid

• Obstacle Avoidance• Localization• Navigation

Topics

Page 11: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

Deliberative Robot Architecture

Sense Plan Act

All sensor data is collected in one step.

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”

The action is executed.

Page 12: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

• Early mobile robots• Robot architectures

Deliberative Reactive (Behavior Based) Hybrid

• Obstacle Avoidance• Localization• Navigation

Topics

Page 13: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

What is a Behavior?Valentino Braitenberg (1984) – Braitenberg Vehicle

behaviors can result from simple connections between sensors and actuators.

directional aversive attraction oscillatory

Page 14: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

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

Page 15: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

Behavioral Representation

1. Stimulus Response (SR) diagram

Behaviorstimulus response

SR blocks can be combined to design a complex system

Behavior 1Stimulus 1

Behavior 2Stimulus 2

Behavior 3Stimulus 3

Behavior nStimulus n

C

O

O

R

D

I

N

A

T

O

R

action

Page 16: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

Behavioral Representation

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

Page 17: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

Behavioral Representation3. Finite State Acceptor Diagrams (FSA)

- useful for describing a sequence of behaviors

M = (Q, , qo, F)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.

Example – from a robot used in AAAI competition.

startFind next

pole

Move to pole

Return to start

haltwander

compete

other

found all poles

not at start

at start

allnot at pole no timeout

pole selected

no pole foundtimeout

lost at pole

Page 18: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

Behavioral Coordination

Behavior 4

Behavior 3

Behavior 2

Behavior 1

perception

Response of highest active behavior

Competitive Methods

1. Arbitration - behaviors have fixed priority. - output is active behavior with highest priority.- Subsumption - later

Page 19: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

Behavioral Coordination2. Action Selection

- behaviors actively compete through use of activation levels - biological robots that get hungry as time passes- Alliance

Behavior 4

Behavior 3

Behavior 2

Behavior 1

perception

R=RMAX(act(B1),act(B2)..act(b4))Response of behavior with highest activation level

Page 20: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

Behavioral CoordinationCooperative Methods

1. Potential fields (vector addition) - the output of each behavior is multiplied by a gain and then added- motor schema theory

Behavior 4

Behavior 3

Behavior 2

Behavior 1

perception

R = (Gi * Ri)

Fused behavioral response

Page 21: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

Behavior-Based Architectures

Subsumption – Rodney Brooks - MIT (1985)

Perception

Modeling

Planning

Task Execution

Motor Control

Sensors

Actuators

Sense-Plan-Act

Sensors

Avoid Objects

Wander

Explore

Build Maps

Identify Objects

Plan Changes to the World

Reason about Behavior of Objects

Actuators

Subsumption

Page 22: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

Subsumption

Behavior 4

Behavior 3

Behavior 2

Behavior 1

perception

Response of highest active behavior

• 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.

Page 23: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

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.

Behavioral

ModuleI

S

inhibitor

suppressor

Input wires

Output wires

Page 24: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

Subsumption robots

Allen -The first subsumption robot

Toto - explores around office buildings

Genghis – a walking robot

Herbert – a soda can collecting robot

Ants – a community of cubic inch robots

Wheelesley – a wheelchair robot

Polly – a tour guide robot

Hannibal and Attila – insect robots

Page 25: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

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.

Page 26: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

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

Page 27: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

Motor Schema

PS1

PS2

PS3

PSS1

PSS2

ES1

ES2

ES3

Motor schemasSensors

motors

robotMS1

MS2

PS – perceptual schema

PSS – Perceptual subschema

MS – motor schema

ES – environment sensors

Page 28: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

Motor schema coordination- each behavior outputs a vector in the following manners

Avoid static obstacle Move to goal Stay on path

Move in direction DodgeNoise

Page 29: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

Behaviors are coordinated by vector addition.

Page 30: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

Some motor schema robots

Reactive control in hostile environments

Behavior based architecture for Asimo the Honda Robot

IO, Ganeymede and Callisto – trash collecting robots

Pioneer robots – formation keeping

Page 31: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

Motor Schema Design Process1. Characterize the problem domain in terms of the motor behaviors

necessary to accomplish the task.

2. Decompose the motor behaviors to their most primitive level.

3. Develop formulas to express the robot’s reaction to perceived environmental events.

4. Conduct simulation studies to asses the desired behaviors approximate performance in the proposed environment.

5. Determine the perceptual requirements needed to satisfy the inputs for each motor schema.

6. Design specific perceptual algorithms that extract the required data for each behavior.

7. Integrate resulting control system onto robot.

8. Test and evaluate the system’s performance.

9. Iterate and expand behavioral repertoire as necessary.

Page 32: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

Example – Trash Collecting Robot

Step 1: Behaviors necessary to accomplish the task.

Step 2: Decompose behaviors to their most primitive levels.

1. Avoid static obstacles.

2. Avoid other robots (in the case of multiple robots)

3. Move towards a goal.

4. Noise.

1. Wander – look for trash.

2. Acquire – move towards and pick up trash.

3. Deliver – deliver trash to a specific location.

Page 33: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

2. Move to goal

Vmagnitude = fixed gain value

Vdirection = towards goal

Step 3: Develop Formulas

1. Avoid obstacles

RdSdR

sd

for

forrSdS

for

Vmagnitude

0

Vdirection = radially along a line from robot center to center of obsatcel directed away from obstacle

Where

S = sphere of influence

R = radius of object

G = gain

D = distance from robot to obstacle

3. NoiseVmagnitude = fixed gain value

Vdirection = random direction changed every p time steps (p denotes persistence)

Page 34: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

Step 7: System Integration

Avoid Obstaclesdetect obstacles

Avoid other robotsdetect robots

Noisegenerate direction

Wander

Avoid Obstaclesdetect obstacles

Avoid other robotsdetect robots

Move to goaldetect goal

Noisegenerate direction

Acquire

Sequencer

Avoid Obstaclesdetect obstacles

Avoid other robotsdetect robots

Move to goaldetect goal

Noisegenerate direction

Deliver

Page 35: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

Step 5: Determine necessary perceptual schemas

1. Avoid obstacles – detect obstacles

2. Avoid other robots - detect robots

3. Move towards a goal – detect goal

4. Noise – generate direction

Avoid Obstaclesdetect obstacles

Detect other robotsdetect robots

Move to goaldetect goal

Noisegenerate direction

Page 36: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

Sequencer?

start

halt

wanderbegin

other

acquiredetect

deliver

grabrelease

done

Perceptual triggers

• 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.

Page 37: Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics

Electrical Engineering Design Project - Fall 2002

Next Day – Obstacle Avoidance, Localization and Navigation