I've searched this forum quickly, but couldn't find any one else mention this.
I bought my crazyfly last week and works like a charm: very stable, very responsive and quick as hell. But somewhere at the end of its battery life, it tends to go out of control for a bit. It suddenly stops responding to any controller input but keeps flying up for a few seconds, before crashing to the ground. It's definitely not out of range, and always happens at the end of the battery life. It's not too much of a problem indoors, but it can be dangerous outside. Yesterday when I was flying in my garden (over the grass), it suddenly flew up in a tree and broke a motor when crashing down.
My guess is that it's somehow not able to listen to radio input anymore, but keeps on doing what it was last told to do.
Does anyone else have this problem? If there are no existing fixes, I think some kind of check in the firmware could solve this. I want the thing to stop doing anything, or perhaps even land slowly, instead of flying away.
Uncontrolable when battery is almost empty
Re: Uncontrolable when battery is almost empty
That behavior doesn't sound good at all but we have not seen it before. Normally the Crazyflie will fly the hole battery charge but with limited power at the end of the charge. When the battery voltage drops below 3.0V is will turn off to not discharge the battery to much. To me it sounds like it drops the radio link. In commander.h you can adjust the behavior when the radio link is lost. If you know how to build and flash the firmware try decreasing COMMANDER_WDT_TIMEOUT_SHUTDOWN to maybe 600. Also if you are able to find out if this behavior is due to dropped radio link or not that would help us a lot.
Re: Uncontrolable when battery is almost empty
That fixed it for me. So indeed, my copter tends to lose radio power before it shuts down at the 3.0V level. I tested it a few times more and it happens at almost every flight, even though it's within a few meters of the crazyradio. Lowering this timeout prevents it from flying away when this happens, so that's at least a bit better.
But then another question from my side: why is the COMMANDER_WDT_TIMEOUT_SHUTDOWN set at 2000ms? When radio power is lost for whatever reason, why would you want it to keep the motor power at the last known level for a full 2 seconds? I'd prefer it to drop the power as soon as the connection is too bad to have full control. I set the timeout at 500ms now, allowing for some hick-ups in the connection, but preventing 'out of control' behavior when the connection is completely lost. Also set the TIMEOUT_STABALIZE to 300ms.
Curious to hear your opinion about what values are optimal.
But then another question from my side: why is the COMMANDER_WDT_TIMEOUT_SHUTDOWN set at 2000ms? When radio power is lost for whatever reason, why would you want it to keep the motor power at the last known level for a full 2 seconds? I'd prefer it to drop the power as soon as the connection is too bad to have full control. I set the timeout at 500ms now, allowing for some hick-ups in the connection, but preventing 'out of control' behavior when the connection is completely lost. Also set the TIMEOUT_STABALIZE to 300ms.
Curious to hear your opinion about what values are optimal.
Re: Uncontrolable when battery is almost empty
What could cause this is if the digital adjustable regulator outputs a higher voltage then it should. The digital voltage is supposed to be 2.8V when running from battery and 3.3V when USB power is connected. Maybe something is wrong so it is 3.3V all the time then I could imagine a behavior like that. Can you measure the VCC voltage maybe?
I agree the TIMEOUT settings might not be the best and they differ from situation to situation. If you e.g. have a FPV camera on and only fly around slowly you might want a longer possible recover time but if you fly more aggressively that is generally not a good idea. We will create a ticket for this and look into it. Generally would you say 300ms and 500ms works well?
I agree the TIMEOUT settings might not be the best and they differ from situation to situation. If you e.g. have a FPV camera on and only fly around slowly you might want a longer possible recover time but if you fly more aggressively that is generally not a good idea. We will create a ticket for this and look into it. Generally would you say 300ms and 500ms works well?
Re: Uncontrolable when battery is almost empty
How do I measure the VCC voltage? I'm a software developer, but don't know much about hardware and electronics yet
But it seems like a a possibility, though the battery status in the client seems to be accurate.
300ms and 500ms timeouts seem to work well for me, since I'm flying quite aggressively in not too big of a space. I can imagine that the ideal timeout would differ in other situations, when flying smoothly or with a camera. But even then I think 2000 is a lot, considering you might be ascending at the moment of radio loss, resulting in flying the crazyflie to the ceiling before possibly dropping to the ground. I'd prefer it to drop a bit sooner in any case. Might just be me though

300ms and 500ms timeouts seem to work well for me, since I'm flying quite aggressively in not too big of a space. I can imagine that the ideal timeout would differ in other situations, when flying smoothly or with a camera. But even then I think 2000 is a lot, considering you might be ascending at the moment of radio loss, resulting in flying the crazyflie to the ceiling before possibly dropping to the ground. I'd prefer it to drop a bit sooner in any case. Might just be me though

-
- Expert
- Posts: 162
- Joined: Thu Jun 06, 2013 9:56 pm
- Location: Munich
Re: Uncontrolable when battery is almost empty
Hey guys,
I actually really appreciate the 2 second timer! In my custom client I use to control the flie I added some basic sound effects (it beeps when it disconnects). That means I have two full seconds to run up to the flie and catch it before it disconnects! Must have saved it from 30 or 40 falls by now. On some days it disconnects pretty often...not just at the end of a charge.
I guess it might make sense to expose it as a parameter hidden behind advanced settings or something like that.
Cheers
I actually really appreciate the 2 second timer! In my custom client I use to control the flie I added some basic sound effects (it beeps when it disconnects). That means I have two full seconds to run up to the flie and catch it before it disconnects! Must have saved it from 30 or 40 falls by now. On some days it disconnects pretty often...not just at the end of a charge.
I guess it might make sense to expose it as a parameter hidden behind advanced settings or something like that.
Cheers