200 likes | 279 Views
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
E N D
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: