Last week I participated with the MAVLab team from TU Delft at the International Micro Aerial Vehicle Conference and Flight Competition. The awarded points increased exponentially for smaller sized drones. Therefore we participated in two mission elements with a CX-10, which was by far the smallest drone in the competition.
The first mission element was part of the indoor competition. The drone had to fly through a window into a house, and leave through another window to exit the house. The second element was in the outdoor competition, where the drone had to identify victims inside a house by looking or flying through a window.
Both missions were performed autonomously using feed-forward control. Basically, the control inputs for the entire flight were designed in advance. For short flights and limited external influences, this will result in a relatively repeatable flight trajectory. For indoors, this was no problem and the CX-10 went through both windows within seconds. For the outdoor competition, it was a bit more challenging because of the strong winds that day. The CX-10 did not fly through the window as intended, but it was still able to identify all three victims inside as can be seen in the video below.
The CX-10 won both competition elements it participated in. The jury really liked the out-of-the-box concept. It was the only drone that did those mission elements autonomously, and was also a lot smaller and cheaper than the competition. Therefore we were rewarded with a special award. Furthermore, we ended third in the indoor competition and would have been first in the outdoor competition if we had not been disqualified.
The CX-10 was controlled from a remote computer. No interactions from a user were required so it was considered autonomous. The original CX-10 transmitter was hacked as described in a previous blog post. To record flight trajectories, the HobbyKing 6CH RC Flight Simulator System was used. In the outdoor mission, the CX-10 was equipped with a Boscam CM205 camera and a 70mAh LiPo battery. The CX-10 was only able to carry the camera if it was charged with a special charger. The standard USB charger cable charges the battery too fast which reduces the performance and lifetime. We used a Rick Ruijsink charger to keep the battery quality high.
The software to record and replay trajectories was written in C++ and Qt5. It is made publicly available on my github page. Since it was written in a short period of time before the competition, the code is not very clean. Some parts were implemented last-minute. However, I still want to share it with the people that are interested. It also contains parts which were meant to identify a rope and maintain an altitude above it, but this did not work (in time). Feel free to contact me if you have questions.
For the competition, I did not change the firmware inside the CX-10. However, it is definitely possible to change the firmware. I’ve successfully done this in the past, but it did not provide any advantages at this time. It would be really interesting to see open-source firmware running on the CX-10 as good as the stock firmware, or even with additional functionality such as telemetry. Hopefully we will see more of these small drones with extended functionality in future IMAV competitions!