ROS的GPS驱动包

2023-05-16

ROS WiKi地址:http://wiki.ros.org/nmea_gps_driver

ROS功能包:nmea_gps_driver

Package to parse NMEA strings and publish a very simple GPS message. Does not require or use the GPSD deamon

1.节点

nmea_topic_driver

订阅的话题

nmea_sentence (nmea_msgs/Sentence)

  • NMEA sentences, 1 per message. The header.stamp should correspond to the time that the message was read from the device for accurate time_reference output. The header.frame_id on the messages on this topic will be used when setting frame_id on the output messages. These sentences do not have to be checksummed or otherwise validated before reaching the driver.

发布的话题

fix (sensor_msgs/NavSatFix)

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

vel (geometry_msgs/TwistStamped)

  • GPS速度,仅当有速度时输出.

time_reference (sensor_msgs/TimeReference)

  • GPS输出的时间戳,作为参考时间戳.

参数

~port (string, default: /dev/ttyUSB0)

  • 设备端口(本实验我将改为 /dev/ttyACM0)

~baud (int, default: 4800)

  • 设备的波特率.

~frame_id (string, default: gps)

  • tf的固定frame.

~time_ref_source (string, default: <the value of ~frame_id>)

  • The value to use as the source in the sensor_msgs/TimeReference.

~useRMC (bool, default: False)

  • Whether to generate position fixes from GGA sentences or a combination of RMC and GSA. If True, fixes will be generated from RMC and GSA. If False, fixes will be generated based on the GGA sentences. Using GGA sentences allows for covariance output while RMC+GSA provides velocity information.

nmea_serial_driver

        ------NMEA GPS Serial driver node. Replaces nmea_gps_driver.py to reduce naming conflicts and use new common parsing+driver backend.

订阅的话题

fix (sensor_msgs/NavSatFix),同上

vel (geometry_msgs/TwistStamped),同上

time_reference (sensor_msgs/TimeReference),同上

参数

~port (string, default: /dev/ttyUSB0)

~baud (int, default: 4800)

~frame_id (string, default: gps)

~time_ref_source (string, default: <the value of ~frame_id>)

~useRMC (bool, default: False)

nmea_topic_serial_reader

          --------Reads NMEA sentences from the specified serial port and publishes them to a ROS topic. This is a simple front-end for use with nmea_topic_driver.py

发布的话题

nmea_sentence (nmea_msgs/Sentence)

  • A single time-stamped NMEA sentence captured from the serial device

参数

~port (string, default: /dev/ttyUSB0)

~baud (int, default: 4800)

~frame_id (string, default: gps)

2.ubuntu串口的安装和使用(usb转串口)

我使用的GPS接收机是某宝上的买的几十块的NEO-6M,直接用一根安卓数据线就能与电脑相连。

 

    首先,将我的USB数据线与PC机连接,这时候咱们的linux系统自动安转了驱动程序,可以使用命令:dmesg 来查看安装驱动的信息,如下图

  从上图的serialNumber=0可以看出咱们的串口设备是串口0,并且设备号为/dev/ttyACM0

  你也可以使用命令: ls -l /dev/ttyACM0来查看相关的信息,如下图

 一定要增加可执行权限(sudo chmod 666 /dev/ttyACM0)

3.从github下载源码编译与运行

找到此功能包下的nmea_serial_driver.launch文件,修改为

<?xml version = "1.0"?>
<launch>

  <!-- A simple launch file for the nmea_serial_driver node. -->

  <arg name="port" default="/dev/ttyACM0" />
  <arg name="baud" default="9600" />
  <arg name="frame_id" default="gps" />
  <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="time_ref_source" value="$(arg time_ref_source)" />
    <param name="useRMC" value="$(arg useRMC)" />
  </node>

</launch>

然后启动,生成的topic有

/fix话题包含定位信息,/heading /time_reference发布的GPS时间,和北京时间相差8小时;/vel包含速度信息

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ROS的GPS驱动包 的相关文章

  • 如何在 python 中创建自己的数据类型以便覆盖算术运算符?

    我目前正在使用 Python Numpy 处理地理 GPS 数据 喜欢它 并且我面临着计算由坐标对定义的地理点之间的距离的重复任务pn lon lat 我有一个这样使用的函数 dist geodistance p1 p2 它类似于线性代数中
  • Android LocationManager.getLastKnownLocation() 返回 null

    因此 我尝试在应用程序中对 GPS 坐标进行一次采样 我不想创建 LocationListener 对象来不断获取 GPS 更新 我想等到收到坐标 然后继续执行另一项任务 这是一个代码片段 LocationManager lm Locati
  • ROS 问题:libQt5Core.so.5:无法打开共享对象文件:没有这样的文件或目录

    当我跑步时 rosrun turtlesim turtlesim node 在 Ubuntu 上 我收到以下消息 opt ros noetic lib turtlesim turtlesim node 加载共享库时出错 libQt5Core
  • 使用 Android.Xamarin 查找纬度和经度

    我正在尝试在 Android Xamarin 中开发商店定位器应用程序 我的第一步是找到我所在位置的纬度和经度 但我的模拟器 设备屏幕没有显示任何内容 我有我的uses permissions set to
  • 通过js获取WebView中的位置

    我正在尝试创建 WebView 它将通过 js 获取 GPS 本地化 但是当我单击应该显示本地化的按钮时 在android 4 1 1 模拟器 中 错误代码2 无法启动地理定位服务 在 android 4 1 2 phone 中什么也没有发
  • 位置侦听器从服务工作,但不是 IntentService

    我有一个应用程序 我试图定期获取用户位置并将其发送到服务器 我有一项服务附加到AlarmManager每分钟执行一次 用于测试 该服务正确找到用户位置并注销 GPS 坐标 一旦出现 GPS 锁定 我就会取消位置请求并停止服务 当我请求位置更
  • GPS/GIS 计算:根据运动/每小时预测未来位置的算法?

    寻找资源或算法来在导航应用程序中计算以下内容 如果我当前的 GPS 位置为 0 0 并且我以 15 英里 小时的速度前进 32 度 我如何计算 10 秒后我的位置 i e GPSCoordinate predictedCoord GPSCo
  • GPS坐标:一个点周围1平方公里

    我希望有人能给我提供一个方程来计算给定点周围 1 公里的平方 X 从 a aaa 到 b bbb Y 从 c ccc 到 c ccc 例如lat 53 38292839 and lon 6 1843984 我还需要围绕一个点 2 公里 5
  • GMSPolyline 非常大的内存峰值

    在允许用户在各种不同类型的地图上显示我们称之为轨迹的复杂位置点列表的 GPS 应用程序中 每个轨迹可以包含 2k 到 10k 个位置点 当轨迹在非 Google 地图类型上呈现时 它们会被大量剪切 修剪和路径简化 这是为了降低内存使用量并提
  • 使用 LocationManager 时,为什么打开 Wifi 但未连接有助于网络定位?

    这可能是偏离主题的 如果是这样 我道歉 并很高兴接受关闭标志 但我在弄清楚为什么 WIFI 打开但未连接到任何接入点 在我的 Android 设备上 时遇到问题 它vastly提高网络提供商使用时的准确性LocationManager 如果
  • 在设备所有者应用程序中启用 GPS

    根据API文档 https developer android com reference android app admin DevicePolicyManager html setSecureSetting android conten
  • 如何通过 GPRS 向 GPS 追踪器(TK103、GT02、GT06、TK102 等)发送命令

    这已经被问过这里https stackoverflow com questions 25460743 gps tracker tk103 how to send message through server https stackoverf
  • 根据 GPS 坐标计算平均速度的最佳实践

    我这里有一个可以给我 GPS 坐标的设备 我可以定义的时间间隔 我想用它来计算驾驶或驾车旅行时的平均速度 实际上 我使用了正交公式来计算两点之间的距离 然后将其除以给定的时间间隔 通过我遵循的实施这个词 http de wikipedia
  • Android 中如何在不使用 getLastKnownLocation 方法的情况下获取当前的纬度和经度?

    我正在尝试获取current手机的位置 为此我使用GPS追踪器教程 http www androidhive info 2012 07 android gps location manager tutorial 问题总是使用该方法getLa
  • 从 GPS 点绘制线

    我有大约 100 个 GPS 坐标列表 我想画出每个列表所构成的线 使用散点图绘制的列表之一 看起来有点像这样 显然那里有一条线 我尝试了几种方法来对 GPS 位置进行排序并绘制它们 lats lngs with open filename
  • 根据步行速度在 2 个 GPS 位置之间进行插值

    Problem 给定两个位置 L1 latitude1 longitude1 timestamp1 L2 latitude2 longitude2 timestamp2 以及可配置但恒定的移动速度 v 1 39 米每秒 例如 How can
  • C# - LINQ - GPS 纬度和经度的最短距离

    我有数据库 其中有带有 GPS 坐标的一流酒店 我想获得距离我选择的坐标最近的地方 我认为它应该看起来像这样 我在这里找到了很多示例代码 就像这样 var coord new GeoCoordinate latitude longitude
  • ROS中spin和rate.sleep的区别

    我是 ROS 新手 正在尝试了解这个强大的工具 我很困惑spin and rate sleep功能 谁能帮助我了解这两个功能之间的区别以及何时使用每个功能 ros spin and ros spinOnce 负责处理通信事件 例如到达的消息
  • 检测wifi是否启用(无论是否连接)

    对于 GPS 跟踪应用程序来说 在打开 WIFI 的情况下记录位置信号会导致数据非常不精确或存在间隙 在开始跟踪之前 我已使用可达性查询来检测 wifi 是否可用 问题是 如果进行该查询时 wifi 已启用但未连接到网络 则表明无法通过 w
  • 向 tk103 GPS 跟踪器发送命令

    我正在使用 php 开发实时 GPS 跟踪器 Web 应用程序 跟踪器参考号是tk103 我可以从跟踪器接收信息并将其存储到数据库中 设备的 GPRS 模式已启用 我的问题是 如何使用 php ini 将命令从服务器发送到设备 提前致谢 这

随机推荐

  • C++多态的个人总结

    多态 多态分为运行时多态和编译期多态 xff0c 也被称作动态绑定和静态绑定或者晚绑定和早绑定 一 编译期多态 编译期多态主要是通过函数重载 xff0c 运算符重载还有模板函数 xff0c 模板类来是实现的 函数重载和运算符重载 xff0c
  • 嵌入式linux截图工具gsnap移植到OK6410 TX2416开发板

    交叉编译器版本 xff1a arm linux gcc 4 3 2 操作系统平台 xff1a Ubuntu 11 04 开发板平台 xff1a Tx2416 OK6410开发板 需要以下两个源文件 jpegsrc v6b tar gz gs
  • C++四种类型转换运算符的个人总结

    在这四种类型转换符包括static cast dynamic cast reinterpret cast const cast其中使用比较多的是dynamic cast和static cast 我们就从这两种类型转换符开始谈起 一 stat
  • 什么是系统调用?

    01 系统调用是什么 系统内核通过包装一些能够实现特定功能的特殊硬件指令和硬件状态 xff0c 即为内核函数 xff0c 通过一组称为系统调用 xff08 system call 的接口呈现给用户 xff0c 为系统调用而封装出来的API也
  • js中函数内部可以访问外部的变量

  • 视觉SLAM——小觅相机实测vins-mono步骤

    文章目录 step1 相机对应驱动 ubuntu SDK源码安装step2 相机测试 标定参数获取step3 安装vins并建立启动文件step4 开启相机节点并运行vins 使用的是双目深度板小觅相机 xff0c 只需要使用相机左摄像头和
  • ROS自定义消息类型 发布与订阅

    1 自定义消息类型与编译 1 在功能包里面创建一个msg文件夹 添加文档 文档名字为生成的头文件名和消息类型名 功能包名为消息类型的作用域 在msg文件夹下创建一个Person msg文件 xff0c 将下列代码复制进去 xff1a str
  • ROS的launch文件创建

    1 使用launch文件 Launch文件是ROS提供的 xff0c 可以同时运行多个nodes的文件 Launch文件以一种特殊的XML格式编写 xff0c 在ROS packages中使用广泛 创建launch功能包 首先在工作空间sr
  • ROS+UR机械臂+Moveit+ 仿真与实体机械臂的使用+realsense相机+eye_handeye手眼标定(亲测有效)上

    Universal Robots xff08 优傲机器人 xff09 公司是一家引领协作机器人全新细分市场的先驱企业 xff0c 该公司成立于2005年 xff0c 关注机器人的用户可操作性和灵活度 xff0c 总部位于丹麦的欧登塞市 xf
  • ROS+UR机械臂+Moveit+ 仿真与实体机械臂的使用+realsense相机+eye_handeye手眼标定(亲测有效)下

    1参考链接 1 UR5 realsense手眼标定 2 优遨机器人UR5与RealSense深度摄像头D435的手眼标定 3 UR5 realsense手眼标定 4 标定所需二维码 5 ROS下UR5 usb cam单目外参标定 xff08
  • 链表的头节点理解

    不管带不带头节点 xff0c 头指针始终指向第一个结点 xff0c 头指针始终指向第一个结点 xff0c 而头节点是带头结点的链表的第一个结点 xff0c 结点内通常不存储信息 图示如下 xff1a 2 在建立链表时 xff0c 如果是不带
  • 汇编语言学习04之X86计算机组件

    X86计算机组件 本文首先通过检查典型主板配置以及围绕 CPU 的芯片组来了解 x86 如何与其他组件的集成 然后讨论内存 I O 端口和通用设备接口 最后说明汇编语言程序怎样利用系统硬件 固件 xff0c 并调用操作系统函数来实现不同访问
  • 【翻译】服务器后端的编程语言

    对于那些需要web服务的初创公司里的大型新项目 xff0c 我会选择何种后端编程语言呢 xff1f 在客户端侧有CSS html和javascript xff08 包括CoffeeScript和TypeScript这类衍生语言 xff09
  • ubuntu换内核的方法适用于16-18系统

    2080ti的卡兼容18 04的5 0 0 37 generic内核驱动需要用418 56 ubuntu内核突然变了 导致nvidia显卡驱动用不了 进行内核降级 解决方法 查找可用的内核版本 grep menuentry boot gru
  • 统计信号估计 (二) 最小方差无偏估计量(MUV)的线性模型

    MVU表示最小方差无偏估计 xff0c 下面将推导一个线性模型的MVUE xff0c 即最小方差无偏估计量 线性模型可以表示为 xff1a x 61 H 43 w
  • python二级考试-每日刷题7

    知识导图 文件 文件的类型 文件的打开和关闭 文件的读写
  • 树莓派入门(笔记本当显示屏)

    树莓派入门 笔记本当显示屏 your elephant的博客 CSDN博客 树莓派连接笔记本屏幕
  • python-sklearn实现神经网络(数据量小的情况)

    以下内容笔记出自 跟着迪哥学python数据分析与机器学习实战 xff0c 外加个人整理添加 xff0c 仅供个人复习使用 神经网络 xff08 neural network 模块重要的有两个类 xff0c MLPClassifier 分类
  • 想免像控?RTK/PPK无人机 vs GCP 测绘精度对比

    无人机航拍测绘具有精度高 作业效率高 数据分析能力强的特点 xff0c 很大程度上解决了人工测绘的痛点 因此 xff0c 无人机在测绘工程中的应用越来越广泛 精度对于测绘从业人员来说精度至关重要 xff0c 针对RTK PPK 无人机和使用
  • ROS的GPS驱动包

    ROS WiKi地址 http wiki ros org nmea gps driver ROS功能包 xff1a nmea gps driver Package to parse NMEA strings and publish a ve