最近在准备21届智能车比赛时发现很多基础模块需要反复重写特别浪费时间。经过摸索我发现用InsCode(快马)平台可以快速生成标准化代码模块效率提升特别明显。今天就把我的经验分享给大家。PID控制器库的优化实现传统PID控制需要反复调试参数在快马平台生成的模块中直接内置了位置式和增量式两种算法。最实用的是参数在线调整功能通过简单的API调用就能实时修改PID参数不用重新烧录程序。比如在调试转向控制时可以边跑边调看到参数变化对小车轨迹的即时影响。电机速度闭环控制模块这个模块直接整合了编码器信号处理和速度环控制。使用时只需要配置电机引脚和编码器参数模块会自动计算转速并维持设定值。测试时发现相比自己手写的代码生成的模块对脉冲丢失和噪声的处理更稳定速度波动小了近30%。图像处理基础函数库包含二值化、边缘检测、中线提取等常用算法。特别适合用在摄像头组比如中值滤波和动态阈值算法已经做了优化处理一帧图像只需3-5ms。找中线函数还支持返回弯道曲率省去了自己计算的工作量。调试信息管理系统通过串口或无线模块上传数据到电脑端能同时监控多个变量。我在调试时同时观察了电机PWM、编码器数值和PID输出数据刷新率可以到50Hz比用OLED屏看数据方便多了。模块还支持数据保存为CSV文件后期分析特别方便。实际使用中这些模块都是独立封装的接口设计得很清晰。比如要调用PID控制器只需要三行代码初始化、设置目标值、获取输出。电机控制模块更是直接支持多电机并联控制我的双电机差速小车集成只用了不到半小时。最大的感受是用快马平台生成这些基础模块后省去了至少两周的底层调试时间。现在可以把精力全放在路径规划和算法优化上最近刚实现的动态参数PID就是在现有模块上改的调试效率高了很多。建议参赛的同学都试试这种开发方式真的能少走很多弯路。