A drone that can autonomously generate a map of an environment
Type: Commercial, Social Impact
In July/August 2018, Northern California had a large number of wildfires. At that time, I was helping with some volunteer efforts and ended up considering a specific scenario: What happens when a building gets caught on fire? How can the firefighters evacuate the people when they don't even know where they are? I wondered what I could do to help. Robotics has always been my passion, and I decided to explore if the use of robots could help solve the problem. After a lot of research, I decided to approach the issue a few years later and came up with AMADEUS. The end goal of AMADEUS is simple: To be able to map out collapsed territory indoors, generating a map of the new layout. Ideally, it would also be able to identify where people are and transmit all this data in real-time to first responders. This would ensure that when first responders entered the building, they would instantly be able to locate and rescue people, ultimately reducing casualties and saving lives.
My project is an autonomous drone that can make a map of its environment. Everything is running off of a Raspberry Pi with Ubuntu 18.04 server. The Pi is running ROS Melodic and interfaces with a PX4 FCU. The drone generates maps with a LiDAR sensor mounted atop the device: This sensor measures distances with lasers, and through a SLAM algorithm, the Pi is able to generate a map of the environment. The drone is a quadrotor, controlled through autonomous ROS code that enables it to conduct simple movements (flying, hovering).
Although I had prior interest and experience in robotics before working on this project, I had to push myself in many aspects. I first had to learn how to design a drone, from the design frame to the component selection to the wiring. I also had to improve my custom manufacturing skills: A large amount of the structural components I made for this project were entirely my design, which helped the project more closely align with my vision. I then had to find a way to generate laser maps, which entailed learning both C/C++ and ROS, the framework I used while working on this robot. The advantage of ROS was that it enabled me to work with incredibly complex algorithms through its smart package management. I also had to develop familiarity with Linux; I had never worked exclusively on a command-line terminal before and learned a lot about working with compilers and regex.
I believe that this project has the potential to make a concrete impact in the world, and even has ways to evolve. It can help first responders with tasks that can save lives, and can also inspire others to enter robotics and aeronautics. I have shared my project with my school, where they can observe its development and growth, and I hope to evolve my project more in the future. This project also pushed me much further into DIY robotics, which I will likely keep up for a long time: After all, nothing is better than designing and making devices that can do the things that humans never could!