Autonomous Upgrade For FPV Drone Using iNav
After making the drone and testing out the automatic return to home, I became interested in making it fully autonomous. This is not possible with BetaFlight, the software I am currently using, so after a bit of research, I discovered iNav. This software will allow me to run waypoint missions and can run countless sensors that can open many opportunities for this drone.
Lucas
5/11/20243 min read
The first thing that is required to run iNav is a magnetometer or compass. I chose to use the HGLRC M100 5883 GPS with integrated compass. I designed a mount for the module where the other GPS was, but when I tested it out, I ran into many calibration and direction issues. Any time I would accelerate the motors, the compass would detect a change in direction. Everything else seemed to work fine so it didn't make sense to me why the compass would move. I knew that all of the different modules and wires in a small area could cause electrical interference which could sometimes affect the GPS itself, but it wouldn't cause any magnetic interference. That's when I remembered something interesting from my physics class; high amperage running through wires, like the ones coming from the battery on the back of the drone, can actually cause magnetic interference. We learned this by running current through a circuit with compasses along the wires. The force of magnetism is inversely proportional to distance squared so I just needed to move the GPS module a few inches away for it to not be affected. I decided to design a mount for the front of the drone, well distanced from any sources of electromagnetic interference. The drone's compass worked perfectly after that change in position.
My design has around 40 downloads so far, showing that others also had this issue. I feel good that I got to design a good solution to this issue and was able to help people using knowledge that I learned from school.
Testing Flight Modes
The feature that mainly perswaded me to install iNav is the mission control, used to plot waypoint missions. I plotted a quick mission but when I tested it, the drone would fly into the ground. When plotting the points, I set the altitude to 10 meters relative to the take off point. I kept trying different altitudes and point locations, but it still would not work. Later, I visited Wye Island on out boat and I decided to test the drone there. I tried switching the altitude mode from relative to homepoint to relative to sealevel. I set it to 20 meters (the elevation there was around 10 meters so I would have the drone at a safe 10 meters above ground. I started with a mission where it would fly out 50 meters and come back and land. It worked well, so I made it 100 meters. The drone was working perfectly, smoothly flying and landing.
The new GPS was also incredibly accurate, locking onto almost 30 satellites within 5 minutes(it was a very open area).
Next I tested the position / altitude hold flight mode. This mode uses the drone's accelerometers and GPS to keep the drone in the same place. It worked very well; I was able to push the drone and it would return to the same place. When active, the mode gives you partial control for small adjustments in altitude and horizontal position.
All of these features, such as WP missions, position hold, return to home, and loiter mode, will open many possibilities for future projects.
Payload Delivery System
I designed and assembled a system to release a payload with a servo controlled by the flight controller. I then tested it with a small metal weight and a parachute made out of a plastic bag I quickly put together. I flew the drone up about 50 feet and hit the switch on the remote. The payload was released and the parachute opened just before it hit the ground.