No thrust after transition

Hello,

we are doing a benchtest for a VTOL here (airframe is like babyshark): https://review.px4.io/plot_app?log=ff16e8f5-3f3f-45a4-8b9b-398b6d081e2d

The transition looks good, but after the transition the pwm output for the pusher motor is between 900-1000 but not 900-2000 anymore. Is there any explanation for this? Is there some parameter that we overlooked?

Thanks in advance!

So the pusher is between 900-1000 during fixedwing or multicopter flight?

@sfuhrer FYI

During fixedwing. The actuator_controls look correct, but it behaves as if another mixer is suddenly being used. I had a look in the log file and shortly after finishing the transition there was a land detect. Is it possible that a land detect causes the pwm range to be 900-1000 instead of 900-2000?

If I’m reading the plots correctly, you were in Stabilize mode, throttle on the Tx was 50% pretty much most of the time in FW. Did you try to push the throttle to full? Did you calibrate the pusher motor separately and individually directly on the Rx?

Good luck.

@sfuhrer I tracked the issue down to https://github.com/PX4/Firmware/blob/07d656e971a72d1202651dfd3b4642736fb078d7/src/modules/vtol_att_control/vtol_type.cpp#L147

Here all main motors max pwm values get set to their respective disarm pwm values. In our case PWM_MAIN_DIS3 is 1000. That’s the reason why the actuator_output for fw thrust is being mixed between 900 and 1000. Is it possible that the MAIN 3 output is being disarmed, even though it does not appear in VT_FW_MOT_OFFID?

Compare the above flight review with this: https://review.px4.io/plot_app?log=4a7e51f5-ee49-4e41-905e-ea79ad1ab74a

Here we set PWM_MAIN_DIS3 (the thrust) to 2000 and now it maps the actuator_controls to the actuator_outputs as expected after the vtol transition.

SUCCESS!! https://review.px4.io/plot_app?log=8fe93d3c-4580-4e3c-8376-e9b3868277a4

setting the old VT_MOT_COUNT to 4 and restructuring the mixer file etc/mixers/babyshark.main.mix (https://gist.github.com/dayjaby/21d3c452b6c6f7905fe5418d39d26372) a bit and providing an etc/config.txt file with “set PWM_OUT 1234”. The vtol_type.cpp overwrites the pwm max values in a way that it shouldn’t. By setting VT_MOT_COUNT to 4 and moving the copter pwm channels to 1-4, vtol_type.cpp does not influence the fixed wing channels anymore.

2 Likes