Difference between revisions of "User:Jouvencel"

From PaparazziUAV
Jump to navigation Jump to search
(Created page with "== Control command based of quaternions == Files : stabilization_attitude_quat_int.c (.h) stabilization_attitude_ref_quat_int.c (.h) quat_setpoint_int.c (.h) * Position in the …")
 
 
(4 intermediate revisions by the same user not shown)
Line 2: Line 2:


Files :
Files :
stabilization_attitude_quat_int.c (.h)
 
stabilization_attitude_ref_quat_int.c (.h)
- stabilization_attitude_quat_int.c (.h)
quat_setpoint_int.c (.h)
 
- stabilization_attitude_ref_quat_int.c (.h)
 
- quat_setpoint_int.c (.h)


* Position in the autopilot structure  
* Position in the autopilot structure  
Line 13: Line 16:
[[File:fiche2.jpg]]
[[File:fiche2.jpg]]


note : (<math>2^15</math> represents the number of decimals to realize the integer calculus
note : (<math>2^{''N''}</math>number of decimals for integer calculus
 
* Comments
 
- "stab_att_sp_quat (15)" attitude to reach
 
- "stab_att_ref_accel(12)", "stab_att_ref_rate(16)","stab_att_ref_quat(15)" references défined by two order model
 
- stabilization_cmd[X] (X=ROLL, PITCH, YAW) commands défined by a feedforward part and feedback part, feedback part is based on PID
 
- quaternions define the orientation of rotorcraft,
 
- the error between the quat_sp and the quat_ref is computed by a quaternion product,
 
- the dot_quaternion is computed by the formula <math>\frac{1}{2} M_s(p,q,r) Q</math>
 
- The second order model : 
 
-- Integrates accelerate to obtain "stab_att_ref_rate" by the Euler method
 
-- Integrates rate to obtain  "stab_att_ref_quat" by the Euler method
 
-- The Euler method uses dt. Here  dt is implicite and equal 1/512 or <math>2^9</math>,
 
-- Determines the stab_att_ref_accel(12) by a second order <math>\frac{\Omega^2}{s^2+2 \Zeta \Omega s + \Omega^2}</math> with <math>\Omega = 200*\pi/180</math>  and <math>\Zeta = 0.9</math>.<math>\Omega </math>  and <math>\Zeta </math> are defined in airframe.xml.
 
* The second order
 
[[File:fiche3.jpg]]
 
* Feedforward part
 
[[File:fiche4.jpg]]
 
*Feedback part
 
 
[[File:fiche5.jpg]]
 
 
* Comments
 
With the assumption of small variations so <math>sin(\phi) = \phi</math> and so on for pitch and yaw, terms of second order are ignored :
 
- <math>q_e = 1</math>
 
- <math>q_x = \psi/2 - \theta/2 * \phi/2 = \psi/2 </math>
 
 
- <math>q_y = \theta/2 - \psi/2 *\phi/2 = \theta/2 </math>
 
 
- <math>q_z = \phi/2 - \theta/2 * \psi/2 = \phi/2 </math>

Latest revision as of 23:32, 7 August 2013

Control command based of quaternions

Files :

- stabilization_attitude_quat_int.c (.h)

- stabilization_attitude_ref_quat_int.c (.h)

- quat_setpoint_int.c (.h)

  • Position in the autopilot structure

Fiche1.jpg

  • Control structure

Fiche2.jpg

note : () number of decimals for integer calculus

  • Comments

- "stab_att_sp_quat (15)" attitude to reach

- "stab_att_ref_accel(12)", "stab_att_ref_rate(16)","stab_att_ref_quat(15)" references défined by two order model

- stabilization_cmd[X] (X=ROLL, PITCH, YAW) commands défined by a feedforward part and feedback part, feedback part is based on PID

- quaternions define the orientation of rotorcraft,

- the error between the quat_sp and the quat_ref is computed by a quaternion product,

- the dot_quaternion is computed by the formula

- The second order model :

-- Integrates accelerate to obtain "stab_att_ref_rate" by the Euler method

-- Integrates rate to obtain "stab_att_ref_quat" by the Euler method

-- The Euler method uses dt. Here dt is implicite and equal 1/512 or ,

-- Determines the stab_att_ref_accel(12) by a second order with and . and are defined in airframe.xml.

  • The second order

Fiche3.jpg

  • Feedforward part

Fiche4.jpg

  • Feedback part


Fiche5.jpg


  • Comments

With the assumption of small variations so and so on for pitch and yaw, terms of second order are ignored :

-

-


-


-