Giter Club home page Giter Club logo

bluerov-ros-pkg's Introduction

bluerov-ros-pkg

A set of ROS package for the BlueROV and BlueROV compatible vehicles.

This repository is currently RETIRED, UNSUPPORTED, and UNMAINTAINED.

Documentation

The primary documentation for the packages contained in the repository is stored on the ROS wiki. Specifically, check out the following pages:

The documentation that follows in this file is specifically for those interested in contributing.

Installation from Source

This will install both packages from source. If you have a fork of the repository, use the URL for your fork instead (or add it later with git remote.)

# choose indigo dependencies
sudo apt-get install -y ros-indigo-image-common ros-indigo-robot-state-publisher ros-indigo-joint-state-publisher ros-indigo-image-transport-plugins ros-indigo-mavros ros-indigo-mavros-msgs ros-indigo-mavros-extras ros-indigo-joy
# or jade dependencies
sudo apt-get install -y ros-jade-image-common ros-jade-robot-state-publisher ros-jade-joint-state-publisher ros-jade-image-transport-plugins ros-jade-mavros ros-jade-mavros-msgs ros-jade-mavros-extras ros-jade-joy

# clone
mkdir ~/repos
git clone https://github.com/bluerobotics/bluerov-ros-pkg.git ~/repos/bluerov-ros-pkg
ln -s ~/repos/bluerov-ros-pkg/bluerov ~/catkin_ws/src/bluerov
ln -s ~/repos/bluerov-ros-pkg/bluerov_apps ~/catkin_ws/src/bluerov_apps

# udev rules
sudo cp ~/catkin_ws/src/bluerov/debian/99-bluerov.rules /etc/udev/rules.d/
sudo cp ~/catkin_ws/src/bluerov_apps/debian/99-bluerov-apps.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && sudo service udev restart && sudo udevadm trigger

# build
cd ~/catkin_ws
catkin_make

Contributing

Interested in contributing to bluerov-ros-pkg? Good thing you're here. Please continue reading.

Workflow

This project's workflow is modeled after Vincent Driessen's "git flow" pattern. Our general workflow looks something like this:

  • Identification
    • Open a new issue, assuming one does not already exist.
    • Clearly describe the issue including steps to reproduce when it is a bug.
    • If the issue was not a part of a sprint approval process, discuss with the project lead before starting implementation
  • Implementation
    • Clone the repository and create a feature branch from where you want to base your work.
    • At the very least, work in the develop branch. Merge requests to master will always be denied.
    • Push your code to the server and make a pull request to have your changes reviewed.
    • For features that take multiple days to develop, push the feature branch to the server at the end of each day. Open the pull request after pushing the feature branch to the server for the first time.
  • Review and Merge
    • Code reviews take place in pull requests between a feature branch a the develop branch.
    • Pull requests must be reviewed by at least one primary maintainer of the repository.
    • Merge at will once you've received the required reviewers have approved the request pending stipulations (like "looks good to me once the build is passing.")
    • Delete the feature branch after it has been merged into develop.

Commit Guidelines

Be sure to follow the code quality guidelines below. This project currently lacks a continuous integration service, so be extra sure that you adhere to these guidelines.

  • Make commits of logical units.
  • Make sure your commit messages are in the proper format.
    • Messages should be in the imperative: "Fix thing" instead of "Fixed thing" or "Fixes thing")
    • Commits should usually reference an open ticket: "Fix thing (#123)"
  • Make sure your code conforms to the (ROS C++ Style Guide) and adheres to the established style within the project.
  • Make sure you have added the necessary tests for your changes.
  • Run all the tests to assure nothing else was accidentally broken.

Release

  • Versions should follow semantic versioning
  • Run git tag -a v0.0.0 -m "v0.0.0"
  • Bump up the version number for development to what ever the next release will be
  • Push changes with git push origin master --tags

Change History

This project uses semantic versioning. See CHANGELOG.rst for details.

bluerov-ros-pkg's People

Contributors

jaxxzer avatar joshvillbrandt avatar rjehangir avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bluerov-ros-pkg's Issues

Possible Mistype in include - teleop_joy.cpp

I'm tearing through the code for a successful build on the raspbian RT cctronics image I am using and found
teleop_joy.cpp:14:43: fatal error: bluerov_apps/teleop_joyConfig.h: No such file or directory
#include <bluerov_apps/teleop_joyConfig.h>

looks like this should be <bluerov_apps/cgf/teleop_joyConfig.h

However, until I get everything set up, i.e. mavros and pcl on the image, I've had to comment out a few lines...I'll update soon.

dynamic_reconfigure issue

Please check my work but it looks like the run_depend and build_depend for dynamic reconfigure is missing for the bluerov_apps package. Upon compilation,

CMake Error at CMakeLists.txt:23 (generate_dynamic_reconfigure_options):
Unknown CMake command "generate_dynamic_reconfigure_options".

is thrown. Adding dynamic reconfigure to the cmake find_package and the run and build depends in the package.xml resolves this issue.

If this sounds resonable I'll get a merge request in for the fix. Please confirm. (also, Josh, do you want the PCL depends to go away?)

Kinetic build instructions missing

Hi!

There are currently no build instructions for Kinetic. It is slightly more involved than just replacing indigo with kinetic, unfortunately, due to a non-specified dependency.

See pull request #12.

Typos in setup of udev rules

In the instructions we have:

udev rules

sudo cp ~/catkin_ws/src/bluerov/debian/99-bluerov.rules /etc/udev/rules.d/
sudo cp ~/catkin_ws/src/bluerov_apps/debian/99-bluerov-apps.rules /etc/udev/rules.d/

these fail do to the previous symbolic link creation. The correct instructions should be:

udev rules

sudo cp ~/repos/bluerov-ros-pkg/bluerov/debian/99-bluerov.rules /etc/udev/rules.d/
sudo cp ~/repos/bluerov-ros-pkg//bluerov_apps/debian/99-bluerov-apps.rules /etc/udev/rules.d/

mavlink vs mavros

The usage instructions specify a package called "mavlink" but it should be "mavros".

Lights on the BlueROV2

Hi!

How can I turn on the lights on the BlueROV2 with your package via /mavros/rc/override?
I was looking in your teleop_joy.cpp code but I think there is no free channel for the light control (channel 7 on the pixhawk). Is this right or is there somewhere a opportunity to control the light channel?

Missing urdf for BlueROV2

There's no urdf for the BlueROV2.

I'm working on a BlueROV2 urdf file, and would be happy to submit a PR if there's interest.

Dynamic Positioning

Hi, Im going to write a dynamic positioning system foryour ROV. I tough that you had done so already, however there is nothing like that in this repo. I have the bluerov and the pixhawk, I also have a rostopic with "real position" relative to the "world" frame. Do you have a way for me to send in reference position and real position in xyz? Or do I need to write my own controller? Im going to use the tegra tx1 for video streaming. Im going to work on this for the next weeks and really hope to get a really stable ROV at the end!

-Eirik

Pi setup vcos header files missing

I get the following error message when following the setup instructions and compiling the code on the RPi:

[ 75%] In file included from /usr/include/interface/vcos/vcos_assert.h:149:0,
                 from /usr/include/interface/vcos/vcos.h:114,
                 from /home/ubuntu/catkin_ws/src/raspicam_node/src/RaspiCLI.cpp:46:
/usr/include/interface/vcos/vcos_types.h:38:33: fatal error: vcos_platform_types.h: No such file or directory
 #include "vcos_platform_types.h"
                                 ^
compilation terminated.
In file included from /usr/include/interface/vcos/vcos_assert.h:149:0,
                 from /usr/include/interface/vcos/vcos.h:114,
                 from /home/ubuntu/catkin_ws/src/raspicam_node/src/RaspiCamControl.cpp:32:
/usr/include/interface/vcos/vcos_types.h:38:33: fatal error: vcos_platform_types.h: No such file or directory
 #include "vcos_platform_types.h"
                                 ^
compilation terminated.

Pi-specific vs. Workstation-specific setup

The setup instructions currently apply to both the Pi and Workstation but there are several specifics that can be split. The dependencies for camera are not needed on workstation and the raspicam_node is not needed (and won't compile) on the workstation.

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.