Skip to content

tutorials PropulsionConfiguration

Carlos Aguero edited this page May 8, 2020 · 11 revisions

The effect of thrusters on the WAM-V is simulated by the usv_gazebo_thrust_plugin Gazebo model plugin. The plugin is configured using "thruster" tags within the SDF description. For this example, we are using the default configuration - the fixed aft thrusters. The propulsion configuration takes place in the wamv_aft_thrusters.xacro definition file which makes use of the general purpose xacro macro defined in wamv_gazebo_thruster_config.xacro. Within each thruster definition the "cmdTopic" tag specifies the ROS topic to which the plugin is subscribed. Messages of type std_msgs/Float32 are used to describe each thruster input. Each command is a normalized value between -1.0 to 1.0, where 1.0 is maximum forward force and -1.0 is maximum reverse force. The mapping between this normalized thruster command and the actual force applied to the model is discussed in Theory of Operation document.

Example Configurations

The image below illustrates a few possible thruster configurations.

Propulsion Options.png

The topics below illustrate how to run three of the four configurations. The "Differential Thrust. Variable Angle" configuration is not currently supported.

"H": Differential Thrust with Two, Fixed Stern Thrusters

The default configuration is the "H" configuration with two, fixed stern thrusters. See the Driving tutorial.

If you run the example simulation without any command line options

roslaunch vrx_gazebo sandisland.launch

The thruster configuration should like similar to the image below.

wamv_full_H.png

"T": Differential Thrust with An Additional Lateral/Bow Thruster

To add a single lateral thruster requires the following changes:

  1. Set the "T" thruster configuration of the WAM-V in wamv_gazebo.urdf.xacro.
  2. This WAM-V xacro file includes a propulsion layout definition. For this example, the new thruster layout is defined in wamv_t_thruster.xacro

This example is already available in the repository and can be specified using the thrust_config command line option of the launch file ...

roslaunch vrx_gazebo sandisland.launch thrust_config:=T

To generate a WAM-V propulsion/thruster configuration that looks like the image below.

wamv_full_t.png

"X": Holonomic Thruster Configuration with Four Fixed Thrusters

Using the same process describe above, we can add a new set of URDF descriptions (visual and plugin) to define the holonomic configuration. As an example, we can call this new setup by specifying the "X" thrust configuration...

roslaunch vrx_gazebo sandisland.launch thrust_config:=X

wamv_full_x.png

wamv_full_x2.png

Clone this wiki locally