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.
Comments
Nice job, though. Are you from USP, Poli?
Thanks a lot for your comments.
I have done a lot of projects with labview, and to be honest I dont think the laggy behaviour is because of LV. Im working with LV 2009, and I gues since the last 3 versions of LV they have improve a lot the timming problems. But I will do the experiment with the keyboard you suggest.
I will remove some screws, you are right about the weight issues.
I will be posting here the progress of my project
Have you been testing to send joy info without LV? Make a small program that reads for example keyboard keypress and if you hold key down.. make your quad to bank on one direction by adding .5° every second key is hold down, on release of key send 0° angle. Or similar to that. This way you can at least line out LV laggines and concentrate on PID it self and other internal systems on your quad.
And that's a nice way to use MK frame plates. Tho having double screws on every corner might make it a bit heavy. Have you been thinking to use Nylon spacers to replace those? Then you could have only one "pilar" on every corner.
If you need special frame parts to get rid of those zipties on your IMU, let me know. Having them tied with zipties is not best way due you never get it mounted firmly enough.
Overall it's really nice and compact looking. Congratz
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.
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
Out of interest, how much would you say the entire project has cost so far?
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?
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