Giter VIP home page Giter VIP logo

uuv_plume_simulator's Introduction

uuv_simulator: Unmanned Underwater Vehicle (UUV) simulation with Gazebo

Build Status GitHub issues License

Link to the uuv_simulator repository here

Link to the documentation page

Chat on Discord

The Unmanned Underwater Vehicle Simulator is a set of packages that include plugins and ROS applications that allow simulation of underwater vehicles in Gazebo.

If you are using this simulator for your publication, please cite:

@inproceedings{Manhaes_2016,
	doi = {10.1109/oceans.2016.7761080},
	url = {https://doi.org/10.1109%2Foceans.2016.7761080},
	year = 2016,
	month = {sep},
	publisher = {{IEEE}},
	author = {Musa Morena Marcusso Manh{\~{a}}es and Sebastian A. Scherer and Martin Voss and Luiz Ricardo Douat and Thomas Rauschenbach},
	title = {{UUV} Simulator: A Gazebo-based package for underwater intervention and multi-robot simulation},
	booktitle = {{OCEANS} 2016 {MTS}/{IEEE} Monterey}
}

In you are willing to contribute to this package, please check the instructions in CONTRIBUTING.

Features

Gazebo/ROS plugins

  • Implementation of Fossen's equations of motion for underwater vehicles
  • Thruster modules with implementations for thruster's angular velocity to output thrust force based on Yoerger el al., 1990 and Bessa et al., 2006
  • Lift and drag plugin for simulation of fins
  • Simulation of 3D current velocity models (constant or based on first-order Gauss-Markov processes)
  • Sensor plugins

Controllers

  • For AUVs
    • casadi-based effort allocation algorithm
    • Geometric tracking PD controller
  • For ROVs
  • Teleoperation nodes for AUVs and ROVs

Gazebo world models

  • Ocean wave shaders for wave animation
  • Scenarios from the SWARMs project demonstration locations (e.g. Mangalia, Romania and Trondheim, Norway)
  • Subsea BOP panel for manipulation tasks

Vehicle models

Installation

This packages has been released for the following ROS distributions

Once the ros-<distro>-desktop-full package for the desired distribution is installed, the uuv_simulator can be installed as

sudo apt install ros-kinetic-uuv-simulator
sudo apt install ros-lunar-uuv-simulator
sudo apt install ros-melodic-uuv-simulator

For instructions on how to install the package from source, check this instructions page

Purpose of the project

This software is a research prototype, originally developed for the EU ECSEL Project 662107 SWARMs.

The software is not ready for production use. However, the license conditions of the applicable Open Source licenses allow you to adapt the software to your needs. Before using it in a safety relevant setting, make sure that the software fulfills your requirements and adjust it according to any applicable safety standards (e.g. ISO 26262).

License

UUV Simulator is open-sourced under the Apache-2.0 license. See the LICENSE file for details.

For a list of other open source components included in UUV Simulator, see the file 3rd-party-licenses.txt.

Releases

ROS Kinetic ROS Lunar ROS Melodic

uuv_plume_simulator's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

uuv_plume_simulator's Issues

What should I expect to see in the gazebo if I run "uuv_plume_simulator"?

Hi

I am running the examples of "uuv_plume_simulator" according to the README. But, I got a bit confused when I ran it with use_gazebo:=true option. By default, the gui is paused for gazebo in the launch file. So, to see what actually happens in gazebo, I unpaused it and ran the commands with use_gazebo:=true. RViz is showing the results, but I don't see anything in the gazebo simulation. So, Can you please tell me what I should expect in the gazebo simulation?

Thanks
Touhid

Can I use this plume model on the ground plane?

Hi, I have developed a source plume estimation simulation on the ground plane with UAVs and UGVs. Thanks to you, my environment can be created easily, but I want to know how to ignore the buoyancy factor and how to fix the orgin of the frame ?.....

Cannot find Plume module

from plume import Plume ModuleNotFoundError: No module named 'plume'
Can anyone help me with this error ?

plume.py file is already in the same directory still I am getting the error message

I am running this package on ROS noetic with python3.

Applicability beyond underwater scenarios

In principle, it looks like the plume simulator should be applicable to also for simulation of plumes in air and with air and ground robots carrying sensors. Are there any blockers for such scenarios or should this work out of the box with some parameter changes?

Plume vertical displacement issue after some time.

Hi,
I have been running into a weird issue with the plumes where after a couple minutes, a large portion of the plume is suddenly vertically displaced upwards. Sometimes this displacement happens multiple times in short succession, other times it happens once. And it happens on every run.

The particles are continuously generated at the source with the correct current velocity (which I am setting via the set_current_velocity service call).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.