ubuntu18.04安装ROS避坑指南

最近需要学习ROS操作系统,决定安装在ubuntu上,但是诸多原因导致安装出现各种问题,先总结如下:

先上官方安装教程!官方教程何其重要!
ROS安装

1.操作系统的选择

在前在ubuntu16上安装,出现很多很多问题,现在回想应该是因为网络的原因。
之后在deepin15安装,也失败,应该还是网络原因。
在新发布的deepin20也安装失败,原因是ROS还不支持这个系统。
现在在ubuntu18尝试安装,成功。

2.换源

由于国内的各种原因,这里不仅要换软件包的源,ROS的源也要换掉。
ubuntu18换源如下:

打开源列表:

sudo vim /etc/apt/sources.list  #修改镜像文件

删除源内容,复制粘贴如下内容:

# 这里的是18.04的镜像需要根据不同版本进行选择
  # 默认注释了源码镜像以提高 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

加入ROS的源,注意这里不要使用官方的源,各种原因你懂的:

sudo sh -c 'echo "deb https://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

加入密钥,更新软件包:

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

sudo apt update

3.安装

安装这个版本,当然还有其他的可以选择,推荐这个,注意版本为melodic:

sudo apt install ros-melodic-desktop-full

上一步通常没有什么问题
问题在如下的步骤:

sudo rosdep init    
rosdep update

不出意外,sudo rosdep init会报错webdown*****,

lee@lee-TM1801:~$ sudo rosdep init
ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.

原因很简单,网站被墙了,使用如下解决:

#打开hosts文件
sudo gedit /etc/hosts
#在文件末尾添加
151.101.84.133 raw.githubusercontent.com
#保存后退出再尝试sudo rosdep init

继续rosdep update即可。
ubuntu18.04安装ROS避坑指南_第1张图片

继续安装:

sudo apt-get install python-rosinstall

配置环境变量:

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

4.后续

安装依赖:

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

其他报错皆可百度解决问题,不再赘述。

跑一个小海龟的例子:
注意,以下三条命令必须在三个终端分别执行。

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtlesim_node

在第三个终端里键盘控制上下左右小海龟就能运动了。
ubuntu18.04安装ROS避坑指南_第2张图片

这里可能报错,出现键盘不能控制小海龟的问题:

如果在第三步时小海龟在键盘下不能移动时,可以尝试在第三步之前

source /opt/ros/kinetic/setup.sh

5.再继续建立工作

ROS使用一个名为catkin的ROS专用构建系统。为了使用它,用户需要创建并初始化

catkin工作目录,如下所示。除非用户创建新的工作目录,否则此设置只需设置一次。

mkdir -p ~/catkin_ws/src
 
cd ~/catkin_ws/src
 
catkin_init_workspace

目前,只有src目录和CMakeLists.txt文件在catkin工作目录中,使用catkin_make命令来构建

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

catkin_make命令在catkin 工作空间中是一个非常方便的工具。如果你查看一下当前目录应该能看到’build’和’devel’这两个文件夹。在’devel’文件夹里面你可以看到几个setup.*sh文件。接下来首先source一下新生成的setup.*sh文件:

source devel/setup.bash

以下可选:

# Set ROS Network
#ifconfig查看你的电脑ip地址
export ROS_HOSTNAME=192.168.89.135
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'

要想保证工作空间已配置正确需确保ROS_PACKAGE_PATH环境变量包含你的工作空间目录,采用以下命令查看:

echo $ROS_PACKAGE_PATH
/home//catkin_ws/src:/opt/ros/melodic/share:/opt/ros/melodic/stacks

到此,就安装完成了!

请大家一定按照官方文档安装,本文档仅为出现问题指南,具体过程可能也有所遗漏!

大家有什么问题欢迎评论指出,我也会尽量答复。

你可能感兴趣的:(SLAM)