分享

机器操作系统(ROS)初级教程【连载】

 昵称29273511 2015-12-05

点击上面的蓝字关注我们哦!


机器人操作系统ROS(Robot Operating System)是一个机器人软件平台,它能为异质计算机集群提供类似操作系统的功ROS图标能。ROS的前身是斯坦福人工智能实验室为了支持斯坦福智能机器人STAIR而建立的交换庭(switchyard)项目。


ROS提供一些标准操作系统服务,例如硬件抽象,底层设备控制,常用功能实现,进程间消息以及数据包管理。ROS是基于一种图状架构,从而不同节点的进程能接受,发布,聚合各种信息(例如传感,控制,状态,规划等等)。目前ROS主要支持Ubuntu。


操作是一门理论与实践性很强的课程,而且学习起来相对较花费时间,需要学习者有一定的耐心与兴趣,还要有一些编程相关的语言基础(汇编、c/c++等)。


从今天开始,我们会以不定时连载的形式向大家介绍笔者学习经历和过程总结的一些心得,希望广大ROS爱好者能通过系列文章快速了解“机器人操作系统”,同时又能在未来的学习过程中更加顺利。




1.环境

操作系统:Ubuntu 12.04


ROS版本:Hydro


操作系统介绍:ROS 渔龟的首选平台为 Ubuntu 12.04 LTS (Precise)发行版,而ROS 渔龟对其他Linux发行版,Mac OS X,Android以及Windows也有不同程度的支持


ROS版本介绍:ROS Hydro(渔龟)是第七个ROS发行版, 发行时间为2013年9月4日。升级了众多ROS程序包,使其为可支持新的catkin底层系统,并修正并改进了ROS的核心组件。许多工具也得到了升级,如: rviz 和 rqt。与此同时,使用了官方标准的依赖包,而非创建我们自己的专用版本。实现这项改进的函数库有PCL,Stage和Gazebo,以及其它众多曾被ROS社区单独定制过的函数库。另外,ROS 渔龟可以更好的与Gazebo集成 。


以下所有的教程都是在hydro这个版本上的运行。




2.安装

第一步:配置软件仓库


配置Ubuntu软件仓库以允许系统安装'restricted'、'universe'和'multiverse'这三种组件类型的软件


第二步:添加Sources.list


作用:配置电脑使其能够接收来自packages.的软件。


目前ROS Hydro软件包只支持Precise、Quantal和Raring这三个版本的ubuntu操作系统。


在命令行下输入:


建议选择国内镜像地址,可以提高下载速度,毕竟full安装模式需要下载将近1GB的文件。


1、 国外镜像


Ubuntu 12.04 (Precise)


sudo sh -c 'echo 'deb http://packages./ros/ubuntu precise main' > /etc/apt/sources.list.d/ros-latest.list'


Ubuntu 12.10 (Quantal)


sudo sh -c 'echo 'deb http://packages./ros/ubuntu quantal main' > /etc/apt/sources.list.d/ros-latest.list'


Ubuntu 13.04 (Raring)


sudo sh -c 'echo 'deb http://packages./ros/ubuntu raring main' > /etc/apt/sources.list.d/ros-latest.list'


2、 国内镜像


Ubuntu 12.04 (Precise)


sudo sh -c 'echo 'deb http://www./mirror-cn-sh/ros/ubuntu precise main' > /etc/apt/sources.list.d/ros-latest.list'


Ubuntu 12.10 (Quantal)


sudo sh -c 'echo 'deb http://www./mirror-cn-sh/ros/ubuntu quantal main' > /etc/apt/sources.list.d/ros-latest.list'


Ubuntu 13.04 (Raring)


sudo sh -c 'echo 'deb http://www./mirror-cn-sh/ros/ubuntu raring main' > /etc/apt/sources.list.d/ros-latest.list'


3、更加详细的镜像源

(请点击“阅读原文”获取更多资源)


第三步:添加keys


命令:sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net:80 --recv-key 0xB01FA116




第四步:安装


1、升级你的软件包列表,确保是最新


命令:sudo apt-get update


2、安装版本选择


我们选择的是apt-get的方式安装,而不是从源码安装,因为使用这些安装包比通过编译源码来安装更加高效,所以推荐你在Ubuntu系统下使用这种方式安装。


当然有些人是劝不住的,如果你想自己体验一下源码自己编译的话,给你:传送门。


最后你也会回来用安装包的方式安装的,


ROS_Hydro一共有四种安装方式:


第一种桌面完整版安装:包含ROS核心组件、rqt、rviz、机器人通用库、2D/3D模拟器、导航以及2D/3D感知,这个也是推荐的安装方式。


命令:sudo apt-get install ros-hydro-desktop-full


第二种桌面精简版安装: 包含ROS核心组件、rqt、rviz、机器人通用库


命令:sudo apt-get install ros-hydro-desktop


第三种ROS核心安装: 包含ROS核心组件、 编译工具以及通信相关的函数库,无GUI工具。


命令:sudo apt-get install ros-hydro-ros-base


第四种独立安装: 还有一种单独安装某个ROS程序包的方式,这个比较自由,需要什么装什么。(用需要安装的程序包名称替换破折号后的的“PACKAGE”):


命令:sudo apt-get install ros-hydro-PACKAGE


配合此安装模式可使用


命令:apt-cache search ros-hydro


查看可供安装的ROS程序包


综上所述:建议大家使用桌面完整版安装的方式。


第五步:初始化rosdep


功能:rosdep能够让你在编译程序包源码时轻松地安装编译所依赖的库,并运行一些必要ROS核心组件。


命令:sudo rosdep init


这行命令使用结束后会提示你输入:


命令:rosdep update


记住这行不能使用sudo的形式,会导致权限错误。


第六步:环境配置


功能:每次启动终端的时候自动配置ROS变量,而不需要每次启动终端的时候使用,类似:source /opt/ros/版本/setup.bash的命令配置一次ROS环境。


命令:


echo 'source /opt/ros/hydro/setup.bash' >> ~/.bashrc


source ~/.bashrc


备注:如果你的电脑装了多个ROS,几个系统共存,只需要更改:echo 'source /opt/ros/版本/setup.bash' >> ~/.bashrc 命令中的版本就行了。


当然你如果只是想切换当前终端环境下的ROS版本,只需要运行。


命令:source /opt/ros/hydro/setup.bash


第七步:安装rosinstall


功能:rosinstall是一个与ROS发行版无关的常用命令行工具。它只需一个命令就可以让你轻松地下载ROS程序包所需的资源树。


命令:sudo apt-get install python-rosinstall


ROS安装结束后


安装结束后


我们需要确认一下是否设置好环境变量


命令:export |grep ROS


出现类似如图3所示,就说明设置正常,否则运行第六步。




3.建立工作空间

我们开始创建一个catkin 工作空间,打开一个新终端,输入。


命令: mkdir -p ~/catkin_ws/src


命令:cd ~/catkin_ws/src


命令:catkin_init_workspace 初始化工作空间


命令:cd ~/catkin_ws/(或者输入cd ..)


命令:catkin_make 编译




输入ls后我们发现在catkin_ws目录下多了两个文件夹build和devel,其中在devel文件夹里面都是类似*.sh文件。我们可以和上面第六步一样使用source命令,将这些文件中的任何一个都可以设置在ROS工作环境的最顶层。


我们source一下当前的工作环境


命令:source devel/setup.bash


此时我们已经安装好ROS—Hydro并且建立好一个工作空间。


录应该能看到'build'和'devel'这两个文件夹。在'devel'文件夹里面你可以看到几个setup.*sh文件。source这些文件中的任何一个都可以将当前工作空间设置在ROS工作环境的最顶层。关于这些想了解更多请阅读catkin文档。接下来首先source一下新生成的setup.*sh文件:


$ source devel/setup.bash


到此你的工作环境已经搭建完成了。



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多