Ros安装历程

一.系统设置

不同的ubuntu版本对应着不同的ros版本所以安装前先找到自己的ubuntu版本。

配置好下载类型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WOUvMxB0-1629175079867)(/home/nisj/.config/Typora/typora-user-images/image-20210817115746191.png)]

找到软件更新
在这里插入图片描述

打开后设置如下

在这里插入图片描述

二.选择合适的镜像源

官网源

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

中科大源

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 apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116

更新

sudo apt-get update

ps:这里最容易遇到的问题是当你使用官网源的时候不仅速度慢,由于网络波动可能导致一些文件无法下载,所以推荐使用其他镜像源,清华源也是不错的选择

三.开始安装

对于ubuntu20.04的ros版本是noetic

所以使用

sudo apt install ros-noetic-desktop-full

使用其他版本会出现无法定位软件包的提示

四.初始化

最容易出现问题且问题最多的地方就是这里了

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

sudo rosdep init

错误一:找不到命令

输入以下内容

sudo apt install python3-rosdep2

错误二: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

然后多试几次,一次未必能成功

错误三:
在这里插入图片描述

输入命令

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

最后的最后当出现叫你输入rosdep update时,你就成功了

五.rosdep update

这一步最让人难受的就是time out登录不上,登录失败等等问题,因为国内上github不是很稳定。

但是网站https://ghproxy.com/支持github的资源代理,非常好用,我们将用此代理加速rosdep对Github Raw的访问,进而解决rosdep update超时问题。

首先rosdep init成功后修改/etc/ros/rosdep/sources.list.d/20-default.list文件:
在所有https://raw.githubusercontent.com前加上https://ghproxy.com/:如下所示:

在这里插入图片描述

使用命令

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

然后修改/usr/lib/python3/dist-packages/rosdistro/__init__.py文件:
DEFAULT_INDEX_URL前面加上https://ghproxy.com/,修改完成如下所示:

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

但是注意,python版本不同文件位置也不同,可以使用find找到初始化文件__init__.py的位置,其目录满足/usr/lib/pythonxxx/dist-packages/rosdistro/__init__.py

至此再次运行rosdep update

记得多运行几次,有一个网站即使加了https://ghproxy.com/也不稳定,所以要多尝试10+次

六.验证测试

输入roscore

如果出现一下画面

在这里插入图片描述

则是安装没有安装完全,再次输入sudo apt install ros-noetic-desktop-full即可,直到所有文件已安装

roscore成功后会显示一下画面

在这里插入图片描述

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

按ctrl+alt+t再打开一个新的终端,输入命令rosrun turtlesim turtle_teleop_key

这时候你按键盘上的↑↓←→键就可以控制小海龟移动了!!!(点击最后一个终端时才可以控制小海龟)

但是事情总是不如人意,当我输入rosrun turtlesim turtlesim_node提示我未安装rosrun,安装rosrun时又出现依赖问题,解决方案是,卸载重新安装。

七.卸载

sudo apt-get purge ros-*
sudo rm -rf /etc/ros
gedit ~/.bashrc
## 把之前写入在~/.bashrc中的东西删除
source ~/.bashrc
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐