Date post: | 13-Jan-2016 |
Category: |
Documents |
Upload: | nicholas-mcdowell |
View: | 224 times |
Download: | 2 times |
Electrical Engineering Design Project - Fall 2002
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
Electrical Engineering Design Project - Fall 2002
Hopkins Beast
Electrical Engineering Design Project - Fall 2002
The Stanford CART
Electrical Engineering Design Project - Fall 2002
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
• Early mobile robots• Robot architectures
Deliberative Reactive (Behavior Based) Hybrid
• Obstacle Avoidance• Localization• Navigation
Topics
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.
Electrical Engineering Design Project - Fall 2002
• Early mobile robots• Robot architectures
Deliberative Reactive (Behavior Based) Hybrid
• Obstacle Avoidance• Localization• Navigation
Topics
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
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
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
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
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
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
Electrical Engineering Design Project - Fall 2002
Behavioral Coordination
2. 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
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
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
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.
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
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
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
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
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
Electrical Engineering Design Project - Fall 2002
Behaviors are coordinated by vector addition.
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
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.
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.
Electrical Engineering Design Project - Fall 2002
2. Move to goal
Vmagnitude = fixed gain value
Vdirection = towards goal
Step 3: Develop Formulas
1. Avoid obstacles
Rd
SdR
sd
for
forrS
dSfor
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. Noise
Vmagnitude = fixed gain value
Vdirection = random direction changed every p time steps (p denotes persistence)
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
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
Electrical Engineering Design Project - Fall 2002
Sequencer?
start
halt
wanderbegin
other
acquiredetect
deliver
grab
release
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.
Electrical Engineering Design Project - Fall 2002
Next Day – Obstacle Avoidance, Localization and Navigation