PX4 / PX4-Autopilot

PX4 Autopilot Software
https://px4.io
BSD 3-Clause "New" or "Revised" License
8.54k stars 13.52k forks source link

Gimbal roll/pitch/yaw mapping to RC channels #20491

Open joaoramosipl opened 2 years ago

joaoramosipl commented 2 years ago

Describe problem solved by the proposed feature

The proposal is to add a feature to assign (more) output functions to RC channels input. For example, Landing Gear switch <-> RC channel mapping is already implemented in the Flight Control menu. Although, I'm missing a particular gimbal roll/pitch/yaw <-> RC knob channels mapping to be able to control the gimbal either from MAVLink and/or from RC on particular channels.

Describe your preferred solution

Implement further options of assigning output functions to RC channels: Gimbal Roll Gimbal Pitch Gimbal Yaw

Describe possible alternatives

Implement a reverse logic: For each RC channel, define the output function associated to it (only those who make sense -- e.g. camera trigger, grip, parachute).

Additional context

I'm software developer and I'm willing to give support, and if you intend so, to develop modules for this to work :) This includes, at most, adding three configuration settings on Radio for selecting: Gimbal roll RC channel Gimbal pitch RC channel Gimbal yaw RC channel

joaoramosipl commented 2 years ago

Hello there. Apparently, I've solved the issue by setting two AUX # RC Passthrough Channels to RC channels, and then MNT YAW, PITCH and ROLL to the according AUX Channel will solve the issue. Although, I suggest to revise the documentation about the AUX # RC Passthrough Channels

The documentation states: "The flight controller will pass through the unmodified values from the specified channels out of AUX1/AUX2 to the connected servos/relays that drive your hardware".

I was expecting that these channels would only control hardware outputs that were assigned to AUX1, AUX2, and so on. Although, in this case I can make the following setup:

PWM_MAIN_FUNC5 -> Gimbal Yaw PWM_MAIN_FUNC6 -> Gimbal Pitch

MNT_MAN_YAW -> AUX1 MNT_MAN_PITCH -> AUX2

RC_MAP_AUX1 -> Channel 9 RC_MAP_AUX2 -> Channel 10

And AUX are just virtual outputs sent to the gimbal module. In this way, I can use either MAVLink and RC to control the gimbal.

I'll be developing a feature for QGroundControl/PX4 to include GUI for 6 AUX Passthrough RC Channels instead of just 2.