From 64cdeb7ae1b355366d47428eb8936cf1d546f05c Mon Sep 17 00:00:00 2001 From: ZHAISHUI04 <3150778793@qq.com> Date: Sat, 31 May 2025 15:10:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=8A=E4=B8=8A=E5=B1=82=E4=B9=9F=E6=94=B9?= =?UTF-8?q?=E4=BA=86=EF=BC=8C=E9=81=BF=E5=85=8D=E6=96=B0=E6=9C=BA=E6=9E=84?= =?UTF-8?q?=E5=BD=B1=E5=93=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- User/Module/config.c | 4 ++-- User/Module/up.c | 14 +++++++------- User/device/can_use.c | 3 ++- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/User/Module/config.c b/User/Module/config.c index 65a65cd..93311b2 100644 --- a/User/Module/config.c +++ b/User/Module/config.c @@ -110,13 +110,13 @@ static const ConfigParam_t param ={ }, /*投球*/ .PitchConfig_Config = { - .m2006_init_angle =-90, + .m2006_init_angle =-100, .m2006_trigger_angle =0, .go1_init_position = -50, .go1_Receive_ball = -5, //偏下 .go1_release_threshold =-210, .m2006_Screw_init=0, - .Pitch_angle =56, + .Pitch_angle =58, }, diff --git a/User/Module/up.c b/User/Module/up.c index df7dcd1..50969eb 100644 --- a/User/Module/up.c +++ b/User/Module/up.c @@ -317,7 +317,7 @@ int8_t UP_control(UP_t *u,CAN_Output_t *out,CMD_t *c) { if(u->DribbleContext.DribbleState== DRIBBLE_PREPARE){ - u->DribbleContext .DribbleState=DRIBBLE_TRANSLATE; + u->DribbleContext .DribbleState=DRIBBLE_PROCESS_DOWN; } //光电状态更新 Dribble_Process(u,out); @@ -444,8 +444,8 @@ int8_t Dribble_Process(UP_t *u, CAN_Output_t *out) case DRIBBLE_PROCESS_DOWN: u->motor_target.Dribble_M3508_speed[0]=u->DribbleContext .DribbleConfig.m3508_dribble_speed; - u->motor_target.Dribble_M3508_speed[1]=-u->DribbleContext .DribbleConfig.m3508_dribble_speed; - u->motor_target.Dribble_M3508_speed[2]=-u->DribbleContext .DribbleConfig.m3508_dribble_speed; + u->motor_target.Dribble_M3508_speed[1]=u->DribbleContext .DribbleConfig.m3508_dribble_speed; + u->motor_target.Dribble_M3508_speed[2]=u->DribbleContext .DribbleConfig.m3508_dribble_speed; if(is_reached_multiple(u->motorfeedback .DJmotor_feedback [0].rpm, u->motorfeedback .DJmotor_feedback [1].rpm, @@ -461,8 +461,8 @@ int8_t Dribble_Process(UP_t *u, CAN_Output_t *out) if(common_speed_flag){ if(u->DribbleContext .DribbleConfig .light_ball_flag == 0){//球下落检测,反转 u->motor_target.Dribble_M3508_speed[0]=u->DribbleContext .DribbleConfig.m3508_dribble_Reverse_speed; - u->motor_target.Dribble_M3508_speed[1]=-u->DribbleContext .DribbleConfig.m3508_dribble_Reverse_speed; - u->motor_target.Dribble_M3508_speed[2]=-u->DribbleContext .DribbleConfig.m3508_dribble_Reverse_speed; + u->motor_target.Dribble_M3508_speed[1]=u->DribbleContext .DribbleConfig.m3508_dribble_Reverse_speed; + u->motor_target.Dribble_M3508_speed[2]=u->DribbleContext .DribbleConfig.m3508_dribble_Reverse_speed; u->DribbleContext .DribbleState=DRIBBLE_PROCESS_UP; } @@ -475,8 +475,8 @@ int8_t Dribble_Process(UP_t *u, CAN_Output_t *out) common_speed_flag =0; if((u->motorfeedback .DJmotor_feedback [0].rpm<-2000)&& - (u->motorfeedback .DJmotor_feedback [1].rpm>2000)&& - (u->motorfeedback .DJmotor_feedback [2].rpm>2000) + (u->motorfeedback .DJmotor_feedback [1].rpm>-2000)&& + (u->motorfeedback .DJmotor_feedback [2].rpm>-2000) ){ if(u->DribbleContext .DribbleConfig .light_ball_flag == 1){ diff --git a/User/device/can_use.c b/User/device/can_use.c index 4010af2..24de7ac 100644 --- a/User/device/can_use.c +++ b/User/device/can_use.c @@ -93,7 +93,8 @@ void CAN_Encoder_Decode(CAN_EncoderFeedback_t *feedback, { case 0x01: feedback->ecd =raw[3]|raw[4]<<8|raw[5]<<16|raw[6]<<24; - feedback->angle=(fp32)feedback->ecd*360/CAN_ENCODER_RESOLUTION-151.0f; + feedback->angle=(fp32)(2048-(fp32)feedback->ecd)/(2048-1797)*(70.0f-48.0f)+48.0f; + break; } }