feat(slam): add rtabmap_ros
This commit is contained in:
Executable
+101
@@ -0,0 +1,101 @@
|
||||
#!/bin/bash
|
||||
|
||||
PWD=$(pwd)
|
||||
DOCKER=1 # set to 0 to use host rtabmap tool and relative datasets to this script
|
||||
|
||||
RGBD_ROOT_PATH='./datasets/tum'
|
||||
RGBD_RESULTS_PATH='./results/tum'
|
||||
mkdir -p $RGBD_RESULTS_PATH
|
||||
if [ $DOCKER -eq 1 ]
|
||||
then
|
||||
RGBD_ROOT_PATH='/root/datasets/tum'
|
||||
RGBD_RESULTS_PATH='/root/results/tum'
|
||||
fi
|
||||
|
||||
LIST=( 'rgbd_dataset_freiburg1_desk' 'rgbd_dataset_freiburg1_desk2' 'rgbd_dataset_freiburg1_room' 'rgbd_dataset_freiburg2_desk' 'rgbd_dataset_freiburg2_xyz' 'rgbd_dataset_freiburg3_long_office_household' 'rgbd_dataset_freiburg3_nostructure_texture_near_withloop_validation')
|
||||
# more: 'rgbd_dataset_freiburg1_360' 'rgbd_dataset_freiburg1_plant' 'rgbd_dataset_freiburg1_rpy' 'rgbd_dataset_freiburg1_teddy' 'rgbd_dataset_freiburg2_360_hemisphere' 'rgbd_dataset_freiburg2_large_no_loop' 'rgbd_dataset_freiburg2_large_with_loop' 'rgbd_dataset_freiburg1_floor'
|
||||
# Got Lost: 'rgbd_dataset_freiburg1_floor' (at 11 seconds end), 'rgbd_dataset_freiburg3_teddy'
|
||||
|
||||
STRATEGY=0
|
||||
OUTPUT="test"
|
||||
if [ $# -eq 3 ]
|
||||
then
|
||||
OUTPUT=$1
|
||||
STRATEGY=$2
|
||||
LIST=($3)
|
||||
elif [ $# -eq 2 ]
|
||||
then
|
||||
OUTPUT=$1
|
||||
STRATEGY=$2
|
||||
else
|
||||
echo "Usage: run_tum_datasets.sh \"output name\" \"odom strategy: 0=f2m 1=f2f 11=f2f_optflow 2=fovis 3=viso2 4=dvo 5=orbslam2\" [sequence]"
|
||||
exit
|
||||
fi
|
||||
|
||||
F2F_params=""
|
||||
if [ $STRATEGY -eq 11 ]
|
||||
then
|
||||
STRATEGY=1
|
||||
F2F_params="--Vis/CorType 1"
|
||||
fi
|
||||
|
||||
if [ $STRATEGY -eq 1 ]
|
||||
then
|
||||
F2F_params="--Odom/KeyFrameThr 0.6 $F2F_params"
|
||||
fi
|
||||
|
||||
if [[ $STRATEGY -eq 2 || $STRATEGY -eq 4 ]]
|
||||
then
|
||||
F2F_params="--RGBD/OptimizeMaxError 0 $F2F_params"
|
||||
fi
|
||||
|
||||
RTABMAP_RGBD_TOOL="rtabmap-rgbd_dataset"
|
||||
if [ $DOCKER -eq 1 ]
|
||||
then
|
||||
# Select rtabmap built with os2 support or not
|
||||
TOOL_PREFIX="/usr/local/bin"
|
||||
if [ $STRATEGY -eq 5 ]
|
||||
then
|
||||
TOOL_PREFIX="/root/rtabmap_os2/bin"
|
||||
fi
|
||||
RTABMAP_RGBD_TOOL="docker run -v $PWD/datasets/tum:$RGBD_ROOT_PATH -v $PWD/results/tum:$RGBD_RESULTS_PATH -i -t --rm introlab3it/rtabmap:jfr2018 $TOOL_PREFIX/rtabmap-rgbd_dataset"
|
||||
fi
|
||||
echo $RTABMAP_RGBD_TOOL
|
||||
|
||||
# no --disp with 01?
|
||||
for d in "${LIST[@]}"
|
||||
do
|
||||
|
||||
DETECTION_RATE=2
|
||||
if [[ "$d" == "rgbd_dataset_freiburg1_desk" || "$d" == "rgbd_dataset_freiburg1_desk2" ]]
|
||||
then
|
||||
DETECTION_RATE=4
|
||||
fi
|
||||
|
||||
taskset 0x1 $RTABMAP_RGBD_TOOL \
|
||||
--Rtabmap/PublishRAMUsage true\
|
||||
--RGBD/LinearUpdate 0\
|
||||
--RGBD/AngularUpdate 0\
|
||||
--Rtabmap/DetectionRate $DETECTION_RATE\
|
||||
--Kp/FlannRebalancingFactor 1.0\
|
||||
--GFTT/MinDistance 3\
|
||||
--Odom/Strategy $STRATEGY\
|
||||
--Mem/STMSize 30\
|
||||
--Mem/UseOdomFeatures false \
|
||||
--Mem/BinDataKept true \
|
||||
--Rtabmap/CreateIntermediateNodes false\
|
||||
--Vis/CorNNDR 0.6 \
|
||||
--Vis/CorGuessWinSize 20 \
|
||||
$F2F_params\
|
||||
--OdomORBSLAM2/VocPath /root/ORBvoc.txt\
|
||||
--OdomFovis/MinFeaturesForEstimate 10\
|
||||
--output "$RGBD_RESULTS_PATH/$d"\
|
||||
--output_name $OUTPUT\
|
||||
--quiet\
|
||||
$RGBD_ROOT_PATH/$d
|
||||
done
|
||||
|
||||
|
||||
#--Odom/Strategy 1\
|
||||
#--Vis/CorType 1\
|
||||
|
||||
Reference in New Issue
Block a user