There are multiple efforts to integrate ROS with OpenROV. This approach leverages the roslibjs package supported by the ROS community to speak over websockets to the rosbridge. In this approach we use a OpenROV plugin to tap the cockpit messaging abstraction and translate the OpenROV API to and from ROS Topics.
ROS is the Robot Operating System that came from Willow Garage. Heavily used in academia and many industrial applications. Primarily written in C++ or python.
This project is in the proposal stage. I am working on a quick proof of concept at the moment when I have spare time. Assuming I get it working I’ll open a github repo for more detailed tracking.
How to Contribute
- Setup a working dockerized version of ROS that includes the rosbridge module.
- List the ROS topics and parameters that the OpenROV hardware should be subscribing to.
- Map the existing messages emitted by the ROV to ROS messages.
- Identify use cases for using ROS nodes with OpenROV. Identify the ROS packages and the topic/msg and commands that will be used to communicate.
- Volunteer to write documentation
- Volunteer to be a tester
- Any other way you can think of! It will all be appreciated.
- Programmers familiar with ROS
- Project coordinator
Working Docker File with the openrov node for the plugin by the UCSD team:
Working Docker File:
FROM quantumobject/docker-ros-base MAINTAINER Brian Adams "firstname.lastname@example.org" RUN apt-get update && apt-get install -y ros-jade-rosbridge-suite EXPOSE 9090 ENTRYPOINT ["/opt/ros/jade/bin/roslaunch", "rosbridge_server", "rosbridge_websocket.launch"]