[Top][All Lists]
[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