ubuntu18.04系统安装ros Melodic和r2live全踩坑总结

安装ubuntu18.04操作系统

r2live目前仅支持ubuntu18.04和16.04,所以首先要运行首先需要安装操作系统,这里建议安装双系统,笔者采用的ubuntu18.04操作系统.

首先制作一个u盘用以安装系统,然后对于windows10操作系统,桌面-我的电脑-右键-管理-磁盘管理-c盘和另外的空闲多的盘分别压缩200M和300GB大小的空间
!注意只有这两项是参考如下链接!
u盘制作方式和压缩空间过程过程参考:
https://blog.csdn.net/qq_43106321/article/details/105361644
特别提醒,不需要将UEFI更改为legacy!!!

制作好u盘后,将它插到电脑上,进行以下操作:
对于uefi启动的
(1)需要更改secure boot为disable。
(2)将usb启动设置为第一启动项,一般你的上下键位移动到这个选项上,会告诉你,按F6可以将其设置为第一启动项。
(3)在configuration中找到sata 开头的选项,将intel rst修改为AHCI(如果不更改,c盘不能被unbuntu识别到),这时候计算机会给你提醒,如果执行此操作,计算机内的数据将会被擦除,实际上是不擦除的 ,放心修改,但是修改为AHCI后会导致windows系统无法启动,不要着急,等后面ubuntu系统安装完成后我们再着手解决这个问题。

之后是ubuntu系统的安装,与第一个链接中不同,一路next,直到有一部需要格式化整个磁盘,不要选,要选择ubuntu与windows boot manager共存,这样安装就结束了,安装完成后,参考以下博客将解决win10无法启动的问题:
RST切换成AHCI无法正常进入windows(装双系统Ubuntu)

安装ros Melodic

首先为ubuntu添加镜像源,参考:怎么修改Ubuntu更新源服务器为国内地址
注意,图形界面和命令行是两种不同的方法,选择其中一种就好,如果在修改命令行之后又修改图形界面,在进行sudo apt update的时候会出现重复配置的错误。
注意添加为中科大的镜像,修改source.list之后 ,sudo apt update

参考博客:
Ubuntu18.04安装ROS Melodic(详细,亲测安装完成,有清晰的截图步骤)
对上述博客的补充:
最近上述博客里面的ustc的源更新了,建议大家在添加密钥和公钥时候直接去官方网站添加
网址:https://mirrors.ustc.edu.cn/help/ros.html

rosdep更新失败,建议直接看方法二

方法一
在安装过程中出现
1)sudo rosdep init
这一步在增加网址可能出现仍然失败的现象,报错 The read operation timed out,这博主确定是网络的问题,多尝试几次就好了。
2)rosdep update
这一步会因为链接太多,网络问题出现包获取不全的情况,可能获取到一半就中断了,多尝试的方法基本行不通,所以采用给链接增加代理的方式。
update超时的解决方案:
首先为文件添加使用管理员权限打开的选项,否则无法修改文件:
打开一个新的「终端」——执行如下命令进行 nautilus-admin安装:

sudo apt install nautilus-admin

2、安装完成后,必须重新启动 Nautilus,请输入以下命令并按 Enter 键:

nautilus -q

这样我们在下一步,就可以以管理员权限修改文件了

参考博客,采用添加国内代理(通过在地址前添加https://ghproxy.com/前缀来应用代理服务)的方式,解决超时的问题:
解决ROS系统 rosdep update超时问题的新方法
需要注意博客中的方法存在一个小问题,博客中所说的在/usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py 第204行添加如下代码gbpdistro_url = “https://ghproxy.com/” + gbpdistro_url,加粗的这个位置需要把中文的双引号修改为英文,不然进行rosdep update时会报错。

解决update出现的问题后,接下来ros的安装就一路顺风啦~

方法二
另外博主最近发现了一种直接采用国内优化了方式,成功率100%,参考https://mp.weixin.qq.com/s/VGs8oWdhHH6XsHcx21lN4Q
如果sudo apt-get install python3-pip 后面出现失败,那么就安装pip ,sudo apt-get install python-pip ;然后直接sudo pip install就可以了

sudo apt-get install python-pip 
sudo pip install rosdepc

sudo rosdepc init
rosdepc update

安装r2live

参考如下链接的进行安装:
R2LIVE安装与测试

在安装求解器时出现
在这里插入图片描述cere-solver1.14 注意需要自己去浏览器下载,下载后直接在home下新建一个cere-solver文件,并将下载的zip拷贝到cere-solver中,并改名字为ceres.zip

cd ./
cd ./cere-solver
unzip ceres.zip
cd ./ceres-solver-1.14.0
mkdir ceres-bin && cd ceres-bin
cmake ..
sudo make install -j4

安装livox_ros_driver

//注意这时候需要回到家目录!
sudo apt install cmake
git clone https://ghproxy.com/https://github.com/Livox-SDK/Livox-SDK.git
cd Livox-SDK
cd build && cmake ..
make
sudo make install

下载livox_ros_driver并编译

在主目录/livox-sdk/LIVOX-SDK 下打开终端
git clone https://ghproxy.com/https://github.com/Livox-SDK/livox_ros_driver.git ws_livox/src
cd ws_livox
catkin_make

更新ros package环境

source ./devel/setup.sh

编译r2live

在主目录下新建catkin_ws文件夹

cd ./catkin_ws
mkdir src
cd ./src
git clone https://ghproxy.com/https://github.com/hku-mars/r2live.git
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash

1、catkin_make编译报错

/usr/include/flann/ext/lz4.h:196:57: error: conflicting declaration ‘typedef struct LZ4_stream_t LZ4_stream_t’
 typedef struct { long long table[LZ4_STREAMSIZE_U64]; } LZ4_stream_t;

解决办法:

sudo mv /usr/include/flann/ext/lz4.h /usr/include/flann/ext/lz4.h.bak
sudo mv /usr/include/flann/ext/lz4hc.h /usr/include/flann/ext/lz4.h.bak
sudo ln -s /usr/include/lz4.h /usr/include/flann/ext/lz4.h
sudo ln -s /usr/include/lz4hc.h /usr/include/flann/ext/lz4hc.h

2、系统卡死
在catkin_make时会出现系统卡死的状况,此时需要扩大系统的swap交换空间,至少20g
参考此博客为系统增加swap交换空间:
Ubuntu 18.04 增加swap空间 亲测有效
增加交换空间后会神奇地发现,终于能100%达成了!

至此所有的坑都被填上了,如果你采用的是虚拟的话,在运行bag时会有莫名其妙的bug出现,博主至今不清楚为什么~有解决的朋友可以在评论区留言~

运行演示

1、下载原作者的bag
直接从google网盘下载会出现文件过大无法下载的问题,所以选择国内百度云转存的下载.
百度云下载链接:R2LIVE ros bag 数据下载百度网盘链接
2、运行r2live

注意每次进行这一步都要在catkin_ws中编译完成并且添加环境变量后运行,不编译会报错

roslaunch r2live demo.launch

3、运行bag
新开一个终端,在你放bag的文件夹目录下运行这行代码。

rosbag play YOUR_DOWNLOADED.bag

运行效果参考博客:R2LIVE安装与测试

参考博客:
https://blog.csdn.net/a394467238/article/details/118960190

你可能感兴趣的:(slam,ubuntu,windows,自动驾驶,slam)