Gripper Not Working in Mission Mode – Pixhawk 6C Mini + QGroundControl + PX4 v1.15.4

Hi everyone,
I’m working on a payload drop system using a servo-controlled gripper in a FW drone, and I can’t get it to trigger in mission mode using PX4 and QGroundControl. I have the following settings.

  • Flight Controller: Pixhawk 6C Mini
  • Firmware: PX4 v1.15.4
  • Ground Station: QGroundControl
  • Servo: MG90S Metal Gear
  • Gripper Channel: MAIN4 (mapped to “Gripper” in Actuator tab)
  • PWM Range: 900–2000 µs
  • Power Supply: External BEC
  • Mission Mode: Drone is armed and flying when reaching the command

This is working:

  • The servo works perfectly when tested manually from the Actuator tab in QGroundControl.
  • The MAIN4 output is mapped to “Gripper”.
  • Telemetry confirms the mission reaches the Gripper Mechanism command.

This doesn’t work:

  • When the drone reaches the “Gripper Mechanism” item in mission mode, no PWM signal is sent, and the gripper does not activate.
  • I tried using “Set Servo” instead, but QGroundControl gave this error on mission upload:

Mission transfer failed.
Error: Command is not supported. Item #12 Command: Set servo

Questions

  • Is Gripper Mechanism fully supported in PX4 v1.15.4 for Pixhawk 6C Mini?
  • Should I use Set Actuator instead? If yes, how should I configure it and map the output correctly?
  • Is there any other parameter I may have missed to enable mission-triggered PWM commands?

THANKS!!!

@camilo_Sanabria Sorry for the delay.

I have no idea if it is fully supported in PX4 v1.15.4. It should be . The FC you are using should make no difference, as long as you have a free output.
No, you shouldn’t use Set Actuator instead.

Check the [payload_deliverer](Modules Reference: Command | PX4 Guide (main) sure PD_GRIPPER_EN parameter to 1 (reboot required after change) and PD_GRIPPER_TYPE are set.

My assumption is that PX4 only allows you to assign one gripper, and this is what is mapped by the payload module?
So if you have mapped a gripper and it works in the actuator testing, you know that the gripper is set up properly.

If you can see that the code to trigger the gripper does get called in the mission, then the only things I can see might be the problem are that either

  • payload deliverer is not started
  • the mission timeout is too short, and the gripper triggers for such a short time it doesn’t move.
  • the code is broken

@junwoo0914 Can you provide advice for further debugging?

@sibujacob That’s a completely different problem. Suggest you raise a separate issue so that it can be dealt with separately and not hide the problem being looked at here.

1 Like