From f9e93b88c15f9aa90615a1b07806aa5a1da70ebd Mon Sep 17 00:00:00 2001 From: ZHAISHUI04 <3150778793@qq.com> Date: Fri, 27 Jun 2025 21:43:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=B8=8A=E5=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MDK-ARM/.vscode/keil-assistant.log | 4 + MDK-ARM/R2.uvoptx | 9 +- MDK-ARM/R2/R2.axf | Bin 2850272 -> 2862924 bytes User/Module/Chassis.c | 47 +++-- User/Module/Chassis.h | 21 ++- User/Module/config.c | 44 +++-- User/Module/up.c | 284 +++++++++++++++++++---------- User/Module/up.h | 93 +++++++--- User/Module/up_utils.c | 61 ++++++- User/device/cmd.c | 8 +- User/device/cmd.h | 9 +- User/device/nuc.c | 5 +- User/device/vofa.c | 4 +- User/task/chassis_task.c | 2 +- User/task/nuc_task.c | 2 +- User/task/up_task.c | 7 +- User/task/user_task.h | 2 +- 17 files changed, 428 insertions(+), 174 deletions(-) diff --git a/MDK-ARM/.vscode/keil-assistant.log b/MDK-ARM/.vscode/keil-assistant.log index 28d9a59..6c4a5e0 100644 --- a/MDK-ARM/.vscode/keil-assistant.log +++ b/MDK-ARM/.vscode/keil-assistant.log @@ -475,3 +475,7 @@ [info] Log at : 2025/6/24|03:28:50|GMT+0800 +[info] Log at : 2025/6/26|19:47:59|GMT+0800 + +[info] Log at : 2025/6/27|16:40:58|GMT+0800 + diff --git a/MDK-ARM/R2.uvoptx b/MDK-ARM/R2.uvoptx index b84add3..ce2b613 100644 --- a/MDK-ARM/R2.uvoptx +++ b/MDK-ARM/R2.uvoptx @@ -188,12 +188,17 @@ 6 1 - a,0x0A + tar_angle 7 1 - posss + up_cmd + + + 8 + 1 + a,0x0A diff --git a/MDK-ARM/R2/R2.axf b/MDK-ARM/R2/R2.axf index c030fe158c8d8508483415c23372aa11ca902a88..ad174aa265fdfbcdd6270aceb46d244a4a41077a 100644 GIT binary patch delta 148998 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 delta 140819 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 diff --git a/User/Module/Chassis.c b/User/Module/Chassis.c index ff17d3f..f24b59f 100644 --- a/User/Module/Chassis.c +++ b/User/Module/Chassis.c @@ -47,9 +47,14 @@ int8_t Chassis_init(Chassis_t *c, const Chassis_Param_t *param, float target_fre } PID_init(&(c->pid.chassis_PICKWzPID_HIGN), PID_POSITION, &(c->param->chassis_PICKWzPID_HIGN_param)); PID_init(&(c->pid.chassis_PICKWzPID_LOW), PID_POSITION, &(c->param->chassis_PICKWzPID_LOW_param)); - PID_init(&(c->pid.SickCaliWzPID), PID_POSITION, &(c->param->Sick_CaliWparam)); - PID_init(&(c->pid.SickCaliVxPID), PID_POSITION, &(c->param->Sick_CaliXparam)); - PID_init(&(c->pid.SickCaliVyPID), PID_POSITION, &(c->param->Sick_CaliYparam)); + /*sick*/ + PID_init(&(c->pid.SickCaliWzInPID), PID_POSITION, &(c->param->SickCali_WInparam)); + PID_init(&(c->pid.SickCaliWzOutPID), PID_POSITION, &(c->param->SickCali_WOutparam)); + PID_init(&(c->pid.SickCaliVxInPID), PID_POSITION, &(c->param->SickCali_XInparam)); + PID_init(&(c->pid.SickCaliVxOutPID), PID_POSITION, &(c->param->SickCali_XOutparam)); + PID_init(&(c->pid.SickCaliVyInPID), PID_POSITION, &(c->param->SickCali_YInparam)); + PID_init(&(c->pid.SickCaliVyOutPID), PID_POSITION, &(c->param->SickCali_YOutparam)); + /*修正 */ PID_init(&(c->pid.Chassis_AngleAdjust), PID_POSITION, &(c->param->Chassis_AngleAdjust_param)); LowPassFilter2p_Init(&(c->filled[0]), target_freq, 80.0f); // 角加速度滤波 @@ -138,7 +143,17 @@ int8_t Chassis_Control(Chassis_t *c, CMD_t *ctrl, CAN_Output_t *out) { c->move_vec.Vy = ctrl->Vx * 6000; break; - case PassBall: // + + default: + + break; + } + case PASS_BALL: + switch (c->chassis_ctrl.mode) + { + case PB_UP: + case PB_MID: + case PB_DOWN: c->move_vec.Vw = ctrl->cmd_MID360.posw * 1000; c->move_vec.Vy = -ctrl->cmd_MID360.posy * 1000; c->move_vec.Vx = -ctrl->cmd_MID360.posx * 1000; @@ -146,10 +161,13 @@ int8_t Chassis_Control(Chassis_t *c, CMD_t *ctrl, CAN_Output_t *out) { abs_limit_fp(&c->move_vec.Vy, 5000.0f); abs_limit_fp(&c->move_vec.Vw, 5000.0f); break ; - default: - - break; - } + + } + + + + + break; break; default: @@ -171,7 +189,7 @@ int8_t Chassis_Control(Chassis_t *c, CMD_t *ctrl, CAN_Output_t *out) { out->motor_CHASSIS3508.as_array[i] = c->final_out.final_3508out[i]; } - c->vofa_send[0] = (fp32)c->sick_cali.sick_dis[1] - c->sick_cali.sick_dis[2]; +// c->vofa_send[0] = (fp32)c->sick_cali.sick_dis[1] - c->sick_cali.sick_dis[2]; return CHASSIS_OK; @@ -193,8 +211,8 @@ int8_t sick_calibration(Chassis_t *c, CMD_t *ctrl, CAN_Output_t *out) { if (c == NULL) return CHASSIS_ERR_NULL; if (ctrl == NULL) return CHASSIS_ERR_NULL; - - + fp32 delta_w,delta_x,delta_y; + fp32 sick0 = c->sick_cali.sick_dis[0] ; fp32 sick1 = c->sick_cali.sick_dis[1]; fp32 sick2 = c->sick_cali.sick_dis[2]; @@ -204,10 +222,9 @@ int8_t sick_calibration(Chassis_t *c, CMD_t *ctrl, CAN_Output_t *out) fp32 diff_y = -(fp32)(sick1 - c->sick_cali.sickparam.y_set); fp32 diff_x = (fp32)(sick0 - c->sick_cali.sickparam.x_set); - - c->move_vec.Vw = (fabsf(diff_yaw) > param->w_error) ? PID_calc(&(c->pid.SickCaliWzPID), diff_yaw, 0) : 0; - c->move_vec.Vx = (fabsf(diff_x) > param->xy_error) ? PID_calc(&(c->pid.SickCaliVxPID), diff_x, 0) : 0; - c->move_vec.Vy = (fabsf(diff_y) > param->xy_error) ? PID_calc(&(c->pid.SickCaliVyPID), diff_y, 0) : 0; + delta_w=(&c->pid.SickCaliWzInPID, diff_yaw, 0); + delta_x=(&c->pid.SickCaliVxInPID, diff_x, 0); + delta_y=(&c->pid.SickCaliVyInPID, diff_y,0); static uint16_t reach_cnt = 0; if (fabsf(diff_yaw) <= param->w_error && diff --git a/User/Module/Chassis.h b/User/Module/Chassis.h index 6020adc..810a826 100644 --- a/User/Module/Chassis.h +++ b/User/Module/Chassis.h @@ -80,9 +80,13 @@ typedef struct pid_param_t NaviVy_param; pid_param_t NaviVw_param; - pid_param_t Sick_CaliWparam; - pid_param_t Sick_CaliYparam; - pid_param_t Sick_CaliXparam; + pid_param_t SickCali_WInparam; + pid_param_t SickCali_WOutparam; + pid_param_t SickCali_YInparam; + pid_param_t SickCali_YOutparam; + pid_param_t SickCali_XInparam; + pid_param_t SickCali_XOutparam; + pid_param_t Chassis_AngleAdjust_param; sickparam_t sickparam; @@ -154,12 +158,15 @@ typedef struct{ pid_type_def chassis_PICKWzPID_HIGN; /*存在较低误差*/ pid_type_def chassis_PICKWzPID_LOW; - pid_type_def Chassis_AngleAdjust; - pid_type_def SickCaliWzPID; - pid_type_def SickCaliVxPID; - pid_type_def SickCaliVyPID; + /*sick */ + pid_type_def SickCaliWzInPID; + pid_type_def SickCaliWzOutPID; + pid_type_def SickCaliVxInPID; + pid_type_def SickCaliVxOutPID; + pid_type_def SickCaliVyInPID; + pid_type_def SickCaliVyOutPID; }pid; diff --git a/User/Module/config.c b/User/Module/config.c index d748f9c..55f9394 100644 --- a/User/Module/config.c +++ b/User/Module/config.c @@ -37,18 +37,18 @@ static const ConfigParam_t param ={ .out_limit = 3000.0f, }, .Pitch_M2006_angle_param = { - .p = 600.0f, + .p = 1600.0f, .i = 0.0f, .d = 3.0f, - .i_limit = 2000.0f, - .out_limit = 3000.0f, + .i_limit = 4000.0f, + .out_limit = 20000.0f, }, .Pitch_M2006_speed_param={ - .p = 5.0f, - .i = 0.3f, + .p = 8.5f, + .i = 0.03f, .d = 0.0f, .i_limit = 2000.0f, - .out_limit = 3000.0f, + .out_limit = 15000.0f, }, .Pitch_Angle_M2006_speed_param={ //俯仰跑速度环 .p = 20.0f, @@ -71,20 +71,32 @@ static const ConfigParam_t param ={ }, -/*上层其他参数*/ +/*上层其他参数,一些只是初始值,在运行过程中会被更改*/ /*投球*/ - .PitchCfg = { - .m2006_init =-150, //释放的角度 - .m2006_trig =0, //可以拉住发射的角度 - .go_init = -50, //仅用在go上电,初始位置 - .go_pull_pos =-214, - .Pitch_angle =58, - - .pull_speed =5, - + .LaunchCfg = { + .m2006_init = -150.0f, // M2006初始角度 + .m2006_trig = 0.0f, // M2006触发角度 + .go_pull_pos = -214.0f, // go上升去合并扳机,扳机位置 + .go_up_speed = 12.0f, // 上升速度 + .go_down_speed = 6.0f, // 下降速度 + .Pitch_angle = 66, //俯仰角 + .go_init = -50 }, + .PitchCfg = { + .go_init = -50, //仅用在go上电,初始位置 + .go_release_pos=-200, + .Pitch_angle =66, + +}, + .PassCfg={ + .go_wait =-10, + .go_release_pos =-150, + .Pitch_angle=66, + .go_up_speed =12, + .go_down_speed =5, + }, }, .chassis = {/**/ diff --git a/User/Module/up.c b/User/Module/up.c index a99de06..7861428 100644 --- a/User/Module/up.c +++ b/User/Module/up.c @@ -43,13 +43,19 @@ int8_t up_init(UP_t *u,const UP_Param_t *param,float target_freq) LowPassFilter2p_Init(&(u->filled[0]),target_freq,100.0f); - if (!u->Pitch_Cfg .is_init) { - u->Pitch_Cfg .PitchConfig = u->param ->PitchCfg ;//赋值 - u->Pitch_Cfg .PitchState = PITCH_PREPARE; //状态更新,开始夹球 - u->Pitch_Cfg .is_init = 1; + if (!u->PitchContext .is_init) { + u->PitchContext .PitchConfig = u->param ->PitchCfg ;//赋值 + u->PitchContext .PitchState = PITCH_PREPARE; //状态更新 + u->PitchContext .is_init = 1; } - - BSP_UART_RegisterCallback(BSP_UART_RS485, BSP_UART_RX_CPLT_CB, USART6_RxCompleteCallback);//注册串口回调函数,bsp层 + if(!u->PassContext.is_init) { + u->PassContext .PassCfg = u->param ->PassCfg ;//赋值 + u->PassContext .PassState = PASS_STOP; //状态更新 + u->PassContext .is_init = 1; + } + u->LaunchContext.LaunchCfg = u->param->LaunchCfg; + + BSP_UART_RegisterCallback(BSP_UART_RS485, BSP_UART_RX_CPLT_CB, USART6_RxCompleteCallback);//注册串口回调函数,bsp层 } @@ -118,8 +124,6 @@ int8_t VESC_M5065_Control(UP_t *u,fp32 speed) - - int8_t ALL_Motor_Control(UP_t *u,CAN_Output_t *out) { //电机控制 ,传进can @@ -131,16 +135,17 @@ int8_t ALL_Motor_Control(UP_t *u,CAN_Output_t *out) /*俯仰2006,双环,内使用oid角度环,外电机速度环 */ + DJ_Speed_Control(u,0x206,&u->motorfeedback .DJmotor_feedback[5],&u->pid .Pitch_M2006_speed, (PID_calc (&(u->pid .Pitch_M2006_angle ), - u->motorfeedback .Encoder.angle,u->motor_target .Pitch_angle)) + u->motorfeedback .Encoder.angle,u->motor_target .Pitch_angle)+0.14) ); - + GO_SendData( &u->motorfeedback.go_data, &u->go_cmd,u->motor_target .go_shoot, - u->Pitch_Cfg .PitchConfig .pull_speed - );//对应的拉动速度 + u->motor_target.go_pull_speed + ); for(int i=0;i<4;i++){ out ->motor_UP3508_Dribble.as_array[i]=u->final_out.DJfinal_out [i] ; @@ -166,17 +171,18 @@ int8_t UP_control(UP_t *u,CAN_Output_t *out,CMD_t *c) if(c ==NULL) return 0; /*指针简化*/ - PitchCfg_t *pitch_cfg = &u->Pitch_Cfg.PitchConfig; + PitchCfg_t *pitch_cfg = &u->PitchContext.PitchConfig; + LaunchCfg_t *LaunchCfg =&u->LaunchContext.LaunchCfg; up_motor_target_t *target=&u->motor_target ; /*config值限位*/ - abs_limit_min_max_fp(&u->Pitch_Cfg.PitchConfig.go_release_pos ,-215.0f,0.0f); - abs_limit_min_max_fp(&u->Pitch_Cfg.PitchConfig.Pitch_angle ,48.0f,67.0f); + abs_limit_min_max_fp(&u->PitchContext.PitchConfig.go_release_pos ,-215.0f,0.0f); + abs_limit_min_max_fp(&u->PitchContext.PitchConfig.Pitch_angle ,48.0f,67.0f); /*部分数据更新*/ static int is_pitch=1; - posss=CurveChange(LowPassFilter2p_Apply(&u->filled[0],c->pos),3,4,&u->Pitch_Cfg.Curve); -// if (u->Pitch_Cfg.Curve == CURVE_58) { + posss=CurveChange(LowPassFilter2p_Apply(&u->filled[0],c->pos),3,4,&u->PitchContext.Curve); +// if (u->PitchContext.Curve == CURVE_58) { // target->Pitch_angle = 58; // } else { // target->Pitch_angle = 66; @@ -185,85 +191,100 @@ int8_t UP_control(UP_t *u,CAN_Output_t *out,CMD_t *c) switch (c->CMD_CtrlType ) { case RCcontrol: //在手动模式下 - + + switch (c-> CMD_mode ) { - case Normal : + case Normal : //复位,go位置和俯仰角保持LaunchCfg最后修改后的位置,扳机2006角度复位用于发射 /*投篮*/ if(is_pitch){ - target->Shoot_M2006_angle = pitch_cfg->go_init ; - target->Pitch_angle = pitch_cfg->Pitch_angle; + target->go_shoot = LaunchCfg->go_init ; + target->Pitch_angle = LaunchCfg->Pitch_angle; is_pitch=0; - } //让初始go位置只读一次,后面按调整模式更改的来,后面稳定了之后,可以跟随调整模式下一块删 + } //初始上电 + LaunchCfg->go_up_speed=15; + target->Pitch_angle =LaunchCfg->Pitch_angle; - target->Shoot_M2006_angle =u->Pitch_Cfg .PitchConfig .m2006_init ; - u->Pitch_Cfg .PitchState = PITCH_PREPARE; //状态更新,开始夹球 - + + target->Shoot_M2006_angle=LaunchCfg->m2006_init; + u->PitchContext .PitchState = PITCH_PREPARE; //状态更新 + u->LaunchContext.LaunchState = Launch_Stop; break; case Pitch : - if (u->Pitch_Cfg .PitchState ==PITCH_PREPARE) + if (u->PitchContext .PitchState ==PITCH_PREPARE) { - u->Pitch_Cfg .PitchState=PITCH_START;//置标志位用于启动投篮 + u->PitchContext .PitchState=PITCH_START;//置标志位用于启动投篮 } - Pitch_Process(u,out); + Pitch_Process(u,out,c); break ; - case UP_Adjust: //测试用 - pitch_cfg ->pull_speed=5; + case UP_Adjust: //测试用,手动使用pitch下的cfg + LaunchCfg->go_up_speed=5; pitch_cfg ->go_release_pos += c->Vx ; - pitch_cfg->Pitch_angle += c->Vy/100; + LaunchCfg->Pitch_angle += c->Vy/100; - target->go_shoot=u->Pitch_Cfg.PitchConfig.go_release_pos; - target->Pitch_angle=u->Pitch_Cfg.PitchConfig.Pitch_angle; + target->go_shoot=pitch_cfg ->go_release_pos; + target->Pitch_angle=LaunchCfg->Pitch_angle; break ; - + default: + break; } break; case AUTO: /*自动下数据更新,根据距离切换俯仰角,如需自动调整,放在*/ - if (u->Pitch_Cfg.Curve == CURVE_58) { - target->Pitch_angle = 58; - } else { - target->Pitch_angle = 66; - } +// if (u->PitchContext.Curve == CURVE_58) { +// target->Pitch_angle = 58; +// } else { +// target->Pitch_angle = 66; +// } switch(c-> CMD_mode) { case AUTO_MID360_Pitch: - if (u->Pitch_Cfg .PitchState ==PITCH_PREPARE) + if (u->PitchContext .PitchState ==PITCH_PREPARE || u->PitchContext .PitchState ==PITCH_COMPLETE) { - u->Pitch_Cfg .PitchState=PITCH_START;//置标志位用于启动投篮 + u->PitchContext .PitchState=PITCH_START;//置标志位用于启动投篮 } /*根据距离实时计算所需pos*/ - + if(c->pos){ pitch_cfg ->go_release_pos= - CurveChange(LowPassFilter2p_Apply(&u->filled[0],c->pos),3,4,&u->Pitch_Cfg.Curve); - - Pitch_Process(u,out); + CurveChange(LowPassFilter2p_Apply(&u->filled[0],c->pos),3,4,&u->PitchContext.Curve); + } + else pitch_cfg ->go_release_pos=0 ; + Pitch_Process(u,out,c); break ; case AUTO_MID360: - target->Shoot_M2006_angle =pitch_cfg ->m2006_init ; + target->Shoot_M2006_angle =LaunchCfg ->m2006_init ; - u->Pitch_Cfg .PitchState = PITCH_PREPARE; + break ; + default: + break; } break ; - + case PASS_BALL: +// if (u->PitchContext.Curve == CURVE_58) { +// target->Pitch_angle = 58; +// } else { +// target->Pitch_angle = 66; +// } + Pass_Process(u,out,c); + break; case RELAXED: // target->go_shoot= pitch_cfg . - - target->go_shoot = pitch_cfg->go_init; target->Pitch_angle = 58; - target->Shoot_M2006_angle =pitch_cfg->m2006_init; + target->go_shoot = -210.0f; +// target->Pitch_angle = 58; + break ; @@ -275,58 +296,133 @@ return 0; - - - -int8_t Pitch_Process(UP_t *u, CAN_Output_t *out) -{ +//复用发射, +int8_t Pitch_Launch_Sequence(UP_t *u, LaunchContext_t *LaunchContext,fp32 StartPos,fp32 EndPos,CAN_Output_t *out){ - PitchCfg_t *cfg = &u->Pitch_Cfg.PitchConfig; - PitchState_t *state =&u->Pitch_Cfg .PitchState; - up_motor_target_t *target=&u->motor_target ; - - switch(*state){ - - case PITCH_START: -// u->motor_target .Dribble_translate_M3508_angle =u->DribbleCont .DribbleConfig.m3508_translate_angle;//平行移动 - cfg->pull_speed=12; - target->go_shoot = cfg->go_pull_pos; + switch(LaunchContext->LaunchState){ + case Launch_Stop: break; + case Launch_PREPARE: + u->motor_target.go_shoot = StartPos; + if(is_reached(u->motorfeedback.go_data.Pos,StartPos,1.0f)&& + is_reached(u->motorfeedback.go_data.W,0,1.0f)){ + //根据位置和速度判断是否到达初始位置 + LaunchContext->LaunchState = Launch_START; + + }break; + + case Launch_START: + u->motor_target.go_pull_speed=LaunchContext->LaunchCfg.go_up_speed; + u->motor_target.go_shoot = u->LaunchContext.LaunchCfg.go_pull_pos; + if(u->motorfeedback .go_data .Pos < -209){ //检测go位置到达最上面,这里的检测条件可以更改 + u->motor_target.Shoot_M2006_angle = u->LaunchContext.LaunchCfg.m2006_trig ;//设置2006角度,关闭 + + LaunchContext->LaunchState = Launch_TRIGGER; + }break; - if(u->motorfeedback .go_data .Pos < -209){ //检测go位置到达最上面,这里的检测条件可以更改 - target->Shoot_M2006_angle = cfg->m2006_trig ;//设置2006角度,0 - u->Pitch_Cfg .PitchConfig .pull_speed=6; - *state=PITCH_PULL_TRIGGER; -}//更改标志位 - - break ; - case PITCH_PULL_TRIGGER: + case Launch_TRIGGER: + if( u->motorfeedback .DJmotor_feedback [4].total_angle>-1){ //当2006的总角度小于1,可以认为已经勾上,误差为1 + u->motor_target.go_pull_speed=LaunchContext->LaunchCfg.go_down_speed; + u->motor_target.go_shoot = EndPos ; + if(is_reached(u->motorfeedback.go_data.Pos,EndPos,1.0f)) + LaunchContext->LaunchState = Launch_SHOOT_WAIT; + } break; - if( u->motorfeedback .DJmotor_feedback [4].total_angle>-1) //当2006的总角度小于1,可以认为已经勾上,误差为1 - { - target->go_shoot=cfg->go_release_pos; - if(is_reached (u->motorfeedback .go_data .Pos ,target->go_shoot ,1.0f)) - { - *state=PITCH_LAUNCHING; - } - } + case Launch_SHOOT_WAIT: + if(u->motorfeedback.DJmotor_feedback[4].total_angle<-1) //认为发射 + LaunchContext->LaunchState = Launch_DONE; + break; + case Launch_DONE: break ; - - case PITCH_LAUNCHING: //等待发射 -// *state=PITCH_COMPLETE; - break ; - case PITCH_COMPLETE: //发射完成 - - - break ; - - } - -return 0; } +int8_t Pitch_Process(UP_t *u, CAN_Output_t *out,CMD_t *c) +{ + /*简化*/ + PitchCfg_t *cfg = &u->PitchContext.PitchConfig; + PitchState_t *state =&u->PitchContext .PitchState; + up_motor_target_t *target=&u->motor_target ; + LaunchContext_t *LaunchContext = &u->LaunchContext; + // 可根据实际需要传入不同的起始和末位置,起始:当前位置 + Pitch_Launch_Sequence(u, LaunchContext, u->motorfeedback.go_data.Pos, cfg->go_release_pos, out); + + + switch(*state){ + + case PITCH_START: + LaunchContext->LaunchState = Launch_PREPARE; + + *state=PITCH_WAIT; + break; + + case PITCH_WAIT: + + if(LaunchContext->LaunchState==Launch_DONE) + *state=PITCH_COMPLETE; + break; + case PITCH_COMPLETE: + + break; + default: + break; + + } + + + return 0; + +} + + + +int8_t Pass_Process(UP_t *u,CAN_Output_t *out,CMD_t *c) +{ + + PassCfg_t *PassCfg = &u->PassContext.PassCfg; + PassState_t *state = &u->PassContext.PassState; + up_motor_target_t *target=&u->motor_target ; + LaunchContext_t *LaunchContext = &u->LaunchContext; + + Pass_Sequence_Check(u,c); + + if(c->pos) // + { + PassCfg ->go_release_pos = + CurveChange(LowPassFilter2p_Apply(&u->filled[0],c->pos),3,4,&u->PitchContext.Curve); + + } + switch (*state) { //遥控器按键进行状态切换 + case PASS_STOP: + + break; + case PASS_IDLE: + LaunchContext->LaunchState = Launch_PREPARE; + break; + case PASS_PREPARE: + target->go_pull_speed=PassCfg->go_up_speed; + + Pitch_Launch_Sequence(u,LaunchContext,u->motorfeedback.go_data.Pos,PassCfg->go_wait,out); + + + break; + case PASS_START: + if(LaunchContext->LaunchState == Launch_SHOOT_WAIT){ + target->go_pull_speed=PassCfg->go_down_speed; + target->go_shoot = PassCfg->go_release_pos ; + } + break ; + case PASS_POS_PREPARE: + target->Shoot_M2006_angle=LaunchContext->LaunchCfg.m2006_init;//发射 + break; + case PASS_COMPLETE: + break; + default: + break; + } + return 0; +} diff --git a/User/Module/up.h b/User/Module/up.h index 51c96f5..599c0f8 100644 --- a/User/Module/up.h +++ b/User/Module/up.h @@ -28,26 +28,50 @@ */ +/*共用发射,重复部分*/ +typedef struct { + fp32 m2006_init; // M2006初始角度 + fp32 m2006_trig; // M2006触发角度0,用来合并扳机 + fp32 go_init; + fp32 go_pull_pos; // go上升去合并扳机,扳机位置 + fp32 go_up_speed; + fp32 go_down_speed; + + fp32 Pitch_angle; +} LaunchCfg_t; +typedef enum { + Launch_Stop, + Launch_PREPARE, // + Launch_START, //启动,从指定位置上升,扣动扳机 + Launch_TRIGGER, //拉动到指定位置 + Launch_SHOOT_WAIT, // 发射等待 + Launch_SHOOT, + Launch_DONE, + + +}LaunchState_t; +typedef struct { + LaunchCfg_t LaunchCfg; + LaunchState_t LaunchState; +} LaunchContext_t; + /* 投球状态定义 */ typedef enum { + PITCH_PREPARE, // 准备阶段 PITCH_START, //启动,拉扳机 - PITCH_PULL_TRIGGER, - PITCH_LAUNCHING, // 发射中 + + PITCH_WAIT, // 发射等待 PITCH_COMPLETE // 完成 } PitchState_t; /* 投球参数配置 */ typedef struct { - fp32 m2006_init; // M2006初始角度 - fp32 m2006_trig; // M2006触发角度0,用来合并扳机 - fp32 go_init; // GO电机触发位置,初始位置,后续更改用于发射的位置 - fp32 go_pull_pos; // go上升去合并扳机,扳机位置 - fp32 Pitch_angle; //俯仰角度,以oid为准 - - fp32 pull_speed;//go速度 + + fp32 go_init; // GO电机触发位置,初始位置,后续更改用于发射的位置 + fp32 Pitch_angle; //俯仰角度,以oid为准 fp32 go_release_pos;//go松开,发射位置 } PitchCfg_t; @@ -57,17 +81,32 @@ typedef struct { PitchCfg_t PitchConfig; CurveType Curve; //当前函数,雷达距离->pos uint8_t is_init ; -} Pitch_Cfg_t; +} PitchContext_t; -/*运球*/ +/*传球过程 */ typedef enum { - DRIBBLE_PREPARE, // 准备阶段 - DRIBBLE_START, - DRIBBLE_TRANSLATE, // 平移过程 - DRIBBLE_PROCESS_DOWN, // 运球过程,球下落 - DRIBBLE_PROCESS_UP, // 运球过程,球上升 - DRIBBLE_DONE // 运球结束 -} DribbleState_t; + PASS_STOP, // 停止状态,未进入传球模式 + PASS_IDLE, // 空闲状态,进入未开始 + PASS_PREPARE, // 传球准备 + PASS_START, // 启动传球,拉动到等球位置 + PASS_POS_PREPARE, // 传球位置准备,对准篮筐,go的位置 + PASS_COMPLETE // 发射 +} PassState_t; +typedef struct { + + fp32 go_wait; // GO等待位置 + fp32 go_release_pos; // GO电机发射位置 + fp32 Pitch_angle; // 俯仰角度,以oid为准 + fp32 go_up_speed; // GO电机上升速度 + fp32 go_down_speed; // GO电机下降速度 + +} PassCfg_t; +typedef struct { + PassState_t PassState; + PassCfg_t PassCfg; + CurveType Curve; //当前函数,雷达距离->pos + uint8_t is_init ; +} PassContext_t; typedef struct { @@ -91,7 +130,10 @@ typedef struct pid_param_t Pitch_Angle_M2006_speed_param; + LaunchCfg_t LaunchCfg; PitchCfg_t PitchCfg; + PassCfg_t PassCfg; + GO_MotorCmd_t go_cmd; }UP_Param_t; @@ -103,7 +145,7 @@ typedef struct{ fp32 Shoot_M2006_angle; fp32 go_shoot; - + fp32 go_pull_speed; fp32 Pitch_angle; //以oid的角度为准,目标俯仰角 }up_motor_target_t; @@ -128,10 +170,12 @@ typedef struct{ typedef struct{ uint8_t up_task_run; - const UP_Param_t *param; + const UP_Param_t *param; + LaunchContext_t LaunchContext; /*投篮过程*/ - Pitch_Cfg_t Pitch_Cfg; - + PitchContext_t PitchContext; + /*传球过程*/ + PassContext_t PassContext; CMD_t *cmd; struct{ @@ -184,7 +228,10 @@ int8_t DJ_processdata(DJmotor_feedback_t *f,fp32 ecd_to_angle); int8_t DJ_Angle_Control(UP_t *u,int id,DJmotor_feedback_t *f,pid_type_def *Angle_pid,pid_type_def *Speed_pid,fp32 target_angle); int8_t DJ_Speed_Control(UP_t *u,int id,DJmotor_feedback_t *f,pid_type_def *Speed_pid,fp32 target_speed); -int8_t Pitch_Process(UP_t *u, CAN_Output_t *out); +int8_t Pitch_Process(UP_t *u, CAN_Output_t *out,CMD_t *c); +int8_t Pass_Sequence_Check(UP_t *u,CMD_t *c); +int8_t Pass_Process(UP_t *u,CAN_Output_t *out,CMD_t *c); +int8_t Pitch_Launch_Sequence(UP_t *u, LaunchContext_t *LaunchContext,fp32 StartPos,fp32 EndPos,CAN_Output_t *out); #endif diff --git a/User/Module/up_utils.c b/User/Module/up_utils.c index bbcbd26..9faeae8 100644 --- a/User/Module/up_utils.c +++ b/User/Module/up_utils.c @@ -1,5 +1,5 @@ #include "up_utils.h" - +#include "up.h" int8_t DJ_processdata(DJmotor_feedback_t *f,fp32 ecd_to_angle) { @@ -99,3 +99,62 @@ float CurveChange(float d, float x, float y, CurveType *cs) } } +int8_t Pass_Sequence_Check(UP_t *u, CMD_t *c) //按键顺序检测,传球,按需求改 +{ + PassState_t *state = &u->PassContext.PassState; + static enum { + SEQ_IDLE, + SEQ_MID1, + SEQ_UP, + SEQ_MID2, + SEQ_DOWN + } seq = SEQ_IDLE; + + switch (seq) { + case SEQ_IDLE: + if (c->CMD_mode == PB_MID) { + seq = SEQ_MID1; + *state = PASS_IDLE; + } + break; + case SEQ_MID1: + if (c->CMD_mode == PB_UP) { + seq = SEQ_UP; + *state = PASS_PREPARE; + } else if (c->CMD_mode != PB_MID) { + seq = SEQ_IDLE; + *state = PASS_STOP; + } + break; + case SEQ_UP: + if (c->CMD_mode == PB_MID) { + seq = SEQ_MID2; + *state = PASS_START; + } else if (c->CMD_mode != PB_UP) { + seq = SEQ_IDLE; + *state = PASS_STOP; + } + break; + case SEQ_MID2: + if (c->CMD_mode == PB_DOWN) { + seq = SEQ_DOWN; + *state = PASS_POS_PREPARE; + } else if (c->CMD_mode != PB_MID) { + seq = SEQ_IDLE; + *state = PASS_STOP; + } + break; + case SEQ_DOWN: + if (c->CMD_mode == PB_MID) { + seq = SEQ_IDLE; + *state = PASS_IDLE; // 或 PASS_COMPLETE,看你需求 + } else if (c->CMD_mode != PB_DOWN) { + seq = SEQ_IDLE; + *state = PASS_STOP; + } + break; + } + return 0; +} + + diff --git a/User/device/cmd.c b/User/device/cmd.c index 7646fbe..c8d6c43 100644 --- a/User/device/cmd.c +++ b/User/device/cmd.c @@ -164,10 +164,10 @@ int8_t CMD_DR16(CMD_t *cmd,const CMD_RC_t *rc) { } else if(rc->dr16.sw_l==CMD_SW_DOWN) { - cmd ->CMD_CtrlType =RCcontrol; - if(rc->dr16.sw_r ==CMD_SW_UP) cmd ->CMD_mode =Normal; //左下,右上,无模式 - if(rc->dr16.sw_r ==CMD_SW_MID) cmd ->CMD_mode =Normal; //左下,右中,无模式 - if(rc->dr16.sw_r ==CMD_SW_DOWN) cmd ->CMD_mode =Normal; //左下,右上,无模式 + cmd ->CMD_CtrlType =PASS_BALL; + if(rc->dr16.sw_r ==CMD_SW_UP) cmd ->CMD_mode =PB_UP; //左下,右上,无模式 + if(rc->dr16.sw_r ==CMD_SW_MID) cmd ->CMD_mode = PB_MID; //左下,右中,无模式 + if(rc->dr16.sw_r ==CMD_SW_DOWN) cmd ->CMD_mode =PB_DOWN; //左下,右上,无模式 } diff --git a/User/device/cmd.h b/User/device/cmd.h index d48c436..fba1fb8 100644 --- a/User/device/cmd.h +++ b/User/device/cmd.h @@ -14,6 +14,7 @@ typedef enum{ RCcontrol,//遥控器控制,左按键上,控制上层 AUTO, + PASS_BALL,//传球模式 RELAXED,//异常模式 }CMD_CtrlType_t; @@ -29,11 +30,13 @@ typedef enum{ UP_Adjust,//上层调整 Chassis_Adjust_Sick, - - PassBall, + /*传球占三个,逻辑在up.h里,简化就这样写了*/ + PB_UP, + PB_MID, + PB_DOWN, - Pitch, //投篮,底盘锁定 + Pitch, Dribbl_transfer diff --git a/User/device/nuc.c b/User/device/nuc.c index 032a0db..c093310 100644 --- a/User/device/nuc.c +++ b/User/device/nuc.c @@ -62,7 +62,8 @@ int8_t NUC_Restart(void) { return DEVICE_OK; } bool_t NUC_WaitDmaCplt(void) { - return (osThreadFlagsWait(SIGNAL_NUC_RAW_REDY, osFlagsWaitAll,20) == + + return (osThreadFlagsWait(SIGNAL_NUC_RAW_REDY, osFlagsWaitAll,50) == SIGNAL_NUC_RAW_REDY); } @@ -169,7 +170,7 @@ int8_t NUC_RawParse(CMD_NUC_t *n){ int8_t NUC_HandleOffline(CMD_NUC_t *cmd) { if(cmd == NULL) return DEVICE_ERR_NULL; - memset(cmd, 0, sizeof(*cmd)); +// memset(cmd, 0, sizeof(*cmd)); return 0; } diff --git a/User/device/vofa.c b/User/device/vofa.c index b897999..6094936 100644 --- a/User/device/vofa.c +++ b/User/device/vofa.c @@ -59,7 +59,7 @@ void vofa_tx_main(float *data) /*在下面使用对应的串口发送函数*/ // HAL_UART_Transmit_DMA(&huart6, packet, sizeof(packet)); -// CDC_Transmit_FS( packet, sizeof(packet)); -// osDelay(1); + CDC_Transmit_FS( packet, sizeof(packet)); + osDelay(1); } \ No newline at end of file diff --git a/User/task/chassis_task.c b/User/task/chassis_task.c index 58d3938..5a09e1f 100644 --- a/User/task/chassis_task.c +++ b/User/task/chassis_task.c @@ -98,7 +98,7 @@ void Task_Chassis(void *argument) vofa_send[6] = chassis.vofa_send[6]; vofa_send[7] = chassis.vofa_send[7]; - vofa_tx_main(vofa_send); +// vofa_tx_main(vofa_send); tick += delay_tick; osDelayUntil(tick); diff --git a/User/task/nuc_task.c b/User/task/nuc_task.c index 54c5af5..3249396 100644 --- a/User/task/nuc_task.c +++ b/User/task/nuc_task.c @@ -36,7 +36,7 @@ void Task_nuc(void *argument){ a++; NUC_StartReceiving(); NUC_StartSending(NUC_send.send); -// NUC_StartSending (send); + NUC_StartSending (send); if (NUC_WaitDmaCplt()){ NUC_RawParse(&cmd_fromnuc); } diff --git a/User/task/up_task.c b/User/task/up_task.c index 6422d55..14e014a 100644 --- a/User/task/up_task.c +++ b/User/task/up_task.c @@ -91,8 +91,11 @@ void Task_up(void *argument) osMessageQueuePut(task_runtime.msgq.can.output.shoot5065 ,&UP_CAN_out.chassis5065, 0, 0); -// vofa_send [0]=UP.vofa_send [0]; -// vofa_send [1]=UP.vofa_send [1]; + vofa_send [0]=UP.vofa_send [0]; + vofa_send [1]=UP.vofa_send [1]; + vofa_send [2]=UP.vofa_send [2]; + vofa_send [3]=UP.vofa_send [3]; + vofa_send [4]=UP.vofa_send [4]; vofa_tx_main (vofa_send); tick += delay_tick; diff --git a/User/task/user_task.h b/User/task/user_task.h index 2d0a387..c24ab3b 100644 --- a/User/task/user_task.h +++ b/User/task/user_task.h @@ -18,7 +18,7 @@ #define TASK_FREQ_UP (900u) #define TASK_FREQ_CTRL_CMD (500u) -#define TASK_FREQ_NUC (50u) +#define TASK_FREQ_NUC (200u) #define TASK_FREQ_CAN (1000u) #define TASK_FREQ_RC (1000u)