It's always exciting to see the various ways in which Java
technologies are being used within the world of robotics, and this
year's Conference features SONIA, an autonomous underwater vehicle
(AUV). SONIA, which has embedded computers, as well as sensors and
actuators to take care of underwater tasks, is a robot submarine
programmed to accomplish a series of operations on its own. AUVs are
used in field applications such as underwater mine clearance,
topographic mapping, shipwreck search, and dam and pipeline
inspections, among others.
SONIA was built and programmed entirely by volunteers, undergraduate
students from the ?cole de Technologie Sup?rieure, in Montreal,
Quebec. Funding was minimal, so the team had to be
extra creative in the architecting of this machine. In addition,
because not all the team members live and work in the same area, they
had to set up software systems to keep them in touch with each other
and with SONIA.
You can see SONIA submerged in water, and in action, on the JavaOne
Pavilion floor. The AUV is about the size of a microwave oven, and it
carries a number of sensors and thrusters for underwater movement. Of
course, "her" eyes are in the form of a camera. For navigation, and
to reduce the number of electronic gadgets, the SONIA team merged the
electrical management, compass, gyroscope, pressure, and temperature
sensors into a single navigational board.
But most Conference participants are primarily interested in the
software used to run SONIA, to do test simulations, and to keep the
team posted on any problems she has. The applications used with SONIA
were written in C and C++, but the team has now switched to Java
technology because, team members say, "it is the prime choice for
robotics." Use of Java technologies has improved the team's results.
With the exception of the vision system, every SONIA software
component is developed using Java technology, which provides
portability, efficiency, and a broad selection of open APIs. The team
used open-source development tools and took advantage of the fact
that the Java platform is well-known to undergraduates at the
university.
SONIA's software consists of a control-mission system named AUV4 and
a separate vision subsystem. A series of tools was built around the
main components for convenience and debugging purposes. AUV4 was
designed to be the core system. Additional components include a
telemetry console, a simulator, and a communication service.
For debugging and configuration purposes and for improved
communication between the telemetric interface and AUV4, the SONIA
team implemented a Java Management Extensions (JMX) communications
system. JMX technology provides an API for managing and monitoring
remote applications using a transparent network remote procedure call
(RPC) scheme. This scheme communicates over a standard TCP/IP network
and allows the team to access distant objects as if they were local.
The team monitors the entire system without having to worry about how
data gets transferred. In addition, a telemetric interface was
designed to enable the operator to configure every aspect of AUV4 on
the fly.
Because the SONIA team does not have common access to a swimming
pool, team members had to find another way to test various aspects of
AUV4 without actually submerging it in water. They designed a
simulator that builds an artificial environment, a virtual world of
sorts, using Java 3D technology. This framework simulates the AUV
moving through water and mimics all parts of the electronics.
Lastly, SONIA's client interfaces use Swing and QuickTime for Java
technology.
Near the end of their Wednesday afternoon presentation, Martin
Morissette and F?lix Pageau of the SONIA AUV
team showed a demo that began with some video of SONIA moving through
the water, then showed the simulation program and the client software
with a graph viewer.
Each year, the SONIA team takes part in an international competition.
Over the past years, the team has collaborated with local and
national industrial groups in order to develop new prototypes that
promote the use of their partners' technologies.
In addition, the team incorporates open-source software and tools, a
Subversion or SVN versioning system, Trac for project management and
bug tracking, and a wiki for content management. Some of the team
members working on the development are in locations as distant from
each other as Menlo Park, California; Boston, Massachusetts; and the
Netherlands.
SONIA is on display on the Pavilion floor, so be sure to stop by to
check her out and talk to some of her creators. SONIA AUV team
members Morissette and Pageau will repeat their presentation,
TS-1990, on Friday, May 11, from 2:50 to 3:50 p.m. in Esplanade 305.
For More Information
SONIA Home Page
Real-Time Specification for Java (RTSJ)
Association for Unmanned Vehicle Systems International (AUVSI)
Interview With David Mercier of Project SONIA at the 2007 JavaOne Conference
|