Lost my bixler flying an APM 2.5 on the weekend. I've nailed down a few of the causes (including user error), but could use some help with the last one.
I flew a good mission with a fairly conservative set of waypoints to start with, staying very close to the field I was flying from. Buoyed by that success I programmed in a more ambitious set. Take-off was fine, but as soon as I switched to Auto the machine started making for the last remote waypoint. Once I worked out it wasn't just taking a casual route to the first waypoint I flicked into RTL using the Mission Planner as I was beyond transmitter range. This seemed to fail, but but I think the APM kicked into RTL due to telemetry link issues anyway. Initially the plane seemed to be making for the launch site, but it quickly became apparent that it was veering off course. The Mission Planner was updating very jerkily. I lost sight of the plane. Telemetry stopped updating, and I never regained visual contact with the plane. I had deliberately chosen a mission over bushland south of Sydney and eventually bashed my way to the last reported telemetry location. I was
pretty sure it wasn't going to be there, as its reported altitude was over 100m AGL, and sure enough it was no where to be seen. Telemetry suggested it was actually heading towards the launch site when contact was lost, so I followed that path but the bush was pretty dense in parts and I found no trace of the plane.
So there appear to have been a few key problems, most of which I have identified and can sort out myself.
1. I somehow managed to set the current waypoint to WP9 instead of WP1 when I programmed the course. Uppercut for me.
2. I hadn't tested RTL at closer range. Second uppercut.
3. The telemetry link was all over the shop. Graphing the rssi signals for the flight shows the link dropping right out at various intervals. The plane has seen some heavy landings (I'm learning!) so it's possible that the remote end was damaged, but because it was intermittent I never noticed.
4. I hadn't dropped the telemetry link rate to assure myself of increased range. A third uppercut.
5. When RTL kicked in, things seemed to go very askew. Looking at the log (incomplete though it is), it seems like the APM had the right intended course and wind-corrected course. But the GPS track shows it travelling at 45deg plus angles to the right of that intended. The GPS lock was good, with 14 satellites visible. This screenshot demonstrates some of the problem:
This last issue has really got me stumped. I don't mind finding out that I screwed up, but I'm having trouble working it out from the data available. I've attached my log file, if anyone has any ideas as to what was happening at the end of the final flight I'd love to hear it, and very grateful for any time spent looking at it.
And of course, I didn't have a way to find the plane if it went down without a solid telemetry link. Fourth uppercut.
Yeah you became a victim of the same few weak points in the APM system as I ... I had several similar experiences, and for me it bolied down to:
- It is not good that MP is so hard to get to connect with the UAV - having to flawlessly read an entire list of parameters before you can get to see where your UAV is, much less call it back. Trick: Use CTRL-T instead of the connect button. You cannot configure the UAV then (and if you try, you get locked out with a black screen for some time, so don't try) but you can follow the flight progress and perform actions.
- RTL takes some knowledge to work with, at least in hilly terrain. The last time I lost a drone (2 days ago!) I noticed power was running out faster than expected and flicked to RTL via telemetry. That should have been safe even with some hills in between, but to my horror, I saw the plane beginning to descend. It really should not, as I had ALT_HOLD_RTL set to higher than the plane was (triple checked that).
Now I wanted to resume waypoint flight and shortcut to a WP on the return leg instead. Next bummer, because I could not. There was only WP0 on the drop down in Actions. Shortly after, while fumbling with restarting MP and trying to re-read the WP list, loss of telemetry and loss of the plane. I even did not get its last position noticed very well and the tlog file had not recorded anything since 10 minutes before. This could be a drawback of the CTRL-T shortcut to connnections.
Later, I dissected the code and found that the number of WPs in that goto-waypoint drop down only updated to the number present in your mission when you save the WPs from MP into the UAV. Going to the field with a UAV with a pre-loaded mission, you cannot use goto-waypoint. Not even if re-reading the mission into MP.
- The whole system is not as mature as you and I probably expected... of course I am responsible for the outcome of my expectations..
I only once had a serious failure of APM itself, but with MP and with a simple home made telemetry link, I think I can say now: Don¨t fly beyond RC range with APM and APM MP. There is a high risk that you won't get the UAV back (and maybe even cause injury or damage somewhere).
Your flight trajectory being so far off the compass heading indicates either lots of side wind, or compass interference from high current electric (battery to motor controller) wires,
Only just starting my build, but had planned to write up a maintenance and pre-flight check for onsite safety and functionality. Soon as its complete I will post. but as exciting as it is it is always good to do a check of all connections before sending it back in the air. I have seen many experience flyers even mid session, ie before take off, after landing and re-take off...
From your tlog it looks very much like your plane did its best to get home, but it was heading a totally differnt direction from what it thought.. Did you have high current wires running close to the APM?
Did you notice whether the plane was pointing its nose in the direction of movement in MP when gliding w/o power?
Søren Kuula thanks for the replies. Unfortunately I did not have visual contact at this point, so I have no visual confirmation of the planes orientation.
That said, there are a couple of things that make me think that the reported orientation is unlikely. Firstly, there was not a lot of wind at ground level. That snapshot that I posted shows a wind velocity of ~2.4m/s and wind heading of ~190deg, which roughly corresponds with what I was observing at ground level, which was up to 10km/h of wind from the north. Of course it's always possible that there was a gust, but to result in that triangulation between velocity and plane heading it would have had to have been close to the aircraft velocity, or ~50km/h. There was certainly no hint of that kind of wind 100m down at ground level.
The battery + and - wires were certainly not right under the APM, but within 10cm. However I'm dubious about this as a cause because the attitude/track correlation over the first part of the flight was much closer, and made rough trigonometric sense when looking at the reported wind strength. A shift in position during the flight is possible, but seems unlikely (no violent manoeuvres, no apparent strong wind gusts).
Mick, at one point in your flight the plane appears to be flying almost backwards which is obviously not possible so the mag or gps was doing something very odd, the arc in the flight path just before that looks like it was actually flying without guidance although the GPS was reporting position. Andrew Tridgel would be one person to analyze your log properly so it might be worthwhile dropping him a PM and asking him to have a look.
A big thanks to @AndrewTridgell for taking the time to look at the problem, and even more time to explain it to me.
I had the COMPASS_LEARN parameter set to 0. I only vaguely remember setting this to off, and it most likely stemmed from me not understanding what it did. I may possibly have confused this with COMPASS_AUTODEC and thought that if I entered in the local GPS coords to get local declination I could then turn off the auto features as I was always going to be flying locally. It would have been OK if I had set COMPASS_USE to 0, which would have told the APM to use the GPS to navigate bearings instead of the compass, but I didn't do that, So the result is that in the time before I set COMPASS_LEARN to 0, it calibrated the compass offsets to the magnetic environment at that time. I then turned it off, and executed many changes to the configuration of the plane; added a camera, moved the battery, and last but definitely not least, removed a neodymium hatch magnet in close proximity to the APM. As a result, the compass offsets were way off, and when the plane started trying to head home in RTL mode, began a very long heading spiral that did not end up any where near home.
I guess this has been a painful and expensive way to learn that the APM needs to be understood to a better level than I bothered getting to before its behaviour will match your expectations. However, it has also given me the confidence to order another APM (3DR, you owe Tridge a commission!) knowing that it really was user error.
Thanks for the info. As a FYI for others:
The compass feature is discussed here http://code.google.com/p/ardupilot-mega/wiki/RCSetup though there is no mention of the parameter, but it does fully cover the topic.
The parameter is mentioned here http://code.google.com/p/ardupilot-mega/wiki/APM_Parameters#Learn_c...(COMPASS_LEARN)
but the explanation is not in depth. It would be great if the parameters in the wiki that are auto-generated linked to relevant sections in the manual. Would help people before they turn a feature on/off. As it would help that the wiki linked to the auto-generated contents of the parameters.