(1)GNSS驱动nmea_navsat_driver 功能包的使用

总览

该软件包为输出兼容NMEA语句的GPS设备提供了ROS接口。有关原始格式的详细信息,请参见NMEA句子的GPSD文档。在成千上万的NMEA兼容GPS设备中,我们正在汇编已知支持的设备列表。

这个包是与兼容geographic_info项目以及任何其他节点的支持sensor_msgs / NavSatFix和/或sensor_msgs / TimeReference。

没有提供C ++或Python API,仅提供了ROS API。

该软件包替代了Fuerte和Groovy中存在的nmea_gps_driver软件包。

样品用量

为了快速启动并运行,您可以使用以下命令开始将GPS数据输出到ROS主题上。假设您的GPS正在输出GGA NMEA语句,已连接到/ dev / ttyUSB0并以38400波特进行通讯。

$ rosrun nmea_navsat_driver nmea_serial_driver _port:= / dev / ttyUSB0 _baud:= 38400

路线图

  • 添加对GSA,RMC和GGA之外的其他NMEA语句的支持。支持单个句子的特定请求应作为增强票据提交。
  • 添加句子同步。当前,几乎没有缓冲或没有缓冲,这阻止了驱动程序使用多种类型的句子来生成一个主题输出周期。

节点数

nmea_topic_driver

NMEA GPS主题驱动程序节点。从ROS主题读取NMEA语句,而不是直接从串行端口读取。

订阅的主题

nmea_sentence(nmea_msgs / Sentence)

  • NMEA句子,每条消息1条。header.stamp应该与从设备读取消息的时间相对应,以实现准确的time_reference输出。在输出消息上设置frame_id时,将使用与此主题有关的消息上的header.frame_id。在到达驾驶员之前,不必对这些句子进行校验和或以其他方式进行验证。

发表的话题

修复(sensor_msgs / NavSatFix)

  • 设备报告的GPS定位信息。即使设备没有有效的修补程序,它也会以可用的任何位置和状态数据发布。无效的字段可能包含NaN。

vel(geometry_msgs / TwistStamped)

  • 从GPS设备输出的速度。仅在设备输出有效的速度信息时发布。驾驶员不会仅基于定位来计算速度。

time_reference(sensor_msgs / TimeReference)

  • 来自GPS设备的时间戳记用作time_ref。

参量

〜time_ref_source(字符串,默认值:< 〜frame_id的值>)

  • sensor_msgs / TimeReference中用作源的值。

〜useRMC(bool,默认:False)

  • 从GGA语句还是RMC语句生成位置定位。如果为True,则将从RMC生成修复程序。如果为False,则将根据GGA语句生成修复程序。当RMC提供速度信息时,使用GGA语句可以输出近似的协方差。

nmea_serial_driver

NMEA GPS串行驱动程序节点。替换nmea_gps_driver.py以减少命名冲突,并使用新的通用解析+驱动程序后端。

发表的话题

修复(sensor_msgs / NavSatFix)

  • 设备报告的GPS定位信息。即使设备没有有效的修补程序,它也会以可用的任何位置和状态数据发布。无效的字段可能包含NaN。

vel(geometry_msgs / TwistStamped)

  • 从GPS设备输出的速度。仅在设备输出有效的速度信息时发布。驾驶员不会仅基于定位来计算速度。

time_reference(sensor_msgs / TimeReference)

  • 来自GPS设备的时间戳记用作time_ref。

参量

〜端口(字符串,默认是:/ dev / ttyUSB0)

  • 设备路径

〜baud(int,默认值:4800)

  • 接收NMEA数据的波特率。

〜frame_id(string,默认值:gps)

  • sensor_msgs / NavSatFix和geometry_msgs / TwistStamped输出消息的标头的frame_id。如果定义,将使用tf_prefix解决。

〜time_ref_source(字符串,默认值:< 〜frame_id的值>)

  • sensor_msgs / TimeReference中用作源的值。

〜useRMC(bool,默认:False)

  • 从GGA语句还是RMC语句生成位置定位。如果为True,则将从RMC生成修复程序。如果为False,则将根据GGA语句生成修复程序。当RMC提供速度信息时,使用GGA语句可以输出近似的协方差。

nmea_topic_serial_reader

从指定的串行端口读取NMEA语句,并将其发布到ROS主题。这是与nmea_topic_driver.py一起使用的简单前端

发表的话题

nmea_sentence(nmea_msgs / Sentence)

  • 从串行设备捕获的单个带时间戳的NMEA语句

参量

〜端口(字符串,默认是:/ dev / ttyUSB0)

  • 设备路径

〜baud(int,默认值:4800)

  • 接收NMEA数据的波特率。

〜frame_id(string,默认值:gps)

  • nmea_msgs / Sentence的标头和输出消息的frame_id。如果定义,将使用tf_prefix解决。

故障排除

如果您是初次使用此软件包并遇到问题,则应首先检查该软件包是否正确安装在正确的位置。然后,查询ROS /疑难解答,常见问题解答和http://answers.ros.org/questions/以查看是否已经为您的问题确定了解决方案。

如果您在使用nmea_serial_driver并连接到串行端口时遇到问题,请通过检查用户是否属于“ dialout”组来确保该用户有权访问该端口。有关更多信息,请参见此处。

报告错误

使用GitHub 报告错误或提交功能请求。[ 查看活动中的问题 ]

你可能感兴趣的:(GNSS,学习及解决方案,深度学习)