2626#include " HEAR_ROS_BRIDGE/ROSUnit_ControlOutputSubscriber.hpp"
2727
2828
29- const float TAKE_OFF_HEIGHT = 1.0 ;
29+ const float TAKE_OFF_HEIGHT = 1.25 ;
3030const float LAND_HEIGHT = -0.01 ;
3131
3232// #define STORE_KF_BIAS
33- #define TRAJ_TEST
33+ // #define TRAJ_TEST
3434#define SLAM_TEST
3535// #define AUTO_TEST
3636#define TESTING
@@ -219,45 +219,45 @@ int main(int argc, char** argv) {
219219
220220 // *************Setting Flight Elements*************
221221 #ifdef SMALL_HEXA
222- ((UpdateController*)update_controller_pid_x)->pid_data .kp = 9.28 ; // 0.583430204; //0.8786*0.5; //0.51639 * 0.8;
222+ ((UpdateController*)update_controller_pid_x)->pid_data .kp = 14.33366959 * 0.9 ; // 0.583430204; //0.8786*0.5; //0.51639 * 0.8;
223223 ((UpdateController*)update_controller_pid_x)->pid_data .ki = 0.0 ;
224- ((UpdateController*)update_controller_pid_x)->pid_data .kd = 3.37 ; // 0.211996855; //0.3441*0.5; //0.21192 * 0.8;
224+ ((UpdateController*)update_controller_pid_x)->pid_data .kd = 5.208322871 * 0.9 ; // 0.211996855; //0.3441*0.5; //0.21192 * 0.8;
225225 ((UpdateController*)update_controller_pid_x)->pid_data .kdd = 0.0 ;
226226 ((UpdateController*)update_controller_pid_x)->pid_data .anti_windup = 0 ;
227227 ((UpdateController*)update_controller_pid_x)->pid_data .en_pv_derivation = 1 ;
228228 ((UpdateController*)update_controller_pid_x)->pid_data .dt = (float )1.0 /120.0 ;
229229 ((UpdateController*)update_controller_pid_x)->pid_data .id = block_id::PID_X;
230230
231- ((UpdateController*)update_controller_pid_y)->pid_data .kp = 9.5 ; // 0.592289033;// 0.6673*0.75;// 0.6714;// 0.51639 * 0.8;
231+ ((UpdateController*)update_controller_pid_y)->pid_data .kp = 15.00427998 * 0.9 ; // 0.592289033;// 0.6673*0.75;// 0.6714;// 0.51639 * 0.8;
232232 ((UpdateController*)update_controller_pid_y)->pid_data .ki = 0.0 ;
233- ((UpdateController*)update_controller_pid_y)->pid_data .kd = 3.45 ; // 0.215215824;// 0.2583*0.75; //-0.2440;// * 0.8;
233+ ((UpdateController*)update_controller_pid_y)->pid_data .kd = 5.451997767 * 0.9 ; // 0.215215824;// 0.2583*0.75; //-0.2440;// * 0.8;
234234 ((UpdateController*)update_controller_pid_y)->pid_data .kdd = 0.0 ;
235235 ((UpdateController*)update_controller_pid_y)->pid_data .anti_windup = 0 ;
236236 ((UpdateController*)update_controller_pid_y)->pid_data .en_pv_derivation = 1 ;
237237 ((UpdateController*)update_controller_pid_y)->pid_data .dt = (float )1.0 /120.0 ;
238238 ((UpdateController*)update_controller_pid_y)->pid_data .id = block_id::PID_Y;
239239
240- ((UpdateController*)update_controller_pid_z)->pid_data .kp = 21.5 ; // 0.613969957; // 1.2414*0.75;
240+ ((UpdateController*)update_controller_pid_z)->pid_data .kp = 27.62993448 ; // 0.613969957; // 1.2414*0.75;
241241 ((UpdateController*)update_controller_pid_z)->pid_data .ki = 0.0 ;
242- ((UpdateController*)update_controller_pid_z)->pid_data .kd = 6.8 ; // 0.214920534; // 0.3316*0.75;
242+ ((UpdateController*)update_controller_pid_z)->pid_data .kd = 8.13692084 ; // 0.214920534; // 0.3316*0.75;
243243 ((UpdateController*)update_controller_pid_z)->pid_data .kdd = 0.0 ;
244244 ((UpdateController*)update_controller_pid_z)->pid_data .anti_windup = 0 ;
245245 ((UpdateController*)update_controller_pid_z)->pid_data .en_pv_derivation = 1 ;
246246 ((UpdateController*)update_controller_pid_z)->pid_data .dt = (float )1.0 /120.0 ;
247247 ((UpdateController*)update_controller_pid_z)->pid_data .id = block_id::PID_Z;
248248
249- ((UpdateController*)update_controller_pid_roll)->pid_data .kp = 0.4991 ; // 0.225*0.8; //0.172195; //0.3302; //0.286708; //0.225 * 0.8;
249+ ((UpdateController*)update_controller_pid_roll)->pid_data .kp = 0.423827421 ; // 0.225*0.8; //0.172195; //0.3302; //0.286708; //0.225 * 0.8;
250250 ((UpdateController*)update_controller_pid_roll)->pid_data .ki = 0.0 ;
251- ((UpdateController*)update_controller_pid_roll)->pid_data .kd = 0.0750 ; // 0.04*0.8; //0.042464; //0.0931; //0.056559; //0.04 * 0.8;
251+ ((UpdateController*)update_controller_pid_roll)->pid_data .kd = 0.063652685 ; // 0.04*0.8; //0.042464; //0.0931; //0.056559; //0.04 * 0.8;
252252 ((UpdateController*)update_controller_pid_roll)->pid_data .kdd = 0.0 ;
253253 ((UpdateController*)update_controller_pid_roll)->pid_data .anti_windup = 0 ;
254254 ((UpdateController*)update_controller_pid_roll)->pid_data .en_pv_derivation = 1 ;
255255 ((UpdateController*)update_controller_pid_roll)->pid_data .dt = 1 .f /200 .f ;
256256 ((UpdateController*)update_controller_pid_roll)->pid_data .id = block_id::PID_ROLL;
257257
258- ((UpdateController*)update_controller_pid_pitch)->pid_data .kp = 0.5271 ; // 0.225*0.8;// 0.3360; //0.2811;//0.275252; //0.225 * 0.8;
258+ ((UpdateController*)update_controller_pid_pitch)->pid_data .kp = 0.434061228 ; // 0.225*0.8;// 0.3360; //0.2811;//0.275252; //0.225 * 0.8;
259259 ((UpdateController*)update_controller_pid_pitch)->pid_data .ki = 0.0 ;
260- ((UpdateController*)update_controller_pid_pitch)->pid_data .kd = 0.0792 ; // 0.04*0.8;//0.0684; //0.053100; //0.0868;// 0.051266; //0.04 * 0.8;
260+ ((UpdateController*)update_controller_pid_pitch)->pid_data .kd = 0.065189653 ; // 0.04*0.8;//0.0684; //0.053100; //0.0868;// 0.051266; //0.04 * 0.8;
261261 ((UpdateController*)update_controller_pid_pitch)->pid_data .kdd = 0.0 ;
262262 ((UpdateController*)update_controller_pid_pitch)->pid_data .anti_windup = 0 ;
263263 ((UpdateController*)update_controller_pid_pitch)->pid_data .en_pv_derivation = 1 ;
@@ -283,27 +283,27 @@ int main(int argc, char** argv) {
283283 ((UpdateController*)update_controller_pid_yaw_rate)->pid_data .id = block_id::PID_YAW_RATE;
284284
285285 #ifdef SLAM_TEST
286- ((UpdateController*)update_pid_slam_x)->pid_data .kp = 7.64 ; // 0.311; //0.51639 * 0.8;
286+ ((UpdateController*)update_pid_slam_x)->pid_data .kp = 7.35 * 1.4 ; // 0.311; //0.51639 * 0.8;
287287 ((UpdateController*)update_pid_slam_x)->pid_data .ki = 0.0 ;
288- ((UpdateController*)update_pid_slam_x)->pid_data .kd = 4.086 ; // 0.151; //0.21192 * 0.8;
288+ ((UpdateController*)update_pid_slam_x)->pid_data .kd = 3.93 * 1.4 ; // 0.151; //0.21192 * 0.8;
289289 ((UpdateController*)update_pid_slam_x)->pid_data .kdd = 0.0 ;
290290 ((UpdateController*)update_pid_slam_x)->pid_data .anti_windup = 0 ;
291291 ((UpdateController*)update_pid_slam_x)->pid_data .en_pv_derivation = 1 ;
292292 ((UpdateController*)update_pid_slam_x)->pid_data .dt = (float )1.0 /120.0 ;
293293 ((UpdateController*)update_pid_slam_x)->pid_data .id = block_id::PID_X;
294294
295- ((UpdateController*)update_pid_slam_y)->pid_data .kp = 8.695 ; // 0.332;// 0.6714;// 0.51639 * 0.8;
295+ ((UpdateController*)update_pid_slam_y)->pid_data .kp = 8.02 ; // 0.332;// 0.6714;// 0.51639 * 0.8;
296296 ((UpdateController*)update_pid_slam_y)->pid_data .ki = 0.0 ;
297- ((UpdateController*)update_pid_slam_y)->pid_data .kd = 4.65 ; // 0.161; //-0.2440;// * 0.8;
297+ ((UpdateController*)update_pid_slam_y)->pid_data .kd = 4.29 ; // 0.161; //-0.2440;// * 0.8;
298298 ((UpdateController*)update_pid_slam_y)->pid_data .kdd = 0.0 ;
299299 ((UpdateController*)update_pid_slam_y)->pid_data .anti_windup = 0 ;
300300 ((UpdateController*)update_pid_slam_y)->pid_data .en_pv_derivation = 1 ;
301301 ((UpdateController*)update_pid_slam_y)->pid_data .dt = (float )1.0 /120.0 ;
302302 ((UpdateController*)update_pid_slam_y)->pid_data .id = block_id::PID_Y;
303303
304- ((UpdateController*)update_pid_slam_z)->pid_data .kp = 13.73 ; // 0.454*0.9;
304+ ((UpdateController*)update_pid_slam_z)->pid_data .kp = 12.176 ; // 0.454*0.9;
305305 ((UpdateController*)update_pid_slam_z)->pid_data .ki = 0.0 ;
306- ((UpdateController*)update_pid_slam_z)->pid_data .kd = 4.8 ; // 0.197*0.9;
306+ ((UpdateController*)update_pid_slam_z)->pid_data .kd = 5.554 ; // 0.197*0.9;
307307 ((UpdateController*)update_pid_slam_z)->pid_data .kdd = 0.0 ;
308308 ((UpdateController*)update_pid_slam_z)->pid_data .anti_windup = 0 ;
309309 ((UpdateController*)update_pid_slam_z)->pid_data .en_pv_derivation = 1 ;
0 commit comments