ROS安装步骤
一、Ubuntu环境
1. 虚拟机
- 虚拟机:虚拟机的好处在于由于前期学习可能会出现一些bug,为防止影响学习进度,故可以这样选择
安装方法:
- 选择Ubuntu版本安装镜像(博主选择了20.04)
- 安装虚拟机VMware Workstation,创建新的虚拟机,选择对应iso文件作为镜像,语言选择英语,其余根据配置选择,硬盘可以使用gparted操作
sudo apt-get install gparted
- 打开虚拟机换源,并进入语言栏选择为中文,这里的原因是将文件目录默认选择为英语防止出现路径问题,但是界面语言可以选择汉语,便于理解。
- 安装中文输入法:可见博客Ubuntu基本操作
2. 双系统
- 双系统:ROS系统是寄生于LINUX系统之下的,故我们可以自行在电脑上安装对应操作系统,版本对应关系如下:
对于本文来说,选择的是Ubuntu20.04,故对应ROS版本Noetic,具体的安装及后续流程可见博客双系统安装和LINUX美化及完善,在后者中有对应中文输入法以及换源等操作的介绍。
二、ROS安装
1. 配置软件中心
- 打开softwave & update:确保给restricted、universe、multiverse前打钩,如下图:
2. 更换下载源地址及配置
- 选择ROS源:即将对应网站添加到软件仓库列表
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
- 如果需要的话,也可以切换国内ROS源,参考博客更换国内源
- 配置公网秘钥:确保系统路径安全,不会立刻清楚
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
- 更新软件源:
sudo apt update
3. 安装并配置环境
- 安装对应版本桌面完整版:
sudo apt-get install ros-noetic-desktop-full
注意,在安装完整版时所需时间较长,需要安心等待
-
查看可使用的包:
$ apt-cache search ros-kinetic
-
配置环境:首先要初始化rosdep
sudo rosdep init
rosdep update
- 配置环境变量
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
4. 常见安装问题
在ROS的安装过程中存在诸多问题,大多数聚焦于rosdep中,这里简单介绍一些:
rosdep:command not found
解决方法:手动安装rosdep:
sudo apt-get install python3-rosdep
- rosdep初始化超时失败问题:
- 下载rosdistro-master.zip并放置于自行设定的路径下,下载地址rosdistro
- 修改本机文件20-default.list
sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list
具体内容修改为如下文件:
# os-specific listings first
yaml file:///自己的项目目录/rosdistro-master/rosdep/osx-homebrew.yaml osx
# generic
yaml file:///自己的项目目录/rosdistro-master/rosdep/base.yaml
yaml file:///自己的项目目录/rosdistro-master/rosdep/python.yaml
yaml file:///自己的项目目录/rosdistro-master/rosdep/ruby.yaml
gbpdistro file:///自己的项目目录/rosdistro-master/releases/fuerte.yaml fuerte
# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.y
- 继续修改以下文件,替换地址为自己的项目目录下:
1. /usr/lib/python3/dist-packages/rosdep2/gbpdistro_support.py
FUERTE_GBPDISTRO_URL = 'file:///自己的项目目录/rosdistro-master/releases/fuerte.yaml'
2. /usr/lib/python3/dist-packages/rosdep2/rep3.py
REP3_TARGETS_URL = 'file:///自己的项目目录/rosdistro-master/releases/targets.yaml'
3. /usr/lib/python3/dist-packages/rosdep2/sources_list.py
DEFAULT_SOURCES_LIST_URL = 'file:///自己的项目目录/rosdistro-master/rosdep/sources.list.d/20-default.list'
4. /usr/lib/python3/dist-packages/rosdistro/__init__.py
DEFAULT_INDEX_URL = 'file:///自己的项目目录/rosdistro-master/index-v4.yaml'
- ERROR: cannot download default sources list from: 20-default.list. Website may be down.
解决方法:
- 切换网络,例如使用热点等;
- 修改hosts文件:
首先,查询raw.githubusercontent.com 的ip地址,网址查询地址
输入命令修改:sudo gedit /etc/hosts
在最后添加:199.232.68.133 raw.githubusercontent.com
(对应地址即可)
三、ROS验证
- 启动节点管理器ROS Master:
roscore
- 新建终端,启动海龟例程:
rosrun turtlesim turtlesim_node
- 启动键盘控制节点
rosrun turtlesim turtle_teleop_key
总结
关于ROS安装步骤的流程在网络上已有诸多教程,ROS Wiki上的中文教程就足矣应对简单的安装流程,本篇博客的主要目的在于回顾并总结ROS安装步骤,为自己的ROS学习进行记录整理,后续将会继续推出关于ROS的学习内容,敬请期待。