> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.stereolabs.com/docs/integrations/ros-2/geo-tracking/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.stereolabs.com/_mcp/server. # Using Geo Tracking with ROS 2 In this tutorial, you will learn how to leverage georeferential information from a GNSS sensor to improve the overall outdoor performance of the [Positional Tracking](/docs/integrations/ros-2/positional-tracking/) module. The ZED ROS 2 Wrapper is compatible with any GNSS sensor provided with a ROS 2 driver that publishes Latitude and Longitude data with a message of type `sensor_msgs::msg::NavSatFix` on the topic defined by the parameter `gnss_fusion.gnss_fix_topic` (`/fix` in the default `common_stereo.yaml`). ## Enable GNSS Fusion GNSS Fusion can be started automatically when the ZED Wrapper node starts by setting the parameter `gnss_fusion.gnss_fusion_enabled` to `true` in the file `common_stereo.yaml`. When the Geo Tracking module is active, the ZED ROS 2 Wrapper nodes wait for the first valid GNSS Datum on the subscribed topic before starting the processing: ```bash [INFO] [1681308875.997297634] [zed2i.zed_node]: *** Positional Tracking with GNSS fusion *** [INFO] [1681308875.997340244] [zed2i.zed_node]: * Waiting for the first valid GNSS fix... ``` ## GNSS Fusion results When the Geo Tracking module is enabled, the GNSS datum is automatically fused with the Positional Tracking information to provide a precise camera pose in the `map` frame on the topic `~/pose`. The messages on the topic `~/pose/filtered` contain the GNSS-fused odometry information, to be used with external Kalman Filters. The ZED ROS 2 Wrapper also publishes the pose of the robot in Earth coordinates on the topic `~/geo_pose` of type `geographic_msgs::msg::GeoPoseStamped`.