This Sunday we got serious about putting it all together: building our own mini quadcopters.
Kenn gave some insights into the mathematics behind keeping an unstable system dynamically at rest. Same thing as balancing a broom on a fingertip, just that your head does not need to do a mathematical development over 27 pages to do the inverse of the 4D matrix.
No we didn’t do that either. So it was: the transform matrix is A, and to get our values, we need A-1.
Math is cool, it proves stuff that you say is intuitively correct. Like that you need at least 4 propellers, that 2 have to run in reverse, and that those need to be on opposite sides of the same arm. Else A-1 does not exist and your copter is impossible to fly. It’s like the division by zero in matrix. Did Neo do that in the movies?
The build was quite easy as we got several 3D printed parts in the kits Kenn provided.
These parts were printed on a refrigerator-sized 3D printer in an American university, but Guilluame thinks the Ultimaker can build the same parts.
The concept is built around the idea that weight is the biggest enemy to flight. The heavier the UAV, the more energy involved in a crash, and the higher the likelihood of breaking things. So the UAV always needs to be light as possible. Here, the arms are made of carbon fiber kite tubes, held together at a center brace. The brace does not need to be very strong, since the quadcopter only weighs ~150g, which means each arm is lifting ~38g. That’s about the weight of a chunk of baguette bread. Compare that to the tensile strength of the carbon fiber and see that the model is far stronger than it needs to be.
The middle plate is FRP, which rigidly links the carbon fiber tubes together, at the same time as providing stiffness and a handy platform for mounting equipment.
Build a cross, put the base plate on.
Strap motors on and solder the power ends together. Putting the motors on is easy: just some double-sided tape and zip ties. Remember, the goal here is to be crashable, so extra emphasis is paid to having easy to repair assemblies!
While putting motors on is easy, soldering the wiring harness never is. 4 motors have to connect to one battery, which has led to countless variation on the internet, but never one approach to rule them all. At the syn2cat, each hacker went his own way, making a wiring harness to fit the custom direction they’re going with their quads.
Place the battery. Nicolas Petit has a nice paper describing the advantages of placing the center of gravity higher instead of lower.
We use the STM32F3Discovery board, second from left. It’s big, but it’s an awesome value. For $10, each hacker gets a 3-axis magnetometer, 3-axis gyroscope, 3-axis accelerometer, and ARM Cortex M4 processor, with an integrated hardware debugger to boot. Hackers who want to upgrade to one of the smaller boards in the picture will be able to micronize, but at a cost of ~$100.
There is no mount, so it’s Styrofoam and rubber bands. This makes it easy to repair and rebuild.
Kenn also came up with a nice idea to raise funds for syn2cat. Auctioning off bling bling stuff for the copters. There were LED strips, light fibres, better chargers, and an OSD display for putting your telemetry on a video stream.
We got a nice overview of the software by Vinz Kessler, one of Kenn’s fellow developers from Tau Labs. How to get the software, compile and start. And how to connect the controller board.
Now it only needs to get connected to the receiver, and mount propellers.
Then it should fly, if the software is OK. So flashing the autopilot onto the device.
At the end of the night, we had two quadcopters almost ready to fly. Ten more left to finish.
The first flight tests will be this week, and within a couple weeks everyone should have theirs flying. Keep watching this space for upcoming video of 12 sub-$200 quadcopters in flight.
Nice job there! I’m planning on doing my own quadcopter these days. Looks like you came up with some interesting ideas there.
Don’t you have plans on developing a nanocopter (https://www.youtube.com/watch?v=AiCFtmdrvHM&list=FLXgyKJ7rzillkzxbBtnbk_A&index=1) ?