RoverRobotics-archive / rr_openrover_stack

This repo is deprecated. Users should upgrade to this repo https://github.com/RoverRobotics/roverrobotics_stack which has added support for Rover Zero 2
16 stars 13 forks source link

ROS 2 support for this stack #45

Closed pjreed closed 4 years ago

pjreed commented 4 years ago

Hi! I thought you might like to know that I wanted to use this driver stack in ROS 2, and so I did a quick pass at converting it: https://github.com/pjreed/rr_openrover_stack.git (on the branch dashing-devel) Feel free to put it in your repo if you'd like, or if you want to create a dashing-devel branch here, I'll open a PR.

I know there is an openrover-ros2 repo that has a Rover driver with ROS 2 support, but it appears to be a complete rewrite that has a different set of features and parameters, and I wanted to be able to use it on my Rover with the exact same set of parameters as I use in ROS 1.

I would not call this a completely finished, polished conversion yet; I just converted what I needed in order to be able to publish a twist and drive my 4WD Rover around. There are definitely pieces missing and probably some bugs left. In particular, caveats to note:

  1. I've only converted the rr_control_input_manager, rr_openrover_description, rr_openrover_driver, rr_openrover_driver_msgs, and rr_openrover_stack packages; it looks like rr_rover_zero_driver is still in an early stage of development and nothing else touches it, so I just put a COLCON_IGNORE in there
  2. It requires the twist_mux package, which doesn't have an official release in ROS2, but it works with this fork here: https://github.com/brightenlee/twist_mux/tree/dashing-devel
    • I saw that RoverRobotics has their own fork of this, but that didn't compile out of the box with the stock diagnostic_updater package in Dashing, so I decided not to spend time on it
  3. I haven't converted the Python tests in rr_control_input_manager
  4. I haven't converted any of the launch files except for rr_openrover_driver's 4wd_teleop launch file

With all that said, it works for me in ROS Dashing on Ubuntu 18.04.

padiln commented 4 years ago

We are currently not planning porting this repository to ROS2, but we will be creating a separate repository containing our full release of the ROS2 driver shortly.