BlueROV2 constantly disarming itself in MAVProxy

To Whom it May Concern:

Hello, hope this post finds you well. We have recently programmed a BlueROV2 to perform several motor events in sequence i.e. sending multiple ‘rc’ commands in sequence. Unfortunately, the ROV constantly disarms itself during these rc commands, even though we repeatedly send ‘arm throttle’ commands to it from the MAVProxy CLI. In order to isolate the issue, we attempted to arm the vehicle from QGroundControl and control the motors using the virtual joystick. The motors arm and spin when controlled from QGroundControl, but disarm themselves when armed from MAVProxy.

May we request assistance as to this issue?

Thank you, a timely reply is appreciated.

This is a failsafe mechanism.

Inputs via the ‘rc’ command need to be sent repeatedly. If the interval between received messages is too great, the input ‘times out’ and the ROV disarms. This is important in the case that something goes wrong with communication or pilot input, like if a joystick gets unplugged, or communication is lost from a crashed application or broken wires/connections.

Update your software if you haven’t yet, and then look at FS_PILOT_INPUT and FS_PILOT_TIMEOUT parameters, which control the behavior of this mechanism.

-Jacob

Thanks for the information. I am updating the software now, and maxed out FS_PILOT_TIMEOUT. I have also noticed that when I arm the vehicle from QGC, but send no ‘rc’ commands from MAVProxy, it stays armed. Does the FS_PILOT_TIMEOUT countdown start only when I send a manual ‘rc’ command? Thank you.

Do you have a joystick connected to QGC? If so QGC sends constant joystick updates.

The failsafe also only activates if the ROV has received at least one joystick update since booting.

I’m using the virtual joystick. If that counts as a joystick, than can I assume that the timeout only starts when ‘rc’ commands are sent, since the joystick module uses ‘rc’ commands under the hood?

The timeout starts at the last time the autopilot received a RC_OVERRIDE or MANUAL_CONTROL message.

Mavproxy rc command sends RC_OVERRIDE messages
QGC joystick sends MANUAL_CONTROL messages

I understand, thanks Jacob

Hi Jacob,

Can I ask what file(s) implement QGC’s constant joystick update signal? Thank you.

Sure,

Joystick positions are updated here.

Listener is set up here.

Message is sent to autopilot here.

-Jacob

Thank you, Jacob

-ru sub