Joystick disconnection, big risk

I noticed that if flying only with GCS and joystick and if for any reason the joystick is lost, the system doesn’t generate any FS condition, all the axes go to zero.
Fundamentally if flying only with GCS and joystick and something goes bad with joy usb the UAV just goes crazy with all axis at 1000 pwm.
So i think the system is not ready yet to fly without an rx receiver. Am i missing something that can be setup to avoid such a situation? I mean a state that the system could go into if joystick is lost.

As i understand it, if GCS stops sending overrides to channels and there is no receiver than all channels simply go to zero state.

2 Likes

I tested one joy stick last year but never thought of this. Let me check or maybe someone else may know the answer already.

Could be a simple parameter adjustment.

Have you done this step

In the CONFIG/TUNING | Full Parameter List , check that the SYSID_MYGCS parameter matches the system ID of your GCS. This parameter limits which GCS can send override signals to the vehicle.

Per documentation the fail safe should land the vehicle or RTL. I think you should do all these tests on the ground.

Simulate disabling the joystick in flight with transmitter off (i.e. no failover to regular transmitter):

  1. Turn regular transmitter off
  2. Connect with the mission planner, push Joystick window’s Enable button and ensure RC overrides are being sent to the vehicle (use Radio Calibration screen) or Flight Data’s status screen.
  3. Arm vehicle, switch to Stabilize or Loiter mode and raise the throttle
  4. Ensure the motors are spinning by checking the Flight Data screen’s “ch1out” ~ “ch4out”
  5. Push Joystick screen’s Disable button
  6. “Failsafe” should appear on the HUD and the vehicle should switch to “LAND” or “RTL”
  7. Repeat the above test but at step #5 actually disconnect the joystick from the computer. The results should be the same.

Simulate loss of radio contact :

If radio contact is lost, the vehicle should respond as if the Joystick was “Disabled” or disconnected from the PC. You can test this by repeating the test above but instead of pushing the Disable button on the Joystick screen, disconnect the radio. In order to see the status of the vehicle you will need to connect two Mission Planner’s separately (only possible on Pixhawk). The Mission Planner with the Joystick should be connected through telemetry and the 2nd Mission Planner should be connected through a USB connection.

If you disable the joystick without a receiver all channels go to zero, that is the problem i am having. Try it without any receiver and with GCS failsafe on.
Please do not try it in flight!!!
Basicly the GCS stops overriding the channels but channel themselves seem to not fall back to a FS position if there isn’t any receiver.

Please note that the problem i am having is without any receiver installed. The drone is flown remotely so there is no point on having a regular radio receiver.

ok I will test it on the bench. As per documentation it should not happen.

Can upload your parameter file so I can test against it.

very easy to test.
Start simulator on MP, enable joystick, go into radio calibration and move joystick, you should see your bars moving, now pull the joystick to one side and disconnect usb, you will see all the bars stay in the last position you left them.
So if, for example, you loose your joystick while rolling right, it’ll stay there forever.
Don’t have my param with me now.
If you go in the tuning page of MP and select chXin you see that the input in that channel stays up or down where you left it when the joy was disconnected untill you connect and enable the joystick again.
I would say a joystick FS is needed and an auto reconnection of the joy when MP sees it.

I am familiar with the method. I want to use your parameter file so we are comparing apples to apples.

Are you implying you are having this problem in the simulator not a real quad?

I am having it on the real quad and on the sim. On the sim is just easier to replicate.

When you are ready to send ur parameter file let me know. I just don’t use SIM.

Yes same problem in Qground control when I generate joystick when radio data is disable no any control in your hand (only Qground app control)

Thank you :slightly_smiling_face:

The way it works i think it is extremely risky to use without radio and joystick only.

I would program a small arduino which sends out predefined RC values and connect it to RC in. so if RC_Override fails then I fall back to those values, then GCS failsafe can kick in.
Nota bene: Ardupilot currently not designed for use without RC receiver. (it can be, but it is not in the use case scenarios, so you have to make precautions)

That is what i did, i have a small board that outputs 1500 pwm on all channels and puts the system in RTL. Problem is that doing it this way on every smal cut out on telemetry the RTL kicks in, not waiting for the 5 seconds that GCS failsafe would wait.
Maybe, if it is possible, i should inhibit channel 5, so that when the boards kicks in it doesn’t change mode and continues in the mode it is in (loiter, auto, whatever it is in) and if GCS doesn’t come back in 5 seconds, than it goes in RTL from GCS failsafe.

Is it possible to not have any channel changing flight mode and just change it from buttons?

p.s. Nota Bene, one N :slight_smile:

OK, checked the code and the docs. The solution for your problem is the RC_OPTIONS parameter. You can set the bit 0 (Ignore RC receiver) to 1. (needs reboot of the flight controller).
Now if RC_OVERRIDES stops, the RC channels keep their last value. BUT it definitely NEEDS a correct GCS failsafe setting :smiley:
I checked it with real HW.

Yes i have seen that too (i am studying the problem since 2 years ago) but that option is risky too because in case joy gets disconnected while giving, lets say an aileron command, it’ll stay on the command untill GCS FS kicks in. Unless there is a way to tell MP to go to a certain pwm if joy disconnects, but from my testing it just keeps last command frozen. To make things even worse, if it is the usb that gwts into trouble, MP doesn’t even reconnect it authomatically, so the uav would stay on the last command even if telemetry comes back until you re enable joy in MP window. Potentially could stay on the last commands for 5-10 seconds.

I think the safest oprion is what we discussed before, a little board that puts out 1500 pwm and possibly ignore ch 5 so it doesn’t enter RTL untill GCS FS says to enter it. Doing so in loiter or auto would just stay in the air with no bad tendencies, once GCs has regained control everything goes smooth, if GCS doesn’t come back it goes into RTL.

Actually what i think we need is that GCS takes action if Joy gets disconnected, lets call it a joystick failsafe, that lets you decide where each channel goes in case joy goes away.
It is not a GCS failsafe problem, i think the only bit not taken care of is the joystick disconnection, and it makes sense, since AP is not designed to not have a radio, so i guess we are stretching the envelope here.

In this case all you have to do is to get mavlink into your small board (no need for full comm, only piggy backing on RX line) and keep track of the current flight mode, then set ch5 accordingly :slight_smile:

Can’t i just disable ch5 and set flight modes by buttons only?

Did you tried with FLTMODE_CH 0 ?

No, reading it now, don’t understand yet how it works. Ok was looking at the plane one. Copter is plain easy, tomorrow will try 0 to see if it disables ch mode change and still let me change from joy button. If it does i guess we are good to go.
Thank you for you always smart, fast and accurate help :slight_smile: