Middle East Technical University

Slides:



Advertisements
Similar presentations
Cognitive Systems, ICANN panel, Q1 What is machine intelligence, as beyond pattern matching, classification and prediction. What is machine intelligence,
Advertisements

A simple and robust hierarchical control architecture for a walking robot Richard Kennaway School of Computing Sciences University of East Anglia.
Elephants Don’t Play Chess
Lecture 8: Three-Level Architectures CS 344R: Robotics Benjamin Kuipers.
5-1 Chapter 5: REACTIVE AND HYBRID ARCHITECTURES.
Embedded System Lab Kim Jong Hwi Chonbuk National University Introduction to Intelligent Robots.
A Summary of the Article “Intelligence Without Representation” by Rodney A. Brooks (1987) Presented by Dain Finn.
Robotics CSPP Artificial Intelligence March 10, 2004.
Experiences with an Architecture for Intelligent Reactive Agents By R. Peter Bonasso, R. James Firby, Erann Gat, David Kortenkamp, David P Miller, Marc.
IofT 1910 W Fall 2006 Week 5 Plan for today:  discuss questions asked in writeup  talk about approaches to building intelligence  talk about the lab.
Chapter 4: Towards a Theory of Intelligence Gert Kootstra.
IofT 1910 W Fall 2006 Week 3 Plan for today:  discuss questions asked for the writeup  talk about Brooks’ approach and compare it with other approaches.
Autonomous Mobile Robots CPE 470/670 Lecture 8 Instructor: Monica Nicolescu.
Topics: Introduction to Robotics CS 491/691(X) Lecture 8 Instructor: Monica Nicolescu.
Autonomous Mobile Robots CPE 470/670 Lecture 9 Instructor: Monica Nicolescu.
Autonomous Mobile Robots CPE 470/670 Lecture 8 Instructor: Monica Nicolescu.
Topics: Introduction to Robotics CS 491/691(X)
Behavior- Based Approaches Behavior- Based Approaches.
A Robust Layered Control System for a Mobile Robot Rodney A. Brooks Presenter: Michael Vidal.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 580 Artificial Intelligence Ch.2 [P]: Agent Architectures and Hierarchical.
Chuang-Hue Moh Spring Embodied Intelligence: Final Project.
Robot design-- Four legged walking robot Instructors: Dr. A
Shaojie Ge Design Overview  The robot simulates the movements of a four leg walking animal. Its basic function include: Walking with four legs,
Robotics without Reason Robotik Seminar WS 99/00 Rojas Behnke.
Mobile Robot Control Architectures “A Robust Layered Control System for a Mobile Robot” -- Brooks 1986 “On Three-Layer Architectures” -- Gat 1998? Presented.
Chapter 14: Artificial Intelligence Invitation to Computer Science, C++ Version, Third Edition.
Localisation & Navigation
Motion Control Locomotion Mobile Robot Kinematics Legged Locomotion
Reactive Paradigm – Overview Subsumption Architecture By Ian Jonkers Studies in Machine Learning: Intelligent Robotics.
Robotica Lecture 3. 2 Robot Control Robot control is the mean by which the sensing and action of a robot are coordinated The infinitely many possible.
4 Introduction to AI Robotics (MIT Press)Chapter 4: The Reactive Paradigm1 The Reactive Paradigm Describe the Reactive Paradigm in terms of the 3 robot.
Autonomous Mobile Robots CPE 470/670 Lecture 8 Instructor: Monica Nicolescu.
Robotica Lecture 3. 2 Robot Control Robot control is the mean by which the sensing and action of a robot are coordinated The infinitely many possible.
Mobile Robot Navigation Using Fuzzy logic Controller
Boundary Assertion in Behavior-Based Robotics Stephen Cohorn - Dept. of Math, Physics & Engineering, Tarleton State University Mentor: Dr. Mircea Agapie.
Robot Intelligence Kevin Warwick. Reactive Architectures I: Subsumption Perhaps the best known reactive architecture, developed in the ‘80s by Rodney.
Behavior Control for Robotic Exploration of Planetary Surfaces Written by Erann Gat, Rajiv Desai, Robert Ivlev, John Loch and David P Miller Presented.
Behaviour-Based Control in Mobile Robotics
Robotica Lecture Review Reactive control Complete control space Action selection The subsumption architecture –Vertical vs. horizontal decomposition.
Brooks’ Subsumption Architecture EEL 6838 T. Ryan Fitz-Gibbon 1/24/2004.
Subsumption Architecture and Nouvelle AI Arpit Maheshwari Nihit Gupta Saransh Gupta Swapnil Srivastava.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
ROBOTICS COE 584 Robotic Control Architecture.
INTELLIGENCE WITHOUT REPRESENTAION 인지과학 협동과정 이광주.
Robotic Architectures Lezione 8. Robotic architecture Computer architecture: Computer architecture:  discipline devoted to the design of highly specific.
Robot Intelligence Technology Lab. 10. Complex Hardware Morphologies: Walking Machines Presented by In-Won Park
Robot Intelligence Technology Lab. Evolutionary Robotics Chapter 3. How to Evolve Robots Chi-Ho Lee.
Authors: Brooks, R.A. ; Massachusetts Institute of Technology, Cambridge, MA, USA Form : IEEE JOURNAL OF ROBOTICS AND AUTOMATION, VOL. RA-2, NO. I, MARCH.
Robot Control. Open Loop Control Sends commands to make a robot preform some movement without attempting to check if it is doing things properly. For.
CSPP Artificial Intelligence March 10, 2004
CMSC Artificial Intelligence March 11, 2008
Advantages of FSM Their simplicity make it easy for inexperienced developers to implement with little to no extra knowledge (low entry level)
Automation as the Subject of Mechanical Engineer’s interest
Human System Interactions, HSI '09. 2nd Conference on
CSCE 580 Artificial Intelligence Ch
By: Zeeshan Ansari, BEng (Hons) Electronic Engineering
Review and Ideas for future Projects
Build Intelligence from the bottom up!
Build Intelligence from the bottom up!
IMDL Summer 2007: RoBeDeS by David Ladolcetta.
Introduction To Intelligent Control
Systems Design Nursebot
Non-Symbolic AI lecture 4
Artificial Intelligence Chapter 2 Stimulus-Response Agents
Build Intelligence from the bottom up!
Subsuption Architecture
Robot Intelligence Kevin Warwick.
Chapter 13: I/O Systems.
Chapter 12: Building Situated Robots
Behavior Based Systems
Presentation transcript:

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

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), 253-262, 1989. Adapted from Ö. Alan’s slides 2

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

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.”

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

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

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

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, 14-23, 1986.

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.

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

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

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.

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

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.

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

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.

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

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.

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

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.

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), 253-262, 1989. Adapted from Ö. Alan’s slides 21

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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