24对抗赛

This commit is contained in:
chenfu
2024-06-01 00:11:37 +08:00
parent da591dcfb4
commit c1ab3edf88
11 changed files with 136 additions and 72 deletions

View File

@@ -70,7 +70,7 @@ void ShootInit()
.controller_param_init_config = {
.angle_PID = {
// 如果启用位置环来控制发弹,需要较大的I值保证输出力矩的线性度否则出现接近拨出的力矩大幅下降
.Kp = 10,//10
.Kp = 15,//10
.Ki = 0,
.Kd = 0,
.MaxOut = 20000,
@@ -167,7 +167,7 @@ void ShootTask()
break;
// 单发模式,根据鼠标按下的时间,触发一次之后需要进入不响应输入的状态(否则按下的时间内可能多次进入,导致多次发射)
case LOAD_1_BULLET: // 激活能量机关/干扰对方用,英雄用.
load_angle_set = loader->measure.total_angle + ONE_BULLET_DELTA_ANGLE;
load_angle_set = loader->measure.total_angle + ONE_BULLET_DELTA_ANGLE*REDUCTION_RATIO_LOADER*LOAD_RATIO;
DJIMotorOuterLoop(loader, ANGLE_LOOP); // 切换到角度环
DJIMotorSetRef(loader, load_angle_set); // 控制量增加一发弹丸的角度
hibernate_time = DWT_GetTimeline_ms(); // 记录触发指令的时间
@@ -175,11 +175,11 @@ void ShootTask()
break;
// 三连发,如果不需要后续可能删除
case LOAD_3_BULLET:
load_angle_set = loader->measure.total_angle + ONE_BULLET_DELTA_ANGLE * 3;
load_angle_set = loader->measure.total_angle + ONE_BULLET_DELTA_ANGLE*REDUCTION_RATIO_LOADER*LOAD_RATIO;
DJIMotorOuterLoop(loader, ANGLE_LOOP); // 切换到速度环
DJIMotorSetRef(loader, load_angle_set); // 增加3发
hibernate_time = DWT_GetTimeline_ms(); // 记录触发指令的时间
dead_time = 1800; // 完成3发弹丸发射的时间
dead_time = 1000; // 完成3发弹丸发射的时间
break;
// 连发模式,对速度闭环,射频后续修改为可变,目前固定为1Hz
case LOAD_BURSTFIRE: