ROS Kinectic安装
ROS安装
本章主要讲解的是**ROS Kinetic** 版本在**Ubuntu 16.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
|
Tip
如果以上服务器在连接过程中存在问题,可以用以下两个备选地址:
hkp://pgp.mit.edu:80
hkp://keyserver.ubuntu.com:80
3. 更新Ubuntu的源
Tip
这个步骤如果更新速度比较慢,请回到ubuntu系统配置中,配置ubuntu的源为阿里的源
4. 安装ROS kinetic
| sudo apt-get install ros-kinetic-desktop-full
|
Tip
ros-kinetic-desktop-full
内置了很多ROS的开发工具,作为开发阶段而言,我们选择此版本进行安装。
ROS初始化
1. 初始化rosdep
| sudo rosdep init
rosdep update
|
Tip
在使用ROS之前,需要初始化rosdep。 rosdep可以轻松地为要编译的代码添加系统依赖项,并且帮助我们运行ROS中核心组件。
2. 配置全局环境变量
| echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
|
Tip
kinetic安装在/opt/ros/kinetic
目录下,我们需要将安装目录下的功能包配置到系统的环境变量中去。这样我们才能使用ROS提供给我们的一些命令工具。
3. 安装打包工具依赖
| sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
|
安装错误处理
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
启动命令后,会有以下日志打印
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 | ... logging to /home/itheima/.ros/log/970b7818-77d3-11e9-a2e4-000c2948d957/roslaunch-ubuntu-9693.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://ubuntu:44075/
ros_comm version 1.12.14
SUMMARY
========
PARAMETERS
* /rosdistro: kinetic
* /rosversion: 1.12.14
NODES
auto-starting new master
process[master]: started with pid [9708]
ROS_MASTER_URI=http://ubuntu:11311/
setting /run_id to 970b7818-77d3-11e9-a2e4-000c2948d957
process[rosout-1]: started with pid [9725]
started core service [/rosout]
|