官方网站 | 官方文档
ROS版本介绍
ROS版本 |
推荐Ubuntu版本 |
发布时间 |
停止支持时间 |
ROS Kinetic |
Ubuntu 16.04 (Xenial) |
2016年5月 |
2021年4月 |
ROS Melodic |
Ubuntu 18.04 (Bionic) |
2018年5月 |
2023年5月 |
ROS Noetic |
Ubuntu 20.04 (Focal) |
2020年5月 |
2025年5月 |
本文的Ubuntu版本为 Ubuntu 18.04 ,故安装 ROS Melodic 。
添加清华apt源
1
| sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
|
也可以使用下面的官方源或查看镜像列表:
1
| sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
|
设置公钥
1
| sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
|
更新源
使用apt进行ROS的完整安装
1
| sudo apt install ros-melodic-desktop-full
|
设置环境变量
1 2
| echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc
|
安装可能用到的依赖
1
| sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
|
设置rosdep
1 2 3
| sudo apt install python-rosdep sudo rosdep init rosdep update
|
在执行 sudo rosdep init
时很可能出错,如果错误原因如下:
1
| ERROR: unable to process source https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/xxx
|
则是因为 raw.githubusercontent.com
被墙导致的问题,此时修改hosts即可解决。
使用 https://www.ip138.com 查询 raw.githubusercontent.com
的ip(一般使用香港的ip,目前解析为 151.101.76.133
),修改到hosts文件
在文件末尾追加:
1 2
| # For rosdep init 151.101.76.133 raw.githubusercontent.com
|
保存重新执行 sudo rosdep init
即可。
如果上述方法仍不能解决问题,还有个终极方案。
1 2
| sudo mkdir -p /etc/ros/rosdep/sources.list.d sudo vim /etc/ros/rosdep/sources.list.d/20-default.list
|
将 https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
的内容粘贴进去,如下:
1 2 3 4 5 6 7 8 9 10
| yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml gbpdistro https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml fuerte
|
禁用SSL,使用 sudo vim /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
在 import yaml
后插入:
1 2
| import ssl ssl._create_default_https_context = ssl._create_unverified_context
|
执行 rosdep update
就可以了,不需要再执行 sudo rosdep init
。
创建ros工作空间
1 2 3
| mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make
|
将工作空间加入环境变量
1 2
| echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc source ~/.bashrc
|
测试ROS
使用小乌龟(turtlesim)来测试ROS的安装。
首先打开ROS服务:
打开一个新终端,运行小乌龟:
1
| rosrun turtlesim turtlesim_node
|
打开一个新终端,可通过向终端发送方向键来控制小乌龟的移动:
1
| rosrun turtlesim turtle_teleop_key
|