Title: A Formal Model of Computation for Sensory-Based Robotics
1A Formal Model of Computation for Sensory-Based
Robotics
- Damian M. Lyons
- Michael A. Arbib
- Presented By Steven Arnold
2Introduction
- 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
3Introduction (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 (SIs)
4Characteristics 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
5Characteristics 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
6The RS (Robot Schema) Model
- Distributed computation based upon nested
networks and schemas - To use the sensorimotor structure SIs
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
7The 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
8The RS (Robot Schema) Model
- Working with primitive schema only can make
programs extremely complex - Solution Assemblage Mechanism
- A group of SIs that look and act (from the
outside) like a single SI - Jmove()(x) Jpos()(x), Jset(x)(u), Jmot(u)()
9The 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 T1T2
10The RS (Robot Schema) Model
- World Preconditions
- Allows for temporal ordering
- Ex Box building
- Base Side1, Side2, Side3, Side4 Top
11The Formal Definition of RS (cont.)
- Definition 1
- The definition of a basic schema
- Name identifies the schema
- Input Port List ltPortname, Porttypegt pairs for
input ports - Output Port List ltPortname, Porttypegt pairs for
output ports - Variable List - ltVarName, VarTypegt pairs for all
internal variables - Behavior program that loops continuously,
reading, writing to ports, instantiate other SIs
12The Formal Definition of RS (cont.)
- Definition 2
- Port Automaton (non instantiated schema)
13The Formal Definition of RS (cont.)
- Definition 3
- There are 3 types of SI transitions
- Read-only SI reads from its input port
- Write-only SI writes to its output port
- Internal SI doesnt read to or write from a
port (state change is caused through
communication
14The Formal Definition of RS (cont.)
- Definition 4
- 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 PAs
connected together - Definition 6
- Network Connection Automaton Multiple Automaton
connected together
15The Formal Definition of RS (cont.)
- Definition 7
- Assemblage Schema computing agent whose
behavior is defined as the interaction of a
number of communicating SIs - Definition 8
- ???
- Definition 9
- Forall given a specific schema, will loop
through all instances of the schema
16The 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
17The 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.
18The Formal Definition of RS (cont.)
- Observation 13
- Using the synchronous communication operations
and the instantiation operation, it is possible
to duplicate asynchronous operations
19Example 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
20Example 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