Quick Start Tips
Tutorial
Release Notes
This is a prototype aggregate behavior that utilizes the Maneuver and Communicate generic behaviors as an interface for monitoring and control of a group of AUVs. For this behavior, 4 AUVs are required: one to act as the operator to issue the behavior request, and 3 AUVs to carry out the group behavior. At the start, AUV #1 will transit to station #1, AUV #2 to station #2, AUV #3 to station #3. Group behavior is keyed off of receipt of exchanged INFORM messages; if a vehicle does not receive a specific INFORM message from all other partners, it will not move into the next phase of it's behavior. There is currently no timeout period in waiting for messages. To stop the behavior, the operator AUV should issue the "Stop" request to the group.
There is currently no collision detection among vehicles. Vehicles travel at their predefined cruise speeds while executing the Virtual_3_AUV behavior and are considered to have reached their station if within 0.5 m of the target specification.
General Considerations:
The application requires a computer running Windows95/98/NT4.0/2000/XP, preferably on a Pentium or better processor. A network connection to the Internet is also required. We have had mixed results running the client from behind a firewall - good luck if you try this. CPU requirements for AUVSim are minimal. Bandwidth required is approximately 5 kbit/s baseline, with additional 4 kbit/s per inter-vehicle command message sent or received. Assuming communications chatter between vehicles is not too heavy, you should be able to run several AUVSim clients on a single box over a 56K modem without problems.
The vehicle simulators use simple controller algorithms for maneuvering to attempt to achieve their target position. They are far from perfect and their primary use is to demonstrate different kinds of control to achieve similar goals. The vehicle simulator receives sensor updates and new position from the Environment Simulator Application (ESA) and sends its current "thrust" velocity back to the ESA.
The AUVSim application interface uses a set of menu dialogs above a primary status window to inform the user of program status. You cannot type directly into the status view - it is for informational display only.
Follow these steps to obtain and run the AUVSim program:
System:
Fill in the Name and Group fields (Owner field is currently not user configurable). You should not use spaces in the names. The Name label is most critical as it is used to identify the vehicle during all inter-vehicle communication in the virtual environment. Pick an AOSN functional type. ("AOSN" is an acronym for "Autonomous Oceanographic Sampling Network", a concept that loosely refers to a heterogeneous fleet of autonomous ocean platforms capable of remote, long-duration sensing/sampling missions. The AOSN functional types listed in the AUVSim configuration view are a small subset of the many types that could exist for different platforms.) Click on "Apply" or "OK" to save these tab view settings; changes will not be recorded unless this is pressed.
Control:
This view, and the following five views, represent configuration parameters for the primary subsystems on the platform. To enable a subsystem, check the "Enable/Disable" box in the respective subsystem tab views. Disabling a subsystem implies that subsystem will not be present on the vehicle during the simulation; i.e., disabling the Communication subsystem means the vehicle will not be able to send or receive simulated acoustic messages. (A Control subsystem must be selected, therefore the option to disable it has been greyed out.) Select a body/control type. The body type controls the allowable motion and control characteristics of the vehicle. Note that the mooring type cannot move. Also, the Solar AUV and Torp controllers behave identically at this time. The crawler remains fixed to the bottom surface and is not restricted to the underwater environment. Fill in the vehicle capabilities as appropriate. Select the baseline power that this subsystem draws. This can be used if you wish to model the effects of power consumption on the vehicle. Finally, select whether to log elements of the subsystem status to disk. For logging to work, the Data Logging subsystem must be enabled. Click on "Apply" to save these tab view settings.
Navigation:
Currently, this subsystem only displays location and orientation information of the AUV: it is not used directly in the control of the vehicle. If the W3DNavDLL.dll file is present in the same directory as the AUVSim client, the user will have the option of selecting Magnetic Navigation or Default Navigation. With the Magnetic Navigation configuration option selected, the user can monitor their simulated vehicle's "true" position against the calculated position determined from the algorithms, based on sensor reading from the simulated magnetic dipole transmitter located at the origin in the virtual environment. The configuration option is available if the proper library (W3DNavDLL.dll) is present on the user's computer. Contact Tony Aponick at Foster-Miller Inc. (781-684-4300, taponick@foster-miller.com) for more information regarding magnetic navigation technology and details on how to obtain this library. If the library is not present, the Default Navigation subsystem is automatically used, which simply shows the current position, depth, velocity and attitude of the vehicle as delivered to the vehicle sensors. Select the baseline power that this subsystem draws. Finally, select whether to log elements of the subsystem status to disk. Click on "Apply" to save the settings.
Communication:
This subsystem provides the capability of inter-AUV communication. The primary parameters available for this subsystem are power settings. The baseline power is the constant power requirement of the subsystem. Transmit and receive power values are assessed when messages are sent and received, respectively. These values should be set based on the assumption that message send/receive times are exactly one second, and are independent of message length. (This assumption is driven by the unknown size of real acoustic messages within the simulation at this time.) Parameters are now availabe for communications system type. Options include: perfect, acoustic and ARGOS 1 satellite link. The user can also assign a unique channel ID to communicate on. Messages will only be acted upon if the received message communications type and channel ID match with the receiving VIP's capabilities. Select whether to log elements of the subsystem status to disk. Click on "Apply" to save the settings.
Propulsion:
The Propulsion subsystem provides the vehicle the ability of actively moving through the underwater
environment (as opposed to passively moving by way of water currents). With this subsystem enabled, the user can also set the power requirements of the vehicle for different linear "thrust" velocities. The thrust-power profile uses linear interpolation between user supplied data points, and is bounded by the endpoint values. Select whether to log elements of the subsystem status to disk. Click on "Apply" to save the settings.
Energy:
This subsystem provides the capability for the AUV to monitor and assess vehicle energy usage. The baseline power is the constant power requirement to operate the Energy subsystem itself. Initial energy is used to represent the starting energy fraction of the energy capacity on the vehicle. Select whether to log elements of the subsystem status to disk. Click on "Apply" to save the settings. Options are battery and solar/battery. If solar/battery option is chosen, vehicle will automatically recharge it's batteries using solar insolation input while on the surface.
Data Logging:
The Data Logging subsystem provides the user the ability to log data regarding the subsystems and sensors. This subsystem can be assumed to be a part of the simulated AUV, and power values can be set to assess it's impact. Or the user may wish to use the subsystem to artificially monitor the AUV, and set the power requirements to zero. Data is logged to disk files, one per logged subsystem or sensor, at intervals corresponding to the indicated update period. The maximum log interval is 24 hours. Choose an appropriate file extension. Files are named automatically by the program using the following logic:
"AUVName_YYMMDD_SubsystemOrSensorName.extension", where
AUVName = AUV name chosen in Configure View,
YYMMDD = Year, Month and Day as 2 digit integers,
SubsystemOrSensorName = Name of the particular object data being logged,
extension = User selected file extension.
During a simulation, when a new day begins, the previous day"s log files are closed and new logfiles are automatically opened with the new day"s time in the file name. This facilitates the management of potentially large log files and allows older files to be archived while a simulation is running.
Sensors:
Sensors are used by the subsystem to access environment information shipped from the server. Their update rate is matched to the server-to-client update rate, set to 1 sec. Select the set of sensors you wish to include on your vehicle. Note that the controller and navigation subsystems require several sensors to function; these are noted on the appropriate subsystem configuration tab views. The client will indicate if a subsystem requires a sensor that has not been selected when the user attempts to log into the server, to allow proper update of the AUV configuration. Select the operating power requirements for each sensor; this power drain is assumed to remain constant while the vehicle is in the environment. Finally, select whether to log the sensor output to disk. Click on "Apply" to save the settings.
The Reconnection State information is used when employing AUVSim in a HITL role; this capability is disabled for the public release version.
Last Updated 6/4/2004 for AUVSim 4.61
Author: Rick Komerska
AUVSim 4.5 to AUVSim 4.61:
AUVSim 4.4 to AUVSim 4.5:
AUVSim 4.2 to AUVSim 4.4:
AUVSim 4.0 to AUVSim 4.2:
AUVSim 2.91 to AUVSim 4.0:
AUVSim 2.9 to AUVSim 2.91:
AUVSim 2.8 to AUVSim 2.9:
AUVSim 2.7 to AUVSim 2.8:
AUVSim 2.6.1 to AUVSim 2.7:
AUVSim 2.6 to AUVSim 2.6.1:
AUVSim 2.5b to AUVSim 2.6:
AUVSim 2.3.2 to AUVSim 2.5b:
AUVSim 2.3.1 to AUVSim 2.3.2:
AUVSim 2.3 to AUVSim 2.3.1:
AUVSim 1.3.1 to AUVSim 2.3:
AUVSim 1.3 to AUVSim 1.3.1 (bug fixes):
AUVSim 1.2 to AUVSim 1.3:
AUVSim 1.1 to AUVSim 1.2: