# 定位循迹
注:仅导航套件室外版含此功能
## 功能简介
定位循迹是机器人循着用户提前录好的轨迹自主行走,行走过程中机器人能够自动躲避障碍物,自动规划路线,达到目标点。
软件上提供了可视化的操作按钮和开发接口,可在行走途中对机器人发送停止/启动的指令,用户可以根据自己的需要对机器人进行二次开发。
定位循迹使用的定位系统,能够为机器人、自动驾驶车辆、无人机等设备提供 ±2cm 的定位精度。定位系统覆盖范围与定位标签的配置方式和使用个数有关。
[>>详细了解定位系统](../marvelmind/doc)
## 操作步骤
1. 搭建定位系统
2. 循迹
### 一、搭建定位系统
定位系统中包含 车载定位标签,定位标签,定位路由。
车载定位标签又称为车载移动定位标签,它安装在车上,随车移动。
定位标签又称为固定标签,可将标签固定在高处(墙上、支架)或放置在平稳无遮挡的地方,使用的个数取决于用户的需求。
定位标签包含5个超声波换能器,收发各个方向的超声信号。
![](imgs/beacon.png)
定位路由是整个定位系统的中心控制器,系统工作时路由必须一直在线,定位路由中没有电池,必须使用供电电源为它供电,如路由没有电源,定位系统会无法工作。
![](imgs/modem.png)
[>>详细了解定位标签与路由](../marvelmind/doc)
#### 准备工作
1. 给定位标签充电
打开包装,连接 micro USB 线给定位标签充电,可使用手机充电器(5V)、充电宝(5V)或者电脑 USB 接口充电。充电时定位标签上红色 LED 指示灯闪烁,充满电后停止闪烁。从低电量到充满电大概需要1-2小时。
2. 打开定位标签开关
两个拨码开关左侧保持远离 LED 指示灯,右侧为电源开关,拨到靠近 LED 指示灯位置为开。
![](imgs/switch.png)
3. 打开软件——Dashborad([下载](http://www.autolabor.com.cn/download))
![](imgs/map-10.png)
打开 Dashboard 软件,使用 micro USB 线连接设备到电脑,Dashboard 识别后将会显示配置信息。
4. 确认配置
确认固件版本与配置参数,如与以下内容不同,可参考文末【恢复出厂配置】的教程重新配置。
1. **定位路由:**
![](imgs/map-7.png)
Firmware version -> V6.07 modem HW v4.9
Channel -> 0
2. **车载定位标签:**
![](imgs/map-8.png)
Firmware version -> V6.07 beacon HW v4.9
Hedgehog mode -> enable
Channel -> 0
UART speed -> 115200
3. **固定定位标签:**
![](imgs/map-9.png)
Firmware version -> V6.07 beacon HW v4.9
Channel -> 0
准备工作结束,开始准备搭建。
#### 开始搭建
以室内4个固定标签为例,快速搭建一个小范围的定位系统(需要4个固定标签+1个车载移动标签+1个路由,关闭其他用不到的标签电源开关),步骤如下:
1. 固定定位标签
按照以下规则,将**电源已打开**的4个固定标签固定到墙壁或其他可安装位置上。
>为减少遮挡的情况,标签位置尽量高,例如1.8m 以上
>标签相对地面等高且需要测量出高度值
>标签必须两两之间可见(无遮挡、有换能器相对)
>标签尽量分散开,避免4个标签中有3个甚至全部在一条直线上
>建议任意标签之间的距离控制在20m 以内(理论最大30m)
>移动标签应在固定标签围成的区域内部运动,布置固定标签时还应考虑此因素
2. 建立地图
打开 Dashboard 使用micro USB 线连接路由到电脑,连接成功后左下角显示 modem。
如非首次使用,本次标签位置与最后一次建图时位置一致,则可跳过此步骤。
如重新建图,则需清除路由中可能已经存储的地图,点击设备列表右侧的 Erase map 按钮清除地图,然后点击 Submap 0 按钮。
3. 点击设备列表中固定标签对应编号(beacon xx) 唤醒标签,过程大概需要10s。
![](imgs/wakeup.png)
4. 点击设备列表中某个在线的标签,则右侧列表为该标签的参数设置。依次设置4个固定标签的 Height 参数为标签布置的高度,注意单位为 m。
![](imgs/map-1.png)
5. 地图会自动构建。等待地图显示中四个绿色固定信标位置基本不再变化、左上角距离表全部为白色、且 freeze map 按钮上方显示橙色 `Freeze submap!` 字样后,点击 freeze map 按钮锁定地图。
如果锁定后的地图与实际情况顺序相反(例如地图中从1到2到3是逆时针而实际布置的是顺时针),点击镜像按钮![](imgs/mirror.png)翻转地图。
![](imgs/map.png)
**距离表 ↓**
![](imgs/map-2.png)
**freeze map ↓**
![](imgs/map-3.png)
**镜像按钮 ↓**
![](imgs/map-4.png)
6. 点击设备列表中的车载标签,设置车载标签相对地面的高度。
7. 此时定位系统已经开始工作,可在 Dashboard 的地图中查看车载移动标签的运动轨迹。
配置完成后,定位循迹功能不再依赖 Dashboard 软件,只需保持定位路由的供电,数秒后即可从车载移动标签的串口读取到机器人的定位坐标。
注:
1. 定位路由连接 Dashboard 后,可在参数列表中查看所有标签的电量(电压),当标签电量过低时界面上会有红色文字提示(满电约为4.2 )。
![](imgs/map-18.png)
2. 停止使用定位系统时,只需将定位路由断电即可,1min 后所有标签会自动进入睡眠状态。长时间不使用时请关闭标签电源开关,左侧开关保持不变,右侧电源开关拨下。
![](imgs/switch.png)
以上即完成定位系统的搭建
### 二、循迹
#### 操作步骤
1. 车载定位标签测试
2. 激光雷达测试
3. 开始循迹
4. 终止循迹
##### 车载定位标签测试
准备工作:
1. 打开电源模块
2. 打开 Mini 计算机(密码 autolabor )
3. 确保所有线材连接正确,确认车载定位标签的 USB 线插正确的 USB-Hub 口上
![](imgs/map-5.png)
定位系统设置完毕,定位路由开始工作后,车载定位标签上面会闪着红灯,并发出“哒哒哒...”的高频声音,代表标签功能正常。
进入桌面测试文件夹,点击标签测试,查看 RVIZ 中是否有蓝色的点,如有数据则表示连接正常。
常见问题:
1. 如果使用软件测试时没有显示蓝色数据会有哪些原因?
1. 车载定位标签的 USB 线没有插在 USB-Hub 的指定接口上
2. USB-Hub 的 USB 线没有插在 Mini 计算机的指定接口上
3. 车载定位标签的波特率设置错误
4. Mini 计算机 UBS 设备规则有误
2. 如果没有显示蓝色数据,那该如何排查?
1. 打开terminal,执行以下命令内容,查看是否有"box-3"这个设备
`ll /dev/box-3`
2. 如有该设备则检查车载定位标签波特率设置,正确应为115200,如不是则查看文末"恢复出厂设置"内容,重新设置
![](imgs/map-6.png)
3. 如没有该设备,则检查线材连接
1. USB-Hub 的指示灯是否亮
1. 如不亮则表示没有插紧
2. 如亮则检查规则文件,执行 `vim /ect/rules.d`
##### 激光雷达测试
1. 进入桌面测试文件夹,点击雷达测试
2. 查看 RVIZ 中是否有红色与黄色激光雷达数据,如有则激光雷达功能正常
常见问题:
看不到激光雷达数据?
1. 检查激光雷达的数据线两头的连接是否插紧
2. 检查激光雷达是否插在 USB-Hub上指定的口,前侧雷达插前雷达,后侧雷达插后雷达
3. USB-Hub 数据线是否插在 Mini 计算机正确的插口上,检查电源连接线
##### 开始循迹
1. 录制轨迹
打开桌面文件夹定位循迹,点击开始循迹
![](imgs/location-1.png)
程序打开RVIZ后,可以看到界面中显示了黄色的 AP1 模型代表 AP1,红色的点为前置激光雷达数据,黄色的点为后置激光雷达数据,紫色的路线为录制的轨迹。
注:即使用户从未录制轨迹,首次打开程序界面上也会显示一条轨迹,此为系统预置轨迹,用户录制轨迹后,此默认轨迹会被覆盖。
使用键盘控制 AP1 遥控走一段路,如从未录制过轨迹,在走的过程中 AP1 在RVIZ 中会持续跳动,此时 AP1 是在进行地图坐标匹配,当 AP1 不再跳动时,则表示稳定, 走3-5m,边走边转动,障碍物信息不再变化(跳),如下图所示。
如已经录有历史轨迹,遥控 AP1 走一段后,会直接跳到某一位置,表示 AP1 已经在(定位系统)地图中找到自己的位置。
点击 RVIZ 工具栏下方的【录制轨迹】按钮,控制 AP1 在目标路径上走一圈。
注:录制的轨迹需闭合。
录制完成后,点击【保存轨迹】按钮。
2. 开始循迹
按键盘【0】,点击左下角按钮【开始任务】,循迹任务开始
机器人在刚刚录制的路线上开始了循迹任务:
3. 停止循迹
如想要停止循迹,可先按键盘【9】,点击【停止任务】,循迹任务停止。
注:
1. 如下次再次使用时,仍是在无需录制轨迹的同一环境中,则可跳过录制路线的步骤,测试完毕后直接执行循迹功能。
2. 如重新录制路径会清除上一次已保存的地图。
## 补充知识
#### 恢复出厂配置
1. 初始化定位路由
1. 使用micro USB 线将定位路由与电脑连接,点击 Dashboard 右下 Default 按钮加载默认配置。
Channel -> 0
一套定位系统中,路由和标签要保持同一 Channel/频道,这样才能进行通信。
2. 查看 固件型号 , Firmware version - > V6.07 modem HW v4.9 如不相同,则需更新固件。
点击 dashboard 左上角 firmware ,点击 Upload firmware。
![](imgs/map-11.png)
选择固件
![](imgs/map-12.png)
路由固件为:modem
![](imgs/map-15.png)
固件更新过程中,注意不要拔出,烧写完成后点击 OK,固件更新完毕。
![](imgs/map-14.png)
5. 初始化定位标签
1. 使用micro USB 线将定位标签与电脑连接
2. 点击 Dashboard 右下 Default 按钮加载默认配置
3. 然后查看标签 id (Device address),将此参数与标签外壳上贴的数字保持一致。
4. 如标签外壳上未贴数字,用户可自行对标签进行编号,按照顺序 id 从 2开始设置,逐个递增,修改后将 id 标记到标签外壳上方便使用过程中进行区分,注意不要出现重复的 id。
5. 开启换能器开关
![](imgs/map-17.png)
点击右上 RX1 -> RX5 的方格,使所有方格都为绿色。
模式为 AGC 模式
6. 查看 固件型号 , Firmware version - > V6.07 beacon HW v4.9 如不相同,则需更新固件。
固件烧写方法与路由一致,注意选择对应的固件。
标签固件为:beacon
![](imgs/map-16.png)
6. 初始化车载定位标签
首先执行上一步操作初始化标签,接着配置 Hedgehog mode 设置为 enable,将配置 Interfaces 的第一个子项 UART speed 设置为115200。
![](imgs/map-8.png)
以上标签恢复出厂完毕。