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:
- Sea Environment module
- Ship module
- Decision-Making module
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:
(mp4)
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.
-
Multiagent Patrol Generalized to Complex Environmental Conditions
Noa Agmon, Daniel Urieli, and Peter Stone.
AAAI, 2011.
Click here for the paper's web page including pdf and ps versions, and bibtex.
Complementing paper materials:
- A poster that was presented in AAMAS '11: pdf, pptx.
- A few videos demonstrating our algorithm on a simple case.
- Ships circling in a patrol mission when there are no currents:
mp4
avi
ogv
- Adding currents makes this patrol non-optimal with respect to minimizing the frequency of visits in a points:
mp4
avi
ogv
- Applying our algorithm, a better patrol strategy is found:
mp4
avi
ogv
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.
News:
- Version 1.0 of the simulator released (Oct 2013).
- Version 0.2 of the simulator released (Sep 2012).
- Version 0.1 of the simulator released.
Download:
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.
- Version 1.0 - Oct, 2013 (Most Recent Version)
Documentation Materials:
- Version 0.2 - Sep 1, 2012
Documentation Materials:
- Version 0.1 - Oct 1, 2011
This is a preliminary, work-in-progress, release.
Documentation Materials:
Contribute:
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)
utseasim@utlists.utexas.edu
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:
https://utlists.utexas.edu/sympa/subscribe/utseasim
You should receive a welcome message with instructions on how to post, unsubscribe, etc.