Dipartimento di Elettronica Informazione e Bioingegneria Robotics Behavioral robotics @ 2014
Behaviorism behave is what organisms do Behaviorism is built on this assumption, and its goal is to promote the scientific study of behavior. ( J. Watson 1913 ) 1. Psychology is the science of behavior. Psychology is not the science of mind. 2. Behavior can be described and explained without making ultimate reference to mental events or to internal psychological processes. The sources of behavior are external (in the environment), not internal (in the mind).
Change in prospective reasoning Where: brain Artificial Intelligence Information processing Absolute coordinates behave Where: organism Artificial Life Senso-motor integration Agent-centered
Behaviorism in robotics Embodied (= intrasomatico) Behaviour-based robotics Some inspiration from biology Reaching a goal depends on the environment Sensor data should be used directly to guide the robot motion There is no need of symbolic reasoning and global mapping Intelligence without representation and reasoning (Brooks, 1986)
Symbol Grounding Hypothesis Symbol system: no embodiment Symbol grounding No symbols, No symbolic relations No automatic problem solution No state space 4 properties of autonomous robots 1. Situateness, 2. Embodiment 3. Intelligence 4. Emergence
1. Situatedness The behavior of a creature depends on the environment in which it is embedded or situated. Creatures don t deal with abstract descriptions, but with the here and now of their environment A situated automaton is a finite-state machine whose inputs are provided by sensors connected to the environment, and whose outputs are connected to effectors.
2 Embodiment An embodied creature is one which has a physical body and experiences the world, at least in part, directly through the influence of the world on that body. The actions of a creature are part of a dynamic with the world and have immediate feedback on the creature s own sensations through direct physical coupling and its consequences. Only an embodied agent is validated as one that can deal with real world. Only through a physical grounding can any internal symbolic system be given meaning.
3 Emergence The intelligence of the system emerges from the system s interactions with the world and from sometimes indirect interactions between its components-- it is sometimes hard to point to one event or place within the system and say that is why some external action was manifested.
4 intelligence An autonomous (artificial) creature is one that is able to maintain a long term dynamic with its environment without intervention. Once an autonomous artificial creature is switched on, it does what is in its nature to do. Intelligence is in the eye of the observer.
Horizontal/vertical decomposition Shakey..but Perception takes too long Perception is not a solved problem Modeling/planning component assumes complete models are available Overall system cannot respond in real-time Most robots built this way have failed ambient
Behavior-based Approach Decompose overall control system into a layered set of reactive behaviors Each behavior represents a complete mapping from sensors to motor commands Low-level behaviors (e.g. avoid) run in real-time since they use little computation High-level behaviors are invoked only when necessary Requires arbitration strategy to choose among (or combine) conflicting behaviors
Complex behaviors from simple controls Complex and useful behavior need not necessarily be a product of an extremely complex control system Absolute coordinate systems are a source of error relational maps are more useful to a mobile robot For robustness, the robot must be able to function when one or more of its sensors fails recovery should be quick robots should be autonomous and self-sustaining
Subsumption a complex system has precursor in a simpler one The offspring contains the same mechanisms of the father with something more The offspring sussumes the father mechanisms layer 1 layer 2 layer 1
Subsumption architecture Each level sussumes as a subsystem the previous level
Subsumption: AFMS each module is implemented as a finite state machine augmented with some instance variables A finite state machine has - a set of states - a start state; (one or more stop states) - a set of symbols -a set of transitions switch bad on switch
Subsumption : Network Construction 1) Computation is organized as an asynchronous network of active computational elements(afsm) with a fixed topology of unidirectional connections. 2) Messages sent over connections have no implicit semantics they are small numbers (few bits), their meanings are dependent on the dynamics designed into both the sender and receiver 3) Sensors and actuators are connected to this network usually through asynchronous two-sided buffers. Only internal timers
control The control system is broken down into behaviors that run in parallel each behavior has direct access to sensor readings and can control the robot s motors directly observe changes build maps sense explore wander avoid objects act
communication Communication between modules is fixed module 1 module 2 module 3 3 ways to modify it monitoring inhibition suppression
Monitoring inhibition suppression The new layer monitors the messages between the modules of the previous layer using the same connection module3 new layer old layer module1 module2 Can inhibit the communication for 40 ms module3 new layer old layer module1 I module2 Can substitute the message for a limited time (40 ms) new layer old layer module3 module1 S module2
AFSM = a set of registers A virtual processor that executes a (set of) rules 4 states: Output Side effect Event wait Conditional dispatch some AFSM are directly connected to the robot hardware Sensors can store data in their registers Some output are directly sent to actuators
Behavior activation 1. Direct message through defined connections (and I and S nodes) 2. Activation propagation: when the messages received are more than a threshold, the behavior is activated 3. Ormonal system: defines expressions (condition monitors) as function of time, and releasers as functions of monitors. When evaluated in the activation slot of a behavior, their value can be checked against a threshold to activate the behavior.
Behavior Design Behavior design is more an art than a science In what situation does the behavior apply? What is the result of the behavior? Robustness? Scalability? Good behaviors produce smoothly varying control signals Emergent behavior is difficult to predict
Developing subsumption systems Decide sensors and actuators. Define first system. Add over the existent. Situation n STAGE n OK SYSTEM Situation 2 STAGE 2 OK STAGE 2 OK Situation 1 STAGE 1 STAGE 1 OK OK STAGE 1 OK time 0 Step 1 Step 2 Step n Result
Example: Allen ALLEN, Brooks 1986
step 1 Il robot moves only forward Forward Forward forward forward Left motor Right motor
step 2 A new layer to look for obstacles. If obstacle detected, one wheel moves backward tpo change direction. Detection obstacle Avoid backward backward Forward forward S Left motor Forward forward S Right motor
step 3 To avoid that the robot continues to move in a small region, a new level will introduce random phantoms to make the robot to change direction Random trigger Turn random phantom obstacle Detection S obstacle Avoid backward backward Forward forward S Left motor Forward forward S Right motor
step 4 To follow a wanted direction, we control the phantom obstacle Compass direction Transfer path Explorer controlled phantom obstacle Random trigger Turn S random phantom obstacle Detection S obstacle Avoid backward backward Forward forward S Left motor Forward forward S Right motor
step 5 Land marks obstacle goal user goal Navigate intended path find landmarks. The user sends a direction, the robot moves toward the landmark Compass direction Transfer S path Explorer controlled phantom obstacle Random trigger Turn S random phantom obstacle Detection S obstacle Avoid backward backward Forward forward S Left motor Forward forward S Right motor
Example: herbert MIT AI Lab in 1988 Primary Goal To wander in the office following walls and avoiding obstacles Look for soda-like objects, pick it up and drop it at a base location Sensors vision and a laser striper to find soda cans, and sonars and IRs to wander around safely.
Herbert Behavior Herbert Behavior search for soda cans; When found grab it, pick it up, weigh it,... if heavy (full), put it down, if empty, pick it up, and head home. There is no internal wire between the AFSMs that achieve can finding, grabbing, arm tucking, and going home. The relevant parts of the control system interact and activate each other through sensing the world.
Level 1
Level 1 wander
Level 2 Grabber Pathplan Straighten Monitor Integrate
Grasping - Sensors Sensors in the hand Crossed IR sensor Finger Beam Tip switches Wrist switch
Grasping Cans Case 1: Can already between the fingers Identified by the finger beam It grips everything that can be placed between the fingers Case 2: Can placed in front of the hand Crossed IR beam identifies the object Extend arm till the finger beam is activated Hand can knock over the object Lift the hand Case 3: Can is some distance away from hand search for can near the surface than a few feet above Cruise the surface where can is placed Once IR detects a can, grab it
Grasping Cans ENGRADE & DESCENT Locate table BOUNCE & SURFACE Cruise over the surface OVER & EXTEND Position the hand to grab GRASP Grab the can HOIST & PARK Bring the can closer to body
Behavior Low Level capabilities Obstacle avoidance Wall following Real-time recognition of soda can-like objects and desk-like objects (Does not explain how it determines if the can is empty)
Hoser shoot people 3 behaviors: Wander, Locate, Shoot Wander go around to find a person uses IR when found go to Locate Locate orient the arm towards the person, then go to Shoot Shoot shoot (water) every 0.1 seconds for a given time, maintaining the person at center. Then go to wander and suppress for a few seconds the locate mode
Genghis Genghis is a 1Kg six legged robot (1989) 12 motors, 12 force sensors, 1 inclinometer, 2 whiskers in front for obstacle, IR sensor in front Alpha advancing Beta - lifting
Genghis behaviors Level 1: standup 2 modules per leg; control alpha (advance) & beta (balance) motor Level 2: simple walk does not compensate for rough terrain Level 3: force balancing Compensates for rough terrain Level 4: leg lifting Level 5: whiskers
Walking with six legs Walk Up leg trigger leg down S beta position
Equilibrium of the legs alpha advance alpha balance S alpha position Alpha balance tries to make the sum of the alpha angles = 0
Walking Walk Up leg trigger leg down S beta pos alpha advance alpha balance S alpha pos
Walking in rough terrain Walk Up leg trigger Alpha collision leg down S beta pos alpha advance alpha balance S alpha pos
Obelix and learning Obelix has to push boxes against the walls 3 behaviors Mahadevan, Connell, IBM, 1991 (finder) Move using sonars until bump is activated (pusher) Move until stuck is activated (unwedger) If in stuck move to go away
Obelix sensors The activating conditions of the behaviors contains sensor data from Sonar go where an object can be found infrared verify the object is near and can start pushing motor current, to verify if stuck bump, to detect contact
subsumption advantages Provides a way to incrementally build and test a complex mobile robot control system Supports parallel computation in a straightforward, intuitive way Avoids centralized control; relies on self-centered and autonomous modules Leads to more emergent behavior -- Complex (and useful) behavior may simply be the reflection of a complex environment
Subsumption criticisms More complex behaviors? Is it an evolution? in the development of an individual, new representational structures are developed in response to the environment, not added by an experimenter. It would be more impressive if the robot learnt new behavior modules in response to the environment. Emphasis in this approach on reacting to the environment. But representations are needed for more complex tasks.
Schema+potential method Integrates joystick controller with potential method (the 2 vectors sum)