Design, Build, Test, Iterate

Posts Tagged ‘stabilization’

How to crash gracefully as components melt off your electronics in midair

Actually, I don’t really know how other than to build a tricopter as awesome as mine. Earlier last month, I flew my tricopter up to about 80 feet above the ground to test its range as well as controllability. Due to a shortage of my usual propellers, I had been flying with an oversized tail […]

More flight videos

Ever since I achieved stable flight, I have gone outside for flight testing almost every day for the past week. Check out some videos after the break.

Finally, flight!

My tricopter flies! Of course, I mean that very loosely, that it was airborne. Tuning the controller so the craft is actually controllable, however, is a task yet unfinished. In hindsight, my gains were much too low for free flight. Ground effect was therefore much more pronounced, and it took me a few tries before […]

How to correct the correction vector for an IMU

In a previous post, I explained how to correct for gyro drift by using the accelerometer’s reading of the gravitational acceleration vector. But how do we know the measured gravitational vector is accurate? Unless I build my tricopter with utmost precision and proper materials (i.e., not scrap wood cut with a handsaw), it’s impossible to […]

Tricopter single-axis PID control and integral windup

I changed how I set motor values (among other things) and invalidated my old PID gains. I figured out some new ones. Here’s a video of the current PID control behavior:

Tricopter: working PD control

The I gain is zero for now, but basic attitude control works. In the video, I first change the attitude by slowly moving the joystick back and forth. At around 0:43, I move the joystick faster and let go to see how quickly the tricopter can stabilize. The P and D gains are a bit […]

Tricopter: gyro damping and PID control (fail)

I’ve been working on stabilization code for the tricopter using direction cosine matrices but haven’t yet gotten too far because the DCM updates too slowly. I must be doing something wrong. For now, I’ve got basic damping (basically D control) using low-pass-filtered gyro outputs and some PID control that needs adjustment. Actually that’s a misnomer […]