admin 管理员组

文章数量: 887021

前言

最近在尝试配置港科大的单目视觉惯性里程计(VINS-Mono)程序,因为种种原因没有配置成功。
在尝试各种纠错的时候因为误操作输入的:chmod -R 777 /,导致Ubuntu的崩盘,遂决定重装Ubuntu。

双系统中的Ubuntu重装

这里提供一个Win10 + Ubuntu双系统安装教程:
https://blog.csdn/qq_38962621/article/details/87390603
准备卸载旧的Ubuntu,右键计算机,点击“管理”可以看到磁盘分区状态,这个分区是我已经完成了Ubuntu重装后的样子,重装之前和重装后应该大差不差。

对于联想Y7000P固态硬盘这类的UEFI启动方式,必须要有单独留出的启动引导分区,图中的99M为Win10的EFI引导分区,477M是Ubuntu的EFI引导分区。

Ubuntu卸载

按照如下的步骤卸载旧的Ubuntu:
1、插入U盘(已经制作成了启动盘)。
2、重启电脑,连续按F2,Boot Mode 改为 Legacy Support,Boot Priority 改为 UEFI First。
3、再次重启电脑,F12,选择USB启动,选择DiskGenius分区管理。
4、可以看到分区7-10为Ubuntu的分区,格式化。
格式化后就变成了下面这张图的样子,一开始我装双系统的时候Ubuntu就给了100G,现在它们又回来了。在格式化之前记得去Ubuntu里把文件都拷贝出来。
格式化完毕且删除分区,空闲100GB准备重装。重启选择Windows boot,可正常启动Win10。

Ubuntu重装

还是完全按照这个教程:https://blog.csdn/qq_38962621/article/details/87390603
1、插入Ubuntu启动盘(已经烧录了Ubuntu16.04)
2、F12,注意!选择Linpus lite启动USB。
3、开始按照教程安装。
(1)、依次选择 中文,不连接互联网,不勾选安装第三方,其它选项。
(2)、选中刚刚格式化出来的空闲分区,点击“+”。
(3)、分配:/ 30720M(30G)、swap交换空间 9740M、EFI系统分区 500M、/home 约67105M。
(4)、分配好后不点安装,找到EFI分区(nvme0n1p10 efi),安装启动引导设备时选择这个分区。
安装成功,重启发现已经可以选择双系统了。

Ubuntu配置

先记录一些常用的可能问题的解决方案,后列出配置VINS-Mono的全过程。

基础问题配置

一、开机启动项的顺序、等待时间调整(颜色是深红色的选择界面)

#从桌面打开终端,输入:
sudo gedit /boot/grub/grub.cfg

在打开的grub.cfg文件中查找:set default=”0”,这里的default的值就是默认启动项的标号。可以修改为2让Windows为默认选项。
查找“10”,找到set timeout=10,全部修改为5,也就是等待5秒时长。

二、Ubuntu无法连接到无线网

#从桌面打开终端,输入:
rfkill list all
rfkill unblock all
sudo gedit /etc/modprobe.d/ideapad.conf
#打开文件后在文本第一行输入:blacklist ideapad_laptop
#保存并关闭后再执行:
sudo modprobe -r ideapad_laptop

三、双系统时钟不同步问题

sudo timedatectl set-local-rtc 1
sudo apt-get install ntpdate	#可能需要更新成阿里云软件源
sudo ntpdate time.windows.com
sudo hwclock --localtime --systohc

四、无法播放音乐和视频

#发现打开Bilibili不能快乐摸鱼,从桌面终端输入:
sudo apt install ffmpeg

至此基本完成了Ubuntu系统重装工作。

VINS-Mono环境配置

港科大VINS-Mono:https://github/HKUST-Aerial-Robotics/VINS-Mono。
他们用的是 Ubuntu 16.04, ROS Kinetic, OpenCV 3.3.1, Eigen 3.3.3,这里我也配置了一样的。

配置OpenCV 3.3.1

先尝试下载opencv-3.3.1.zip,把他移动至Download里,开始操作。具体操作过程按照:https://blog.csdn/qzx9059/article/details/88680475。
需要说明的一点,按照教程里的步骤,以下三条指令要在安装之前必须成功运行然后你再进行OpenCV的安装,否则即使安装好了也是用不了的!(安装之前必须要先安装libgtk2.0-dev…)

#从桌面打开终端,输入:
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

如果指令报错(说什么因为依赖这个所以不能装那个之类的),就需要更新软件源了。

#从桌面打开终端,输入:
sudo gedit /etc/apt/sources.list
#在末尾添加如下内容:
deb http://cn.archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
#保存关闭,输入:
sudo apt-get update

按照教程,完成OpenCV 3.3.1的安装和配置。

安装ROS Kinetic

具体操作过程按照:https://wwwblogs/longronglang/p/11386522.html
清华大学源:https://mirrors.tuna.tsinghua.edu/。
按照上面的教程就可以顺利下载安装ROS Kinetic了!

安装完成后,再按照:https://blog.csdn/weixin_43159148/article/details/83375218,进行初始化。
在执行初始化命令 sudo rosdep init 时出现报错,进行如下操作:

#从桌面打开终端,输入:
sudo gedit /etc/hosts	#打开hosts文件
#在文件末尾添加:
151.101.84.133  raw.githubusercontent.com	
#保存后退出再尝试 sudo rosdep init。

安装Eigen 3.3.3

#从桌面打开终端,输入:
sudo wget https://github.com/eigenteam/eigen-git-mirror/archive/3.3.3.tar.gz
sudo tar -xzvf 3.3.3.tar.gz
sudo mv eigen-git-mirror-3.3.3/ eigen-3.3.3
cd eigen-3.3.3/
sudo mkdir build
cd build
sudo cmake ..
sudo make
sudo make install

安装ceres 1.13.0

安装教程参考:https://blog.csdn/llfjcmx/article/details/88831384
这里我事先下载好了ceres-solver-1.13.0.tar,我把它也放在了Download里。一定要从这里安装!这样就会默认装在根目录(/usr/local/lib/)中了。

#从桌面打开终端,输入:
sudo apt-get install cmake libgoogle-glog-dev libatlas-base-dev libeigen3-dev libsuitesparse-dev
sudo add-apt-repository ppa:bzindovic/suitesparse-bugfix-1319687
sudo apt-get update
#以上是安装一些依赖项,然后手动解压放在Download里的ceres-solver-1.13.0.tar。
#进入ceres-solver-1.13.0文件夹,打开终端,输入:
mkdir build
cd build
cmake ..
sudo make install

配置VINS-Mono

先从港科大网站里下载好VINS-Mono-master.zip。

#从桌面打开终端,输入:
mkdir -p vins-mono-catkin_ws/src
cd vins-mono-catkin_ws/src/
#将事先下载好的VINS-Mono-master.zip放在src中,解压后继续在刚刚的终端里输入:
cd ..
catkin_make
source devel/setup.bash

运行VINS-Mono

#进入vins-mono-catkin_ws文件夹,打开三个终端:
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 /home/jason/Dataset/EuRoC/MH_04_difficult.bag	#第三个终端,注意修改数据集位置

因为误操作破坏了系统,重装Ubuntu从头配置运行条件果然还是救回来了。特此记录。

本文标签: 重装 双系统 Y7000P Mono VINS