sakuraclamp / arducopter

Automatically exported from code.google.com/p/arducopter
0 stars 0 forks source link

APM Does Not Detect Loss Of RC Signal Potentially Causing Hazardous Flyaway #418

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Tested on Arducopter 2.5.4, APM1 and Turnigy 9X receiver (no Failsafe)

RC inputs freeze at current level when input PWM signal is lost.  
If craft is climbing at the time, will likely result in flyaway with loss of 
craft and possible safety issue.

PWM signal can be lost from either:
- non-failsafe receiver (e.g. 9x) going out of range
- any type of receiver losing power
- cable from Rx to APM disconnected / broken

Examination of code shows PWM inputs use change-of-state interrupts and timers. 
 If PWM disappears, no interrupts are generated, so the input reading remains 
unchanged.

Possible solution is that a timeout should be added to the PWM input routines 
so that loss of signal for greater than a set period will trigger a Failsafe 
event.

Original issue reported on code.google.com by smithy2...@gmail.com on 18 May 2012 at 2:17

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Further investigation reveals I was looking at some old code :-0.  The PPM code 
does appear to apply Failsafe settings on loss of all PWM signals e.g. when Rx 
loses power.

However, loss of an individual PWM signal results in freezing of the current 
setting - not good for a raised Throttle setting.

Original comment by smithy2...@gmail.com on 24 May 2012 at 1:53

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
The bug can be characterised as follows:

The PPM Encoder firmware currently 'hides' the loss of any radio control 
channel from the APM by continuing to output the last received pulse length 
until all radio control channels have been lost.

In the case of the throttle signal, the APM uses this channel alone to 
determine whether or not it should trigger its programmed "failsafe" action.

Many receivers cease output for the throttle channel on loss-of-signal, as this 
causes ESCs to disarm.

However, this simple and effective failsafe behaviour is negated by the current 
actions of the PPM Encoder.

The PPM Encoder should be changed so that a missing Throttle channel is always 
passed on to the APM as throttle at 900us, thus triggering the programmed APM 
failsafe behaviour.

It may also be desirable for the PPM Encoder to indicate a loss of other RC 
channels to the APM.
At present a 'hold' on the Roll channel would cause the aircraft to continue 
rolling out of control unless failsafe is triggered by the throttle channel.

Original comment by richard....@gmail.com on 30 May 2012 at 6:48

GoogleCodeExporter commented 8 years ago
Closing all issues on the old issues list by marking them WontFix.

If this is still a valid issue please re-raise it on the new GitHub issues 
list: https://github.com/diydrones/ardupilot/issues

Thanks!

Original comment by rmackay...@gmail.com on 21 Jul 2013 at 2:14