Open source code

Hi every one.

I'm planning to purchase an arduplane pre-made autopilot,

Just I was wondering if I it's possible to apply different linear/nonlinear control techniques (PID, LQR, LPV,..) in the open source code?

I appreciate any kind of help.

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • Open Source means that the source code is free for anybody to look at, and even modify for themselves if they wish.  I think the system is capable of doing exactly what you want.  The programming language used is Arduino, which is similar to C++.

     

    The following discussion references the Arducopter code, not Arduplane, as I'm not familiar with that one.

     

    It is mostly likely possible that you can modify the control technique as you like.  Currently the system uses classic PID control.  Well...  That stabilization uses nested loops, or the proper term might be Cascaded PID.  I just learned that term when I decided to search for Gain-scheduling PID, I found this interesting page:

     

    http://zone.ni.com/devzone/cda/tut/p/id/2995

     

    Up until 2 weeks ago, the code almost exactly replicated the Position and Velocity Cascaded PID system as shown, with both position and velocity input into two PID terms.  Within the last week or so, the code evolved whereby we break out the I term from the positional PID control, and make it bypass the velocity PID input.  The positional I term is routed directly to the output and is summed with the output from the velocity PID.  This made a drastic improvement in the control of the system.

     

    https://api.ning.com/files/4xVYlkZDJ-WSxFtJRcurzB9b-J8NV3690901743?profile=original

     

    There are a number of interesting conversations going on about this right now, and it sure sounds like we could use your input!  I've just recently begun talking about an idea which, I now realize, is similar to gain scheduling.  Very interesting stuff.

    _

     

    _

    http://www.diydrones.com/forum/topics/arducopter-2-stability-patch

     

    http://www.diydrones.com/forum/categories/arducopter-2-x-multicopte...

     

  • Thanks Nicolas for reply. Then, some more questions please:

    1- What is the language of Ardupilot? is it C language?

    2- what is the default control techniques uploaded on pre-built Ardupilot?

    I'm trying to get one for research and I have to be sure it meets our requiries. For the first use I want to apply Gain-Scheduling PID control technique on an R/C airplane. Do you think it's possible?

    Here you can see one of my works with GS-PID on a quadrotor. I like to apply the same thing but on fixed-wing and in outdoor environment.

    https://www.youtube.com/watch?v=cRhasOK06L0

    and here is the Model Reference Adaptive control (MRAC) and Linear-Quadratic Regulator (LQR) for height control and squar trajectory tracking control.

    https://www.youtube.com/watch?v=A2Stytz1_dc

    Just does the Ardupilot have this possibility to apply the same autonomous flight scenarios with main focus on control technique?

    I think now you get more clear idea what I am seeking for in Ardupilot. 

    Thanks for help

  • You can, you always will have the possibility of modifying the code, and share with the comunity to make the ardupilot better.

This reply was deleted.

Activity