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

相关文章

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

JavaScript中的高级调试方法全攻略指南

《JavaScript中的高级调试方法全攻略指南》什么是高级JavaScript调试技巧,它比console.log有何优势,如何使用断点调试定位问题,通过本文,我们将深入解答这些问题,带您从理论到实... 目录观点与案例结合观点1观点2观点3观点4观点5高级调试技巧详解实战案例断点调试:定位变量错误性能分

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

Java+AI驱动实现PDF文件数据提取与解析

《Java+AI驱动实现PDF文件数据提取与解析》本文将和大家分享一套基于AI的体检报告智能评估方案,详细介绍从PDF上传、内容提取到AI分析、数据存储的全流程自动化实现方法,感兴趣的可以了解下... 目录一、核心流程:从上传到评估的完整链路二、第一步:解析 PDF,提取体检报告内容1. 引入依赖2. 封装

基于Java和FFmpeg实现视频压缩和剪辑功能

《基于Java和FFmpeg实现视频压缩和剪辑功能》在视频处理开发中,压缩和剪辑是常见的需求,本文将介绍如何使用Java结合FFmpeg实现视频压缩和剪辑功能,同时去除数据库操作,仅专注于视频处理,需... 目录引言1. 环境准备1.1 项目依赖1.2 安装 FFmpeg2. 视频压缩功能实现2.1 主要功

使用Python实现无损放大图片功能

《使用Python实现无损放大图片功能》本文介绍了如何使用Python的Pillow库进行无损图片放大,区分了JPEG和PNG格式在放大过程中的特点,并给出了示例代码,JPEG格式可能受压缩影响,需先... 目录一、什么是无损放大?二、实现方法步骤1:读取图片步骤2:无损放大图片步骤3:保存图片三、示php

深度解析Python yfinance的核心功能和高级用法

《深度解析Pythonyfinance的核心功能和高级用法》yfinance是一个功能强大且易于使用的Python库,用于从YahooFinance获取金融数据,本教程将深入探讨yfinance的核... 目录yfinance 深度解析教程 (python)1. 简介与安装1.1 什么是 yfinance?

Python脚本轻松实现检测麦克风功能

《Python脚本轻松实现检测麦克风功能》在进行音频处理或开发需要使用麦克风的应用程序时,确保麦克风功能正常是非常重要的,本文将介绍一个简单的Python脚本,能够帮助我们检测本地麦克风的功能,需要的... 目录轻松检测麦克风功能脚本介绍一、python环境准备二、代码解析三、使用方法四、知识扩展轻松检测麦

Java实现TXT文件导入功能的详细步骤

《Java实现TXT文件导入功能的详细步骤》在实际开发中,很多应用场景需要将用户上传的TXT文件进行解析,并将文件中的数据导入到数据库或其他存储系统中,本文将演示如何用Java实现一个基本的TXT文件... 目录前言1. 项目需求分析2. 示例文件格式3. 实现步骤3.1. 准备数据库(假设使用 mysql