Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors...
-
date post
22-Dec-2015 -
Category
Documents
-
view
223 -
download
5
Transcript of Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors...
Control Control
Behaviors of Behaviors of Mobile Robots Mobile Robots
Architectures and Behaviors
With special interest in hexapods and soccer
Pets -- expensive and notPets -- expensive and not
Sony Aibo
$1500
NEC R100
$ a lot
iCybie
$160
Tekno
$40
Poo-chi
$30
Sony Aibo
$1500
NEC R100
$ a lot
iCybie
$160
Tekno
$40
Poo-chi
$30
• voice recog.
• 18 motors
• wireless LAN
• color camera
• walks, gets up
• voice recog.
• 6 sonars et al.
• wireless LAN
• 2 color cameras
• rolls around
• voice recog.
• 16 motors
• wireless LAN
• walks… ?
• sound recog.
• 2 motors
• light sensor
• walks
• sound recog.
• 1 motor
• pivots
Pets -- expensive and notPets -- expensive and not
dogfightdogfight
You can find this material in Norvig’ You can find this material in Norvig’ book, chapter 2book, chapter 2
2.1 Perception and Action– Perception– Action– Boolean Algebra– Classes and Forms of Boolean Functions
2.2 Representing and Implementing Action Functions– Production Systems– Networks– The Subsumption Architecture
Other material coveredOther material covered
• Control models– the sense-think-act control cycle– model-based controllers
• Reactive robotics– reactive controllers– behaviour-based controllers
• Other approaches– other reactive controllers– hybrid controllers– learning robots
Control of Control of Hexapod Hexapod RobotsRobots
• 1. Goals and overview• 2. Brooks’ Subsumption• 3. Biologically Inspired• 4. Logically Inspired• 5. Neural and
Immunological Networks
• 6. Hardware issues
Legged Locomotion Legged Locomotion • Make use of simple nervous systems involved in
sensorimotor performance to specify the circuits involved in adaptive legged locomotion in invertebratesin invertebrates.
• The objectives of this program are to develop:– neural models that reproduce the experimentally derived
characteristics of the neuronal circuitry underlying legged locomotion
– new controller architectures for autonomous legged robots:
• which exhibit stable locomotion,
• and which respond adaptively to unknown terrain and obstacles.
From the ONR proposal
Legged Locomotion Legged Locomotion
• The research issues include:– biomechanics of dynamically stable locomotion,
– specification of local leg control circuits, • including central pattern generators,
– the neural mechanisms of adaptation to context and task,
– implementation of neural models as real time controllers on prototype hexapod robots
M2 is a 3D bipedal walking robot which is currently being developed in the MIT Leg Laboratory. The robot has 12 active degrees of freedom: 3 in each hip, 1 in each knee, and 2 in each ankle. It will be used to investigate
Various walking algorithms Motion description and control techniques, particularly Virtual Model Control Force control actuation techniques, particularly Series Elastic Actuation Automatic learning techniques.
The goals of M2 are the following: Walk fast (1.0 meters/second) Walk efficiently Be reliable (work 9 out of 10 attempts) Have a large margin of stability and be robust to small disturbances (reasonable pushes) Be confident looking Become a "robotic workhorse" - a robot which can be reliably used to perform experiments without breaking Get it right the first time in design and schedule
Example of walker
Biologically Inspired
Past Control Architectures for HexapodsPast Control Architectures for Hexapods• 1. Marc Donner, 1986, decomposition of task, locality of
control, special language• 2. Rodney Brooks, MIT, 1989 - Subsumption
Architecture • 3. Yuasa and Ito, Nagoya, Japan, 1990 - decentralized
autonomous system based on generators. Biologically inspired.
• 4. Randall Beer and John Gallagher, 1992 - genetic algorithm to develop a neural net to control a simulated cockroach.
• 5. Graham Spencer, 1992 - genetic programming and a priori knowledge, not real robot.
Past Control Architectures for HexapodsPast Control Architectures for Hexapods• 6. Gary Parker, 1992, Indiana Cyclic Genetic Algorithm
with a priori knowledge, simulation.• 7. Salama, Hingston, University of Western Australia, 1995,
GA develops NN. Stiquito.• 8. Berns, Cordes, Karlsruhe, 1995 - NN, real robot, small.• 9. Ishiguro, Kuboskiki, Ichikawa and Uchikawa, Nagoya,
Japan, 1996-1998 - Immune Networks. Simulation.• 10. Gallagher, Beer, Espenschied, Quinn, Case, 1996.
Dynamical neural network. Real robot.• 11. Parker, Braun and Cyliax, 1997. CGA for Stiquito
Robot.• 12. Ilg, Muhlfriedel and Berns, Karlsruhe, Germany, 1997,
Self-Organizing Neural Net
Past Control Architectures for HexapodsPast Control Architectures for Hexapods• 13. Eng, Robertson and Blackman, Monash, Australia,
1997-1999 - Layered Learning System architecture, agents, real robot.
• 14. Barnes, Wardle, University of Salford, UK, 1999 - reactionary system with central pattern generators
• 15. Ahuja, Nelson, Delcomyn, Hart, University of Illinois, 1997 - 2000 (?) - Biologically Inspired
• 16. Reinforcement Learning• 17. Levy, PSU, 2001, Generators controlled by Constructive
Induction, robot walks but not completed.• 18. Zielinska, Singapur, Poland, 2001 - current - big,
network of parallel processors and controllers, sensors.
Conclusion on past research on Conclusion on past research on hexapod control hexapod control
• Based on my limited literature search:– 1. The total of walking robots in the world estimated
to be 200, not counting toys and kits– 2. Not much recent work, recently more on bio-
inspired– 3. Even less work on real robots– 4. Especially on controlling large hexapods– 5. Few papers on sensors and sensors integration– 6. Relatively few papers from USA– 7. Not much practical evaluation and description of
experiments.
Past research on mobile Past research on mobile robot controllersrobot controllers
• The “brains” behind a mobile, autonomous robot (using the “lite” definition of autonomous)
– Even though the controller is sometimes not physically on the robot
• Three schools:– The Old School: Sense-Plan-Act (Shakey at Stanford)– The Brooks School: Subsumption– The Modern School: Three-Layer
• New Approaches: – Bio-Inspired– Probabilistic
Overview: Robot Control SchemesOverview: Robot Control Schemes
P lan n in g(D e lib e ra tive )
Delib erativereaction
Coord in atedd elib eration & reaction
Reactived elib eration
Hybrid R eac tive
R ob ot C on tro l S ch em es
Representative examples
•Stanford Cart, Moravec 1977
•NASREM, NASA/NIST,
Albus et al 1987
•VINAV, Christensen et al 1992
Representative examples
• Subsumption Arch, MIT, Brooks `86
• Motor schemas, GeorgiaTech, Arkin `87
•Activation nets, MIT, Maes `89
• Dynamical sys., Schoner `92
• MOBC, Pirjanian `97
Representative examples•RAPs, Firby `87 •AuRA, GeorgiaTech, Arkin `87
•Atlantis, JPL/NASA, Gat `92
•Saphira, SRI, Saffiotti et al, `93
•TCA, CMU, Simmons `94
•AMOR, Pirjanian et al. `94
•ALLIANCE, Parker `94
•DAMN, CMU, Rosenblatt & Payton 96
•3T, NASA, Kortenkamp et al `96
Control Problems for an Control Problems for an autonomous robotautonomous robot
• Rapidly changing boundary conditions
• Real-time response
• Information collected over noisy channels
Perception and ActionPerception and Action• Stimulus-response (S-R) agents
– Machines that have no internal state and that simply react to immediate stimuli in their environments
– Based on motor response to rather simple functions of immediate sensory inputs
– Examples: • Machina speculatrix,
• Braitenberg machine
Stimulus Stimulus Response Response
AgentsAgents
MappingMapping Perception into Action Perception into Action
01011011
Featuredetectors
SENSORS
MO
TO
RS
ACTIONFUNCTION
“obstacle”
“wall”
Example:Example: Robot navigator Clips Robot navigator Clips
N
E
0 1 2
0
1
2
A Robot in a Two-A Robot in a Two-Dimensional Grid Dimensional Grid
World (1)World (1)
• Environment– Enclosed by
boundaries
– Contains unmovable objects
– No tight spaces• Spaces between
objects and boundaries that are only one cell wide
• Task– Go to a cell adjacent
to a boundary or object and then follow that boundary along its perimeter
A Robot in a Two-Dimensional Grid World A Robot in a Two-Dimensional Grid World (2) (2)
• Sensory inputs:
• Robot movements – north moves the robot one cell up in the cellular grid– east moves the robot one cell to the right– south moves the robot one cell down– west moves the robot one cell to the left
• Division of processes– Perception processing and action computation
A Robot in a Two-Dimensional Grid A Robot in a Two-Dimensional Grid World (3)World (3)
• Perceptual processing– produces
feature vector X
– numeric features: real numbers
– categorical features: categories
Action computation selects an action based on feature vector
A Robot in a Two-Dimensional A Robot in a Two-Dimensional Grid World (4)Grid World (4)
• The split between perception and action is arbitrary• The split is made in such a way that the same
features would be used repeatedly in a variety of tasks to be performed
• The computation of features from sensory signals can be regarded as often used library routines– needed by many different action functions
• The next problems– (1) converting raw sensory data into a feature vector– (2) specifying an action function
Perception examplePerception example
• For the robot task, there are four binary-valued features of the sensory values that are useful for computing an appropriate action
• Perceptual processing might occasionally give erroneous, ambiguous, or incomplete information about the robot’s environment– Such errors might evoke inappropriate actions
• For robots with more complex sensors and tasks, designing appropriate perceptual processing can be challenging
Action exampleAction example• Specifying a function that selects the appropriate
boundary-following action
– None of the features has value 1, the robot can move in any direction until it encounters a boundary
Boolean AlgebraBoolean Algebra• Boolean algebra is a convenient notation for
representing Boolean functions – Rules for Boolean algebra
– Commutative – Associative– DeMorgan’s law– Distributive law
Classes and Forms of Boolean FunctionsClasses and Forms of Boolean Functions
• A conjunction of literals or a monomial:– The conjunction itself is called a term
• Bound of the number of monomials of size k or less:
• A clause or a disjunction of literals: • Terms and clauses are duals of each other• Disjunctive normal form (DNF): disjunction of terms
– K-term DNF: disjunction of k terms
• Conjunctive normal form (CNF): conjunction of clauses– K-clause CNF: the size of its largest clause is k
Outline on Reactive Outline on Reactive AgentsAgents
• How to design stimulus-response (reactive) agents?– Abstracting sensory values into features– Modes of action– Representation of mapping from sensors to actions
• Examples
• Layered reactive agents (subsumption architecture)
Properties of Reactive AgentsProperties of Reactive Agents• No internal state: current value of sensors
determines response
• Speed: Reactive agents respond quickly to a new stimulus
• Sensor values are mapped into features using boolean (state-free) functions
• Actions are computed using an action function
Feature SelectionFeature Selection• What are good features?
– Easy to compute from sensor values– Useful in multiple tasks– Need not be perfect – Help improve task performance
• Examples from biology: – Insect detector for a frog– Sun direction and earth’s magnetic field for navigating
birds– Imprinting in birds
OBELIX: A RobotOBELIX: A RobotSENSORS:
8 ultrasonic sonar sensors, 4 long IR’s, 8 short IR’s, 1 very-short-range IR
Feature Detectors on OBELIXFeature Detectors on OBELIX
• “Stuck”: motor current > threshold
• “Bumped”: very-short-range IR on
• “Intersection”: Long side IR off
• “Corridor”: Two long side IR’s on
• “Box-detectors”: boolean combinations of FAR and NEAR sonar bits
Action FunctionsAction Functions
• 1. Production Systems– List of condition-action rules– Parallelizable for fast matching
• 2. (artificial, neural) Networks– Threshold-logic circuits – Noise immunity, learnability
• 3. Subsumption architectures– Layered set of mappings
Three approaches are the most popular:
Production Production SystemsSystems
Production SystemsProduction Systems
Condition1 Action 1
Condition2 Action 2
Example: RIR = Long right IR LIR = Long left IR
rightRIRLIR
leftRIRLIR
forwardRIRLIR
Representing and Implementing Action Representing and Implementing Action Functions: Functions:
Production systems (1)Production systems (1)
• Production system comprises an ordered list of rules called production rules or productions– , where is the condition part and is the
action part– Production system consists of a list of such rules– Condition part
• Can be any binary-valued function of the features• Often a monomial
– Action part• Primitive action, a call to another productive system, or a set of
actions to be executed simultaneously
Production Systems (2)Production Systems (2)• Production system representation for the boundary
following routine– An example of a durative systems-system that
never ends
• Teleo-reactive (T-R) programs– Each properly executed action in the ordering works toward
achieving a condition higher in the list– Usually easy to write, given an overall goal for an agent– Quite robust: actions proceed inexorably toward the goal– Can have parameters that are bound when the programs are
called– Can call other T-R programs and themselves recursively
Discussion Issues for robot Discussion Issues for robot soccer architecturessoccer architectures
• Origination
• Low Cost vs. Big Model
• Elegancy vs. Efficiency
Basic Architecture for SoccerBasic Architecture for Soccer
Using software simulator as a basic development methodology in soccer robot research
Production rules Neural Nets Subsumption
Production Production system based system based
agent agent architecture architecture for a soccer for a soccer
robotrobot
Switch Competitive behaviors Switch Competitive behaviors
Switching and voting, subsumption
Teleo-reactive ProgramsTeleo-reactive ProgramsNilssonNilsson
Variant of Production Systems to handle goals and durativebehaviors.
1st Rule specifies the goal: goal Nil
A rule is placed at a point where it achieves the condition of somehigher level rule.
The condition “1” means it is always true.
Example of a teleo-reactive Example of a teleo-reactive (TR) Program(TR) Program
go_forwardnearnear
turn_leftnearnear
turn_rightnearnear
nilnearnear
10
rl
rl
rl
Exercise: write the wall-follower example as a TR program
Black Board ArchitectureBlack Board Architecture
Knowledge specialist
KS communicate through Black Board
Example:Example: RoboCup98 rule hierarchy RoboCup98 rule hierarchy
Attack left
Run to wing
Play
Normal
Labyrinth, Robot Labyrinth, Robot Environments and Environments and
Object-Based Object-Based SimulationSimulation
SimulationSimulationSimulation is the mimicking of a real system within a computer.
A computer model is created to represent part of a real-world environment.
The computer model is then executed to investigate real-world behavior as predicted by the computer model.
Simulation and OOSimulation and OO
• Simula-67
• Event-based systems
• Visualization of complex data
ApplicationsApplications• Complex situations,
– large-scale,– many interactions
• Dangerous situations,
• Entertainment
Computer SimulationComputer Simulation• Build a model to represent the real world,
• Implement physical constraints,
• Implement physical behaviors,
• Generate and process events,– events occur at discrete points in time,
– events affect the state of the system.
SimCity games
Construct a ModelConstruct a Model
• Classes are kinds of things in the real world
• Objects represent actual things,
• Methods of objects implement behavior
• Events stimulate object behavior.
Braitenberg VehiclesBraitenberg Vehicles
From: http://people.cs.uchicago.edu/~wiseman/vehicles/
Inspired by Valentino Braitenberg, “Vehicles: Experiments in Synthetic Psychology”, 1984.
Light sensors +
Motors +
Control
How they Work?How they Work?Connect light-sensor to motor.
Sensor output can be EXCITATORY or INHIBITORY.
When sensor output “fires”, the motor is driven.Both motors = step forward
One motor = rotate
Simulation of VehiclesSimulation of Vehicles
• Create an artificial plane,
• Populate it with light sources and vehicles
• Run a time-based simulation:– for each time step,
• compute light source effect on vehicle• simulate movement• detect collisions
View of SimulationView of SimulationLights 1 2 3 4 5 6X 100 100 100 100 100 100Y 100 100 100 100 100 100Intensity 500 500 500 500 500 0
Vehicles 1 2 3 4 5 6X 0 0 10 20 30Y 0 0 10 20 30Direction 0 45 45 45 45X 100 100 100 100 100Y 80 85 90 95 100Direction 0
What happened here?
What happens now?
Another ViewAnother View
http://people.cs.uchicago.edu/~wiseman/vehicles/test-run.html
Simulation of VehiclesSimulation of Vehicles
• Complex behavior can arise from simple systems.
• Simulation of such a system can reveal interesting aspects of interaction amongst simple objects.
• These simulations can drive the development of new theory.
ExampleExample
http://people.cs.uchicago.edu/~wiseman/vehicles/test-run.html
ViewsViewsViews of simulations may help to explain what is happening.
Different views may be appropriate.
The VIEW is NOT the SIMULATION.
Events and SimulationEvents and Simulation• Every event stimulates behavior,
• Events occur at discrete times,–Simultaneous events must have
simultaneous effects
• Stimulated behavior may cause events
Discrete TimeDiscrete TimeEverything in a computer simulation is digitized.
We create a digital representation of real things.
Even time.
Simulation proceeds stepwise in time.
Effects of simulation take place at the end of a discrete time step.
Parallel processing is useful.
Effects of BehaviorEffects of BehaviorObject behavior may affect the model.
All object behaviors must occur simultaneously i.e. at the end of the simulation time step.
Parallel processing may be needed to avoid object behavior contaminating the system within a time step.
Not all real-world behaviors may have been implemented.
VisualizationVisualization
VisualizationVisualization• Enables us to see the effects of behavior
• Large-scale, complex systems,
• View several dimensions– 3D space
– time
– other graphical codes for other variables• color, sound, pictures etc.
Summary on SimulationSummary on Simulation
• Object-based simulation is useful,
• Constructing a world can be complex,
• The quality of the simulation depends on:– the quality of real-world implementation
– implementation of variables that are not the primary focus of the simulation• e.g. gravity, air resistance, viscosity etc.
Micromouse BasicsMicromouse Basics Software and Software and
Simulation of Maze Simulation of Maze BehaviorsBehaviors
Maze Solving AlgorithmsMaze Solving Algorithms• Wall Following Method
– Good start– May not find the destination
• Depth First Search– Explores every cell– Will find destination eventually
• Flood-Fill Search– Finds shortest path to destination
Flood-FillFlood-Fill• Each cell is assigned a distance value
• Destination cells are assigned a zero value
Flood-FillFlood-Fill
Destination cells are assigned a zero value
Flood-FillFlood-Fill
• An example 3x3 maze
• Starting state:
Flood-FillFlood-Fill
• First rule:– Always move to the open neighboring cell with the
lowest distance value
Flood-FillFlood-Fill• Walls are found and mapped during exploration
sensors
Flood-FillFlood-Fill• Following distance values, 4->3->2->1, now
would be trouble, but wall is found earlier
Flood-FillFlood-Fill
• Another wall is found
Flood-FillFlood-Fill
• Second Rule– Second rule: If a cell is not the destination,
its value should be one plus the minimum value of its open neighbors
Flood-FillFlood-Fill
• Need to update numbers
• Second Rule• If a cell is not
the destination, its value should be one plus the minimum value of its open neighbors, 1+min(2,2)=3
Flood-FillFlood-Fill
• Other cells now need to be updated
Flood-FillFlood-Fill
• More updating
Flood-FillFlood-Fill
• Done updating
• Can now find destination cell
Flood-FillFlood-Fill
• Use same technique to get back to start
Flood-FillFlood-Fill
Flood-FillFlood-Fill
BEHAVIOR BEHAVIOR DESCRIPTION AND DESCRIPTION AND
MODELINGMODELING• Also called dynamic modeling
• Models how objects respond to external events
• Types– Combinatorial: truth tables, decision tables, decision
trees– Finite state machines– State charts
COMBINATORIAL ANDCOMBINATORIAL ANDSEQUENTIAL CONTROLSEQUENTIAL CONTROL
- Decision tables allow the specification of combinatorial mechanisms.
• That is, which processes to activate is important; order and timing are not considered.
- Process activation tables allow a form of sequential modeling.
• That is, the order in which certain processes can be activated can be specified.
- If sequencing is an even more important aspect of control modeling, then a sequential model can be used. -> The most typical form of this is the finite state machine.
DECISION TABLESDECISION TABLES- One common way to model control is with decision tables. They are used when a number of possible input conditions hold and a number of responses are possible.
- The conditions are called inputs and the responses are called outputs.
- The input side of the table enumerates all possible combinations of conditions.
• For example, if each of three switches can have one of two possible values, "on" or "off",
then the table will contain 3 columns and 2 or 8 rows.
- Likewise, if the three switches control two output devices (one switch is a master override) then there will be two output columns ( along with the eight rows from the input ).
3
EXAMPLE DECISION TABLE - 1EXAMPLE DECISION TABLE - 1
INPUT OUTPUTMasterControl
Light Switch
PowerSwitch Lights Motor
ON
OFF
ON
ON
ON
ON
ON ONON ON
ON
ON ON
ON OFFOFF
OFF OFFOFFOFF
OFF
OFF
OFF
OFF
OFFOFF
ON
ON
ON OFF
OFF
OFF
OFF
OFF OFF OFF OFF
OFF OFFOFF
EXAMPLE DECISION TABLE -2EXAMPLE DECISION TABLE -2- Note that the last four rows of the output are identical. The table can be shortened by making use of "don't care" entries.
A don't care entry is indicated by a dash in an input cell.
INPUT OUTPUTMasterControl
Light Switch
PowerSwitch Lights Motor
ON
OFF
ON
ON
ON
ON
ON ONON ON
ON ON
ON OFFOFF
OFF OFFOFFOFF
OFF
OFF OFFOFF --- ---
FINITE STATE MACHINESFINITE STATE MACHINES• Many systems have the characteristic of "memory".
• That is, past behavior can influence future behavior. • For example, a pay phone must remember how much money has been inserted to know how much service to provide
• The most typical technique for modeling these situations is with a finite state machine.
• The states serve as the memory
• Abstract machines with memory are called sequential machines to distinguish them from "memory-less” combinatorial machines like those represented by decision tables
STATE MACHINE MODELINGSTATE MACHINE MODELING
- A telephone is a device that at any given time is in one of several states.
• For example, the state can be busy, ringing, dialing, in use, or on hook.
- User actions cause the current state to change. • For example, a user picking up a ringing telephone causes the current state to change from ringing to in use.
- State transition diagrams can be used to model software with user interfaces.
STATE TRANSITION DIAGRAMSSTATE TRANSITION DIAGRAMS•One mechanism for representing finite state machines (FSMs) is the state transition diagram
•A state is denoted by a rectangle containing the state's name
•The machine is always in exactly one state. – When the system obtains a new input, the machine
moves to another state and performs an action, which may be used to produce an output
• States are connected by labeled directed arcs denoting the transitions among the states
•The labels on the arcs consist of two parts. – The first is the input/event/stimulus provoking the
transition. – The second is the action/response performed. – The two parts are separated by a short horizontal line
EXAMPLE : STATE TRANSITION EXAMPLE : STATE TRANSITION DIAGRAMDIAGRAM
ONHOOK
OFFHOOK DIALING
RINGING
BUSY
CONNECTED
Handsetlifted Handset
replaced
Numberdialed
Numberdialed
Handset replaced
Handset replaced
Handset replaced
Handset replaced
Line in use
Last numberdialed
Calleeanswers
Calleehangs up
EXAMPLE : STATE TRANSITIONEXAMPLE : STATE TRANSITIONDIAGRAM GARAGE DOOR OPENERDIAGRAM GARAGE DOOR OPENER
Door ClosedMotor off
button pressed/start motor
Motor Running Up
door open detected/stop motor
Door OpenMotor off
/start motor
door closed detected/stop motor
Door Partially ClosedMotor off
Motor RunningDown
button pressed/start motor
button pressed/stop motorDoor Partially Open
Motor off
button pressed/stop motor
button pressed/start motor
STATE TRANSITION STATE TRANSITION TABLESTABLES
• Another way of representing a FSM is with a state transition table
• Here, the rows correspond to states, and there are four columns
– The first is the name of the state– The second column describes input event
possibilities. Note that a given state may need to have several rows, one for each allowable input event
– The third column describes output actions– The fourth contains next state information
• State transition tables contain exactly the same information as state transition diagrams
STATE TRANSITION TABLE FOR ASTATE TRANSITION TABLE FOR A GARAGE DOOR OPENER GARAGE DOOR OPENER
Current State INPUT Effect Next State
Door closed /Motor off
Motor Running Up
Motor Running Up
Door PartiallyOpen/ Motor Off
Door Open /Motor Off
Motor RunningDown
Motor RunningDown
Door Partially Closed / Motor Off
ButtonPressed
ButtonPressed
ButtonPressed
ButtonPressed
ButtonPressed
ButtonPressed
Door OpenDetected
Door ClosedDetected
Start Motor
Start Motor
Start Motor
Start Motor
StopMotor
StopMotor
StopMotor
StopMotor
Motor RunningUp
Motor RunningUp
Door Partially Closed / Motor Off
Motor RunningDown
Motor RunningDown
Door ClosedMotor off
Door OpenMotor Off
Door PartiallyOpen/ Motor Off
STATE CHARTSSTATE CHARTS• One problem with finite state machines is the explosion in
the number of states that occurs when several independent activities are going on simultaneously
• Also, traditional finite state machines provide no mechanisms for abstraction.
• Abstraction is the grouping together of related states that are relatively independent from the other states in a system
• David Harel has developed an extension to finite state machines called state charts to overcome these difficulties
PROBLEMS WITH PROBLEMS WITH FSMSFSMS
• Too many arrows: n2 (with n states)
• Too many states: 2m (with m concurrent activities)
• No concept of abstraction/nesting
STATE CHART ADDITIONSSTATE CHART ADDITIONS
• Depth (hierarchical state machines)
• Concurrency
• Broadcast (define and generate new events)
• Default states
• Conditional (guarded) transitions
• History
• Entry/exit actions/activities
• Event attributes (parameters passed with events)
NESTINGNESTING
CONCURRENCYCONCURRENCY
Concluding on Concluding on robot architecturesrobot architectures
• 1. Various architectures have been briefly outlined• 2. Robot should be simulated• 3. Various formalisms are used for representation of
simulation, they are partially independent on robot behaviors and architectures.
• 4. Architectures and representations create a space of robot designs. (of course, together with kinematics)
categorizing robotscategorizing robotsA
bst
ract
ion
Autonomy
hardware
software
Just mode
l
human-controlled
independent
With respect to autonomy and abstraction
Abs
trac
tion
Autonomy
hardware
software
just is
human-controlled
independent
categorizing robotscategorizing robots
Just mode
l
categorizing robotsA
bstr
acti
on
Autonomy
hardware
software
just is
human-controlled
independent
categorizing robotscategorizing robots
Just mode
l
categorizing robotsA
bstr
acti
on
Autonomy
hardware
software
just is
human-controlled
independent
categorizing robotscategorizing robots
Just mode
l
categorizing robotsA
bstr
acti
on
Autonomy
hardware
software
just is
human-controlled
independent
categorizing robotscategorizing robots
Just mode
l
categorizing robotsA
bstr
acti
on
Autonomy
hardware
software
just is
human-controlled
independent
categorizing robotscategorizing robots
Just mode
l
categorizing robotsA
bstr
acti
on
Autonomy
hardware
software
just is
human-controlled
independent
categorizing robotscategorizing robots
Just mode
l
categorizing robotsA
bstr
acti
on
Autonomy
hardware
software
just is
human-controlled
independent
algorithms and strategies for programming autonomous robots
categorizing robotscategorizing robots
Just mode
l
the world is not enoughhow much of the world do we need to represent internally ?
how should we internalize the world ?
what outputs can we effect ?
what inputs do we have ?
what algorithms connect the two ?
how do we use this “internal world” effectively ?
categorizing robotscategorizing robots
Robot ArchitectureRobot Architecture
how much / how do we represent the world internally ?
Robot Architecturehow much / how do we represent how much / how do we represent the world internally ?the world internally ?
None.
Just what we need.
Just the current world.
As much as possible.
1
2
3
4
Purely Reactive Control
Absolute Control
SPA architecture (sensing next planning next action)
Subsumption paradigm
Motor Schema
Robot ArchitectureRobot Architecturehow much / how do we represent the world internally ?
None.
- ignore the outside world
- what’s left?
1 Absolute Control
kamikaze robot example
Robot ArchitectureRobot Architecturehow much / how do we represent the world internally ?
Just the current world.2 Purely Reactive Control
• Decision-making based only on the current sensor readings.
• “stimulus-response” model
Robot ArchitectureRobot Architecturehow much / how do we represent the world internally ?
Just what we need.3Subsumption paradigm
Motor Schema
• Enough world state is preserved to perform a desired
task.
• Subsumption composes simple behaviors by letting
one take control at an appropriate time.
Robot ArchitectureRobot Architecturehow much / how do we represent the world internally ?
Just what we need.3Subsumption paradigm
Motor Schema
• Motor schemas compose simple
behaviors by adding the outputs that
each would send to the robot.
Robot ArchitectureRobot Architecturehow much / how do we represent the world internally ?
As much as possible.4 SPA architecture
• Sense -- plan -- actSense -- plan -- act was the first widely studied
robot architecture.
• Complex tasks ultimately will require a deliberative approach,
i.e., reasoning about the world.
• Current robots incorporate both reactive and
deliberative design. (termed hybrid systems.)
Another taxonomyAnother taxonomy
Non
e
Need
-
base
d
Now
All
Wor
ld
Mod
elin
g
Capability Wow!Ow!
Possible Future ProjectsPossible Future Projects
A) Small Battle Bot
B) Path-planning and reasoning large truck or other vehicle
C) wall following robot
D) The Extinguisher (fire-fighting + lego design)
E) The Robix Manipulator on a wheeled robot
F) Pioneer (can-collecting and delivery)
G) Big Brother (visual camera control)
Abs
trac
tion
Autonomy
hardware
software
Just mode
l
human-controlled
independent
algorithms and strategies for programming autonomous robots
Problem 1Problem 1 Use this taxonomy for all robots from PSU Lab. Is this a good taxonomy?
SourcesSources• Rodney Brooks
• Dodds, Harvey Mudd College
• Maja Mataric
• Nilsson’s book
• Jeremy Elson
• Norvig’s book, chapter 2. Good. Stimulus-Response Agents
• English PH.D thesis, recent
• Jon Garibaldi
• Prof. Bruce Donald, Changxun Wu, Dartmouth College
• Leo Ilkko
• Prof. Manuela Veloso, Dr. Tucker Balch, and Dr. Brett BrowningCarnegie Mellon University
• Rabih Neouchi , Donald C. Onyango and Stacy F. President
• Axel Roth
• Ramon Brena Pinero ITESM
• Rhee, Taik-heon, Computer Science Department, KAIST
• Brian R. Duffy, Gina Joue
• Lucy Moffatt, Univ of Sheffield
• Yorick Wilks, Computer Science Department, University of Sheffield
• University of Otago
SourcesSources•Curtis Bahn, RPI• J.E. Wampler•Michael Rodemer, University of Michigan, School of Art and Design•Physics and Media Group, MIT •Josh R. Fairley•Dr. Raymond S. Winton •Mike Haney, University of Illinois •Steve Benkovic, Cal State University , Northridge http://homepage.mac.com/[email protected]•Franklin Alioto, Christine Beltran, Eric Cina, Vince Francisco, Margo Gaitan, Matthew O’Connor, Mike Rasay.•Kenneth Chin and Prang Chim•Bob Miller, Wally Szczesniak, Terry Kientz, •Brett Balogh , Siddharth Deliwala, John Bowen, •Darnel Degand, Kapil Kedia, •Adrian Fox, Christopher Li, •Dr. Jim Ostrowski