目录
1、安装步骤
(1)添加ROS软件源
(2)添加秘钥
(3)安装ROS
(4)初始化rosdep
(5)设置环境变量
(6)安装rosinstall
2、安装报错解决办法
(1)添加ROS软件源
(2)添加秘钥
(3)安装ROS
(4)初始化rosdep
(5)设置环境变量
(6)安装rosinstall
作者在安装ROS的过程中,几乎步步出错,后文汇总了出错的解决办法,文章参考了众多博客。
1、安装步骤
(1)添加ROS软件源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
(2)添加秘钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
(3)安装ROS
sudo apt update
sudo apt install ros-melodic-desktop-full
ros版本需要和Ubuntu版本一致才行。
Ubuntu18.04:melodic
Ubuntu16.04: kinetic
Ubuntu14.04: indigo
(4)初始化rosdep
sudo rosdep init
rosdep update
(5)设置环境变量
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
(6)安装rosinstall
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
2、安装报错解决办法
(1)添加ROS软件源
(2)添加秘钥
问题1:Executing: /tmp/apt-key-gpghome.xFJY0Xqqye/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
gpg: 从公钥服务器接收失败:服务器故障
***@vmware:~$ sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654Executing: /tmp/apt-key-gpghome.xFJY0Xqqye/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654gpg: 从公钥服务器接收失败:服务器故障
问题1 解决方法:
报错原因虚拟机没有连接上网络
(1)换用手机热点。
(2)打开计算机管理 -> 服务与应用程序 -> 检查关于vMware服务是否都处于开启状态.
(3)安装ROS
问题2:E: 无法获得锁 /var/lib/apt/lists/lock。锁正由进程 5167(apt-get)持有
N: 请注意,直接移除锁文件不一定是合适的解决方案,且可能损坏您的系统。
E: 无法对目录 /var/lib/apt/lists/ 加锁
***@vmware:~$ sudo apt update正在读取软件包列表... 完成E: 无法获得锁 /var/lib/apt/lists/lock。锁正由进程 5167(apt-get)持有N: 请注意,直接移除锁文件不一定是合适的解决方案,且可能损坏您的系统。E: 无法对目录 /var/lib/apt/lists/ 加锁
问题2 解决方法:
执行命令:sudo rm /var/lib/apt/lists/lock
问题3:E: 无法定位软件包 ros-melodic-desktop-full
***@vmware:~$ sudo apt install ros-melodic-desktop-full正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 E: 无法定位软件包 ros-melodic-desktop-full
问题3 解决方法:
检查Ubuntu版本,20.04版对应ros的noetic。sudo apt install ros-noetic-desktop-full
(4)初始化rosdep
问题4:执行rosdep update,sudo: rosdep:找不到命令
sudo: rosdep:找不到命令
问题4 解决方法:
20.04终端输入:sudo apt install python3-rosdep2
18.04终端输入:sudo apt install python-rosdep2
然后再次初始化rosdep: sudo rosdep init
问题5: ERROR: default sources list file already exists: /etc/ros/rosdep/sources.list.d/20-default.list Please delete if you wish to re-initialize
***@vmware:~$ sudo rosdep initERROR: default sources list file already exists:/etc/ros/rosdep/sources.list.d/20-default.listPlease delete if you wish to re-initialize
问题5 解决方法:
执行:sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
问题6: 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.
***@vmware:~$ sudo rosdep initERROR: cannot download default sources list from:https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.listWebsite may be down.
问题6 解决方法:
出现Website may be down,原因是https://raw.githubusercontent.com/是外网网址访问不稳定(可多尝试几次sudo rosdep init)
如果多次尝试还是不行可尝试下边方法:
1)执行:sudo gedit /etc/hosts
在文件末尾添加下面这段:151.101.84.133 raw.githubusercontent.com
2)然后保存退出再次sudo rosdep init如果还是不行登陆IPAdress网站https://www.ipaddress.com/输入raw.githubusercontent.com查询到真实IP地址:
将查询到的IP替换上面代码的 151.101.84.133然后再次sudo rosdep init一般就会成功了
问题7:<urlopen error timed out>
***@vmware:~$ rosdep updatereading in sources list data from /etc/ros/rosdep/sources.list.dERROR: unable to process source ...[https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml]:Failed to download target platform data for gbpdistro:<urlopen error timed out>]]]
问题7 解决方法:
参考链接:https://blog.csdn.net/weixin_44023934/article/details/121242176
(5)设置环境变量
问题8:bash: /opt/ros/melodic/setup.bash: 没有那个文件或目录
***@vmware:~$ source ~/.bashrcbash: /opt/ros/melodic/setup.bash: 没有那个文件或目录bash: /opt/ros/melodic/setup.bash: 没有那个文件或目录bash: /opt/ros/melodic/setup.bash: 没有那个文件或目录bash: /opt/ros/melodic/setup.bash: 没有那个文件或目录bash: /opt/ros/melodic/setup.bash: 没有那个文件或目录bash: /opt/ros/melodic/setup.bash: 没有那个文件或目录
问题8 解决方法:参考文章
1)打开虚拟机终端,输入 :gedit .bashrc
弹出一个文件,找到最后一行,如图所示:
2)ros版本需要和Ubuntu版本一致才行。
Ubuntu18.04:melodic
Ubuntu16.04: kinetic
Ubuntu14.04: indigo
是把文件中的melodic改成了自己对应的版本,重复的都删了,之后保存,再打开终端,就好了。
(6)安装rosinstall
问题9 :软件包 python-rosinstall 没有可安装候选
***@vmware:~$ sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 没有可用的软件包 python-rosinstall,但是它被其它的软件包引用了。这可能意味着这个缺失的软件包可能已被废弃,或者只能在其他发布源中找到然而下列软件包会取代它: python3-rosinstall...E: 软件包 python-rosinstall 没有可安装候选E: 软件包 python-rosinstall-generator 没有可安装候选E: 软件包 python-wstool 没有可安装候选
问题9 解决方法:
根据提示,python的版本不对
输入改为:sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool build-essential