Home        Store        Learn        Blog

Mavlink2rest usage

I use the mavlink2rest API and main commands are working well (arm, disarm, etc.).

This being, I encounter some troubles in 2 cases:
1 - when sending commands that are not of the same type. For instance, when I use the gripper (command of type MAV_CMD_DO_SET_SERVO) and then go forward (command of type MANUAL_CONTROL), I need to (re)arm the engine so that it works. I don’t think it is normal…
2 - When I send lots of calls to go in one direction. For instance, when I go forward and send the command as long as I stay with the key pressed, the engine disarm automatically.

My questions :
Do I need to arm every time I use a command of type MANUAL_CONTROL ?
Do I need to send command at a regular frequency, so that engine remains armed ?

Thank you for your answers and advices


You need to send HEARTBEAT or MANUAL_CONTROL messages every 1 second, otherwise the ROV disarms (it thinks it lost contact with the topside/gcs)

as @williangalvani said, it’s a failsafe system to ensure that communication with the ground station / control still exists.
This is outside the scope of mavlink2rest, is a ArduSub mechanism.

OK, thank you for your answers. I am sending an HEARTBEAT every 500ms.
Does that mean I should do the same for MANUAL_CONTROL commands and / or regulate message frequency too ?

Yes, you should send it in an interval lower than the value of FS_PILOT_TIMEOUT parameter (3 seconds by default). For more information: Safety Setup Page (Failsafes) · GitBook

Thank you. I now send a message of type MANUAL_CONTROL every 500ms (as I did for HEARTBEAT) and it works.

This topic was automatically closed after 6 days. New replies are no longer allowed.