Skip to content

Frame jumps in Orbbec Gemini 336L camera #206

@Krishaka

Description

@Krishaka

Using an Orbbec Gemini 336L camera, even though it wasn't mentioned in the standard guide. I got the camera to generate a point cloud by tweaking the RealSense camera launch file. But the pose is normal for some time initially and then shoots off / jumps to some random pose that is definitely incorrect. It was also discussed in Issue Pose jumps after initialization #183 . I am unsure about the parameters given below and how to obtain them.

  • Gyro noise density
  • Gyro random walk
  • Accel noise density
  • Accel random walk

They were not mentioned in the datasheet. Is there any resource that might be helpful to me ? Attaching the image and launch file below

Image

``
`import launch
from launch_ros.actions import ComposableNodeContainer
from launch_ros.descriptions import ComposableNode

def generate_launch_description():
"""Launch Isaac ROS Visual SLAM for Orbbec Gemini with existing /camera/* topics."""

visual_slam_node = ComposableNode(
    name='visual_slam_node',
    package='isaac_ros_visual_slam',
    plugin='nvidia::isaac_ros::visual_slam::VisualSlamNode',
    parameters=[{
        # Core behavior
        'enable_image_denoising': False,
        'rectified_images': False,              # using image_raw topics
        'enable_imu_fusion': True,
        'enable_localization_n_mapping': True,
        'enable_ground_constraint_in_odometry': False,
        'enable_ground_constraint_in_slam': False,

        'gyro_noise_density': 2.6e-4,
        'gyro_random_walk': 2.0e-5,
        'accel_noise_density': 1.2e-3,
    'accel_random_walk': 3.0e-3,
        'calibration_frequency': 200.0,
        'image_jitter_threshold_ms': 100.0,

        'enable_ground_constraint_in_slam': True,
        'enable_ground_constraint_in_odometry': True,
        # Frames – MUST match your TF tree (from view_frames)
        # TF tree you showed:
        #   camera_link
        #     └─ camera_left_ir_frame
        #          ├─ camera_left_ir_optical_frame
        #          ├─ camera_right_ir_frame → camera_right_ir_optical_frame
        #          ├─ camera_gyro_frame     → camera_gyro_optical_frame
        #          └─ camera_accel_frame    → camera_accel_optical_frame
        'map_frame': 'map',
        'odom_frame': 'odom',
        'base_frame': 'camera_link',
        'imu_frame': 'camera_gyro_optical_frame',
        'camera_optical_frames': [
            'camera_left_ir_optical_frame',
            'camera_right_ir_optical_frame',
        ],

        # SLAM visualization / misc
        'enable_slam_visualization': True,
        'enable_landmarks_view': True,
        'enable_observations_view': True,

        # Stereo config
        'num_cameras': 2,
        'camera_optical_frames': [
            'camera_left_ir_optical_frame',
            'camera_right_ir_optical_frame',
        ],

        #tf
        'publish_map_to_odom_tf': True,
        'publish_odom_to_base_tf': True,
        'invert_map_to_odom_tf': False,
        'invert_odom_to_base_tf': False,

    }],
    remappings=[
        # Left camera
        ('visual_slam/image_0', '/camera/left_ir/image_raw'),
        ('visual_slam/camera_info_0', '/camera/left_ir/camera_info'),

        # Right camera
        ('visual_slam/image_1', '/camera/right_ir/image_raw'),
        ('visual_slam/camera_info_1', '/camera/right_ir/camera_info'),

        # IMU
        ('visual_slam/imu', '/camera/gyro/sample'),
    ],
)

visual_slam_launch_container = ComposableNodeContainer(
    name='visual_slam_launch_container',
    namespace='',
    package='rclcpp_components',
    executable='component_container',
    composable_node_descriptions=[visual_slam_node],
    output='screen',
)

return launch.LaunchDescription([visual_slam_launch_container])`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions