paparazzi-devel
[Top][All Lists]
Advanced

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

Re: [Paparazzi-devel] Changing the main loop frequency on the Tiny


From: Prof. Dr.-Ing. Heinrich Warmers
Subject: Re: [Paparazzi-devel] Changing the main loop frequency on the Tiny
Date: Tue, 16 Aug 2011 10:09:29 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; de-DE; rv:1.4) Gecko/20030619 Netscape/7.1 (ax)

Hello Andreas,
i think differentiating of a rate signal given by a serial protocol is very difficult.
You will mix the signal with the  protocol rate and perhaps you will make  a failure in the opinion of the Shannon Theorem.
I think for  very high roll rates  it is the best way  to measure the roll rate direct by a separate gyro  with a analogue imput of the processor and then
output this value direct to the servo output. This work best for quadrcopters and has not a high compute load.
If you design analogue feedback control systems  and you want to use them on a computer this topic is very good eximated in Dörrschiedt / Latzel Grundlagen der Regelungstechnik chapter 4.

Regards
Heinrich



Andreas Gaeb schrieb:
Hello,

Am 15.08.2011 19:46, schrieb Felix Ruess:
  
Of course you can... just depending on what you use you might need to
code a bit ;-)
    
I'll try and go ahead... what is the place where the frequency is set?
is it somewhere in the makefiles?

  
I assume you are using an imu that you can read with a higher rate?
Which one? As a subsystem or module?
    
yes, I'm using an Xsens MTi-G, with the old style module (which by the
way needs gps.hmsl copied over to gps.lla_pos.alt in ins_xsens.c:509).

I also wrote my own modules for air data sensing, coefficient and thrust
calculation, and the PID algorithm. Basically, I need to run all of them
at the highest possible rate.

  
For fixedwings you can set the rates of reading imu, propagation and updates:
   <configure name="PERIODIC_FREQUENCY" value="120"/> <!-- IMU FREQ -->
   <configure name="AHRS_PROPAGATE_FREQUENCY" value="120"/>
   <configure name="AHRS_CORRECT_FREQUENCY" value="60"/>
Then you can <define name="AHRS_TRIGGERED_ATTITUDE_LOOP"/> to trigger
the control loops when a new attitude was computed.
    
this looks interesting, I wasn't aware of these parts of the code
before. Will have to dig into this, maybe its possible to realize
modules with higher periodic frequencies that way. However, as the Xsens
does its own AHRS computations, I don't need to run the estimator on the
Tiny and can save the processor power for other things.

  
On Mon, Aug 15, 2011 at 1:49 PM, Prof. Dr.-Ing. Heinrich Warmers wrote:
    
[...]
But look to the main time constants.
It is only necessary  to be  about 8 times  faster then the lowest time
constant in your feedback control system.
      
the control loop is of minor importance for me. Firstly, I need to get
the real-time PID to run, even if it is only in manual mode.
My problem is that the aircraft's rolling time constant is very small,
so I need to sample (and differentiate) roll rate with high frequency to
separate roll damping from aileron efficiency.

Best regards,

_______________________________________________
Paparazzi-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel

  

reply via email to

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