srmainwaring / wave_sim_vrx

This package contains plugins that support the simulation of waves in Gazebo.
Apache License 2.0
3 stars 0 forks source link
gazebo ros simulation waves

This repository is archived. The supported version of these plugins for the new version of Gazebo can be found at Wave Sim.

Gazebo Wave Simulator

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.

Wave Simulation

Dependencies

You will need a working installation of ROS and Gazebo in order to use this package.

Ubuntu

macOS

Installation

Create and configure a workspace

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 and build the package

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

Usage

The wiki has details about how to configure and use the plugins:

Tests

Manually run the tests:

./devel/lib/wave_gazebo_plugins/UNIT_Wavefield_TEST

Examples

Wave Simulation

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.

License

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.

Acknowledgments