Skip to content

Integration of LSTS' lauv vehicle into MBARI's LRAUV gazebo simulation packages.

License

Notifications You must be signed in to change notification settings

prasilva98/G_LAUV

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

G_LAUV

This repository shall provide all the the tools needed to integrate a LAUV-like vehicle into the MBARI's Gazebo simulator.

Replay Logs

At this point it only includes the replay_logs package which is used to replay the actuators given to a LAUV log during a real-life operation, into a Gazebo maritime simulation. To achieve this, you need to install a Gazebo version that includes the necessary plugins (Buoyancy, Hydrodynamics, etc), the ROS_GZ package and the necessary actuator data.

Requirements

Gazebo

Obviously you will need to install Gazebo to run this. MBARI's packages are irregularly upstreamed into Gazebo releases, meaning the most recent version of Gazebo will include MBARI's work integrated into it. Nonetheless, I reccomend you install the base Gazebo that this package was installed on and then the actual packages on top of that. You can find an installation guide on how to do this here.

ROS Parameters bridge

Gazebo communicates through Gazebo Transport, using a pub/sub methodology, which uses Protobuf as its "language" and a combination of custom code and ZeroMQ for serialization/deserialization processes, etc. For now, to communicate with Gazebo, we go through ROS by using the ROS_GZ package which, essentially, creates a bridge between Gazebo topics and ROS topics. This allows you to read Gazebo topics as if they were ROS topics and publish to said ROS topics to communicate with Gazebo.

if you followed the previous installation process, you will probably have Gazebo's fortress version installed and ROS2 humble, which means you should also install the Ros Gazebo version compatible with it. To do so, you should follow these specific installation steps.

Actuators

You will also need to provide a csv with the given actuator info. You can generate one using this and a LAUV log file.

Water Density

If you want to be really exact in your simulation you can also provide a water density value. If you wish to generate a density value from the CTD data in the lauv log, you can do so by using this.

Usage

Do the standard ROS2 installation procedure.

Install package dependencies with (if you're using a mint distribution add the --os ubuntu:your_distro:

rosdep install -r --from-paths src -i -y --rosdistro humble

Build said packages with colcon build. Do the usual sourcing of ROS (you probably have ROS2 humble) and the install:

source /opt/ros/humble/setup.bash
source install/setup.bash

Launch any gazebo world that includes a tethys LAUV. For example. in the LRAUV_Gazebo_Plugins worlds folder you can launch tethys_at_empty_environment.sdf, like so:

gz sim tethys_at_empty_environment.sdf

To start replaying the logs you can use the bridge_launch.py, which should take the csv with the actuators inputs and use it to feed the simulation inputs. As explained, it does this through the ROS<->Gazebo Bridge, so this launch file creates 2 nodes, the bridge and the replayer.

ros2 launch replay_logs bridge_launch.py

Your LAUV should be moving by now in the simulation!!

About

Integration of LSTS' lauv vehicle into MBARI's LRAUV gazebo simulation packages.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published