Design, Build, Test, Iterate

Posts Tagged ‘control’

Z4 startup RPM drop — bad ICV?

For the past few months, my engine has been occasionally nearly (but never actually) stalling immediately after ignition. When it happens, it never occurs more than once. The engine idles at around 600 RPM after the warm-up period, and throttle response seems normal. I thought this might be caused by a clogged idle control valve […]

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.

Tricopter controlled flight!

Or, the best one-line bug fix ever. For two months, I had been thinking I was running my flight controller at 166 Hz while actually running it at a measly 31 Hz. I don’t want to go into detail about how that happened, but I have fixed the problem, and now it works. I am […]

A better alternative to position PID for multirotor control

Some systems can be controlled with a simple P controller, where a given offset is translated directly to some actuator output. Other systems, like the flight orientation control of micro aerial vehicles (MAVs), may require a damping term on the position to prevent a divergent oscillation of the vehicle’s angular position. However, the D controller […]

Tricopter yaw mechanism, revision 2

My old implementation of the tricopter’s tail rotor yaw mechanism was a hack job. The yaw mechanism is arguably one of the tricopter’s biggest weaknesses with regards to ease of control. Most implementations that can be found online involve some combination of a servo and one or two ball joint linkages. I had used a […]

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 […]

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: single-axis test rig and some notes on balance

I thought it would be useful to have a way to test control of a single axis of the tricopter in a safely constrained manner, so I built a rig to do so: The rig is made of scrap aluminum I found in the room bolted to a cutting board that is clamped to the […]

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 […]