Coder Social home page Coder Social logo

uuvsimulator / uuv_plume_simulator Goto Github PK

View Code? Open in Web Editor NEW
19.0 6.0 19.0 401 KB

ROS nodes to generate a turbulent plume in an underwater environment

Home Page: https://uuvsimulator.github.io/

License: Apache License 2.0

CMake 2.96% Python 71.96% Shell 7.62% C++ 17.46%
underwater-robotics ros gazebo uuv-simulator auv rov uuv plume

uuv_plume_simulator's Introduction

Plume Simulator

Build Status GitHub issues License

Link to the uuv_plume_simulator repository here

Link to the documentation page

Chat on Discord

This repository contains ROS nodes and messages necessary to simulate a turbulent plume, which is an implementation of the algorithm described in [1]. This repository is complementary to the Unmanned Underwater Vehicle Simulator (UUV Simulator), an open-source project extending the simulation capabilities of the robotics simulator Gazebo to underwater vehicles and environments. For installation and usage instructions, please refer to the documentation pages.

Visualization in RViz

[1] Yu Tian and Aiqun Zhang, "Simulation environment and guidance system for AUV tracing chemical plume in 3-dimensions," 2010 2nd International Asia Conference on Informatics in Control, Automation and Robotics (CAR 2010), Mar. 2010.

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).

Requirements

To simulate the plume, please refer to the UUV Simulator repository and follow the installation instructions of the package. Then you can clone this package in the src folder of you catkin workspace

cd ~/catkin_ws/src
git clone https://github.com/uuvsimulator/uuv_plume_simulator.git

and then build your catkin workspace

cd ~/catkin_ws
catkin_make # or <catkin build>, if you are using catkin_tools

Example of usage

The plume simulator package are installed, one demonstration can be run to visualize the plume particles in RViz. To start it, run

roslaunch uuv_plume_simulator start_plume_example.launch

To start an example of a turbulent plume model, run the script

roslaunch uuv_plume_simulator start_demo_turbulent_plume.launch

In this case, the plume runs independently from the UUV Simulator. In order to start this example using one of the Gazebo worlds from UUV Simulator and therefore use the current velocity topic generated by a Gazebo plugin, start the example first as

roslaunch uuv_plume_simulator start_plume_example.launch use_gazebo:=true

and then

roslaunch uuv_plume_simulator start_demo_turbulent_plume.launch use_gazebo:=true

If no current topic is available, the particles will accumulate around the plume source.

To add a particle concentration sensor to the vehicle, check the URDF macro snippets found here that can be used to add one to the robot description.

License

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

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

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).

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 ?.....

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

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.