paparazzi-commits
[Top][All Lists]
Advanced

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

[paparazzi-commits] [5460] changes to attempt to improve azimuth control


From: Paul Cox
Subject: [paparazzi-commits] [5460] changes to attempt to improve azimuth control : azimuth feedback calculation now acting on tilt_sp instead of the pitch_cmd .
Date: Wed, 18 Aug 2010 16:55:30 +0000

Revision: 5460
          http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=5460
Author:   paulcox
Date:     2010-08-18 16:55:29 +0000 (Wed, 18 Aug 2010)
Log Message:
-----------
changes to attempt to improve azimuth control : azimuth feedback calculation 
now acting on tilt_sp instead of the pitch_cmd. Tried increasing 
omega_pitch_ref to see if it would allow gain to increase with producing 
oscillations. Testing not too encouraging.

Modified Paths:
--------------
    paparazzi3/trunk/conf/messages.xml
    paparazzi3/trunk/sw/airborne/beth/main_overo.c
    paparazzi3/trunk/sw/airborne/beth/overo_controller.c

Modified: paparazzi3/trunk/conf/messages.xml
===================================================================
--- paparazzi3/trunk/conf/messages.xml  2010-08-18 15:43:32 UTC (rev 5459)
+++ paparazzi3/trunk/conf/messages.xml  2010-08-18 16:55:29 UTC (rev 5460)
@@ -641,10 +641,13 @@
     <field name="pitch_fb" type="float"/>
     <field name="thrust_ff" type="float"/>
     <field name="thrust_fb" type="float"/>
+    <field name="tilt_sp" type="float" alt_unit="deg" 
alt_unit_coef="57.29578"/>
     <field name="tilt_ref" type="float" alt_unit="deg" 
alt_unit_coef="57.29578"/>
     <field name="tilt_dot_ref" type="float" alt_unit="deg/s" 
alt_unit_coef="57.29578"/>
+    <field name="elevation_sp " type="float" alt_unit="deg" 
alt_unit_coef="57.29578"/>
     <field name="elevation_ref " type="float" alt_unit="deg" 
alt_unit_coef="57.29578"/>
     <field name="elevation_dot_ref" type="float" alt_unit="deg/s" 
alt_unit_coef="57.29578"/>
+    <field name="azimuth_sp" type="float" alt_unit="deg" 
alt_unit_coef="57.29578"/>
   </message>
 
  <!--109 is free --> 

Modified: paparazzi3/trunk/sw/airborne/beth/main_overo.c
===================================================================
--- paparazzi3/trunk/sw/airborne/beth/main_overo.c      2010-08-18 15:43:32 UTC 
(rev 5459)
+++ paparazzi3/trunk/sw/airborne/beth/main_overo.c      2010-08-18 16:55:29 UTC 
(rev 5460)
@@ -197,8 +197,9 @@
                        &controller.cmd_pitch,&controller.cmd_thrust,
                        &controller.cmd_pitch_ff,&controller.cmd_pitch_fb,
                        &controller.cmd_thrust_ff,&controller.cmd_thrust_fb,
-                       &controller.tilt_ref,&controller.tilt_dot_ref,
-                       
&controller.elevation_ref,&controller.elevation_dot_ref);});
+                       
&controller.tilt_sp,&controller.tilt_ref,&controller.tilt_dot_ref,
+                       
&controller.elevation_sp,&controller.elevation_ref,&controller.elevation_dot_ref,
+                       &controller.azimuth_sp);});
 
   //file_logger_periodic();
 

Modified: paparazzi3/trunk/sw/airborne/beth/overo_controller.c
===================================================================
--- paparazzi3/trunk/sw/airborne/beth/overo_controller.c        2010-08-18 
15:43:32 UTC (rev 5459)
+++ paparazzi3/trunk/sw/airborne/beth/overo_controller.c        2010-08-18 
16:55:29 UTC (rev 5460)
@@ -14,7 +14,7 @@
   controller.elevation_sp = RadOfDeg(10);
   controller.azimuth_sp = 0.;
 
-  controller.omega_tilt_ref = RadOfDeg(200);
+  controller.omega_tilt_ref = RadOfDeg(600);
   controller.omega_elevation_ref = RadOfDeg(120);
   controller.omega_azimuth_ref = RadOfDeg(60);
   controller.xi_ref = 1.;
@@ -34,7 +34,7 @@
 
   controller.one_over_J = 2.;
   controller.mass = 5.;
-  controller.azim_gain = 1.;
+  controller.azim_gain = 0.05;
 
   controller.omega_cl = RadOfDeg(600);
   controller.xi_cl = 1.;
@@ -107,8 +107,9 @@
   controller.cmd_azimuth_fb = controller.one_over_J * (2 * controller.xi_cl * 
controller.omega_cl * err_azimuth_dot) +
                         controller.one_over_J * (controller.omega_cl * 
controller.omega_cl * err_azimuth);
 
-  controller.cmd_pitch =  controller.cmd_pitch_ff + controller.cmd_pitch_fb + 
-                            controller.azim_gain * (controller.cmd_azimuth_fb 
+ controller.cmd_azimuth_ff); 
+  controller.cmd_pitch =  controller.cmd_pitch_ff + controller.cmd_pitch_fb;// 
+ 
+  controller.tilt_sp = 
+                            controller.azim_gain * (-controller.cmd_azimuth_fb 
);//+ controller.cmd_azimuth_ff); 
   controller.cmd_thrust = controller.cmd_thrust_ff + controller.cmd_thrust_fb 
+ thrust_constant;
   controller.cmd_thrust = controller.cmd_thrust*(1/cos(estimator.elevation));
 




reply via email to

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