1.卫星定位基本原理
无人车定位:广泛使用的定位技术是RTK(实时动态差分),在空旷无遮挡的户外达到厘米级精度。
2.定位配置
2.1配置M2:
- 将M2升级线连接到M2上;
- 通过串口延长线连接M2升级口;
- 另一端接到工控机COM1串口;
- 配置M2前要先给设备连接电源;
基础配置
安装Linux系统,下载并安装Apollo软件系统。
在工控机上下载一个串口助手cutecom(通过串口助手与M2设备进行交互,写入配置信息):
sudo apt-get install cutecom
下载cutecom,输入管理员密码;
sudo cutecom
启动cutecom界面;
在cutecom界面。端口号选择/dev/ttyS0;
空白处是数据记录面板,点击“Open device”,正常情况下没有数据接收,如果有数据一直在记录面板上刷屏,就需要进行端口重置:$cmd.output.com0.gpfpd.null*ff
。
获取杆臂值指令:$cmd.get.levelarm*ff
,数据面板会返回levelarm配置值;
在input栏内写入M2设备的配置命令:
M2设备基础参数,是在初次设置M2设备时需要对航向模式、导航模式和USB接口输出进行设置,
$cmd.config.ok*ff
配置命令正确反馈;
$cmd.command.bad*ff
配置命令正确反馈;
2.2配置硬件
网口信息
保证M2设备能够正确地连接网络。
一般把路由器的IP地址设置为192.168.1.1,IP地址设置为192.168.1.2(或192.168.1.5或192.168.1.10);将子网掩码默认设置为255.255.255.0;默认网关设置为192.168.1.1
定位基站信息
与所在地理位置相关,需要注意:
- 首先确保基站格式:RTCM32格式;
- 准确获知基站的端口号、用户名、密码、挂载点等信息;
杆臂值
$cmd.set.levelarm.gnss.x_offset.y_offset.z_offset*ff
将杆臂值x、y、z的偏差替换到实际车辆测量的杆臂值;
最后保存设置:$cmd.save.config*ff
。
将M2设备断电重启,配置生效。
2.3配置定位信息的配置文件
首先修改Apollo配置文件内的基站信息,基站信息目录apollo/modules/calibration/data/ch/gnss_params/gnss_conf.pd.txt;
- 修改time zone,北京是50;
- 修改杆臂值,文件同文件夹下的ant_imu_levelarm.yaml;
- 修改定位配置,目录:apollo/modules/localization/conf/localization.conf将localization模块下的激光雷达设为false:
–enable_lidar_localization由true改为false
3.实测验证
- 底盘通电,工控机开机,进入Linux操作系统,启动Apollo;
cd apollo
进入Apollo目录;bash docker/scripts/dev_start.sh
启动docker环境;输入管理员密码;bash docker/scripts/dev_into.sh/
进入Apollo;bash scripts/bootstrap.sh/
启动bootstrap;- 浏览器访问DreamView(http://localhost:8888);
- 在vehicle位置选择“Ch”(Apollo自动驾驶开发套件默认的配置文件在CH目录下);
bash scripts/gps.sh/
启动GPS模块;bash scripts/localization.sh/
启动localization模块;rostopic list
查看topic;rostopic echo /apollo/sensor/gnss/best_pose
检查定位状态类型;- 将车辆遥控进退之后,检查定位输出
rostopic echo /apollo/localization/pose
; - 观察小车的运动情况。