Hi there,
I'm writing to report a very likely bug affecting at least firmwares 3.1 rc8 to 3.1.2 (), at least for hex X frames. The bug manifests when RTL is the last step of an AUTO mission and RTL return altitude is different from the current altitude. The drone crashes consistently in these conditions. Additionally, the drone crashes from LOITER after a non-deterministic time - sometimes is quick (tens of seconds), sometimes it can loiter for minutes. In both cases the symptoms are the same: the drone goes from hover holding output (motors ~ 1600) to shutting down 1-2 motors in 100-200ms, and then shutting down the others in another 100-200ms. The way it shots down the motors is very specific: it reduces throttle to 12xy where xy is the same for all motors. In the attached logs for example, after LOITER the motor commands are as follows:
RCOU, 487396, 1695, 1645, 1672, 1667, 1443, 1874, 32767, 32767
RCOU, 487495, 1523, 1597, 1517, 1602, 1231, 1824, 32767, 32767
RCOU, 487595, 1398, 1421, 1368, 1451, 1231, 1581, 32767, 32767
RCOU, 487696, 1231, 1231, 1231, 1231, 1231, 1231, 32767, 32767
RCOU, 487796, 1231, 1231, 1231, 1231, 1231, 1231, 32767, 32767
RCOU, 487897, 1231, 1231, 1231, 1231, 1231, 1231, 32767, 32767
RCOU, 487996, 1231, 1231, 1231, 1231, 1231, 1231, 32767, 32767
RCOU, 488096, 1329, 1444, 1401, 1372, 1231, 1545, 32767, 32767
RCOU, 488195, 1392, 1380, 1545, 1231, 1299, 1474, 32767, 32767
RCOU, 488297, 1404, 1369, 1501, 1271, 1231, 1545, 32767, 32767
Obviously 1231 is not sufficient to sustain flight - the fact that all motors have the exact same value (1231) reinforces the likelihood of this being the output of a bug.
The RTL example is similar - the RTL command is executed right after the first RCOU:
RCOU, 742799, 1697, 1603, 1542, 1756, 1571, 1728, 32767, 32767
RCOU, 742898, 1241, 1241, 1241, 1241, 1241, 1241, 32767, 32767
RCOU, 742799, 1697, 1603, 1542, 1756, 1571, 1728, 32767, 32767
RCOU, 742898, 1241, 1241, 1241, 1241, 1241, 1241, 32767, 32767
This time the motors are all 1241 - interestingly different from 1231, but still very close, not nearly enough for flight and all equal in all motors.
In case you wonder if there is something with the drone, both bugs have been reproduced in two different drones several times: the loiter crash three times and the RTL crash twice.
In case it helps, in addition to the dataflash logs I have telemetry logs from mission planner as well as videos, but I assume that the dataflash logs are sufficient, as they had enabled practically everything relevant (I think) - certainly they had ATT, CTUN, NTUN, IMU, RCOU, GPS, and RCIN.
If this is a known bug, please drop a line here, if I can help in tracking it down, let me know.
Best,
Mihai
Replies
I think this just might explain one of the crashes I had with my X8.
Mihai, can you share some details of your multirotor? It sounds like you're still having some instability problems, and I wonder if there's something wrong with the setup. Is this thing really big?
Sure,
it's a bit of a pig - AWU is 2kg (4.4lb). It's a hex X frame, using Turnigy Talon 2.0 carbon fiber frame (super-sturdy BTW - heavy but very strong), with a 3S 5000mAh nanotechnology battery, 800kV motors, 20A Turnigy Plush ESC.
The motors:
http://www.hobbyking.com/hobbyking/store/__43369__NTM_Prop_Drive_28...
It swings 12"x4.5" propellers.
Tuning was a bear, but once it was done I got higher P (0.20 - 0.22 vs the default 0.15) and much higher D (0.014 vs 0.004 if I recall exactly). With this parameters it is ROCK STABLE! When it has good satellite reception, it stays put even in 30mph gusts!
Oh, and I don't have 1 of them, I have 6-7 (eventually will get to 15 - still building them).
Let me know if you have any questions or concerns.
Thanks,
Mihai
hex.jpg
Thought I responded to this yesterday?
The APM displacement from CG, I'm not sure that's a problem. I have the same situation on most of my helicopters. In the past I have had some issues where I wondered if this was the cause, but I'm not ready to blame it on that yet.
Thank you Rainer. As far as I can tell the hardware is working fine - my problems are related to giving a command. Is having the APM centred important (and if yes, why)?
Thanks,
Mihai
I'm not sure how close to center of gravity the APM should be but lets say it is mounted rearward of the the CG. When the copter pitches forward the accelerometers will sense an upwards and forward movement in addition to the rotation. When the APM is mounted on the CG only the rotation will be sensed and not the false indication of vertical and forward movement. It is possible to mount autopilots away from the CG by telling it where it sits in relation to the CG. It can use that information to calculate the actual movement of the airframe. I dont think APM supports that. I would imagine it would hog CPU power to make those calculations. Pixhawk might have the power to handle it.
Makes sense. I'll move them.
Thanks,
M.
Im going to go out on a limb here and say you might be under powered. The motors specs on 4s using a 12x6 prop is only 1.2kg. If your all up flight weight is 2kg on a 3s pack and less pitched props your quad might not have enough reserve power to stop itself, or correct itself in a descent if it gets into its own wash. If fly a QAV at a similar weight buy use nx4008 motors on 4s swinging 11x4.7 props. 10x4.7 props will fly it, but I run into yaw issues, and stability issues in descents because there isn't enough headroom left on the motors to compensate or make changes. It is more noticeable as the battery voltage drops. Moving up to the the 11 inch props brought my throttle mid back to around 500. You should up to 4s packs as that is what the suggested voltage is for that motor and propellor combination. I knew I was on the edge of the weight capabilities of my current setup when the change from 4000 to 5000 mah packs made a huge difference in the throttle mid.
Of course I just looked at your pic and realized your flying a hex. So the math works out different! But your APM looks pretty far off from the center of the frame. That might be throwing the corrections off it thinks it needs, because the accelerations it feels will be different than what it was expecting.