Skip to content

Latest commit

 

History

History
79 lines (45 loc) · 5.15 KB

hardware_setup.md

File metadata and controls

79 lines (45 loc) · 5.15 KB

Hardware Setup

RealSense D435i (Infrared)

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.

Setup

Note: Only 1. and 2. are necessary if you want to use the default calibration and launch files.

  1. 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 the development branch with git checkout development in order to access this fix.

  2. Download and install the Intel RealSense ROS wrapper.

  3. Collect calibration parameters for the RealSense. This is already done for the D435i in VIO's params/RealSenseIR.

  4. Create/adapt your own specific launch file, or use the example RealSense D435i file.

Testing

Each command will require its own terminal.

  1. Run roscore with roscore

  2. Launch RealSense camera using roslaunch realsense2_camera rs_camera.launch unite_imu_method:=linear_interpolation where rs_camera.launch can be repaced with your launch file.

  3. 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.

  4. 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:

    1. Disable the emitter after the RealSense node is up using rosrun dynamic_reconfigure dynparam set /camera/stereo_module emitter_enabled 0
    2. Physically cover the emitter on the RealSense with a piece of tape.
  5. Launch Kimera-VIO ROS wrapper using roslaunch kimera_vio_ros kimera_vio_ros_realsense_IR.launch where kimera_vio_ros_realsense_IR.launch can be repaced with your launch file.

  6. 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.

  7. 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).

MyntEye S

Setup

  1. Download and install the MyntEye SDK and ROS wrapper

  2. Collect calibration bagfiles for camera intrinsics and extrinsics (see instructions)

  3. Calibrate camera intrinsics and extrinsics using Kalibr, recommended model is: pinhole-equi (see OpenCV documentation)

  4. Create configuration files for Kimera-VIO-ROS wrapper using Kalibr2KimeraVIO-pinhole-equi (or pinholde-radtan)

  5. Create/adapt your own specific launch file, similar to example MyntEye S

Testing

  1. Launch MyntEye camera using roslaunch mynt_eye_ros_wrapper [name of your launch file]

  2. Visualize image stream using rosrun image_view image_view image:=[name of camera topic]

  3. Launch Kimera-VIO-ROS wrapper using roslaunch spark_vio_ros [name of your launch file] (example, see below)

  4. Visualize trajectory with RVIZ using rviz, (see example config)

  5. Visualize state and statistics using rqt_multiplot, (see example config)

Example

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.