A GPS and IMU data parser and publisher ROS2 package. Takes in NMEA messages from a specified network port using UDP packets, then parses them and outputs the parsed GPS and IMU data in the sensor_messages Imu and NavSatFix formats as ROS2 topics.
Ubuntu & ROS2
GPS that outputs NMEA messages in the PIMU and GGA formats
Above messages sent as UDP packets to known network port
Ubuntu 22.04 ARM64
ROS2 Humble
Nvidia Jetson AGX Orin
Inertial Sense uINS
ISRoverNetworkNMEA
Create a ROS2 Workspace
mkdir -p gpsWS/src
cd gpsWS/srcClone the respository in the src folder
git clone https://github.com/ChesterMK7/is_gps_publisher_ros2Make sure to configure the network port and frame id you are using
nano is_gps_publisher_ros2/src/gps_parser.hppSpecifically modify these lines in gps_parser.hpp
#define GPS_FRAME "gps_link" // GPS frame name
#define IMU_FRAME "imu_link" // IMU frame name
#define PORT 25565 // Port used
#define MAXLINE 256 // Maximum line lengthReturn to the workspace directory and build using colcon
cd ..
source /opt/ros/<ros2-version>/setup.bash
colcon buildSource the workspace
source install/setup.bashRun the parser/publisher node
ros2 run is_gps_publisher_ros2 gps_output_publisherOpen a new terminal tab/window
IMU
source /opt/ros/<ros2-version>/setup.bash
ros2 topic echo /imuGPS
source /opt/ros/<ros2-version>/setup.bash
ros2 topic echo /nav_sat_fix