Today we did the previously planned waypoints flight, with the telemetry transceivers on. This allowed me to watch the UAV’s progress on my laptop screen, and saw that the UAV follows the path quite well:
It is worth noting that after reaching waypoint 4, the UAV hovered until it was given a RTL command. The flight plan that it was using contained a DO_JUMP to waypoint 1, however:
Doing an online search for “ardupilot DO_JUMP” reveals that many people are having issues with using it. The official description (http://copter.ardupilot.com/wiki/common-planning-a-mission-with-waypoints-and-events/#do_jump) is poorly written and actually manages to contradict itself. However, there is a post on the Github issues list for the project (https://github.com/diydrones/ardupilot/issues/2) that gives a much better description of the function, and answers the question as to why it did not work for me. It is caused by the lack of dummy waypoint at the end. It seems odd to me that Mission Planner will let users write a flight plan to a UAV in a format that doesn’t function correctly. It seems like having the DO_JUMP at the end of the file will never work, so it seems odd to not have a check for it’s presence.
We also found that the RTL command was behaving oddly. It seemed that when called, the UAV would return to 20m above the home point, and then attempt to land itself. According to the official documentatio (http://copter.ardupilot.com/wiki/flying-arducopter/flight-modes/rtl-mode/), the RTL function relies on a number of parameters. One such parameter (RTL_ALT_FINAL) will attempt to land the UAV if set to 0. Upon checking the UAV’s parameters list, it is infact set to 0 currently, explaining this behavior. RTL did behave oddly at another point in the flight however. I decided to see if I could take control from the manual controller by issuing commands from Mission Planner on my laptop (which I could), which was followed up by an RTL from my supervisor to get the UAV to come back to us. The UAV instead dropped to roughly 5m high in the air as though it was trying to land, before going back up to it’s regular height and executing a usual RTL. This can be seen in the flight log of the BarAlt and commands:
A bit after the 6 min mark, an RTL command can be seen as well as a drop in height (ascending again before reaching the ground). By looking at the DAlt value against the BarAlt, it can be seen that the UAV did indeed intend to do this:
It seems that the DAlt (desired altitude) would also drop to zero on occasion for no apparent reason. This did not seem to effect the flight. The UAV was quite shaky at times, but this is likely due to it not having been re-balanced since the modifications, as well as today being a reasonably windy day.
The GPS logs of the flight seemed to match up with the live logging quite well:
The loitering over waypoint 4 can be seen, as well as the backtracking 1/2 way towards 4 from 1 when I attempted to usurp the controller.