A Formal Model of Computation for Sensory

A Formal Model of
Computation for SensoryBased 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 deinstantiates 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.)

Definition 1

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.)

Definition 2

Port Automaton (non instantiated schema)
The Formal Definition of RS (cont.)

Definition 3

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.)

Definition 4


Definition 5



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

Network Connection Automaton – Multiple Automaton
connected together
The Formal Definition of RS (cont.)

Definition 7


Definition 8


Assemblage Schema – computing agent whose
behavior is defined as the interaction of a number
of communicating SI’s
???
Definition 9

Forall – given a specific schema, will loop through all
instances of the schema
The Formal Definition of RS (cont.)

Definition 10

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.)

Definition 11

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: