A Formal Model of Computation for Sensory Based

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

Introduction n Common Approaches to Robot Programming: n General purpose programming languages n n 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. ) n Contents of paper: n Key computational characteristics of robots n Model construction from characteristics n Formal definition of the model n Paper introduces the model and does a lot of description about specific ways of describing schema instances (SI’s)

Characteristics of the Robot Domain n n Robot programs interact with the world Sensory input is linked with knowledge to produce action n n Known throughout the paper as Sensorimotor Computation Robots exhibit a flexible, hierarchical sensorimotor structure n n 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. ) n Robot programs are defined recursively using a schema or class structure n Explained later in examples n Robot programs are inherently distributed n Because hardware is distributed the software also should be

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

The RS (Robot Schema) Model n Example – Position Control Network n n n 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 n Working with primitive schema only can make programs extremely complex n Solution – Assemblage Mechanism n 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 n Task Plans n Task plans is a set of instructions necessary to achieve a goal n Jmove is a task plan, bolt is not n Sequential Actions n When one action needs to instantiate after one deinstantiates a semicolon is used T 1; T 2

The RS (Robot Schema) Model n World Preconditions Allows for temporal ordering n Ex: Box building n n Base; [Side 1, Side 2, Side 3, Side 4]; Top

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

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

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

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

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

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

The Formal Definition of RS (cont. ) n Definition 11 n Join Connector – Port automaton with a set of input ports and one output port n (AND) – all inputs valid, output is one of the inputs n (OR) – one input is valid, output is set to valid input n Observation 12 n 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. ) n Observation 13 n Using the synchronous communication operations and the instantiation operation, it is possible to duplicate asynchronous operations

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

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