At the moment it seems that ros1_bridge odometry only seems to publish linear twist in x and y direction and angular twist in up (most of the time z) direction. It would be nice to have a ros1 odometry publisher that publishes the full odometry information, e.g., for flying robots.
The odometry publisher implementation in isaac sim 2022.2.0
auto& linVel = db.inputs.linearVelocity();
float measuredSpeedFront = pxr::GfDot(pxr::GfVec3d(linVel[0], linVel[1], linVel[2]), mRobotFront) * mUnitScale;
float measuredSpeedSide = pxr::GfDot(pxr::GfVec3d(linVel[0], linVel[1], linVel[2]), mRobotSide) * mUnitScale;
auto& angVel = db.inputs.angularVelocity();
// odometry messages
odomMsg.twist.twist.linear.x = measuredSpeedFront;
odomMsg.twist.twist.linear.y = measuredSpeedSide;
if (mZUp)
{
odomMsg.twist.twist.angular.z = angVel[2]; // Get Z component of angular velocity
}
else
{
odomMsg.twist.twist.angular.y = angVel[1]; // Get Y component of angular velocity
}