(3)GNSS在ROS中数据获取与解析

1、在ubuntu16.04中安装串口工具minicom

 输入sudo minicom -s进行串口配置:

弹出如下设置界面:

(3)GNSS在ROS中数据获取与解析_第1张图片

使用方向键 选择 Serial port setup,按Enter键,进入设置环境,如下图

(3)GNSS在ROS中数据获取与解析_第2张图片

由于使用的是USB转RS232串口,串口设备名称为/dev/ttyUSB0,波特率为115200。(《----匹配)

配置完后,按下Enter键返回上一界面,选择save setup as dfl(即将其保存位默认配置),再选择Exit,关闭minicom。

2、插入USB转串口设备后,普通用户无法访问设备/dev/ttyUSB0,  使用minicom时需在root用户下或加sudo才能使用
为了在普通用户也能正常使用USB转串口设备, 增加权限:

修改权限为可读可写可执行,但是这种设置电脑重启后,又会出现这种问题,还要重新设置.因此查询资料,可以用下面这条指令

其中hy换成你想用USB的用户名即可.把此用户名加入dialout用户组,然后注销下电脑,即可.这样下次重启也不用修改权限了。

3、采用的组合导航是星网宇达的XW-GI类产品,GPS解析到的协议是GPFPD:GI定位定姿消息集。其数据格式如下所示:

最高输出速率:100HZ

(3)GNSS在ROS中数据获取与解析_第3张图片

举例:

6、用ros进行组合导航/nmea_sentence主题信息的读取。

安装nmea-navsat-drive包:

启动roscore:

(3)GNSS在ROS中数据获取与解析_第4张图片

发布定位模块信息:

该ROS包把数据通过/nmea_sentence这个Topic发布出来,为了验证定位数据发布成功,我们再打开一个新Terminal窗口读取/nmea_sentence中的信息,输入

可见其下逐条输出了定位模块中的数据,数据部分主要在sentence中。

参考链接:

1、要点初见:通过ROS包nmea_navsat_driver读取GPS、北斗定位信息(C/C++):https://blog.csdn.net/m0_37857300/article/details/82391023

2、ubuntu串口的安装和使用(usb转串口):

https://blog.csdn.net/u010925447/article/details/58049130

3、/dev/ttyUSB0 permission denied 解决办法:永久有可操作权限:

https://blog.csdn.net/eric_4300741/article/details/52748979

4、XW-GI类产品协议:

https://wenku.baidu.com/view/05350c79fab069dc502201db.html

你可能感兴趣的:(GNSS,学习及解决方案,自动驾驶)