These lasts weeks, I work a little on the first idea that makes me renew with DIY electronics. I won’t currently tell what it is all about, I’m not ready for that now. But I want to share what giving me a headache for now. The idea is to make a plane tilt and lift, following the movement of three servo actuators. The following video of the cardboard prototype demonstrate the mechanism.

Recently I replace the mechanical part with a RC helicopter swash plate. It’s much more efficient for this prototype.

I tried to do the formula myself, but I’m really rusted in trigonometry. A friend’s coworker give me great help. He wrote the formula I needed to make the motor move like I imagine.

I wanted the servo motors to be actuated from a given angle of inclination, the direction of this inclination and an offset in height. There is the formula. It needs some adjustment for the offset. I still don’t really understand how to calculate it. I want the height to be relative to the ray of the swash plate.

void calculateHeights( double phi, double theta, double H, double R, double &L1, double &L2, double &L3 ) { const double phi1 = 0*pi/180; const double phi2 = 120*pi/180; const double phi3 = 240*pi/180; double x1 = R*cos(phi1); double y1 = R*sin(phi1); double x2 = R*cos(phi2); double y2 = R*sin(phi2); double x3 = R*cos(phi3); double y3 = R*sin(phi3); double nx = cos(theta)*sin(phi); double ny = sin(theta)*sin(phi); double nz = cos(phi); double D = nz*H; L1 = ( D - nx*x1 - ny*y1 ) / nz; L2 = ( D - nx*x2 - ny*y2 ) / nz; L3 = ( D - nx*x3 - ny*y3 ) / nz; }

This is it for now. I’ll work on the function and get back with it. If you understand more than me, any help is welcome!