Low level control of BlueBoat

Hi!

We are tyring to control a BlueBoat with low level commands to the motors using ROS through mavros. We have the following setup:

  • QGControl V4.2.9 on ground PC
  • BlueOS V1.1.1 on the boat
  • Ardupilot V4.5.0 STABLE on Navigator Board
  • The ros master is the on board PC (Raspberry Pi with BlueOS)

We are able to arm both with a XBOX controller and with a rosservice call to ‘/mavros/cmd/arming’ succesfully. We are also able to control the motors with the XBOX controller.

Nevertheless, we are not being capable of getting the motors working with ROS. We have tried:

  • Overriding the RC with the topic ‘/mavros/rc/override’
  • Overriding the XBOX controller with ‘/mavros/manual_control/send’

Any clue about what are we doing wrong?

The problem was that the MAVLINK ID of the message that was being generated by mavros did not match with the one that was set in our BlueBoat.

We solved it by setting the " SYSID_MYGCS" parameter from QGroundControl to 1 and changing the mavros file “rc_io.cpp” to force the ID manually and make sure that it matches.

1 Like