Hi,
I am using 2 realsense d435i cameras and a t265 camera on my robot together with an RP Lidar A2 and I am trying to do SLAM with the RTABmap package. However, when I launch the rtabmap launch file there is no map frame that is created. What could be the issue? First, I launch the realsense camera driver launch file: <launch> <arg name="device_type_camera1" default="t265"/> <arg name="device_type_camera2" default="d435i"/> <arg name="serial_no_camera1" default=""/> <arg name="serial_no_camera2" default=""/> <arg name="camera1" default="t265"/> <arg name="camera2" default="d435i"/> <arg name="tf_prefix_camera1" default="$(arg camera1)"/> <arg name="tf_prefix_camera2" default="$(arg camera2)"/> <arg name="initial_reset" default="false"/> <arg name="enable_fisheye" default="false"/> <arg name="color_width" default="640"/> <arg name="color_height" default="480"/> <arg name="depth_width" default="640"/> <arg name="depth_height" default="480"/> <arg name="clip_distance" default="-2"/> <arg name="topic_odom_in" default="odom_in"/> <arg name="calib_odom_file" default=""/> <group ns="$(arg camera1)"> <include file="$(find autonomous_robots)/launch/includes/t265_nodelet.launch.xml"> <arg name="device_type" value="$(arg device_type_camera1)"/> <arg name="serial_no" value="$(arg serial_no_camera1)"/> <arg name="tf_prefix" value="$(arg tf_prefix_camera1)"/> <arg name="initial_reset" value="$(arg initial_reset)"/> <arg name="enable_fisheye1" value="$(arg enable_fisheye)"/> <arg name="enable_fisheye2" value="$(arg enable_fisheye)"/> <arg name="topic_odom_in" value="$(arg topic_odom_in)"/> <arg name="calib_odom_file" value="$(arg calib_odom_file)"/> <arg name="enable_pose" value="true"/> </include> </group> <group ns="$(arg camera2)"> <include file="$(find autonomous_robots)/launch/includes/d435i_nodelet.launch.xml"> <arg name="device_type" value="$(arg device_type_camera2)"/> <arg name="serial_no" value="$(arg serial_no_camera2)"/> <arg name="tf_prefix" value="$(arg tf_prefix_camera2)"/> <arg name="initial_reset" value="$(arg initial_reset)"/> <arg name="align_depth" value="true"/> <arg name="filters" value="pointcloud"/> <arg name="color_width" value="$(arg color_width)"/> <arg name="color_height" value="$(arg color_height)"/> <arg name="depth_width" value="$(arg depth_width)"/> <arg name="depth_height" value="$(arg depth_height)"/> <arg name="clip_distance" value="$(arg clip_distance)"/> </include> </group> <include file="$(find autonomous_robots)/launch/handheld_mapping_setup_multi_camera.launch"> </include> <node pkg="tf" type="static_transform_publisher" name="odom_to_t265_odom_frame" args="0.395 0 0.238 0 0 0 /odom /t265_odom_frame 100"/> <node pkg="autonomous_robots" name="t265_odom_converter" type="t265_odom_converter.py" output="screen"/> <node pkg="tf" type="static_transform_publisher" name="base_footprint_to_base_link" args="0 0 0.430 0 0 0 /base_footprint /base_link 100"/> <node pkg="tf" type="static_transform_publisher" name="t265_to_d435i_2" args="-0.02407 -0.05883 0.32 -0.5934 0 0 /t265_link /d435i_2_link 100"/> <node pkg="tf" type="static_transform_publisher" name="t265_to_d435i_1" args="-0.02407 0.04133 0.32 0.5934 0 3.14159 /t265_link /d435i_link 100"/> <node pkg="tf" type="static_transform_publisher" name="t265_to_lidar" args="-0.114 0 0.102 3.14159 0 0 /t265_link /laser 100"/> </launch> Then, I launch the rtabmap launch file following the configuration on http://wiki.ros.org/rtabmap_ros/Tutorials/HandHeldMapping : <include file ="$(find rplidar_ros)/launch/rplidar.launch"/> <group ns="d435i"> <node pkg="nodelet" type="nodelet" name="nodelet_manager1" args="manager"/> <node pkg="nodelet" type="nodelet" name="rgbd_sync1" args="load rtabmap_ros/rgbd_sync nodelet_manager1"> <remap from="rgb/image" to="color/image_raw"/> <remap from="depth/image" to="aligned_depth_to_color/image_raw"/> <remap from="rgb/camera_info" to="color/camera_info"/> </node> </group> <group ns="d435i_2"> <node pkg="nodelet" type="nodelet" name="nodelet_manager2" args="manager"/> <node pkg="nodelet" type="nodelet" name="rgbd_sync2" args="load rtabmap_ros/rgbd_sync nodelet_manager2"> <remap from="rgb/image" to="color/image_raw"/> <remap from="depth/image" to="aligned_depth_to_color/image_raw"/> <remap from="rgb/camera_info" to="color/camera_info"/> </node> </group> <arg name="stereo" default="false"/> <arg if="$(arg stereo)" name="depth" default="false"/> <arg unless="$(arg stereo)" name="depth" default="true"/> <arg name="rtabmapviz" default="false" /> <arg name="rviz" default="false" /> <arg name="localization" default="false"/> <arg name="use_sim_time" default="false"/> <arg name="cfg" default="" /> <arg name="gui_cfg" default="~/.ros/rtabmap_gui.ini" /> <arg name="rviz_cfg" default="$(find rtabmap_ros)/launch/config/rgbd.rviz" /> <arg name="frame_id" default="base_footprint"/> <arg name="odom_frame_id" default="odom"/> <arg name="map_frame_id" default="map"/> <arg name="ground_truth_frame_id" default=""/> <arg name="ground_truth_base_frame_id" default=""/> <arg name="namespace" default="rtabmap"/> <arg name="database_path" default="~/.ros/rtabmap.db"/> <arg name="queue_size" default="10"/> <arg name="wait_for_transform" default="0.2"/> <arg name="args" default=""/> <arg name="rtabmap_args" default="$(arg args)"/> <arg name="launch_prefix" default=""/> <arg name="output" default="screen"/> <arg name="publish_tf_map" default="false"/> <arg if="$(arg stereo)" name="approx_sync" default="false"/> <arg unless="$(arg stereo)" name="approx_sync" default="$(arg depth)"/> <arg name="rgb_topic" default="/d435i/color/image_raw" /> <arg name="depth_topic" default="/d435i/aligned_depth_to_color/image_raw" /> <arg name="camera_info_topic" default="/d435i/color/camera_info" /> <arg name="depth_camera_info_topic" default="$(arg camera_info_topic)" /> <arg name="stereo_namespace" default="/stereo_camera"/> <arg name="left_image_topic" default="$(arg stereo_namespace)/left/image_rect_color" /> <arg name="right_image_topic" default="$(arg stereo_namespace)/right/image_rect" /> <arg name="left_camera_info_topic" default="$(arg stereo_namespace)/left/camera_info" /> <arg name="right_camera_info_topic" default="$(arg stereo_namespace)/right/camera_info" /> <arg name="rgbd_sync" default="false"/> <arg name="approx_rgbd_sync" default="false"/> <arg name="subscribe_rgbd" default="$(arg rgbd_sync)"/> <arg name="rgbd_topic" default="rgbd_image" /> <arg name="depth_scale" default="1.0" /> <arg name="rgbd_depth_scale" default="$(arg depth_scale)" /> <arg name="rgbd_decimation" default="1" /> <arg name="compressed" default="false"/> <arg name="rgb_image_transport" default="compressed"/> <arg name="depth_image_transport" default="compressedDepth"/> <arg name="subscribe_scan" default="true"/> <arg name="scan_topic" default="/scan"/> <arg name="subscribe_scan_cloud" default="false"/> <arg name="scan_cloud_topic" default="/scan_cloud"/> <arg name="subscribe_scan_descriptor" default="false"/> <arg name="scan_descriptor_topic" default="/scan_descriptor"/> <arg name="scan_cloud_max_points" default="0"/> <arg name="scan_cloud_filtered" default="false"/> <arg name="visual_odometry" default="false"/> <arg name="icp_odometry" default="false"/> <arg name="odom_topic" default="/odom"/> <arg name="vo_frame_id" default="$(arg odom_topic)"/> <arg name="publish_tf_odom" default="false"/> <arg name="odom_tf_angular_variance" default="0.0003"/> <arg name="odom_tf_linear_variance" default="0.0001"/> <arg name="odom_args" default=""/> <arg name="odom_sensor_sync" default="false"/> <arg name="odom_guess_frame_id" default=""/> <arg name="odom_guess_min_translation" default="0"/> <arg name="odom_guess_min_rotation" default="0"/> <arg name="odom_max_rate" default="0"/> <arg name="odom_expected_rate" default="0"/> <arg name="imu_topic" default="/imu/data"/> <arg name="wait_imu_to_init" default="false"/> <arg name="scan_cloud_assembling" default="false"/> <arg name="scan_cloud_assembling_time" default="1"/> <arg name="scan_cloud_assembling_fixed_frame" default=""/> <arg name="scan_cloud_assembling_voxel_size" default="0.05"/> <arg name="subscribe_user_data" default="false"/> <arg name="user_data_topic" default="/user_data"/> <arg name="user_data_async_topic" default="/user_data_async" /> <arg name="gps_topic" default="/gps/fix" /> <arg name="tag_topic" default="/tag_detections" /> <arg name="tag_linear_variance" default="0.0001" /> <arg name="tag_angular_variance" default="9999" /> <arg if="$(arg compressed)" name="rgb_topic_relay" default="$(arg rgb_topic)_relay"/> <arg unless="$(arg compressed)" name="rgb_topic_relay" default="$(arg rgb_topic)"/> <arg if="$(arg compressed)" name="depth_topic_relay" default="$(arg depth_topic)_relay"/> <arg unless="$(arg compressed)" name="depth_topic_relay" default="$(arg depth_topic)"/> <arg if="$(arg compressed)" name="left_image_topic_relay" default="$(arg left_image_topic)_relay"/> <arg unless="$(arg compressed)" name="left_image_topic_relay" default="$(arg left_image_topic)"/> <arg if="$(arg compressed)" name="right_image_topic_relay" default="$(arg right_image_topic)_relay"/> <arg unless="$(arg compressed)" name="right_image_topic_relay" default="$(arg right_image_topic)"/> <arg if="$(arg rgbd_sync)" name="rgbd_topic_relay" default="$(arg rgbd_topic)"/> <arg unless="$(arg rgbd_sync)" name="rgbd_topic_relay" default="$(arg rgbd_topic)_relay"/> <group ns="$(arg namespace)"> <group if="$(arg depth)"> <group unless="$(arg subscribe_rgbd)"> <node if="$(arg compressed)" name="republish_rgb" type="republish" pkg="image_transport" args="$(arg rgb_image_transport) in:=$(arg rgb_topic) raw out:=$(arg rgb_topic_relay)" /> <node if="$(arg compressed)" name="republish_depth" type="republish" pkg="image_transport" args="$(arg depth_image_transport) in:=$(arg depth_topic) raw out:=$(arg depth_topic_relay)" /> </group> <group if="$(arg rgbd_sync)"> <node if="$(arg compressed)" name="republish_rgb" type="republish" pkg="image_transport" args="$(arg rgb_image_transport) in:=$(arg rgb_topic) raw out:=$(arg rgb_topic_relay)" /> <node if="$(arg compressed)" name="republish_depth" type="republish" pkg="image_transport" args="$(arg depth_image_transport) in:=$(arg depth_topic) raw out:=$(arg depth_topic_relay)" /> <node pkg="nodelet" type="nodelet" name="rgbd_sync" args="standalone rtabmap_ros/rgbd_sync" output="$(arg output)"> <remap from="rgb/image" to="$(arg rgb_topic_relay)"/> <remap from="depth/image" to="$(arg depth_topic_relay)"/> <remap from="rgb/camera_info" to="$(arg camera_info_topic)"/> <remap from="rgbd_image" to="$(arg rgbd_topic_relay)"/> </node> </group> </group> <group if="$(arg stereo)"> <group unless="$(arg subscribe_rgbd)"> <node if="$(arg compressed)" name="republish_left" type="republish" pkg="image_transport" args="$(arg rgb_image_transport) in:=$(arg left_image_topic) raw out:=$(arg left_image_topic_relay)" /> <node if="$(arg compressed)" name="republish_right" type="republish" pkg="image_transport" args="$(arg rgb_image_transport) in:=$(arg right_image_topic) raw out:=$(arg right_image_topic_relay)" /> </group> <group if="$(arg rgbd_sync)"> <node if="$(arg compressed)" name="republish_left" type="republish" pkg="image_transport" args="$(arg rgb_image_transport) in:=$(arg left_image_topic) raw out:=$(arg left_image_topic_relay)" /> <node if="$(arg compressed)" name="republish_right" type="republish" pkg="image_transport" args="$(arg rgb_image_transport) in:=$(arg right_image_topic) raw out:=$(arg right_image_topic_relay)" /> <node pkg="nodelet" type="nodelet" name="rgbd_sync" args="standalone rtabmap_ros/stereo_sync" output="$(arg output)"> <remap from="left/image_rect" to="$(arg left_image_topic_relay)"/> <remap from="right/image_rect" to="$(arg right_image_topic_relay)"/> <remap from="left/camera_info" to="$(arg left_camera_info_topic)"/> <remap from="right/camera_info" to="$(arg right_camera_info_topic)"/> <remap from="rgbd_image" to="$(arg rgbd_topic_relay)"/> </node> </group> </group> <group unless="$(arg rgbd_sync)"> <group if="$(arg subscribe_rgbd)"> <node name="republish_rgbd_image" type="rgbd_relay" pkg="rtabmap_ros"> <remap if="$(arg compressed)" from="rgbd_image" to="$(arg rgbd_topic)/compressed"/> <remap if="$(arg compressed)" from="$(arg rgbd_topic)/compressed_relay" to="$(arg rgbd_topic_relay)"/> <remap unless="$(arg compressed)" from="rgbd_image" to="$(arg rgbd_topic)"/> </node> </group> </group> <group unless="$(arg icp_odometry)"> <group if="$(arg visual_odometry)"> <node unless="$(arg stereo)" pkg="rtabmap_ros" type="rgbd_odometry" name="rgbd_odometry" output="$(arg output)" args="$(arg rtabmap_args) $(arg odom_args)" launch-prefix="$(arg launch_prefix)"> <remap from="rgb/image" to="$(arg rgb_topic_relay)"/> <remap from="depth/image" to="$(arg depth_topic_relay)"/> <remap from="rgb/camera_info" to="$(arg camera_info_topic)"/> <remap from="rgbd_image" to="$(arg rgbd_topic_relay)"/> <remap from="odom" to="$(arg odom_topic)"/> <remap from="imu" to="$(arg imu_topic)"/> </node> <node if="$(arg stereo)" pkg="rtabmap_ros" type="stereo_odometry" name="stereo_odometry" output="$(arg output)" args="$(arg rtabmap_args) $(arg odom_args)" launch-prefix="$(arg launch_prefix)"> <remap from="left/image_rect" to="$(arg left_image_topic_relay)"/> <remap from="right/image_rect" to="$(arg right_image_topic_relay)"/> <remap from="left/camera_info" to="$(arg left_camera_info_topic)"/> <remap from="right/camera_info" to="$(arg right_camera_info_topic)"/> <remap from="rgbd_image" to="$(arg rgbd_topic_relay)"/> <remap from="odom" to="$(arg odom_topic)"/> <remap from="imu" to="$(arg imu_topic)"/> </node> </group> </group> <node if="$(arg icp_odometry)" pkg="rtabmap_ros" type="icp_odometry" name="icp_odometry" output="$(arg output)" args="$(arg rtabmap_args) $(arg odom_args)" launch-prefix="$(arg launch_prefix)"> <remap from="scan" to="$(arg scan_topic)"/> <remap from="scan_cloud" to="$(arg scan_cloud_topic)"/> <remap from="odom" to="$(arg odom_topic)"/> <remap from="imu" to="$(arg imu_topic)"/> </node> <node if="$(arg scan_cloud_assembling)" pkg="rtabmap_ros" type="point_cloud_assembler" name="point_cloud_assembler" output="screen"> <remap if="$(arg scan_cloud_filtered)" from="cloud" to="odom_filtered_input_scan"/> <remap unless="$(arg scan_cloud_filtered)" from="cloud" to="$(arg scan_cloud_topic)"/> <remap from="odom" to="$(arg odom_topic)"/> </node> <node name="rtabmap" pkg="rtabmap_ros" type="rtabmap" output="$(arg output)" args="$(arg rtabmap_args)" launch-prefix="$(arg launch_prefix)"> <remap from="rgbd_image0" to="/d435i/rgbd_image"/> <remap from="rgbd_image1" to="/d435i_2/rgbd_image"/> <remap from="scan" to="$(arg scan_topic)"/> <remap if="$(eval scan_cloud_assembling)" from="scan_cloud" to="assembled_cloud"/> <remap if="$(eval scan_cloud_filtered and not scan_cloud_assembling)" from="scan_cloud" to="odom_filtered_input_scan"/> <remap if="$(eval not scan_cloud_filtered and not scan_cloud_assembling)" from="scan_cloud" to="$(arg scan_cloud_topic)"/> <remap from="scan_descriptor" to="$(arg scan_descriptor_topic)"/> <remap from="user_data" to="$(arg user_data_topic)"/> <remap from="user_data_async" to="$(arg user_data_async_topic)"/> <remap from="gps/fix" to="$(arg gps_topic)"/> <remap from="tag_detections" to="$(arg tag_topic)"/> <remap from="odom" to="$(arg odom_topic)"/> <remap from="imu" to="$(arg imu_topic)"/> <remap from="grid_map" to="/map"/> </node> <node if="$(arg rtabmapviz)" pkg="rtabmap_ros" type="rtabmapviz" name="rtabmapviz" args="-d $(arg gui_cfg)" output="$(arg output)" launch-prefix="$(arg launch_prefix)"> <remap from="rgb/image" to="$(arg rgb_topic_relay)"/> <remap from="depth/image" to="$(arg depth_topic_relay)"/> <remap from="rgb/camera_info" to="$(arg camera_info_topic)"/> <remap from="rgbd_image" to="$(arg rgbd_topic_relay)"/> <remap from="left/image_rect" to="$(arg left_image_topic_relay)"/> <remap from="right/image_rect" to="$(arg right_image_topic_relay)"/> <remap from="left/camera_info" to="$(arg left_camera_info_topic)"/> <remap from="right/camera_info" to="$(arg right_camera_info_topic)"/> <remap from="scan" to="$(arg scan_topic)"/> <remap if="$(arg scan_cloud_filtered)" from="scan_cloud" to="odom_filtered_input_scan"/> <remap unless="$(arg scan_cloud_filtered)" from="scan_cloud" to="$(arg scan_cloud_topic)"/> <remap from="scan_descriptor" to="$(arg scan_descriptor_topic)"/> <remap from="odom" to="$(arg odom_topic)"/> </node> </group> <node if="$(arg rviz)" pkg="rviz" type="rviz" name="rviz" args="-d $(arg rviz_cfg)"/> <node if="$(arg rviz)" pkg="nodelet" type="nodelet" name="points_xyzrgb" args="standalone rtabmap_ros/point_cloud_xyzrgb" output="$(arg output)"> <remap if="$(arg stereo)" from="left/image" to="$(arg left_image_topic_relay)"/> <remap if="$(arg stereo)" from="right/image" to="$(arg right_image_topic_relay)"/> <remap if="$(arg stereo)" from="left/camera_info" to="$(arg left_camera_info_topic)"/> <remap if="$(arg stereo)" from="right/camera_info" to="$(arg right_camera_info_topic)"/> <remap unless="$(arg subscribe_rgbd)" from="rgb/image" to="$(arg rgb_topic_relay)"/> <remap unless="$(arg subscribe_rgbd)" from="depth/image" to="$(arg depth_topic_relay)"/> <remap unless="$(arg subscribe_rgbd)" from="rgb/camera_info" to="$(arg camera_info_topic)"/> <remap from="rgbd_image" to="$(arg rgbd_topic_relay)"/> <remap from="cloud" to="voxel_cloud" /> </node> </launch> Would appreciate the help of anyone who knows what is the issue. Thank you. |
Free forum by Nabble | Edit this page |