Traditional Helicopter Failsafe does not control CH8

Hi Everyone,

Today we tested the radio failsafe with traditional helicopter. When we turned off the controller, CH8out became 1000 from 2000. This was because CH8in was also set to minimum (radio became off). The failsafe triggered fine. The main rotor stopped and the heli crashed. For some reason pixhawk does not control CH8out, our HRSC mode was set to 1. So when the radio goes offline the rotor stops. I did some googling and found out that people actually bind their failsafes with CH8in high so that when the radio connection is lost CH8in does not become 0 and pixhawk does not set CH8out to minimum.

Is this how it is supposed to work? How do you guys handle traditional heli failsafes? Do you guys also set the receiver failsafe ch8 to high? Shouldn’t pixhawk control the ch8out on a failsafe situation? we were using 3.4.x

Trad Heli only has control of the throttle by Pixhawk using H_RSC_MODE 2 or 3. In Mode 1 it is direct radio control of the throttle and does whatever your radio tells it to. If you shut the radio off and the signal goes to 1000 pwm, then it do just that. If you want the software to control the throttle independent of the RC radio, then use Mode 2 or 3.

1 Like

Chris Thank you for the fast reply. So if i set my H_RSC_MODE to 2 and fly in auto and kill my radio after that (which would trigger a failsafe). The copter will not write ch8out to minimum right? It will keep flying in RTL or auto mode.

That is correct. Only Modes 2 (governor) or Mode 3 (software throttle curve) have control of the throttle independent of the RC radio. The RC failsafe is triggered using the collective signal, not throttle, in Trad Heli.

Please enable the radio transmitter CH8 out of control protection function, to maintain the PWM value to the previously set speed throttle line PWM value!

It is best to use an ESC with a governor for helicopters and let the ArduPilot system control the throtlle with RSC mode 2. RSC mode 1, even with the radio configured to hold last known throttle PWM, can’t compensate for collective pitch changes in the event of loss of RC signal. Which will result in sub-optimal performance in Auto flight mode in absence of RC signal, and could still result in a crash due to loss of headspeed if the FC calls for full collective pitch in a turn or something.

RSC mode 1 is handy for local flight where risk of RC signal loss is low. Governor is highly recommended for serious Auto flights.

1 Like

Use the RSC 1 mode with the ESC with GOV function. Exchange the 3-channel and 6-channel of the remote control transmitter to make the 6-channel control of the Pixhawk 8-channel, so that the horizontal scale of the three gears can be set using the throttle curve of the helicopter model of the remote control transmitter. The helicopter model of the machine’s mode switch to lock or release the ESC control signal, so that the transmitter’s 8-channel pwm value out of control to maintain the position to maintain the role of the model!

1 Like

Hi Chris, we tested our radio failsafe with h_rsc_mode 2 but it did not function as expected, here is what we did:

SETUP

The ESC is calibrated directly through Pixhawk. We followed the procedure in the wiki,
H_RSC_MODE 2 and low and maximum are adjusted and the set_point to close to the max

Here are our parameters trex450autonoRC.param (10.9 KB)

flight mode is set to stabilize, armed, motor turned on, ramped up and then flight mode switched to AUTO. The copter tries to navigate to the waypoint, we carry the helicopter (motor running loose) 5 meters away and 5 meters up. and then the RC is turned off and immediately system reports no RC Failsafe and motor stops as CH8Out goes to minimum PWM value. Apparently pixhawk did not take control of the ch8out and when the failsafe triggered it again directed the input to output.

Therefore if this was a real flight we would crash again. Is this behaviour normal or are we doing something wrong? pixhawk can detect the radio went offline but it also stops the main motor.

Here are the logs

Yes, you have a couple things wrong:
1.) You tried to switch flight modes to an altitude controlled mode before the engine runup was complete. That is not allowed. The software will flat-out reject the flight mode change. You were in Stabilize flight mode for the whole time.

2.) Your RC3 in from the radio only got to a low of 1124 pwm when the engine was running, FC armed. As I have highlighted in the screenshot below, your failsafe value is 1065. Since it never reaches the failsafe value on the collective it never activates the failsafe.

So how does pixhawk control ch8 when rc failsafe is on where it take the pwn min of ch8. Governor will not resolve that issue as i read h_rsc_mode 2 works. That mode is only sending setpoint value after arm. It has no function later on.

Actually, it does. RSC mode 1 is designed for straight thru from the radio and it does whatever the radio tells it to. RSC modes 2 & 3 are software controlled modes and enaged/disenaged by the RC radio on Channel 8.

With RSC mode 2 it sends a signal to the governor (either combustion engine or electric) and the governor in the ESC (electric) maintains headspeed according to the settings you have made in the ESC’s governor adjustments. That works regardless of RC signal being present. If RC signal is lost and the helicopter lands autonomously, the software will shut down the engine upon landing.

RSC mode 3 is the same as RSC mode 2, except it uses a software-controlled three-point V-throttle curve.

If you wish your throttle signal on RC8 OUT to remain lit in the event of loss of RC signal with RSC mode 1 you must configure your receiver to maintain last known throttle signal on Channel 8. And that can cause a crash if the helicopter’s autopilot demands full collective pitch because you have no governor controlling speed, and you have no software-controlled throttle curve. So the engine can lug, cause loss of headspeed, and the helicopter will go down in Vortex Ring State at full collective pitch. I would NOT recommend using RSC mode 1 for autonomous flight.

You can use RSC mode 1 with a governor if you configure your receiver to maintain last known value in the event of loss of RC signal. However, if the helicopter lands autonomously it will not shut down the throttle signal and the helicopter will sit there on the ground screaming away at whatever throttle signal you have the receiver locked at until the wind grabs it and tips it over and wads it up.

RSC mode 2 has a idle setting for combustion engines to run the engine without engaging the clutch. And a setpoint that sends the proper throttle signal to the governor.

RSC mode 3 uses the same idle setting but uses the RSC high mid and low settings for the V-throttle curve.

With ArduPilot it is recommended to use either governor mode 2, or mode 3 with software-controlled throttle curve with no governor for autonomous flight.

Mode 1 can be used if you want to change headspeed for some reason from the radio but precautions must be taken with it for autonomous flight.

The loss of RC signal in heli is detected by late or missing frames on channel 3 (collective pitch), not on Channel 8.

Hello Chris,

Thank you for the response.

I do try to replicate this failsafe scenario at home with blades out of my 450. I m running ver 3.3.3 on the heli with rsc mode 2 set. On the screen i am also monitoring the ch 8 out signal. My esc doesn’t have a governer function in it. But i m interested in the signal coming from pixhawk at this point upon loss of rc signal and that is where i am getting lost.

Now i took off from home while i am holding the heli and move away from home point like 4-5 meters and appr. 2 mt altitude. As i see from MP heli is flying with no error and i have 3d fix on.

I also uploaded a mission as well with takeoff and landing in the route and i set failsafe to continue with mission.

So when i turn the rc off, what is actually happening is the rc failsafe is coming to action immediately and i see ch8 out going minimum which shuts the motors.

So in this case what i m missing is the governor function at esc?

Just trying to be sure before trying this on air not to crash the heli.

No. Carrying it around by hand like that it likely thinks it either crashed or landed and disarmed and shut down. To set up your radio failsafe note the RC input on Channel 3. It will have a minimum pwm value with the collective lever at the bottom of it’s travel. Shut the RC radio down (some radios like mine will not allow shutting the RC down if it has a link to the receiver so you have to pull the battery on some of them). Now note the RC in value on Channel 3. You must configure you radio so it has a value below the normal low value and set the software to recognize that value as the no-RC signal radio failsafe value.

In Auto flight mode you do not have control of even the cyclic servos. The autopilot does. The only thing you can control is yaw in Auto. But you can’t fool the autopilot into thinking it’s flying auto by carrying the helicopter around by hand.

It doesn’t sound to me like you are setting up your Channel 3 signal pwm values properly for the failsafe. I have flown AC3.3.3 hundreds of hours and had the RC failsafe activate numerous times on auto flights when the helicoper gets out of range. Never had one shut down yet and it just continues like nothing happened. It will complete flying the mission, if it has to, with no RC signal (if you set the failsafe to do that).

2 Likes

We are working together with MamboJambo, apparently my account was logged in one the computers in the office.

Dear Chris,

I have one question, will the rsc mode 2 you described above work with an ESC but no governor function in it?

Thanks,
Tolga

Yes, it works. But you have to careful to configure your radio to hold last received value on channels other than 3. If RC signal is lost you don’t want the receiver to tell Channel 8 to go low or it will shut down the engine in flight if RC failsafe activates.

The software only looks for failsafe on channel 3 (unfortunately called “throttle” for heli’s, but it’s really collective). The Pixhawk will then control the throttle, for instance, if you have RTL configured for failsafe it will return home and land and Pixhawk will shut down the throttle upon landing and disarming with no RC signal present. But it is important to configure your receiver to send last received value on the throttle (channel 8) output during radio failsafe.

Thanks to Chris and the docs and videos, after some years of settings my 620 class flies very well; I read this topic because I flown with mode 1 H_RSC until today; then, I sold my radio and I was without radio for 1 months because the new was on the way; so I read the Joystick/gamepad for GS and yesterday I flown without traditional radio, but only with GS and gamepad; I note 3 things:

the first is that in RSC mode 1, when disconnectin gamepad, the firmware seems to memorize the last input of motor interlock (CH 8) of the traditional radio or RC OVERRIDE from gamepad, before entering in FAIL SAFE, and motor don’t stops, even in H_RSC mode 1 in wich, during the fail safe, the input read b y the pixhawk is zero for all channels; but for safe I changed to RSC mode 3 flat curve (I have electric motor with governor);

the second thing I learned, is about FS behavior with only GS (and gamepad contrller in RC override): the docs must explain better that: because of gamepad hasn’t physicals switch, but the motor interlock (CH8) is controlled with a sort of “summarize” or “incremental” control, in case of disconnection and reconnecting the gamepad, the firmware on flight controller resets the so called from me, “volatile channels” from gamepad (that was set the CH 8 with temporary buttons because it hasn’t got physical switch with on or off), like CH 8 and auxiliaries, to the TRIM value; so if the trim value of CH 8 is at minimum, at reconnection of gamepad, the motor stop because of the interlock disabled; fortunately I done many tests on ground in few days, and in flight I set the trim of CH 8 above the minimum, so if I disconnect the gamepad and reconnect, after the radio fail safe ON, the flight controller on “volatile” CH 8 reads that the motor interlock is enabled and the motor don’t stops, so the copter can continue the RTL withou crash because the motor is running, until I change flight mode according to ordinary;

the last things I noted is about the behavior of throttle FS and GS FS; if the there is no traditional radio as backup, but I fly only with RC override, also with GS FS set to mode 2 (continue flying in AUTO mode), it don’t continue in auto mode in case of lost radio signal from GS; it seems that after the lost of rc override mode, the firmware is looking for a traditional radio, and if Throttle FS is in mode 1 (always RTL), the helicopter do RTL; the only mode to continue the auto mission in case of GS lost signal, is to set both throttle FS and GC FS, to 2.

In conclusion, the docs and Chris videos, are very very well done and explained, and the firmware is very very safe; in general, the traditional helicopter firmware and Mission Planner GS, can be considered a professional platform.

I’m from Italy. Excuse me for my bad English and errors.

Thank you.

Hi Chris

If i bind servo8_function to RCin 3 which is direct throttle signal from Tx, will it be equivalent to HRSC mode 1 or not???

thanks so much

It will be kind of the same. Except that if you use auto land, it will fail to shut the helicopter’s engine down.

Using RSC Mode 1 is not a good idea. I wish that option was not even in the code. I had voted to remove it but it was decided to leave it in for now. In the 3.7 release we are at least changing it so it’s not the default anymore. Bill and I have been working on that part of the code recently.

Would highly suggest to use Throttle Curve mode instead. In order for the RC failsafe to work correctly your receiver must be configured to hold last value on Channel 8 if the signal is lost. Or if you are using No Pulses failsafe with SBus, it then uses the failsafe flag on the SBus.

If the receiver is not configured to hold last value, or using No Pulses with the Sbus failsafe flag, the autopilot will do exactly as it is told - if the signal goes low it will kill the helicopter’s engine.

thanks so much Chris.

บนวันพุธที่ 3 กรกฎาคม 2019 22 นาฬิกา 23 นาที 20 วินาที GMT+7, Chris Olson via ArduPilot Discourse, noreply@ardupilot.org เขียน:

ChrisOlson

    July 3

It will be kind of the same. Except that if you use auto land, it will fail to shut the helicopter’s engine down.

Using RSC Mode 1 is not a good idea. I wish that option was not even in the code. I had voted to remove it but it was decided to leave it in for now. In the 3.7 release we are at least changing it so it’s not the default anymore. Bill and I have been working on that part of the code recently.

github.com/ArduPilot/ardupilot


ChristopherOlson

AP_Motors:Heli - Throttle metadata and default

by ChristopherOlson
on 11:47PM - 22 Jun 19 UTC

9 commits
changed 10 files
with 207 additions
and 167 deletions.

Would highly suggest to use Throttle Curve mode instead. In order for the RC failsafe to work correctly your receiver must be configured to hold last value on Channel 8 if the signal is lost. Or if you are using No Pulses failsafe with SBus, it then uses the failsafe flag on the SBus.

If the receiver is not configured to hold last value, or using No Pulses with the Sbus failsafe flag, the autopilot will do exactly as it is told - if the signal goes low it will kill the helicopter’s engine.