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).
![]()
A
Service Paradigm for Reconfigurable Agents
|
|
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
acquisition of resources from the network
perform computation
release resources back to network
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.
|
Copyright Laboratory for Perceptual
Robotics. |