UTSeaSim - UT Austin's Naval Surface Navigation Simulator

UTSeaSim is a custom-designed naval surface navigation simulator that was designed to realistically model ship movement constraints in marine environments. UTSeaSim is written as a supporting platform for research on autonomous sea navigation. It uses realistic 2D physical models of marine environments and sea vessels, and runs both in GUI and in non-GUI modes.

The simulator's core contains three main modules:

The sea environment module includes models of winds, water currents, waves, and obstacles. The ship module models all relevant aspects of a ship, including the ship's physical properties, sensing capabilities, and ship actuators. The decision making-module implements an agent that controls a ship autonomously. At each time step, the agent receives the perceptions sensed by the ship, processes them to update its current world state, and decides on control actions for the ship based on its current world state and its decision-making strategy.

All of the above components are plug-and-play: each one can easily be replaced by a component of the same type that uses alternative implementation. This includes the agent's perception processing algorithms, world model, and decision making strategy; the ship's model; and the different environmental models.

UTSeaSim supports communication between ship-controlling agents, as well as communication between agents and the simulation environment (for instance, for sending and collecting statistics).

Papers and Videos

UTSeaSim - Example Patrol Tasks.
Download video:

We used UTSeaSim when solving a problem of frequency based patrol in marine environments. We proved the problem to be NP-Hard, and presented a heuristic algorithm that performs well in practice. Full details of our approach are available in the following article.

UTSeaSim's source code

UTSeaSim is designed as a multi-agent marine environment, in which ships controlled by agents navigate on the naval surface. It is written in python and can easily be extended. Below are the recent releases along with their documentation.



This code is provided "as is" as a resource to the community. All implied or expressed warranties are disclaimed. However, we welcome feedback regarding if and how you were able to use it. Also, we are interested in hearing your ideas about how it can be improved.

Anyone who would like to contribute to the code base can request and have access to our svn repository, can contact us at {urieli,pstone}@cs.utexas.edu

Mailing list:
(A mailing list will be opened if needed)
We will periodically make announcements to the list regarding new versions of the code or changes to the web site. Also, we encourage you to use this list to ask questions, make suggestions, or announce your own projects related to the framework.

To subscribe to the list, visit the following page:
You should receive a welcome message with instructions on how to post, unsubscribe, etc.