Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -69,4 +69,4 @@
url = [email protected]:ethz-asl/linter.git
[submodule "dependencies/internal/maplab_msgs"]
path = dependencies/internal/maplab_msgs
url = [email protected]:ethz-asl/maplab_msgs.git
url = [email protected]:ethz-asl/maplab_msgs.git
27 changes: 27 additions & 0 deletions Build.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Connect to VPN so that github can be accessed from a terminal
# download and build maplab in a catkin workspace, ubuntu 18 ROS melodic
```
catkin clean
catkin config --merge-devel # for error 1

catkin build maplab -DPYTHON_EXECUTABLE=/usr/bin/python3 -DCMAKE_BUILD_TYPE=Release
```

## Error 1
```
Errors << aslam_cv_cameras:make /media/jhuai/docker/maplab2_ws/logs/aslam_cv_cameras/build.make.004.log
In file included from /media/jhuai/docker/maplab2_ws/src/maplab/aslam_cv2/aslam_cv_common/include/aslam/common/unique-id.h:12:0,
from /media/jhuai/docker/maplab2_ws/src/maplab/aslam_cv2/aslam_cv_common/include/aslam/common/sensor.h:7,
from /media/jhuai/docker/maplab2_ws/src/maplab/aslam_cv2/aslam_cv_cameras/include/aslam/cameras/camera.h:16,
from /media/jhuai/docker/maplab2_ws/src/maplab/aslam_cv2/aslam_cv_cameras/include/aslam/cameras/camera-unified-projection.h:4,
from /media/jhuai/docker/maplab2_ws/src/maplab/aslam_cv2/aslam_cv_cameras/src/camera-unified-projection.cc:3:
/media/jhuai/docker/maplab2_ws/src/maplab/aslam_cv2/aslam_cv_common/include/aslam/common/internal/unique-id.h:7:10: fatal error: aslam/common/id.pb.h: No such file or directory
#include "aslam/common/id.pb.h"
^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

```
solution: catkin config --merge-devel

source devel/setup.bash
rosrun rovioli tutorial_euroc /home/jhuai/Desktop/temp/maplab2 /media/jhuai/BackupPlus/jhuai/data/euroc/ijrr_euroc_mav_dataset/machine_hall/MH_01_easy/MH_01_easy.bag
2 changes: 1 addition & 1 deletion applications/maplab-node/src/ros-helpers.cc
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ DEFINE_int32(
"CLAHE histogram equalization parameter: grid size.");

DEFINE_double(
image_16_bit_to_8_bit_scale_factor, 1,
image_16_bit_to_8_bit_scale_factor, 255. / 65535.,
"Scale factor applied to 16bit images when converting them to 8bit "
"images.");
DEFINE_double(
Expand Down
40 changes: 40 additions & 0 deletions applications/rovioli/scripts/euroc.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# visual inertial state estimation and feature tracking results generated by maplab2 on euroc sequences.

eurocbags=(
machine_hall/MH_01_easy/MH_01_easy.bag
machine_hall/MH_02_easy/MH_02_easy.bag
machine_hall/MH_03_medium/MH_03_medium.bag
machine_hall/MH_04_difficult/MH_04_difficult.bag
machine_hall/MH_05_difficult/MH_05_difficult.bag
vicon_room1/V1_01_easy/V1_01_easy.bag
vicon_room1/V1_02_medium/V1_02_medium.bag
vicon_room1/V1_03_difficult/V1_03_difficult.bag
vicon_room2/V2_01_easy/V2_01_easy.bag
vicon_room2/V2_02_medium/V2_02_medium.bag
vicon_room2/V2_03_difficult/V2_03_difficult.bag)

eurocbags=(vicon_room2/V2_03_difficult/V2_03_difficult.bag)

datadir=/media/jhuai/BackupPlus/jhuai/data/euroc/ijrr_euroc_mav_dataset

resultdir=/home/jhuai/Desktop/temp/maplab2/euroc
exportscript=/media/jhuai/docker/bsplines_ws/src/lie_splines/bsplines_ceres/test/data/vimap_export.yaml
maplab_ws=/media/jhuai/docker/maplab2_ws
source $maplab_ws/devel/setup.bash
mkdir -p $resultdir
counter=0

for bag in ${eurocbags[@]}; do
bn=$(basename -- "$bag")
bn="${bn%.*}"
rm -r $resultdir/$bn
sed -i "/maplab2/c\ - $resultdir/$bn" $exportscript
cmd="rosrun rovioli tutorial_euroc $resultdir/$bn $datadir/$bag --vio_nframe_sync_max_output_frequency_hz=10"
echo $cmd
$cmd
rosrun maplab_console batch_runner --batch_control_file $exportscript
((counter++))
# if [ $counter -gt 0 ]; then
# break
# fi
done
54 changes: 54 additions & 0 deletions applications/rovioli/scripts/tumvi.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# visual inertial state estimation and feature tracking results generated by maplab2 on TUMVI sequences.

tumvibags=(room1
room2
room3
room4
room5
room6
slides1
slides2
slides3
corridor1
corridor2
corridor3
corridor4
corridor5
outdoors1
outdoors2
outdoors3
outdoors4
outdoors5
outdoors6
outdoors7
outdoors8
magistrale1
magistrale2
magistrale3
magistrale4
magistrale5
magistrale6)

datadir=/media/jhuai/BackupPlus/jhuai/data/tumvi/calibrated/512_16
resultdir=/home/jhuai/Desktop/temp/maplab2/tumvi
exportscript=/media/jhuai/docker/bsplines_ws/src/lie_splines/bsplines_ceres/test/data/vimap_export.yaml

maplab_ws=/media/jhuai/docker/maplab2_ws
source $maplab_ws/devel/setup.bash
mkdir -p $resultdir
counter=0
for bag in ${tumvibags[@]}; do
bn=$(basename -- "$bag")
bn="${bn%.*}"
rm -r $resultdir/$bn
sed -i "/maplab2/c\ - $resultdir/$bn" $exportscript
cmd="rosrun rovioli tutorial_tumvi $resultdir/$bn $datadir/dataset-"$bag"_512_16.bag --vio_nframe_sync_max_output_frequency_hz=10"
echo $cmd
$cmd
rosrun maplab_console batch_runner --batch_control_file $exportscript
((counter++))
# if [ $counter -gt 0 ]; then
# break
# fi
done

6 changes: 2 additions & 4 deletions applications/rovioli/scripts/tutorials/tutorial_euroc
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,13 @@

LOCALIZATION_MAP_OUTPUT=$1
ROSBAG=$2
NCAMERA_CALIBRATION="$ROVIO_CONFIG_DIR/ncamera-euroc.yaml"
IMU_PARAMETERS_MAPLAB="$ROVIO_CONFIG_DIR/imu-adis16488.yaml"
SENSOR_CALIBRATION="$ROVIO_CONFIG_DIR/euroc-stereo.yaml"
REST=$@

rosrun rovioli rovioli \
--alsologtostderr=1 \
--v=2 \
--ncamera_calibration=$NCAMERA_CALIBRATION \
--imu_parameters_maplab=$IMU_PARAMETERS_MAPLAB \
--sensor_calibration_file="$SENSOR_CALIBRATION" \
--datasource_type="rosbag" \
--save_map_folder="$LOCALIZATION_MAP_OUTPUT" \
--optimize_map_to_localization_map=false \
Expand Down
18 changes: 18 additions & 0 deletions applications/rovioli/scripts/tutorials/tutorial_tumvi
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Script to run ROVIOLI from a TUMVI rosbag data source.
# Usage: tutorial_tumvi <output save folder> <rosbag path> [<additional rovioli flags>]

LOCALIZATION_MAP_OUTPUT=$1
ROSBAG=$2
SENSOR_CALIBRATION="$ROVIO_CONFIG_DIR/tumvi-stereo.yaml"
REST=$@

rosrun rovioli rovioli \
--alsologtostderr=1 \
--v=2 \
--sensor_calibration_file="$SENSOR_CALIBRATION" \
--datasource_type="rosbag" \
--save_map_folder="$LOCALIZATION_MAP_OUTPUT" \
--optimize_map_to_localization_map=false \
--map_builder_save_image_as_resources=false \
--datasource_rosbag=$ROSBAG $REST
8 changes: 8 additions & 0 deletions applications/rovioli/scripts/vimap_export.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Commands for exporting vi maps to csv files.
# This script is passed as argument to batch-runner.
# Yaml-format:
vi_map_folder_paths:
- /home/jhuai/Desktop/temp/maplab2/euroc/V2_03_difficult
commands:
- load --map_key dummy_vi --map_folder=<CURRENT_VIMAP_FOLDER>
- csv_export --csv_export_path <CURRENT_VIMAP_FOLDER>
16 changes: 16 additions & 0 deletions applications/rovioli/scripts/vimap_singlesession_postproc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Commands for creating single session summary maps.
# This script is passed as argument to batch-runner.
# Yaml-format:
vi_map_folder_paths:
- /home/jhuai/Desktop/temp/maplab2/euroc/MH_01_easy
commands:
- load --map_key dummy_vi --map_folder=<CURRENT_VIMAP_FOLDER>
- csv_export --csv_export_path <CURRENT_VIMAP_FOLDER>
- v
- lc --feature_descriptor_type=brisk
- optvi --feature_descriptor_type=brisk
- lc --feature_descriptor_type=brisk
- optvi --feature_descriptor_type=brisk
- v
- csv_export --csv_export_path <CURRENT_VIMAP_FOLDER>_summary
- generate_summary_map_and_save_to_disk --summary_map_save_path <CURRENT_VIMAP_FOLDER>_summary --feature_descriptor_type=brisk
112 changes: 112 additions & 0 deletions applications/rovioli/share/tumvi-stereo.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
sensors:
- id: c63aecb41bfdfd6b7e1fac37c7cbe7bf
topic: /imu0
description: "Bosch IMU (BMI160)"
sensor_type: IMU
sigmas:
acc_noise_density: 1.4e-2 # Allan std * 5
acc_bias_random_walk_noise_density: 8.6e-3 # Allan std * 10
gyro_noise_density: 8.0e-4 # Allan std * 5
gyro_bias_random_walk_noise_density: 2.2e-4 # Allan std * 10
saturation_accel_max_mps2: 150.0
saturation_gyro_max_radps: 7.5
gravity_magnitude_mps2: 9.81

- id: 412eab8e4058621f7036b5e765dfe812
sensor_type: NCAMERA
description: "Two uEye UI-3241LE-M-GL with Lensagon BF2M2020S23 lenses"
topic: ""
cameras:
- camera:
topic: /cam0
id: 54812562fa109c40fe90b29a59dd7798
description: "cam0"
sensor_type: CAMERA
line-delay-nanoseconds: 0
image_height: 512
image_width: 512
type: pinhole
intrinsics:
cols: 1
rows: 4
data: [190.97847715128717, 190.9733070521226, 254.93170605935475, 256.8974428996504]
distortion:
type: equidistant
parameters:
cols: 1
rows: 4
data: [0.0034823894022493434, 0.0007150348452162257, -0.0020532361418706202, 0.00020293673591811182]
T_B_C:
cols: 4
rows: 4
data: [-0.999525037869675, 0.00750191850740521, -0.0298901303164331, 0.0455748356496981,
0.0296153438858632, -0.0343973606139315, -0.998969345370176, -0.0711618018379971,
-0.00852232821165475, -0.999380079249884, 0.0341588512738562, -0.0446812541171444,
0.0, 0.0, 0.0, 1.0]

- camera:
topic: /cam1
id: 54812562fa109c40fe90b29a59dd7723
description: "cam1"
sensor_type: CAMERA
line-delay-nanoseconds: 0
image_height: 512
image_width: 512
type: pinhole
intrinsics:
cols: 1
rows: 4
data: [190.44236969414825, 190.4344384721956, 252.59949716835982, 254.91723064636983]
distortion:
type: equidistant
parameters:
cols: 1
rows: 4
data: [0.0034003170790442797, 0.001766278153469831, -0.00266312569781606, 0.0003299517423931039]
T_B_C:
cols: 4
rows: 4
data: [ -0.999511048497858, 0.00810407926382252, -0.0301991362458914, -0.0554563391425955,
0.0302991163766006, 0.0125116437201924, -0.999462566741855, -0.0692500216422477,
-0.00772188302873336, -0.999888885162099, -0.0127510725739409, -0.0474528648075134,
0.0, 0.0, 0.0, 1.0]

- id: aabb23479caf7592b35518478a2fe08f
sensor_type: ODOMETRY_6DOF
description: "ROVIOLI in Odometry mode"
topic: /maplab_odom_T_M_I

extrinsics:

- sensor_id: 412eab8e4058621f7036b5e765dfe812
base_sensor_id: c63aecb41bfdfd6b7e1fac37c7cbe7bf
T_B_S:
cols: 4
rows: 4
data:
- [1,0,0,0]
- [0,1,0,0]
- [0,0,1,0]
- [0,0,0,1]

- sensor_id: c63aecb41bfdfd6b7e1fac37c7cbe7bf
base_sensor_id: c63aecb41bfdfd6b7e1fac37c7cbe7bf
T_B_S:
rows: 4
cols: 4
data:
- [1,0,0,0]
- [0,1,0,0]
- [0,0,1,0]
- [0,0,0,1]

- sensor_id: aabb23479caf7592b35518478a2fe08f
base_sensor_id: c63aecb41bfdfd6b7e1fac37c7cbe7bf
T_B_S:
rows: 4
cols: 4
data:
- [1,0,0,0]
- [0,1,0,0]
- [0,0,1,0]
- [0,0,0,1]
3 changes: 2 additions & 1 deletion applications/rovioli/src/ros-helpers.cc
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,9 @@ DEFINE_int32(
rovioli_image_clahe_grid_size, 8,
"CLAHE histogram equalization parameter: grid size.");

// see line 173 in http://docs.ros.org/en/diamondback/api/cv_bridge/html/c++/cv__bridge_8cpp_source.html
DEFINE_double(
rovioli_image_16_bit_to_8_bit_scale_factor, 1,
rovioli_image_16_bit_to_8_bit_scale_factor, 255. / 65535.,
"Scale factor applied to 16bit images when converting them to 8bit "
"images.");
DEFINE_double(
Expand Down