SLAM测试5-YGZ-Stereo-Inertial(GAAS双目视觉ygz -立体惯性SLAM)

这篇主要测试GAAS开源无人机里用到的一种SLAM算法,目的是先对该SLAM算法进行熟悉,再开始入手GAAS视觉定位。GIThub上的代码地址为:

https://github.com/gaoxiang12/ygz-stereo-inertial

这是ygz -立体惯性SLAM,立体惯性VO。它是专为立体声和立体声惯性传感器模块,如vi传感器。它采用LK光流作为前端,滑动窗口束调节作为后端。您可以在数据集和自己的传感器中随意尝试。由于手头还没有双目摄像头,打算先用数据集进行测试。

1. 安装依赖

如果使用ubuntu,只需输入“./install_dep”。安装除pangolin以外的所有依赖。或者可以单独安装:

  • Pangolin (for visualization): https://github.com/stevenlovegrove/Pangolin
  • Eigen3: sudo apt-get install libeigen3-dev
  • g2o: sudo apt-get install libcxsparse-dev libqt4-dev libcholmod3.0.6 libsuitesparse-dev qt4-qmake
  • OpenCV: sudo apt-get install libopencv-dev
  • glog (for logging): sudo apt-get install libgoogle-glog-dev

2. 编译

运行 "./generate.sh" 编译所有, 或者根据 generate.sh的单独编译。

3. 运行示例数据集

您可以将stereo或stereo-imu数据放入ygz-stereo中,例如EUROC数据集(http://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets)。我们提供纯立体视觉和立体惯性视觉的EUROC。运行纯视觉的例子,键入:

bin/EurocStereo ./examples/EurocStereo.yaml

运行纯视觉模式。不要忘记先在.yaml配置文件中指定数据集目录。此外,要运行视觉惯性模式,请键入:  运行立体声VIO案例。

bin/EurocStereoVIO ./examples/EurocStereoVIO.yaml

 具体做法:

(1)根据数据集链接进去,下载MH第一个数据集,解压,将数据集放到/home/chen/catkin_ws3/src/ygz-stereo-inertial/data(这里因为我把ygz-stereo-inertial放在一个新建的工作空间catkin_ws3内进行编译的。)

a. 纯立体视觉数据集测试

更改./examples/EurocStereo.yaml中数据集地址,打开EurocStereo.yaml,将

# Dataset dirs
LeftFolder: /home/gaoxiang/dataset/euroc/V1_01_easy/cam0/data
RightFolder: /home/gaoxiang/dataset/euroc/V1_01_easy/cam1/data
TimeFolder: /home/gaoxiang/code/ygz-stereo-release/examples/EuRoC_TimeStamps/V101.txt

更改为:

# Dataset dirs
LeftFolder: /home/chen/catkin_ws3/src/ygz-stereo-inertial/data/mav0/cam0/data
RightFolder: /home/chen/catkin_ws3/src/ygz-stereo-inertial/data/mav0/cam1/data
TimeFolder: /home/chen/catkin_ws3/src/ygz-stereo-inertial/examples/EuRoC_TimeStamps/MH01.txt

然后,运行:

chen@chen:~/catkin_ws3/src/ygz-stereo-inertial$ bin/EurocStereo ./examples/EurocStereo.yaml
Illegal instruction (core dumped)

结果报错,比较难搞的问题,不知道怎么解决。。。。待续,如果谁有好的办法,希望留言???

b. 立体惯性视觉数据集测试

同理,将EurocStereoVIO.yaml中数据集位置更改为:

LeftFolder: /home/chen/catkin_ws3/src/ygz-stereo-inertial/data/mav0/cam0/data
RightFolder: /home/chen/catkin_ws3/src/ygz-stereo-inertial/data/mav0/cam1/data
IMUFolder:  /home/chen/catkin_ws3/src/ygz-stereo-inertial/data/mav0/imu0/data.csv
TimeFolder: /home/chen/catkin_ws3/src/ygz-stereo-inertial/examples/EuRoC_TimeStamps/MH01.txt

然后运行:

chen@chen:~/catkin_ws3/src/ygz-stereo-inertial$ bin/EurocStereoVIO ./examples/EurocStereoVIO.yaml
I1113 19:40:50.543462  9327 System.cpp:54] YGZ system all ready, waiting for images ...
I1113 19:40:51.003077  9327 TrackerLK.cpp:63]

********* Tracking frame 0 **********
I1113 19:40:51.003176  9327 TrackerLK.cpp:92] Detecting features
I1113 19:40:51.003190  9327 ORBExtractor.cpp:469] Calling fast single level
Illegal instruction (core dumped)

分析原因,可能我的笔记本配置的问题。所以下次打算换个笔记本试试。

 

 

 

 

你可能感兴趣的:(SLAM)