当前位置:网站首页>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
边栏推荐
- 多线程爬取马可波罗网供应商数据
- [ThreadX] ThreadX source code reading plan (I)
- Easy to use data set and open source network comparison website
- [UDS unified diagnosis service] IV. typical diagnosis service (3) - read fault information function unit (storage data transmission function unit)
- Robocode教程5——Enemy类
- Linux 用rpm的方式安装mysql(超简单)
- 对象数组与对象指针
- gcc ,g++,gdb的安装
- C语言输入和输出(printf和scanf函数、putchar和getchar函数)
- 搭建openstack平台
猜你喜欢
[UDS unified diagnosis service] IV. typical diagnosis service (1) - diagnosis and communication management function unit
ArcGIS表转EXCEL超出上限转换失败
C [document operation] PDF files and pictures are converted to each other
[ThreadX] h743zi + lan8720 + ThreadX + netx duo transplantation
Vscode custom comments
[ThreadX] h743 + ThreadX + Filex migration record
[untitled]
cuda工程更换环境(电脑)后遇到的一系列编译问题
Opencv uses genericindex for KNN search
jenkspy包安装
随机推荐
对象的动态建立和释放,赋值和复制
爬西瓜视频url
类的继承与派生
File viewing commands and user management commands
日志写法(带时间)
Rust:在线程池中共享变量
利用文件保存数据(c语言)
[UDS] unified diagnostic service (UDS)
Initialization of classes and objects (constructors and destructors)
【UDS统一诊断服务】(补充)五、ECU bootloader开发要点详解 (1)
搭建openstack平台
客户端软件增量更新
Opencv uses genericindex for KNN search
Programmers can also write novels
相机标定:关键点法 vs 直接法
多线程爬取马可波罗网供应商数据
安装pyshp库
1006 finding a mex (hdu6756)
Matching between class template with default template argument and template parameter
Object转Json差异之Gson fastJson jackson 修改字段名