Robot Operating System (ROS) 是一个获得普遍应用机器人系统的软件框架,它包含了一系列的软件库和工具用于构建机器人应用。从驱动到最早进的算法,以及强大的开发者工具,ROS 包含了开发一个机器人项目所须要的全部东西。且它们都是开源的。node
ROS 虽然名为机器人操做系统,但它与咱们通常概念中的操做系统,如 Windows,Linux,iOS 和 Android 这些。Windows,Linux,iOS 和 Android 这些操做系统为咱们管理计算机的物理硬件资源,如 CPU、内存、磁盘、网络及外设,提供如进程、线程和文件这样的抽象,并提供如读文件、写文件、建立进程、建立线程及启动线程这样的操做。ROS 所工做的层级并无这么低,它基于通常概念中的操做系统来运行,官方推荐基于 Ubuntu Linux 运行,并在 Ubuntu Linux 操做系统提供的抽象和操做的基础之上,提供了更高层的抽象,如节点、服务、消息、主题等,以及更高层的操做,如主题的发布、主题的订阅、服务的查询与链接等操做。同时 ROS 还提供开发机器人项目所需的工具和功能库。python
ROS 发行版是一个版本标识的 ROS 包集合,这些与 Linux 发行版(如 Ubuntu)相似。ROS 发行版的目的是让开发者能够基于一个相对稳定的代码库来工做,直到他们能够平稳地向前演进。一旦发行版发布,官方就会限制对其的改动,而仅仅提供对于核心包的 bug fixes 和非破坏性的加强。算法
当前(2018-01-28) ROS 系统已经发布了多个版本。ROS 最新的一些版本以下:
shell
ROS 基本上保持每一年一个新版本,每两年一个长期发行版的发布节奏。关于 ROS 版本发布的更多内容,如更多的发行版的介绍,发布的计划等,能够参考 ROS 官方站点的 Distributions 主页。ubuntu
目前官方推荐使用最近的一个长期支持版本,即 ROS Kinetic Kame,求新的同时兼顾稳定性无疑应该采用这一版本,若是想要尝试最新的功能特性则可使用最新的发行版 ROS Lunar Loggerhead。bash
ROS 的安装步骤以下。网络
ROS kinetic官网:http://wiki.ros.org/kinetic/Installation/Ubuntuapp
1. 配置Ubuntu的资源库:"restricted","universe"和"multiverse"。通常状况是不用配置的,参考下图红色框部分。
若是没有配置,能够参考Ubuntu官网框架
2. 安装:工具
参见:https://blog.csdn.net/weixin_39036700/article/details/81629810
1.设置安装源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
2.设置key
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
3.安装
sudo apt-get update
sudo apt-get install ros-kinetic-desktop-full
独立的包安装:能够安装一个特定的 ROS 包(用实际的包名来替换下面的命令中的 “PACKAGE”)。
sudo apt-get install ros-kinetic-PACKAGE
如:sudo apt-get install ros-kinetic-slam-gmapping
要找到可用的包,可使用:apt-cache search ros-kinetic
4.初始化 sudo rosdep init (安装一次后只能运行一次,若从新安装选择跳过或卸载) rosdep update
结果:
Add distro "groovy"
Add distro "hydro"
Add distro "indigo"
Add distro "jade"
Add distro "kinetic"
Add distro "lunar"
Add distro "melodic"
updated cache in /home/ubuntu1604/.ros/rosdep/sources.cache
若出现time out 或错误,重试几遍
5.配置环境变量 echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
打开另外一个终端: source ~/.bashrc
若是安装了多个 ROS 发行版,则 ~/.bashrc
必须只 source
当前正在使用的那一版的 setup.bash
。
若是你只想要修改当前 shell 的环境,则输入以下的命令来替换上面的命令:source /opt/ros/kinetic/setup.bash
6.安装rosinstallsudo apt-get install python-rosinstall
构建包所需的依赖
到这一步,应该已经安装好了运行核心 ROS 包的全部东西。要建立和管理你本身的 ROS workspace,还有单独发布的许多的工具。好比,rosinstall 是一个经常使用的命令行工具,使你能够经过一个命令为 ROS 包简单地下载许多源码树。
要安装这个工具及其它的依赖以构建 ROS 包,则运行:
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
完成完整的 ROS 安装以后,能够对安装作一个简单的测试。能够经过 roscore 和 turtlesim 来作测试。
3. 卸载:
sudo apt-get purge ros-* sudo rm -rf /etc/ros gedit ~/.bashrc
找到:带有kinetic的那一行删除,保存,而后:
source ~/.bashrc
4. 测试ROS安装成功
1) 打开Termial,输入如下命令,初始化ROS环境:
roscore
2) 打开新的Termial,输入如下命令,弹出一个小乌龟窗口:
rosrun turtlesim turtlesim_node
3) 打开新的Termial,输入如下命令,能够在Termial中经过方向键控制小乌龟的移动:
rosrun turtlesim turtle_teleop_key
4) 打开新的Termial,输入如下命令,弹出新的窗口查看ROS节点信息:
rosrun rqt_graph rqt_graph