1.定位时每个接收机需要接收四颗卫星以保证工作,它的测量原理是三角测量,一般卫星上都有高精度的原子钟,
卫星定位是通过信号的时间飞行法进行测量相应的距离,由于信号距离远,通常定位精度只能达到米级。
2.定位精度为米级是无法满足自动驾驶测量定位的
3.在无人车定位中广泛应用的定位技术是通过 RTK(实时动态差分),获得准确的定位信息。在空旷无遮挡的户外,能够达到厘米级精度
4.差分技术是在一个精确的已知位置,我们称之为基站,上面安装定位监测接收机,计算得到基站与定位卫星之间的距离,
通过实时处理基站载波相位观测量将基站的定位信息补偿实时发送到用户的接收机上进行求差解算
5.定位系统主要包括 GPS 天线、接收机和 IMU 惯性测量单元,通过 IMU惯性测量单元获取车辆的姿态信息补偿到定位系统当中,
在车辆安装好GPS 天线和 IMU 后根据实际安装位置测量杆臂值,将杆臂补偿值配置到GPS 接收机中,这样才能得到解算后的定位信息才是准确的。
6.车辆的杆臂值是指后天线的几何中心位置相对于 IMU 的几何中心在直角坐标系内 x、y、z 三方向的位置差
7.将得到的杆臂值配置到 GPS 接收机 M2 当中,在配置 GPS 接收机前,需要先把 M2 升级口与工控机串口连接,
在配置 M2 时,已经完成了车辆的硬件集成。由于接收机 M2 与工控机之间的安装位置比较远,而 M2 升级口线又比较短,
建议购买一根串口延长线,一端连接 M2的升级口,另一端接到工控机 COM1 串口。
8.工控机上下载串口助手cutecom,通过助手与M2设备交互,
9.配置M2
1.打开终端,输入 sudo apt-get install cutecom 下载 cutecom
2.输入 sudo cutecom 启动 cutecom 的界面
3.在 cutecom 界面我们先选择端口号/dev/ttyS0,因为工控机连接的是COM1 串口,它默认的就是这个 ttyS0 的接口。
空白处是收发数据的记录面板。点击 open device 正常情况下,数据记录面板上是没有数据收发的,如果是有数据一直在面板上刷屏的话,则需要进行端口的重置
4.因为数据记录面板没有数据收发,可以先输入一条获取配置信息的命令测试通讯是否正常,比如输入获取杆臂值的指令,
可以看到数据面板返回之前写入的 levelarm 配置值,只要有返回值,那么说明我们的连接是正常的,这是我们可以在 input 命令窗口内写入 M2 设备的配置命令
5.配置 M2 的所有参数
6.每次在输入 input 中输入一条命令,如果正常就会在空白面板反馈一条命令行
10.根据路由器在设置好一次后基本是不会改变的,但是如果换了一个路由器或者把 M2 拿到别的地方后,这时网络地址就会发生改变,需要重新配置。
设置网口信息主要是保证 M2 设备能够正确的连接网络。
11.设置 M2 设备的本地 IP 地址要和路由器本地的 IP 地址是在一个网段上,一般把路由器的 IP 地址设置为 192. 168. 1. 1,
那我们就可以把M2 的 IP 地址设置为 192. 168. 1. 2 或者任何 192. 168. 1. x(确保不和其他设备冲突),
将子网掩码默认设置为 255. 255. 255. 0,默认网关设置为 192. 168. 1. 1
12.确保基站格式是 RTCM32,准确获知基站的端口号、用户名、密码和挂载点
13.将杆臂值 X 的偏差、Y 的偏差、Z 的偏差替换到实际的车辆测量的杆臂值,然后进行设置,设置成功后会返回 OK
14.需要对 M2 设备进行断电,重新上电,配置才会生效
15.在配置好 M2 之后,需要在 Apollo 软件中配置定位信息的配置文件
1.首先修改 Apollo 配置文件内的基站信息,修改时区、杆臂值
2.修改定位的配置,因为循迹时不适用激光雷达这些设备,定位只使用 RTK 的定位方法,所以需要将定位模块下的激光雷达设置为 false
3.将车开到室外,进行定位信号的实测验证,用于检验定位配置是否正确,通过启动 GPS 定位模块,验证定位信息是否准确
①将车辆底盘上电,工控机开机,进入到 Linux 操作系统来启动 Apollo,首先进入 Docker 环境,bash docker/scripts/dev start. sh
②进入 Apollo 容器当中
③执行 bootstrap 脚本
④打开浏览器并输入 localhost:8888 进入 Dreamview 的页面,在车辆的地方选择 Ch,即默认配置文件是在 Ch 目录下
⑤启动定位相关模块
⑥查看每个模块所广播的 topic,检查定位状态类型和定位输出