Ubuntu安装ROS(每个步骤图文详细)
前言(推荐安装)
这里非常非常非常推荐——小鱼ros一键安装
终端执行
wget http://fishros.com/install -O fishros &&. fishros
这里完全可以按照提示安装即可,速度快,安装稳定
如果有小伙伴有兴趣尝试手动安装的过程,按照下文安装即可
ROS对应的Ubuntu的版本
Ubuntu版本ROS版本ubuntu16.04ros-kineticubuntu18.04****ros-melodicubuntu20.04ros-noetic
这里以Ubuntu18.04作为本篇安装例子(安装步骤等效各个版本,具体安装可进行修改)
换源
在“软件和更新”中选择“下载自:其他站点”中设置国内的站点—(这里选择的是清华大学的站点)
设置完成后进行同步更新
sudoapt-get update
安装ROS
一、添加ROS软件源
新建终端运行:
sudosh-c'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
二、添加密钥
sudo apt-key adv --keyserver'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
显示已导入表示添加完成
三、安装ROS-melodic
终端输入:
sudoapt-get update
sudoapt-getinstall ros-melodic-desktop-full
sudoapt-getinstall ros-melodic-rqt*
输入“Y”确认安装:
apt-get update 更新之前添加的软件源
四、初始化rosdep
终端输入:
sudo rosdep init
可能出现的问题:
一 、 sudo: rosdep:找不到命令
执行安装:python-rosdep2
sudoaptinstall python-rosdep2
二、raw.githubusercontent.com网络下载问题
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
通过修改host解决
首先访问 The Best IP Address, Email and Networking Tools - IPAddress.com,查询 raw.githubusercontent.com 的ip地址
打开host文件
sudo gedit /etc/hosts
在host文本的最后一行添加
185.199.109.133 raw.githubusercontent.com
再次执行
sudo rosdep init
写入成功
根据推荐提示执行:
rosdep update
若还是因为网络问题无法进行安装
解决
参考《解决ROS系统 rosdep update超时问题的新方法》
修改位于/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py的函数download_rosdep_data
cd /usr/lib/python2.7/dist-packages/rosdep2/
sudo gedit sources_list.py
打开文件后,搜索定位到def download_rosdep_data(url): 函数
添加:
url="https://ghproxy.com/"+url
if url.startswith("http://") or url.startswith("https://"):
url_request = request.Request(url, headers={'User-Agent':'rosdep/{version}'.format(version=__version__)})
else:
url_request = url
如图所示:
同时修改路径**/usr/lib/python2.7/dist-packages/rosdistro/init.py**
cd /usr/lib/python2.7/dist-packages/rosdistro
sudo gedit __init__.py
将DEFAULT_INDEX_URL 进行如下替换:
DEFAULT_INDEX_URL ='https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'
PS:之后在执行`sudo rosdep init更新时遇到网络问题时:均可以在地址前面加入https://ghproxy.com/
/usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py 36行
/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py 72行
/usr/lib/python2.7/dist-packages/rosdep2/rep3.py 39行
/usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py 68行 119行
其中,对于第五个地址的网络错误:
https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml
在 /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py****第204行添加如下代码
gbpdistro_url ="https://ghproxy.com/" + gbpdistro_url
ERROR: default sources list file already exists:
如果出现这个错误
执行:
sudorm /etc/ros/rosdep/sources.list.d/20-default.list
sudo rosdep update
sudo rosdep init
更新结果:
五、安装rosinstall
sudoapt-getinstall python-rosinstall
可能出现的问题—缺失依赖包
安装缺失的依赖环境
sudoapt-getinstall python-pip
sudo pip install-U rosinstall
六、配置同步环境
进入ubuntu环境设置文件
source /opt/ros/melodic/setup.bash
在文件末尾添加
echo"source /opt/ros/melodic/setup.bash">> ~/.bashrc
source ~/.bashrc
一切安装完成后进入opt/ros/melodic可以看到已经安装成功
七、测试ROS—(小海龟)
分别开三个终端依次执行
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
出现如图所示即代表安装成功
至此全部的安装已经完成
版权归原作者 BIGBOSSyifi 所有, 如有侵权,请联系我们删除。