diff --git a/app/gl_common.h b/app/gl_common.h index 4118f93..50d17ec 100644 --- a/app/gl_common.h +++ b/app/gl_common.h @@ -3,8 +3,8 @@ #define IMAGE_H (MT9V03X_H) #define IMAGE_W (MT9V03X_W) -#define BEGINH_L (55) -#define BEGINH_R (55) +#define BEGINH_L (61) +#define BEGINH_R (61) #define BEGINW_L (-18) #define BEGINW_R (-12) #define PT_MAXLEN (75) diff --git a/app/gl_state.h b/app/gl_state.h index dc762c0..c710d3e 100644 --- a/app/gl_state.h +++ b/app/gl_state.h @@ -23,6 +23,6 @@ enum state_type_e { extern enum state_type_e state_type; #define CROSS_AIM (0.49f) -#define COMMON_AIM (0.31f) +#define COMMON_AIM (0.25f) #endif /* STATE_H_ */ diff --git a/app/gl_tracking.c b/app/gl_tracking.c index b6bf79c..aa7b1df 100644 --- a/app/gl_tracking.c +++ b/app/gl_tracking.c @@ -3,7 +3,7 @@ float (*mid_track)[2]; int32_t mid_track_count; -float dx; +float pure_angle; float dx_near; float (*rpts)[2]; int rpts_num; @@ -107,10 +107,10 @@ void MidLineTrack() int aim_idx_near = clip(round(0.09 / RESAMPLEDIST), 0, rptsn_num - 1); // 计算远锚点偏差值 - dx = rptsn[aim_idx][1] - cx; - // float dy = cy - rptsn[aim_idx][0] + 0.2 * PIXPERMETER; - // float dn = sqrt(dx * dx + dy * dy); - // float error = -atan2f(dx, dy) * 180 / PI; + float dx = rptsn[aim_idx][1] - cx; + float dy = cy - rptsn[aim_idx][0] + 0.2 * PIXPERMETER; + float dn = sqrt(dx * dx + dy * dy); + float error = -atan2f(dx, dy) * 180 / PI; // 计算近锚点偏差值 dx_near = rptsn[aim_idx_near][1] - cx; @@ -121,6 +121,6 @@ void MidLineTrack() // //考虑近点 // near_angle = -atanf(PIXPERMETER * 2 * 0.2 * dx_near / dn_near / dn_near) / PI * 180 ; // //考虑远点 - // pure_angle = -atanf(PIXPERMETER * 2 * 0.2 * dx/ dn / dn) / PI * 180 ; + pure_angle = -atanf(PIXPERMETER * 2 * 0.2 * dx/ dn / dn) / PI * 180 ; } } diff --git a/app/gl_tracking.h b/app/gl_tracking.h index f2c124c..8b2de2c 100644 --- a/app/gl_tracking.h +++ b/app/gl_tracking.h @@ -2,7 +2,7 @@ #define TRACKING extern float (*mid_track)[2]; -extern float dx; +extern float pure_angle; extern float dx_near; void tracking(void); diff --git a/app/jj_param.c b/app/jj_param.c index 00ff0b3..c018880 100644 --- a/app/jj_param.c +++ b/app/jj_param.c @@ -31,7 +31,7 @@ void jj_param_eeprom_init(void) PARAM_REG(imgax_Ki, &data4, EFLOAT, 1, "im_I:"); // 注冊 PARAM_REG(imgax_Kd, &data5, EFLOAT, 1, "im_D:"); PARAM_REG(other , &data6, EFLOAT, 1, "add:"); - PARAM_REG(delta_x , &dx, EFLOAT, 2, "far:"); + PARAM_REG(delta_x , &pure_angle, EFLOAT, 2, "far:"); PARAM_REG(delta_y , &dx_near, EFLOAT, 0, "near:"); jj_param_read(); // 注冊 } diff --git a/app/main.c b/app/main.c index 804247d..805c459 100644 --- a/app/main.c +++ b/app/main.c @@ -56,7 +56,7 @@ int main(void) while (1) { Page_Run(); by_buzzer_run(); - tiny_frame_param[0].f32 = dx; + tiny_frame_param[0].f32 = pure_angle; tiny_frame_param[1].f32 = dx_near; system_delay_ms(10); if (mt9v03x_finish_flag) {