ubuntu16.04下dyna-slam编译运行

  • 1. 显卡驱动安装
  • 2. cuda安装
    • cuda与cudnn换版本可参考
  • 3. cudnn安装
  • 4. ORB_SLAM2依赖
    • 4.1 安装Pangolin
    • 4.2 安装OpenCV-2.4.11
    • 4.3 安装Eigen3.1.0
    • 4.4 安装keras2.0.8
    • 4.5 安装Tensorflow
    • 4.6 安装MaskRCNN
    • 4.7 安装pycocotools
  • 5. 编译运行DynaSLAM
  • 6. 参考文章

1. 显卡驱动安装

驱动下载链接

nouveau是16系统默认的第三方开源程序,不禁用后面会与NVIDIA显卡驱动安装发生冲突报错
在文档最后面添加以下内容用来禁用

sudo gedit /etc/modprobe.d/blacklist.conf
blacklist nouveau
options nouveau modeset=0

重启

sudo update-initramfs -u
reboot

提前下载好显卡驱动放在/home
准备两台设备
ctrl+alt+f1 进入命令行界面

sudo service lightdm stop
sudo apt-get remove nvidia-*
sudo chmod  a+x NVIDIA-Linux-x86_64-470.63.01.run
sudo ./NVIDIA-Linux-x86_64-470.63.01.run -no-x-check -no-nouveau-check

continue installation
yes
ok

sudo service lightdm start

ctrl+alt+f7回到登录界面

查看是否安装完成

nvidia-smi


2. cuda安装

cuda与cudnn换版本可参考

sudo chmod a+x cuda_8.0.61_375.26_linux.run
sudo sh cuda_8.0.61_375.26_linux.run

部分选择
accept
是否安装显卡驱动 : n
yes
yes
yes

sudo gedit ~/.bashrc

在文件中添加:

export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

查看cuda:

sudo apt install nvidia-cuda-toolkit
nvcc -V


3. cudnn安装

nvidia官网下载
cudnn6.0 for cuda8.0
cuDNN v6.0 Library for Linux

sudo tar -zxvf cudnn-8.0-linux-x64-v6.0.tgz

解压后会出现一个cuda文件夹

cd cuda
sudo cp include/cudnn.h /usr/local/cuda/include/
sudo cp lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

查看cudnn版本:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2


4. ORB_SLAM2依赖

4.1 安装Pangolin

sudo apt-get install libglew-dev
sudo apt-get install cmake
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake ..
make -j12
sudo make install
  • 出现链接库不存在时
sudo rm  /usr/lib/x86_64-linux-gnu/libGL.so
sudo ln -s  /usr/lib/libGL.so.1  /usr/lib/x86_64-linux-gnu/libGL.so

4.2 安装OpenCV-2.4.11

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
cd opencv-2.4.11
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -DWITH_CUDA=OFF ..
make -j12
sudo make install

4.3 安装Eigen3.1.0

cd eigen-3.1.0
mkdir build
cd build
cmake ..
sudo make install
sudo cp -r /usr/local/include/eigen3 /usr/include

4.4 安装keras2.0.8

wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
sudo python2 get-pip.py
sudo apt update
sudo apt install --no-install-recommends python2.7-minimal python2.7
sudo apt install python-numpy python-scipy
sudo pip2 install keras==2.0.8

4.5 安装Tensorflow

下载Tensorflow-gpu文件:

https://mirrors.tuna.tsinghua.edu.cn/tensorflow/linux/gpu/tensorflow_gpu-1.4.0rc1-cp27-none-linux_x86_64.whl

pip2 install numpy==1.16.1
pip2 install Markdown==2.6.8sudo pip2 install tensorflow_gpu-1.4.0rc1-cp27-none-linux_x86_64.whl
  • 测试tensorflow,输出hello则完成
python
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
sess.run(hello)
  • 可能出现的错误:

  • 1、ImportError: libcusolver.so.8.0: cannot open shared object
    file: No such file or directory

sudo ldconfig /usr/local/cuda/lib64
  • 2、import moudle error! no moudle named mock.
pip install mock==0.8.0
  • 3、File “/usr/local/lib/python2.7/dist-packages/google/protobuf/descriptor.py”, line 113
    class DescriptorBase(metaclass=DescriptorMetaclass):
    SyntaxError: invalid syntax
sudo pip uninstall protobuf==3.18.0
sudo pip install protobuf==3.17.3

4.6 安装MaskRCNN

git clone https://github.com/matterport/Mask_RCNN.git
cd Mask_RCNN
  • 因为已经安装好TensorFlow1.4和Keras2.0.8,需要将requirements.txt中的这两项去掉
  • 依次安装:
pip2 install cpython
sudo apt-get install python-matplotlib
pip2 install futurepip install --upgrade pippip install pillow==4.3.0
pip install scikit-image==0.11.3
python -m pip install opencv-python==4.2.0.32pip install h5py
pip install imageio==2.6.1
pip2 install matplotlib==2.0.0
pip install imgaugpip2 install notebook
//ERROR:terminado 换成以下命令
//python -m pip install jupyter notebook -i https://pypi.douban.com/simple/ --trusted-host pypi.douban.com
pip2 install qtconsole
pip2 install ipywidgets
pip2 install Sphinxsudo pip2 install -r requirements.txt

4.7 安装pycocotools

git clone https://github.com/waleedka/coco.git
cd coco/PythonAPI
make
pip install pycocotools

5. 编译运行DynaSLAM

下载dynaslamwget https://github.com/BertaBescos/DynaSLAM/tree/bbescos/feature/carla

将coco/PythonAPI下的pycocotools文件夹和mask_rcnn_coco.h5放到Dynaslam的src/python目录下。

打开Check.py,将第17行的ROOT_DIR = “src/python”,改为ROOT_DIR = “./”,保存退出。

python Check.py

显示maskrcnn is correct

  • 如果显示 ImportError: libcusolver.so.8.0: cannot open shared object file:
    No such file or directory
sudo ldconfig /usr/local/cuda/lib64

DynaSLAM、/Thirdpary/DBoW2和/Thirdparty/g2o三个文件夹下的CMakeLists.txt 将-march=native删除

  • Viewer.cc中Run()函数中
cv::imshow("DynaSLAM: Current Frame",im);
cv::imshow("DynaSLAM: Dynamic Frame", im_dyn)

修改为:

if(!im.empty())
{cv::imshow("DynaSLAM: Current Frame",im);
}if(!im_dyn.empty())
{cv::imshow("DynaSLAM: Dynamic Frame", im_dyn);
}
cd DynaSLAM
sudo apt-get install cmake qt5-default qtcreator
bash  build.sh
  • 如果显示libEGL.so no exist
cd /usr/lib/x86_64-linux-gnu/
sudo rm libEGL.so
sudo ln -s libEGL.so.1.1.0 libEGL.so
bash  build.sh
  • 如果显示 boost 库问题升级 cmake 和安装 boost

安装升级参考链接

  • 在DynaSLAM根目录中新建data文件夹,在data文件夹中再新建两个文件夹mask和output
  • 数据集放在data里面
  • 下载 associate.py 放入数据集的根目录
python associate.py rgb.txt depth.txt > associated.txt
./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM3.yaml ./data/rgbd_dataset_freiburg3_walking_rpy/ ./data/rgbd_dataset_freiburg3_walking_rpy/associated.txt ./data/mask ./data/output


6. 参考文章

https://blog.csdn.net/weixin_43951792/article/details/117168783
https://blog.csdn.net/u011622208/article/details/115955663
https://blog.csdn.net/qq_42938987/article/details/83795217
https://blog.csdn.net/zbr794866300/article/details/106564588
https://blog.csdn.net/DD_PP_JJ/article/details/113822166

ubuntu16.04下dyna-slam编译运行相关推荐

  1. Ubuntu16.04下配置ORB-SLAM2与运行单目实例

    Ubuntu16.04下配置ORB-SLAM2与运行单目实例 一.安装相关工具 二.安装Pangolin 三.安装opencv 四.安装Eigen 五.安装ORB_SLAM2 六.安装usb_cam ...

  2. ubuntu16.04下linux内核编译升级更新以及设备驱动程序的编写

    ​​​​​​最近学院里的nfc老师要我们做个设备驱动,之前从没接手过这个东西,加上老师给的材料错误也是一大堆,搞了差不多一个星期才搞出来.特此写一个博客,以免后来人和我一样跳坑. 总体考虑 要去写设备 ...

  3. Bullet3-2.87在Ubuntu16.04下源码编译安装

    编译安装Bullet3-2.87 安装过程其实很简单,有多重源码安装方法,这里提供两种: 方法1: cd bullet3-2.87 mkdir build && cd build cm ...

  4. ubuntu16.04下运行Drcom客户端

    ubuntu16.04下运行Drcom客户端 先解决依赖问题,所以需要通过其他方式先连上网,然后终端执行(64位系统):sudo apt-get install build-essential mak ...

  5. vscode linux新建c语言,Ubuntu16.04下配置VScode的C/C++开发环境

    1. Vscode安装 Visual studio code是微软发布的一个运行于 Mac OS X.Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器.第一种 ...

  6. linux arm移远重启4g,如何在Ubuntu16.04下配置移远RM500工业模组(5G工业模组)

    如何在Ubuntu16.04下配置移远RM500工业模组(5G工业模组) 如何在Ubuntu16.04下配置移远RM500工业模组(5G工业模组) 最近由于工作原因入手了移远的5G(RM500H工业模 ...

  7. Ubuntu16.04下基于opencv--实现图像SIFT特征与全景图片的生成

    Ubuntu16.04下基于opencv--实现图像SIFT特征与全景图片的生成 一. 理解和实践SIFT特征提取与匹配 二. 全景图片的生成 三.循环依次读取一个序列图片,进行匹配连线 一. 理解和 ...

  8. 【ROS】学习笔记一 ubuntu16.04下vs code配置ros环境并编写helloworld程序

    [ROS]ubuntu16.04下vs code配置ros环境并编写helloworld程序 一.vs code下载 1.相关配置要求: (1)系统为ubuntu16.04 (2)已安装好kineti ...

  9. ubuntu16.04下使用Modbus RTU协议控制Robotiq

    ubuntu16.04下使用Modbus RTU协议控制Robotiq 一.设备配置 二.创建工作空间 三.安装驱动 四.配置串口 五. ROS节点控制夹爪 六.RVIZ显示模型 一.设备配置 操作系 ...

最新文章

  1. KS004 基于SSH通讯录系统设计与实现
  2. eclipse安装lombok插件 ,但是:lombok注解不起作用(亲测有效!)
  3. initializeBean()方法为容器产生的Bean 实例对象添加BeanPostProcessor 后置处理器
  4. java监控rabbitMq服务状态,SpringCloud-Turbine【RabbitMQ服务监控】
  5. Mysql中int(M)的含义
  6. java 0xaarrggbb 转换_RRGGBBAA或者RRGGBB转换成rgba()
  7. 设计抗住千万级流量的架构思路(转)
  8. Spark Yarn Client模式spark.driver.host导致 Cannot assign requested address: Service ‘sparkDriver‘ failed
  9. LabWindows/CVI第一章:基本规则
  10. nas服务器改成网站,nas配置web服务器
  11. g4600黑苹果efi_Matebook 13/14 黑苹果 通用EFI分享amp;安装教程?
  12. 人员基础信息一体化采集系统平台
  13. ideaIU-2021.3配置Git/SVN
  14. zblog添加html标题出错,ZBLOG模板修改的一些技巧小结
  15. 好软推荐之FeedDemon
  16. ERP软件与需求漫延,如何解决?
  17. python clicknium 库自动化千牛桌面端
  18. (2021年)is not a supported wheel on this platform解决方案
  19. 设计一个互联网交换设备的SNMP MIB库“X-MIB”
  20. matlab 色温图,技术:图文教你了解色温及如何选择色温

热门文章

  1. IP 地址的A B C类划分、区别
  2. Python创建微信聊天机器人
  3. Appium v1.22.0版本下Appium Inspector的下载安装
  4. MSP430F435 c语言IAR编译软件报错解决方法笔记
  5. CTF各种资源:题目、工具、资料
  6. access应用是计算机吗,计算机access的应用技术.ppt
  7. 计算机统考-ppt操作题2
  8. 给Mi5刷个原生安卓系统
  9. 计算机应用新教程,计算机应用基础教程(新)-李久仲 第1单元 计算机基础知识
  10. 正正电商源码--正正广告电商系统开发源码分享