使用 MYNTEYE 运行 OKVIS

步骤

1.下载并安装MYNT-EYE-S-SDK
2.安装依赖项,并遵循原始OKVIS的过程构建MYNT-EYE-OKVIS-Sample;
3.将相机参数更新到~/MYNT-EYE-OKVIS-Sample/config/config_mynteye.yaml
4.使用mynteye camaera运行okvis。

安装 MYNTEYE OKVIS

安装依赖

  • CMake
sudo apt-get install cmake
  • google-glog + gflags
sudo apt-get install libgoogle-glog-dev
  • BLAS & LAPACK
sudo apt-get install libatlas-base-dev
  • Eigen3
sudo apt-get install libeigen3-dev
  • SuiteSparse and CXSparse
sudo apt-get install libsuitesparse-dev
  • Boost
sudo apt-get install libboost-dev libboost-filesystem-dev
sudo apt-get install libopencv-dev

编译MYNTEYE OKVIS

git clone -b mynteye-s https://github.com/slightech/MYNT-EYE-OKVIS-Sample.git
cd MYNT-EYE-OKVIS-Sample/
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j4

获取相机标定参数

通过 MYNT-EYE-S-SDK API 的 GetIntrinsics() 和 GetExtrinsics() 函数,您可以获得当前打开设备的标定参数,按照步骤操作:

cd MYNT-EYE-S-SDK
./samples/_output/bin/tutorials/get_img_params

运行上述命令后,获取了相机的内参和畸变系数,然后按照以下格式更新到~/MYNT-EYE-OKVIS-Sample/config/config_mynteye.yaml。应该注意,只需要在 distortion_coefficients 中填充 coeffs 的前四个参数。

distortion_coefficients: [coeffs]
focal_length: [fx, fy]
principal_point: [cx, cy]
distortion_type: radialtangential

注意:这里只获取了相机的标定参数,因为OKVIS是融合视觉和IMU的SLAM系统,所以还需要获取IMU的参数和相机相对于IMU的位姿,需要使用HEALTH WARNING: calibration中的Kalibr工具。

运行MYNTEYE OKVIS

cd MYNT-EYE-OKVIS-Sample/build
./okvis_app_mynteye_s ../config/config_mynteye.yaml

这里,可能会报以下错误:

./okvis_app_mynteye_s: error while loading shared libraries: libmynteye.so.2: cannot open shared object file: No such file or directory

解决方法:找到 libmynteye.so.2 的路径,并建立链接。

find / -name libmynteye.so.2

输出:

/home/wb/MYNT-EYE-S-SDK/_output/lib/libmynteye.so.2

打开/etc/ld.so.conf,添加/home/wb/MYNT-EYE-S-SDK/_output/lib,然后保存。

cd /etc/
sudo ldconfig

运行截图
在这里插入图片描述
因为我还没有用kalibr标定我的小觅相机,所以直接用的Github上的config_mynteye.yaml,实测效果非常差。
现象:

  • 即时相机静止,图像也会抖动,甚至缺失
  • 相机静止,轨迹漂移严重

小觅智能 SLAM 技术总监周平在深蓝学院的公开课中展示了使用小觅相机运行OKVIS的视频,效果还是不错的,所以最好用Kalibr标定小觅相机后,再运行OKVIS,才可能得到良好的效果。

HEALTH WARNING: calibration

如果您想在自己的硬件设置上运行软件/库,请注意只有通过适当的校准才能获得良好的结果(或结果)。

  • 相机内参
  • 相机外参(相对于IMU的位姿)
  • IMU噪声参数
  • 所有传感器的准确时间同步

要自己进行校准,我们建议如下:

git fetch origin pull/3/head:request3
git checkout request3

猜你喜欢

转载自blog.csdn.net/learning_tortosie/article/details/84137912