ROS Melodic安装
安装前的准备¶
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
ROS安装¶
本章主要讲解的是 ROS Melodic 版本在 Ubuntu 18.04 系统上的安装,后面的内容会在此环境下进行。
1. 添加ROS的镜像源¶
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
Tip
添加的镜像源为中国科技大学的镜像源。由于ROS的主服务器在国外,国内访问时速度比较慢,因此我们添加国内镜像源。
2. 配置密钥¶
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
Info
如果以上服务器在连接过程中存在问题,可以用以下两个备选地址:
hkp://pgp.mit.edu:80
hkp://keyserver.ubuntu.com:80
3. 更新Ubuntu的源¶
sudo apt-get update
Tip
这个步骤如果更新速度比较慢,请回到ubuntu系统配置中,配置ubuntu的源为阿里的源
4. 安装ROS kinetic¶
sudo apt install ros-melodic-desktop-full
Tip
ros-melodic-desktop-full
内置了很多ROS的开发工具,作为开发阶段而言,我们选择此版本进行安装。
ROS初始化¶
1. 配置全局环境变量¶
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
Tip
kinetic安装在/opt/ros/melodic
目录下,我们需要将安装目录下的功能包配置到系统的环境变量中去。这样我们才能使用ROS提供给我们的一些命令工具。
2. 安装打包工具依赖¶
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
3. 初始化rosdep¶
sudo rosdep init
rosdep update
Tip
在使用ROS之前,需要初始化rosdep。 rosdep可以轻松地为要编译的代码添加系统依赖项,并且帮助我们运行ROS中核心组件。
安装错误处理¶
1. 源错误¶
E: Failed to fetch http://45.252.224.77/files/2116000007703A52/packages.ros.org/ros/ubuntu/dists/xenial/main/binary-amd64/Packages.gz
E: Failed to fetch http://45.252.224.79/files/111600000609586B/mirrors.ustc.edu.cn/ros/ubuntu/dists/xenial/main/binary-i386/Packages.gz Hash Sum mismatch
E: Some index files failed to download. They have been ignored, or old ones used instead.
Tip
通常在安装过程中会出现 Hash Sum mismatch,这个时候,建议修改Ubuntu操作系统的软件源为http://mirrors.ustc.edu.cn。保证ros的源和ubuntu的源一致,规避掉hash校验的错误。
2. rosdep错误¶
- 建议多尝试几次,直到成功。
- 如果不行,建议全局代理翻墙
测试安装¶
通过命令启动Ros Master
roscore
启动命令后,会有以下日志打印
... logging to /home/xq/.ros/log/60c9f200-32b5-11ea-9658-482ae35bedc8/roslaunch-xq-pc-31609.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://xq-pc:41099/
ros_comm version 1.14.3
SUMMARY
========
PARAMETERS
* /rosdistro: melodic
* /rosversion: 1.14.3
NODES
auto-starting new master
process[master]: started with pid [31620]
ROS_MASTER_URI=http://xq-pc:11311/
setting /run_id to 60c9f200-32b5-11ea-9658-482ae35bedc8
process[rosout-1]: started with pid [31631]
started core service [/rosout]
Conda冲突¶
如果系统环境中安装了Anaconda
,会与ros的python环境冲突。
解决冲突的方法为:
修改~/.condarc
文件, 在文件中添加:
auto_activate_base: false