In this special Pi day, I wish all the community members my warm regards.
For this blog, I would like to write up some brief facts about a project which I developed based on Raspberry Pi. The module used is the Raspberry Pi 3B. The function of the module is to act as a companion computer for an unmanned aerial vehicle (drone), that too developed manually using an S550 kit. Ok, let's roll!!
What the drone basically does is that, it is tasked to follow certain way-points, scan that area and if finds some nasty things, report it back to the home base. In our case, we provide the way-point information. It traverses each of these way-points automatically and checks if there are any humans present in the area with the help of the attached camera. If it happens to find someone, their location is reported back to the base. The drone can be any multi-rotor, equipped with Raspberry Pi 3 as a companion computer running on Ubuntu Mate, in additional to the Pixhawk 4 flight controller. We have used an S500 frame to build the drone. The bldc motors are of 920KV boasting a 9045 propeller on each. Details of building a multi-rotor are available online which I wish not to repeat here again. The connection between Raspberry Pi and Pixhawk was based on serial communication. For creating automatic way-points, a variety of software such as QGroundControl, Mission Planner, etc are available. Drone-kit was also used for the simulations that were done to finalize the mission capabilities of the drone. There is a great set of tutorials by Tiziano Fiorenzani on setting up and using drone-kit in various drone applications. We used drone-kit and its APIs to define and execute way-point missions on the real hardware as it is based on python. Raspberry Pi is used to manage and execute these tasks, detect humans and report back the location to home base. A Logitech C270 HD Camera is used for image capture. Rpi cameras can also be used. Ublox NEO-M8N GPS Module with Compass is used for localization and navigation. The software implementation on the drone is purely based on Python. Drone-kit is a software framework and platform that can be used to develop custom APIs for controlling a variety of drones running on ArduPilot firmware. The backbone of this framework depends on python and MAVLink modules. Using drone-kit APIs, we are able to call functions that can carry out specific tasks such as drone takeoff, land, position control, way-point execution, etc.