RoboMasters Infantry 官方源码分析

本文档分析了RM2016_INFANTRY_OPEN_SOURCEV.1.6.4工程,主要涉及任务分析,如IOTask.c中的上位机校准和PID配置,ControlTask.c中的控制任务实现,包括PID计算和中断处理,RemoteTask.c的遥控接收,CanBusTask.c的CAN通信,以及SupervisorTask.c的错误监督。硬件接口初始化在bsp.c中完成,还包括LED、PWM、CAN、串口和编码器等模块的详细说明。
摘要由CSDN通过智能技术生成

工程名 RM2016_INFANTRY_OPEN_SOURCEV.1.6.4

任务分析

IOTask.c

上位机校准用,校准陀螺仪参数以及云台PID,云台PID offset数据保存在结构体

PIDParamStruct_t PitchPositionPID;
PIDParamStruct_t PitchSpeedPID;
PIDParamStruct_t YawPositionPID;
PIDParamStruct_t YawSpeedPID;

并写入到flash,运行时修正offset(ControlTask.c中的void GMYawControlLoop(void)函数中

GMYPositionPID.kp = YAW_POSITION_KP_DEFAULTS + YawPositionSavedPID.kp_offset;// gAppParamStruct.YawPositionPID.kp_offset; //may be bug if more operation done
GMYPositionPID.ki = YAW_POSITION_KI_DEFAULTS + YawPositionSavedPID.ki_offset;
GMYPositionPID.kd = YAW_POSITION_KD_DEFAULTS + YawPositionSavedPID.kd_offset;
GMYSpeedPID.kp = YAW_SPEED_KP_DEFAULTS + YawSpeedSavedPID.kp_offset;
GMYSpeedPID.ki = YAW_SPEED_KI_DEFAULTS + YawSpeedSavedPID.ki_offset;
GMYSpeedPID.kd = YAW_SPEED_KD_DEFAULTS + YawSpeedSavedPID.kd_offset;
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值