Code Monkey home page Code Monkey logo

kenki-positioning-vslam's Introduction

kenki-posi

This project is for real-time positioning for construction machines at dynamic construction sites using stereo visual SLAM.


How to use?

  • First install the dependencies.
  • Download our dataset for the demo.
  • Build with the script build.sh.
  • Run the demo with the script Example/Stereo/auto10.sh

Dependencies

C++11 Compiler
We use the new thread and chrono functionalities of C++11.

Pangolin
We use Pangolin for visualization and user interface. Install it like this:

cd /path/to/working/dir
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
git checkout ad8b5f83222291c51b4800d5a5873b0e90a0cf81
mkdir build && cd build
cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr/local \
    ..
make -j4
make install

OpenCV
We use OpenCV 3.4.0. You need to install with CUDA enabled. Install it like this:

cd /path/to/working/dir
wget -q https://github.com/opencv/opencv/archive/3.4.0.zip
unzip -q 3.4.0.zip
rm -rf 3.4.0.zip
cd opencv-3.4.0
mkdir -p build && cd build
cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_TBB=ON -DBUILD_NEW_PYTHON_SUPPORT=ON -DWITH_V4L=ON -DWITH_OPENGL=ON -DENABLE_FAST_MATH=1 -DCUDA_FAST_MATH=1 -DWITH_CUBLAS=1 -DBUILD_TIFF=ON ..  
make -j4
make install

Eigen3
Required by g2o (see below). Install like this:

cd /path/to/working/dir
wget -q https://gitlab.com/libeigen/eigen/-/archive/3.3.4/eigen-3.3.4.tar.bz2
tar xf eigen-3.3.4.tar.bz2
rm -rf eigen-3.3.4.tar.bz2
cd eigen-3.3.4
mkdir -p build && cd build
cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr/local \
    ..
make -j4
make install

DBoW2 and g2o (Included in Thirdparty folder)
We use modified versions of the DBoW2 library to perform place recognition and g2o library to perform non-linear optimizations. Both modified libraries (which are BSD) are included in the Thirdparty folder.


Dataset

example dataset (10GB)!!
mydataset(kitti00)
More datasets to be released:


Citation

To use the code, please cite:

  @article{doi:10.1080/01691864.2020.1869586,
  author = { Runqiu   Bao  and  Ren   Komatsu  and  Renato   Miyagusuku  and  Masaki   Chino  and  Atsushi   Yamashita  and  Hajime   Asama },
  title = {Stereo camera visual SLAM with hierarchical masking and motion-state classification at outdoor construction sites containing large dynamic objects},
  journal = {Advanced Robotics},
  volume = {0},
  number = {0},
  pages = {1-14},
  year  = {2021},
  publisher = {Taylor & Francis},
  doi = {10.1080/01691864.2020.1869586},
  URL = {https://doi.org/10.1080/01691864.2020.1869586},
  eprint = {https://doi.org/10.1080/01691864.2020.1869586}
  }

You can read the preprint of the paper on Arxiv:)
[preprint](https://arxiv.org/abs/2101.06563)

kenki-positioning-vslam's People

Contributors

runqiubao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

kenki-positioning-vslam's Issues

error: (-215:Assertion failed) m.dims >= 2 in function 'Mat'

Hello, I got an error while running the code. I don't know why. Can you help me? thank you. The error is as follows:

./auto10.sh
maskThr: 0.6
frameskip: 10
refFrameDist: 3
usingColorImage: 1
/home/gyf/SLAM/DataSet/KITTI/mydataset-kitti00/mav0/cam-para.yaml
/home/gyf/SLAM/PaperCode/1/kenki-positioning-vSLAM-master/Vocabulary/ORBvoc.bin

ORB-SLAM2 Copyright (C) 2014-2016 Raul Mur-Artal, University of Zaragoza.
This program comes with ABSOLUTELY NO WARRANTY;
This is free software, and you are welcome to redistribute it
under certain conditions. See LICENSE.txt.

Input sensor was set to: Stereo

Loading ORB Vocabulary. This could take a while...
Vocabulary loaded in 0.32s

Camera Parameters:

  • fx: 718.856
  • fy: 718.856
  • cx: 607.193
  • cy: 185.216
  • k1: 0
  • k2: 0
  • p1: 0
  • p2: 0
  • fps: 10
  • color order: RGB (ignored if grayscale)

ORB Extractor Parameters:

  • Number of Features: 1200
  • Scale Levels: 8
  • Scale Factor: 1.2
  • Initial Fast Threshold: 20
  • Minimum Fast Threshold: 7

Depth Threshold (Close/Far Points): 18.6316


Start processing sequence ...
Images in the sequence: 4541

0
MAR:0.060225
New map created with 475 points
1stTrack: 0.235552 seconds !!!
yunxingdaozhe
yunxingdaozhe
10
MAR:0.022310
Motion-only BA: 0.000481991 seconds !!!
1stTrack: 0.0513798 seconds !!!
yunxingdaozhe
yunxingdaozhe
20
MAR:0.054625
Motion-only BA: 0.000175145 seconds !!!
Track lost soon after initialisation, reseting...
1stTrack: 0.0322095 seconds !!!
yunxingdaozhe
yunxingdaozhe
30
MAR:0.063163
1stTrack: 0.0323984 seconds !!!
terminate called after throwing an instance of 'cv::Exception'
what(): OpenCV(3.4.4) /home/gyf/opencv-3.4.4/modules/core/src/matrix.cpp:406: error: (-215:Assertion failed) m.dims >= 2 in function 'Mat'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.