Stack Summary
Package to parse NMEA strings and publish a very simple GPS messgae. Does not require the GPSD deamon.
- Author: Maintained by Eric Perko
- License: BSD
- Repository: gps-ros-pkg
- Source: git https://kforge.ros.org/gpsdrivers/nmea_gps_driver
Contents
Overview
This package provides a ROS interface for GPS devices that output compatible NMEA sentences. See the GPSD documentation of NMEA sentences for details on the raw format. Of the thousands of NMEA-compatible GPS devices, we are compiling a list of devices known to be supported.
This package is compatible with the geographic_info project as well as any other nodes that support sensor_msgs/NavSatFix and/or sensor_msgs/TimeReference.
Due to the dependency on sensor_msgs/TimeReference, this package is only compatible with ROS Fuerte or newer.
No C++ or Python API is provided, only a ROS API.
Sample Usage
To get up and running quickly, you can use the following command to start outputting your GPS data onto ROS topics. This assumes your GPS is outputting GGA NMEA sentences, is connected to /dev/ttyUSB0 and is communicating at 38400 baud.
$ rosrun nmea_gps_driver nmea_gps_driver.py _port:=/dev/ttyUSB0 _baud:=38400
Roadmap
- Add support for additional NMEA sentences beyond GSA, RMC and GGA. Specific requests for support of individual sentences should be filed as enhancement tickets.
- Add sentence synchronization. Currently, there is little or no buffering, which prevents the driver from using multiple types of sentences to generate one cycle of topic outputs.
Nodes
nmea_gps_driver.py
NMEA GPS Driver nodePublished Topics
fix (sensor_msgs/NavSatFix)- GPS position fix reported by the device.
- Velocity output from the GPS device. Only published when the device outputs velocity information. The driver does not calculate the velocity based on only position fixes.
- The timestamp from the GPS device is used as the time_ref.
Parameters
~port (string, default: /dev/ttyUSB0)- The device path
- The baud rate to receive NMEA data.
- The frame_id for the header of the sensor_msgs/NavSatFix and geometry_msgs/TwistStamped output messages. Will be resolved with tf_prefix if defined.
- The value to use as the source in the sensor_msgs/TimeReference.
- 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.
Report a Bug
Use trac to report bugs or request features. [View active tickets]






