Ubuntu安装ROS【基于慕羽的进行详细补充】

原文链接:https://blog.csdn.net/qq_44339029/article/details/120579608

本次安装采用在虚拟机中安装的模式,用的VMware16.2.2 build-19200509

1、添加ROS软件源

将下面这条命令复制到ubuntu的终端执行

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'

2、添加密钥

将以下命令复制到ubuntu的终端执行

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

出现没有公钥就执行下面代码,将F42ED6FBAB17C654改为报错对应的码。
在这里插入图片描述

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

成功后会显示如下界面:

在这里插入图片描述

3、更新软件源

将以下命令复制到ubuntu的终端执行(在这里顺便说一下,如果用wifi更新慢或者失败的话,切换至手机热点,再执行下面的命令试一下)

sudo apt update

成功后会显示如下界面:

在这里插入图片描述

失败就执行第四点,换一个源

4、配置及更换最佳软件源

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'

2、清华大学 ros镜像源

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

3、北京外国语大学ros镜像源

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

4、上海交通大学 ros镜像源

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

我用的是清华的镜像源
换后记得更新

5、做完上面的就可以开始安装ROS了

因ubuntu版本的不同其安装指令也有可能不同,我的是ubuntu20.04 执行下面的命令来安装:

sudo apt install ros-noetic-desktop-full

会显示如下界面:
在这里插入图片描述
安装完成:
在这里插入图片描述
然后选择你想安装“多少部分”的ROS:

其他版本:

完整桌面版安装(Desktop-Full,推荐):除了桌面版的全部组件外,还包括2D/3D模拟器(simulator)和2D/3D 感知包(perception package)。

sudo apt install ros-noetic-desktop-full

桌面版(Desktop):包括了ROS-Base的全部组件,还有一些工具,比如rqt和rviz。

sudo apt install ros-noetic-desktop

ROS-Base(仅含骨架):ROS packaging,build,和communication库。没有图形界面(GUI)工具。

sudo apt install ros-noetic-ros-base

6、初始化rosdep

注意:据说这个版本不需要执行初始化,大家可以尝试一下,我个人建议Ubuntu版本在20.04以后的可以跳过这步,直接去第7步。太折腾了
首先介绍一下这两个命令的目的:
sudo rosdep init 的目的是为了在/etc目录下新建/ros/rosdep/sources.list.d/20-default.list文件。
rosdep update 的目的是在/etc/ros/rosdep/source.list.d下放5个文件,分别是base.yaml,gentoo.yaml,osx-homebrew.yaml,python.yaml,ruby.yaml.

输入以下的命令,先对其初始化一下

sudo rosdep init

如果出现以下界面,那么恭喜你,你可以省下一些麻烦了,直接跳到第7步就行了:

如果出现了以下几种错误,也不要担心,下面几种错误我都经历过 ,当然也就为大家整理好了解决方法

错误1:找不到命令

在这里插入图片描述

尝试着输入以下命令

sudo apt install python-rosdep

或者:(本人使用的)

sudo apt install python3-rosdep2

这时候它会出现以下的界面,输入Y继续
在这里插入图片描述
在这里插入图片描述
到这里如果再输入sudo rosdep init命令试试。

错误2:ERROR: cannot download default sources list from:https : //raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.listWebsite may be down.

在这里插入图片描述

输入以下命令:

sudo gedit /etc/hosts

然后在打开的hosts文件中添加如下的内容,然后保存退出

//二选一即可
199.232.28.133 raw.githubusercontent.com
151.101.84.133 raw.githubusercontent.com
185.199.108.133 raw.githubusercontent.com

关于上面这条语句,它的内容可能会变化,查询最新地址的方法通过IPAddress.com首页,输入raw.githubusercontent.com查询到最新的真实IP地址,新的地址是这个: 185.199.108.133 raw.githubusercontent.com。
对于sudo rosdep init这条指令当使用无线网络执行超时的话,可以换成手机热点试一下,亲测有用!!!

再输入sudo rosdep init命令试试

错误3:ERROR: default sources list file already exists: /etc/ros /rosdep/sources.list.d/20-default.listPlease delete if you wish to re-initialize

在这里插入图片描述

输入以下命令:

sudo rm /etc/ros/rosdep/sources.list.d/20-default.list

再输入sudo rosdep init命令试试,基本上就成功了。

rosdep update 问题

方法一:

执行

rosdep update

常见报错信息就是各种The read operation timed out.。
解决,直接从对应网址保存所有需要的文件到/etc/ros/rosdep:下载链接。其中source.list.d文件是已经新建的,直接把其他文件下载然后放到对应的目录下就行。
在这里插入图片描述
再次执行

rosdep update

方法二:

按顺序执行下面的步骤

//安装python的pip包管理工具
sudo apt-get install python3-pip
//这个功能能够将国外的ros下载源转移到过国内的镜像进行更新
sudo pip3 install 6-rosdep
//开启这个工具
sudo 6-rosdep
//执行更新
rosdep update

7、设置环境变量

(1)输入下面的这行代码,注意到底是melodic还是noetic或者是kinetic是由你的ubuntu的版本决定的,比如我的ubuntu是20.04版本的,对应的是noetic,也就是应该下面的这行代码,而不是上面那行

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

如果你一不小心第一次没有运行对正确的版本,比如应该是noetic,而你输入的是命令对应的是melodic,那么此时即使你再输入正确的命令后,再进行下一步,他也会显示:bash: /opt/ros/melodic/setup.bash: 没有那个文件或目录,这个时候的的解决方法如下,先执行以下命令

gedit .bashrc

它会打开一个文件,把文件的最后一行source /opt/ros/melodic/setup.bash中的melodic改为正确的noetic,保存退出就可以了(如果有多行,删去多余的,只保留一行)
(2)输入以下命令,运行该脚本让环境变量生效

source ~/.bashrc

8、安装rosinstall

输入以下命令:

sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool

成功后的界面如下所示:
在这里插入图片描述

9、 验证ROS是否安装成功

按正常来说ROS到这里就安装完成了,现在我们来验证一下,输入以下命令:

roscore

如果出现了以下的问题:Command ‘roscore’ not found, but can be installed with:sudo apt install python3-roslaunch,按照提示输入sudo apt install python3-roslaunch命令并执行,成功后界面如下:

sudo apt install python3-roslaunch

在这里插入图片描述

如果出现了以下的问题说明,之前的安装没有安装全
在这里插入图片描述

输入以下命令,把没安装的安装一下就好了(如果显示有几个安装包无法下载,是因为网络的原因重新输入以下命令就行了)

sudo apt install ros-noetic-desktop-full

到这里再输入roscore看一下,若安装成功会显示如下界面:
在这里插入图片描述

然后我们启动一下小海龟的仿真器试一试,按ctrl+alt+t打开一个新的终端,输入以下命令

rosrun turtlesim turtlesim_node

按ctrl+alt+t再打开一个新的终端,输入以下命令

rosrun turtlesim turtle_teleop_key

这时候你按键盘上的↑↓←→键就可以控制小海龟移动了!!!
那么恭喜你的ROS已经成功安装完了!!!

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值