Why do we use the infrared cameras on the D435i? The infrared cameras offer the option to run the Kimera-VIO stereo version on monochrome global shutter cameras, which are generally better suited for visual tracking.
Note: Only 1. and 2. are necessary if you want to use the default calibration and launch files.
-
Download and install the Intel RealSense SDK. The
master
branch currently has an issue with buggy image timestamps-- this is fixed in this pull request. You will need to check out thedevelopment
branch withgit checkout development
in order to access this fix. -
Download and install the Intel RealSense ROS wrapper.
-
Collect calibration parameters for the RealSense. This is already done for the D435i in VIO's
params/RealSenseIR
.- Collect calibration bagfiles for camera intrinsics and extrinsics (see instructions).
- Calibrate camera intrinsics and extrinsics using Kalibr
- Convert the intrinsics and extrinsics to configuration files for Kimera-VIO-ROS wrapper using Kalibr2KimeraVIO-pinhole-radtan.
-
Create/adapt your own specific launch file, or use the example RealSense D435i file.
Each command will require its own terminal.
-
Run roscore with
roscore
-
Launch RealSense camera using
roslaunch realsense2_camera rs_camera.launch unite_imu_method:=linear_interpolation
wherers_camera.launch
can be repaced with your launch file. -
Visualize image stream using
rosrun image_view image_view image:=/camera/infra1/image_rect_raw
where/camera/infra1/image_rect_raw
can be repaced with your launch file. -
The RealSense has an IR emitter on it to improve its RGBD stream. This creates undesirable dots on the infrared images. To fix this, you can either:
- Disable the emitter after the RealSense node is up using
rosrun dynamic_reconfigure dynparam set /camera/stereo_module emitter_enabled 0
- Physically cover the emitter on the RealSense with a piece of tape.
- Disable the emitter after the RealSense node is up using
-
Launch Kimera-VIO ROS wrapper using
roslaunch kimera_vio_ros kimera_vio_ros_realsense_IR.launch
wherekimera_vio_ros_realsense_IR.launch
can be repaced with your launch file. -
Visualize trajectory with RVIZ using
rviz -d $(rospack find kimera_vio_ros)/rviz/kimera_vio_euroc.rviz
, where kimera_vio_euroc.rviz can be repaced with your rviz setup file. -
Visualize state and statistics using
rqt_multiplot
, (see example config)
It is important to remember that when launching the VIO, the camera should be standing still and upward (camera fov forward looking).
-
Download and install the MyntEye SDK and ROS wrapper
-
Collect calibration bagfiles for camera intrinsics and extrinsics (see instructions)
-
Calibrate camera intrinsics and extrinsics using Kalibr, recommended model is:
pinhole-equi
(see OpenCV documentation) -
Create configuration files for Kimera-VIO-ROS wrapper using Kalibr2KimeraVIO-pinhole-equi (or pinholde-radtan)
-
Create/adapt your own specific launch file, similar to example MyntEye S
-
Launch MyntEye camera using
roslaunch mynt_eye_ros_wrapper [name of your launch file]
-
Visualize image stream using
rosrun image_view image_view image:=[name of camera topic]
-
Launch Kimera-VIO-ROS wrapper using
roslaunch spark_vio_ros [name of your launch file]
(example, see below) -
Visualize trajectory with RVIZ using
rviz
, (see example config) -
Visualize state and statistics using
rqt_multiplot
, (see example config)
For the MyntEyes used in SubT: (online)
roslaunch spark_vio_ros spark_vio_ros_mynteye.launch camera:=JPL distortion:=equidistant
Options for camera are MIT
and JPL
. Options for distortion are equidistant
and radtan
.
Same goes for use offline, using the spark_vio_ros_mynteye_offline.launch
file and an additional data
argument with path to bagfile.