mirror of
https://github.com/introlab/rtabmap_ros.git
synced 2026-10-03 16:27:46 +08:00
Added imu input topic to rtabmap node. Updated for rtabmap 0.19.3.
This commit is contained in:
@@ -94,7 +94,8 @@
|
||||
<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="imu_topic" default="/imu"/> <!-- only used with VIO approaches -->
|
||||
<arg name="imu_topic" default="/imu/data"/> <!-- only used with VIO approaches -->
|
||||
<arg name="wait_imu_to_init" default="false"/>
|
||||
|
||||
<arg name="subscribe_user_data" default="false"/> <!-- user data synchronized subscription -->
|
||||
<arg name="user_data_topic" default="/user_data"/>
|
||||
@@ -190,6 +191,7 @@
|
||||
<param name="ground_truth_frame_id" type="string" value="$(arg ground_truth_frame_id)"/>
|
||||
<param name="ground_truth_base_frame_id" type="string" value="$(arg ground_truth_base_frame_id)"/>
|
||||
<param name="wait_for_transform_duration" type="double" value="$(arg wait_for_transform)"/>
|
||||
<param name="wait_imu_to_init" type="bool" value="$(arg wait_imu_to_init)"/>
|
||||
<param name="approx_sync" type="bool" value="$(arg approx_sync)"/>
|
||||
<param name="config_path" type="string" value="$(arg cfg)"/>
|
||||
<param name="queue_size" type="int" value="$(arg queue_size)"/>
|
||||
@@ -215,6 +217,7 @@
|
||||
<param name="ground_truth_frame_id" type="string" value="$(arg ground_truth_frame_id)"/>
|
||||
<param name="ground_truth_base_frame_id" type="string" value="$(arg ground_truth_base_frame_id)"/>
|
||||
<param name="wait_for_transform_duration" type="double" value="$(arg wait_for_transform)"/>
|
||||
<param name="wait_imu_to_init" type="bool" value="$(arg wait_imu_to_init)"/>
|
||||
<param name="approx_sync" type="bool" value="$(arg approx_sync)"/>
|
||||
<param name="config_path" type="string" value="$(arg cfg)"/>
|
||||
<param name="queue_size" type="int" value="$(arg queue_size)"/>
|
||||
@@ -238,6 +241,7 @@
|
||||
<param name="ground_truth_frame_id" type="string" value="$(arg ground_truth_frame_id)"/>
|
||||
<param name="ground_truth_base_frame_id" type="string" value="$(arg ground_truth_base_frame_id)"/>
|
||||
<param name="wait_for_transform_duration" type="double" value="$(arg wait_for_transform)"/>
|
||||
<param name="wait_imu_to_init" type="bool" value="$(arg wait_imu_to_init)"/>
|
||||
<param name="config_path" type="string" value="$(arg cfg)"/>
|
||||
<param name="queue_size" type="int" value="$(arg queue_size)"/>
|
||||
<param name="guess_frame_id" type="string" value="$(arg odom_guess_frame_id)"/>
|
||||
@@ -293,6 +297,7 @@
|
||||
<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)"/>
|
||||
|
||||
<!-- localization mode -->
|
||||
<param if="$(arg localization)" name="Mem/IncrementalMemory" type="string" value="false"/>
|
||||
|
||||
@@ -11,29 +11,35 @@ Examples:
|
||||
$ rosbag play -.-clock MH_01_easy.bag
|
||||
|
||||
MSCKF (VIO):
|
||||
$ roslaunch rtabmap_ros euroc_datasets.launch args:="-d RGBD/CreateOccupancyGrid false Odom/Strategy 8"
|
||||
$ roslaunch rtabmap_ros euroc_datasets.launch args:="--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
|
||||
$ roslaunch rtabmap_ros euroc_datasets.launch args:="--Odom/Strategy 8" MH_seq:=true
|
||||
$ rosbag play -.-clock -s 24 MH_01_easy.bag
|
||||
|
||||
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
|
||||
$ roslaunch rtabmap_ros euroc_datasets.launch args:="--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
|
||||
|
||||
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
|
||||
$ roslaunch rtabmap_ros euroc_datasets.launch args:="--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
|
||||
|
||||
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
|
||||
$ roslaunch rtabmap_ros euroc_datasets.launch args:="--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
|
||||
-->
|
||||
|
||||
<param name="use_sim_time" value="true"/>
|
||||
|
||||
<arg name="args" default="-d --RGBD/CreateOccupancyGrid false"/>
|
||||
<arg name="feature_type" default="6"/>
|
||||
<arg name="gravity_opt" default="false"/> <!-- Rtabmap will use IMU data to add gravity constraints to graph -->
|
||||
|
||||
<arg name="args" default=""/>
|
||||
<arg if="$(arg gravity_opt)" name="common_args" default="-d --RGBD/CreateOccupancyGrid false --Odom/FeatureType $(arg feature_type) --Kp/DetectorStrategy $(arg feature_type) --Optimizer/GravitySigma 0.3 $(arg args)"/>
|
||||
<arg unless="$(arg gravity_opt)" name="common_args" default="-d --RGBD/CreateOccupancyGrid false --Odom/FeatureType $(arg feature_type) --Kp/DetectorStrategy $(arg feature_type) $(arg args) "/>
|
||||
|
||||
<arg name="cfg" default=""/>
|
||||
<arg name="MH_seq" default="false"/> <!-- For MH sequences, the ground truth is coming from a different topic -->
|
||||
<arg name="raw_images_for_odom" default="false"/>
|
||||
@@ -66,9 +72,11 @@ Examples:
|
||||
<!-- 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"/>
|
||||
<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"/>
|
||||
<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"/>
|
||||
|
||||
<!-- For MH sequences, /leica/position doesn't give the orientation, so minimal ground truth error could be as high as 12 cm -->
|
||||
<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"/>
|
||||
<node unless="$(arg MH_seq)" pkg="tf" type="static_transform_publisher" name="vicon_base_link" args="0.12395 -0.02781 -0.06901 0 0 0 vicon/firefly_sbx/firefly_sbx base_link_gt 100"/>
|
||||
|
||||
<node if="$(arg MH_seq)" pkg="rtabmap_ros" type="point_to_tf.py" name="point_to_tf">
|
||||
<remap from="point" to="/leica/position"/>
|
||||
@@ -82,6 +90,13 @@ Examples:
|
||||
</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" />
|
||||
|
||||
<node pkg="imu_complementary_filter" type="complementary_filter_node" name="imu_filter" output="screen">
|
||||
<remap from="imu/data_raw" to="/imu0"/>
|
||||
<param name="use_mag" value="false"/>
|
||||
<param name="world_frame" value="enu"/>
|
||||
<param name="publish_tf" value="false"/>
|
||||
</node>
|
||||
|
||||
<!-- RTAB-Map -->
|
||||
<include file="$(find rtabmap_ros)/launch/rtabmap.launch">
|
||||
<arg if="$(arg raw_images_for_odom)" name="rtabmap_args" value="$(arg args) --Rtabmap/ImagesAlreadyRectified false"/>
|
||||
@@ -91,13 +106,14 @@ Examples:
|
||||
<arg if="$(arg raw_images_for_odom)" name="right_image_topic" value="/cam1/image_raw"/>
|
||||
<arg name="stereo" value="true"/>
|
||||
<arg name="frame_id" value="base_link"/>
|
||||
<arg name="wait_for_transform" value="0.01"/>
|
||||
<arg name="wait_for_transform" value="0.1"/>
|
||||
<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"/>
|
||||
<arg name="cfg" value="$(arg cfg)"/>
|
||||
<arg name="imu_topic" value="/imu0"/>
|
||||
<arg name="imu_topic" value="/imu/data"/>
|
||||
<arg name="rtabmapviz" value="$(arg rtabmapviz)"/>
|
||||
<arg name="rviz" value="$(arg rviz)"/>
|
||||
<arg name="wait_imu_to_init" value="true"/>
|
||||
</include>
|
||||
|
||||
</launch>
|
||||
|
||||
Reference in New Issue
Block a user