A Formal Model of Computation for Sensory-Based Robotics

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

SOA Modelling By Rajat Goyal.
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Parallel Processing & Parallel Algorithm May 8, 2003 B4 Yuuki Horita.
Signals and Systems March 25, Summary thus far: software engineering Focused on abstraction and modularity in software engineering. Topics: procedures,
Architecture Representation
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Creating Computer Programs lesson 27. This lesson includes the following sections: What is a Computer Program? How Programs Solve Problems Two Approaches:
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Object-Oriented Analysis and Design
L ABORATORY FOR P ERCEPTUAL R OBOTICS U NIVERSITY OF M ASSACHUSETTS A MHERST D EPARTMENT OF C OMPUTER S CIENCE A Relational Representation for Procedural.
An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Presenter : Shih-Tung Huang Tsung-Cheng Lin Kuan-Fu Kuo 2015/6/15 EICE team Model-Level Debugging of Embedded Real-Time Systems Wolfgang Haberl, Markus.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
IBM WebSphere survey Kristian Bisgaard Lassen. University of AarhusIBM WebSphere survey2 Tools  WebSphere Application Server Portal Studio Business Integration.
About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira Funchal Portugal.
Visual Basic Introduction IDS 306 from Shelly, Cashman & Repede Microsoft Visual Basic 5: Complete Concepts and Techniques.
CS 1400 Chapter 1 Introduction and Background
Models of Computation as Program Transformations Chris Chang
Intelligent Agents: an Overview. 2 Definitions Rational behavior: to achieve a goal minimizing the cost and maximizing the satisfaction. Rational agent:
An Introduction to Rational Rose Real-Time
Ch.2 Part A: Requirements, State Charts EECE **** Embedded System Design.
Class, Sequence and UML Model.  Has actors and use cases.
Introduction to Behavior- Based Robotics Based on the book Behavior- Based Robotics by Ronald C. Arkin.
Requirements Analysis
LIGO-G Z 8 June 2001L.S.Finn/LDAS Camp1 How to think about parallel programming.
Formalizing the Asynchronous Evolution of Architecture Patterns Workshop on Self-Organizing Software Architectures (SOAR’09) September 14 th 2009 – Cambrige.
Paper written by Flavio Oquendo Presented by Ernesto Medina.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Lecture 1 Introduction Figures from Lewis, “C# Software Solutions”, Addison Wesley Richard Gesick.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
1 LiSyC ENSIETA/DTN 02/04/2008 AADL execution semantics transformation for formal verification Joel Champeau, Thomas Abdoul, Pierre Yves Pillain, Philippe.
Web Services Flow Language Guoqiang Wang Oct 7, 2002.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Robotics Sharif In the name of Allah. Robotics Sharif Introduction to Robotics o Leila Sharif o o Lecture #2: The.
A Context Model based on Ontological Languages: a Proposal for Information Visualization School of Informatics Castilla-La Mancha University Ramón Hervás.
1 Advanced Behavioral Model Part 1: Processes and Threads Part 2: Time and Space Chapter22~23 Speaker: 陳 奕 全 Real-time and Embedded System Lab 10 Oct.
University of Windsor School of Computer Science Topics in Artificial Intelligence Fall 2008 Sept 11, 2008.
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, University.
Introduction of Intelligent Agents
Instructional Objective  Define an agent  Define an Intelligent agent  Define a Rational agent  Discuss different types of environment  Explain classes.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
Design Patterns Software Engineering CS 561. Last Time Introduced design patterns Abstraction-Occurrence General Hierarchy Player-Role.
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Qusay H. Mahmoud CIS* CIS* Service-Oriented Computing Qusay H. Mahmoud, Ph.D.
Dr. Rebhi S. Baraka Advanced Topics in Information Technology (SICT 4310) Department of Computer Science Faculty of Information Technology.
VHDL Discussion Subprograms IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology 1.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
Bridges To Computing General Information: This document was created for use in the "Bridges to Computing" project of Brooklyn College. You are invited.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Functionality of objects through observation and Interaction Ruzena Bajcsy based on Luca Bogoni’s Ph.D thesis April 2016.
A Framework for Nuclear Software (NuFA)
Lecture 1 Introduction Richard Gesick.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Chapter 11: Collaboration Diagram - PART1
Unified Modeling Language
Model Checking for an Executable Subset of UML
VHDL Discussion Subprograms
VHDL Discussion Subprograms
Paper written by Flavio Oquendo Presented by Ernesto Medina
Subsuption Architecture
Creating Computer Programs
Paper by D.L Parnas And D.P.Siewiorek Prepared by Xi Chen May 16,2003
Introduction to Robotics
Creating Computer Programs
Presentation transcript:

A Formal Model of Computation for Sensory-Based Robotics Damian M. Lyons Michael A. Arbib Presented By: Steven Arnold

Introduction Common Approaches to Robot Programming: General purpose programming languages Well understood Large amount of control and data structures Portable Look at what is unique about robots and develop a model of computation based upon these characteristics This paper takes the latter approach and attempts to develop a formal model of computation for robots that will allow others to later develop a control language

Introduction (cont.) Contents of paper: Key computational characteristics of robots Model construction from characteristics Formal definition of the model Paper introduces the model and does a lot of description about specific ways of describing schema instances (SI’s)

Characteristics of the Robot Domain Robot programs interact with the world Sensory input is linked with knowledge to produce action Known throughout the paper as Sensorimotor Computation Robots exhibit a flexible, hierarchical sensorimotor structure Flexible meaning that sensors and effectors can be dynamically reconfigured Hierarchical meaning that data flows from sensors to control to actuators

Characteristics of the Robot Domain (cont.) Robot programs are defined recursively using a schema or class structure Explained later in examples Robot programs are inherently distributed Because hardware is distributed the software also should be

The RS (Robot Schema) Model Distributed computation based upon nested networks and schemas To use the sensorimotor structure SI’s communicate through ports with each other set up at instantiation using synchronous message passing Each schema has a behavior description that defines how the SI will act in response to communication

The RS (Robot Schema) Model Example – Position Control Network JPos – reads joint position JSet – takes new position, passes on to motor control JMot – motor controller, takes input value to move arm

The RS (Robot Schema) Model Working with primitive schema only can make programs extremely complex Solution – Assemblage Mechanism A group of SI’s that look and act (from the outside) like a single SI Jmove()(x) = [Jpos()(x), Jset(x)(u), Jmot(u)()]

The RS (Robot Schema) Model Task Plans Task plans is a set of instructions necessary to achieve a goal Jmove is a task plan, bolt is not Sequential Actions When one action needs to instantiate after one de-instantiates a semicolon is used T1;T2

The RS (Robot Schema) Model World Preconditions Allows for temporal ordering Ex: Box building Base; [Side1, Side2, Side3, Side4]; Top

The Formal Definition of RS (cont.) The definition of a basic schema Name – identifies the schema Input Port List – <Portname, Porttype> pairs for input ports Output Port List – <Portname, Porttype> pairs for output ports Variable List - <VarName, VarType> pairs for all internal variables Behavior – program that loops continuously, reading, writing to ports, instantiate other SI’s

The Formal Definition of RS (cont.) Port Automaton (non instantiated schema)

The Formal Definition of RS (cont.) There are 3 types of SI transitions Read-only – SI reads from it’s input port Write-only – SI writes to it’s output port Internal – SI doesn’t read to or write from a port (state change is caused through communication

The Formal Definition of RS (cont.) A behavior of the PA is any sequence of reads and writes to a sequence of states Definition 5 Semantic mapping from schema components to PA Port Connection Automaton (PCA) - two PA’s connected together Definition 6 Network Connection Automaton – Multiple Automaton connected together

The Formal Definition of RS (cont.) Assemblage Schema – computing agent whose behavior is defined as the interaction of a number of communicating SI’s Definition 8 ??? Definition 9 Forall – given a specific schema, will loop through all instances of the schema

The Formal Definition of RS (cont.) Split Connector – Port automaton with a set of output ports and one input port (AND) – input is valid, all outputs equal input (OR) – input is valid, one output equal to input, all others invalid

The Formal Definition of RS (cont.) Join Connector – Port automaton with a set of input ports and one output port (AND) – all inputs valid, output is one of the inputs (OR) – one input is valid, output is set to valid input Observation 12 A connection can be constructed between and input port on one SI and output port on another SI such that a read to the input port will always terminate, even if the output port is never written to.

The Formal Definition of RS (cont.) Observation 13 Using the synchronous communication operations and the instantiation operation, it is possible to duplicate asynchronous operations

Example – Task Unit Definition Example Looks at centered grasp problem Center a gripper over an object based on contact feedback from the fingers Problem when fingers need to be moved together in opposing pairs Problem is split into two activities Moving fingers to contact Moving wrist to eliminate conact

Example – Task Unit Definition Example Grip = [FTact()(I,r), tGrip(l,r)(fs), FClose(s)()] FTact – reports contact on a specific finger pair FClose – controls the seperation between fingers tGrip – schema characterized by: