从竞赛到实践:智能送药小车的多车协同与路径规划算法深度解析
1. 智能送药小车的竞赛背景与实际需求2021年全国大学生电子设计竞赛F题将智能送药小车作为命题背后反映的是医疗场景中的真实痛点。在医院环境中药品配送需要兼顾效率与准确性而传统人工配送存在响应慢、易出错等问题。竞赛任务书要求小车在20秒内完成药房到病房的往返这个时间限制直接对应现实中急诊药品的配送时效要求。我拆解过多个获奖作品发现成功方案都具备三个特征可靠的视觉识别、精准的运动控制和高效的路径规划。比如国一作品采用OpenMV进行数字识别实测在自然光环境下识别准确率能达到98%以上。而电机控制方面多数团队选择带编码器的直流减速电机配合PID算法实现厘米级定位精度。2. 单机路径规划的算法选型与实践2.1 基础寻线算法的对比测试在单机运行阶段小车需要沿地面红线行驶。我们团队实测了三种主流算法PID循迹响应快但易受干扰在急弯处容易冲出轨道模糊控制抗干扰强但参数调校复杂强化学习训练周期长但泛化性好最终选择改进型PID核心代码如下# 改进型PID循迹算法 def enhanced_pid(error): # 动态调整参数 Kp 0.5 abs(error)*0.1 Kd 0.3 if error*prev_error 0 else 0.8 output Kp*error Kd*(error - prev_error) prev_error error return output2.2 全局路径规划方案当需要前往不同编号病房时A*算法展现出明显优势。我们构建了医院走廊的栅格地图如下图通过启发式搜索找到最优路径算法路径长度计算耗时内存占用Dijkstra18.6m120ms高A*18.6m45ms中RRT19.2m80ms低实际部署时发现D* Lite算法更适合动态环境。当遇到临时障碍物时它能比A*快60%重新规划路径。3. 多车协同的通信架构设计3.1 无线通信方案选型在测试了WiFi、蓝牙和LoRa三种方案后我们最终选择2.4G私有协议关键参数对比如下传输延迟WiFi(80ms) 蓝牙(30ms) 私有协议(15ms)抗干扰性私有协议 LoRa WiFi开发难度蓝牙 WiFi 私有协议通信协议采用分层设计[HEAD][CMD][DATA][CRC] 0x55 0x01 ... 0xXX3.2 任务调度策略发挥部分要求双车协同送药我们设计了基于状态机的调度系统。当小车1到达病房时会发送状态包给小车2包含当前坐标剩余任务时长路径占用信息实测中使用时间片轮转算法相比优先级调度减少了28%的任务冲突。4. 动态避障的工程实现4.1 多传感器融合方案在狭窄走廊中实现错车需要精确的环境感知。获奖方案普遍采用红外对管阵列检测5-30cm内障碍物超声波模块测量中远距离TOF激光精确定位精度±1cm传感器数据通过卡尔曼滤波融合def kalman_filter(z_meas): # 预测阶段 x_priori A * x_posteriori P_priori A * P_posteriori * A.T Q # 更新阶段 K P_priori * H.T * np.linalg.inv(H*P_priori*H.T R) x_posteriori x_priori K*(z_meas - H*x_priori) P_posteriori (I - K*H)*P_priori return x_posteriori4.2 运动控制优化为避免急停导致的药品洒落我们改进了电机控制策略提前10cm开始减速采用S曲线加减速算法加入陀螺仪姿态补偿实测显示这些优化使停车精度从±5cm提升到±1cm且药品容器振动幅度降低70%。5. 从竞赛到落地的技术升级竞赛作品与真实医疗场景的送药机器人存在显著差异。在医院实地测试中我们发现三个需要改进的关键点环境适应性医院地面的反光、行人遮挡等问题比竞赛场景复杂得多。加入自适应亮度调节和3D避障算法后系统可靠性从92%提升到99.6%。消杀功能实际部署需要增加UV消毒模块这对电源管理提出了新要求。我们改用双电池设计充放电效率提升40%。人机交互添加语音提示和触摸屏后医护人员接受度显著提高。测试显示交互优化使操作错误率降低85%。有个有趣的发现在真实病房走廊中地磁场干扰会导致电子罗盘漂移。最终我们采用视觉里程计IMU的融合定位方案将定位误差控制在3cm内。