这里非常非常非常推荐——小鱼ros一键安装
终端执行
wget http://fishros.com/install -O fishros && . fishros
这里完全可以按照提示安装即可,速度快,安装稳定
如果有小伙伴有兴趣尝试手动安装的过程,按照下文安装即可
Ubuntu版本 | ROS版本 |
---|---|
ubuntu16.04 | ros-kinetic |
ubuntu18.04 | ros-melodic |
ubuntu20.04 | ros-noetic |
这里以Ubuntu18.04作为本篇安装例子(安装步骤等效各个版本,具体安装可进行修改)
在“软件和更新”中选择“下载自:其他站点”中设置国内的站点—(这里选择的是清华大学的站点)
设置完成后进行同步更新
sudo apt-get update
新建终端运行:
sudo sh -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
终端输入:
sudo apt-get update
sudo apt-get install ros-melodic-desktop-full
sudo apt-get install ros-melodic-rqt*
输入“Y”确认安装:
apt-get update 更新之前添加的软件源
终端输入:
sudo rosdep init
sudo apt install python-rosdep2
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
首先访问 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
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
sudo rosdep update
sudo rosdep init
sudo apt-get install python-rosinstall
安装缺失的依赖环境
sudo apt-get install 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可以看到已经安装成功
分别开三个终端依次执行
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key