I. INTRODUCTION
The University of New Hampshire’s Center for Coastal and Ocean Mapping (CCOM) operates various Autonomous Surface Vehicles (ASVs) used mostly for multibeam mapping surveys. The capabilities and ease of use of the vendor provided software packages varies considerably. In order to provide a consistent and easy to use experience, a common software framework was developed for use as a backseat driver for the center’s fleet. The Robotic Operating System (ROS) was chosen as the middleware layer of the framework. ROS facilitates the message passing between nodes, which may be written in C++ or Python. Nodes and their communication interfaces allow a modular system to be built where pieces can be swapped out and replaced with different implementations, algorithms or capabilities. Coordination between nodes is facilitated by a ROS core. Typically, only one core runs on a robotic system.
II. MISSION PLANNING AND EXECUTION
The main operator user interface is the CCOM Autonomous Mission Planner (CAMP), a QT5 based C++ application. CAMP can display a georeferenced raster image on which mission items can be drawn. A typical back and forth multibeam survey pattern can be specified with 3 click: Two for the corners of the area and a third click to specify orientation as well as line spacing. Keyboard input can be used to fine tune values such as line spacing. Such a pattern can also be clipped by a polygon. The need for this capability became obvious as most survey areas specified are not rectangular. The above described survey patterns can be combined with multi-segment track lines to form complex missions. CAMP also can send missions to the ASV’s backseat driver and monitor the missions’ execution.
III. TELEMETRY OVER UNRELIABLE LINKS
Communication between the operator and the vehicle typically happens over a wireless radio link, such as Wi-Fi or similar long range link. A connection-oriented protocol, such as Transmission Control Protocol (TCP) can be problematic when operating at a range where the connection may come and go. ROS uses TCP for communications between nodes. To sidestep the problems of using TCP over an unreliable network, two ROS cores are used. One core is running on the vehicle and another on the operator station. A bridge, using the connectionless User Datagram Protocol (UDP) was developed to link the two ROS environments in a more robust fashion.
IV. EXTENDABLE FRAMEWORK
In order to support research, the framework supports the testing and incorporation of research ideas which incrementally increase capabilities and autonomy. The framework includes a simulation mode for basic testing. Further testing can occur on smaller battery powered ASVs and finally on our main workhorse: BEN, a diesel powered 4 meter ASV. Following are examples of research projects incorporated into the framework.
A. Chart-based path planning.
An A-star based path planner that helps plan a transit using ENC data from S57 charts.
B. Adaptive line planning.
A system was developed where a survey area is specified as well as a starting line. Following lines are generated based on the sonar coverage achieved on the previous line.
C. Traffic-aware motion planning
A path planner that understands the constraints of multibeam sonar mapping and balances those with collision avoidance with dynamic traffic is being developed.
V. SOFTWARE REPOSITORY
https://github.com/CCOMJHC/project11