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

相关文章

如何使用C#串口通讯实现数据的发送和接收

《如何使用C#串口通讯实现数据的发送和接收》本文详细介绍了如何使用C#实现基于串口通讯的数据发送和接收,通过SerialPort类,我们可以轻松实现串口通讯,并结合事件机制实现数据的传递和处理,感兴趣... 目录1. 概述2. 关键技术点2.1 SerialPort类2.2 异步接收数据2.3 数据解析2.

Java使用Mail构建邮件功能的完整指南

《Java使用Mail构建邮件功能的完整指南》JavaMailAPI是一个功能强大的工具,它可以帮助开发者轻松实现邮件的发送与接收功能,本文将介绍如何使用JavaMail发送和接收邮件,希望对大家有所... 目录1、简述2、主要特点3、发送样例3.1 发送纯文本邮件3.2 发送 html 邮件3.3 发送带

Java实现数据库图片上传功能详解

《Java实现数据库图片上传功能详解》这篇文章主要为大家详细介绍了如何使用Java实现数据库图片上传功能,包含从数据库拿图片传递前端渲染,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、数据库搭建&nbsChina编程p; 3、后端实现将图片存储进数据库4、后端实现从数据库取出图片给前端5、前端拿到

Python使用DeepSeek进行联网搜索功能详解

《Python使用DeepSeek进行联网搜索功能详解》Python作为一种非常流行的编程语言,结合DeepSeek这一高性能的深度学习工具包,可以方便地处理各种深度学习任务,本文将介绍一下如何使用P... 目录一、环境准备与依赖安装二、DeepSeek简介三、联网搜索与数据集准备四、实践示例:图像分类1.

如何关闭 Mac 触发角功能或设置修饰键? mac电脑防止误触设置技巧

《如何关闭Mac触发角功能或设置修饰键?mac电脑防止误触设置技巧》从Windows换到iOS大半年来,触发角是我觉得值得吹爆的MacBook效率神器,成为一大说服理由,下面我们就来看看mac电... MAC 的「触发角」功能虽然提高了效率,但过于灵敏也让不少用户感到头疼。特别是在关键时刻,一不小心就可能触

前端bug调试的方法技巧及常见错误

《前端bug调试的方法技巧及常见错误》:本文主要介绍编程中常见的报错和Bug,以及调试的重要性,调试的基本流程是通过缩小范围来定位问题,并给出了推测法、删除代码法、console调试和debugg... 目录调试基本流程调试方法排查bug的两大技巧如何看控制台报错前端常见错误取值调用报错资源引入错误解析错误

MobaXterm远程登录工具功能与应用小结

《MobaXterm远程登录工具功能与应用小结》MobaXterm是一款功能强大的远程终端软件,主要支持SSH登录,拥有多种远程协议,实现跨平台访问,它包括多会话管理、本地命令行执行、图形化界面集成和... 目录1. 远程终端软件概述1.1 远程终端软件的定义与用途1.2 远程终端软件的关键特性2. 支持的

Java中实现订单超时自动取消功能(最新推荐)

《Java中实现订单超时自动取消功能(最新推荐)》本文介绍了Java中实现订单超时自动取消功能的几种方法,包括定时任务、JDK延迟队列、Redis过期监听、Redisson分布式延迟队列、Rocket... 目录1、定时任务2、JDK延迟队列 DelayQueue(1)定义实现Delayed接口的实体类 (

Qt 中集成mqtt协议的使用方法

《Qt中集成mqtt协议的使用方法》文章介绍了如何在工程中引入qmqtt库,并通过声明一个单例类来暴露订阅到的主题数据,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一,引入qmqtt 库二,使用一,引入qmqtt 库我是将整个头文件/源文件都添加到了工程中进行编译,这样 跨平台

SpringBoot整合DeepSeek实现AI对话功能

《SpringBoot整合DeepSeek实现AI对话功能》本文介绍了如何在SpringBoot项目中整合DeepSeekAPI和本地私有化部署DeepSeekR1模型,通过SpringAI框架简化了... 目录Spring AI版本依赖整合DeepSeek API key整合本地化部署的DeepSeek