[Top][All Lists]

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

[Paparazzi-devel] puzzles on the control loops of fixedwing

From: wertrrte
Subject: [Paparazzi-devel] puzzles on the control loops of fixedwing
Date: Thu, 7 Aug 2014 04:54:28 -0700 (PDT)

  Sorry if this isn't a right place for my questions, but I really hope to
get some useful advice here. I need  to understand the whole flight
mechanism of fixedwing aircrafts,including the flight plan level,the control
level and the interface between hardwares(gps module,etc).This is a pretty
difficult task given by my teacher and I have to do my best.I am not looking
for a complete and exact answer(it does not even exist),though.Instead,any
general ideas that give me directions and help my understanding are
  The “control loops” documentation page is very useful for understanding
the control part of the fixedwings.However,it actually is showing what and
how,rather why.To get a clear understanding of it,knowing the meaning of the
relative variables is vital.To do so,it  is really a big headache,though
sourceinsight reduced much work.I have to get sank in the code and try to
deduce their meaning.
   The following are my puzzles.All my discsusion is about fixedwing in AUTO
Throttle Climb Mode(no AGR_CLIMB,without airspeed sensor,no energy control)
,ie the most 'simple and classic' case of fixedwing.the code is v5.05 stable
   The first puzzle is the 'h_ctl_aileron_of_throttle' variable,seen in the
Roll loop.It multifys another variable 'h_ctl_throttle_setpoint' and add to
the 'h_ctl_roll_setpoint' err.So why the throttle has an inpact on the roll
channel? and why they have different signs?
   The second is the 'v_ctl_altitude_pre_climb' variable,seen in the
Altitude loop.What's the meaning
 of it?and how does it come out?
  Third,in Pitch loop,what does 'loiter()' mean?What's the relationship
between 'nav_pitch','v_ctl_pitch_of_vz' and 'h_ctl_pitch_setpoint'? what's
the meaning of each one?Why  'estimator_phi' is involved in this
loop(similar with  'h_ctl_throttle_setpoint'  in the Roll loop)?
  Fourth,and the 'real' puzzle,it seems that the implementation of the
control loop in the code doesn't conform with the diagram,for example,as the
diagram shows in the Pitch loop,the input of the Bound block is made by
loiter PLUS the 'PD*theta_err' ,but in the code,there is:
   *float cmd = -h_ctl_pitch_pgain * (err + h_ctl_pitch_dgain * d_err);*
So why is '-'used?Aren't all the *_pgain and *_dgains positive? I am not
sure here, in strong hope that someone help me figure it out.
    Beside,I know little about the flight plan level(since we don't have
that documentation page)  and how it interact with the control level(maybe
through some 'key' variables),but it should be important.any information
about this is appreciated.
   Thanks for your kindness!

View this message in context:
Sent from the paparazzi-devel mailing list archive at

reply via email to

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