diff --git a/app/jj_motion.c b/app/jj_motion.c index 6bc1896..c7a6d71 100644 --- a/app/jj_motion.c +++ b/app/jj_motion.c @@ -15,59 +15,59 @@ PID_TypeDef speed_pid; PID_TypeDef cir_pos_pid; /////////////////////////////////////////// // 直道后面风扇角度环 -float an_Kp1 = 50.0f; +float an_Kp1 = 46.0f; float an_Ki1 = 0.0f; float an_Kd1 = 0.0f; // 直道角速度环 -float gy_Kp1 = 6.0f; +float gy_Kp1 = 1.530f; float gy_Ki1 = 0.0f; float gy_Kd1 = 0.0f; // 直道侧面风扇角度环 -float po_Kp1 = 13.0f; +float po_Kp1 = 2.10f; float po_Ki1 = 0.0f; float po_Kd1 = 0.0f; //////////////////////////////////// // 弯道后面风扇角度环 -float an_Kp0 = 60.0f; +float an_Kp0 = 53.0f; float an_Ki0 = 0.0f; float an_Kd0 = 0.0f; // 弯道角速度环 -float gy_Kp0 = 10.80f; +float gy_Kp0 = 2.2180f; float gy_Ki0 = 0.0f; float gy_Kd0 = 0.0f; // 弯道侧面风扇角度环 -float cn_Kp1 = 25.0f; +float cn_Kp1 = 7.0f; float cn_Ki1 = 0.f; float cn_Kd1 = 0.0f; //////////////////////////////////////// // 避障后面角度环 -float za_Kp = 50.f; +float za_Kp = 55.f; float za_Ki = 0; float za_Kd = 0; -float zg_Kp = 3.f; +float zg_Kp = 2.f; float zg_Ki = 0; float zg_Kd = 0; -float zp_Kp = 30.f; +float zp_Kp = 6.f; float zp_Ki = 0; float zp_Kd = 0; /////////////////////////////////////// // 圆环后面风扇角度环 -float yu_Kp0 = 60.0f; +float yu_Kp0 = 58.0f; float yu_Ki0 = 0.0f; float yu_Kd0 = 0.0f; // 圆环角速度环 -float ygy_Kp0 = 8.40f; +float ygy_Kp0 = 2.20f; float ygy_Ki0 = 0.0f; float ygy_Kd0 = 0.0f; // 圆环侧面角度环 -float yuc_Kp; +float yuc_Kp=4.4f; // 速度环 -float sp_Kp = 2.0f; -float sp_Ki = 4.f; +float sp_Kp = 3.40f; +float sp_Ki = 3.6f; float sp_Kd = 0.0f; //////////////////////////////////////////////////// // 当前和输入量 @@ -162,12 +162,12 @@ void sport_motion() } else { cnt7 = 0; } - if (cnt7 >= 50 && shock_stop == 1) { + if (cnt7 >= 50 && ((uint32_t)shock_stop ==1||(uint32_t)shock_stop == 2)) { bt_fly_flag = bt_run_flag = 0; bt_printf("up"); } // 異常值停车 - if (fabs(in_angle - last_angle) > 45.f) { + if (fabs(in_angle - last_angle) > 45.f&&((uint32_t)shock_stop == 1||(uint32_t)shock_stop == 3)) { bt_fly_flag = bt_run_flag = 0; bt_printf("bug"); }