Integration of BlueROV2 Underwater Vehicle

We recently started to develop a short module to integrate a simple control software for the BlueROV2(heavy configuration) Link.
The reason behind this integration is the usage of the PX4 software instead of the ArduSub-Software.
Therefore as a first step, we developed a small module, which is an adaption of the uuv_att_control module.

First steps in this direction were already pushed into the Master branch in October last year.
The new module should in the beginning accomplish the following:

  1. Stable Control of the BlueROV2(hold Roll, Pitch, and Depth)
  2. Simulation in Gazebo for testing of different Controllers and future more advanced applications.

Before we create a pull request we have two short questions on the integration which are not clear for me.

  1. The rc.uuv_apps file has the following line:
    uuv_att_control start
    Which starts the uuv_att_control module.
    Since the BlueROV2 and Hippocampus uuv are fundamentally different the new module has to be started.
    The VEHICLE_TYPE currently only defines the type uuv
    Should we add a new type for the BlueROV2 and rename the uuv to uuv_hippocampus? or is there a better way?

  2. Because of the current covid situation we did not test this package on the real robot. Only in the Simulation. This is going to follow in a few weeks/months. Is this a fundamental problem?

Is there something special we should think of when adding the new module?

I am interested in this too. Do you have a GitHub repo I can look at?

A short position controller is already implemented and in the PX4-Stack.

This currently works in Gazebo and is not tested on the real robot due to corona.
Have a look at https://github.com/PX4/PX4-Autopilot/pull/16688#event-4332873604
There is still much room left for improvement. If you want to contribute don’t hesitate to ask.

Hi, is this in association with Hippocampus Robotics as seen here:

I would love to contribute, but I dont know enough about the PX4 architecture. I have been working with the ArduSub code. Is uuv_pos_control.cpp the primary file you have had to edit to make PX4 communicate with ROS? Are you running the kalman filter in the PX4 stack or since it is offboard, do you run it in ROS?