Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TIP] A successful installation of Kimera-VIO-ROS Guide #180

Open
1 task
jaku-jaku opened this issue Sep 28, 2022 · 4 comments
Open
1 task

[TIP] A successful installation of Kimera-VIO-ROS Guide #180

jaku-jaku opened this issue Sep 28, 2022 · 4 comments

Comments

@jaku-jaku
Copy link

jaku-jaku commented Sep 28, 2022

##Description:
It has been a bit rabbit hole to get it working.
I have just get it compiled properly in Ubuntu 18.04 - Melodic .

##Guide

Step 1:

Follow the main guide https://github.com/MIT-SPARK/Kimera-VIO-ROS:

  1. Pre-req: https://github.com/MIT-SPARK/Kimera-VIO-ROS#a-prerequisities
  2. Actual Installation: https://github.com/MIT-SPARK/Kimera-VIO-ROS#b-kimeravio-ros-wrapper-installation

⚠️ Stop before catkin build, or catkin clean if you tried to built but in vain

Step 2: (GTSAM)

As mentioned in MIT-SPARK/Kimera-VIO#194, GTSAM has removed identity under Pose3 and Rot3
Option 1: A quick fix is to checkout the older version

$ cd catkin_ws/src/gtsam
$ git checkout c4184e192b4605303cc0b0d51129e470eb4b4ed1

Option 2: modify Kimera-VIO to match latest GTSAM [TODO]

  • Something to be implemented

Step 3: (Kimera-VIO)

  1. checkout the branch hydra support:
$ cd catkin_ws/src/Kimera-VIO
$ git checkout feature/hydra

Step 4:

  1. Download http://robotics.ethz.ch/~asl-datasets/ijrr_euroc_mav_dataset/vicon_room1/V1_01_easy/V1_01_easy.bag
  2. in different terminals:
# Terminal 1:
$ roscore

# Terminal 2:
$ rviz -d $(rospack find kimera_vio_ros)/rviz/kimera_vio_euroc.rviz

# Terminal 3:
$ roslaunch kimera_vio_ros kimera_vio_ros_euroc.launch online:=true

# Terminal 4:
$ rosbag play --clock /PATH/TO/EUROC_ROSBAG

🥂 Good luck, folks!

Hopefully, this get maintained.

@jaku-jaku
Copy link
Author

jaku-jaku commented Sep 28, 2022

According to MIT-SPARK/Kimera-VIO#187,
gtsam version commit: e5866799dff48239573cdd84964180867e50edd2

@keiro23
Copy link

keiro23 commented Oct 13, 2022

Hi, can you elaborate on what exactly I need to do in step 2.2(modify Kimera-VIO to match latest GTSAM [TODO])?

@jaku-jaku
Copy link
Author

jaku-jaku commented Oct 13, 2022

Hi, can you elaborate on what exactly I need to do in step 2.2(modify Kimera-VIO to match latest GTSAM [TODO])?

just replace functions whatever the compiler has thrown error on.

   46 |   isam_param->setCacheLinearizedFactors(true);
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~
      |               cacheLinearizedFactors
{ws}/Kimera-VIO/src/backend/VioBackendParams.cpp:51:15: error: ‘struct gtsam::ISAM2Params’ has no member named ‘setEvaluateNonlinearError’; did you mean ‘evaluateNonlinearError’?
   51 |   isam_param->setEvaluateNonlinearError(false);  // only for debugging
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~
      |               evaluateNonlinearError

(for example) as

isam_param->cacheLinearizedFactors = True;

@SonginCV
Copy link

SonginCV commented Nov 30, 2022

Thank you for a helpful guide. I have found that the guide makes Kimera-VIO-ROS w/ ros bag and realsense work successfully in my Ubuntu desktop.
However, Kimera-VIO w/o ROS is not working this guide and I think that depends on OpenCV version.
In here, the author has recommend OpenCV 3.4.2 for the Kimera w/o ROS.
In addition, for the Jetson boards, that seem to be not working so I have been struggling with it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants