GPS串口驱动的调试(NEMA协议的直接用nmea_navsat_driver功能包即可)

本文主要是介绍GPS串口驱动的调试(NEMA协议的直接用nmea_navsat_driver功能包即可),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

GPS串口的调试

这是用串口助手接收到的信息,这还是在室内的。

我这个GPS模块是NEMA协议的那么用这个功能包应该是可以的,所以就没必要单独找什么GPS的串口驱动了。我去Github搜了下搜不到法系这是个功能包,都不用下源码,直接apt-get install就可以了好像,那岂不是太方便了。还是有Github的  https://github.com/ros-drivers/nmea_navsat_driver.git

这个功能包并不叫GPS应该是用NMEA协议的不止GPS,这也是我前几天在《GPS卫星导航定位技术与方法》这本书里面看到的,具体页面是讲NMEA协议的地方,应该可以找到。

https://gitee.com/maxibooksiyi/gps_driver

https://blog.csdn.net/sinat_16643223/article/details/117339716

可以在launch里面更改波特率和串口号。

还是二进制安装方便,源码编译各种报错,python还是不方便

sudo apt-get install ros-melodic-nmea-navsat-driver (可以双击tap键看有哪些nmea开头的功能包,不看的话你可能就直接去装nmea_gps_driver那可能就找不到了这个功能包,幸亏我之前源码编译了下,知道它的源码工程名叫nmea-navsat-driver,所以选择了这个功能包)

roscore

rosrun nmea_navsat_driver nmea_serial_driver _port:=/dev/ttyACM0 _baud:=119200

rostopic echo /fix

可以看到经纬度,如果没有数据(比如在房间里)经纬度后面就显示nan。终端打印的消息如下。

header:

seq: 521

stamp:

secs: 1629554912nsecs: 999170064

frame_id: "/gps"

status:

status: -1

service: 1

latitude: nan

longitude: nan

altitude: nan

position_covariance: [9998.0001, 0.0, 0.0, 0.0, 9998.0001, 0.0, 0.0, 0.0, 39992.0004]

position_covariance_type: 1

fix (sensor_msgs/NavSatFix) 可以看到发布的/fix话题就是sensor_msgs/NavSatFix类型,和global_fusion功能包里globalOptNode.cpp里所订阅的GPS话题消息类型是一样的,这样等于可以直接用了!!!!!

GPS位置,一直发布即使GPS接受不到信号,发出的数据为无效(nan)

GPS模块不会一开始就有数据,会先等几分钟(回看了下录屏,大概两分多钟)。前几分钟发布的经纬度都收nan,看来GPS模块还是等数据稍微稳定了点才发布出来。

所以globalfusion功能包直接把收到第一个GPS经纬度作为原点也是可以的?

记得across的那篇GPS文章说过,GPS第一次在一个地方是需要等几分钟的,就算是无人机上的GPS也是要等一阵子灯才变绿对吧,估计也是那个时候才有经纬度数据输出,在那之前GPS模块不输出经纬度数据。不对,我前几天测试GPS灯没有变绿也是有经纬度数据的。算了,先不管这个了,总之都是要先等一阵子。

https://blog.csdn.net/sinat_16643223/article/details/118771602

 这是有经纬度数据了

2021.9.5

我在《ROS机器人编程实战》里面就看到专门一节说了GPS(NEMA协议的,用的ublox的GPS模块)接入ROS的功能包就是我用的这个,当然是NEMA协议的。

也是打印的/fix话题

这篇关于GPS串口驱动的调试(NEMA协议的直接用nmea_navsat_driver功能包即可)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/775794

相关文章

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

深度解析Spring Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l

Java实现预览与打印功能详解

《Java实现预览与打印功能详解》在Java中,打印功能主要依赖java.awt.print包,该包提供了与打印相关的一些关键类,比如PrinterJob和PageFormat,它们构成... 目录Java 打印系统概述打印预览与设置使用 PageFormat 和 PrinterJob 类设置页面格式与纸张

MySQL 8 中的一个强大功能 JSON_TABLE示例详解

《MySQL8中的一个强大功能JSON_TABLE示例详解》JSON_TABLE是MySQL8中引入的一个强大功能,它允许用户将JSON数据转换为关系表格式,从而可以更方便地在SQL查询中处理J... 目录基本语法示例示例查询解释应用场景不适用场景1. ‌jsON 数据结构过于复杂或动态变化‌2. ‌性能要

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

Qt使用QSqlDatabase连接MySQL实现增删改查功能

《Qt使用QSqlDatabase连接MySQL实现增删改查功能》这篇文章主要为大家详细介绍了Qt如何使用QSqlDatabase连接MySQL实现增删改查功能,文中的示例代码讲解详细,感兴趣的小伙伴... 目录一、创建数据表二、连接mysql数据库三、封装成一个完整的轻量级 ORM 风格类3.1 表结构

mysql表操作与查询功能详解

《mysql表操作与查询功能详解》本文系统讲解MySQL表操作与查询,涵盖创建、修改、复制表语法,基本查询结构及WHERE、GROUPBY等子句,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随... 目录01.表的操作1.1表操作概览1.2创建表1.3修改表1.4复制表02.基本查询操作2.1 SE

Golang如何用gorm实现分页的功能

《Golang如何用gorm实现分页的功能》:本文主要介绍Golang如何用gorm实现分页的功能方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录背景go库下载初始化数据【1】建表【2】插入数据【3】查看数据4、代码示例【1】gorm结构体定义【2】分页结构体