ubuntu16.04下dyna-slam编译运行
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编译运行相关推荐
- Ubuntu16.04下配置ORB-SLAM2与运行单目实例
Ubuntu16.04下配置ORB-SLAM2与运行单目实例 一.安装相关工具 二.安装Pangolin 三.安装opencv 四.安装Eigen 五.安装ORB_SLAM2 六.安装usb_cam ...
- ubuntu16.04下linux内核编译升级更新以及设备驱动程序的编写
最近学院里的nfc老师要我们做个设备驱动,之前从没接手过这个东西,加上老师给的材料错误也是一大堆,搞了差不多一个星期才搞出来.特此写一个博客,以免后来人和我一样跳坑. 总体考虑 要去写设备 ...
- Bullet3-2.87在Ubuntu16.04下源码编译安装
编译安装Bullet3-2.87 安装过程其实很简单,有多重源码安装方法,这里提供两种: 方法1: cd bullet3-2.87 mkdir build && cd build cm ...
- ubuntu16.04下运行Drcom客户端
ubuntu16.04下运行Drcom客户端 先解决依赖问题,所以需要通过其他方式先连上网,然后终端执行(64位系统):sudo apt-get install build-essential mak ...
- vscode linux新建c语言,Ubuntu16.04下配置VScode的C/C++开发环境
1. Vscode安装 Visual studio code是微软发布的一个运行于 Mac OS X.Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器.第一种 ...
- linux arm移远重启4g,如何在Ubuntu16.04下配置移远RM500工业模组(5G工业模组)
如何在Ubuntu16.04下配置移远RM500工业模组(5G工业模组) 如何在Ubuntu16.04下配置移远RM500工业模组(5G工业模组) 最近由于工作原因入手了移远的5G(RM500H工业模 ...
- Ubuntu16.04下基于opencv--实现图像SIFT特征与全景图片的生成
Ubuntu16.04下基于opencv--实现图像SIFT特征与全景图片的生成 一. 理解和实践SIFT特征提取与匹配 二. 全景图片的生成 三.循环依次读取一个序列图片,进行匹配连线 一. 理解和 ...
- 【ROS】学习笔记一 ubuntu16.04下vs code配置ros环境并编写helloworld程序
[ROS]ubuntu16.04下vs code配置ros环境并编写helloworld程序 一.vs code下载 1.相关配置要求: (1)系统为ubuntu16.04 (2)已安装好kineti ...
- ubuntu16.04下使用Modbus RTU协议控制Robotiq
ubuntu16.04下使用Modbus RTU协议控制Robotiq 一.设备配置 二.创建工作空间 三.安装驱动 四.配置串口 五. ROS节点控制夹爪 六.RVIZ显示模型 一.设备配置 操作系 ...
最新文章
- KS004 基于SSH通讯录系统设计与实现
- eclipse安装lombok插件 ,但是:lombok注解不起作用(亲测有效!)
- initializeBean()方法为容器产生的Bean 实例对象添加BeanPostProcessor 后置处理器
- java监控rabbitMq服务状态,SpringCloud-Turbine【RabbitMQ服务监控】
- Mysql中int(M)的含义
- java 0xaarrggbb 转换_RRGGBBAA或者RRGGBB转换成rgba()
- 设计抗住千万级流量的架构思路(转)
- Spark Yarn Client模式spark.driver.host导致 Cannot assign requested address: Service ‘sparkDriver‘ failed
- LabWindows/CVI第一章:基本规则
- nas服务器改成网站,nas配置web服务器
- g4600黑苹果efi_Matebook 13/14 黑苹果 通用EFI分享amp;安装教程?
- 人员基础信息一体化采集系统平台
- ideaIU-2021.3配置Git/SVN
- zblog添加html标题出错,ZBLOG模板修改的一些技巧小结
- 好软推荐之FeedDemon
- ERP软件与需求漫延,如何解决?
- python clicknium 库自动化千牛桌面端
- (2021年)is not a supported wheel on this platform解决方案
- 设计一个互联网交换设备的SNMP MIB库“X-MIB”
- matlab 色温图,技术:图文教你了解色温及如何选择色温