Adding Geo Tracking in ROS 2
The overall outdoor performance of the Positional Tracking module can be improved by using Georeferential information from a GNSS sensor.
The ZED ROS 2 Wrapper is compatible with each type of GNSS sensor provided with a ROS 2 driver that publishes Latitude and Longitude datum with a message of type sensor_msgs::msg::NavSatFix
on the topic defined by the parameter gnss_fusion.gnss_fix_topic
(by default /gps/fix
).
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.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:
[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 map
frame on the topics ~/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 publishes also the pose of the robot in Earth coordinates on the topic ~/geo_pose/
of type geographic_msgs::msg::GeoPoseStamped
.