Today I’m going to talk a little bit about a new side project I’m taking on. In short, I’m going to dabble in the world of autonomous flight.
Sarah and I got into the RC aircraft hobby years ago, before drones were “a thing”. She had a fixed-wing platform that she used for shooting video, and even has a YouTube channel with a bunch of her footage. She also worked for a while at a company that did aerial mapping using a large drone.
I was more into single-rotor helicopters, and wanted to get better at flying them. They’re actually quite challenging!
Over the years, the hobby had dwindled a bit for us, but I’ve been starting to have some renewed interest in electronics and robotics lately. So autonomous flight really appeals to me right now. I like the idea and the challenge of making something fly on its own, and pushing the limits of what it can do without human intervention.
I’m going to start small. I ordered a little quadcopter kit, and I’m just getting started on building it. I wanted to get a kit, rather than a “ready to fly” system so that I could get hands-on experience with building one from its components. That will help me in the future when I need to replace components or add new functionality to the platform (more on that in a bit).
Quadcopters (and multirotors in general) can get pretty complicated, but in their most basic form, they only really need three things: a frame, a power system, and a flight control board.
The frame is pretty self-explanatory. You need something to attach everything to! I opted for a frame with detachable arms. This way if I crash and break one arm, I don’t need to replace the whole frame.
The power system is the more complicated bit. It consists of all the components that make the quadcopter go. This typically includes a battery, a power distribution board (PDB), four motors, four propellers, and four electronic speed controllers (ESC’s). Putting all of these things together is the most technical part of building the platform, and involves a good bit of soldering.
Also, sourcing the various components can be tricky. You need to make sure that all the various electronic components that you choose are going to play nicely together without drawing too much power or making anything overheat. The nice thing about buying a kit is that a lot of those decisions are already made for you, thank goodness.
Finally, there is the Flight Controller, which is a small microcontroller that includes several sensors and connects to the ESC’s. Unlike simple planes and helicopters, quadcopters and multirotors usually don’t fly directly from signals sent by the transmitter. Instead, those signals are interpreted by the Flight Controller, which in turn runs the motors and makes the quadcopter do what you want (e.g. increase throttle, bank left, etc).
The Flight Controller can be very basic, or very sophisticated; all the way from simple control mixing, to advanced stabilization or fully autonomous flight. Think of it as the “brain”, and depending on which one you use, it can be quite smart.
My kit came with a pretty basic Flight Controller called a CC3D. This controller will run an open source firmware known as LibrePilot, which I intend to try out. Once I get to the point where I can fly the thing, I’ll start hacking the code a bit to see if I can make it do anything interesting.
Later, there are three things I want to do with this platform, if possible.
First, I want to play with FPV. This stands for First-Person View, and it’s where you have a camera on the quadcopter which streams a live feed to a pair of goggles. The pilot flies from these goggles, as if you’re sitting in the cockpit, rather than through line-of-sight.
Eventually, I’ll want to upgrade the Flight Controller to a much more sophisticated one called a Pixracer. The Pixracer runs firmware called ArduPilot, which has very advanced autopilot features. It can do fully autonomous flight from start to finish. It will take off, fly a predetermined route, and land back where it started. I would love to get that up and running, and start hacking the code.
Also, I’ve been learning a lot about AI lately, and would love to incorporate it onto the quadcopter. It would be really cool to add the ability to process a camera feed to do things like follow an object or avoid obstacles.
So that’s the plan. Expect more articles to show up as I work through the build and try out various projects and experiments. I hope you enjoy the journey!