I have started my quadrotor project.

Im using the mikrokopter frame with some additional center plates and a few modifications.
E-flite motors, with E-flite ESC. An arduino MEGA board. A Vectornav VN-100 which includes magnetometers, accelerometers, gyros, and an onboard kalman filter. Xbee PRO modules. Laptop with Labview.

Right now Im testing and tunning my own PID controller. Here are some pics of my quad and a small clip showing the actual behaviour of the controller, which I have to improve.

Views: 5780

Comment by Ed Stewart on September 5, 2010 at 6:02am
Why are you developing your own PID, just as an exersize or you thinking you can build a better mouse trap? Good lookin rig, keep us updated on your progress
Comment by T. CHOICE on September 5, 2010 at 7:00am
That is the coolest qaudcopter I've seen so far ,and I'm working on my own quad ,custom frame, not sure on the flight controller yet? any suggestions would help I will upload some drawings..good looking rig!
Comment by Felipe Jaramillo on September 5, 2010 at 7:14am

Im developing my own PID controller because this is my undergraduate final project. Im not only developing the PID controller, Im also trying some other digital controllers based on a linear model I've done based on experimental data, but us you guys know the system is not linear, so this is just an aproximation. So far the best PID gains I have obtained have been found manually. The PID I have implemented on the Arduino is based on something called digital direct structures, which is a method to program digital PID (and any other discrete linear controller), where you dont have to manually calculate derivatives or integrals.

Comment by Mark Colwell on September 5, 2010 at 7:21am
the BORG has arrived !!
Comment by Roy Brewer on September 5, 2010 at 7:55am

It looks to me that your main issue is command latency. How is the joystick interfaced to the quad?

Can you elaborate more on the direct digital structures? Do you mean 1D, 2D, 1X, etc.?

- Roy
Comment by Felipe Jaramillo on September 5, 2010 at 8:25am

The joystick is connected via usb to my laptop which is running a Labview program which I developed. The laptop is connected to the quad via xbee.

About the direct digital structures you are right, Im using the 2D structure. What type of info do you need?
Comment by Rana on September 5, 2010 at 10:51am
Your work is very much appreciable indeed ! What I feel that lots of people have already developed PID with excellent performance, you can really contribute by developing some new feature in the existing firmware and can still take it as undergraduate final project.
Comment by AVS on September 5, 2010 at 3:35pm
I like your testing frame and the copter. Usb joystick interface is also very good. I look forward to seeing it fly

Out of interest, how much would you say the entire project has cost so far?
Comment by Roy Brewer on September 5, 2010 at 4:29pm

Re: direct structure, I just wanted to make sure I knew what you were talking about.

What type of class is this for, or perhaps a better question, what is your major - EE, mech E, controls?

As I said, the main issue to me is latency - it seems that when you put in large stick inputs, the quad takes a while before it starts to respond. The PID loops run on the quadrotor itself, right? I'd all the paths between the joystick, LABVIEW, and xbee to see if the issue lies there. If not, it could be the response of your ESC/motor/props. I can't really tell which ones you're using.

Otherwise it doesn't look too bad. You have some overshoots to large commands - perhaps some additional damping (or D term, depending on how you've implemented the PID) could help. It also tends to slowly converge to the steady state, indicating that the I term can be tweaked some more, perhaps.

Also, it looks like the vectornav is just held in place via cable ties. Is that secure enough? You don't want your sensors rattling around your frame.

- Roy
Comment by Felipe Jaramillo on September 5, 2010 at 6:36pm

Thanks a lot for your comments, they are really useful for my project.

Im studying Mechatronic Engineering.

Your right about the latency, but I have tested it without the joystick (using direct controls on labview), and the behaviour is the same, so it might be the PID itself, or the hardware, as you suggest.

I have to try to tune a bit better the PID as you suggest, but as you know, some times tunning PIDs is very easy and some times it just doesnt go as it should be, and this is one of that cases that is really difficul, or at least I have come to a point were improving it is really hard.

The vectornav is held in place with cable ties and some kind of glue which I dont remeber the name. Its Ok I guess.


You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2017   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service