A Formal Model of Computation for Sensory- Based Robotics

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

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

76 εμφανίσεις

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.)


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


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.)


Definition 7


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.)


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: