zed example: added use_zed_odometry option

This commit is contained in:
matlabbe
2024-09-04 19:38:05 -07:00
parent c956e3780f
commit dac04faef0
+18 -4
View File
@@ -9,10 +9,12 @@ import os
from ament_index_python.packages import get_package_share_directory from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription from launch import LaunchDescription
from launch.actions import DeclareLaunchArgument
from launch_ros.actions import Node from launch_ros.actions import Node
from launch.actions import IncludeLaunchDescription from launch.actions import IncludeLaunchDescription
from launch.substitutions import LaunchConfiguration from launch.substitutions import LaunchConfiguration
from launch.launch_description_sources import PythonLaunchDescriptionSource from launch.launch_description_sources import PythonLaunchDescriptionSource
from launch.conditions import UnlessCondition
import tempfile import tempfile
@@ -26,25 +28,36 @@ def generate_launch_description():
" general:\n"+ " general:\n"+
" grab_resolution: 'VGA'") " grab_resolution: 'VGA'")
camera_model = LaunchConfiguration('camera_model'), camera_model = LaunchConfiguration('camera_model')
use_zed_odometry = LaunchConfiguration('use_zed_odometry')
parameters=[{'frame_id':'zed_camera_link', parameters=[{'frame_id':'zed_camera_link',
'subscribe_rgbd':True, 'subscribe_rgbd':True,
'subscribe_odom_info':True, 'subscribe_odom_info': not use_zed_odometry,
'approx_sync':False, 'approx_sync':False,
'wait_imu_to_init':True}] 'wait_imu_to_init':True}]
remappings=[('imu', '/zed/zed_node/imu/data')] remappings=[('imu', '/zed/zed_node/imu/data')]
if use_zed_odometry:
remappings.append(('odom', '/zed/zed_node/odom'))
return LaunchDescription([ return LaunchDescription([
# Launch arguments
DeclareLaunchArgument(
'use_zed_odometry', default_value='false',
description='Use zed\'s computed odometry instead of using rtabmap\'s odometry.'),
# Launch camera driver # Launch camera driver
IncludeLaunchDescription( IncludeLaunchDescription(
PythonLaunchDescriptionSource([os.path.join( PythonLaunchDescriptionSource([os.path.join(
get_package_share_directory('zed_wrapper'), 'launch'), get_package_share_directory('zed_wrapper'), 'launch'),
'/zed_camera.launch.py']), '/zed_camera.launch.py']),
launch_arguments={'camera_model': camera_model, launch_arguments={'camera_model': camera_model,
'ros_params_override_path': zed_override_file.name}.items(), 'ros_params_override_path': zed_override_file.name,
'publish_tf': use_zed_odometry,
'publish_map_tf': 'false'}.items(),
), ),
# Sync right/depth/camera_info together # Sync right/depth/camera_info together
@@ -58,8 +71,9 @@ def generate_launch_description():
# Visual odometry # Visual odometry
Node( Node(
package='rtabmap_odom', executable='rgbd_odometry', output='screen', package='rtabmap_odom', executable='rgbd_odometry', output='screen',
condition=UnlessCondition(use_zed_odometry),
parameters=parameters, parameters=parameters,
remappings=remappings), remappings=remappings,),
# VSLAM # VSLAM
Node( Node(