A Formal Model of Computation for Sensory- Based Robotics

flippinjapaneseΤεχνίτη Νοημοσύνη και Ρομποτική

2 Νοε 2013 (πριν από 4 χρόνια και 6 μήνες)

108 εμφανίσεις

A Formal Model of
Computation for Sensory
Based Robotics

Damian M. Lyons

Michael A. Arbib

Presented By: Steven Arnold


Common Approaches to Robot Programming:

General purpose programming languages

Well understood

Large amount of control and data structures


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

Known throughout the paper as Sensorimotor Computation

Robots exhibit a flexible, hierarchical sensorimotor

Flexible meaning that sensors and effectors can be dynamically

Hierarchical meaning that data flows from sensors to control to

Characteristics of the Robot Domain

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

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

Each schema has a behavior description that
defines how the SI will act in response to

The RS (Robot Schema) Model


Control Network


reads joint


takes new position,
passes on to motor


motor controller,
takes input value to move

The RS (Robot Schema) Model

Working with primitive schema only can make
programs extremely complex


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

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


identifies the schema

Input Port List

<Portname, Porttype> pairs for input

Output Port List

<Portname, Porttype> pairs for
output ports

Variable List

<VarName, VarType> pairs for all internal


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


SI reads from it’s input port


SI writes to it’s output port


SI doesn’t read to or write from a port (state
change is caused through communication

The 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 PA’s connected

Definition 6

Network Connection Automaton

Multiple Automaton
connected together

The Formal Definition of RS (cont.)

Definition 7

Assemblage Schema

computing agent whose
behavior is defined as the interaction of a number of
communicating SI’s

Definition 8


Definition 9


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


input is valid, all outputs equal input


input is valid, one output equal to input, all others

The Formal Definition of RS (cont.)

Definition 11

Join Connector

Port automaton with a set of input
ports and one output port


all inputs valid, output is one of the inputs


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


Task Unit Definition

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


Task Unit Definition

Grip = [FTact()(I,r),
tGrip(l,r)(fs), FClose(s)()]


reports contact
on a specific finger pair


controls the
seperation between


characterized by: