Ubuntu18.04 LTS安装ROS Melodic详细过程及踩坑实录

Ubuntu18.04 LTS安装ROS Melodic过程详录

Ubuntu18.04 LTS安装ROS Melodic过程详录

最近正在学习ROS,在家里的win10系统的台式机上安装了Ubuntu18.04 LTS的双系统,现在准备在Ubuntu 18.04上安装ROS,对应的ROS版本为Melodic Morenia,。我安装时最初是打算参照ROS官方安装教程,但是看了一遍感觉有点乱,又参考了CSDN上一些大神的博客(主要是Ubuntu18.04安装ROS Melodic(详细填坑)),安装过程也出现了一些小问题,这里按照我的实际安装过程记录下来作为个人经验总结。

1.调整Ubuntu镜像源

在安装之前先将Ubuntu的镜像源调为国内镜像源,这一步是为了让接下来的下载过程中使用中国的服务器,加快下载速度。从桌面左下角“显示应用程序”-》“软件与更新”,配置Ubuntu允许universe、restricted、multiverse这三种安装模式,并把软件源更改为清华大学的源(中国科技大学USTC也行)。

在这里插入图片描述

2.添加source.list

这一步配置将镜像添加到Ubuntu系统源列表中,这里使用清华的镜像源。

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

3.添加秘钥

添加秘钥到本地的trusted数据库中并加以验证:

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

若密钥服务器hkp://ha.pool.sks-keyservers.net:80无法添加成功,则可以尝试hkp://pgp.mit.edu:80或者hkp://keyserver.ubuntu.com:80,我安装时用的是hkp://keyserver.ubuntu.com:80。
在更新之前,需要安装公钥,否则无法验证签名,这一步有的教程上有有的教程上没有,保险起见我也照着做了,命令如下:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654

也可以直接去看官方秘钥

4.更新列表

更新Ubuntu 18.04 LTS的最新可用软件包列表:

sudo apt update

5.开始安装

下面开始安装ROS,推荐安装桌面完整版,这样就可以将ROS、rqt、rviz、机器人通用库、2D/3D仿真器、导航、2D/3D感知等功能一次性安装完成。
安装之前,需要安装其他依赖库,一次性安装如下:

sudo apt install libvtk6-jni libvtk6-java libvtk6-dev libvtk6-qt-dev libpcl-dev
sudo apt install ros-melodic-pcl-conversions ros-melodic-pcl-ros ros-melodic-perception-pcl ros-melodic-perception

PS:我在安装时这些依赖库是一个一个安装的,因为网络不稳定,一次性安装容易报错。
最后终于开始安装ROS Melodic,方法如下:

sudo apt install ros-melodic-desktop-full

如果希望安装特定的ROS程序包,则可以首先查看当前可用的程序包列表,然后选择自己需要的程序包进行安装,这里暂且不提。

6.安装核心组件rosdep

开始使用ROS之前,还需要安装rosdep,rosdep是ROS一些核心组件的运行基础,会在编译ROS源码时检查和安装程序包依赖。安装ROS方法如下:

sudo rosdep init
# fix-permission限制权限为当前用户
sudo rosdep fix-permissions
# 可能由于网络原因会失败,多运行几次即可
rosdep update

1)这里在执行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.

根本原因是无法解析raw.githubusercontent.com,可参考博客解决sudo rosdep init和rosdep update的错误解决,主要是在hosts中修改IP地址,特别需要注意的是这里要编辑hosts需要先切换至root,不然权限不够会报错。

sudo -i

切换至root后,直接在终端输入:


sudo gedit /etc/hosts

然后再打开的hosts文档最后增加一行内容:

151.101.76.133 raw.githubusercontent.com

此时仍然可能有gedit警告:

**(gedit:4287):警告**:01:27:40.477:设置文档元数据失败:设置属性元数据::不支持gedit拼写语言

**(gedit:4287):警告**:01:27:40.478:设置文档元数据失败:设置属性元数据::不支持gedit编码

**(gedit:4287):警告**:01:27:43.365:设置文档元数据失败:设置属性元数据::不支持gedit位置

这些只是警告,基本上可以无视,如果实在忍受不了,在终端输入下面的指令可以消除:

sudo -H gedit /some/where/file.txt &>/dev/null

2)执行rosdep update时报错(超时),

reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit http://github.com/ros/rosdistro/raw/master/rosdep/osx-homebrew.yaml
 
ERROR: unable to process source [http://github.com/ros/rosdistro/raw/master/rosdep/base.yaml]:
 
<urlopen error _ssl.c:489: The handshake operation timed out> (http://github.com/ros/rosdistro/raw/master/rosdep/base.yaml)
 
ERROR: error loading sources list:
    The read operation timed out

参照rosdep update 一直失败问题试了试,文中提到了4种方法,其中台式机没法连手机4G热点,发现更换源基本没啥用,增加timeout时间也只是稍微提高了成功的几率,还是连续好几次失败。折腾了1个多小时,发现这个问题真的是玄学,在尝试了十几次之后终于成功,人品不好就耐心点吧!

7.配置ROS环境变量

默认情况下,ROS_HOME的路径为"~/.ros",该目录保存着日志文件和测试结果文件。另外,第一次启动ROS时,需要进行环境变量配置,命令如下:

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

查看环境变量是否设置正确,命令如下:

env | grep ROS  

我运行时查看环境变量结果如下,可以对照检查一下:

ROS_ETC_DIR=/opt/ros/melodic/etc/ros
ROS_ROOT=/opt/ros/melodic/share/ros
ROS_MASTER_URI=http://localhost:11311
ROS_VERSION=1
ROS_PYTHON_VERSION=2
ROS_PACKAGE_PATH=/opt/ros/melodic/share
ROSLISP_PACKAGE_DIRECTORIES=
ROS_DISTRO=melodic

至此,ROS的核心程序包安装完毕。

8.安装rosinstall

为了构建和管理开发者自己的ROS工作空间,还需要安装编译依赖,方法如下:

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

成功安装后,就可以体验ROS和创建ROS应用了。

9.小海龟测试

打开第一个终端:

roscore

利用Ctrl+Shift+T快捷键打开第二个终端:

rosrun turtlesim turtlesim_node

此时会出现一个画布,画布中有一只小海龟,此时小海龟还不会动。
继续打开第三个终端,

rosrun turtlesim turtle_teleop_key

此时在当前终端下,可以通过键盘上的方向键控制小海龟移动。




  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值