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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions