Networks of Distributed Sensory and Motor Services

bullet A Service Paradigm for Reconfigurable Agents

In addition, a virtual sensor can be active; mobile sensors can continuously track the target subject and recondition the sensor geometry as the subject moves through the environment and, if allocated excess resources, a virtual sensor can be robust with respect to unexpected circumstances, multiple viewpoints can be considered to reduce uncertainty, to track through occlusion events, or to respond to generic faults in the system. To realize these goals, we propose a software construct called a Containment Unit (CU).

bullet Software Mode Changes for Continuous Motion Tracking

A CU is a meta-controller that monitors the behavior of a virtual sensor and implements a policy for reconfiguring it if the environmental context changes. The CU uses redundant resources to preserve the expected quality of the resulting observation if possible and if not, signals other CUs that subscribe to that information and depend on its output.


Factored Robot Physiology

Robots perceive and act in their world through their sensory motor apparatus.  These devices are interfaced to a computational resource running an algorithm whose progress is guided by an objective function.  Each sensory motor device is typically tightly coupled to their compute node using custom device access protocols.  Upgrading the sensory motor apparatus means integrating new protocols.  When considering heterogeneous robot teams, managing this swirling mess of protocol soup becomes unwieldy.  If we break apart or factor our robot, add computation to each piece, adopt consistent interfaces for accessing them,  and scatter the components across a network, these robot components become generalized sensory motor services.  With this, the definition of a robot need not respect the boundaries of a physical box.



 

A robotic computation then changes to have three phases

This requires an assembler component which knows the structure of the robotic agent.  All services take the consistent form of a proxy object which either delivers an algorithm's implementation or reaches across the network to a device or service implementation.  Proxy objects hide protocol implementation details and capture device access patterns in the service interface.  With this approach, a robot becomes a virtual assemblage and can recruit arbitrary resources at run time. 


Factored Robot Team Example

 

               

In the example above, a heterogeneous robot team navigates through a doorway.  The first team member is a wheeled platform which exports tracking algorithm, camera and locomotion control services to the network.  The second team member is a quadruped walking platform which exports walking gait control and bump sensor services to the network.  After the wheeled platform has successfully moved through the doorway, the camera-less quadruped walking platform temporarily builds a virtual robot which tracks its own progress in navigating through the doorway so as not to collide with the walls.  With the factored approach, a team is able to accomplish a richer set of tasks.  Fault tolerance in a virtual robot is achieved by recruiting redundant sensory motor resources.  These resources can be swapped in/out of an algorithm based on run time quality metrics.  Additionally, lazy loading of algorithms can be performed to meet fixed computational budgets.


Containment Unit Hierarchies

A containment unit (CU) is a policy for maintaining a property while accomplishing some task.  A CU is parameterized with motor resources through which it makes actions and sensor resources available to interact with its environment.  By nature of its closed loop control structure, a CU is able to suppress disturbances by adjusting its actions in order to maintain its property.  A CU consists of sensory motor resources, memory resources, an objective function and an algorithm.  The sensory motor resources produce reports describing sensory motor events.  These reports, gathered in memory, form the CU's state.  The algorithm has resource requirements necessary for accomplishing a task.  This working set is required by the algorithm at all times in order to function properly.  When parameterized with redundant resources, the containment unit achieves fault-tolerance by changing the algorithm's working set while the algorithm is running.  Such choices are made based on ratings computed for each resource by the objective function.  This results in a flexible policy for achieving a task which may adapt at run-time.

A CU is self-contained in that how its property is maintained is unknown to the application which employs it.  In this sense, a CU is an object oriented construct in that it is a typed structure which encapsulates the details of its task.  A CU may have other CUs in its resource set.  This regular construction gives rise to a CU hierarchy.  When given a set of resources, a CU is free to do with these resources as it sees fit.  This includes initiating a hierarchy by instantiating a child CU with some resource subset.  The structure of a CU hierarchy represents a functional decomposition of the task specified by the CU at the root.  As indicated by a directed edge, information originates from the CU at the outbound end of an arrow and arrives as input to the CU at the inbound end of an arrow.  This information describes events associated with property maintenance.  A hierarchy grounds out with physical sensory motor resources at the leaves.  This hierarchical decomposition specifies a program of behaviors to achieve a task specified at the root.  This architecture has been successfully applied in a number of experiments.
 

UMass Partners | Related Links | Internal Pages (restricted)

Copyright Laboratory for Perceptual Robotics.