Email: <yarongluo AT SPAMFREE whu DOT edu DOT cn>

package summary HPGNSS is a package that provide high precision GNSS positioning for robot.

*Maintainer status :maintained

*Maintainer :Yarong Luo<yarongluo AT SPAMFREE whu DOT edu DOT cn>

*Author:Luo Yarong,



what does HPGNSS do ?

HPGNSS is mainly to solve robot's self-positioning problem in the complicate environment,this module can integrate the high-precision positioning program package into ROS,and add the GNSS coordinate frame to the ROS coordinate system.By high-precision GNSS positioning,the robot's own odometer is calibrated and the transformation between the coordinate frames is realized.

External Documentation

Hardware Requirements



We create three nodes for GNSS positiong module:wide area correction number data receiving node(RecvClient4ROS)、serial read node(Gnss_meas)、the wide area high precision positioning algorithm auxiliary RTK node(RTK_server).


RecvClient4ROS has a TCP client which is responsible for connecting the wide area broadcast data server,and receiving precision satellite orbit、precision satellite clock error, and the number of ionospheric corrections.Then the data is parsed by the data parsing module to get the data format that meets the ROS requirements and is published on the /correctNum topic.


At the bottom, the satellite data received by the GNSS positioning chip will be transmitted through the serial port. The Gnss_meas node will read the serial data, analyze the serial data read by its own data analysis module and encapsulate the ROS message format, and publish the message to /gnssmeasn topic.


RTK_server node subscribes the /correctNum topic,once message is published,RKT_server will call the corresponding callback function to perform the relevant operation. At the same time ,RTK_server subscribes the /gnssmeas topic,wide high precision algorithm will perform after it receives two topics,and calculate the current high precision positioning result in real-time,finally the positioning result is released to the /latlon topic.


GNSS_transform node subscribes the /latlon topic and gets the high-precision latitude and longitude information, and releases the positioning information after it is transformed to UTM coordinate.


OOdom_publisher node integrates GNSS module with odometry module, which is used to correct the current track estimation position and reduce the cumulative error of the track calculation.


Co_location node subscribes /scan topic、/UTM topic geometry_msgs/Pose topic and nav_mags/OccupancyGrid topic.The coordinate transform from map to odom is conducted by Co_location node,it is through the AMCL and GNSS collaborative positioning to obtain the positioning results, and through the positioning results calculating the conversion relationship between map coordinates and odom coordinates ,finally the relationship is released.


Wiki: Yarong Luo (last edited 2017-10-18 01:01:47 by Yarong Luo)