Field Tested Service Oriented Robotic Ar
Field Tested Service Oriented Robotic Ar
ABSTRACT
In [1] we have shown how SORA has supported a Lu- SORA services encapsulate a set of interconnected
nar analog robotic field test during the summer 2007 classes to offer high level functionalities to the system.
at Haughton Crater, Devon Island (Canada). This first Each service is self contained and is dynamically load-
full deployment of SORA involved two K10 rovers per- able. In addition, a service manages its own control-flow
forming systematic site surveys on a site above the Arc- requirements (message loops, threads etc). A service can
tic circle [10]. Since then, SORA has been used dur- be passive, just waiting for events, or active with one or
ing the summer periods of 2008 at Moses Lake (WA), multiple threads of execution.
2009 at Black Point Lava Flow (AZ) [11] and 2010 at
the Haughton Crater site again [12], as well as in a cou-
ple of small-scale mission experiments conducted at sites 2.1.2. Interfaces
closer to the NASA Ames Research Center. These unique
opportunities allowed IRG to test SORA robustness in
applied scenarios involving full teams depending on the Strongly typed, network transparent interfaces, specified
robotic resource availability (mobility and data gather- with the Interface Definition Language (IDL) [13], allow
ing). Field experiments also put SORA services inter- connecting to the services. Implementation of the inter-
actions (within the robot and to the ground control) in faces in different languages allows heterogeneous sys-
real situations with non homogeneous networks includ- tems to interact. The same control interfaces are accessed
ing satellite links with variable Quality of Service (QoS). using Remote Method Invocation (RMI) for interactions
between services on the robot as well as by applications
running at ground control.
concurrent framework: sensor reading, map building and consumer, that can subscribe to any message type and se-
action selection are asynchronous and the robot drives rialize it to file, including a trace of the request/reply pairs
continuously. New terrain analysis and path evaluation of commands. With the Miro LogPlayer tool, the log files
algorithms were incorporated into the navigation system. created can be replayed at one’s convenience to analyze
This extensive development effort has been transparent to a particular situation. The LogPlayer also permits data to
the many users of the navigator interface. be fed back to the data-bus, where it can be consumed in
the same manner as the original data.
4.2. Rigidity of Data Structures Both those arguments are only partially true. Middle-
ware packages usually have similar foot-print as other
frameworks and libraries that are regularly used in the
The publish-subscribe model of data-distribution is cen-
development of large-scale systems (GUI toolkits, data-
tral to many SORA like distributed systems. Unfor-
bases, JIT-compiler etc). It is difficult to over-come es-
tunately this model violates some of the abstraction
tablished misconceptions regarding the complexity and
concepts of the object-oriented paradigm. The data-
performance of middleware In our experience, the com-
structures used for distributing information through the
plexity of middleware can be managed by a small number
system become the public interface to write applications
of domain experts, though. The other developers then do
against. This is a necessary caveat in a data-centric
not have to be concerned about the details of the distribut-
distributed applications such as robotics, but can affect
edness of their applications.
maintainability and code re-use.
One factor which stays true is, that most middle-
In addition, the data-distribution systems used by SORA ware packages (especially open-source packages like
do not efficiently support type-polymorphism. A data- ACE/TAO) are not trivial to install and to integrate into
bus supporting single-inheritance in the disseminated the build-process. ACE/TAO now provides packages for
data-structures would allow generic data-consumers sub- most Linux distributions, but an installer for Windows is
scribing to a generalized concept (i.e. position), to ig- still missing. Also, the poor readability of the generated
nore the specific sensor information (i.e. additional GPS code also makes it difficult for the non-domain expert to
data fields). However, the CORBA Notification service directly look up the method signatures in the code gener-
as well as DDS only allow retrieval of the payload-type ated by the IDL-compiler.
of an event that was put in on the publisher side.
[2] Amoretti, M. & Reggiani, M. Architectural paradigms for [20] Torres, R., Allan, M., Hirsh, R., & Wallick, M. RAPID:
robotics applications. Advanced Engineering Informatics, Collaboration results from three NASA centers in com-
24(1):4 – 13, 2010. Informatics for cognitive robots. manding/monitoring lunar assets. In Aerospace confer-
ence, 2009 IEEE, pages 1 –11, march 2009.
[3] Object Management Group. Robotic Technology Com-
[21] Pedersen, L., Utz, H., Allan, M., et al. Tele-operated lunar
ponent (RTC). http://www.omg.org/spec/RTC,
rover navigation using LIDAR. In International Sympo-
2012.
sium on Artificial Intelligence, Robotics, and Automation
[4] RoSta. Robot standards and references architectures. in Space (iSAIRAS), 2012.
http://www.robot-standards.org/, 2009.
[22] Nesnas, I., Wright, A., Bajracharya, M., et al. CLARAty:
[5] Orocos. OROCOS: open robot control software. http: An architecture for reusable robotic software. In Proceed-
//www.orocos.org/, 2012. ings SPIE Aerosense Conference, Orlando, Florida, April
[6] Willow Garage. Robot Operating System (RoS). 2003.
http://www.willowgarage.com/pages/ [23] Schmidt, D. C. & Vinoski, S. Programming asynchronous
software/ros-platform, 2012. method invocations with CORBA messaging. C++ Re-
[7] Makarenko, A., Brooks, A., & Kaupp, T. Orca: Compo- port, 11(2), February 1999.
nents for robotics. In 2006 IEEE/RSJ International Con- [24] Schmidt, D. C., Stal, M., Rohnert, H., & Buschmann,
ference on Intelligent Robots and Systems (IROS’06), De- F. Pattern-Oriented Software Architecture: Patterns for
cember 2006. Concurrent and Networked Objects. Wiley & Sons, 2000.
[8] Jackson, J. Microsoft robotics studio: A technical intro- [25] Hirsh, R. L., Simon, C. L., Tyree, K. S., et al. Astronaut
duction. Robotics Automation Magazine, IEEE, 14(4):82 Interface Device (AID). In Proceedings of AIAA Space
–87, December 2007. 2008, San Diego, CA, September 2008. AIAA.