This repository is archived. The supported version of these plugins for the new version of Gazebo can be found at Wave Sim.
This package contains plugins that support the simulation and visualisation of waves in Gazebo. It is a simplified version of the full wave simulator: it includes a trochoidal wave generator but excludes boat dynamics. It comprises a visual plugin for the Gazebo client that synchronises the rendered scene with the wave physics running in the server. This package is licensed under Apache 2.0.
You will need a working installation of ROS and Gazebo in order to use this package.
- Ubuntu 18.04
- ROS Melodic Morenia
- Gazebo version 9.0.0
- OSX 10.11.6
- ROS Melodic Morenia
- Gazebo version 9.6.0
Source your ROS installation:
source /opt/ros/melodic/setup.bash
source /usr/local/share/gazebo-9/setup.bash
Create a catkin workspace:
mkdir -p wave_ws/src
cd wave_ws
catkin init
Configure catkin:
catkin config --cmake-args \
-DCATKIN_ENABLE_TESTING=1 \
-DCMAKE_BUILD_TYPE=RelWithDebInfo
Clone the wave_sim_vrx
repository:
cd src
git clone https://github.com/srmainwaring/wave_sim_vrx.git wave_sim
Compile the packages:
catkin build
or with tests:
catkin build --catkin-make-args run_tests
The wiki has details about how to configure and use the plugins:
Manually run the tests:
./devel/lib/wave_gazebo_plugins/UNIT_Wavefield_TEST
Launch a Gazebo session with roslaunch
:
roslaunch wave_gazebo ocean_world.launch verbose:=true
Publish a wave parameters message:
./devel/lib/wave_gazebo_plugins/WaveMsgPublisher \
--number 3 \
--amplitude 1 \
--period 7 \
--direction 1 1 \
--scale 2 \
--angle 1 \
--steepness 1
For more detail see the Example page in the wiki.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
This project makes use of other open source software, for full details see the file LICENSE_THIRDPARTY.
- Jacques Kerner's two part blog describing boat physics for games: Water interaction model for boats in video games and Water interaction model for boats in video games: Part 2.
- The UUV Simulator package for the orginal vertex shaders used in the wave field visuals.
- The VRX package for textures and meshes used in the wave field visuals.