Presentation is loading. Please wait.

Presentation is loading. Please wait.

Middle East Technical University

Similar presentations


Presentation on theme: "Middle East Technical University"— Presentation transcript:

1 Middle East Technical University
16/10/07 Subsumption Architecture Case 1: Controlling a wheeled robot Case 2: Controlling a hexapod robot Erol Sahin Dept of Computer Eng. Middle East Technical University Ankara, TURKEY

2 Subsumption Architecture
16/10/07 16/10/07 Subsumption Architecture Proposed by R. Brooks of MIT AI Lab. Created a major paradigm shift “A Robust Layered Control System for a Mobile Robot”, R.A. Brooks, IEEE Journal of Robotics and Automation RA-2, 14-23, 1986. “A Robot that walks: Emergent Behaviors from a carefully evolved network”, R.A, Brooks, Neural Computation 1 (2), , 1989. Adapted from Ö. Alan’s slides 2

3 16/10/07 Traditional model “The traditional model where cognition mediates between perceptions and plans of actions.”

4 16/10/07 New model “The new model where the perceptual and action subsystems are all there really is. Cognition is only in the eye of an observer.”

5 Traditional decomposition
16/10/07 Traditional decomposition Vertical decomposition of modules. What should be the output of the perception module?

6 New decomposition Horizontal decomposition
16/10/07 New decomposition Horizontal decomposition Each module is directly coupled to the world

7 Layered (incremental) control
16/10/07 Layered (incremental) control “Control is layered with higher level layers subsuming the roles of lower layers when they wish to take control.” “The system can be partitioned at any level, and the layers below form a complete operational control system.” Subsume: To classify, include, or incorporate in a more comprehensive category or under a general principle

8 Level of competences for a mobile robot
16/10/07 Level of competences for a mobile robot Level 0: Avoid contact with objects (whether the objects move or are stationary). Level 1: Wander aimlessly without hitting things. Level 2: “Explore” the world by seeing places in the distance which look reachable and heading for them. Level 3: Build a map of the environment and plan routes from one place to another. Level 4: Notice changes in the “static” environment. Level 5: Reason about the world in terms of identifiable objects and perform tasks related to certain objects. Level 6: Formulate and execute plans which involve changing the state of the world in a desirable way. Level 7: Reason about the behavior of objects in the world and modify plans accordingly. “A Robust Layered Control System for a Mobile Robot”, R.A. Brooks, IEEE Journal of Robotics and Automation RA-2, , 1986.

9 Modules A module has input and output lines, also called as “wires”.
16/10/07 Modules S 10 1 3 Inputs Suppressor Outputs Inhibitor Reset A module has input and output lines, also called as “wires”. Input lines have single element buffers. The most recently arrived message is always available for inspection. Input signals can be suppressed and replace with the suppressing signal. Outputs are sent as messages over the wires. Output signals can be inhibited. A module can also be reset to the initial state.

10 Augmented Finite State Machines
16/10/07 16/10/07 Augmented Finite State Machines Finite State Machine S I Registers Timers FSM The arrival of a message, or the expiration of a timer, can trigger a change in the state of FSM. 10

11 16/10/07 16/10/07 Modules S 10 1 3 Inputs Suppressor Outputs Inhibitor Reset Wait on some event, dispatch to another state based on predicate registers Compute a function of registers Sensors deposit their values to certain registers Certain outputs direct commands to actuators. Adapted from Ö. Alan’s slides 11

12 Level 0: Avoid contact with objects
16/10/07 Level 0: Avoid contact with objects sonar: takes a vector of sonar readings, filters them and produces a robot- centered map of obstacles. collide: monitors the map, and if it detects objects ahead, sends halt signal to the forward module. If the robot is already stationary, the halt message is lost. feelforce: uses the map of obstacles to generate a single repulsive force. runaway: Monitors the “force” and sends a heading direction to the turn module to avoid the obstacles. turn and forward: uses the incoming heading and halt messages to control the robot’s motors. Encoder values are used as feedback in this control.

13 Level 1: Wander aimlessly
16/10/07 Level 1: Wander aimlessly The level 0 control system is augmented with the level 1 system.

14 Level 1: Wander aimlessly
16/10/07 Level 1: Wander aimlessly wander: generates a new heading for the robot every 10 seconds or so. avoid: Takes the force and the [desired] heading direction to generate a new heading direction that subsumes the one generated by the runaway module.

15 16/10/07 Level 1: Explore The level 0 and 1 control systems augmented with the level 2 system.

16 16/10/07 Level 1: Explore Status: monitors turn and forward and returns whether the robot is busy or not. Whenlook: monitors status and when “not busy” for a few seconds, it decides to look for corridors. Look: initiates vision processing and waits for a candidate, and passes an acceptable one to pathplan. Stereo: generates corridor candidates from visual data. Integrate: accumulates reports of motions from the status module. Pathplan: takes a goal specification and attempts to reach that goal by suppressing heading to avoid module. When the position of the robot is close to the target [through integrate module], it terminates.

17 16/10/07 Week 4 16/10/07

18 Experiments Conducted in simulation.
16/10/07 Experiments Conducted in simulation. The simulated robot receives 12 sonar readings. Some sonar beams glance off the walls and do not return within a certain time.

19 16/10/07 Level 0 and 1 in action Under levels 0 and 1, the robot wanders around aimlessly. It does not hit obstacles.

20 16/10/07 Level 0, 1 and 2, in action With level 2 control, the robot tries to achieve commanded goals. The nominal goals are the two straight lines. After reaching the second goal, since there are no new goals forthcoming, the robot reverts to aimless level 1 behavior.

21 Controlling a hexapod robot
16/10/07 16/10/07 Controlling a hexapod robot Control mechanism for a six-legged robot capable of walking on rough terrain and following people. Incremental building of complex systems integrating sensory inputs and actuator outputs. Emergent complex behaviors from simple reflexes with little centralized control. A base for building automatically massive networks for complex tasks “A Robot that walks: Emergent Behaviors from a carefully evolved network”, R.A, Brooks, Neural Computation 1 (2), , 1989. Adapted from Ö. Alan’s slides 21

22 Robot Description (Genghis)‏
16/10/07 16/10/07 Robot Description (Genghis)‏ Hexapod 35 cm long, 25 cm leg span, 1 kg weight Legs 2 degrees of freedom (up/down and forward/backward)‏ Two front whiskers Two inclinometer Pyroelectric infra-red sensors 4 onboard 8 bit micro-processors 62.5 Kbaud token ring, 1KB Ram, 10 KB EPROM 3 silver zinc batteries Adapted from Ö. Alan’s slides Week 4 22

23 Behaviors Stand up Simple walk Force balancing Leg lifting Whiskers
16/10/07 16/10/07 Behaviors Stand up Simple walk Force balancing Leg lifting Whiskers Pitch stabilization Prowling Steered Prowling Adapted from Ö. Alan’s slides Week 4 16/10/07 23

24 Network of AFSM 16/10/07 alpha balance walk feeler IR prowl steer
leg down beta pos alpha alpha balance alpha advance s Up leg trigger walk force balance d collide feeler For/back pitch i IR sensors prowl steer

25 Stand-up   The robot should stand up when its turned on.
16/10/07 16/10/07 Stand-up The robot should stand up when its turned on. Six copies of the following control: one for each leg. alpha pos ()– the forward/backward state of the leg beta pos () – the up/down state of the leg Initial values of and  sets the desired positions for the motors. AFSMs of this behavior also report the most recent commanded position for their motor. alpha pos beta Triangle indicates connection to the actuators Adapted from Ö. Alan’s slides 25

26 Simple Walk A leg down machine for each leg
16/10/07 16/10/07 Simple Walk A leg down machine for each leg Whenever the leg is not in the down position, write the appropriate beta pos register in order to set it down. leg down alpha pos beta Adapted from Ö. Alan’s slides 26

27 Simple Walk (Cont’d)‏  Alpha balance machine
16/10/07 16/10/07 Simple Walk (Cont’d)‏ Alpha balance machine Sums alpha pos values Legs straight as zero Legs forward as positive Legs backward as negative Sends a single identical message to all alpha pos machines to drive the sum to zero If one leg moves forward somehow, all legs will receive a series of messages to move backward slightly leg down beta pos alpha alpha balance Band indicates that only one copy of the AFSM exists. Adapted from Ö. Alan’s slides 27

28 Simple Walk (Cont’d)‏  Alpha advance machine
16/10/07 16/10/07 Simple Walk (Cont’d)‏ Alpha advance machine If a leg is raised somehow (check beta pos), it reflexively swings forward. Suppress alpha balance machine (for that particular leg only)‏ All other legs automatically swing back to compensate leg down beta pos alpha alpha balance alpha advance s Adapted from Ö. Alan’s slides 28

29 Simple Walk (Cont’d)‏ Up leg trigger machine
16/10/07 16/10/07 Simple Walk (Cont’d)‏ Up leg trigger machine Issues command to lift a leg by suppressing leg down AFSM. Three registers (monitor beta pos, a trigger message, initially constant lift message to beta pos)‏ leg down beta pos alpha alpha balance alpha advance s Up leg trigger Adapted from Ö. Alan’s slides 29

30 16/10/07 16/10/07 Simple Walk (Cont’d)‏ Walk: Send coordinated trigger signals to up leg trigger machines Two versions Alternating tripod Standard back to front ripple gait leg down beta pos alpha alpha balance alpha advance s Up leg trigger walk Adapted from Ö. Alan’s slides 30

31 Force Balancing Walking over obstacles requires some force sensing.
16/10/07 16/10/07 Force Balancing Walking over obstacles requires some force sensing. If a leg is placed on an obstacle, it has to roll (or pitch) the body in order to reach the beta preset value, increasing the load (force) on the motor. Beta force machine Monitors the beta motor forces Beta balance Sends out lift up message whenever the force is too high Zero move messages Standard deviation of pitch inclinometer fell from 3.6 to 2.3 Adapted from Ö. Alan’s slides 31

32 Force Balancing (Cont’d)‏
16/10/07 16/10/07 Force Balancing (Cont’d)‏ leg down beta pos alpha alpha balance alpha advance s Up leg trigger walk force balance d Adapted from Ö. Alan’s slides 32

33 Leg Lifting  Alpha collide
16/10/07 16/10/07 Leg Lifting Alpha collide Measures the force on the forward swing (alpha) motor Writes the height register in the up leg trigger at a higher value leg down beta pos alpha alpha balance alpha advance s Up leg trigger walk force balance d collide Adapted from Ö. Alan’s slides 33

34 Whiskers  Feeler Machine Monitor the two whiskers in the front
16/10/07 16/10/07 Whiskers Feeler Machine Monitor the two whiskers in the front Increase the lift of left and right front legs before collision. Two copies (one for each side)‏ leg down beta pos alpha alpha balance alpha advance s Up leg trigger walk force balance d collide feeler Adapted from Ö. Alan’s slides 34

35 Pitch Stabilization Forward/backward pitch
16/10/07 16/10/07 Pitch Stabilization Forward/backward pitch Monitor high pitch conditions Inhibit the local beta balance machine output in appropriate circumstances leg down beta pos alpha alpha balance alpha advance s Up leg trigger walk force balance d collide feeler For/back pitch i Adapted from Ö. Alan’s slides 35

36 Prowling IR sensors machine Prowl machine
16/10/07 16/10/07 Prowling IR sensors machine Monitors six forward looking infra red sensors Sends an activity message to the prowl machine when it detects motion Prowl machine Inhibits the leg lifting trigger messages prowl – to rove or go about stealthily, as in search of prey, something to steal, etc. Adapted from Ö. Alan’s slides 36

37 16/10/07 16/10/07 Prowling (Cont’d)‏ leg down beta pos alpha alpha balance alpha advance s Up leg trigger walk force balance d collide feeler For/back pitch i IR sensors prowl The robot sits still until something comes by, the it moves forward a little Adapted from Ö. Alan’s slides 37

38 Steered Prowling Follow a moving person Steer machine
16/10/07 16/10/07 Steered Prowling Follow a moving person Steer machine Writes into a register in each alpha pos machine for legs on the side of the activation Reduces leg’s backswing Adapted from Ö. Alan’s slides 38

39 Steered Prowling (Cont’d)‏
16/10/07 16/10/07 Steered Prowling (Cont’d)‏ leg down beta pos alpha alpha balance alpha advance s Up leg trigger walk force balance d collide feeler For/back pitch i IR sensors prowl steer Adapted from Ö. Alan’s slides 39

40 Conclusion A distributed system can achieve robust walking behavior.
16/10/07 16/10/07 Conclusion A distributed system can achieve robust walking behavior. Macro behavior is a result of interaction of independent micro behaviors. Integration of higher level behaviors into a system which controls lower level behaviors is relatively easy. Adapted from Ö. Alan’s slides 40

41 Summary Layers of abstract behaviors
16/10/07 16/10/07 Summary Layers of abstract behaviors Subsumption or inhibition of lower layers no replacement Difficult to design what is the emergent behavior No world model Ego-centric and distributed Adapted from C. Messom’s slides 41


Download ppt "Middle East Technical University"

Similar presentations


Ads by Google