117 lines
2.4 KiB
Bash
Executable File
117 lines
2.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Source our workspace directory to load ENV variables
|
|
source /home/patrick/workspace/catkin_ws_ov/devel/setup.bash
|
|
|
|
|
|
#=============================================================
|
|
#=============================================================
|
|
#=============================================================
|
|
|
|
|
|
# estimator configurations
|
|
modes=(
|
|
"mono"
|
|
"binocular"
|
|
"stereo"
|
|
)
|
|
|
|
# dataset locations
|
|
bagnames=(
|
|
"circle"
|
|
"circle_fast"
|
|
"circle_head"
|
|
"infinite"
|
|
"infinite_fast"
|
|
"infinite_head"
|
|
"rotation"
|
|
"rotation_fast"
|
|
"square"
|
|
"square_fast"
|
|
"square_head"
|
|
)
|
|
|
|
# how far we should start into the dataset
|
|
# this can be used to skip the initial sections
|
|
bagstarttimes=(
|
|
"0"
|
|
"0"
|
|
"0"
|
|
"0"
|
|
"0"
|
|
"0"
|
|
"0"
|
|
"0"
|
|
"0"
|
|
"0"
|
|
"0"
|
|
)
|
|
|
|
|
|
|
|
# location to save log files into
|
|
save_path1="/home/patrick/github/pubs_data/pgeneva/2020_openvins_2.3.1/exp_kaistvio/algorithms"
|
|
save_path2="/home/patrick/github/pubs_data/pgeneva/2020_openvins_2.3.1/exp_kaistvio/timings"
|
|
bag_path="/media/patrick/RPNG\ FLASH\ 3/KAIST_VIO"
|
|
|
|
#=============================================================
|
|
#=============================================================
|
|
#=============================================================
|
|
|
|
|
|
# Loop through all modes
|
|
for h in "${!modes[@]}"; do
|
|
# Loop through all datasets
|
|
for i in "${!bagnames[@]}"; do
|
|
|
|
# Monte Carlo runs for this dataset
|
|
# If you want more runs, change the below loop
|
|
for j in {00..04}; do
|
|
|
|
# start timing
|
|
start_time="$(date -u +%s)"
|
|
filename_est="$save_path1/ov_2.3.3_${modes[h]}/${bagnames[i]}/${j}_estimate.txt"
|
|
filename_time="$save_path2/ov_2.3.3_${modes[h]}/${bagnames[i]}/${j}_timing.txt"
|
|
|
|
# number of cameras
|
|
if [ "${modes[h]}" == "mono" ]
|
|
then
|
|
temp1="1"
|
|
temp2="true"
|
|
fi
|
|
if [ "${modes[h]}" == "binocular" ]
|
|
then
|
|
temp1="2"
|
|
temp2="false"
|
|
fi
|
|
if [ "${modes[h]}" == "stereo" ]
|
|
then
|
|
temp1="2"
|
|
temp2="true"
|
|
fi
|
|
|
|
# run our ROS launch file (note we send console output to terminator)
|
|
roslaunch ov_msckf pgeneva_ros_kaistvio.launch \
|
|
max_cameras:="$temp1" \
|
|
use_stereo:="$temp2" \
|
|
bag:="$bag_path/${bagnames[i]}.bag" \
|
|
bag_start:="${bagstarttimes[i]}" \
|
|
dosave:="true" \
|
|
path_est:="$filename_est" \
|
|
dotime:="true" \
|
|
path_time:="$filename_time" &> /dev/null
|
|
|
|
|
|
# print out the time elapsed
|
|
end_time="$(date -u +%s)"
|
|
elapsed="$(($end_time-$start_time))"
|
|
echo "BASH: ${modes[h]} - ${bagnames[i]} - run $j took $elapsed seconds";
|
|
|
|
done
|
|
|
|
|
|
done
|
|
done
|
|
|
|
|