前言
#为了尽快融入实验室项目,笔者开始接触SLAM,从VINS-Mono开始,之前参考网上的教程,走了很多弯路,作为新手小白,配置了好久(给估计两周吧),面对无数的报错,虚拟机、双系统都是装了删,删了装,真的很崩溃,但好事多磨,自己成功跑通,一下子释怀,有感而发,写下此博客,希望能帮助迷茫的朋友!
#笔者已经在双系统,虚拟机均多次实际操作,按照此博客从头开始,可以完美运行VINS-Mono,当然,前提是请不要擅自脱离此博客升级降低各种工具、包版本,更改路径等
#因为有双系统和虚拟机,笔者放在一起了,所以在前面会有一些只属于虚拟机或双系统的步骤,大家选择性观看,部分资源包在下载时会很慢,相信大家有方法的
#此博客是笔者总结的,内容多数参考实验室师兄的配置文档,部分来自优快云,在此致谢
#第一次写,布局等若有凌乱,请见谅,内容如有侵权,请联系删除(bushi)
一. 【VMware 16.1 下载与安装】
有现成的可跳过
https://download3.vmware.com/software/wkst/file/VMware-workstation-full-16.1.0-17198959.exe
建议:不勾选‘启动时检查更新’与‘加入体验计划’;
密钥笔者当时也是网上搜的,相信大家也可以
二.【下载ubuntu 18.04.6.】
https://mirrors.aliyun.com/ubuntu-releases/18.04/ubuntu-18.04.6-desktop-amd64.iso?spm=a2c6h.25603864.0.0.3b9f5e15I4rfXB
三.【安装ubuntu】
创建新的虚拟机----------典型(推荐)----------下一步-----------稍后安装操作系统-----------下一步----------Linux-------Ubuntu 64位--------下一步--------虚拟机名称与位置自定义(空间足够建议就在默认位置)--------下一步---------磁盘大小60~80GB(空间足够可以更大)-------将虚拟磁盘拆分成多个文件---------下一步-------自定义硬件--------新CD/DVD(SATA)---------使用ISO映像文件----------选中之前下载ubuntu-18.04.6-desktop-amd64.iso-------关闭-------完成--------开启该虚拟机
四.【ubuntu安装引导】
欢迎------—中文(简体)---------安装ubuntu-------键盘布局---------英语(美国)---------继续-------------正常安装--------继续---------(不链接wifi)-------------继续----------其他选项----------继续
--双击空闲硬盘
-此步虚拟机用户忽略(双系统),用空闲C盘空间,大小分配200M,分区为主分区,空间起始位置,用于EFI系统分区
-挂载点 /boot 大小分配500M,分区为逻辑分区,新分区位置为空间起始位置,用于Ex4
-挂载点 / 大小分配20000M,分区为逻辑分区,新分区位置为空间起始位置,用于Ex4
-大小分配10000M,分区为逻辑分区,新分区位置为空间起始位置,用于交换空间
-挂载点 /home 大小分配剩下部分,分区为逻辑分区,新分区位置为空间起始位置,用于Ex4
(虚拟机若出现因分辨率过低导致看不全,使用alt+F7拖动窗口)
分配完选择现在安装,继续,一路确认下去
用户名和密码等随意
重启后ubuntu安装结束,回到虚拟机设置中将CD/DVD的映像文件关闭
建议在ubuntu中设置将息屏时间调久
五.【虚拟机VMwate Tools安装】此步双系统忽略
点击‘虚拟机’-安装‘VMwate Tools’后会在ubuntu系统内新出现一个CD光盘,点开,将VMwareTools-**.**.**.******.tar.gz复制到home并提取,
进入后在当前目录打开终端,手动输入sudo ./vmware-tools-distrib/vmware-install.pl
中间有Yes或No就输入Yes,其他直接回车回到VMware,虚拟机设置-选项-共享文件夹启用、开启时间同步
重启虚拟机,可以实现主机与虚拟机文件、剪切板的共用。
六.【ROS安装】
配置ubuntu的软件和更新,打开“软件和更新”对话框(左下角九个点),确保勾选了"restricted", "universe," 和 "multiverse."
在下载自: 加入站点 http://mirrors.aliyun.com/ubuntu (选项里有)
打开终端,先添加选清华源,再添加阿里源作为备用
清华源(复制全部,在终端运行)
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
阿里源(复制全部,在终端运行,之后的类似)
sudo sh -c 'echo "deb http://mirrors.aliyun.com/ubuntu bionic main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu bionic-updates main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu bionic-security main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu bionic-proposed main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu bionic-backports main multiverse restricted universe" > /etc/apt/sources.list'
密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
【更新软件源】
sudo apt update
【安装ROS】
sudo apt install ros-melodic-desktop-full 提示后输入y按enter键安装
【设置环境变量】
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
【安装构建依赖】
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential 提示后输入y按enter键安装
【测试Ros安装成功】(其实,肯定没问题哈哈)
打开三个终端分别运行 roscore
rosrun turtlesim turtlesim_node 弹出乌龟
rosrun turtlesim turtle_teleop_key 在此终端可通过上下左右键盘可操纵乌龟
【安装配置过程中需要的cmake、gcc、g++和Git工具】(这些好像装ROS已经有了,有点累赘,任性放这)
sudo apt install git
sudo apt install cmake
sudo apt install g++
sudo apt install gcc
七.【安装全部可能用到的依赖,不知道用不用的上,反正我安了】
sudo apt install build-essential
sudo apt install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
sudo apt install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
一步步执行以下命令,若出现找不到包,定位等问题,跳过即可(不影响的)
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool -y
sudo apt-get install ros-melodic-vision-opencv ros-melodic-image-transport-plugins -y
sudo apt-get install ros-melodic-cmake-modules python-software-properties -y
sudo apt install build-essential gfortran -y
sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev -y
sudo apt-get install python-setuptools python-rosinstall ipython -y
sudo apt-get install libeigen3-dev libboost-all-dev doxygen libopencv-dev -y
sudo apt install libglew-dev cmake libboost-dev libboost-thread-dev libboost-filesystem-dev -y
sudo apt-get install software-properties-common libpoco-dev python-matplotlib -y
sudo apt-get install python-scipy python-git python-pip ipython libtbb-dev -y
sudo apt-get install libblas-dev liblapack-dev python-catkin-tools libv4l-dev -y
sudo apt-get install python-igraph libglew-dev cmake-qt-gui libblas* libfftw3-dev libatlas-base-dev -y
sudo apt-get update
sudo apt-get upgrade
八.【安装 OpenCV3.4.3】
建议新建package文件夹,将所有的资源包放在一起,便于使用
https://github.com/opencv/opencv/archive/refs/tags/3.4.3.tar.gz(cmake,make,install老三样了)
cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_TBB=ON -D WITH_V4L=ON -D CMAKE_INSTALL_PREFIX=/usr/local/opencv/3.4.3 ..
完成后再输入 make -j4 最后 sudo make install -j4
之后 sudo gedit ~/.bashrc 在末尾加上两行
export PKG_CONFIG_PATH=/usr/local/opencv/3.4.3/lib/pkgconfig
export LD_LIBRARY_PATH=/usr/local/opencv/3.4.3/lib
保存退出后 source ~/.bashrc 刷新环境
九.【安装Engin3】(好像也多余了,再任性一次)
sudo apt install libeigen3-dev
十.【安装Pangolin0.5】
https://github.com/stevenlovegrove/Pangolin/archive/refs/tags/v0.5.tar.gz
新建build ,打开,打开终端,先cmake .. 再make 最后sudo make install
十一.【安装Ceres2.1.0】
https://github.com/ceres-solver/ceres-solver/archive/refs/tags/2.1.0.tar.gz
新建build ,打开,打开终端,先cmake .. 再make -j4 最后sudo make install -j4
十二.【安装并运行Vins-mono】
主文件夹新建catkin_ws,打开,新建src,同时将下载好的数据集放在当前目录,将VINS-mono-master文件放在src里,再到catkin_ws目录下,即存放src和数据集(MH_01)的目录下打开终端,
先catkin_make ,再source devel/setup.bash
在catkin_ws目录下打开一个终端,再ctrl+shift+t两次,共三个,分别运行
source devel/setup.bash
roslaunch vins_estimator euroc.launch
source devel/setup.bash
roslaunch vins_estimator vins_rviz.launch
source devel/setup.bash
rosbag play YOUR_PATH_TO_DATASET/MH_01_easy.bag
(这里如果是按我说的位置放数据集,那么第二个指令是rosbag play MH_01_easy.bag 因为刚好在数据集所在目录打开终端可以直接读取)
为了方便我们的使用,不在每次运行前都用source指定包
sudo gedit ~/.bashrc
弹出窗口中末尾输入 source ~/catkin_ws/devel/setup.bash
保存后退出,之后我们运行VINS_mono就不用再输入source devel/setup.bash了(第一次运行要输入)
【双系统安装LINUX】,这里大家自行优快云了,都有,这里不再赘述了
完结撒花,如果帮助到你,请点个小小的赞,再次感谢实验室师兄师姐们的帮助和不知名的优快云各个大佬!