6 AMR 开发指南
自主移动机器人(Autonomous Mobile Robot,AMR)是一类能够在环境中自主导航和执行任务的机器人。AMR 不同于自动导航车辆 (AGV),AGV 依赖于轨道或预定义路线,并且通常需要操作员监督。AMR 通过多传感器融合、人工智能、机器学习等多种技术来理解环境并在其中导航,不受有线电源的限制。因其高度灵活的移动能力和智能导航系统,AMR 在工业自动化、物流、医疗等领域得到了广泛应用。
1. 样例介绍
1.1 外观效果

1.2 功能框架

2. 样例组装
2.1 组件清单
| 名称 | 数量 | 备注 |
|---|---|---|
| RDK X5 | 1 | 地瓜 |
| AMR 底盘(舵轮)+上装+螺丝零件 | 1 | 煜禾森 |
| 单线激光雷达 | 1 | 氪见 |
| tof 摄像头 | 1 | 光鉴 |
| 双目摄像头(230ai) | 1 | 地瓜配件 |
| IMU(BMI088) | 1 | 地瓜配件 |
| usb 转网口转换器 | 1 | |
| 0.3m 网线 | 1 | |
| 12v 转 5V4A(MAX 5A) | 1 | |
| tof 相机支架(3D 打印) | 1 | |
| 双目相机支架(3D 打印) | 1 | |
| 盖板(3D 打印) | 1 | |
| m2*16 螺丝+m2 螺母 | 1 |
2.2 组装步骤讲解
2.2.1 底盘上装安装
原生底盘无法安装摄像头以及存放各种线缆,所以需要另外的上装接入底盘,只需将上装底部的两个孔位对齐底盘安装滑轨上的零件,锁紧螺丝即可

2.2.2 RDK X5 接线
所有传感器以及底盘都直接接入 RDK X5,需要注意双目摄像头使用的是两根同面的 22pin 排线,请按照下图所示方向安装

2.2.3 盖板安装
盖板为 3D 打印件(图纸见文末附件),主要用于安装 RDK X5 并且收纳其余线缆。黄框位置四个安装孔用于 安装 RDK X5,安装位置在上盖板的背面。红框位置的安装孔对齐底盘安装滑轨上的零件,锁紧螺丝即可。

2.2.4 激光雷达模块接入
先将激光雷达安装至载板上,螺丝从载板背面安装,然后将接线穿过载板上的孔洞(右图中黄框所示)连接电源管理器。电源管理器安装在载板背面,螺丝从载板正面安装(如左图红框所示),安装完成后接入网线以及 12V 电源,网线与电源线穿过上装的孔洞(右图中红框所示)。

2.2.5 摄像头安装
1. tof 摄像头安装
首先将 tof 摄像头、3D 打印件、钣金支架连接在一起,注意 3D 打印件凹槽朝下。连接完成后将整体塞入上装上方凹槽,电源线与信号线从上装内部孔洞穿过(图 3 黄框)。钣金件的螺丝孔位(图 1 红框)与上装内部螺丝孔位(图 3 红框)对齐,锁紧螺丝即可。

2. 双目摄像头安装
先将双目摄像头与 3D 打印件连接,然后接入底盘尾部的钣金支架即可

2.2.6 电源说明
底盘上提供 12V 的电源。12V 提供给雷达,tof 摄像头以及变压器,变压器输出 5V 提供给 RDK X5

2.2.7 其他部件安装

3. 运行环境准备
tof 相机、激光雷达、底盘、imu 请根据实际设备型号获取代码或者功能包,此处仅提供地瓜配件 imu 的源代码。
3.1 传感器检查
3.1.1 双目摄像头
#检查i2c设备
root@ubuntu:~# i2cdetect -y -r 4
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- 32 -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 -- -- -- -- -- -- -- 58 -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
root@ubuntu:~# i2cdetect -y -r 6
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: 30 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 -- -- -- -- -- -- -- 58 -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
3.1.2 雷达
#确保雷达与板子的网关与掩码一致,确认是否能ping通
ping 雷达ip
3.1.3 底盘
#启动can设备,请根据具体can设备号以及波特率设置
ip link set can1 up type can bitrate 500000
#检查设备,会有如下输出:can1: <NOARP,UP,LOWER_UP> mtu 16 qdisc mq state UP mode DEFAULT group default qlen 10link/can
ip link show can1
#检查能否获取can数据,请根据具体can设备号设置
candump can1
3.1.4 IMU
#检查i2c设备
root@ubuntu:~# i2cdetect -y -r 5
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- 19 -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- 69 -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
#获取imu数据(会打印三个数,且随着imu的位姿变化)
cat /sys/devices/virtual/input/input2/acc_bal
cat /sys/devices/virtual/input/input2/gry_bal
3.2 功能安装
sudo apt -y tros-hobot-nav2 ros-foxy-navigation2 ros-foxy-nav-msgs