1 / 20

A Formal Model of Computation for Sensory-Based Robotics

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

Télécharger la présentation

A Formal Model of Computation for Sensory-Based Robotics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Formal Model of Computation for Sensory-Based Robotics Damian M. Lyons Michael A. Arbib Presented By: Steven Arnold

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

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

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

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

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

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

  8. 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)()]

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

  10. The RS (Robot Schema) Model • World Preconditions • Allows for temporal ordering • Ex: Box building • Base; [Side1, Side2, Side3, Side4]; Top

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

  12. The Formal Definition of RS (cont.) • Definition 2 • Port Automaton (non instantiated schema)

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

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

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

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

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

  18. The Formal Definition of RS (cont.) • Observation 13 • Using the synchronous communication operations and the instantiation operation, it is possible to duplicate asynchronous operations

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

  20. 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:

More Related