亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

PID算法循迹机器人套件:Arduino UNO + 5路红外传感器 + 铝合金底盘

项目背景与目标

循迹是移动机器人最基础也最核心的自主导航技能。本项目基于KittenBot硬件套件,构建一款高性能PID闭环控制的循迹机器人,旨在通过实战让学习者直观理解PID控制原理,掌握从硬件组装、电路接线到算法调参的完整工程流程。

硬件套件核心优势

组装步骤指南(约15分钟)

  1. 电机安装:将两侧电机固定在底盘侧板,插入橡胶轮并锁紧
  2. 传感器安装:5路红外模块安装在底盘前端,传感器面朝下距地面5-8mm
  3. 主控板固定:RosBot Baseboard通过螺柱固定在底盘中央
  4. 万向轮装配:底盘后部安装金属球万向轮
  5. 接线连接:按原理图连接电机、传感器、电源

关键接线定义

PID控制算法核心实现

状态机:传感器模式映射偏差值


void stateMachine(int sensorPattern) {
  switch (sensorPattern) {
    case B00000: case B11111: outlineCnt++; break;  // 脱线计数
    case B00010: case B00110: bias = 1; break;      // 轻微右偏
    case B00001: case B00011: bias = 2; break;      // 中度右偏
    case B00100: bias = 0; break;                   // 居中
    case B01000: case B01100: bias = -1; break;     // 轻微左偏
    case B10000: case B11000: bias = -2; break;     // 中度左偏
    default: outlineCnt++; break;
  }
  // NeoPixel指示当前偏差方向(可选)
  // 脱线保护:连续>10次无识别则停车
}

PID计算核心函数


float Kp = 25, Ki = 0.15, Kd = 1200;  // 需根据实车调整
float error, errorLast, errorInte;

float calcPid(float input) {
  error = error * 0.7 + input * 0.3;          // 低通滤波平滑输入
  float errorDiff = error - errorLast;        // 微分项
  errorInte = constrain(errorInte + error, -50, 50); // 积分限幅防风暴
  float output = Kp * error + Ki * errorInte + Kd * errorDiff;
  errorLast = error;
  return output;  // 返回修正量
}

电机差速控制


float baseSpeed = 150;  // 基础速度 (0-255)
float ctrl = calcPid(bias);
int leftSpeed = baseSpeed - ctrl;
int rightSpeed = baseSpeed + ctrl;
doDcSpeed(leftSpeed, rightSpeed);  // 差速转向

PID参数调试实战建议

  1. 仅调P:Ki=Kd=0,增大Kp直到车身左右振荡,然后减半
  2. 加入D:增加Kd抑制振荡,提高过弯响应速度
  3. 微调I:Ki消除稳态偏差(如长直道轻微偏离),过大导致超调
  4. 实测记录:串口绘图器观察error、integral、derivative、output波形
  5. 分段调参:直道/弯道/十字路口可用不同参数集

代码仓库与资源

GitHub:完整代码、原理图、3D模型

依赖库:Adafruit_NeoPixel(状态指示灯,可选)、标准Arduino.h

常见问题与解决

模块型号/规格关键特性
底盘KittenBot阳极氧化铝合金4.8mm乐高技术孔距,模块化扩展性强,结构刚性好
主控板KittenBot RosBot BaseboardArduino UNO兼容,板载双H桥驱动(STN1110),免外接驱动板,输出电流大
循迹传感器5路红外巡线模块5通道并行检测,抗干扰强,输出数字量直接读取
驱动电机TT减速直流电机+橡胶轮扭矩大,配合轮毂安装简便
万向轮金属球万向轮(一对)灵活转向,低摩擦
电源9V电池盒便携供电
现象可能原因对策
直线跑偏电机一致性差/机械摩擦不对称代码补偿基础速度差值、检查轮子安装
急弯甩尾/冲出Kp过大或基础速度过高降低baseSpeed、增大Kd、减小Kp
十字路口乱窜状态机未处理全白/全黑模式完善stateMachine默认分支、增加路口检测逻辑
传感器误触发环境光干扰/高度不当调整安装高度、添加遮光罩、软件滤波

进阶拓展方向

制造工艺

  1. 篮球:从奈史密斯1891年发明到现代生产工艺
  2. 高尔夫:拥有丰富传承与现代魅力的全球运动
  3. 树莓派机器人实时视频流控制构建指南
  4. 工业级循线搬运机器人 — 物料自动化传输方案
  5. V4 版高速循迹机器人:Arduino Nano + 定制 PCB + PID 算法
  6. Arduino UNO 自制循迹小车:从零构建自主巡线机器人
  7. 在MATLAB/Simulink中掌握3D机器人夹爪的PID控制
  8. Wittmann Battenfeld发布WX153:面向大吨位注塑自动化的先进机器人线
  9. FANUC 扩充 SCARA 机器人阵容:六款新品,3-20 kg 负载,400-1100 mm 作业半径
  10. 利用先进自动化控制系统优化包装质量保障
  11. 装配线机器人全解析:提升效率、精度与品质的自动化利器
  12. 21世纪机器人技术:分布式系统、远程呈现与太空探索