ROS简介与安装

首先为想学习ROS机器人操作系统的朋友推荐一本好书:

机器人操作系统(ROS)浅析.pdf

以下是站内的下载链接:

http://download.****.net/download/arnxm/9429348

此书为[美] Jason M. O'Kane 著,肖军浩博士 译。语言浅显易懂,非常适合ROS初学者入门.

那么在学习使用ROS之前,首先问一个问题:为什么需要机器人操作系统?机器人操作系统与现有的Linux或Windows操作系统有什么不同呢?

大家知道,操作系统的诞生,就是为了提供硬件和软件间的接口,以便程序员编写程序时可以专注于设计算法,而不必关心底层硬件是如何实现的。那么,对于不同的硬件平台,面对不同的功能需求,自然也需要设计不同的操作系统来完成任务。

机器人操作系统与传统的计算机操作系统一个很大的不同就在于进程间通信的支持。传统OS把每个进程看作是独立的任务,进程间的通信需要通过系统调用来完成,这一过程显然对系统资源消耗不小。所以,这种模式与机器人所需的控制模式格格不入。

在机器人上运行的操作系统,目的自然就是协调机器人身体的各个部分,通过各模块的相互配合来完成特定任务。如完成一个无人机的自主飞行过程,就需要视觉模块,处理模块,驱动模块的相互配合。当完成一个无人机群的飞行任务时,机间通信更加必不可少。

因此,支持各进程之间有效的通信应该成为一个优秀的机器人操作系统最基本的要求,这通常被称为分布式计算。当然,机器人操作系统还应具备其他优秀的特性,如:软件复用快速测试等。

然而,很遗憾的是,目前对于机器人这个新兴行业,还没有真正诞生出一款能够独立运行的操作系统。本文介绍的ROS,准确来说是个元操作系统(meta-operating system),它需要在Linux上运行,不太准确的说,大家可以将其看作运行在Linux上的一个虚拟机。不过可以预见到的是,在不久的将来,一定会出现与Linux和Windows地位相当的、真正属于机器人自己的操作系统!

那么言归正传,现在我们就来开始ROS的学习。从安装开始。


本文使用的Ubuntu版本为Ubuntu 14.04。下载链接如下:

http://releases.ubuntu.com/14.04/

下载Desktop image 下的64/32位均可。

下载完成后推荐使用老毛桃等装机软件,将iso刻录到u盘,然后在真机上安装,不推荐使用虚拟机。当然如果你只是想简单体验一下ROS的魅力,不在其上做深入研究的话,装在慢的掉渣的虚拟机上也未尝不可。


大家都知道,在linux下安装、卸载软件大多都要用到apt(Advanced Package Tool),它相当于Windows下的360软件管家(-_- 比360流氓管家好用多了好嘛?)。


那么管家要安装软件,首先要知道去哪下载。ROS软件源地址一般不在系统的默认软件源中,因此我们要手动添加。首先启动一个shell,然后输入命令:
[plain] view plain copy
  1. sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'  
(然后你需要输入密码来证明你是一个清楚自己在干什么的管理员,而不是熊孩子或黑客)

接着下载授权**:(不用担心,ROS是开源的,**直接下载就好了,不用买)
[plain] view plain copy
  1. wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key  
这个**会保存在终端的当前目录下

然后将其加入apt管家的**名单中:
[plain] view plain copy
  1. sudo apt-key add ros.key  
提示ok后就可以把刚才下载的ros.key删除了

由于我们刚才往软件源清单里添加了一个新地址,因此要让管家更新一下:
[plain] view plain copy
  1. sudo apt-get update  
最后,就是让管家拿着清单去帮我们安装软件啦:
[plain] view plain copy
  1. sudo apt-get install ros-indigo-desktop-full  
完全版的ROS大概有1个多G,耐心等待安装吧。

。。。。。

漫长的等待后,ROS大体安装完成了,接下来进行一些收尾配置工作。
执行这两条命令以初始化rosdep:
[plain] view plain copy
  1. sudo c_rehash /etc/ssl/certs  
  2. sudo -E rosdep init  
这个rosdep可以说是ROS的软件管家,就像apt之于Linux,不过它一般只在后台运行,默默地奉献,不为人所知。

接着更新rosdep:
[plain] view plain copy
  1. rosdep update  
最后,将设置环境变量的指令添加到帐户根目录中的文件.bashrc中,这样,每次启动shell时都将自动执行该指令,配置好ROS运行所需要的环境变量。
[plain] view plain copy
  1. echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc  
至此大功告成,ROS机器人操作系统终于在你的Ubuntu下安装好啦。

关掉所有shell,再打开一个新的shell,运行节点管理器,这个是ROS用来处理前文提到的进程间通信问题的核心。(以后每次运行ROS都得先运行它)

[plain] view plain copy
  1. roscore  

若正常运行,恭喜你,成功跨入了ROS的大门,准备开始机器人世界新的征程吧!


ROS简介与安装


致谢

1、ROS简介与安装




首先为想学习ROS机器人操作系统的朋友推荐一本好书:

机器人操作系统(ROS)浅析.pdf

以下是站内的下载链接:

http://download.****.net/download/arnxm/9429348

此书为[美] Jason M. O'Kane 著,肖军浩博士 译。语言浅显易懂,非常适合ROS初学者入门.

那么在学习使用ROS之前,首先问一个问题:为什么需要机器人操作系统?机器人操作系统与现有的Linux或Windows操作系统有什么不同呢?

大家知道,操作系统的诞生,就是为了提供硬件和软件间的接口,以便程序员编写程序时可以专注于设计算法,而不必关心底层硬件是如何实现的。那么,对于不同的硬件平台,面对不同的功能需求,自然也需要设计不同的操作系统来完成任务。

机器人操作系统与传统的计算机操作系统一个很大的不同就在于进程间通信的支持。传统OS把每个进程看作是独立的任务,进程间的通信需要通过系统调用来完成,这一过程显然对系统资源消耗不小。所以,这种模式与机器人所需的控制模式格格不入。

在机器人上运行的操作系统,目的自然就是协调机器人身体的各个部分,通过各模块的相互配合来完成特定任务。如完成一个无人机的自主飞行过程,就需要视觉模块,处理模块,驱动模块的相互配合。当完成一个无人机群的飞行任务时,机间通信更加必不可少。

因此,支持各进程之间有效的通信应该成为一个优秀的机器人操作系统最基本的要求,这通常被称为分布式计算。当然,机器人操作系统还应具备其他优秀的特性,如:软件复用快速测试等。

然而,很遗憾的是,目前对于机器人这个新兴行业,还没有真正诞生出一款能够独立运行的操作系统。本文介绍的ROS,准确来说是个元操作系统(meta-operating system),它需要在Linux上运行,不太准确的说,大家可以将其看作运行在Linux上的一个虚拟机。不过可以预见到的是,在不久的将来,一定会出现与Linux和Windows地位相当的、真正属于机器人自己的操作系统!

那么言归正传,现在我们就来开始ROS的学习。从安装开始。


本文使用的Ubuntu版本为Ubuntu 14.04。下载链接如下:

http://releases.ubuntu.com/14.04/

下载Desktop image 下的64/32位均可。

下载完成后推荐使用老毛桃等装机软件,将iso刻录到u盘,然后在真机上安装,不推荐使用虚拟机。当然如果你只是想简单体验一下ROS的魅力,不在其上做深入研究的话,装在慢的掉渣的虚拟机上也未尝不可。


大家都知道,在linux下安装、卸载软件大多都要用到apt(Advanced Package Tool),它相当于Windows下的360软件管家(-_- 比360流氓管家好用多了好嘛?)。


那么管家要安装软件,首先要知道去哪下载。ROS软件源地址一般不在系统的默认软件源中,因此我们要手动添加。首先启动一个shell,然后输入命令:
[plain] view plain copy
  1. sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'  
(然后你需要输入密码来证明你是一个清楚自己在干什么的管理员,而不是熊孩子或黑客)

接着下载授权**:(不用担心,ROS是开源的,**直接下载就好了,不用买)
[plain] view plain copy
  1. wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key  
这个**会保存在终端的当前目录下

然后将其加入apt管家的**名单中:
[plain] view plain copy
  1. sudo apt-key add ros.key  
提示ok后就可以把刚才下载的ros.key删除了

由于我们刚才往软件源清单里添加了一个新地址,因此要让管家更新一下:
[plain] view plain copy
  1. sudo apt-get update  
最后,就是让管家拿着清单去帮我们安装软件啦:
[plain] view plain copy
  1. sudo apt-get install ros-indigo-desktop-full  
完全版的ROS大概有1个多G,耐心等待安装吧。

。。。。。

漫长的等待后,ROS大体安装完成了,接下来进行一些收尾配置工作。
执行这两条命令以初始化rosdep:
[plain] view plain copy
  1. sudo c_rehash /etc/ssl/certs  
  2. sudo -E rosdep init  
这个rosdep可以说是ROS的软件管家,就像apt之于Linux,不过它一般只在后台运行,默默地奉献,不为人所知。

接着更新rosdep:
[plain] view plain copy
  1. rosdep update  
最后,将设置环境变量的指令添加到帐户根目录中的文件.bashrc中,这样,每次启动shell时都将自动执行该指令,配置好ROS运行所需要的环境变量。
[plain] view plain copy
  1. echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc  
至此大功告成,ROS机器人操作系统终于在你的Ubuntu下安装好啦。

关掉所有shell,再打开一个新的shell,运行节点管理器,这个是ROS用来处理前文提到的进程间通信问题的核心。(以后每次运行ROS都得先运行它)

[plain] view plain copy
  1. roscore  

若正常运行,恭喜你,成功跨入了ROS的大门,准备开始机器人世界新的征程吧!


ROS简介与安装


致谢

1、ROS简介与安装