2018-07-12 16:35:19 -04:00
|
|
|
<launch>
|
|
|
|
|
|
2018-08-14 13:01:07 -04:00
|
|
|
<!--
|
|
|
|
|
Examples:
|
|
|
|
|
F2M (default VO):
|
|
|
|
|
$ roslaunch rtabmap_ros euroc_datasets.launch
|
|
|
|
|
$ rosbag play -.-clock V1_01_easy.bag
|
|
|
|
|
|
|
|
|
|
For MH sequences, we should set MH_seq to true because the ground truth source is different.
|
|
|
|
|
$ roslaunch rtabmap_ros euroc_datasets.launch MH_seq:=true
|
|
|
|
|
$ rosbag play -.-clock MH_01_easy.bag
|
|
|
|
|
|
|
|
|
|
MSCKF (VIO):
|
|
|
|
|
$ roslaunch rtabmap_ros euroc_datasets.launch args:="-d RGBD/CreateOccupancyGrid false Odom/Strategy 8"
|
|
|
|
|
$ rosbag play -.-clock V1_01_easy.bag
|
|
|
|
|
|
|
|
|
|
We need to ignore the first 24 seconds for correct VIO initialization (drone should not move).
|
|
|
|
|
$ roslaunch rtabmap_ros euroc_datasets.launch args:="-d RGBD/CreateOccupancyGrid false Odom/Strategy 8" MH_seq:=true
|
|
|
|
|
$ rosbag play -.-clock -s 24 MH_01_easy.bag
|
2019-03-18 20:47:13 -04:00
|
|
|
|
2019-03-20 22:12:30 -04:00
|
|
|
OKVIS (VIO):
|
|
|
|
|
$ roslaunch rtabmap_ros euroc_datasets.launch args:="-d RGBD/CreateOccupancyGrid false Odom/Strategy 6 OdomOKVIS/ConfigPath ~/okvis/config/config_fpga_p2_euroc.yaml" MH_seq:=true raw_images_for_odom:=true
|
|
|
|
|
$ rosbag play -.-clock MH_01_easy.bag
|
|
|
|
|
|
2019-03-18 20:47:13 -04:00
|
|
|
VINS (VIO):
|
|
|
|
|
$ roslaunch rtabmap_ros euroc_datasets.launch args:="-d RGBD/CreateOccupancyGrid false Odom/Strategy 9 OdomVINS/ConfigPath ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_stereo_imu_config.yaml" MH_seq:=true raw_images_for_odom:=true
|
|
|
|
|
$ rosbag play -.-clock MH_01_easy.bag
|
2019-03-20 22:12:30 -04:00
|
|
|
|
|
|
|
|
VINS (VO):
|
|
|
|
|
$ roslaunch rtabmap_ros euroc_datasets.launch args:="-d RGBD/CreateOccupancyGrid false Odom/Strategy 9 OdomVINS/ConfigPath ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_stereo_config.yaml" MH_seq:=true raw_images_for_odom:=true
|
|
|
|
|
$ rosbag play -.-clock MH_01_easy.bag
|
2018-08-14 13:01:07 -04:00
|
|
|
-->
|
|
|
|
|
|
2018-07-12 16:35:19 -04:00
|
|
|
<param name="use_sim_time" value="true"/>
|
|
|
|
|
|
2018-08-14 13:01:07 -04:00
|
|
|
<arg name="args" default="-d --RGBD/CreateOccupancyGrid false"/>
|
2018-07-23 15:58:51 -04:00
|
|
|
<arg name="cfg" default=""/>
|
|
|
|
|
<arg name="MH_seq" default="false"/> <!-- For MH sequences, the ground truth is coming from a different topic -->
|
2019-03-18 20:47:13 -04:00
|
|
|
<arg name="raw_images_for_odom" default="false"/>
|
2019-03-20 22:12:30 -04:00
|
|
|
<arg name="record_ground_truth" default="false"/>
|
2018-07-23 15:58:51 -04:00
|
|
|
<arg name="rtabmapviz" default="true"/>
|
|
|
|
|
<arg name="rviz" default="false"/>
|
|
|
|
|
|
|
|
|
|
<!-- Image rectification and publishing synchronized camera_info-->
|
2018-07-12 16:35:19 -04:00
|
|
|
<group ns="stereo_camera">
|
|
|
|
|
|
|
|
|
|
<node pkg="rtabmap_ros" type="yaml_to_camera_info.py" name="yaml_to_camera_info_left">
|
|
|
|
|
<param name="yaml_path" value="$(find rtabmap_ros)/launch/calibration/euroc_left.yaml"/>
|
|
|
|
|
<remap from="image" to="/cam0/image_raw"/>
|
|
|
|
|
<remap from="camera_info" to="left/camera_info"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node pkg="rtabmap_ros" type="yaml_to_camera_info.py" name="yaml_to_camera_info_right">
|
|
|
|
|
<param name="yaml_path" value="$(find rtabmap_ros)/launch/calibration/euroc_right.yaml"/>
|
2019-03-18 20:47:13 -04:00
|
|
|
<param name="frame_id" value="cam1"/>
|
2018-07-12 16:35:19 -04:00
|
|
|
<remap from="image" to="/cam1/image_raw"/>
|
|
|
|
|
<remap from="camera_info" to="right/camera_info"/>
|
|
|
|
|
</node>
|
|
|
|
|
|
2019-03-18 20:47:13 -04:00
|
|
|
<node unless="$(arg raw_images_for_odom)" pkg="stereo_image_proc" type="stereo_image_proc" name="stereo_image_proc">
|
2018-07-12 16:35:19 -04:00
|
|
|
<remap from="left/image_raw" to="/cam0/image_raw"/>
|
|
|
|
|
<remap from="right/image_raw" to="/cam1/image_raw"/>
|
|
|
|
|
</node>
|
|
|
|
|
|
|
|
|
|
</group>
|
|
|
|
|
|
2018-07-23 15:58:51 -04:00
|
|
|
<!-- TF frames -->
|
|
|
|
|
<node pkg="tf" type="static_transform_publisher" name="imu_base_link" args="0 0 0 3.1415926 -1.570796 0 base_link imu4 5"/>
|
2019-03-18 20:47:13 -04:00
|
|
|
<node pkg="tf" type="static_transform_publisher" name="cam0_imu_link" args="-0.021640 -0.064677 0.009811 1.555925 0.025777 0.003757 imu4 cam0 50"/>
|
|
|
|
|
<node pkg="tf" type="static_transform_publisher" name="cam1_imu_link" args="-0.019844 0.045369 0.007862 1.558237 0.025393 0.017907 imu4 cam1 50"/>
|
2018-07-23 15:58:51 -04:00
|
|
|
<node if="$(arg MH_seq)" pkg="tf" type="static_transform_publisher" name="leica_base_link" args="0.120209 -0.0184772 -0.0748903 0 0 0 leica base_link_gt 100"/>
|
|
|
|
|
<node unless="$(arg MH_seq)" pkg="tf" type="static_transform_publisher" name="vicon_base_link" args="0.120209 -0.0184772 -0.0748903 0 0 0 vicon/firefly_sbx/firefly_sbx base_link_gt 100"/>
|
2018-07-12 16:35:19 -04:00
|
|
|
|
2018-07-23 15:58:51 -04:00
|
|
|
<node if="$(arg MH_seq)" pkg="rtabmap_ros" type="point_to_tf.py" name="point_to_tf">
|
2018-07-12 16:35:19 -04:00
|
|
|
<remap from="point" to="/leica/position"/>
|
|
|
|
|
<param name="frame_id" value="leica"/>
|
|
|
|
|
<param name="fixed_frame_id" value="world"/>
|
|
|
|
|
</node>
|
2018-07-23 15:58:51 -04:00
|
|
|
<node unless="$(arg MH_seq)" pkg="rtabmap_ros" type="transform_to_tf.py" name="transform_to_tf">
|
|
|
|
|
<remap from="transform" to="/vicon/firefly_sbx/firefly_sbx"/>
|
|
|
|
|
<param name="frame_id" value="world"/>
|
|
|
|
|
<param name="child_frame_id" value="vicon/firefly_sbx/firefly_sbx"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node pkg="tf" type="static_transform_publisher" name="world_to_map" args="0.0 0.0 0.0 0.0 0.0 0.0 /world /map 100" />
|
2018-07-12 16:35:19 -04:00
|
|
|
|
2018-07-23 15:58:51 -04:00
|
|
|
<!-- RTAB-Map -->
|
2018-07-12 16:35:19 -04:00
|
|
|
<include file="$(find rtabmap_ros)/launch/rtabmap.launch">
|
2019-03-18 20:47:13 -04:00
|
|
|
<arg if="$(arg raw_images_for_odom)" name="rtabmap_args" value="$(arg args) --Rtabmap/ImagesAlreadyRectified false"/>
|
|
|
|
|
<arg unless="$(arg raw_images_for_odom)" name="rtabmap_args" value="$(arg args)"/>
|
|
|
|
|
<arg if="$(arg raw_images_for_odom)" name="odom_args" value="--Rtabmap/ImagesAlreadyRectified false"/>
|
|
|
|
|
<arg if="$(arg raw_images_for_odom)" name="left_image_topic" value="/cam0/image_raw"/>
|
|
|
|
|
<arg if="$(arg raw_images_for_odom)" name="right_image_topic" value="/cam1/image_raw"/>
|
2018-07-12 16:35:19 -04:00
|
|
|
<arg name="stereo" value="true"/>
|
|
|
|
|
<arg name="frame_id" value="base_link"/>
|
2018-07-23 15:58:51 -04:00
|
|
|
<arg name="wait_for_transform" value="0.01"/>
|
2019-03-18 20:47:13 -04:00
|
|
|
<arg if="$(arg record_ground_truth)" name="ground_truth_frame_id" value="world"/>
|
|
|
|
|
<arg if="$(arg record_ground_truth)" name="ground_truth_base_frame_id" value="base_link_gt"/>
|
2018-07-23 15:58:51 -04:00
|
|
|
<arg name="cfg" value="$(arg cfg)"/>
|
|
|
|
|
<arg name="imu_topic" value="/imu0"/>
|
|
|
|
|
<arg name="rtabmapviz" value="$(arg rtabmapviz)"/>
|
|
|
|
|
<arg name="rviz" value="$(arg rviz)"/>
|
2018-07-12 16:35:19 -04:00
|
|
|
</include>
|
|
|
|
|
|
|
|
|
|
</launch>
|