paparazzi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Paparazzi-devel] Suggestions: Auto-tuning of gains and upload via m


From: Nathan Aherne
Subject: Re: [Paparazzi-devel] Suggestions: Auto-tuning of gains and upload via modems
Date: Sun, 4 Jul 2010 09:40:02 +1000

I would love to see this feature implemented. Sadly I have no coding experience 
but auto tuning of gains or changing them in flight would be great.

Kindest regards,
 
Nathan Aherne
Reddog Technology
Web: www.reddog.com.au
Email: address@hidden
Mob: 0402 555 080

On 04/07/2010, at 2:48 AM, Maik Höpfel wrote:

> Hello all,
> 
> the idea of automatically tuning the gains in-flight fascinates me.
> I'd be willing to write some code and have a couple test flights do
> implement a mode that sets gains via ZN. I can write C sufficiently
> and have a year of experience with Paparazzi, but have never touched
> the code so far and would love it if somebody could just give me short
> helpful pointers on how I could go about that, if there's helpful
> example code, in what code files you'd put the code... I feel like
> implementing it as an additional flight plan maneuver would be the
> thing to do, but might be mistaken.
> 
> Thank you,
> Maik
> 
> 
> 2010/6/21 Maik Höpfel <address@hidden>:
>> Hello,
>> 
>> thank you very much for your clarifications!
>> 
>> Auto-tuning: Okay, as far as I understand it, there's disagreement
>> about what method to use to get the gains. Once you have the algorithm
>> down to detect oscillations and all that, I feel like implementing
>> different methods to get the right gains shouldn't be much effort.
>> What method do the other Paparazzi users use? I'm afraid I don't know
>> nothin' about control theory (well, I guess I've understood the
>> concept of a PID controller by now).
>> 
>> Uploading: How long are we talking about here? I know with our
>> airplane it the flashing process takes long, because we have to attach
>> a USB cable deep inside the airframe ;) And no, having an outside USB
>> connector is not an option for us.
>> I don't really know how to go about finding the size of a typical
>> upload, sorry. But with 57600 bauds, I can't imagine things can be
>> that bad. Thoughts?
>> 
>> Regards,
>> Maik
>> 
>> 
>> 
>> 2010/6/21 Christophe De Wagter <address@hidden>:
>>> Uploading used to be over the serial link in the past (2005). Do not
>>> underestimate the time this took to upload new code.
>>> 
>>> On Sun, Jun 20, 2010 at 3:39 AM, Eric Parsonage
>>> <address@hidden> wrote:
>>>> 
>>>> Hi Florin, Maik,
>>>> 
>>>> I am sure that ZN would definitely work, but its just how well it works! I
>>>> am pretty sure ZN is the only option if you cant derive the Transfer
>>>> Function of the system analytically, so for most people who use paparazzi
>>>> and haven't learnt that much about classical or modern control, or for
>>>> airframes that may have weird Dynamics (like a flying wing), it is
>>>> definitely the way to go. ZN based tuning also results in a controller that
>>>> is very good at rejecting disturbance, which for level flight is great, I
>>>> just worry about the step response of that sort of controller in regards to
>>>> setpoint changes, like rolling into or out of a heavy bank, I fear that it
>>>> may be very oscillatory. It does of course depend on your aircraft, and
>>>> whether or not you are constantly changing its attitude.
>>>> 
>>>> However, Maik does make a very interesting point. the community could
>>>> probably develop a little script, or even a simple spreadsheet, that 
>>>> assumed
>>>> you had a straight winged monoplane platform, and took inputs about its
>>>> geometry, moments of inertia etc. then approximated the  transfer function
>>>> of the system based on that, with that it could then analytically 
>>>> calculate,
>>>> using at least a couple of PID tuning methods, the appropriate gains for
>>>> your system which you could then program in. This could be done without you
>>>> even having to leave the ground! of course, you would need to do a little
>>>> bit of manual tuning once you got up in the air, but at least you could 
>>>> have
>>>> some trust in your controller to begin with. Of course, someone would need
>>>> to derive the state-space model for a generic aircraft in terms of variable
>>>> regarding its dimensions. Any of you control gurus wish to comment on this
>>>> suggestion (I know you are reading)?
>>>> 
>>>> Eric
>>>> 
>>>> 
>>>> On 19 June 2010 18:15, Florin Mingireanu <address@hidden>
>>>> wrote:
>>>>> 
>>>>> Hi Eric,
>>>>> 
>>>>> I've used succesfully ZN on flying wings.
>>>>> I haven't used it on other planes.
>>>>> 
>>>>> Florin
>>>>> 
>>>>> On Sat, Jun 19, 2010 at 11:34 AM, Eric Parsonage
>>>>> <address@hidden> wrote:
>>>>>> 
>>>>>> Hi Maik, Florin,
>>>>>> 
>>>>>> I would suggest that ZN tuning would not be that effective, This is due
>>>>>> to the fact that the ZN algorithms were empirically derived from work 
>>>>>> with
>>>>>> process systems which all exhibited a particular response (time delay, 
>>>>>> big
>>>>>> phase lag, integrator racking up error to a step input). Perhaps a more
>>>>>> sensitivity driven algorithm, like kappa-tau, or pole placement, would be
>>>>>> more effective since aircraft tend to act a lot more like a 
>>>>>> servomotor-style
>>>>>> system than a phase-laggy process one.
>>>>>> 
>>>>>> Eric
>>>>>> 
>>>>>> On 19 June 2010 17:54, Florin Mingireanu <address@hidden>
>>>>>> wrote:
>>>>>>> 
>>>>>>> Hi Maik,
>>>>>>> 
>>>>>>> The method I tried to describe is called Ziegler-Nichols.
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> On Sat, Jun 19, 2010 at 11:20 AM, Florin Mingireanu
>>>>>>> <address@hidden> wrote:
>>>>>>>> 
>>>>>>>> Hi Maik,
>>>>>>>> 
>>>>>>>> As far as I know, tuning P and I-gains is like:
>>>>>>>> 
>>>>>>>> increase P value until you detect instability (oscillation as you
>>>>>>>> said) and then decrease P to half and start to increase I until 
>>>>>>>> sufficient
>>>>>>>> stability is obtained.
>>>>>>>> 
>>>>>>>> If, additionally, you have a D term (d-gain) then you apply
>>>>>>>> recursively this algorithm for subsequent I and D.
>>>>>>>> 
>>>>>>>> So tuning gains for a new aircraft is more like a cascaded algorithm.
>>>>>>>> 
>>>>>>>> Florin
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Sat, Jun 19, 2010 at 10:12 AM, Maik Höpfel <address@hidden>
>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>> Hello dear community,
>>>>>>>>> 
>>>>>>>>> I recently added two features I would like to see to the Software
>>>>>>>>> Wishlist in the Wiki, but did not get any feedback. So I'd like to
>>>>>>>>> present them on the list as well:
>>>>>>>>> 
>>>>>>>>> 1) Auto-tuning of gains: as far as I see it, the rules for setting
>>>>>>>>> the
>>>>>>>>> P-gains on a new aircraft are pretty easy: "turn it up till it
>>>>>>>>> oscillates, turn down a little". Now given sufficient height and a
>>>>>>>>> bit
>>>>>>>>> of trust in the airframe, this should easily be doable by an
>>>>>>>>> algorithm
>>>>>>>>> instead of the crew on the ground, shouldn't it? Oscillation can be
>>>>>>>>> detected via the IR sensors/IMU... I imagine it like a special flight
>>>>>>>>> plan block that then sets the correct gains.
>>>>>>>>> 
>>>>>>>>> 2) Flashing via modems: Couldn't the boot loader wait for a special
>>>>>>>>> sequence from the modems before starting up the Paparazzi code? And
>>>>>>>>> then the GCS just sends that special message and the firmware that is
>>>>>>>>> to be flashed? Should be error-checked, of course. But it's possible,
>>>>>>>>> right?
>>>>>>>>> 
>>>>>>>>> I'm really looking forward to your thoughts! I think both things
>>>>>>>>> would
>>>>>>>>> make Paparazzi even easier to use for beginners.
>>>>>>>>> 
>>>>>>>>> Regards,
>>>>>>>>> Maik
>>>>>>>>> 
>>>>>>>>> _______________________________________________
>>>>>>>>> Paparazzi-devel mailing list
>>>>>>>>> address@hidden
>>>>>>>>> http://lists.nongnu.org/mailman/listinfo/paparazzi-devel
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> _______________________________________________
>>>>>>> Paparazzi-devel mailing list
>>>>>>> address@hidden
>>>>>>> http://lists.nongnu.org/mailman/listinfo/paparazzi-devel
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> _______________________________________________
>>>>>> Paparazzi-devel mailing list
>>>>>> address@hidden
>>>>>> http://lists.nongnu.org/mailman/listinfo/paparazzi-devel
>>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> --
>>>>> Florin Mingireanu
>>>>> Romanian Space Agency
>>>>> Str. Mendeleev 21-25, et. 5, sector 1, 010362 Bucuresti, ROMANIA
>>>>> office tel. +40-21-316.87.22; +40-21-316.87.23;
>>>>> cell: +40-757-768971 (primary phone)
>>>>> fax +40-21-312.88.04
>>>>> address@hidden
>>>>> http://www.rosa.ro
>>>>> 
>>>>> _______________________________________________
>>>>> Paparazzi-devel mailing list
>>>>> address@hidden
>>>>> http://lists.nongnu.org/mailman/listinfo/paparazzi-devel
>>>>> 
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Paparazzi-devel mailing list
>>>> address@hidden
>>>> http://lists.nongnu.org/mailman/listinfo/paparazzi-devel
>>>> 
>>> 
>>> 
>>> _______________________________________________
>>> Paparazzi-devel mailing list
>>> address@hidden
>>> http://lists.nongnu.org/mailman/listinfo/paparazzi-devel
>>> 
>>> 
>> 
> 
> _______________________________________________
> Paparazzi-devel mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/paparazzi-devel




reply via email to

[Prev in Thread] Current Thread [Next in Thread]