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

Arduino 全向麦克纳姆轮机器人:PS2 手柄遥控 + 自主避障

项目亮点

基于 **Arduino Mega 2560** 构建**四轮全向麦克纳姆轮底盘**,实现**全向移动 (前进/后退/平移/旋转/斜向)** 与**原地旋转**。双控模式:**PS2 手柄 (2.4G 无线) 手动遥控** + **超声波/红外多传感器融合自主避障**。采用 **TB6612FNG 双 H 桥驱动 4 路 TT 减速电机 (带编码器)**,PID 闭环控速,里程计融合 IMU (MPU6050) 实现基础定位。适合 ROS 入门、SLAM 算法验证、服务机器人原型开发。

硬件清单 (BOM)

类别器件数量关键规格
主控Arduino Mega 2560154 Digital, 16 Analog, 4 Hardware Serial
MPU6050 IMU1I²C 0x68, DMP 可选, 姿态解算
驱动与电机TB6612FNG 双 H 桥模块2每模块驱动 2 电机, PWM 1kHz+, 1.2A 持续
TT 齿轮减速电机 (带 AB 相编码器)41:48 减速比, 48 CPR, 6V/12V 可选
麦克纳姆轮 (直径 65mm/100mm)4左旋/右旋各 2, 正确安装是全向前提
传感器HC-SR04 超声波测距4前/左/右/后, 2cm–4m, 触发周期 ≥60ms
红外避障模块 (TCRT5000)4近距离 (<20cm) 补盲, 数字量输出
电池电压检测 (分压电阻)1监测 2S/3S LiPo, 低压保护
通信PS2 手柄接收器 (2.4G)1SPI 模式, 接 Mega SPI 引脚 (50-53)
电源3S LiPo (11.1V/2200mAh) + 5V/3A UBEC1电机直供 11.1V, UBEC 给 Mega/逻辑/传感器
结构铝合金/亚克力底盘、3D 打印电机座、走线槽1 套轮距 200mm, 轴距 180mm 可调

麦克纳姆轮运动学核心

四轮速度矢量合成:

// vx: 前进+, vy: 左平移+, ω: 逆时针旋转+
// L = 半轴距, W = 半轮距, R = 轮半径
float v_fl = (vx - vy - (L+W)*omega) / R;  // 前左
float v_fr = (vx + vy + (L+W)*omega) / R;  // 前右
float v_rl = (vx + vy - (L+W)*omega) / R;  // 后左
float v_rr = (vx - vy + (L+W)*omega) / R;  // 后右

映射为电机 PWM:PWM = constrain(v * Kp + integral * Ki + derivative * Kd, -255, 255),编码器读取中断计数计算实时速度闭环。

PS2 手柄映射 (双摇杆 + 方向键)

手柄输入运动模式参数映射
左摇杆 Y前进/后退vx = map(LY, 0,255, -MAX, MAX)
左摇杆 X左/右平移vy = map(LX, 0,255, -MAX, MAX)
右摇杆 X原地旋转ω = map(RX, 0,255, -MAX_A, MAX_A)
方向键 ↑↓←→离散 8 向移动预设速度矢量, 适合精准对位
L2/R2速度档位切换低/中/高三档 MAX 缩放
Start模式切换手动 ↔ 自主避障
Select急停/复位全电机停转, 里程计清零

自主避障策略 (行为栈/子串和法)

  1. 数据融合:4 路超声波中位数滤波 + 红外近场触发,生成极坐标障碍物地图 (角度分辨率 45°)
  2. 势场法简化:目标方向引力 + 障碍物斥力矢量叠加,输出期望 vx, vy, ω
  3. 行为优先级:紧急停车 (红外触发) > 避障转向 > 目标导航 > 原地待机
  4. 陷阱处理:连续 3s 无有效路径 → 后退 + 原地大角度旋转探索

软件架构 (模块化 .ino 分文件)

调试与标定流程

  1. 编码器极性:单轮前进,串口打印计数符号,修正 A/B 相接线
  2. 麦克纳姆轮安装验证:发送纯 vx → 四轮同向;纯 vy → 对角轮同向、另两轮反向;纯 ω → 同侧轮同向、异侧反向
  3. PID 调参:目标速度阶跃响应,示波器/串口绘图观察超调/稳态误差,Ziegler-Nichols 粗调后手动微调
  4. IMU 校准:静止采样 2000 次求零偏,六面体标定加速度计/陀螺仪比例因子
  5. 超声波串扰消除:错峰触发 (间隔 25ms)、中位数滤波 (5 次取中)

ROS 衔接准备 (为后续迁移铺路)

安全与规范

项目资源

完整模块化代码、原理图 (KiCad)、STL 文件、PS2 手柄库、标定脚本、ROS 串口协议文档已开源,欢迎贡献 PID 自调参、SLAM 接口等改进。

制造工艺

  1. 高级气象站 v2.0:BME280 实时监测温度/气压/湿度/海拔 (Windows 10 IoT Core)
  2. Arduino 自制 DCC 命令站:蓝牙控制模型铁路,免费 App 支持 CV 读写
  3. Arduino驱动的六发鸡尾酒自动调配站 – 打造你的专属智能调酒机
  4. DIY 蓝牙控制 Arduino 间谍小车
  5. 自制 10 美元便携 Arduino 气象站 - Nano + DHT22 + BMP180 + LCD
  6. eDOT:基于 Arduino 的精密时钟与气象站,内置红外遥控
  7. Arduino + ThingSpeak 实时气象监测站
  8. 实时物联网压力监测:MKR GSM 1400 + Arduino Cloud + Google Sheets
  9. Arduino 全向麦克纳姆轮机器人:PS2 手柄遥控 + 自主避障
  10. 打造可靠的 Arduino 气象站:DHT 传感器 + LCD + RTC
  11. 用 Arduino 控制 Chrome 恐龙游戏:真实硬件交互项目
  12. 基于 Sigfox 与 Twilio 的远程短信按钮:Arduino MKR Fox 1200 实现