Virtual joystick and rc commander one at a time usage

Hi,

We want to use the virtual joystick via QGC and rc commander one at a time. We want to switch between.

After takeoff with rc open, we want to control it via virt joystick and power rc off. But then close the virt joystick in hold mode and control it via rc again.

In tests, we successfully control with virt joystick, but when we switch to hold and close QGC (virt joystick), the rc commander can not control the platform again.

We made rc_channels_override to enaabled and use com_rc_in_mode to rc control input mode (0)

Any ideas?

1 Like

This has been discussed before, but right now PX4 takes whichever one it receives first.

How would you want it to work? Switching back and forth between RC and Joystick. I’ve considered a priority system that fails over from one to the other, but I thought of many situations where that could do more harm than good. Doing it via a param seems awkward and not useful for switching in flight.

All that is to say, if you have ideas for a safe way to do this I might be able to help implement it.

Hi dagar,

In 1.5.5, these switching back and forth works, i am trying to find where it has been changed. My scenario is like this:

1- Takeoff via QGC virt joystick and rc commander open
2- HOLD
3- Power off rc
4- POSCTRL
5- Control via Virt Joystick
6- HOLD
7- Open RC
8- POSCTRL
9- Move with RC

This switching to RC in step 7 means, if there are some emergency situation (toilet bowl) and data link loss, we want to switch to RC in manual mode.

I mean, the structure same as 1.5.5

RC commander’s mode change switch may be used to trigger the switching of rc_in source from QGC virt joystick (or any other companion manual control message source) to the RC. I think it will be the best way.

I believe not too long ago you could have both active and they would simply fight with each other. Now whichever one is found first takes priority, but there’s no switching at runtime. This actually fixed a lot of problems for people unaware of virtual thumbsticks, etc.

RC commander’s mode change switch may be used to trigger the switching of rc_in source from QGC virt joystick (or any other companion manual control message source) to the RC. I think it will be the best way.

I don’t think I understand what you mean here. If the mode switch on an RC transmitter changes then RC input is given priority and Mavlink (joystick) is ignored?

I don’t think I understand what you mean here. If the mode switch on an RC transmitter changes then RC input is given priority and Mavlink (joystick) is ignored?

Yes,

The thing is, when the mavlink manual control message source takes the priority (for ex virt joystick), the rc commander will never get control and this is so dangerous i think. But a person can safely close the virt joystick and the rc can win the race condition. The situation i mean is usually a data link loss or an EKF innovation case, where we should take the drone to manual control via RC.

I think that could make sense for Joystick -> RC switching, but what about the other direction? When you have a programmed joystick/gamepad button to change a mode it’s doing the same thing as mode change from the dropdown in QGC.

The important thing (I think) is still treating losing the primary like a loss of manual control, but allowing the secondary to activate again once you do something to show it’s alive. I don’t think it should ever auto switch without the user doing something to show intent.

hi,
i have the same question.
Have you solved the problem?
Could you give me some advise?
Thank you!