Presentation is loading. Please wait.

Presentation is loading. Please wait.

Robotic Architectures: Schema Lecture 7a. Motor Schemas ● Based upon schema theory: Explains motor behavior in terms of concurrent control of many different.

Similar presentations


Presentation on theme: "Robotic Architectures: Schema Lecture 7a. Motor Schemas ● Based upon schema theory: Explains motor behavior in terms of concurrent control of many different."— Presentation transcript:

1 Robotic Architectures: Schema Lecture 7a

2 Motor Schemas ● Based upon schema theory: Explains motor behavior in terms of concurrent control of many different activities Schema stores both how to react and the way that reaction can be realized A distributed model of computation Provides a language for connecting action and perception Activation levels are associated with schemas that determine their readiness or applicability for acting Provides a theory of learning through acquisition and tuning

3 Recall: Behaviors and Schema Theory BEHAVIOR Release r Sensory Input Pattern of Motor Actions Perceptual Schema Motor Schema

4 Categorization of Motor Schemas

5 Schema architecture ● Schema is a pattern of action, a basic unit of action from which complex actions are constructed ● Two kinds of schemas Motor schemas and Perceptual schemas ● A schema stores both how to react and the way that reaction can be realized ● Provides a language for connecting action and perception ● Activation levels are associated with schemas that determine their readiness or applicability for acting ● Many systems exists? e.g. Callisto - a foraging robot, GT Hummer

6 What are Schemas? ● Schemas are functional units (intermediate between overall behavior and neural function) for analysis of cooperative competition in the brain program units especially suited for a system which has continuing perception of, and interaction with, its environment a programming language for new systems in computer vision, robotics and expert systems a bridging language between Distributed AI and neural networks for specific subsystems

7 Perceptual And Motor Schemas ● A perceptual schema embodies the process whereby the system determines whether a given domain of interaction is present in the environment. ● A schema assemblage combines an estimate of environmental state with a representation of goals and needs ● The internal state is also updated by knowledge of the state of execution of current plans made up of motor schemas ● which are similar to control systems but distinguished by the fact that they can be combined to form coordinated control programs

8 Motor Schemas Issues ● Behavioral responses are all represented as vectors generated using a potential fields approach ● Coordination is achieved by vector addition ● No predefined hierarchy exists for coordination; instead, behaviors are configured at run-time ● Pure arbitration is not used; each behavior can contribute in varying degrees to robot’s overall response

9 Perception-Action Schema Relationships Es 1 Es 2 Es 3 Ps 1 Ps 2 Ps 3 Pss 1 Pss 2 Ms 2 Ms 1 Environmental Sensors ENVIRONMENTENVIRONMENT Motor Schemas Robot Vector Motors S PS = Perceptual Schema PSS = Perceptual Subschema MS = Motor Schema ES = Environmental Sensor

10 Output of Motor Schemas ● Output Vector: consists of both orientation and magnitude components ● V magnitude denotes magnitude of resultant response vector ● V direction denotes orientation

11 Behavioral Fusion via Vector Summation Behavior 1 Behavior 2 Behavior 3 Behavior 4 PERCEPTIONPERCEPTION Behavioral fusion S R = S (G i * R i ) Fused behavioral response

12 Defined Motor Schemas ● Move-ahead ● Move-to-goal ● Avoid-static-obstacle ● Dodge ● Escape ● Stay-on-path ● Noise ● Follow-the-leader ● Probe ● Dock ● Avoid-past ● Move up, move-down, maintain altitude ● Teleautonomy ● Each of these can be defined as a potential field of output vector responses.

13 Introduction to Potential Fields ● Potential field: array (or field) of vectors representing space ● Vector v = (m,d): consists of magnitude (m) and direction (d) ● Vector represents a force ● Typically drawn as an arrow ● Typically drawn as an arrow:

14 Potential Fields ● Vector space is 2D world, like bird’s eye view of map ● Map divided into squares, creating (x,y) grid ● Each element represents square of space ● Perceivable objects in world exert a force field on surrounding space

15 Five Primitive Potential Fields Uniform Perpendicular Tangential Attraction Repulsion

16 Magnitude Profiles ● Change in velocity in different parts of the field distance magnitudemagnitude ConstantLinearExponential Dropoff Field closest to an attractor/repellor will be stronger

17 Programming a Single Potential Field ● Repulsive field with linear drop-off: ● where D is max range of field’s effect

18 Single Repulsive Field Pseudocode typedef struct { double magnitude; double direction; } vector; vector repulsive(double d, double D) { if (d <= D) { outputVector.direction = -180; // turn around outputVector.magnitude = (D – d) / D; }// linear dropoff else { outputVector.direction = 0.0; outputVector.magnitude = 0.0; } return outputVector; }

19 Runaway Behavior Pseudocode vector runaway( ) { double reading; reading = readSonar();// perceptual schema Vector = repulsive(reading, MAX_DISTANCE);// motor schema return Vector; } while (robot == ON) { Vrunaway = runaway(reading);// motor schema turn(Vrunaway.direction); forward(Vrunaway.magnitude * MAX_VELOCITY); }

20 Field to Be Computed ● Only portion of field affecting robot is computed ● Robot uses functions defining potential fields at its position to calculate component vector

21 Combining Fields/Behaviors ● Compute each behavior’s potential field ● Sum vectors at robot’s position to get resultant output vector

22 Combined schemas

23 Issues with Combining Potential Fields ● Impact of update rates: Lower update rates can lead to “jagged” paths ● Robot treated as point: Expect robot to change velocity and direction instantaneously (can’t happen) ● Local minima: Vectors may sum to 0.

24 The Problem of Local Minima ● If robot reaches local minima, it will just sit still Local minima: vectors sum to 0

25 Schemas: Deadlock Problem

26 Dealing with Local Minima ● Inject noise, randomness: “Bumps” robot out of minima ● Include “avoid-past” behavior: Remembers where robot has been and attracts the robot to other places ● Use “Navigation Templates” (NaTs): The “avoid” behavior receives as input the vector summed from other behaviors Gives “avoid” behavior a preferred direction ● Insert tangential fields around obstacles

27 Schemas: Navigational templates

28 Motor Schema Encodings I ● Move-to-goal (ballistic): ● Avoid-static-obstacle: S where S = sphere of influence of obstacle R R = radius of obstacle G G = gain d d = distance of robot to center of obstacle

29 Example schemas I

30 Motor Schema Encodings II ● Stay-on-path: where: W W = width of path P P = off-path gain G G = on-path gain D D = distance of robot to center of path Vdirection = along a line from robot to center of path, heading toward centerline

31 Example Schemas II

32 Motor Schema Encodings III ● Move-ahead: ● Noise:

33 Example schemas III

34 Schemas: the effect of using different gain vector values gi

35 Behavioral coordination: action selection

36 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

37 Strengths and Weaknesses ● Strengths: support for parallelism; run-time flexibility; timeliness for development; support for modularity ● Weaknesses: niche targetability; hardware retargetability; combination pitfalls (local minima, oscillations)‏


Download ppt "Robotic Architectures: Schema Lecture 7a. Motor Schemas ● Based upon schema theory: Explains motor behavior in terms of concurrent control of many different."

Similar presentations


Ads by Google