paparazzi-devel
[Top][All Lists]
Advanced

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

Re: [Paparazzi-devel] Question about the Steps response of pitch


From: Haiyang Chao
Subject: Re: [Paparazzi-devel] Question about the Steps response of pitch
Date: Fri, 12 Dec 2008 12:25:06 -0700

Gautier:

Thanks for your suggestions.

We are flying fixed wing airframe more exactly delta wing and we already tried some real flight tests with the current step response flight plan. We do have an IMU onboard instead of infrared sensor.

We tried some step response of roll loop following the flight plan. It just looks fine the UAV can follow the step roughly but some static error for sure. But it looks like that it will be hard to get a model from the step response. We originally look forward to get a simple first order model from it.
 
Haiyang Chao

On Mon, Dec 8, 2008 at 2:20 AM, Gautier Hattenberger <address@hidden> wrote:
Ok, I see.

The flight dynamics model used by the simulator is too simple to extract something usefull for you. You will have to perform real flight tests (I suggest you to increase the frequency of telemetry data you need: ATTITUDE, ACTUATORS, ...). For the moment, the simulator is mainly here to validate the flight plans. We are thinking of something more reallistic but it's not ready.
As I said before by setting elevator_of_roll and pitch_of_vz to zero, you won't have coupling in control laws and your step response will be easier to analyse. I also suggest to set the vertical mode to "throttle" with a fixed value instead of "altitude" (just during the steps). What kind of aircraft are you flying ?

Gautier

2008/12/8 Haiyang Chao <address@hidden>

Thanks for your comments, Gautier.

The reason that I am doing this is because I want to get a SISO model for either the aileron--roll or the elevator- pitch loop. Then I can try some fancy control algorithm based on the models I identified. I want to use step response to identify the model.

We do have an imu onboard and we are using that as the attitude sensor instead of infrared.

Based on my simulation tests on MJ5, the roll step +-10/20 can be tracked pretty good. But pitch loop not.
We already did some experimental tests on  roll step response. I haven't got a time to analyze the data yet. But the roll loop seems fine.

Do u know what kind of dynamics model the simulation is using? Haven't got a chance to take a close look at the code of simulation part yet.

--
Haiyang Chao


On Sun, Dec 7, 2008 at 4:34 AM, Gautier Hattenberger <address@hidden> wrote:
Hi,


Haiyang Chao a écrit :

Hi, all.

I am trying to do a step response analysis to see if I can get a model from the elevator--pitch loop. But I found out that the simulation of step response of pitch can never track the desired square wave (see the attachment). I checked the control code and I think this is due to the fact that the desired altitude is also set, so the input of the pitch step response is actually three: pitch(square wave +-10), roll(0), altitude (250).
If you want to remove all the couplings on the pitch loop, you can set to zero H_CTL_ELEVATOR_OF_ROLL and V_CTL_AUTO_THROTTLE_PITCH_OF_VZ_PGAIN. This way the pitch setpoint should be only the one you pass as argument in the attitude block.

But I don't think the error on the desired attitude is due to the coupling. The pitch control is a simple proportional correction without integral effect, so it will always have this static error (the same thing goes for the roll control). And if you ask why there is no such integral control, I would say because it is really a pain to tune, it can be dangerous for the stability, and due to the accuracy of the IR sensors, it is not really meaningful. Do you have a special need for accurate pitch control ?

So my question is that why the desired altitude is also set in the pitch response. I know this will be good for the flight stability. But I still think more information of step response is missing.
It is not the desired altitude in fact, but the desired vertical speed.


BTW: there are quite some control variables defined and I can not find clear explanations on the wiki. Like v_ctl_climb_mode, lateral_mode, v_ctl_mode. Could somebody explain these to me?
These are the different modes that tell the autopilot which control loop he should use. They are automatically set when you use attitude, heading, circle,... blocks in your flight plan. I don't think it should appear in the "user" part of the wiki, maybe in the "dev" part.

I used mj5 airframe and versatile.xml for flight plan. The syntax is like this:
      <attitude alt="250" roll="20.0" until=" stage_time > 3" vmode="alt"/>
       <attitude alt="250" roll="-20.0" until="stage_time > 3" vmode="alt"/>
I traced back to flight_plan.h. So the real control command is :
           NavAttitude(RadOfDeg(0.000000)); /* lateral_mode = LATERAL_MODE_ROLL, h_ctl_roll_setpoint = _roll*/
           NavVerticalAutoThrottleMode(RadOfDeg(10));
/*v_ctl_climb_mode = V_CTL_CLIMB_MODE_AUTO_THROTTLE, nav_pitch = _pitch*/
           NavVerticalAltitudeMode(250, 0.);
/*v_ctrl_mode = V_CTL_MODE_AUTO_ALT, nav_altitude = -alt, v_ctl_altitude_pre_climb = _preclimb*/

Thanks
 Haiyang

------------------------------------------------------------------------
Gautier




_______________________________________________
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]