It Drives Like A Robot

The result of a day of software head-bashing: getting your alleged air vehicle to behave like an awkward robot on barbiturates.

Only the Z-axis yaw controller is complete at the moment, and it still needs some tuning. The job of this controller is to keep the yaw rate of the vehicle under pilot control – such that it doesn’t spin in place and can track (relatively) straight. It adds an equal constant offset to the tilt angle of all the fans as to induce a spin about the vehicle’s vertical axis. This has a few issues – namely the gyro is a 300 degree per second full scale type, and this vehicle should never, ever be going 300 degrees per second in any direction. Hence, I really get to use only a few least-significant-bits (LSBs) of the analog reading from the sensor, making the control a little granular. I still need to play with filter speeds and gains as a result, but it’s kind of working.

The fans are otherwise controlled open-loop by the aileron and elevator sticks of a standard airplane radio. The Z command is mixed into the directional command. Otherwise, I haven’t coded up the pitch and roll controllers yet – hence my desire to stick to the ground and apply just barely enough throttle for the vehicle to break friction. The vehicle’s controls were therefore a rotation rate on the Rudder stick, and two planar translations using the right stick.

As seen in the video, it’s distinctly right-side heavy, so I’ll shuffle batteries around until it’s mostly balanced without a controller.

Tomorrow comes diddling with the Two Orthogonal Segways part of a quadrotor: Two Orthogonal Segways and a Robot.

A Slightly Less Sculpture-Like Quadrotor

Greetings, Internets. What’s the deal this time, I can’t even finish something before it goes live?! Anyways, to answer pretty much all questions about why the thing may or may not work, here’s a nice little video.

That’s right, it wiggles. Having no left-handed fans (ball is in your court, Hobbyking!), I could either use movable vanes or fixed angularly mounted fans to cancel the resultant torque from everything spinning in one direction. And by Robot Jesus if I’m going to have to mount something cockeyed or make something motorized and adjustable, I’m gonna do both of it at once. Hence, 1 dimensional thrust vectoring. Would that be like, thrust scalaring or something? The controlled wiggling should also let the vehicle translate and rotate without requiring thrust differential – it’s pointing the exhaust opposite the direction it wants to move the most in. This is the riskiest part of the whole project, and I am itching to see if it even makes sense.

As the video shows, the electrical system is now fully wired up and ready. I spent the evening coding up a storm, getting some basic running code completed that lets me test the  servos and determine their correct directions, and also calibrate the Turnigy S100A-HV controllers in software (as opposed to me twiddling a stick).

This is the primary wiring for one side. I ended up ditching the switch-in-the-middle idea after determining that the channels of the HK Quattro battery charger which charged the “high side” battery pack would also be mistakenly supplying power to the controllers. To eliminate this problem, I’d either have to add a second switch (pointless) or isolate all the battery charger channels from each other.

Turning the Quattro from a single 4-channel charger into four isolated one-channel chargers takes a little bit of trace-cutting and the result needs 4 independent isolated power supplies, like laptop or monitor brick adapters. It’s been done before on the Jedboard project, with a different model, but the Quattro isn’t that different. I’ll throw up some details on it later after my aforementioned laptop power bricks arrive.

Once I decided to go with the four channel isolated charger route, I wired up the power normally – the master switch governs the positive battery rail only. There are two switches on my switch panel, and the little one is a “precharge bypass” for the larger. Flipping this switch on before the larger key switch powers on the logic and also connects the controllers to the battery through a 10 ohm power resistor, letting the capacitance fill up slowly (instead of stepping from zero to 40 volts instantly, which would theoretically result in infinity amps). I decided there was enough bus capacitance involved in this whole system to warrant a precharge circuit.

I whipped up a quick charger panel with Deans connectors. The “isolation required” notice is just to make sure I never try shoving all the leads into eachother. There are no cell balance connectors here, though the packs have them; I’m going to balance the cells on a need basis only.

There was really no “signal wiring” to speak of for this build – the signals just plugged into eachother. In the center of the show is a 2.007 Arduino Nano incubator board, which was custom-made, custom-paid, and cuuuuustom-fitted for the 2.007 class.

Each circuit has a 5v BEC module that feeds into the carrier board. This gives me a degree of redundancy in the logic power and also relieves the stress of feeding four (or more?) unhappy servos from one BEC. The BECs are the entry-level Hobbyking HV 3 amp unit.

There’s nothing left but the software. Or is there?