GithubHelp home page GithubHelp logo

bluerov2's Introduction

BlueROV2 ROS 2

This repository contains the robot description and necessary launch files to describe and simulate the BlueROV2 (unmanned underwater vehicle) with Gazebo and its hydrodynamics plugins under ROS 2.

Requirements

For the description

  • Xacro , installable through apt install ros-${ROS_DISTRO}-xacro
  • simple_launch, installable through apt install ros-${ROS_DISTRO}-simple-launch

Gazebo

For the control part

Installation

Clone the package and its dependencies (if from source) in your ROS 2 workspace src and compile with colcon

Running

To run a demonstration with the vehicle, you can run a Gazebo scenario, such as an empty world with buoyancy and sensors setup:

ros2 launch bluerov2_description world_launch.py

and then spawn the robot with a GUI to control the thrusters:

ros2 launch bluerov2_description upload_bluerov2_launch.py sliders:=true

Input / output

Gazebo will:

  • Subscribe to /bluerov2/cmd_thruster[1..6] and expect std_msgs/Float64 messages, being the thrust in Newton
  • Publish sensor data to various topics (image, mpu+lsm for IMU, cloud for the sonar, odom)
  • Publish the ground truth on /bluerov2/pose_gt. This pose is forwarded to /tf if pose_to_tf is used.

High-level control

Basic control is available in the auv_control package

In this case spawn the robot without manual sliders and run e.g. a cascaded PID controller:

ros2 launch bluerov2_description upload_bluerov2_launch.py
ros2 launch bluerov2_control cascaded_pids_launch.py sliders:=true

License

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

bluerov2's People

Contributors

okermorgant avatar

Stargazers

Vishal avatar  avatar Li Yuan avatar fish-zt avatar Michalis Chatzispyrou avatar Alex Xu avatar Tan Wei avatar Mohamed Saad Ibn Seddik avatar Thomas-David Griedel avatar Gustavo Rezende avatar

Watchers

 avatar Davide Grande avatar

bluerov2's Issues

Some problems about the setting of hydrodynamic parameters

Dear Mr. oKermorgant

In BluerOV2.xacro and hydrodynamics.xacro and other files, we have doubts about these hydrodynamic parameters. There is a difference between the parameters of standard bluerov2 and those of Bluerov commonly used references. May I ask if you set these parameters? For example:

    <inertia ixx="5.2539" ixy="0.0144" ixz="0.3341" iyy="7.9420" iyz="0.026" izz="6.9123"/>  

Looking forward to your reply

line: gz_js_topic = GazeboBridge.model_prefix(ns) + '/joint_state' list index out of control.

Hi. Thanks for your kindly share a framework of the ROV control.
When I successfully built all the packages and run upload_bluerov2_launch.py, an error raised: list index out of control. I've check the code inside the script and found that the error seems raised from here:
gz_js_topic = GazeboBridge.model_prefix(ns) + '/joint_state'
I am not really familiar with the simple_launch package and wondering if you could provide me some clue on how to fix this problem.

ps: I am using ros-humble and its default combination of gazebo simulation(I believe it should be fortress).

Thank you very much!

Issue in upload_bluerov2_lauch

Hello,

I'm using ubuntu 20.04 and ros-humble from source.

I installed your package and it's requirements.

As you can see below I'm able to open gazebo from the world_launch.py but when try executing the other launch file it stops because of some xacro file.
image

Any suggestions would be greatly appreciated.

PS. We talked in robot exchange and you told me to move to ROS 2 so here I am :p

ros2 launch bluerov2_description world_launch.py error

Hello, I entered the following command, the following error
My ros2 humble + gazebo 11

ros2 launch bluerov2_description world_launch.py
[INFO] [launch]: All log files can be found below /home/zhiteng/.ros/log/2024-04-10-11-49-08-883876-ZZT-OMEN-108714
[INFO] [launch]: Default logging verbosity is set to INFO
[ERROR] [launch]: Caught exception in launch (see debug for traceback): Caught exception when trying to load file of format [py]: SimpleLauncher.gz_launch() takes from 1 to 2 positional arguments but 3 were given

launch upload_bluerov2_launch.py error

I installed all dependencies, and the world launch opened without any problems, but when I ran the upload bluerov2 launch it resulted in the following error

$ ros2 launch bluerov2_description upload_bluerov2_launch.py sliders:=true
[INFO] [launch]: All log files can be found below /home/daniel/.ros/log/2024-07-04-11-41-29-725035-V3D-03-256110
[INFO] [launch]: Default logging verbosity is set to INFO
[ERROR] [launch]: Caught exception in launch (see debug for traceback): list index out of range

Really do not understand what is out of range..

Clarifications about PID Controller

Hello,
I installed the PID Controller as you mentioned in the instructions. Everything is working perfectly. I'm able to move the robot through the GUI both in position and orientation. I tried to take full control through another script but I was unsuccessful. I tried publishing a PoseStamped message but the pid launch was overwriting my messages due to faster publishing time.

Is it possible somehow to launch the pid controller because it provides the all the necessary tools for the thrusters but be able to send my messages for PoseStamped and TwistStamped?. Ideally I would like to only send PoseStamped messages and the TwistStamped being calculated like in pid controller.

Thanks in advance

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.