initial commit
This commit is contained in:
180
ov_msckf/scripts/run_ros_uzhfpv.sh
Executable file
180
ov_msckf/scripts/run_ros_uzhfpv.sh
Executable file
@@ -0,0 +1,180 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Source our workspace directory to load ENV variables
|
||||
SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
||||
source ${SCRIPT_DIR}/../../../../devel/setup.bash
|
||||
|
||||
|
||||
#=============================================================
|
||||
#=============================================================
|
||||
#=============================================================
|
||||
|
||||
|
||||
# estimator configurations
|
||||
modes=(
|
||||
"mono"
|
||||
"binocular"
|
||||
"stereo"
|
||||
)
|
||||
|
||||
# dataset locations
|
||||
bagnames=(
|
||||
# "indoor_forward_3_snapdragon_with_gt" # bag needs to end early as there is a hard landing
|
||||
"indoor_forward_5_snapdragon_with_gt"
|
||||
"indoor_forward_6_snapdragon_with_gt"
|
||||
"indoor_forward_7_snapdragon_with_gt"
|
||||
"indoor_forward_9_snapdragon_with_gt"
|
||||
"indoor_forward_10_snapdragon_with_gt"
|
||||
"indoor_45_2_snapdragon_with_gt"
|
||||
"indoor_45_4_snapdragon_with_gt"
|
||||
# "indoor_45_9_snapdragon_with_gt" # problem one, seems to fail part way in due to freefalling
|
||||
"indoor_45_12_snapdragon_with_gt"
|
||||
"indoor_45_13_snapdragon_with_gt"
|
||||
"indoor_45_14_snapdragon_with_gt"
|
||||
# "outdoor_forward_1_snapdragon_with_gt"
|
||||
# "outdoor_forward_3_snapdragon_with_gt"
|
||||
# "outdoor_forward_5_snapdragon_with_gt"
|
||||
# "outdoor_45_1_snapdragon_with_gt"
|
||||
)
|
||||
|
||||
# what sensor configuration each dataset has
|
||||
# 0: indoor forward facing
|
||||
# 1: indoor 45 degree downward facing
|
||||
# 2: outdoor forward facing
|
||||
# 3: outdoor 45 degree downward facing
|
||||
sensorconfig=(
|
||||
# indoor forward
|
||||
# "0" # bag needs to end early as there is a hard landing
|
||||
"0"
|
||||
"0"
|
||||
"0"
|
||||
"0"
|
||||
"0"
|
||||
# indoor 45 degree
|
||||
"1"
|
||||
"1"
|
||||
# "1" # problem one, seems to fail part way in due to freefalling
|
||||
"1"
|
||||
"1"
|
||||
"1"
|
||||
# outdoor forward and 45
|
||||
# "2"
|
||||
# "2"
|
||||
# "2"
|
||||
# "3"
|
||||
)
|
||||
|
||||
# how far we should start into the dataset
|
||||
# this can be used to skip the initial sections
|
||||
bagstarttimes=(
|
||||
# indoor forward
|
||||
# "25"
|
||||
"0"
|
||||
"0"
|
||||
"0"
|
||||
"0"
|
||||
"0"
|
||||
# indoor 45 degree
|
||||
"0"
|
||||
"0"
|
||||
# "17" # problem one, seems to fail part way in due to freefalling
|
||||
"0"
|
||||
"0"
|
||||
"0"
|
||||
# outdoor forward and 45
|
||||
# "0"
|
||||
# "0"
|
||||
# "41"
|
||||
# "21"
|
||||
)
|
||||
|
||||
# threshold for variance to detect if the unit has moved yet
|
||||
imuthreshold=(
|
||||
# indoor forward
|
||||
# "5.0"
|
||||
"0.5"
|
||||
"0.5"
|
||||
"0.5"
|
||||
"0.5"
|
||||
"0.5"
|
||||
# indoor 45 degree
|
||||
"0.5"
|
||||
"0.5"
|
||||
# "4.0" # problem one, seems to fail part way in due to freefalling
|
||||
"0.5"
|
||||
"0.5"
|
||||
"0.5"
|
||||
# outdoor forward and 45
|
||||
# "0.5"
|
||||
# "0.5"
|
||||
# "4.0"
|
||||
# "4.0"
|
||||
)
|
||||
|
||||
# location to save log files into
|
||||
save_path1="/home/patrick/github/pubs_data/pgeneva/2020_openvins_2.4/exp_uzhfpv/algorithms"
|
||||
save_path2="/home/patrick/github/pubs_data/pgeneva/2020_openvins_2.4/exp_uzhfpv/timings"
|
||||
bag_path="/media/patrick/RPNG\ FLASH\ 2/uzhfpv_newer"
|
||||
|
||||
#=============================================================
|
||||
#=============================================================
|
||||
#=============================================================
|
||||
|
||||
|
||||
# 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.4_${modes[h]}/${bagnames[i]}/${j}_estimate.txt"
|
||||
filename_time="$save_path2/ov_2.4_${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_uzhfpv.launch \
|
||||
max_cameras:="$temp1" \
|
||||
use_stereo:="$temp2" \
|
||||
bag:="$bag_path/${bagnames[i]}.bag" \
|
||||
bag_start:="${bagstarttimes[i]}" \
|
||||
sensor_config:="${sensorconfig[i]}" \
|
||||
init_imu_thresh:="${imuthreshold[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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user