Ros安装历程
一.系统设置
不同的ubuntu版本对应着不同的ros版本所以安装前先找到自己的ubuntu版本。
配置好下载类型
找到软件更新
打开后设置如下
二.选择合适的镜像源
源
官网源
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