Following on from Tridge’s article (here), this article focuses on the bottle drop malfunction in CanberraUAV’s flight at the UAV Outback Challenge 2012.
The aim is to show the evidence and theories about why/how the bottle came off, with an emphasis on post-flight analysis on the flight logs. This will hopefully assist other users and developers in analysing their own flights.
It was obvious that the bottle had come off mid-flight. The parachute became tangled in the propeller. There was a large chip in the propeller that indicated a large collision with it, possibly from the bottle (note the propeller was brand new at the start of the competition).
As for any investigation, the aim is to review the events and data leading up to the event of interest. Fortunately, we have full flight logs (here). They were captured via MAVProxy. The analysis was performed using the Mavlink examples.
We had our bottle drop sensor (digital microswitch) connected to the voltage sensor on the APM.
Considering the speed drop after the bottle drop, a reasonable theory was that bottle “hung around” (possible caught on the tail) for a while, adding drag to the UAV. However, the throttle compensation needed to maintain cruise speed was needed throughout the entire flight after the bottle drop. This indicates a permanent effect – possibly engine damage.
Let’s take a look at that:
mavgraph.py flight.log VFR_HUD.airspeed VFR_HUD.groundspeed SYS_STATUS.voltage_battery:2
(The “:2” tells mavgraph to use the right-hand axis for the aforementioned variable)
This graph shows us the speed did definitely go down at around 13:56, several minutes after the bottle drop sensor showed dropped. Thus there was some time between the bottle coming off and the engine being affected.
Also of interest is the “almost drops” 5 times before the final drop. This could indicate that the microswitch was rapidly switching on/off for ~15 seconds on a number of occasions. Possibly the bottle was already loose and was rolling off the sensor.
The question is why the bottle was rolling off the sensor at these times. There seemed to be a possible relation to groundspeed though.
So, let’s have a look at what direction the UAV was flying in:
mavgraph.py flight.log VFR_HUD.heading SYS_STATUS.voltage_battery:2
We can also look at the UAV’s roll and pitch:
mavgraph.py flight.log ‘degrees(ATTITUDE.roll)’ ‘degrees(ATTITUDE.pitch)’ SYS_STATUS.voltage_battery:2
(note roll and pitch are logged in radians. Mavgraph can do the conversion though, and any other basic maths)
As for the final drop, it would be possible that this would have imparted a large force of the UAV – if it was a sudden, forceful event (such as the propeller initially getting fouled with the parachute). So let’s take a look at the accelerometers and gyros for any evidence of this:
mavgraph.py flight.log RAW_IMU.xacc RAW_IMU.yacc RAW_IMU.zacc SYS_STATUS.voltage_battery:2
Thus the event would have not been particularly violent. It was most likely spread over some time.
Thus, given that:
It is our best guess that:
And that’s how you analyse an incident with your UAV/drone:
Note: a full list of all the MAVlink datafields collected in a standard log is here. Note not all autopilots use all the datafields. Some may be blank.
Comments are closed for this blog post