Hi,
I’m experiencing Z-axis drift in the odom frame with Isaac ROS Visual SLAM despite having ground constraints enabled.
**Setup:**
- Isaac ROS Visual SLAM version: [V.3.2]
- Camera: RealSense D435i
**Current Configuration:**
visual_slam_node:
ros__parameters:
enable_ground_constraint_in_odometry: true
enable_ground_constraint_in_slam: true
enable_imu_fusion: true
num_cameras: 2
base_frame: “camera0_link”
odom_frame: “odom”
map_frame: “map”
imu_frame: “camera0_gyro_optical_frame”
**Issue:**
The odom frame is drifting on the Z-axis even with `enable_ground_constraint_in_slam: true` and `enable_ground_constraint_in_odometry`.
1.Are there additional parameters that affect ground constraint effectiveness?
2. Are there known limitations with ground constraints on stereo camera configurations?
5. Is there any Z-axis optimization happening internally that could be causing this drift?
**Available Topics:**
ros2 topic list
/behavior_server/transition_event
/behavior_tree_log
/bond
/bt_navigator/transition_event
/camera0/color/camera_info
/camera0/color/image_raw
/camera0/depth/camera_info
/camera0/imu
/camera0/infra1/camera_info
/camera0/infra2/camera_info
/camera0/realsense_splitter_node/output/depth
/camera0/realsense_splitter_node/output/depth/nitros
/camera0/realsense_splitter_node/output/infra_1
/camera0/realsense_splitter_node/output/infra_1/nitros
/camera0/realsense_splitter_node/output/infra_2
/camera0/realsense_splitter_node/output/infra_2/nitros
/clicked_point
/clock
/cmd_vel
/cmd_vel_nav
/cmd_vel_teleop
/controller_server/transition_event
/diagnostics
/events/read_split
/global_costmap/costmap
/global_costmap/costmap_raw
/global_costmap/costmap_updates
/global_costmap/footprint
/global_costmap/global_costmap/transition_event
/global_costmap/published_footprint
/goal_pose
/initialpose
/local_costmap/costmap
/local_costmap/costmap_raw
/local_costmap/costmap_updates
/local_costmap/footprint
/local_costmap/local_costmap/transition_event
/local_costmap/published_footprint
/nvblox_node/back_projected_depth/camera0_depth_optical_frame
/nvblox_node/color_layer
/nvblox_node/color_layer_marker
/nvblox_node/combined_occupancy_grid
/nvblox_node/dynamic_occupancy_grid
/nvblox_node/esdf_slice_bounds
/nvblox_node/mesh
/nvblox_node/pessimistic_static_esdf_pointcloud
/nvblox_node/pessimistic_static_map_slice
/nvblox_node/shapes_to_clear
/nvblox_node/static_esdf_pointcloud
/nvblox_node/static_map_slice
/nvblox_node/static_occupancy_grid
/nvblox_node/static_occupancy_grid_updates
/nvblox_node/tsdf_layer
/nvblox_node/tsdf_layer_marker
/nvblox_node/workspace_bounds
/odom
/parameter_events
/plan
/plan_smoothed
/planner_server/transition_event
/pose
/preempt_teleop
/rosout
/rune_visualization_marker
/rune_visualization_marker_array
/smoother_server/transition_event
/speed_limit
/tf
/tf_static
/trajectories
/transform
/transformed_global_plan
/unsmoothed_plan
/velocity_smoother/transition_event
/visual_slam/initial_pose
/visual_slam/status
/visual_slam/tracking/odometry
/visual_slam/tracking/slam_path
/visual_slam/tracking/vo_path
/visual_slam/tracking/vo_pose
/visual_slam/tracking/vo_pose_covariance
/visual_slam/trigger_hint
/visual_slam/vis/gravity
/visual_slam/vis/gravity_array
/visual_slam/vis/landmarks_cloud
/visual_slam/vis/localizer
/visual_slam/vis/localizer_loop_closure_cloud
/visual_slam/vis/localizer_map_cloud
/visual_slam/vis/localizer_observations_cloud
/visual_slam/vis/loop_closure_cloud
/visual_slam/vis/observations_cloud
/visual_slam/vis/pose_graph_edges
/visual_slam/vis/pose_graph_edges2
/visual_slam/vis/pose_graph_nodes
/visual_slam/vis/slam_odometry
/visual_slam/vis/velocity
/waypoint_follower/transition_event