ROS安装(Ubuntu18.04 melodic)

本文详细指导如何在Ubuntu 18.04上安装ROS Melodic,包括添加镜像源、配置密钥、安装步骤、环境变量设置,以及遇到rosdepupdate问题的解决方法。重点介绍了如何修复ROS源和配置rosdep以确保顺利安装和使用。
摘要由CSDN通过智能技术生成

本章主要讲解的是 ROS Melodic 版本在 Ubuntu 18.04 系统上的安装,后面的内容会在此环境下进行。

1. 添加ROS的镜像源

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

添加的镜像源为中国科技大学的镜像源。由于ROS的主服务器在国外,国内访问时速度比较慢,因此我们添加国内镜像源。

2. 配置密钥

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

如果以上服务器在连接过程中存在问题,可以用以下两个备选地址:

hkp://pgp.mit.edu:80

hkp://keyserver.ubuntu.com:80

3. 更新Ubuntu的源

sudo apt-get update

4. 安装ROS melodic

sudo apt install ros-melodic-desktop-full

 如果没有完全安装成功,可以执行以下命令来修复安装(基本不会用到这条命令):

sudo apt-get -f install ros-melodic-desktop-full

ROS初始化

1. 配置全局环境变量

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

melodic安装在/opt/ros/melodic目录下,我们需要将安装目录下的功能包配置到系统的环境变量中去。这样我们才能使用ROS提供给我们的一些命令工具。

2. 安装打包工具依赖

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

sudo apt install python-rosdep(如果是python3,安装 python3-rosdep,不要安装 python3-rosdep2,否则在运行rosdep install ... 时会remove python3-rosdep2,同时提示安装python3-rosdep-modules,导致rosdep被删除。)

3. 初始化rosdep

sudo rosdep init
rosdep update

① 在/usr/lib/python2.7/dist-packages/rosdep2下打开终端

cd /usr/lib/python2.7/dist-packages/rosdep2

 执行命令:

sudo gedit ./sources_list.py

 在311行添加如下代码:

url="https://ghproxy.com/"+url

 将72行代码修改成如下代码(添加https://ghproxy.com/前缀):

DEFAULT_SOURCES_LIST_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list'

 

 点击Save保存并退出。

此时sudo rosdep init应该能正常下载文件到/etc/ros/rosdep/sources.list.d/20-default.list

/****************************************************此部分可不尝试

修改20-defaults.list中的地址,添加前缀https://ghproxy.com/
        然后运行rosdep update,但是可能提示No address associate with hostname
        (使用wget也会提示could not resolve http,解决方式一样)
        这是因为dns在解析主机时失败,需要修改dns
        打开/etc/resolve.conf
            在nameserver 127.0.1.1前再加一行 nameserver 8.8.8.8
        在/etc/hosts中添加
            151.101.84.133 raw.githubusercontent.com
        这样就可以解决无法解析主机的问题,此时rosdep update应该能下载部分*.yaml文件

******************************************************************************/

② 同样在/usr/lib/python2.7/dist-packages/rosdep2文件夹下,执行命令:

sudo gedit ./gbpdistro_support.py

将36行代码修改成如下代码(添加https://ghproxy.com/前缀):

FUERTE_GBPDISTRO_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/' \

 在204行添加如下代码:

gbpdistro_url = "https://ghproxy.com/" + gbpdistro_url

点击Save保存并退出。

③ 同样在/usr/lib/python2.7/dist-packages/rosdep2文件夹下,执行命令:

sudo gedit ./rep3.py

 将39行代码修改成如下代码(添加https://ghproxy.com/前缀):

REP3_TARGETS_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/releases/targets.yaml'

 点击Save保存并退出。 

④ 在/usr/lib/python2.7/dist-packages/rosdistro/manifest_provider(注意,这一步需要更改当前目录)下,执行命令:

cd /usr/lib/python2.7/dist-packages/rosdistro/manifest_provider
sudo gedit ./github.py

 将119行代码修改成如下代码(添加https://ghproxy.com/前缀):

url = 'https://ghproxy.com/https://raw.githubusercontent.com/%s/%s/%s' % \

 点击Save保存并退出。

⑤ 在

cd /usr/lib/python2.7/dist-packages/rosdistro

(注意,这一步需要更改当前目录)下,执行命令:

sudo gedit ./__init__.py

将68行代码修改成如下代码(添加https://ghproxy.com/前缀):

DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'

 在/usr/lib/python2.7/dist-packages/rosdistro/rosdistro.py中修改
          

 distro_url = urlopen('https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/releases/%s.yaml' % name)


        还可以在${HOME}/.ros/rosdep/sources.cache/index中修改(可能在执行过rosdep update后才会生成)

接下来执行:

sudo rosdep init

 成功提示如下信息:

 然后执行:

rosdep update

 成功提示如下信息:

 

7. 验证是否安装成功

 打开一个终端,输入:

roscore

  不要关闭前面的终端,另外打开一个终端,输入:

rosrun turtlesim turtlesim_node

不要关闭前面两个终端,另外再打开一个终端,输入: 

rosrun turtlesim turtle_teleop_key

  如果出现以下窗口,并且可以使用键盘控制小乌龟的运动,则证明安装成功。

ros安装2

鱼香肉丝安装。

鱼香ROS

PCL库安装

sudo apt-get install libpcl-dev

(直接成功则不用软链接)
这是已经编译好的点云库(PCL-1.7),附带安装了VTK-6.2.0,以及各种杂七杂八的依赖库。
安装后的编译过程中出现了库文件vtkproj4.so丢失的问题。这个问题与我另一篇寻找缺失库文件的文章不同,这是VTK-6.2.0 (build10)中的BUG,而原作者已经在build11中修正了该问题。

这个问题有一个非常简单的解决方法:在/usr/lib文件夹下,我发现了vtk5.10的相关库文件,考虑到5.10与6.2版本间的差距应该不大,我直接进行了软链接……
sudo ln -s /usr/lib/libvtkproj4.so.5.10 /usr/lib/libvtkproj4.so
编译通过!告辞!

sudo apt-get install libpcap-dev libeigen3-dev libboost-dev libpcl-dev

参考:

【ROS】Ubuntu18.04下安装ROS-Melodic的步骤及rosdep update报错的解决方案_Quentin_HIT的博客-CSDN博客

ROS Melodic安装 - 智学无人小车平台

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值