400 likes | 412 Views
Topics: Introduction to Robotics CS 491/691(X). Lecture 10 Instructor: Monica Nicolescu. Review. The Subsumption Architecture Herbert, Genghis, The Nerd Herd, Tom and Jerry Advantages and dissadvantages Behavior-based control Definitions Principles of behavior-based control
E N D
Topics: Introduction to RoboticsCS 491/691(X) Lecture 10 Instructor: Monica Nicolescu
Review • The Subsumption Architecture • Herbert, Genghis, The Nerd Herd, Tom and Jerry • Advantages and dissadvantages • Behavior-based control • Definitions • Principles of behavior-based control • Toto: a behavior-based mapping robot CS 491/691(X) - Lecture 10
An Example Task: Mapping • Design a robot that is capable of: • Moving around safely • Make a map of the environment • Use the map to find the shortest paths to particular places • Navigation & mapping are the most common mobile robot tasks CS 491/691(X) - Lecture 10
Map Representation • The map is distributed over different behaviors • We connect parts of the map that are adjacent in the environment by connecting the behaviors that represent them • The network of behaviors represents a network of locations in the environment • Topological map: Toto (Matarić ’90) CS 491/691(X) - Lecture 10
Toto’s Controller CS 491/691(X) - Lecture 10
Building a Map • Each landmark was stored in a behavior • Whenever a new landmark was discovered a new behavior was added • Adjacent landmarks are connected by communication wires • This resulted in a topological representation of the environment, i.e., a topological world model CS 491/691(X) - Lecture 10
Each landmark was stored in a behavior Each such landmark behavior stored (remembered) some information landmark type (wall, corridor, irregular) compass heading approximate length/size some odometry my-behavior-type: corridor my-compass-direction: NV my-approximate-location: x,y my-approximate-length: length whenever received (input) if input(behavior-type)= my-behavior-type and input (compass-direction) = my-compass-direction then active <- true Toto’s Mapping Behaviors CS 491/691(X) - Lecture 10
Localization • Whenever a landmark is detected, its description (type, compass direction, etc.) is sent to all behaviors in parallel the one that matches becomes active • When nothing in the map matches a new place/landmark was discovered and added to the map • If an existing behavior was activated, it inhibited any other active behaviors CS 491/691(X) - Lecture 10
Getting Around • Toto can use the map to navigate • The behavior that corresponds to the goal sends messages (spreads activation) to all of its neighbors • The neighbors send messages to their neighbors in turn • So on, until the messages reach the currently active behavior • This forms path(s) from the current state to the goal CS 491/691(X) - Lecture 10
Path Following • Toto did not keep a sequence of behaviors • Instead, messages were passed continuously • Useful in changing environments • How does Toto decide where to go if multiple choices are available? • Rely on the landmark size: behaviors add up their own length as messages are passed from one behavior to another give path length • Choose the shortest path • Thus, one behavior at a time, it reached the goal CS 491/691(X) - Lecture 10
Toto - Video CS 491/691(X) - Lecture 10
Expression of Behaviors • Example: • Going from a classroom to another • What does it involve? • Getting to the destination from the current location • Not bumping into obstacles along the way • Making your way around students on corridors • Deferring to elders • Coping with change in the environment CS 491/691(X) - Lecture 10
Stimulus-Response Diagrams • Behaviors are represented as a general response to a particular stimulus C O O R D I N A T O R move-to-class class location avoid-object detected object dodge-student Actions detected student stay-right detected path defer-to-elder detected elder CS 491/691(X) - Lecture 10
other not-at-class all Start Journey Lost move error reached-class At-class all Finite State Acceptor Diagrams • Useful for describing aggregations and sequences of behaviors • Finite state acceptor: • Q: set of allowable behavioral states • : transition function from (input, current state) new state • q0: initial state • F: set of accepting (final) states CS 491/691(X) - Lecture 10
Formal Methods • Have very useful properties for the programmer • Can be used to verify designer intentions • Facilitate the automatic generation of control systems • Provide a common language for expressing robot behaviors • Provide a framework for formal analysis of the program, adequacy and completeness • Provide support for high-level programming language design CS 491/691(X) - Lecture 10
Situated Automata • Kaelbling & Rosenschein (’91) • Controllers are designed as logic circuits • Capable of reasoning • REX: Lisp-based language • First language to encode a reactive systems with synchronous digital circuitry • Gapps: goals are specified more directly • Achievement, maintenance, execution • Logical boolean operators are used to create higher-level goals generate circuits CS 491/691(X) - Lecture 10
Situated Automata (defgoalr (ach in-classroom) (if (not start-up) (maint (and (maint move-to-classroom) (maint avoid-objects) (maint dodge-students) (maint stay-to-right-on-path) (maint defer-to-elders) ) ) ) ) CS 491/691(X) - Lecture 10
Discrete Behavioral Encoding • The behavior consists of a set finite set of (situation, response) pairs • Rule-based systems IF antecedent THEN consequent • Condition-action production rules (Nilsson ’94) • Produce durative actions: “move at 5m/s” vs. “move 5 m” • The Subsumption Architecture (whenever condition & consequent) CS 491/691(X) - Lecture 10
Continuous Behavioral Encoding • Continuous response provides a robot an infinite space of potential reactions to the world • A mathematical function transforms the sensory input into a behavioral reaction • Potential fields • Law of universal gravitation: potential force drops off with the square of the distance between objects • Goals are attractors and obstacles are repulsors • Separate fields are used for each object • Fields are combined (superposition) unique global field CS 491/691(X) - Lecture 10
Potential Fields Ballistic goal attraction field Superposition of two fields CS 491/691(X) - Lecture 10
Potential Fields • Advantages • Provide an infinite set of possibilities of reaction • Highly parallelizable • Disadvantages • Local minima, cyclic-oscillatory behavior • Apparently, large amount of time required to compute the entire field: reaction is computed only at the robot’s position! CS 491/691(X) - Lecture 10
Motor Schemas • Motor schemas are a type of behavior encoding • Based on neuroscience and cognitive science • They are based on schema theory (Arbib) • Explains motor behavior in terms of the concurrent control of many different activities • Schemas store how to react and the way the reaction can be realized: basic units of activity • Schema theory provides a formal language for connecting action and perception • Activation levels are associated with schemas, and determine their applicability for acting CS 491/691(X) - Lecture 10
Visually Guided Behaviors • Michael Arbib & colleagues constructed computer models of visually guided behaviors in frogs and toads • Toads & frogs respond visually to • Small moving objects feeding behavior • Large moving objects fleeing behavior • Behaviors implemented as a vector field (schemas) • Attractive force (vector) along the direction of the fly • What happens when presented with two files simultaneously? • The frog sums up the two vectors and snaps between the two files, missing both of them CS 491/691(X) - Lecture 10
Motor Schemas • Provide large grain modularity • Schemas act concurrently, in a cooperative but competing manner • Schemas are primitives from which more complex behaviors (assemblages can be constructed) • Represented as vector fields CS 491/691(X) - Lecture 10
Examples of Schemas • Obstacle avoid and stay on corridor schemas CS 491/691(X) - Lecture 10
Schema Representation • Responses represented in uniform vector format • Combination through cooperative coordination via vector summation • No predefined schema hierarchy • Arbitration is not used • each behavior has its contribution to the robot’s overall response • gain values control behavioral strengths • Here is how: CS 491/691(X) - Lecture 10
The Role of Gains in Schemas • Low gain • High gain CS 491/691(X) - Lecture 10
Designing with Schemas • Characterize motor behaviors needed • Decompose to most primitive level, use biological guidelines where appropriate • Develop formulas to express reaction • Conduct simple simulations • Determine perceptual needs to satisfy motor schema inputs • Design specific perceptual algorithms • Integrate/test/evaluate/iterate CS 491/691(X) - Lecture 10
Foraging Example CS 491/691(X) - Lecture 10
Strengths and Weaknesses • Strengths: • support for parallelism • run-time flexibility • timeliness for development • support for modularity • Weaknesses: • hardware retargetability • combination pitfalls (local minima, oscillations) CS 491/691(X) - Lecture 10
Schema-Based Robots • At Georgia Tech (Ron Arkin) • Exploration • Hall following • Wall following • Impatient waiting • Navigation • Docking • Escape • Forage CS 491/691(X) - Lecture 10
The DAMN Architecture • Distributed Architecture for Mobile Navigation (Rosenblatt 1995) • Multi-valued behaviors (at all levels) propose multiple action preferences • Each behavior votes for or against sets of actions • Arbiter selects max weighted vote sum • Practically demonstrated on real-world long-distance navigation • Disadvantage: highly heuristic CS 491/691(X) - Lecture 10
Behavior Coordination • Behavior-based systems require consistent coordination between the component behaviors for conflict resolution • Coordination of behaviors can be: • Competitive: one behavior’s output is selected from multiple candidates • Cooperative: blend the output of multiple behaviors • Combination of the above two CS 491/691(X) - Lecture 10
Competitive Coordination • Arbitration: winner-take-all strategy only one response chosen • Behavioral prioritization • Subsumption Architecture • Action selection/activation spreading (Pattie Maes) • Behaviors actively compete with each other • Each behavior has an activation level driven by the robot’s goals and sensory information • Voting strategies (DAMN) • Behaviors cast votes on potential responses CS 491/691(X) - Lecture 10
Cooperative Coordination • Fusion: concurrently use the output of multiple behaviors • Major difficulty in finding a uniform command representation amenable to fusion • Fuzzy methods • Formal methods • Potential fields • Motor schemas • Dynamical systems CS 491/691(X) - Lecture 10
Emergent Behavior • The resulting robot behavior may sometimes be surprising or unexpected emergent behavior • Emergence arises from • A robot’s interaction with the environment • The interaction of behaviors CS 491/691(X) - Lecture 10
Wall Following • A simple wall following controller: • If too close on the left, turn right • If too close on the right, turn left • Otherwise, keep straight • If the robot is placed close to a wall it will follow • Is this emergent? • The robot has no explicit representations of walls • The controller does not specify anything explicit about following CS 491/691(X) - Lecture 10
Emergence • A “holistic” property, where the behavior of the robot is greater than the sum of its parts • A property of a collection of interacting components • Often occurs in reactive and behavior-based systems (BBS) • Typically exploited in reactive and BBS design CS 491/691(X) - Lecture 10
Flocking • How would you design a flocking behavior for a group of robots? • Each robot can be programmed with the same behaviors: • Don’t get too close to other robots • Don’t get too far from other robots • Keep moving if you can • When run in parallel these rules will result in the group of robots flocking CS 491/691(X) - Lecture 10
Readings • M. Matarić: Chapters 17, 18 CS 491/691(X) - Lecture 10