When the odometry message's quaternion value is not valid, robot_pose_ekf cannot be initialized with only vision odometry and imu source. Although non valid odometry message will be fixed after a specific time, robot_pose_ekf output cannot fix itself after that. I think there is a need to check odometry message validation before start to activate that source to compute ekf output. The quaternion inputs like x=y=z=w=0 or x=y=z=w=nan produce this situation and the ekf output will also be non valid pose.
When the odometry message's quaternion value is not valid, robot_pose_ekf cannot be initialized with only vision odometry and imu source. Although non valid odometry message will be fixed after a specific time, robot_pose_ekf output cannot fix itself after that. I think there is a need to check odometry message validation before start to activate that source to compute ekf output. The quaternion inputs like x=y=z=w=0 or x=y=z=w=nan produce this situation and the ekf output will also be non valid pose.