ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

ubuntu18.04安装ROS Melodic的详细过程以及填坑经历

2021-11-26 22:06:29  阅读:570  来源: 互联网

标签:Melodic ros http sudo apt 填坑 ubuntu ROS com


一. 版本说明

ROS官方将在2021年不再维护Kinetic,后续使用Ubuntu18.04+Melodic组合,Melodic支持时间到2023年5月。

在这里插入图片描述

二. 安装前Ubuntu18.04设置

打开Ubuntu18.04,在桌面点击更多软件图标,翻页可看到软件和更新图标,点击打开。

在打开新窗口界面中,选择"Ubuntu软件|下载自"下拉框,选择阿里云。

确认后,提示“重新载入”。

点击“重新载入”按钮,开始更新缓存。

 更新结束后,开始安装ROS Melodic。

三. 安装Melodic

1. 安装说明

在国内,安装ROS任何一个版本,都不需要fq,如果安装过程中出现网络相关的问题,建议更换有线网络或者热点,然后重新执行出错指令。

2. 配置ROS软件源

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

3. 配置密钥

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

第2步和第3步执行输出如下:

root@ubuntu:~# sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
root@ubuntu:~# sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
Executing: /tmp/apt-key-gpghome.Cnbk5Gm1OA/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
gpg: 密钥 F42ED6FBAB17C654:公钥“Open Robotics <info@osrfoundation.org>”已导入
gpg: 合计被处理的数量:1
gpg:               已导入:1

4. 更新系统软件源

sudo apt update

执行效果如下:

root@ubuntu:~# sudo apt update
命中:1 http://mirrors.aliyun.com/ubuntu bionic InRelease
命中:2 http://mirrors.aliyun.com/ubuntu bionic-updates InRelease               
命中:3 http://mirrors.aliyun.com/ubuntu bionic-backports InRelease             
命中:4 http://mirrors.aliyun.com/ubuntu bionic-security InRelease              
命中:5 http://archive.ubuntukylin.com:10006/ubuntukylin xenial InRelease       
获取:6 http://packages.ros.org/ros/ubuntu bionic InRelease [4,680 B]           
获取:7 http://packages.ros.org/ros/ubuntu bionic/main amd64 Packages [776 kB]
获取:8 http://packages.ros.org/ros/ubuntu bionic/main i386 Packages [26.4 kB]
已下载 807 kB,耗时 4秒 (187 kB/s)  
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
有 543 个软件包可以升级。请执行 ‘apt list --upgradable’ 来查看它们。
执行效果如图:

5. 安装Melodic

sudo apt install ros-melodic-desktop-full

输出:

……x11proto-scrnsaver-dev x11proto-xinerama-dev xml-core
下列软件包将被升级:
  libcairo-gobject2 libcairo2 libdrm-amdgpu1 libdrm-common libdrm-dev
  libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdrm2 libgl1-mesa-dev
  libgpgme11 libldap-2.4-2 libldap-common liblz4-1 libmysqlclient20 libnuma1
  libopenexr22 libpython2.7 libpython2.7-minimal libpython2.7-stdlib
  libpython3.6 libpython3.6-minimal libpython3.6-stdlib libqt5core5a
  libqt5dbus5 libqt5gui5 libqt5network5 libqt5widgets5 libtiff5 libwebp6
  libwebpdemux2 libwebpmux3 libxcb-shm0 mesa-common-dev python2.7
  python2.7-minimal python3.6 python3.6-minimal qt5-gtk-platformtheme
升级了 39 个软件包,新安装了 925 个软件包,要卸载 1 个软件包,有 504 个软件包未被升级。
有 1 个软件包没有被完全安装或卸载。
需要下载 461 MB/498 MB 的归档。
解压缩后会消耗 1,982 MB 的额外空间。
您希望继续执行吗? [Y/n]  Y……
执行效果如图:

最后出现:

E: 有几个软件包无法下载,要不运行 apt-get update 或者加上 --fix-missing 的选项再试试?
root@ubuntu:~# apt-get update
使用apt-get update 以及加上--fix-missing,好像都没什么问题。

root@ubuntu:~# apt-get update
命中:1 http://mirrors.aliyun.com/ubuntu bionic InRelease
命中:2 http://archive.ubuntukylin.com:10006/ubuntukylin xenial InRelease       
命中:3 http://mirrors.aliyun.com/ubuntu bionic-updates InRelease               
命中:4 http://mirrors.aliyun.com/ubuntu bionic-backports InRelease             
命中:5 http://mirrors.aliyun.com/ubuntu bionic-security InRelease           
命中:6 http://packages.ros.org/ros/ubuntu bionic InRelease                     
正在读取软件包列表... 完成   
root@ubuntu:~# apt-get update --fix-missing
命中:1 http://mirrors.aliyun.com/ubuntu bionic InRelease
命中:2 http://mirrors.aliyun.com/ubuntu bionic-updates InRelease       
命中:3 http://mirrors.aliyun.com/ubuntu bionic-backports InRelease             
命中:4 http://mirrors.aliyun.com/ubuntu bionic-security InRelease              
命中:5 http://archive.ubuntukylin.com:10006/ubuntukylin xenial InRelease       
命中:6 http://packages.ros.org/ros/ubuntu bionic InRelease                     
正在读取软件包列表... 完成   

建议使用:

sudo apt install -y ros-melodic-desktop-full

安装时间会很长.........但也许后面的坑会少一点。

安装完成后,Ubuntu又变胖了一些了(大约2G!)。

6. 初始化rosdep

sudo rosdep init

root@ubuntu:~# sudo rosdep update
sudo: rosdep:找不到命令
root@ubuntu:~# rosdep init

Command 'rosdep' not found, but can be installed with:

apt install python-rosdep2
根据提示,运行:apt install python-rosdep2

之后,再执行sudo rosdep init,输出:

root@ubuntu:~# 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.
这时,首先检查网络,确保网络连通。如果网络已经连通,可以多试几次。还是不行,可修改etc/hosts文件,在末尾添加:

151.101.84.133 raw.githubusercontent.com

或:

151.101.76.133 raw.githubusercontent.com

可以通过查询域名raw.githubusercontent.com的IP修改其实际的IP值。

如果还是不行,可以fq试试。还有一种方法,自己手动新建/etc/ros/rosdep/sources.list.d目录,写入:

# os-specific listings first
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx

# generic
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
gbpdistro https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml fuerte

# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

----没错,就是那个下载不了的文件的内容。

弄好这个文件后,执行

rosdep update

网上有不少在这一步出错,基本上都是网络问题导致,而不是软件源的问题,建议更换有线网络或者手机热点,有人找到通过编辑配置文件中url等方式,但建议尽量不要编辑软件源配置文件,如果一定要编辑,建议先备份,如果软件源配置文件出问题,会比较麻烦。

现在,可以利用@鱼香ROS开发的ROSDEC工具。C代表采用的是国内源。具体使用方式如下:

sudo pip install rosdepc  或:
sudo pip3 install rosdepc

如果没有pip3。

sudo apt-get install python3-pip

安装结束后

sudo rosdepc init
rosdepc update

以后遇到rosdep的地方都换成rosdepc即可。

输出结果如下图:

7. 用户环境设置

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

这两条指令相当于Windows系统中设置环境变量path,即在终端可以自由使用ROS系统指令,这里强调是系统指令,而不是自己创建的包或者节点,后者是需要使能相应的工作空间,具体可以参考:ROS工作空间。

8. 安装包编译依赖

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

执行效果如图

9. 验证安装

rosversion -d

执行效果如图

四. 启动小海龟

1. 第一个终端运行命令

roscore

root@ubuntu:/# roscore

Command 'roscore' not found, but can be installed with:

apt install python-roslaunch

在文件夹 “/opt/ros/indigo/bin/” 里面查看是否存在名为 “roscore” 的二进制可执行文件:

cd /opt/ros/melodic/bin
ls -l

果然没有。

输入:

sudo apt-get install ros-melodic-desktop

cd 进去再看,有了!
执行

source ~/.bashrc

再次启动ROS

roscore

成功了!

这可能是因为,先前install ros-melodic-desktop-full 时缺少部分文件,再通过apt-get install ros-melodic-desktop这种方式补全。

2. 第二个终端运行命令

打开第二个终端,也可以利用 Ctrl+Shift+T 快捷键打开一个新的终端,运行如下命令,这时你会看见一只静止的小海龟

rosrun turtlesim turtlesim_node

 3. 第三个终端运行命令

如果希望小海龟能够移动,打开第三个终端,利用Ctrl+Shift+T快捷键再打开一个新的终端,启动turtlesim的键盘控制节点turtle_teleop_key,运行如下命令

rosrun turtlesim turtle_teleop_key

标签:Melodic,ros,http,sudo,apt,填坑,ubuntu,ROS,com
来源: https://blog.csdn.net/willhu2008/article/details/121561991

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有