当前位置:网站首页>ROS包nmea_navsat_driver读取GPS、北斗定位信息笔记
ROS包nmea_navsat_driver读取GPS、北斗定位信息笔记
2022-04-23 05:50:00 【ppipp1109】
硬件:ATGM332D + 串口调试工具 + GPS 天线
软件: ubunutu 18.04 + ros
1. 串口 读取数据
sudo apt install cutecom
sudo cutecom //设置 波特率9600 可以看到反馈的数据
2. nmea_navsat_driver 包的使用
sudo apt-get install ros-melodic-nmea-navsat-driver libgps-dev
注意:nmea_navsat_driver提供四个节点:nmea_topic_driver,
nmea_serial_driver,nmea_topic_serial_reader和nmea_socket_drivernmea_topic_serial_reader节点
此节点从串口读入GPS数据,然后封装为nmea_msgs/Sentence数据格式,发布话题nmea_sentence。
nmea_topic_driver节点
此节点订阅话题nmea_sentence,然后根据NMEA0184协议解析,并发布解析后的数据,发布话题为:经纬度/fix,速度/vel,gps时间/time_reference和航向角/heading。
nmea_serial_driver节点
此节点从串口读数据,直接解析发布数据,相当于nmea_topic_driver节点和nmea_topic_serial_reader节点的结合体。
3. 打开新Terminal窗口打开ROS系统(相关ROS环境创建、ROS包编译等基础知识务必先在网上查清楚),输入
roscore
再打开一个新Terminal窗口发布(Publish)定位模块的信息,输入
rosrun nmea_navsat_driver nmea_topic_serial_reader _port:=/dev/ttyUSB0 _baud:=9600
发布定位模块信息时,窗口中不会像cutecom中那样不停显示最新的定位数据,会提示SyntaxWarning: The publisher should be created with an explicit keyword argument 'queue_size'.,忽略即可。该ROS包把数据通过/nmea_sentence这个Topic发布出来,为了验证定位数据发布成功,我们再打开一个新Terminal窗口读取/nmea_sentence中的信息,输入
rostopic echo /nmea_sentence
4. 运行nmea_serial_driver 节点;
需要关闭第3 节中所有的终端,
roscd nmea_navsat_driver/launch/
sudo vim nmea_serial_driver.launch
如下修改修改波特率为9600
<launch>
<!-- A simple launch file for the nmea_serial_driver node. -->
<arg name="port" default="/dev/ttyUSB0" />
<arg name="baud" default="9600" />
<arg name="frame_id" default="gps" />
<arg name="use_GNSS_time" default="False" />
<arg name="time_ref_source" default="gps" />
<arg name="useRMC" default="False" />
<node name="nmea_serial_driver_node" pkg="nmea_navsat_driver" type="nmea_serial_driver" output="screen">
<param name="port" value="$(arg port)"/>
<param name="baud" value="$(arg baud)" />
<param name="frame_id" value="$(arg frame_id)" />
<param name="use_GNSS_time" value="$(arg use_GNSS_time)" />
<param name="time_ref_source" value="$(arg time_ref_source)" />
<param name="useRMC" value="$(arg useRMC)" />
</node>
打开一个终端 usb赋值,启动launch文件
sudo chmod 777 /dev/ttyUSB0
roslaunch nmea_navsat_driver nmea_serial_driver.launch
新开一个终端,查看当前的gps信息
rostopic echo /fix
参考链接:
1. 要点初见:通过ROS包nmea_navsat_driver读取GPS、北斗定位信息(C/C++)_m0_37857300的博客-CSDN博客
2. #调用传感器数据_ROS传感器之GPS实践_glietwx的博客-CSDN博客
版权声明
本文为[ppipp1109]所创,转载请带上原文链接,感谢
https://ppipp.blog.csdn.net/article/details/123002038
边栏推荐
猜你喜欢
Call procedure of function
Robocode教程8——AdvancedRobot
[UDS] unified diagnostic service (UDS)
C [document operation] PDF files and pictures are converted to each other
Vscode custom comments
[UDS unified diagnosis service] IV. typical diagnosis service (1) - diagnosis and communication management function unit
File viewing commands and user management commands
【UDS统一诊断服务】四、诊断典型服务(2)— 数据传输功能单元
[UDS unified diagnosis service] i. diagnosis overview (3) - ISO 15765 architecture
[untitled]
随机推荐
Matching between class template with default template argument and template parameter
【UDS统一诊断服务】四、诊断典型服务(1)— 诊断和通信管理功能单元
[UDS unified diagnostic service] III. application layer protocol (1)
猜数字游戏
【UDS统一诊断服务】(补充)五、ECU bootloader开发要点详解 (1)
Matlab标定板角点检测原理
Basemap库绘制地图
【无标题】
C语言进阶要点笔记4
PHP junior programmers, take orders and earn extra money
Linux 用rpm的方式安装mysql(超简单)
Rust: Tcp 服务器与客户端的一个简单例子
[UDS unified diagnosis service] i. diagnosis overview (3) - ISO 15765 architecture
pyppeteer爬虫
For() loop parameter call order
C语言数组处理批量数据
cuda工程更换环境(电脑)后遇到的一系列编译问题
【UDS统一诊断服务】一、诊断概述(3)— ISO 15765体系结构
客户端软件增量更新
1006 finding a mex (hdu6756)