“在人生的路上,每一个人都是孤独的旅客。与其舒舒服服,懵懵懂懂过一辈子,倒不如品尝一点不平常的滋味,似苦而是甜。”
还是记录下吧~
最近脑子总是不好使~
ROS(Robot OS 机器人操作系统)
官网:http://wiki.ros.org/ROS/Installation
先来说一说ROS是干什么用的~
Robot Operating System (ROS) 是一个得到广泛应用机器人系统的软件框架,它包含了一系列的软件库和工具用于构建机器人应用。从驱动到最先进的算法,以及强大的开发者工具,ROS 包含了开发一个机器人项目所需要的所有东西。且都是开源的。
ROS 虽然名为机器人操作系统,但它与我们一般概念中的操作系统,如 Windows,Linux,iOS 和 Android 这些并不相同。Windows,Linux,iOS 和 Android 这些操作系统为我们管理计算机的物理硬件资源,如 CPU、内存、磁盘、网络及外设,并提供如读文件、写文件、创建进程、创建线程及启动线程这样的操作。ROS 所工作的层级并没有这么低,它基于一般概念中的操作系统来运行,官方推荐基于 Ubuntu Linux 运行,并在 Ubuntu Linux 操作系统提供的抽象和操作的基础之上,提供了更高层的抽象,如节点、服务、消息、主题等,以及更高层的操作,如主题的发布、主题的订阅、服务的查询与连接等操作。同时 ROS 还提供开发机器人项目所需的工具和功能库。
ROS 发行版是一个版本标识的 ROS 包集合,这些与 Linux 发行版(如 Ubuntu)类似。ROS 发行版的目的是让开发者可以基于一个相对稳定的代码库来工作,直到他们可以平稳地向前演进。一旦发行版发布,官方就会限制对其的改动,而仅仅提供对于核心包的 bug fixes 和非破坏性的增强。
ROS 最新的一些版本如下:
ROS 系统版本 | 时间发布 | 支持时间 |
---|---|---|
ROS Lunar Loggerhead | May 23rd, 2017 | May, 2019 |
ROS Kinetic Kame | May 23rd, 2016 | LTS,April, 2021 (Xenial EOL) |
ROS Jade Turtle | May 23rd, 2015 | May, 2017 |
ROS Indigo Igloo | July 22nd, 2014 | LTS,April, 2019(Trusty EOL) |
ROS Hydro Medusa | September 4th, 2013 | May, 2015 |
ROS 基本上保持每年一个新版本,每两年一个长期发行版的发布节奏。今年应该快发布了,关于 ROS 版本发布的更多内容,如更多的发行版的介绍,发布的计划等,可以参考 ROS 官方站点的 Distributions 主页。
目前官方推荐使用最近的一个长期支持版本,即 ROS Kinetic Kame,求新的同时兼顾稳定性无疑应该采用这一版本;如果想要尝试最新的功能特性则可以使用最新的发行版 ROS Lunar Loggerhead。
安装步骤如下:
1.添加源并设置秘钥
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
这一步会根据 Ubuntu Linux 发行版本的不同,添加不同的源。Ubuntu 的版本通过 lsb_release -sc
获得,一旦添加了正确的软件库,操作系统就知道去哪里下载程序,并根据命令自动安装软件。
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116
2.安装ROS
先更新下sudo apt-get update
ROS 中有非常多不同的库和工具。官方提供了四种默认的配置来安装 ROS,也可以独立地安装 ROS 包。另外,ROS kinetic 也有很多版本,比如工业版,基础版,高级版,豪华版,至尊豪华...此处选择至尊豪华全功能版,也就是桌面完整版~
桌面完整安装(推荐采用):ROS,rqt, rviz,机器人通用库,2D/3D 仿真器,导航及 2D/3D 感知。
sudo apt-get install ros-kinetic-desktop-full
接下来就是漫长的安装过程~
算了,也说一下其它版本的安装命令:
sudo apt-get install ros-kinetic-desktop
):ROS-Base (Bare Bones):ROS ,构建和通信库,没有 GUI 工具。
sudo apt-get install ros-kinetic-ros-base
):独立的包安装:可以安装一个特定的 ROS 包(用实际的包名来替换下面的命令中的 “PACKAGE”)。
sudo apt-get install ros-kinetic-PACKAGE
比如:sudo apt-get install ros-kinetic-slam-gmapping
要找到可用的包,可以使用命令:apt-cache search ros-kinetic
通常在做开发时,采用 桌面完整安装 比较方便一点,可以一股脑将所有有可能用到的软件包都安装进来。对于实际的机器,则通常采用 ROS-Base (Bare Bones) + 独立的包 的方式进行安装。
3.初始化ROS
在使用 ROS 之前,需要先初始化 rosdep
。rosdep
使得你可以为你想要编译的源码,以及需要运行的 ROS 核心组件,简单地安装系统依赖。
sudo rosdep init
rosdep update
然后再初始化环境变量:(每次启动一个新的终端时,ROS 环境变量都能自动地添加进你的 bash )
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
如果安装了多个 ROS 发行版,则 ~/.bashrc
必须只 source
当前正在使用的那一版的 setup.bash
。
如果你只想要修改当前 shell 的环境,则输入如下的命令来替换上面的命令:
source /opt/ros/kinetic/setup.bash
4.安装rosinstall 辅助工具
sudo apt-get install python-rosinstall
或者:
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
另外,提醒下:
ros中很多的第三方插件的安装格式是:sudo apt-get install ros-kinetic-...
例如: sudo apt-get install ros-kinetic-turtlebot*
到此,完成了安装~
test:
可以通过 roscore
和 turtlesim
来做一个简单的测试。
先输入命令:roscore
会出来... logging to /home/
然后再测试下turtlesim
:
输入命令:rosrun turtlesim turtlesim_node
注意: turtlesim
的运行依赖于 roscore
的运行,因此在测试 turtlesim
需要同时运行 roscore,也就是同时再打开一个终端运行
。
~
-end-
加油吧~