Formation
Control The modular, hierarchical programs written in CHARON are inherently parallel, both at the agent level and the mode level; to implement this parallelism on our test-bed platform (the ClodBuster robots controlled by radio link from a Windows NT server) we have been investigating the use of "live objects". A live object encapsulates algorithms and data in the usual object-oriented manner together with control of a thread within which the algorithms will execute, and a number of events which allow communication with other live objects. The parallel execution required by CHARON programs is provided by the use of threads, hierarchy by control of the execution of each object's thread, and modularity by the use of standard C++ object-oriented techniques. The live object data structure has been defined, and we are currently incorporating our existing algorithms into this new framework. In the coming months, we are aiming to use combinations of these objects in hierarchies to accomplish basic robotic exploration and localization abilities. It is expected that once a basic set of sensing and control strategies have been implemented as live objects, then combination and re-use of these objects to provide novel functionality should prove straightforward. |