Ubuntu20.04.4安装ROS Noetic详细教程
目录
1. 版本说明
Ubuntu系统版本:Ubuntu20.04.4 LTS
ROS版本:Noetic
安装时间:2022.05.16
2. 配置系统软件源
- step1. 首先,将原来的源备份一下,以防后续需要
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
。 - step2. 进入清华大学开源软件镜像站,选择ubuntu版本为20.04LTS,并复制其配置。
图1:Ubuntu20.04LTS清华镜像源
- step3. 终端键入
nano /etc/apt/sources.list
。 - step4. 注释里面原有的源。
- step5. 将步骤step2中复制的清华源配置进行粘贴。
- step6. Ctrl+O写入,Ctrl+X退出。
- step7. 更新源
apt update
。 - step8. reboot重启电脑。
3. 添加ROS源
- step1. 在终端输入如下指令,设置sources.list。
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
4. 添加密钥
- step1. 在终端输入如下指令,添加Ros密钥。
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
5. 安装ROS
- step1. 在终端输入如下指令,确保软件索引是最新的
sudo apt update
- step2. 在终端输入如下指令,安装桌面完整版Ros。使用aptitude进行安装,比apt的好处在于,可以帮助解决一些软件的依赖问题,如果无法解决,也会给出很好的建议,由我们进行选择和处理。安装方法:
sudo apt-get install aptitude
。
sudo aptitude install ros-noetic-desktop-full
6. 设置环境变量
- step1. 在终端输入如下指令,对环境变量进行配置。
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
7. 初始化rosdep
7.1 克隆rosdistro文件
- step1. 因为
https://raw.githubusercontent.com
网站在国内被屏蔽无法访问,直接进行初始化会失败,所以我们先将需要的rosdistro文件克隆下来。 - step2. 将克隆好的文件夹放置在你自己指定的本地文件夹下,我这里放置在了
/opt/ros/noetic/
文件夹下。
cd /opt/ros/noetic/
git clone https://github.com/ros/rosdistro.git
7.2 修改文件1:20-default.list
- step1. 文件路径:
/opt/ros/noetic/rosdistro/rosdep/sources.list.d/
。 - step2. 将里面的URL改为file路径,需要删除默认URL路径中的/master/。
cd /opt/ros/noetic/rosdistro/rosdep/sources.list.d/
sudo gedit 20-default.list
# 修改为如下内容
# os-specific listings first
yaml file:///opt/ros/noetic/rosdistro/rosdep/osx-homebrew.yaml osx
# generic
yaml file:///opt/ros/noetic/rosdistro/rosdep/base.yaml
yaml file:///opt/ros/noetic/rosdistro/rosdep/python.yaml
yaml file:///opt/ros/noetic/rosdistro/rosdep/ruby.yaml
gbpdistro file:///opt/ros/noetic/rosdistro/releases/fuerte.yaml fuerte
# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
图2:20-default.list文件
7.3 修改文件2:gbpdistro_support.py
- step1. 文件路径为:
/usr/lib/python3/dist-packages/rosdep2/
(Noetic路径为python3,Melodic或者老版本路径为python2.7)。
cd /usr/lib/python3/dist-packages/rosdep2/
sudo gedit gbpdistro_support.py
# 修改为如下内容
FUERTE_GBPDISTRO_URL = 'file:///opt/ros/noetic/rosdistro/'
'releases/fuerte.yaml'
图3:gbpdistro_support.py文件
7.4 修改文件3:rep3.py
- step1. 文件路径为:
/usr/lib/python3/dist-packages/rosdep2/
(Noetic路径为python3,Melodic或者老版本路径为python2.7)。
cd /usr/lib/python3/dist-packages/rosdep2/
sudo gedit rep3.py
# 修改为如下内容
REP3_TARGETS_URL = 'file:///opt/ros/noetic/rosdistro/releases/targets.yaml'
图4:rep3.py文件
7.5 修改文件4:_init_.py
step1. 文件路径为:/usr/lib/python3/dist-packages/rosdistro/
(Noetic路径为python3,Melodic或者老版本路径为python2.7)。
cd /usr/lib/python3/dist-packages/rosdistro/
sudo gedit __init__.py
# 修改为如下内容
DEFAULT_INDEX_URL = 'file:///opt/ros/noetic/rosdistro/index-v4.yaml'
图5:__init__.py文件
7.6 安装python-rosdep
- step1. 在终端入如下指令安装
python-rosdep
,如果不安装,在运行sudo rosdep init
时可能会出现"sudo: rosdep:找不到命令"的错误。
# Noetic版本ROS为python3-rosdep
sudo apt-get install python3-rosdep
# Melodic版本ROS为python-rosdep
sudo apt-get install python-rosdep
7.7 创建20-default.list文件
- step1. 安装了
python-rosdep
后,因为国内网络被屏蔽的原因运行sudo rosdep init
还出现无法下载或连接失败的错误。所以用如下命令创建这个文件。
sudo mkdir -p /etc/ros/rosdep/sources.list.d
cd /etc/ros/rosdep/sources.list.d
sudo gedit 20-default.list
# 在文件中添加如下内容
#os-specific listings first
yaml file:///opt/ros/noetic/rosdistro/rosdep/osx-homebrew.yaml osx
#generic
yaml file:///opt/ros/noetic/rosdistro/rosdep/base.yaml
yaml file:///opt/ros/noetic/rosdistro/rosdep/python.yaml
yaml file:///opt/ros/noetic/rosdistro/rosdep/ruby.yaml
gbpdistro file:///opt/ros/noetic/rosdistro/releases/fuerte.yaml fuerte
#newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
图6:20-default.list文件
7.8 完成初始化rosdep
- step1. 在终端输入如下指令,完成初始化rosdep。
rosdep update
8. 安装rosinstall
- step1. 在终端输入如下指令,安装rosinstall。
# Noetic版本ROS为
sudo apt install python3-rosdep
sudo apt install python3-rosinstall
sudo apt install python3-rosinstall-generator
sudo apt install python3-wstool
sudo apt install build-essential
# Melodic版本ROS为
sudo apt install python-rosdep
sudo apt install python-rosinstall
sudo apt install python-rosinstall-generator
sudo apt install python-wstool
sudo apt install build-essential
9. 运行ROS
- step1. 在终端输入如下指令,运行ROS。
- step2. 查看安装好的ROS的发行版名称为noetic和版本号1.15.14。
roscore
图7:ROS运行界面
10. 自检
- step1. 在终端输入如下指令,对Ros进行自检。
- step2. 可以看到没有错误和警告,至此Ros安装完毕!
roswtf
图8:ROS自检界面
11. and Enjoy!!!
- step1. ROS初次实践:启动一个小海龟仿真。
- step2. 启动三个终端分别输入如下指令。
# 启动ROS Master
roscore
# 启动小海龟仿真器
rosrun turtlesim turtlesim_node
# 启动小海龟控制节点
rosrun turtlesim turtle_teleop_key
图9:小海龟仿真实践