Is QGroundControl needed to control my rover or can I use a BlueOS extension?

Hi @Eliot,

If you’re interested I’ll set up a chat with the relevant members of our software team.

It would be great to chat. My developers would like about how you may advise we go about integrating our stack with BlueOS and perhaps QGC. We needed to add more peripherals than the Navigator catered for so we developed our own stack in the form of several boards each doing what the Navigator does in one but with quite a bit more. We used many of the same chips, such as the PCA9685, as is used on the Navigator. We have the stack working via Arduino and now need to integrate it into BlueOS via an extension and or QGC.

We are looking to use an extension instead of QGC however our deadlines are steep and not sure if there’s enough time to create an extension. In this case, we may look at using QGC for the easy wins and an extension to meet the rest.

In a previous version, we created our own control platform using Vue, which is the same as BlueOS uses. We were able to control the robot using a Logitech 3D Extreme Pro joystick. In the GUI, we could switch each peripheral on and off, dim LEDs, control motor speed and direction and view the outputs of all sensors. The end goal would be to do the same with BlueOS as the mission planner feature in QGC is not suitable for our next step with respect to navigation.

  • The joysticks use MAVLink in QGC, can a Logitech Extreme 3D Pro joystick be directly integrated into BlueOS and if so, how do we do it? If not directly into BlueOS, I guess this would be part of the extension? Perhaps pulling in parts of QGC into an extension?

  • The motors in use are steppers requiring PWM (speed) and DIO (direction). How do we get two stepper motors working via their motor drivers in BlueOS or would this require an extension? I believe MAVLink is used to control steppers via the driver.

  • Most of the cameras are IP with one camera being a PTZ IP. Can BlueOS be used to control the PTZ camera or is this going to be part of an extension? Perhaps this link, Handling custom camera feeds (without MAVLink?) may be of use? I found this link, Gimbal Protocol v2 · MAVLink Developer Guide, which speaks of a gimbal manager being built into the autopilot. If it works and was included into BlueOS, perhaps that could be a way to control a PTZ camera position? If using MAVLink would give a time advantage, we’re happy to use it as it seems we’re going to need it for other peripherals.

  • There are four indendent LEDs, can these be controlled with BlueOS or does this require an extension? These are the first release BR2 LEDs. I see LEDs can be controlled by MAVLink however I believe BlueOS doesn’t come packaged with MAVLink as standard which means BlueOS has to control the LEDS.

  • We the BME280 to monitor pressure, humidity and temperature. We are placing a sensor in each peripheral and in the main enclosure. We use I2C to communicate via multiplexors to make addressing easier - don’t have accidents if the address isn’t changed on the sensor.

  • We use the MAX9611/MAX9612 to monitor power, current and voltage in various locations such as motors, LEDs, cameras etc. Each channel that gets powered goes through one of these so we can tell if all is well or not. We plan to display these values on the pilot GUI either on BlueOS as an extension or through QGC. The problem with QGC is that we need to accommodate the large numbers of sensors which QGC doesn’t currently cater for. As a result, we thought going straight for an extension may be better.

  • Does BlueOS have MAVLink? My understanding is that MAVLink is not integrated anymore, Handling customized mavlink packets with BlueOS/mavlink-routerd. Thoughts are around the ability to integrate items such as the joystick and other potentially MAVLink reliant peripherals.