You are on page 1of 12

IEEE JOURNAL OF OCEANIC ENGINEERING, VOL. 44, NO.

2, APRIL 2019 331

Obstacle Avoidance Using Multiobjective


Optimization and a Dynamic Obstacle Manager
Michael R. Benjamin , Member, IEEE, Michael Defilippo , Member, IEEE, Paul Robinette, Member, IEEE,
and Michael Novitzky, Member, IEEE

Abstract—This paper describes a set of software modules and


algorithms for obstacle avoidance. The approach described here is
designed to work in conjunction with any path planning method
that generates a viable sequence of waypoints, with obstacle avoid-
ance regarded as a local deviation of the planned path of points.
The helm architecture used here will temporarily spawn a new
obstacle avoidance behavior for each near detected obstacle, and
generate a maneuvering objective function to avoid the obstacle.
Once the vehicle passes the obstacle, the helm deletes the behav-
ior and frees its memory space. The helm, obstacle manager, and
obstacle avoidance behavior are described here. This software ar-
rangement was used by the MIT 2014 RobotX team, and will be
included in the next software release of the open source MOOS-IvP
marine autonomy project.
Index Terms—Autonomous systems, intelligent robots, mobile
agents unmanned autonomous vehicles.

I. INTRODUCTION
N PATH planning, a vehicle for a transit through an obstacle
I field, the obstacles may be regarded as input to the planner.
Often not all the obstacles and their locations are known at the
outset of the mission and are only discovered as the vehicle and
its sensors approach. One approach would be to replan a full
path given the new information. Another approach is to simply
make local repairs to the original path as obstacles and their
locations become known. The latter is the approach taken in
work presented in this paper. Of course, it does not preclude Fig. 1. Robot is proceeding on a path represented by set of waypoints. As
the first approach, but merely gives the autonomy designer a objects come in to the sensor range, an obstacle avoidance behavior is spawned
for each obstacle, resulting in a locally repaired path through the field. The
convenient and scalable way to make minor repairs to a path image shows the 2014 RobotX vehicle proceeding through the obstacle field
plan. This may be appropriate, for example, in a marine vehicle during the final competition. The waypoint path was simply the path through
that comes upon a previously unknown light buoy, lobster buoy, the appropriate pair of starting buoys, continuing through the appropriate pair
of exit buoys. In between, the robot simply dodged obstacles as they became
or other detected near-in hazards while underway. known through LIDAR processing and the obstacle manager.
The architecture used on the marine vehicle reported in this
paper is a behavior-based architecture module called the IvP
Helm. The helm contains behavior modules that work in coor- iors instantiated, one for each obstacle, each influencing a local
dination to control the heading and speed of the vehicle. Obstacle repair to the prevailing mission path if needed. The obstacle
avoidance is comprised of multiple obstacle avoidance behav- avoidance behaviors are spawned as the autonomy system be-
comes aware of their existence and location. And the behaviors
automatically die off and free computational resources as the
Manuscript received April 20, 2018; revised August 21, 2018; accepted Jan-
uary 27, 2019. Date of publication March 8, 2019; date of current version April obstacles fade from the vehicle. This paper will also describe a
12, 2019. This work was supported by the Office of Naval Research, Code 311 set of algorithms implementing an obstacle manager that works
(Dr. B. Kamgar-Parsi and Dr. D. Wagner), on multiobjective optimization under in coordination with the helm to ensure the instantiation and
Grant N00014-15-1-2227. (Corresponding author: Michael R. Benjamin.)
Guest Editor: T. Curtin. later deletion of behaviors corresponding to obstacles.
The authors are with the Department of Mechanical Engineering, Mas- The obstacle avoidance behaviors and obstacle manager de-
sachusetts Institute of Technology, Computer Science and Artificial Intelligence scribed in this paper were deployed by the 2014 MIT/Olin
Lab, Cambridge, MA 02139 USA (e-mail:,mikerb@mit.edu; mikedef@mit.edu;
paulrobi@mit.edu; novitzky@mit.edu). RobotX team in Singapore, shown in Fig. 1. In the final event,
Digital Object Identifier 10.1109/JOE.2019.2896504 our vehicle navigated through the obstacle field, hitting one
0364-9059 © 2019 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.
See http://www.ieee.org/publications standards/publications/rights/index.html for more information.

Authorized licensed use limited to: VIT University. Downloaded on November 26,2020 at 09:53:51 UTC from IEEE Xplore. Restrictions apply.
332 IEEE JOURNAL OF OCEANIC ENGINEERING, VOL. 44, NO. 2, APRIL 2019

buoy. The flaw that contributed to this one collision has been open source project maintained by Oxford [79]. The MOOS-IvP
fixed, and discussed in a later section, and further improvements project is a collection of marine autonomy software applications
to the code have since been added. The algorithms and software using the MOOS architecture, plus the IvP Helm that imple-
described in this paper will be included in the next release of the ments a behavior-based architecture within a single application,
open source MOOS-IvP project [9], planned for Spring 2019. pHelmIvP, [9].
The previous release in July 2017 contains the IvP Helm and MOOS-IvP has two kinds of software modules: MOOS appli-
the general marine autonomy codebase used by our lab since cations and IvP Helm behaviors. This paper describes a single
the 2014 competition. MOOS application, the obstacle manager, and a single behavior,
The obstacle avoidance path planning approach described the avoid obstacle behavior. The MOOS-IvP codebase has been
here will only repair a current waypoint path of longer time deployed on several types of unmanned surface vehicle robots
scale. In this regard, it is similar to path repairing approaches [12], [18], [20], [23], [26], [29], [32], [35], [36], [44], [45],
introduced in early behavior-based architectures, such as [63], [48], [59], [60], [69]–[71], [86], [95], [99], [106], [108], [112],
[96], [100], and [101]. In our case, obstacle avoidance is rec- [119]. It has also been deployed on underwater platforms [1]–
onciled with the original waypoint plan by using multiobjective [6], [10], [11], [13]–[17], [19]–[22], [24], [25], [27], [28], [30],
optimization, not vector summation as in [63], and not with [31], [33], [34], [37]–[43], [45]–[57], [60]–[62], [64], [66]–[68],
action voting as in [101]. The IvP Helm uses a form of multiob- [72]–[78], [80]–[85], [87]–[94], [97], [98], [102]–[105], [107],
jective optimization, the IvP model, that reasons over dependent [109], [110], [113]–[118], [120], [121].
variables and is more efficient than the brute force evaluation of
[96] or [100]. A. IvP Helm As a MOOS Application
The IvP Helm was originally written for the marine robotics
The helm is a MOOS application, technically no different
science community. In this class of applications, it is rare to find
than any other MOOS application. All the information involved
missions where dynamic global path planning through a dense
in vehicle trajectory decisions comes via mail from other MOOS
field of previously unknown obstacles is necessary. In missions
applications. All helm output also is in the form of mail con-
involving broad area search, perhaps lawn mower style patterns
sumed by other applications. This is conveyed in Fig. 2. The
need to account for obstacles or keep out zones. In missions
helm’s first action upon reading mail is to update a local in-
involving transiting between ports, path planning may involve
formation buffer. All behaviors get their information from this
routing around islands, channels, or bridges.
buffer. The mission mode is also set from this buffer and deter-
Dynamic obstacle avoidance is more likely to take the form of
mines which behaviors may be active on the current iteration.
avoiding a channel buoy, bridge pylon, or flotsam while largely
Most (static) behaviors are configured and instantiated at the
adhering to the series of waypoints generated offline or by a
beginning of the mission. Other behaviors may be configured
mission planner. A strategic assumption was made by our team
as templates and are spawned upon sensed events. It is at this
for RobotX 2014 that the obstacle field would not contain dead
stage, upon reading mail and updating the information buffer,
ends, i.e., local minima. Our strategy was to find the start and
that the helm also looks for certain kinds of mail, described later
end gates using our vision and light imaging, detection, and
in Section II-D that may result in the spawning of new behaviors.
ranging (LIDAR) sensors, plot a straight line path through the
Before the end of the helm iterate loop, a behavior has the
field, and use obstacle avoidance where necessary to adjust that
opportunity to declare itself completed. The helm will delete
path to the end gates. Unmanned surface vehicle (USV) global
and free the memory of completed behaviors. The spawning
path planning is not uncommon, typically using an occupancy
and deletion of obstacle avoidance behaviors is one of the focus
grid method as in [65], using an A* path planner guaranteed to
topics of this paper and coordinated via the obstacle manager de-
not produce dead end paths. This type of path planner was also
scribed in Section III, via the standard mechanism for updating
used previously in RobotX in [58] and [111].
and spawning behaviors described in Sections II-C and II-D.

II. HELM ARCHITECTURE B. IvP Helm Decision Space and Objective Functions
The IvP Helm is a single software application running on our The decision space is the set of possible decisions available
marine robotic platform, alongside several other applications. to the helm. It is a configuration parameter, but typically for
It has the distinction of being the application that determines surface vehicles, it is comprised of 360 possible heading values
the sequence of desired headings and speeds that determine the and a dozen or so possible speed choices. The decision variables
path of the robot. Sensor processing, path planning, navigation, are regarded as coupled: choices are made from a single two-
control, data logging, etc., are implemented in separate applica- dimensional space of possible heading and speed pairings, rather
tions. On our robot, each of these applications is implemented than a choice made for speed followed by a choice for heading.
using the MOOS middleware. MOOS is a publish–subscribe Behaviors in the IvP Helm produce objective functions de-
architecture with individual software applications communi- fined over the helm decision space. Each function is piecewise
cating by subscribing for needed information and publishing linearly defined, where each piece represents a locally linear ap-
processed information. A sensor application, for example, may proximation of an underlying utility function. The utility func-
be attached to a LIDAR sensor and publish point cloud infor- tion is unique to each behavior given the state of the vehicle, the
mation. Another application may subscribe to this and pub- sensed environment, and the goal associated with the behavior.
lish labeled clusters representing distinct objects. MOOS is an For example, the objective function on the right in Fig. 3 was

Authorized licensed use limited to: VIT University. Downloaded on November 26,2020 at 09:53:51 UTC from IEEE Xplore. Restrictions apply.
BENJAMIN et al.: OBSTACLE AVOIDANCE USING MULTIOBJECTIVE OPTIMIZATION AND A DYNAMIC OBSTACLE MANAGER 333

Fig. 2. Helm autonomy loop: (1) Mail is read from the MOOSDB. It is parsed and stored in a local buffer available to the behaviors. (2) Vehicle mission mode
is set, determining which behaviors may be active on this iteration. (3) Each behavior is queried for its contribution and may produce an IvP function and a list
of variable-value pairs to be posted to the MOOSDB at the end of the iteration. (4) Objective functions are resolved to produce an action, expressible as a set of
variable-value pairs. (5) All variable-value pairs are published to the MOOSDB for other MOOS processes to consume.

Fig. 3. Two example IvP objective functions: On the left is collision avoidance objective function for avoiding a contact crossing just crossing the port side beam
of the robot. On the right is an objective function for transiting to a waypoint ahead of the robot. In both cases, red indicates a preferable value for a maneuver, and
blue indicates a least preferable value for a maneuver. The blue ship outline in the center of the circle indicates the robot (or ownship) heading relative to a contact
waypoint.

produced by a waypoint behavior proceeding to a point directly The IvP solver embedded in the helm application receives the
ahead of the vehicle. The function on the left was produced by objective function output of behaviors. A behavior developer
collision avoidance behavior for a contact just crossing the port need only ensure that the behavior ultimately produces a syn-
side beam of the robot. Note that the piecewise functions often tactically valid IvP objective function. The MOOS-IvP codebase
are not comprised of uniform sized pieces. Large pieces repre- also contains utility libraries for building syntactically correct
senting plateaus in the utility function may be used as with the piecewise linear IvP functions. The primary focus of the behav-
large two red pieces in the example on the left. These maneuvers ior author is to implement an algorithm to assess the utility of
represent uniform maximum utility for the maneuvers contained any candidate robot maneuver with respect to the behavior goals.
in these pieces. IvP utilities are then utilized in the behavior code to produce a
These functions as referred to as interval programming (IvP) valid IvP function on each helm iteration.
functions. IvP, as a mathematical programming model, is com-
prised of the piecewise linear representation structure and
the solution algorithm that capitalizes on this structure [7]. C. Missions, Behaviors, and Dynamic Updates
For a problem defined over a decision space with n deci- Before vehicle deployment, a mission structure will be writ-
sion variables (x1 , . . . , xn ), and having k objective functions ten in the form of helm behaviors and their configuration. The
f1 (x1 , . . . , xn ), . . . , fk (x1 , . . . , xn ), with k priority weights general mission structure is comprised of a set of mission modes
(w1 , . . . , wk ), the general solution form is given by D and a set of behaviors B

k
x∗ = argmaxx (wi · fi (x)). (1) M = {D, B}. (2)
i=1

Authorized licensed use limited to: VIT University. Downloaded on November 26,2020 at 09:53:51 UTC from IEEE Xplore. Restrictions apply.
334 IEEE JOURNAL OF OCEANIC ENGINEERING, VOL. 44, NO. 2, APRIL 2019

The mode structure is comprised of m unique mission modes = name=object_23 will prompt the helm to spawn a new
and the set of behaviors with n unique behaviors behavior named “avoid_object_23.” Once a behavior has
completed its task, by default it will be deleted and deallocated
D = {d1 , d2 , . . . , dm } (3) by the helm. The obstacle avoidance behavior, for example,
B = {b1 , b2 , . . . , bn }. (4) will complete once the vehicle is beyond a certain range to the
obstacle.
Each mode is defined by a unique name and set of logic condi-
tions, whereas each behavior is defined by a unique name and III. OBSTACLE MANAGER
set of configuration parameters
The obstacle manager is designed to accept LIDAR input rep-
di = {n, c1 , c2 , . . . , cn } (5) resenting sensed in-field objects, and convert a cluster of points
bi = {n, p1 , p2 , . . . , pn }. (6) into a polygon representation of the object. It will then post an
alert to the MOOSDB intended to spawn an obstacle avoidance
Missions constructed in this manner are far from deterministic behavior in the helm, and handle later messages from the helm
since the logic conditions determining the modes are often based when an obstacle has been resolved. These steps are described
on sensed events, and the behaviors themselves alter their output in detail here. The name of this application is pObstacleMgr,
based on sensed events. Furthermore, run-time adaptation is to be included in the next release of MOOS-IvP.
enabled through a special behavior parameter, known as the
updates parameter. Consider a snippet of the following waypoint A. LIDAR Labeled Points as Input
behavior configuration:
The obstacle manager is designed to work with one or more
name = transit_home other applications producing tracked features. These tracked
condition = mode = returning features may be points generates by a LIDAR or some other
pts = 0,0 sensor. The obstacle manager subscribes for the MOOS variable
speed = 2.0
updates = TRANSIT_UPDATES.
TRACKED_FEATURE of the form
TRACKED_FEATURE = x=23.2,y=19.8,label=47
This behavior is designed to be active when the helm is in the TRACKED_FEATURE = x=22.9,y=18.2,label=47.
“returning” mode, to the home point at location (0,0), at
a speed of 2 m/s. However, the updates parameter names a par- It is also assumed that the input will arrive with some grouping
ticular MOOS variable, TRANSIT_UPDATES, through which or clustering algorithm applied to each feature, reflected in the
any of the initial configuration parameters may be changed. A label field in the examples mentioned above. The obstacle
posting, such as TRANSIT_UPDATES=speed=3.0, would manager maintains a database in the form of a mapping keyed
immediately increase the returning speed of the robot. on the obstacle label to a doubly linked list of features. For
The updates parameter allows, for example, an application each obstacle only the N most recent features are held, with new
reasoning about fuel efficiency to change a behavior’s transit features added to one end of the list, and old ones popped off
speed. Or a command-and-control GUI could allow the user to from the other end.
click a point in the operation area to dynamically change the The obstacle manager may be configured to ignore incoming
return waypoint. features beyond a certain range to the robot, and configured to
erase features beyond a (typically larger) range to the robot. This
D. Behavior Spawning and Deallocation helps in ensuring bounded memory growth of the application as
longer missions unfold. Furthermore, the obstacle manager may
A special use of the updates parameter described above is for be configured to only accept features inside a given operation
the dynamic spawning of behaviors at run time. This is a key area. This further aids in bounding computational resources and
to our implementation of obstacle avoidance described in this may be practical in applications such as RobotX where the
paper. A behavior may be configured as a template behavior obstacle field is in a known area.
as the example below, and naming an updates variable. Such
behaviors are not instantiated at startup, but may be spawned B. Creation of Obstacles From Sensor Input
upon sensor events
The obstacle manager maintains a list of points for each dis-
name = avoid tinct cluster, and further maintains a single convex polygon
templating = spawn
updates = AVOID_UPDATES.
representing each cluster. By default, a convex hull polygon of
each cluster is maintained as shown in Fig. 4.
The helm, at each iteration of its autonomy loop, first checks if The convex hull is general and preferred when the object is not
any behavior has received mail, named by their updates param- of a known size or geometry. In certain cases, when information
eter. If so, those updates are applied before further action. If the about the object size is known a priori, the user may configure
updates variable has been written to with the name=value the obstacle manager to associate a polygon of fixed size with
component, but the name does not match the behavior name, each cluster as shown in Fig. 5. In the case of navigating the
the helm will spawn a new behavior if templating is enabled. In obstacle field in the 2014 RobotX competition, where the buoys
the example mentioned above, a posting of AVOID_UPDATES were known to be no more than about 1 m in diameter, the

Authorized licensed use limited to: VIT University. Downloaded on November 26,2020 at 09:53:51 UTC from IEEE Xplore. Restrictions apply.
BENJAMIN et al.: OBSTACLE AVOIDANCE USING MULTIOBJECTIVE OPTIMIZATION AND A DYNAMIC OBSTACLE MANAGER 335

associating points and a polygon for each unique cluster, as de-


scribed above. The obstacle manager maintains a mapping from
each tracked feature key to Boolean values, indicating whether
an alert has been generated, for that key.
As an object comes within the alert range, an obstacle alert
is posted. This posting will spawn a new obstacle avoidance
behavior via the updates parameter discussed in Section II-D.
For example
OBSTACLE_ALERT = name=object_23#
pts={66,-81:69,-84:69,-87:66,
-90:63,-90:60,-87},label=23#
obstacle_key=obstacle_23.

This would result in the spawning of a new obstacle avoidance


behavior in the example of Section II-D.

Fig. 4. Convex hull polygon may be maintained by the obstacle manager for E. Resolution of Alerts
each cluster of tracked features.
The obstacle manager will generate a single alert for each
obstacle, thereafter assuming the entity that needed to know
about the obstacle has been properly notified. The helm may
at some point want to delete the obstacle avoidance behavior
registered for the alert, typically when the obstacle has been
passed and has reached a range where it is no longer a concern.
In this case, it cannot be ruled out that the robot turns and re-
encounters the obstacle. If the obstacle manager believes that the
alert has already been generated, it may not generate a new alert.
For this reason, the behavior will notify the obstacle manager
that the alert has been resolved. This is accomplished by posting
the following message, typically as an end flag of the behavior
upon completion before deletion
OBSTACLE_RESOLVED = object_23.

Fig. 5. Obstacle manager may also maintain a polygon of user configurable The object manager will update its internal table of Boolean
size and geometry, centered on the average of points for a given cluster. values to reflect that this object has been resolved. If it re-
encounters the obstacle later, a new alert will be generated
polygons were set to be hexagons of diameter 1 m. This helped and a similar obstacle avoidance behavior will once again be
avoid problems when sensor outliers resulted in an unnecessarily spawned to handle the obstacle. This ability to automatically
large convex hull polygon, perhaps over constraining the set of delete unused behaviors was not present in the 2014 version of
allowable robot trajectories. the software and the new algorithms allow for a more scalable
implementation as memory and CPU resources are completely
C. Moving Obstacles freed for resolved obstacles.
The obstacle manager was designed to handle stationary ob- F. Obstacle Updates
stacles, such as buoys or bridge pylons. To handle moving obsta-
cles, such as other marine vessels, the IvP Helm uses a similar At run time, the obstacle manager may alter its belief of the
MOOS application called a contact manager and a collision shape or location of an obstacle as new sensor data is processed.
avoidance behavior based on COLREGS protocol [8]. This is If an alert has been posted regarding an obstacle, that alert only
outside the scope of this paper. For drifting obstacles, e.g., a needs to be posted once. But updates to the obstacle shape or
drifting buoy, the obstacle manager described here could be position may need to be continuously posted by the obstacle
used by choosing to configure its clustering algorithm to main- manager, for consumption presumably by a spawned ob-
tain polygon of fixed size as described in Section III-B. This is stacle avoidance behavior. A request may be made to the
preferable to utilizing the convex hull setting that would con- obstacle manager of the form
tinue to grow the obstacle size as the object drifted. OBSTACLE_UPDATE_REQUEST = obstacle_key = <key>,
update_var = MOOSVar.
D. Obstacle and Alert Management
When or if the obstacle manager updates the polygon associ-
The obstacle manager by default will register for all ated with a cluster of points, as described in Section III-B, the
tracked feature publications, and will maintain a data structure obstacle manager will post an updated polygon to the named

Authorized licensed use limited to: VIT University. Downloaded on November 26,2020 at 09:53:51 UTC from IEEE Xplore. Restrictions apply.
336 IEEE JOURNAL OF OCEANIC ENGINEERING, VOL. 44, NO. 2, APRIL 2019

Fig. 6. Obstacle avoidance behavior will grow its own priority weight from zero to the maximum weight based on range to the obstacle. The maximum weight
is a user configuration. The weight is applied to the avoidance objective function and included with other mission objectives to produce a heading-speed decision
based on (1).

MOOS variable. The <key> ensures that the right polygon B. Buffer Obstacle
goes to the right behavior. The buffer obstacle is a convex polygon created by growing
the size of the actual obstacle polygon by an amount specified
IV. OBSTACLE AVOIDANCE BEHAVIOR by the buffer_dist parameter, as shown in Fig. 6. It is used
The obstacle avoidance behavior is instantiated as a single partly because there may be sensor uncertainty in the actual
instance per known obstacle. It works with a convex polygon obstacle size and location and to accommodate inaccuracies in
representation of the obstacle. As it approaches the obstacle, its evaluating maneuvers with a holonomic vehicle model assump-
priority weight ramps up from zero to the maximum configured tion. For the objective function, maneuvers that intersect with
weight at a user-configured range to the obstacle. The behavior the actual obstacle and the buffer obstacle are equally penalized.
regards the obstacle as having a buffer polygon around the actual In practice, as the vehicle approaches the buffer obstacle,
polygon obstacle. The created objective function will penalize it is not uncommon for the vehicle to bump inside the buffer
maneuvers that intersect the buffer polygon. If the vehicle enters obstacle a bit, due to the vehicle’s limited turning ability or
the buffer polygon, the behavior adapts the buffer polygon by external forces, such as wind or current. When this happens,
shrinking to exclude the vehicle. To avoid thrashing, the behav- the behavior automatically adjusts the buffer obstacle to shrink
ior will at some point commit to going around the obstacle on to the point where it once again does not intersect the vehicle.
one side or the other, penalizing maneuvers to the other side. As the vehicle maneuvers the buffer obstacle will automatically
re-grow to its original size (see Fig. 7).
The size of the buffer obstacle is given in meters, with a 0-m
A. Configuration Parameters
value resulting in essentially a buffer obstacle equivalent to the
The behavior may be configured with the following parame- actual obstacle. The value is chosen heuristically and is a balance
ters. between safety and the desire to not artificially overconstraint
1) polygon: A set of vertices comprising a convex polygon. the obstacle field to the point where there are no viable paths
2) priority: A maximum priority weight, when the vehi- remaining. If, for example, the field were twice the area with
cle is within pwt_inner_dist meters. the same obstacles, the size of the buffer obstacle would likely
3) buffer_dist: A nonnegative distance, in meters, from have been set a bit bigger.
which to make a buffer polygon around the actual obstacle
(see Fig. 6). C. Obstacle Avoidance Objective Function
4) pwt_inner_dist: A range to the obstacle, in meters,
within which the behavior will have maximum priority The obstacle avoidance IvP function, defined over all possible
weight. robot heading and speed choices, (θ, v), is formed as a piecewise
5) pwt_outer_dist: A range to the obstacle, in me- linear approximation of the following function:

ters, beyond which the behavior will have a zero priority ⎪ 100 g(xos , yos , θ, P )


weight.
6) obstacle_key: A unique key identifying this particu- f (θ, v) = 100 h(xos , yos , v, θ, P ) < tttc (7)


lar behavior with a particular obstacle. ⎩
0 otherwise.
7) allowable_ttc: The number of seconds beyond
which a maneuver that steers the robot on a collision The function g(xos , yos , θ, P ) returns a Boolean value true if a
course to an obstacle is acceptable. ray originating at the robot current position of xos , yos , in the
The priority of the behavior ramps up linearly from zero, at direction of the robot heading given by θ, does not intersect
the range specified by pwt_outer_dist, up to the maximum the convex polygon P . The function h(xos , yos , v, θ, P ) returns
priority weight given by the priority parameter, at a distance the number of seconds that a robot, at the current position of
of pwt_inner_dist meters. xos , yos , traveling in the robot heading given by θ, at speed v, will

Authorized licensed use limited to: VIT University. Downloaded on November 26,2020 at 09:53:51 UTC from IEEE Xplore. Restrictions apply.
BENJAMIN et al.: OBSTACLE AVOIDANCE USING MULTIOBJECTIVE OPTIMIZATION AND A DYNAMIC OBSTACLE MANAGER 337

Fig. 7. Buffer obstacle may dynamically and temporarily shrink if the robot position intrudes, shrinking until the robot is no longer inside. As the robot opens
range, the buffer obstacle will be regrown back to its original size.

Fig. 8. Obstacle avoidance objective function, lower left, is combined with the waypoint objective function, upper right, to generate a collective objective
function, bottom right, guiding the robot past the obstacle to its destination. In all three objective functions, red indicates the most preferable value for a maneuver,
and blue indicates the least preferable value for a maneuver. In this case, the vehicle is maneuvering to a waypoint directly East of the vehicle in the first frame.

intersect the convex polygon P . If the robot does not intersect RobotX competition (Fig. 9). In 2014, our robot managed to
the polygon on this trajectory, this function returns value of navigate the obstacle course with mixed success, having run
−1. The term tttc , time to collision, is a configuration parameter over one of the buoys while otherwise operating without inci-
given in seconds. The corresponding IvP function, in an example dent. The LIDAR processing and clustering algorithms worked
context, is shown in Fig. 8. In this case, the objective function as intended and dealt with robot pitch and roll very well, and
also shows a commitment to pass to the right of the obstacle. generated a negligible amount of false positives. None of the
false LIDAR points rose to the level of spawning an unnec-
essary obstacle avoidance behavior. However, in practice, the
V. EXPERIMENTAL RESULTS
robot saw many more real obstacles during the entire course
The algorithms and modules described in this paper are de- than tested for in simulation. In the 2014 competition, the pro-
rived from, and improved from, the code base used in the 2014 cess handling raw LIDAR points also used a buffer that became

Authorized licensed use limited to: VIT University. Downloaded on November 26,2020 at 09:53:51 UTC from IEEE Xplore. Restrictions apply.
338 IEEE JOURNAL OF OCEANIC ENGINEERING, VOL. 44, NO. 2, APRIL 2019

Fig. 9. 2014 RobotX competition: The robot processed LIDAR data and clustered the points to produce polygon representations of obstacles. In the 2014
competition, the robot ran over one obstacle due to a latency in the processing chain that grew as the number of obstacles grew. That issue has been addressed in
the current version of the software.

Fig. 10. Our current simulation environment artificially generates clustered LIDAR points, rendered by the yellow dots. These are handled by the obstacle
manager to generate polygon representations of the obstacles, rendered in blue here.

overloaded with time, introducing a growing latency as the com- experience in the 2014 competition. Furthermore, logic is be-
petition progressed. This was exacerbated by the robot handling ing added to the obstacle manager to work with an optional
LIDAR data during the rather long idle time on the water before user-configured operation area, outside of which sensor data are
approaching the starting line. The inability to “forget” obstacles ignored.
introduced a further latency in the obstacle manager as the mis- Our current off-water test environment simulates LIDAR de-
sion progressed. For the one obstacle that we hit during our final tected objects by generating uniformly random LIDAR points
run, a suitable obstacle avoidance behavior was spawned in the in selected small xy regions of the operation area. The obsta-
helm almost 2 s after driving over the obstacle. cle manager ingests these as tracked features as described in
The latter issue has been addressed in the current version of Section III, generating polygon representations of the simulated
the obstacle manager. The current form of the obstacle man- obstacle. This is shown in Fig. 10.
ager has the ability to drop obstacles from its memory based The next release of MOOS-IvP software will also contain
on range to the robot. This has eliminated the latency issue missions for simulating and testing the obstacle avoidance

Authorized licensed use limited to: VIT University. Downloaded on November 26,2020 at 09:53:51 UTC from IEEE Xplore. Restrictions apply.
BENJAMIN et al.: OBSTACLE AVOIDANCE USING MULTIOBJECTIVE OPTIMIZATION AND A DYNAMIC OBSTACLE MANAGER 339

Fig. 11. alpha mission distributed with the MOOS-IvP software has been augmented here to include randomly generated obstacles, to verify the functionality
of the obstacle manager and the obstacle avoidance behavior.

behavior. The mission shown in Fig. 11 is from one such exam- [5] R. Been, D. T. Hughes, and A. Vermeij, “Heterogeneous underwater
ple mission with randomly generated obstacles. networks for ASW: Technology and techniques,” NATO Undersea Res.
Centre, La Spezia, Italy, NURC Rep. NURC-PR-2008-001, Jun. 2008.
Ongoing work includes the development of test harnesses [6] M. Benjamin, D. Battle, D. Eickstedt, H. Schmidt, and A. Balasuriya,
to automatically generate a large variety of transit and obstacle “Autonomous control of an autonomous underwater vehicle towing a
avoidance missions, with tools to automatically detect and report vector sensor array,” in Proc. Int. Conf. Robot. Autom., Rome, Italy,
Apr. 2007, pp. 4562–4569.
any obstacle collisions. [7] M. R. Benjamin, “The interval programming model for multi-objective
decision making,” Comput. Sci. Artif. Intell. Lab., Massachusetts Inst.
VI. CONCLUSION AND ONGOING EFFORTS Technol., Cambridge, MA, USA, Tech. Rep. AIM-2004-021, Sep. 2004.
[8] M. R. Benjamin, “Autonomous COLREGS modes and velocity func-
This paper presents two software modules, an obstacle man- tions,” Comput. Sci. Artif. Intell. Lab., Massachusetts Inst. Tech-
nol., Cambridge, MA, USA, Tech. Rep. MIT-CSAIL-TR-2017-009,
ager MOOS application, and an obstacle avoidance behavior May 2017.
in the IvP Helm architecture. This behavior works in conjunc- [9] M. R. Benjamin, H. Schmidt, and J. J. Leonard, “The MOOS-
tion with other marine mission behaviors by producing a robot IvP Open Source Marine Autonomy Project.” Online. Available:
http://www.moos-ivp.org
obstacle avoidance objective function and the use of multiob- [10] P. Braca, R. Goldhahn, G. Ferri, and K. D. LePage, “Distributed informa-
jective optimization in the helm. The separate implementation tion fusion in multistatic sensor networks for underwater surveillance,”
of the two modules allows independent development and their IEEE Sensors J., vol. 16, no. 11, pp. 4003–4014, Jun. 2015.
[11] P. Braca, P. Willett, K. D. LePage, S. Marano, and V. Matta, “Bayesian
use with other similar modules as they evolve. tracking in underwater wireless sensor networks with port-starboard am-
Both of these modules were used, in beta form, during the biguity,” IEEE Trans. Signal Process., vol. 62, no. 7, pp. 1864–1878,
2014 RobotX competition. Each had known flaws in their beta Apr. 2014.
[12] J. Brunstein, “Robo-boats are setting sail in Boston,” Bloomberg Tech-
versions that have been fixed and improved in the versions de- nol., Sep. 2017.
scribed here. Both will be available in the next public release of [13] R. Calinescu, S. Gerasimou, and A. Banks, “Self-adaptive software with
the MOOS-IvP software expected in the Spring of 2019. decentralised control loops,” in Proc. Int. Conf. Fundam. Approaches
Softw. Eng., 2015, pp. 235–251.
[14] S. Cao, H. Xu, Q. Jia, and G. Chen, “Design of portable AUV remote
REFERENCES control device based on MOOS-IvP,” in Proc. IEEE Int. Conf. Cyber
Technol. Autom., Control, Intell. Syst., Jun. 2016, pp. 25–28.
[1] A. D. Anderson, “The effect of towed array orientation on the 3D acous- [15] M. Y. Cheung, “Autonomous adaptive acoustic relay positioning,” M.S.
tic picture for sound sources and the vertical ambient noise profile,” thesis, Dept. Mech. Eng.Massachusetts Inst. Technol., Cambridge, MA,
Ph.D. dissertation, Dept. Mech. Eng., Massachusetts Inst. Technol., USA, 2013.
Cambridge, MA, USA, 2015. [16] M. Y. Cheung, J. Leighton, and F. S. Hover, “Decentralized multi-
[2] A. Bahr, “Cooperative localization for autonomous underwater vehicles,” vehicle dynamic pursuit using acoustic TDOA measurements,” in Proc.
Ph.D. dissertation, Dept. Mech. Eng., Massachusetts Inst. Technol., Cam- IEEE/RSJ Int. Conf. Intell. Robots Syst., 2015, pp. 4858–4863.
bridge, MA, USA, 2009. [17] H.-T. Choi and J. Sur, “Issues in software architectures for intelligent
[3] B. Bayat, A. Crespi, and A. Ijspeert, “Envirobot: A bio-inspired envi- underwater robots,” in Robot Intelligence Technology and Applications
ronmental monitoring platform,” in Proc. IEEE/OES Auton. Underwater 2. New York, NY, USA: Springer, 2014, pp. 831–839.
Veh., Nov. 2016, pp. 381–386. [18] D. L. Codiga, “A marine autonomous surface craft for long-duration,
[4] M. J. Bays, “Stochastic motion planning for applications in subsea survey spatially explicit, multidisciplinary water column sampling in coastal and
and area protection,” Ph.D. dissertation, Mech. Eng., Virginia Polytech. estuarine systems,” J. Atmos. Ocean. Technol., vol. 32, no. 3, pp. 627–
Inst. State Univ., Blacksburg, VA, USA, 2012. 641, 2015.

Authorized licensed use limited to: VIT University. Downloaded on November 26,2020 at 09:53:51 UTC from IEEE Xplore. Restrictions apply.
340 IEEE JOURNAL OF OCEANIC ENGINEERING, VOL. 44, NO. 2, APRIL 2019

[19] S. A. Danesh, “Real time active sonar simulation in a deep ocean envi- [42] C. Francolin, A. V. Rao, C. Duarte, and G. Martel, “Optimal control of
ronment,” M.S. thesis, Dept. Mech. Eng., Massachusetts Inst. Technol., an autonomous surface vehicle to improve connectivity in an underwa-
Cambridge, MA, USA, 2013. ter vehicle network,” J. Aerosp. Comput., Inf., Commun., vol. 9, no. 1,
[20] J. B. de Sousa et al., “Rapid Environmental Picture Atlantic Exercise pp. 1–13, 2012.
2015: A field report,” in Proc. MTS/IEEE OCEANS Conf., Monterey, [43] J. Frenzel, K. R. Fazzari, and D. B. Edwards, “Sharing clear-
CA, USA, 2016, pp. 1–6. ance data between multiple autonomous platforms,” in Proc.
[21] J. DeArruda, “OceanServer Iver2 autonomous underwater vehicle remote 16th Int. Symp. Unmanned Untethered Submersible Tech., 2009,
helm functionality,” in Proc. MTS/IEEE OCEANS Conf., Seattle, WA, pp. 374–381.
USA, Sep. 2010, pp. 1–5. [44] J. Gerlach, “Autonomous data collection techniques for approximating
[22] K. D. DeMedeiros, C. Duarte, and R. Balasubramanian, “Refueling marine vehicle kinematics,” Master’s thesis, Dept. Mech. Eng., Mas-
strategies for a team of cooperating AUVs,” Univ. Massachusetts Dart- sachusetts Inst. Technol., Cambridge, MA, USA, 2015.
mouth, Dartmouth, MA, USA, Tech. Rep., 2011. [45] E. Gilbertson, B. L. Reed, J. Leighton, M. Y. Cheung, and F. S. Hover,
[23] V. Djapic and D. Nad, “Command filtered backstepping design in MOOS- “Experiments in dynamic control of autonomous marine vehicles us-
IvP helm framework for trajectory tracking of USVs,” in Proc. Amer. ing acoustic modems,” in Proc. IEEE Int. Conf. Robot. Autom., 2013,
Control Conf., 2010, pp. 5997–6003. pp. 5131–5137.
[24] V. Djapic and D. Nad, “Using collaborative autonomous vehicles in [46] M. Hamilton, S. Kemna, and D. Hughes, “Antisubmarine war-
mine countermeasures,” in Proc. IEEE OCEANS Conf., Sydney, NSW, fare applications for autonomous underwater vehicles: the GLINT09
Australia, 2010, pp. 1–7. sea trial results,” J. Field Robot., vol. 27, no. 6, pp. 890–902,
[25] V. Djapic et al., “Novel method for underwater navigation aiding using a 2010.
companion underwater robot as a guiding platforms,” in Proc. MTS/IEEE [47] E. H. Henriksen, I. Schjlberg, and T. B. Gjersvik, “UW MORSE: The
OCEANS Conf., Bergen, Norway, Jun. 2013, pp. 1–10. underwater modular open robot simulation engine,” in Proc. IEEE/OES
[26] L. Dong, S. Jia, H. Xu, and W. Yi, “A design of control system for fixed Auton. Underwater Veh., Nov. 2016, pp. 261–267.
double propellant unmanned surface vehicle based on MOOS-IvP,” in [48] J. Hudson and M. L. Seto, “Underway path-planning for an unmanned
Proc. 2nd Asia-Pac. Conf. Intell. Robot Syst., Jun. 2017, pp. 146–150. surface vehicle performing cooperative navigation for UUVs at varying
[27] D. P. Eickstedt, M. R. Benjamin, J. P. Iannello, H. Schmidt, and J. depths,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., Sep. 2014,
J. Leonard, “Adaptive tracking of underwater targets with autonomous pp. 2298–2305.
sensor networks,” J. Underwater Acoust., vol. 56, pp. 465–495, 2006. [49] J. Hudson, “Adaptive path planning for an autonomous marine vehicle
[28] D. P. Eickstedt, “Adaptive sampling in autonomous marine sensor net- performing cooperative navigation for autonomous underwater vehicle,”
works,” Ph.D. dissertation, Dept. Mech. Eng., Massachusetts Inst. Tech- M.S. thesis, Dept. Mech. Eng., Dalhousie Univ., Halifax, NS, Canada,
nol., Cambridge, MA, USA, Woods Hole Oceanogr. Inst., Woods Hole, 2012.
MA, USA, 2006. [50] D. Hughes, F. Baralli, S. Kemna, M. Hamilton, and A. Vermeij, “Col-
[29] M. F. Fallon, G. Papadopoulos, and J. J. Leonard, “A measurement laborative multistatic ASW using AUVs: Demonstrating necessary tech-
distribution framework for cooperative navigation using multiple AUVs,” nologies,” NATO Undersea Res. Centre, La Spezia, Italy, NURC Rep.
in Proc. IEEE Int. Conf. Robot. Autom., 2010, pp. 4256–4263. NURC-PR-2009-007, 2009.
[30] S. Fan, C. Liu, B. Li, Y. Xu, and W. Xu, “AUV docking based on [51] D. T. Hughes, S. Kemna, M. Hamilton, and R. Been, “Sensible behaviour
USBL navigation and vision guidance,” J. Mar. Sci. Technol., pp. 1–13, strategies for AUVs in ASW scenarios,” in Proc. MTS/IEEE OCEANS
Aug. 2018. Conf., Sydney, NSW, Australia, May 2010, pp. 1–7.
[31] G. Ferri, A. Munaf, and K. D. LePage, “An autonomous underwater [52] T. Huntsberger et al., “Intelligent autonomy for unmanned sea surface
vehicle data-driven control strategy for target tracking,” IEEE J. Ocean. and underwater vehicles,” in Proc. AUVSI North Amer. Unmanned Veh.
Eng., vol. 43, no. 2, pp. 323–343, Apr. 2018. Conf., 2008, pp. 943–957.
[32] G. Ferri and V. Djapic, “Adaptive mission planning for cooperative au- [53] M. L. Incze, S. R. Sideleau, C. Gagner, and C. A. Pippin, “Commu-
tonomous maritime vehicles,” in Proc. IEEE Int. Conf. Robot. Autom., nication and collaboration of heterogeneous unmanned systems using
2013, pp. 5586–5592. the joint architecture for unmanned systems (JAUS) standards,” in Proc.
[33] G. Ferri, A. Munaf, J. Alves, and K. LePage, “A data-driven control MTS/IEEE OCEANS Conf., Genova, Italy, 2015, pp. 1–6.
strategy in synergy with continuous active sonar for littoral underwater [54] Q. Jia, H. Xu, and G. Chen, “The development of a MOOS-IvP-based
surveillance,” in Proc. MTS/IEEE OCEANS Conf., Monterey, CA, USA, control system for a small autonomous underwater vehicle,” in Proc.
Sep. 2016, pp. 1–7. OCEANS Conf., Shanghai, China, Apr. 2016, pp. 1–5.
[34] G. Ferri, A. Munaf, R. G., and K. LePage, “Results from COLLAB13 [55] D. Jiang, Y. Pang, and Z. Qin, “Application of MOOS-IvP architecture
sea trial on tracking underwater targets with AUVs in bistatic sonar in multiple autonomous underwater vehicle cooperation,” in Proc. Chin.
scenarios,” in Proc. OCEANS Conf., St. John’s, NL, Canada, Sep. 2014, Control Decis. Conf., 2010, pp. 1802–1807.
pp. 1–9. [56] D. Jiang, Y. Pang, and Z. Qin, “Coordinated control of multiple au-
[35] M. A. Filimon, “Site planning and on-board collision avoidance software tonomous underwater vehicle system,” in Proc. 8th World Congr. Intell.
to optimize autonomous surface craft surveys,” M.S. thesis, Ocean Eng., Control Autom., Jul. 2010, pp. 4901–4906.
Univ. Rhode Island, Kingston, RI, USA, 2013. [57] D. Jiang, Y. Pang, and Z. Qin, “Coordination of multiple AUVs based on
[36] M. A. Filimon and D. L. Codiga, “MOOS-IvP helm based simula- MOOS-IvP,” in Proc. IEEE ICCA, Jun. 2010, pp. 370–375.
tions of collision avoidance by an autonomous surface craft perform- [58] M. Kang et al., “Development of USV autonomy for the 2014 maritime
ing repeat-transect oceanographic surveys,” MOOS Developers Appl. RobotX challenge,” IFAC-PapersOnLine, vol. 48, no. 16, pp. 13–18,
Working Group, Cambridge, MA, USA, Jul. 2013. 2015.
[37] E. M. Fischell, S. Petillo, T. Howe, and H. Schmidt, “Mapping bistatic [59] S. Kemna, D. A. Caron, and G. S. Sukhatme, “Constraint-induced forma-
scattering from spherical and cylindrical targets using an autonomous tion switching for adaptive environmental sampling,” in Proc. MTS/IEEE
underwater vehicle in BAYEX’14 experiment,” J. Acoust. Soc. Amer., OCEANS Conf., Genova, Italy, 2015, pp. 1–7.
vol. 136, no. 4, pp. 2110–2110, 2014. [60] S. Kemna, D. A. Caron, and G. S. Sukhatme, “Adaptive informative
[38] E. M. Fischell and H. Schmidt, “Classification of underwater targets sampling with autonomous underwater vehicles: Acoustic versus surface
from autonomous underwater vehicle sampled bistatic acoustic scat- communications,” in Proc. MTS/IEEE OCEANS Conf., Monterey, CA,
tered fields,” J. Acoust. Soc. Amer., vol. 138, no. 6, pp. 3773–3784, USA, 2016, pp. 1–8.
2015. [61] S. Kemna, M. J. Hamilton, D. T. Hughes, and K. D. LePage, “Adaptive
[39] E. M. Fischell and H. Schmidt, “AUV behaviors for collection of bistatic autonomous underwater vehicles for littoral surveillance,” Intell. Serv.
and multistatic acoustic scattering data from seabed targets,” in Proc. Robot., vol. 4, no. 4, pp. 245–258, 2011.
IEEE Int. Conf. Robot. Autom., May 2016, pp. 2645–2650. [62] S. Kemna, J. G. Rogers, C. Nieto-Granda, S. Young, and G. S. Sukhatme,
[40] E. M. Fischell and H. Schmidt, “Supervised machine learning for esti- “Multi-robot coordination through dynamic Voronoi partitioning for
mation of target aspect angle from bistatic acoustic scattering,” IEEE J. informative adaptive sampling in communication-constrained environ-
Ocean. Eng., vol. 42, no. 4, pp. 759–769, Oct. 2017. ments,” in Proc. IEEE Int. Conf. Robot. Autom., May 2017, pp. 2124–
[41] E. M. Fischell, “Characterization of underwater target geometry from 2130.
autonomous underwater vehicle sampling of bistatic acoustic scattered [63] O. Khatib, “Real-time obstacle avoidance for manipulators and mobile
fields,” Ph.D. dissertation, Dept. Mech. Eng., Massachusetts Inst. Tech- robots,” in Proc. IEEE Int. Conf. Robot. Autom., St. Louis, MO, USA,
nol., Cambridge, MA, USA, 2015. Mar. 1985, pp. 500–505.

Authorized licensed use limited to: VIT University. Downloaded on November 26,2020 at 09:53:51 UTC from IEEE Xplore. Restrictions apply.
BENJAMIN et al.: OBSTACLE AVOIDANCE USING MULTIOBJECTIVE OPTIMIZATION AND A DYNAMIC OBSTACLE MANAGER 341

[64] J. Kim and D. Lee, “The effectiveness of MOOS-IvP based design of con- [86] T. Pastore and V. Djapic, “Improving autonomy and control of au-
trol system for unmanned underwater vehicles TT,” IEMEK J. Embedded tonomous surface vehicles in port protection and mine countermeasure
Syst. Appl., vol. 9, pp. 157–163, 2014. scenarios,” J. Field Robot., vol. 27, no. 6, pp. 903–914, 2010.
[65] J. Larson, M. Bruch, and J. Ebken, “Autonomous navigation and obstacle [87] L. Paull, “Robust online adaptive sensor-driven survey planning for sin-
avoidance for unmanned surface vehicles,” in Proc. SPIE, Jun. 2006, gle and multiple autonomous underwater vehicles,” Ph.D. dissertation,
vol. 6230, Paper 623007. Elect. Comput. Eng., Univ. New Brunswick, Fredericton, NB, Canada,
[66] B. Li, Y. Xu, C. Liu, S. Fan, and W. Xu, “Terminal navigation and control 2014.
for docking an underactuated autonomous underwater vehicle,” in Proc. [88] L. Paull, G. Huang, M. Seto, and J. J. Leonard, “Communication-
IEEE Int. Conf. Cyber Technol. Autom., Control, Intell. Syst., Jun. 2015, constrained multi-AUV cooperative SLAM,” in Proc. IEEE Int. Conf.
pp. 25–30. Robot. Autom., 2015, pp. 509–516.
[67] H. Liu, T. Yang, and J. Wang, “Model checking for the fault tolerance [89] L. Paull, S. Saeedi, M. Seto, and Howard Li, A Multi-agent Framework
of collaborative AUVs,” in Proc. IEEE 17th Int. Symp. High Assur. Syst. With MOOS-IvP for Autonomous Underwater Vehicles With Sidescan
Eng., Jan. 2016, pp. 244–245. Sonar Sensors. Berlin, Germany: Springer, 2011, pp. 41–50.
[68] R. Mabry, J. Ardonne, J. N. Weaver, D. Lucas, and M. J. Bays, “Maritime [90] L. Paull, M. Seto, and J. J. Leonard, “Decentralized cooperative trajectory
autonomy in a box: Building a quickly-deployable autonomy solution estimation for autonomous underwater vehicles,” in Proc. IEEE/RSJ Int.
using the docker container environment,” in Proc. MTS/IEEE OCEANS Conf. Intell. Robots Syst., 2014, pp. 184–191.
Conf., Monterey, CA, USA, Sep. 2016, pp. 1–6. [91] S. Petillo and H. Schmidt, “Exploiting adaptive and collaborative AUV
[69] D. Manda, M.-W. Thein, and A. Armstrong, “Depth adaptive hydro- autonomy for detection and characterization of internal waves,” IEEE J.
graphic survey behavior for autonomous surface vessels,” in Proc. Ocean. Eng., vol. 39, no. 1, pp. 150–164, Jan. 2014.
MTS/IEEE OCEANS Conf., Washington, DC, USA, 2015, pp. 1–7. [92] S. Petillo, H. Schmidt, and A. Balasuriya, “Constructing a distributed
[70] D. I. Mattos, D. S. dos Santos, and C. L. Nascimento, “Development of AUV network for underwater plume-tracking operations,” Int. J. Distrib.
a low-cost autonomous surface vehicle using MOOS-IvP,” in Proc. Ann. Sensor Netw., vol. 8, no. 1, pp. 191–235, Dec. 2011.
IEEE Syst. Conf., Apr. 2016, pp. 1–6. [93] S. Petillo, H. Schmidt, P. Lermusiaux, D. Yoerger, and A. Balasuriya,
[71] J. McMahon and E. Plaku, “Autonomous underwater vehicle mine coun- “Autonomous & adaptive oceanographic front tracking on board au-
termeasures mission planning via the physical traveling salesman prob- tonomous underwater vehicles,” in Proc. OCEANS Conf., Genova, Italy,
lem,” in Proc. MTS/IEEE OCEANS Conf., Washington, DC, USA, 2015, 2015, pp. 1–10.
pp. 1–5. [94] S. M. Petillo, “Autonomous & adaptive oceanographic feature tracking
[72] J. McMahon and E. Plaku, “Autonomous data collection with limited on board autonomous underwater vehicles,” Ph.D. dissertation, Dept.
time for underwater vehicles,” IEEE Robot. Autom. Lett., vol. 2, no. 1, Mech. Eng., Massachusetts Inst. Technology, Cambridge, MA, USA,
pp. 112–119, Jan. 2017. Woods Hole Oceanogr. Inst., Woods Hole, MA, USA, Tech. Rep.,
[73] J. McMahon and E. Plaku, “Mission and motion planning for autonomous Feb. 2015.
underwater vehicles operating in spatially and temporally complex en- [95] R. Petroccia, G. Cario, M. Lupia, V. Djapic, and C. Petrioli, “First in-field
vironments,” IEEE J. Ocean. Eng., vol. 41, no. 4, pp. 893–912, Oct. experiments with a bilingual underwater acoustic modem supporting the
2016. Janus standard,” in Proc. OCEANS Conf., Genova, Italy, 2015, pp. 1–7.
[74] C. Moore and P. McKibbin, “Artemis AUV payload development,” in [96] P. Pirjanian, “Multiple objective action selection and behavior fusion,”
Proc. MTS/IEEE OCEANS Conf., Washington, DC, USA, Oct. 2015, Ph.D. dissertation, Dept. Electron. Syst., Aalborg University, Aalborg,
pp. 1–3. Denmark, 1998.
[75] B. Morton, T. Soule, A. Kanago, J. Frenzel, and D. Edwards, “Order- [97] E. Plaku and J. McMahon, “Combined mission and motion planning to
ing autonomous underwater vehicle inspection locations with a genetic enhance autonomy of underwater vehicles operating in the littoral zone,”
algorithm,” in Proc. OCEANS Conf., 2010, pp. 1–6. in Proc. Workshop Combining Task Motion Planning IEEE Int. Conf.
[76] A. Munaf et al., “Enhancing AUV localization using underwater acous- Robot. Autom., 2013, pp. 17–22.
tic sensor networks: Results in long baseline navigation from the COL- [98] B. Louis-Kiguchi Reed, “Controller design for underwater vehicle sys-
LAB13 sea trial,” in Proc. OCEANS Conf., St. John’s, NL, Canada, tems with communication constraints,” Ph.D. dissertation, Dept. Mech.
Sep. 2014, pp. 1–7. Eng., Massachusetts Inst. Technol., Cambridge, MA, USA, 2015.
[77] D. Nams, “Online bandwidth adaptation and data tracking of under- [99] S. Reed and V. E. Schmidt, “Providing nautical chart awareness to au-
water acoustic transmissions to optimize collaborative AUV missions,” tonomous surface vessel operations,” in Proc. MTS/IEEE OCEANS Conf.,
Master’s thesis, Master Appl. Sci., Dalhousie University, Halifax, NS, Monterey, CA, USA, 2016, pp. 1–8.
Canada, Dec. 2014. [100] J. Riekki, “Reactive task execution of a mobile robot,” Ph.D. dissertation,
[78] D. Nams, M. L. Seto, and J. J. Leonard, “On-line adaptation of underwater Faculty Technol., Dept. Elect. Eng., Oulu Univ., Oulu, Finland, 1999.
acoustic transmission rates to optimize communications for collaborative [101] J. K. Rosenblatt, “DAMN: A distributed architecture for mobile naviga-
AUV missions,” in Proc. MTS/IEEE OCEANS Conf., Washington, DC, tion,” Ph.D. dissertation, Carnegie Mellon Univ., Pittsburgh, PA, USA,
USA, Oct. 2015, pp. 1–8. 1997.
[79] P. Newman, “The MOOS open source robot middleware project.” [102] H. Schmidt and T. Schneider, “Acoustic communication and navigation
[Online]. Available: http://www.themoos.org. Accessed on: Feb. 22, in the new arctic—A model case for environmental adaptation,” in Proc.
2019. IEEE 3rd Underwater Commun. Netw. Conf., Aug. 2016, pp. 1–4.
[80] M. Novitzky, “TAR: Trajectory adaptation for recognition of robot tasks [103] T. Schneider and H. Schmidt, “Unified command and control for het-
to improve teamwork,” Ph.D. dissertation, School Interact. Comput., erogeneous marine sensing networks,” J. Field Robot., vol. 27, no. 6,
Georgia Inst. Technol., Atlanta, GA, USA, Dec. 2015. pp. 876–889, Nov. 2010.
[81] M. Novitzky, C. Pippin, T. Balch, T. Collins, and M. E. West, “Be- [104] T. Schneider, H. Schmidt, T. Pastore, and M. Benjamin, “Cooperative au-
havior recognition of an AUV using a forward-looking sonar,” in Proc. tonomy for contact investigation,” in Proc. IEEE OCEANS Conf., Sydney,
Workshops at Robot., Sci. Syst., Los Angeles, CA, USA, 2011. [On- NSW, Australia, May 2010, pp. 1–7.
line]. Available: https://sites.google.com/site/rssmarinerobotworkshop/ [105] T. E. Schneider, “Advances in integrating autonomy with acoustic com-
home/papers-presentations/mikenovitzky munications for intelligent networks of marine robots,” Ph.D. disserta-
[82] M. Novitzky, C. Pippin, T. R. Collins, T. R. Balch, and M. E. West, “Bio- tion, Dept. Mech. Eng., Massachusetts Inst. Technol., Cambridge, MA,
inspired multi-robot communication through behavior recognition,” in USA, Woods Hole Oceanogr. Inst., Woods Hole, MA, USA, 2013.
Proc. IEEE Int. Conf. Robot. Biomimetics, Dec. 2012, pp. 771–776. [106] M. L. Seto and A. Crawford, “Autonomous shallow water bathymetric
[83] M. Novitzky, C. Pippin, T. R. Collins, T. R. Balch, and M. E. West, “Con- measurements for environmental assessment and safe navigation using
ditional random fields for behavior recognition of autonomous underwa- USVs,” in Proc. MTS/IEEE OCEANS Conf., Washington, DC, USA,
ter vehicles,” in Proc. Distrib. Auton. Robot. Syst., 2014, pp. 409–421. 2015, pp. 1–5.
[84] M. Novitzky, C. Pippin, T. R. Collins, T. R. Balch, and M. E. West, “AUV [107] M. L. Seto, J. A. Hudson, and Y. Pan, “Three-dimensional path-planning
behavior recognition using behavior histograms, HMMs, and CRFs,” for a communications and navigation aid working cooperatively with
Robotica, vol. 32, no. 2, pp. 291–304, Mar. 2014. autonomous underwater vehicles,” in Proc. Second Int. Conf. Auton.
[85] J. Osborn, S. Qualls, J. Canning, M. Anderson, D. Edwards, and E. Intell. Syst., Burnaby, BC, Canada, 2011, pp. 51–62.
Wolbrecht, “AUV state estimation and navigation to compensate for [108] A. Shafer, M. Benjamin, and J. Leonard, “Autonomous cooperation of
ocean currents,” in Proc. MTS/IEEE OCEANS Conf., Washington, DC, heterogeneous platforms for sea-based search tasks,” in Proc. MTS/IEEE
USA, Oct. 2015, pp. 1–5. OCEANS Conf., Quebec City, QC, Canada, Sep. 2008, pp. 1–10.

Authorized licensed use limited to: VIT University. Downloaded on November 26,2020 at 09:53:51 UTC from IEEE Xplore. Restrictions apply.
342 IEEE JOURNAL OF OCEANIC ENGINEERING, VOL. 44, NO. 2, APRIL 2019

[109] A. Spears, A. M. Howard, B. Schmidt, M. Meister, M. West, and T. Michael Defilippo (S’11–M’12) received the B.S.
Collins, “Design and development of an under-ice autonomous under- degree in electrical engineering from Suffolk Uni-
water vehicle for use in polar regions,” in Proc. OCEANS Conf., St. versity, Boston, MA, USA, in 2013. He is currently
John’s, NL, Canada, Sep. 2014, pp. 1–6. working toward the M.S. degree in computer sci-
[110] A. Spears, M. West, and T. Collins, “Autonomous control and simulation ence at Georgia Institute of Technology, Atlanta, GA,
of the VideoRay Pro III vehicle using MOOS and IvP helm,” in Proc. USA.
OCEANS Conf., San Diego, CA, USA, Sep. 2013, pp. 1–10. He is currently a Research Engineer with the Au-
[111] L. Stanislas et al., “Bruce: An ASV solution for the 2016 maritime tonomous Underwater Vehicles Laboratory, MIT Sea
RobotX challenge,” in Proc. RobotX Forum, 2016. [Online]. Available: Grant, Cambridge, MA, USA. He has worked on
https://www.auvsifoundation.org/sites/default/files/QueenslandUni_ diverse projects, such as developing an underwater
2016_RobotX_Journal.pdf wireless recharging system for underwater sensors to
[112] T. Taher, G. D. Weymouth, and T. Varghese, “Novel platform for ocean autonomous surface vehicles. Prior to working at MIT, he was with the U.S.
survey and autonomous sampling using multi-agent system,” in Proc. Air Force and was stationed around the United States and Europe. His research
MTS/IEEE OCEANS Conf., Bergen, Norway, Jun. 2013, pp. 1–5. focus is in applications of marine robotics and associated technologies above
[113] O. A. Viquez, E. M. Fischell, N. R. Rypkema, and H. Schmidt, “De- and below the water line.
sign of a general autonomy payload for low-cost AUV R&D,” in Proc.
IEEE/OES Auton. Underwater Veh., 2016, pp. 151–155.
[114] D. Wang, P. F. J. Lermusiaux, P. J. Haley, D. Eickstedt, W. G. Leslie,
and H. Schmidt, “Acoustically focused adaptive sampling and on-board
routing for marine rapid environmental assessment,” J. Mar. Syst., vol. 78,
pp. S393–S407, 2009.
[115] M. E. West, T. R. Collins, J. R. Bogle, A. Melim, and M. Novitzky,
“An overview of autonomous underwater vehicle systems and sensors at
Georgia Tech,” Georgia Inst. Technol., Center for Robotics and Intelli-
gent Machines, Georgia Tech Research Institute (GTRI), Atlanta, GA,
USA, Tech. Rep., 2011. Paul Robinette (S’07–M’08) received the B.S. de-
[116] M. Wilson, B. Auslander, B. Johnson, T. Apker, J. McMahon, and D. grees in physics and computer engineering and the
W. Aha, “Towards applying goal autonomy for vehicle control,” in Proc. M.S. degree in computer engineering from Missouri
Annu. Conf. Adv. Cogn. Syst., Workshop Goal Reason., 2013, pp. 127– University of Science and Technology, Rolla, MO,
142. USA, in 2008 and 2010, respectively, and the Ph.D.
[117] M. A. Wilson, J. McMahon, and D. W. Aha, “Bounded expectations degree in robotics from Georgia Institute of Technol-
for discrepancy detection in goal-driven autonomy,” Nav. Res. Lab., ogy, Atlanta, GA, USA, in 2015.
Washington, DC, USA, Tech. Rep. WS-01-14, 2014. He is currently a Research Scientist with the De-
[118] M. A. Wilson, J. McMahon, A. Wolek, D. W. Aha, and B. Houston, partment of Mechanical Engineering, Massachusetts
“Goal reasoning for autonomous underwater vehicles: Responding to Institute of Technology (MIT), Cambridge, MA,
unexpected agents,” AI Commun., vol. 31, no. 2, pp. 151–166, Mar. USA. Prior to working at MIT, he was a Research
2018. Engineer with Georgia Tech Research Institute working on multi-UAV au-
[119] K. L. Woerner, “Multi-contact protocol-constrained collision avoidance tonomy for swarms of up to 30 fixed-wing aircraft. He has worked on the
for autonomous marine vehicles,” Ph.D. dissertation, Dept. Mech. Eng., underwater Yellowfin robot, numerous ground robots including an emergency
Massachusetts Inst. Technol., Cambridge, MA, USA, 2016. guidance robot, and both fixed-wing and rotary aerial robots. His human–robot
[120] E. Wolbrecht et al., “Estimating and compensating for water currents: experiments have involved more than 2000 participants. His research focuses
Field testing,” in Proc. MTS/IEEE OCEANS Conf., Monterey, CA, USA, on human–robot trust in time-critical situations.
2016, pp. 1–5.
[121] M. Zhang, Y. Xu, B. Li, D. Wang, and W. Xu, “A modular autonomous
underwater vehicle for environmental sampling: System design and pre-
liminary experimental results,” in Proc. OCEANS Conf., Taipei, Taiwan,
Apr. 2014, pp. 1–5.

Michael R. Benjamin (M’03) received the B.S. and


M.S. degrees in computer science and cognitive sci-
ence from Rensselaer Polytechnic Institute, Troy, NY
USA, in 1988 and 1991, respectively, and the M.S. Michael Novitzky (M’14) received the B.A. de-
and Ph.D. degrees in computer science from Brown gree in psychology from Colorado College, Colorado
University, Providence, RI, USA, in 1998 and 2002, Springs, CO, USA, in 2003, the M.S. degree in elec-
respectively. trical and computer engineering from Georgia Tech,
He is currently a Research Scientist with Atlanta, GA, USA, in 2014, the M.S. degree in com-
the Department of Mechanical Engineering and puter science Georgia Institute of Technology (a.k.a
the Computer Science and Artificial Intelligence ”Georgia Tech“), Atlanta, Georgia, USA, in 2009,
Lab, Massachusetts Institute of Technology (MIT), and the Ph.D. degree in robotics from the Georgia
Cambridge, MA, USA. Prior to coming to MIT, he was a Research Scientist Institute of Technology (Georgia Tech) in 2015.
with the Naval Undersea Warfare Center, Newport, RI, USA. Since the Spring He is a Research Scientist with the Department of
of 2012, he has developed and taught a new course in unmanned marine vehicle Mechanical Engineering, Massachusetts Institute of
autonomy at MIT to undergraduate and graduate students, and has led the startup Technology (MIT), Cambridge, MA, USA. He joined MIT in 2015 as a Postdoc-
of a new laboratory facility for marine autonomy on the Charles River on the toral Research Associate with the Laboratory for Autonomous Marine Sensing
MIT campus. In 2005, he founded an open source project named moos-ivp.org Systems. His research focuses on multirobot systems in the marine domain and
comprising dozens of marine autonomy applications including the IvP Helm for human–robot interaction in stressful environments. Prior to working at MIT, he
autonomous decision making and COLREGS autonomy on unmanned surface was a Graduate Research Assistant at both Georgia Tech and the Georgia Tech
vessels. His software is used on different types of unmanned marine vehicles Research Institute, working on heterogeneous multirobot systems including a
around the world. His research focus is on autonomy algorithms and software team of autonomous humanoid soccer playing robots, autonomous air–ground
for unmanned marine vehicles. robot team, and marine surface and subsurface robots.
Dr. Benjamin was the recipient of the 2005 NAVSEA Scientist of the Year. Dr. Novitzky is a member of the IEEE Robotics and Automation Society.

Authorized licensed use limited to: VIT University. Downloaded on November 26,2020 at 09:53:51 UTC from IEEE Xplore. Restrictions apply.

You might also like