From experimental data, it appears that the yaw /zed/zed_node/imu/data orientation is initialized to the initial yaw (so it always starts at zero) – regardless of the absolute heading of the zed.
The documentation (see ROS 2 - ZED Node - Stereolabs) says " * ~/imu/data
: Accelerometer, gyroscope, and orientation data in Earth frame."
My (perhaps incorrect) interpretation of “Earth frame” (see REP 103 -- Standard Units of Measure and Coordinate Conventions (ROS.org)) let me to expect that the yaw orientation would actually be absolute (eg radians CCW from east), for example by fusing magnetometer heading.
A recent question (Combining magnetometer and IMU for better absolute heading estimation) implies that magnetometer heading isn’t fused into the imu orientation… but I wanted to double-check!
Zooming out, I’m trying to figure out why GNSS fusion doesn’t seem to be working for me. Even after driving around a bunch, using the fromLL service gives incorrectly results. Perhaps related, when I turn on gnss_debug, I see “Good GNSS localization:” messages, but the “Heading:” line is always zero… which is why I’m trying to double-check my assumptions about heading.
Thanks!