luigifreda / pyslam

pySLAM contains a monocular Visual Odometry (VO) pipeline in Python. It supports many modern local features based on Deep Learning.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

installing and testing pyslam under Windows

luigifreda opened this issue · comments

Many people asked me how to install and test pyslam under Windows.
I would suggest going with Windows WSL2 and install ubuntu under it.
Didn't test it yet but I found this cool install procedure that should provide a fast ubuntu GUI under Windows
https://www.youtube.com/watch?v=IL7Jd9rjgrM

WIP ...

Got this repo to work flawlessly with WSL2 under Windows 10 and Mac OS Big Sur!! Thank you for the great documentation!

Awesome! Thanks for sharing your experience!

No problem!! Just so you know, there was one hiccup that I encountered during the building of g2opy regarding the Eigen quaternion member access. I followed this pull request of g2opy official repo and got it to work. Maybe you can include this in your README in case anyone else has similar problems. 😄

Thanks for the feedback!
That hiccup is really strange! I've managed that problem here:
https://github.com/luigifreda/pyslam/blob/ubuntu20/thirdparty/g2opy_changes/eigen_types.h#L185
Did you use the ubuntu20 branch? (This is the branch that must be used under Ubuntu 20 as explained in the README)

I've just checked again that, both with docker and a real Ubuntu 20 install, g2opy get compiled correctly under the ubuntu20 branch.

I run pySLAM under win10, and only run the visual odometer that is main_vo.py. The trajectory error on the Kitti data set is very small, as shown in the first figure, but the results are basically incorrect when running the TUM data set, as shown in the second as shown in the figure. I have changed the camera parameters in the program, why is this? I have tried several TUM datasets and they are all wrong~ I can't find where the problem is~
dd1431f58a88e81f6d990c16a61ba0b
a0eb721764e4f56881829f1ba864a72

Hi,
you can't use main_vo.py on TUM datasets.
This is well explained in the README:
Screenshot from 2022-03-18 18-27-37

Indeed, with main_vo.py

you need to use a ground truth in order to recover a correct inter-frame scale s and estimate a valid trajectory by composing $C_k = C_{k-1} * [R_{k-1,k}, s t_{k-1,k}]$.
This script is a first start to understand the basics of inter-frame feature tracking and camera pose estimation.

You need the full main_slam.py in order to run other datasets.

You can find further details in this related thread #20.
As a side note, I think it's always great to take some time to read the main README file 🙂

Hi, you can't use main_vo.py on TUM datasets. This is well explained in the REAMDE Screenshot from 2022-03-18 18-27-37

Indeed, with main_vo.py

you need to use a ground truth in order to recover a correct inter-frame scale s and estimate a valid trajectory by composing $C_k = C{k-1} * [R_{k-1,k}, s t_{k-1,k}]$._ This script is a first start to understand the basics of inter-frame feature tracking and camera pose estimation.

You need the full main_slam.py in order to run other datasets.

Thank you so much for your guidance, this pySLAM project of yours is really nice.

Hello, I used main_slam.py to run the TUM dataset, but I only want the function of visual odometry, no need to map, how should I change it in the pySLAM program? Or what features are turned off?

Hello @zxl152723,
Did you have time to read the main README file?
Did you study the code?
What's your experience with SLAM?