ROS安装及常见问题解决——适用于melodic和kinetic

本文介绍如何在ubuntu18.04上安装ROS Melodic。其实在ubuntu16.04上安装kinetic也是类似的,一般来说是将Melodic改为kinetic就可以了。
大家可以先参考官网的安装方式
Kinetic
Melodic
两个ROS版本与Ubuntu的版本是一一对应的。即
Kinetic——Ubuntu16.04
Melodic——Ubuntu18.04
推荐使用双系统安装,如果实在不方便或者只是日常体验的可以使用虚拟机

虚拟机安装

虚拟机使用比较多的就是VMware Workstation和Oracle VM的比较多。根据本人使用经验,VMware Workstation的有可能在运行Gazebo的时候出现闪退的情况,不太稳定。但Oracle就不怎么出现。具体安装过程这里就不在介绍。本文给出Oracle的安装包以及扩展程序的下载链接,安装使用教程可以百度,如果以后有时间会补上具体的安装和使用。百度网盘链接
链接:https://pan.baidu.com/s/10J6SegtsETuQhOZgOvZFpQ
提取码:092i

双系统安装

(多次亲测有效,win10环境下,但不保证对所有电脑都有效,如果电脑有重要记录记得备份)
双系统安装

安装

1.在正式的安装前,先检查下Ubuntu初始环境是否配置正确

打开 Ubuntu的设置 -> 软件与更新 -> Ubuntu软件 ->勾选关键;字 universe , restricted , multiverse 三项。

在这里插入图片描述

2.设置软件源

国内源(推荐):

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

清华源:

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.配置密钥

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

NOTE:ROS由于公钥更新导致用户在3.1步骤时执行apt-get update报错,那么用户前往密钥更新链接找到set up your key步骤,按照官网提示,新终端运行更新公钥的指令,上面的公钥已经失效了,务必前往提到的网址进行更新!!!!!

4.更新软件源

sudo apt-get update
sudo apt-get upgrade

5.安装桌面完整版

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

6.初始化rosdep

sudo rosdep init

备注1:sudo rosdep init,反馈没有该指令。我在网上查找的一个方法是:在终端输入rosdep init,终端提示安装"sudo apt install python-rosdep2 "
备注2:这一步很容易出现如下报错:
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
解决方法:基本是网络问题,不要轻易按照网上的方法尝试,先尝试利用手机热点多次尝试(尝试20次左右还是不行就添加美国的地址,操作方法如下:)
命令行输入

sudo vim /etc/hosts

再下面添加
199.232.68.133 raw.githubusercontent.com
前面的IP地址根据www.ipaddress.com网站来查询
最后命令行输入

/etc/init.d/networking restart

7.更新rosdep

命令

rosdep update

这一段也很容易出现网络问题,此时修改网络延迟时间(大概设置为90s),再多次(20次)尝试,同样推荐连接手机热点

具体修改方法
更改 /usr/lib/python2.7/dist-packages/rosdep2/下的三个文件sources_list.py、gbpdistro_support.py、rep3.py中的DOWNLOAD_TIMEOUT = 15.0值,改大一点就可以了。

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py

特别提醒:在连接中途如果发现光标不闪动即卡住了,这时按ctrl+C中断,重新尝试几次就好了

8.环境配置

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

9.安装包编译依赖

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

10.测试ROS

roscore

备注:但是sudo apt install python-rosdep2会导致之前sudo apt-get install ros-melodic-desktop-full安装的包部分丢失(这是后面才意识到的问题),执行楼主所有步骤后,发现没有roscore这个指令,所以还要重新执行

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

就有roscore指令了
重新打开一个新终端:

rosrun turtlesim turtlesim_node

再重新打开一个新的终端

rosrun turtlesim turtle_teleop_key

如果发现无法移动小乌龟,此时要点击控制小乌龟的终端窗口而不是显示小乌龟的窗口

ubuntu的常见问题

1.当遇到”无法定位软件包XXX”的时候,先进行

sudo apt-get update

如果实在不行就将无法定位的软件包名称在网站Ubuntu软件包上进行搜索,尽量只输入英文名称,后面的数字一般是版本号,就可以查询出对应的ubuntu版本下的软件包的名称。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ROS KineticMelodic是两个不同版本的ROS(机器人操作系统)。 其中,KineticROS的第五个正式版本,于2016年5月发布。它支持Ubuntu 16.04和14.04,是一个长期支持(LTS)版本,提供了稳定的功能和更新。 而MelodicROS的第十个正式版本,于2018年5月发布。它支持Ubuntu 18.04和16.04,同样是一个长期支持版本,提供了更多的功能和改进。 总的来说,Melodic相对于Kinetic来说,提供了更多的功能和改进,但是需要更高的硬件要求和更高版本的Ubuntu系统支持。 ### 回答2: ROSRobot Operating System)是一个开放源代码的机器人开发框架,使用ROS可以进行机器人软件开发,它包含了很多模块和工具可以方便地构建一个机器人应用。ROS KineticMelodic 都是两个版本号,其中Kinetic版本发布于2016年2月,而Melodic版本发布于2018年5月。其中,Kinetic版本是从ROS框架第一次发布的版本(ROS Electric)之后的第七个版本,而Melodic版本是第二十个版本。两者在功能上有着许多共同点,但两者还是存在一些不同之处。 一、 ROS版本支持时间不同 ROS KineticMelodic支持的平台不一样。Kinetic是支持Ubuntu Xenial(16.04)以上操作系统,而Melodic则是推出了支持Ubuntu Bionic(18.04)以上版本的操作系统。 二、 支持语言不同 KineticMelodic都支持C++和Python语言。Kinetic还支持Java程序的编写,而Melodic则宣布了对Go语言的支持。这个新功能在构建ROS工具和库会更加方便。 三、 更新不同 KineticROS版本一直都在更新,目前的版本是Kinetic 1.14。而Melodic在推出之后仅在一个月内就完成了第一次更新。这表明Melodic在生态系统和技术更新方面会有更多持续的改进。 四、 维护时限不同 在ROS框架中,每个版本都有一定的支持时间限制。Kinetic的支持时间将于2021年5月结束(已经延长了两年),而Melodic则可以获得10年的维护支持。这意味着Melodic会比Kinetic支持更长时间。 总结一下,KineticMelodic两个版本的最大不同点在于支持的平台、支持语言、更新频率和维护时限。另外,两个版本之间具体的不同点还要具体看开发者的比较需求。在开发过程中需要注意ROS版本的选择,以便更好地完成机器人应用的开发和维护。 ### 回答3: ROS是机器人操作系统的缩写,是一个开源的软件平台,用于构建机器人应用程序。ROS 的版本分为多个发行版,其中比较常用的有ROS KineticMelodic。这两个版本有什么区别? 首先,Kinetic是在2016年5月发布的,而Melodic则是在2018年5月发布的。它们之所以发布的时间相差两年,是因为在这两年间ROS团队进行了很多新特性的添加、问题的修复、API 接口修改等等方面的更新和改进。这也是为什么新版本总是比旧版本要更加稳定和实现更多功能。 另外,Kinetic只支持Ubuntu 16.04和Debian Jessie,而Melodic则支持Ubuntu 18.04和Debian Stretch,这意味着Melodic有更好的兼容性。同时,Melodic还支持Python 3,因为Python 2在2020年停止维护。 此外,对于ROS的一些核心组件,Kinetic版本是基于gcc 5.4编译的,而Melodic版本是基于gcc 7.3编译的,这对于向后兼容性和稳定性有所影响。此外,KineticMelodic的一些包的名称和结构不尽相同。 最后,由于ROS是一个开源软件平台,它的使用是根据个人或组织的具体情况而定。因此,您可以根据需要选择ROS的版本。如果您的项目需要使用较新的硬件设备,那么您可能需要采用较新版本的ROS(如Melodic)。如果您的项目需要避免一些可能的问题或更多的组件支持,那么您可以选择较旧版本的ROS(如Kinetic)。 总之,ROS KineticMelodic之间的主要区别在于版本时间、平台支持、Python版本、gcc编译版本和包的名称和结构。选择版本是根据您的项目需求而定。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值