Institute for Computer Science VI Autonomous Intelligent Systems

Slides:



Advertisements
Similar presentations
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
Advertisements

Agents & Mobile Agents.
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Modeling Main issues: What do we want to build How do we write this down.
Lecture 8: Three-Level Architectures CS 344R: Robotics Benjamin Kuipers.
A ROS-based Software Framework for the NimbRo-OP Humanoid Open Platform Philipp Allgeuer, Max Schwarz, Julio Pastrana Sebastian Schueller, Marcell Missura,
Intelligent Agents Russell and Norvig: 2
Modeling Main issues: What do we want to build How do we write this down ©2008 John Wiley & Sons Ltd. vliet.
Fused Angles for Body Orientation Representation Philipp Allgeuer and Sven Behnke Institute for Computer Science VI Autonomous Intelligent Systems University.
Jenkins — Modular Perception and Control Brown Computer — ROUGH DRAFT ( ) 1 Workshop Introduction: Modular Perception.
Lecture 6: Hybrid Robot Control Gal A. Kaminka Introduction to Robots and Multi-Robot Systems Agents in Physical and Virtual Environments.
Adding Organizations and Roles as Primitives to the JADE Framework NORMAS’08 Normative Multi Agent Systems, Matteo Baldoni 1, Valerio Genovese 1, Roberto.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
CHEP04 - Interlaken - Sep. 27th - Oct. 1st 2004T. M. Steinbeck for the Alice Collaboration1/27 A Control Software for the ALICE High Level Trigger Timm.
Intelligence without Reason
AR vs. CFSM Abdallah Tabbara. CFSM Overview 4 CFSM has: –a finite state machine part –a data computation part –a locally synchronous behavior transitions.
Architectural Design Principles. Outline  Architectural level of design The design of the system in terms of components and connectors and their arrangements.
Inferring the Topology and Traffic Load of Parallel Programs in a VM environment Ashish Gupta Resource Virtualization Winter Quarter Project.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Design Patterns.
Data Structures, Spring 2004 © L. Joskowicz 1 DAST – Final Lecture Summary and overview What we have learned. Why it is important. What next.
3.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 3: Introducing Active Directory.
Inferring the Topology and Traffic Load of Parallel Programs in a VM environment Ashish Gupta Peter Dinda Department of Computer Science Northwestern University.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Introduction to Behavior- Based Robotics Based on the book Behavior- Based Robotics by Ronald C. Arkin.
German National Research Center for Information Technology Research Institute for Computer Architecture and Software Technology German National Research.
(C) 2009 J. M. Garrido1 Object Oriented Simulation with Java.
A Goal-Based Organizational Perspective on Multi-Agent Architectures Manuel Kolp † Paolo Giorgini ‡ John Mylopoulos † † Department of Computer Science.
IMPROUVEMENT OF COMPUTER NETWORKS SECURITY BY USING FAULT TOLERANT CLUSTERS Prof. S ERB AUREL Ph. D. Prof. PATRICIU VICTOR-VALERIU Ph. D. Military Technical.
Introduction to MDA (Model Driven Architecture) CYT.
Towards Cognitive Robotics Biointelligence Laboratory School of Computer Science and Engineering Seoul National University Christian.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Design Patterns. Patterns “Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution.
COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler
Ocean Observatories Initiative Data Management (DM) Subsystem Overview Michael Meisinger September 29, 2009.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11: Artificial Intelligence Computer Science: An Overview Tenth Edition.
Architecture for Autonomous Assembly 1 Reid Simmons Robotics Institute Carnegie Mellon University.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Boundary Assertion in Behavior-Based Robotics Stephen Cohorn - Dept. of Math, Physics & Engineering, Tarleton State University Mentor: Dr. Mircea Agapie.
TAL7011 – Lecture 4 UML for Architecture Modeling.
University of Windsor School of Computer Science Topics in Artificial Intelligence Fall 2008 Sept 11, 2008.
DARPA ITO/MARS Project Update Vanderbilt University A Software Architecture and Tools for Autonomous Robots that Learn on Mission K. Kawamura, M. Wilkes,
Software Design: Principles, Process, and Concepts Getting Started with Design.
31 March 2009 MMI OntDev 1 Autonomous Mission Operations for Sensor Webs Al Underbrink, Sentar, Inc.
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.
Child-sized 3D Printed igus Humanoid Open Platform Philipp Allgeuer, Hafez Farazi, Michael Schreiber and Sven Behnke Autonomous Intelligent Systems University.
Advanced LabVIEW Topics Dustin Cruise. Who is this guy? Graduate Student in Mechanical Engineering at Purdue University Specialty Areas: Combustion Control.
Agent Overview. Topics Agent and its characteristics Architectures Agent Management.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
Maestro AI Vision and Design Overview Definitions Maestro: A naïve Sensorimotor Engine prototype. Sensorimotor Engine: Combining sensory and motor functions.
Real-Time Systems Laboratory Seolyoung, Jeong JADE (Java Agent DEvelopment framework )
Towards a High Performance Extensible Grid Architecture Klaus Krauter Muthucumaru Maheswaran {krauter,
Marilyn Wolf1 With contributions from:
Modelling and Solving Configuration Problems on Business
Main issues: • What do we want to build • How do we write this down
Common Design Patterns
Information Collection and Presentation Enriched by Remote Sensor Data
Unified Modeling Language
Behavioral Design Patterns
Fused Angles: A Representation of Body Orientation for Balance
Bioagents and Biorobots David Kadleček, Michal Petrus, Pavel Nahodil
Programming Languages
structures and their relationships." - Linus Torvalds
Subsuption Architecture
Outline Operating System Organization Operating System Examples
Bipedal Walking with Corrective Actions in the Tilt Phase Space
Intelligent Process Automation in Audit
Type Topic in here! Created by Educational Technology Network
Presentation transcript:

Institute for Computer Science VI Autonomous Intelligent Systems Hierarchical and State-based Architectures for Robot Behavior Planning and Control Philipp Allgeuer and Sven Behnke Institute for Computer Science VI Autonomous Intelligent Systems

Motivation What is a behavior? An observable and coordinated pattern of activity of an agent Why do we need behavior control? Complete the required task, artificial intelligence Respond to external stimuli Formalize a plan of actions How can we implement it? Using a modular, efficient library or framework

Behavior Control Framework Approaches State-based Architecture Finite state machine Hierarchical state machine Behavior-based Architecture Subsumption Architecture Agent Network Architecture (ANA) Behavior Languages XABSL, The Behavior Language, Colbert Configuration Description Language State Controller Library Behavior Control Framework

Overview of the Frameworks State Controller Library Behavior Control Framework http://sourceforge.net/projects/statecontroller/ http://sourceforge.net/projects/behaviourcontrol/

State Controller Library (SCL) Platform independent C++ framework Can be used to implement: Finite state machines Hierarchical state machines Multi-action planning generalizations thereof Framework attributes: Small, simple, resource efficient, modular Suitable for small to medium applications Designed with usability in mind

Components of the SCL State Controller Class/object that encapsulates and manages one instance of an entire state machine State A possible state type of the controller (class in C++) State Instance An instance of a State (instance of the C++ class) State Queue An ordered list of desired future state instances

Components of the SCL A state instance may specialize a state with the use of state parameters.

Executing the SCL Timed Loop while(true) { ... SCL->step(); } Qn: Did the current state set the finished flag in the last step? No: Execute the current state again Yes: Deactivate current state Pop the next state from the state queue and set it as the current state Activate the new state Execute the new state

Executing the SCL Callbacks are implemented by each state to perform the required activation, execution and deactivation. States make plans and set their successor state by modifying the state queue and setting the finished flag. Plans can be altered by clearing or modifying the queue. Hierarchical state machines are implemented by nesting state controller objects within each other.

Simple Soccer Goalie Behavior Example of SCL Simple Soccer Goalie Behavior

Behavior Control Framework (BCF) Platform independent C++ framework Can be used to implement: A hierarchical behavior architecture that utilizes the concept of inhibitions to allow for dynamic transitioning between multiple running behaviors Framework attributes: Lightweight, resource efficient, modular Suitable for medium to large applications Designed with usability in mind

Components of the BCF Behavior Manager Class/object that encapsulates and manages one instance of an entire BCF architecture Behavior Layer A bundle of behaviors that can inhibit each other Behavior A class that implements a certain action/ability Actuators and Sensors Internal writers and readers used to share data

Components of the BCF Object hierarchy Data exchange Inhibitions

Behavior Inhibitions Activation levels are returned by each behavior 1.0 0.0 0.7 1.0 0.5 0.7 1.0 0.0 0.7 Transitive Chaining inhibition Non-chaining inhibition Inhibition tree: Behavior 5 Intransitive! Topological ordering: 1 → 2 → 4 → 3 → 5 Inhibition resolution: Activation levels are returned by each behavior Refactored in the topological order to get true activation levels Beh. 1 = 1.0, Beh. 2 = 0.5 True Beh. 2 = (1 – 1.0) × 0.5 = 0.0 Behaviors with non-zero activation level are executed

Actuator Aggregation Partial activation if activation level is between 0 and 1 Multiple writes to an actuator are weighted by the respective true activation levels of the behaviors Behavior 1 Behavior 2 Gait Command 1.0 0.5 GC = 2.0 GC = 5.0 True GC = = 3.0 1.0 + 0.5 1.0 × 2.0 + 0.5 × 5.0

Data Interfaces Communication between layers Write data to virtual actuators Read data from virtual sensors Sensors are statically bound to actuators by name Single sender multiple receiver network of data Only single data copy operation is required Communication to external code Global interface layers (no child behaviors) e.g. Can be used to read/write from ROS topics

Example of BCF Higher Level Behavior Layer Behavior Layer Kick Ball Go Behind Ball Search for Ball Head Control Gaze Target Sample Actuators Gait Command Sample Sensors Vector to Ball Vision Detections Lower Level Behavior Layer

Using the Frameworks Together e.g. Walking Behavior Kicking Behavior Grasping Behavior … BCF SCL

Framework Performance State Controller Library Executing a single state: 43ns / 23.0MHz Always transitioning: 320ns / 3.1MHz Enqueueing 2 items at a time: 292ns / 3.4MHz Enqueueing 5 items at a time: 307ns / 3.3MHz Enqueueing 10 items at a time: 343ns / 2.9MHz Behavior Control Framework Executing 3 layers, 2 behaviors: 282ns / 3.6MHz Tested on a single core of an Intel Xeon X5650 Processor (2.67GHz)

Thank you for your attention! State Controller Library Behavior Control Framework Thank you for your attention! http://sourceforge.net/projects/statecontroller/ http://sourceforge.net/projects/behaviourcontrol/