Hello everyone:
So my team are working on an underwater rov with a claw that needs 3 servo to work, so I am wondering if there is a chance that I can get them to work with blueos and cockpit because I can’t figure it out at all. I tried pwm pin 10-12 but no button on the controller seems to control that either. So can someone help please?
Thank you!
Have a nice day!
Hi Abner -
You can configure ArduSub to use those pins (assuming you’re using a Navigator) as Serial 1,2,3 outputs when linking to button actions in QGround Control or Cockpit. This is documented here, with default mappings here.
Dependig on how you plan to control the servos, you’ll need to select min/max or inc/dec funcitons to link to the buttons.
Note you’ll also need to supply 5V to the servo rail to get the servos moving - this is done by default in the BlueROV2 by the 5V UBEC.
Hi @Abner,
How you control outputs is dependent on what kind of control you want/need.
ArduSub provides built in joystick button functions (servo_*
) that can control Navigator outputs 9, 10, and 11[1] if the corresponding SERVOn_FUNCTION
parameters are set to DISABLED (0)
.
If you want to control other outputs, or just want control options the available joystick button functions don’t support, then you can either use
- Cockpit’s Custom Actions (e.g. as joystick functions or in an Input Widget), or
- more directly programmatic control using a DIY widget, a BlueOS Extension, or a Lua script running in the autopilot
There is ongoing work to allow reassigning the servo button functions to arbitrary output channels. ↩︎