ROS学习(一)Ubuntu安装ROS Kinetic步骤以及运行

机器人操作系统 ROS支持多种操作系统,但正式支持的只有Ubuntu,而对其它版本仅提供安装方法。因此说明Ubuntu及与Ubuntu兼容的Linux Mint一般可以采用 apt-get的方式进行安装,可以根据自己的Ubuntu的具体版本下载相应的ROS版本进行安装。

安装前

1、配置软件库: Ubuntu repositories。

     在桌面点击“Ubuntu Software”,选择“software & update”,选中 “restricted,” “universe,” and “multiverse” ,如下图所示。

通常也会设置“download from”,可以选择一个国内的软件源,如:http://mirrors.aliyun.com/ubuntu, 当然也可以设置为其他,或者让系统自动选择最好的。更改以后,选择“reload”更新软件。“reload”需要一定的时间,一定要耐性等待,如果中途手动停止,后面下载的时候回出现错误,导致安装失败。

2、设置软件源:sources.list。

配置你的电脑使其能够安装来自 packages.ros.org的软件包。目前最新版本的 ROS Kinetic 只支持Ubuntu 15.10和 Ubuntu 16.04 。

sudo sh -c 'echo"deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main"> /etc/apt/sources.list.d/ros-latest.list'

3、设置 keys

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80--recv-key0xB01FA116

安装

1、更新软件

sudoapt-get update

2、ROS中有很多各种函数库和工具,我们提供了四种默认安装方式,你也可以单独安装某个特定软件包。

•  桌面完整版安装:(推荐) 包含ROS、rqt、rviz、通用机器人函数库、2D/3D仿真器、导航以及2D/3D感知功能。

sudo apt-getinstall ros-Kinetic-desktop-full

•  桌面版安装: 包含ROS、rqt、rviz以及通用机器人函数库。

sudo apt-getinstall ros-Kinetic-desktop

•  基础版安装: 包含ROS核心软件包、构建工具以及通信相关的程序库,无GUI工具。

sudo apt-getinstall ros-Kinetic-ros-base

•  单个软件包安装: 你也可以安装某个指定的ROS软件包(使用软件包名称替换掉下面的PACKAGE):

sudo apt-getinstall ros-Kinetic-PACKAGE

例如:sudo apt-getinstall ros-Kinetic-slam-gmapping

因为ROS更新比较快,如果是想学习的话,最好安装最新的版本,如果是要使用现成的机器人工具包的话,可以先查看一下你所选择的机器人工具包支持哪一个版本的ROS,然后再安装。

要查找可用软件包,请运行:

apt-cachesearch ros-Kinetic

3、初始化 rosdep

在开始使用ROS之前你还需要初始化rosdep。rosdep可以方便在你需要编译某些源码的时候为其安装一些系统依赖,同时也是某些ROS核心功能组件所必需用到的工具。

sudorosdep initrosdep update

4、环境配置

如果每次打开一个新的终端时ROS环境变量都能够自动配置好(即添加到bash会话中),那将会方便很多:

echo"source /opt/ros/Kinetic/setup.bash">> ~/.bashrcsource~/.bashrc

5、安装 rosinstall

rosinstall 是ROS中一个独立分开的常用命令行工具,它可以方便让你通过一条命令就可以给某个ROS软件包下载很多源码树。要在ubuntu上安装这个工具,请运行:

sudo apt-getinstall python-rosinstall

配置工作环境

1、管理环境

在安装ROS期间,你会看到提示说需要 source 多个setup.*sh文件中的某一个,或者甚至提示添加这条’source’命令到你的启动脚本里面。这些操作是必须的,因为ROS是依赖于某种组合空间的概念,而这种概念就是通过配置脚本环境来实现的。这可以让针对不同版本或者不同软件包集的开发更加容易。

如果你在查找和使用ROS软件包方面遇到了问题,请确保你已经正确配置了脚本环境。一个检查的好方法是确保你已经设置了像ROS_ROOT和ROS_PACKAGE_PATH这样的环境变量,可以通过以下命令查看:

$export| grep ROS

如果发现没有配置,那这个时候你就需要’source’某些’setup.*sh’文件了。

如果你是通过ubuntu上的 apt 工具来安装ROS的,那么你将会在’/opt/ros//’目录中看到setup.*sh文件,然后你可以执行下面的source命令:

source /opt/ros//setup.bash

在每次打开终端时你都需要先运行上面这条命令后才能运行ros相关的命令,为了避免这一繁琐过程,你可以事先在.bashrc文件(该文件是在当前系统用户的home目录下。)中添加这条命令,这样当你每次登录后系统已经帮你执行这些命令配置好环境。这样做也可以方便你在同一台计算机上安装并随时切换到不同版本的ROS(比如fuerte和groovy)。

2、创建ROS工作空间

catkin rosbuild

下面我们开始创建一个catkin 工作空间:

$ mkdir -p ~/catkin_ws/src$ cd ~/catkin_ws/src

即使这个工作空间是空的(在’src’目录中没有任何软件包,只有一个CMakeLists.txt链接文件),你依然可以编译它:

$ cd ~/catkin_ws/$ catkin_make

catkin_make命令在catkin

工作空间中是一个非常方便的工具。如果你查看一下当前目录应该能看到’build’和’devel’这两个文件夹。在’devel’文件夹里面你可以看到几个setup.*sh文件。接下来首先source一下新生成的setup.*sh文件:

$sourcedevel/setup.bash

要想保证工作空间已配置正确需确保ROS_PACKAGE_PATH环境变量包含你的工作空间目录,采用以下命令查看:

$ echo$ROS_PACKAGE_PATH/home//catkin_ws/src:/opt/ros/indigo/share:/opt/ros/indigo/stacks

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

运行小乌龟

首先打开一个终端运行如下命令:

source /opt/ros/kinetic/setup.bash

source ~/catkin_ws/devel/setup.bash

(这里要说明,因为我的电脑之前在配置启动项的时候,并未成功,所以每一个终端窗口都要运行上述的两天的命令,才可以运行)

运行终端下的       roscore  命令启动主节点服务器。

此时主节点服务器已经启动,接下来可以运行节点

打开新的终端,同样运行上述的两条命令 之后 输入 rosrun turtlesim turtlesim _ node


这样子之后ROS的标志——小乌龟就显示出来了。但是此时它还不能动,只能静静的呆在那里,接下来的一条命令,可以让它动起来,打开一个新的终端窗口并执行以下命令。将显示下面消息,并执行turtlesim功能包中的turtle_teleop_key。如果您按下该终端窗口上的方向键(←,→,↑,↓),您将看到乌龟按照图3-6右侧所示的方向键移动。您必须在终端窗口中输入键盘。这看似只是一个简单的仿真,但实体机器人也可以通过这种方式进行远程控制。

运行rqt_graph功能包的rqt_graph

在新的终端窗口中执行rqt_graph命令,这将启动rqt_graph功能包的rqt_graph节点。其结果是当前正在运行的节点(程序)的信息图,如图3-7所示。

rqt_graph节点以GUI形式显示关于当前正在运行的节点的信息。圆圈表示节点,正方形表示话题。可以看到,箭头从/teleop_turtle节点开始,通往/turtlesim。这表示两个节点正在运行并且这两个节点之间正在发生消息通信。并且/turtle1/cmd_vel是turtle1话题的子话题,是两个节点之间的话题的名称,意味着在teleop_turtle节点中通过键盘输进来的速度命令通过话题将消息发送给turtlesim。换句话说,使用先前执行的两个节点,将键盘命令传送到机器人仿真器。

参考

1、http://wiki.ros.org/cn/jade/Installation/Ubuntu

2、http://wiki.ros.org/cn/ROS/Tutorials/InstallingandConfiguringROSEnvironment

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 198,030评论 5 464
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,198评论 2 375
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 144,995评论 0 327
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,973评论 1 268
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,869评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,766评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,967评论 3 388
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,599评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,886评论 1 293
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,901评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,728评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,504评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,967评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,128评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,445评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,018评论 2 343
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,224评论 2 339

推荐阅读更多精彩内容