在Ubuntu18.04里安装ROS,处理器架构基于x86架构处理器
@
1.安装 Ubuntu 18.04
我使用的是Oracle VM VirtualBox 虚拟机软件
我创建的虚拟机内存为9387MB「其实是我自己在划分内存的时候随便划分了一个」,选择了所有的8个核心「我电脑的处理器是Core i9的 8核心16线程,切记分配的时候一定要分配所有的核心也就是8个核心,而不是选择16个核心,因为另外8个核心并不存在」,硬盘分配了64GB,显存是128MB,基本够用了。
我这里把系统上传到了百度云里面,大家自行下载,假若链接失效请及时私信我。
Ubuntu-18.04.5-Desktop-amd64 百度云链接 密码: 0u32
随后按照常规步骤安装虚拟机即可
后续为了方便共享剪切板,我们可以选择安装相关的增强软件
在安装完这些拓展程序之后,选择重新启动虚拟机,之后就可以使用共享剪切板了。
2.安装 ROS Melodic 的前期准备
2.1认识各版本 ROS 以及其支持的 Ubuntu 系统版本
这张图片展示的就是各个版本Ubuntu系统所支持的ROS版本,咱们这里使用的是ROS Melodic Morenia 版本。
这一代版本的ROS也是支持Windows 10的,至于为什么不用估计原因大家都知道「笑」
2.2准备换源
换源的第一步,也是最重要的一步,就是先备份系统原有的源文件
cp /etc/apt/sources.list /etc/apt/sources.list.bak
如果像我一样遇见了权限不够这种问题,那我们就在前面加上sudo即可
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
这里面就是我们刚才创建的备份文件
接下来就要准备更换源了「其实也可以不用换,直接魔法上网就可以了」
sudo vim /etc/apt/sources.list
2.2.1清华大学镜像站
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
2.2.2中科大源
deb http://mirrors.ustc.edu.cn/ubuntu/ precise-updates main restricted
deb-src http://mirrors.ustc.edu.cn/ubuntu/ precise-updates main restricted
deb http://mirrors.ustc.edu.cn/ubuntu/ precise universe
deb-src http://mirrors.ustc.edu.cn/ubuntu/ precise universe
deb http://mirrors.ustc.edu.cn/ubuntu/ precise-updates universe
deb-src http://mirrors.ustc.edu.cn/ubuntu/ precise-updates universe
deb http://mirrors.ustc.edu.cn/ubuntu/ precise multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ precise multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ precise-updates multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ precise-updates multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ precise-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu precise-security main restricted
deb-src http://security.ubuntu.com/ubuntu precise-security main restricted
deb http://security.ubuntu.com/ubuntu precise-security universe
deb-src http://security.ubuntu.com/ubuntu precise-security universe
deb http://security.ubuntu.com/ubuntu precise-security multiverse
deb-src http://security.ubuntu.com/ubuntu precise-security multiverse
2.2.3阿里云源
#deb包
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
##测试版源
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
# 源码
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
##测试版源
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
# Canonical 合作伙伴和附加
deb http://archive.canonical.com/ubuntu/ xenial partner
deb http://extras.ubuntu.com/ubuntu/ xenial main
2.2.4网易源
deb http://mirrors.163.com/ubuntu/ precise-updates main restricted
deb-src http://mirrors.163.com/ubuntu/ precise-updates main restricted
deb http://mirrors.163.com/ubuntu/ precise universe
deb-src http://mirrors.163.com/ubuntu/ precise universe
deb http://mirrors.163.com/ubuntu/ precise-updates universe
deb-src http://mirrors.163.com/ubuntu/ precise-updates universe
deb http://mirrors.163.com/ubuntu/ precise multiverse
deb-src http://mirrors.163.com/ubuntu/ precise multiverse
deb http://mirrors.163.com/ubuntu/ precise-updates multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-updates multiverse
deb http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse
2.3换源后
执行更新
sudo apt-get update
更新软件
sudo apt-get upgrade
3.开始安装 ROS Melodic
第一步,先添加源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
第二步,添加密钥
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654
第三步,再更新一下
sudo apt-get update
接着来一个三部曲
sudo apt-get update
sudo apt-get install ros-melodic-desktop-full
sudo apt-get install ros-melodic-rqt*
等待完成后就可以开始初始化rosdep
不过我在这里遇见一个问题:rosdep:找不到命令
只需要安装一下python-rosdep这个包就好
sudo apt-get install python-rosdep
接着初始化
sudo rosdep init
rosdep update
完成之后,紧接着安装rosinstall
sudo apt-get install python-rosinstall
加载环境设置文件「这个东西还是很常使用的,比如出现找不到命令的时候就得要在根目录加载一下环境设置文件」
source /opt/ros/melodic/setup.bash
创建并初始化工作目录
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ~/catkin_ws/
catkin_make
设置环境变量
sudo apt install net-tools
gedit ~/.bashrc
# Set ROS melodic
source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash
# Set ROS Network
#ifconfig查看你的电脑ip地址
export ROS_HOSTNAME= #你的电脑的IP地址
export ROS_MASTER_URI=http://${ROS_HOSTNAME}:11311
# Set ROS alias command 快捷指令
alias cw='cd ~/catkin_ws'
alias cs='cd ~/catkin_ws/src'
alias cm='cd ~/catkin_ws && catkin_make'
4.测试
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
打开三个终端,一个终端一行代码
请务必按顺序启动
这里我遇见了一个问题,就是出现:Command 'xxxxx' not found
这里根据下面的提示
sudo apt install rosbash
之后回到根目录
source ~/catkin_ws/devel/setup.bash
就完成了
遇见类似问题这样解决就好
就可以看到小乌龟划线了
大家可以参考我上一篇在Jetson Nano上面安装ROS的教程,说实在不是很成功,等我有时间我再重新写一篇在Jetson nano上的安装教程
第一篇关于在Jetson Nano上安装ROS的教程,不是很成功
5.后续遇到的若干问题
5.1 Command 'roscore' not found, but can be installed with
像是如下这类问题
我们先检查一下有没有安装包
cd /opt/ros/melodic/bin
ls
这里分两种情况
5.1.1 文件夹内没有roscore
在bin目录里面安装
sudo apt-get install ros-melodic-desktop
再次查看,看到了roscore,成功,添加环境变量
source ~/.bashrc
roscore
发现能够启动,完成
5.1.2 文件夹内有roscore
这类问题表示roscore没有添加到环境变量
echo "source /opt/ros/melodic/setup.bash" >>~/.bashrc
source ~/.bashrc
之后我们再次启动roscore
这样,Command 'roscore' not found, but can be installed with 这个问题就解决了
6.安装Gmapping
6.1 安装依赖库
sudo apt-get install libsdl1.2-dev
sudo apt install libsdl-image1.2-dev
6.2 安装GMapping
方式1:通过apt的方式安装
sudo apt-get install ros-melodic-gmapping
方式2:通过源码安装「第一种方法不可行的时候」
首先进入工作空间
cd ~/catkin_ws/src/
Git clone
git clone https://github.com/ros-perception/openslam_gmapping.git
git clone https://github.com/ros-perception/slam_gmapping.git
git clone https://github.com/ros-planning/navigation.git
git clone https://github.com/ros/geometry2.git
git clone https://github.com/ros-planning/navigation_msgs.git
编译
cd ..
catkin_make
这样Gmapping就安装完了