ROS學(xué)習(xí)(一)Ubuntu安裝ROS Kinetic步驟以及運(yùn)行

機(jī)器人操作系統(tǒng) ROS支持多種操作系統(tǒng),但正式支持的只有Ubuntu,而對(duì)其它版本僅提供安裝方法惹骂。因此說明Ubuntu及與Ubuntu兼容的Linux Mint一般可以采用 apt-get的方式進(jìn)行安裝闰集,可以根據(jù)自己的Ubuntu的具體版本下載相應(yīng)的ROS版本進(jìn)行安裝膝捞。

安裝前

1管钳、配置軟件庫: Ubuntu repositories闪金。

???? 在桌面點(diǎn)擊“Ubuntu Software”羡滑,選擇“software & update”丝格,選中 “restricted,” “universe,” and “multiverse” 聪姿,如下圖所示碴萧。

通常也會(huì)設(shè)置“download from”,可以選擇一個(gè)國內(nèi)的軟件源末购,如:http://mirrors.aliyun.com/ubuntu, 當(dāng)然也可以設(shè)置為其他破喻,或者讓系統(tǒng)自動(dòng)選擇最好的扫茅。更改以后晌纫,選擇“reload”更新軟件退客“保“reload”需要一定的時(shí)間不跟,一定要耐性等待犬性,如果中途手動(dòng)停止泥耀,后面下載的時(shí)候回出現(xiàn)錯(cuò)誤神郊,導(dǎo)致安裝失敗迅办。

2宅静、設(shè)置軟件源: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、設(shè)置 keys

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

安裝

1矾策、更新軟件

sudoapt-get update

2磷账、ROS中有很多各種函數(shù)庫和工具,我們提供了四種默認(rèn)安裝方式贾虽,你也可以單獨(dú)安裝某個(gè)特定軟件包逃糟。

?? 桌面完整版安裝:(推薦) 包含ROS、rqt、rviz绰咽、通用機(jī)器人函數(shù)庫蛉抓、2D/3D仿真器、導(dǎo)航以及2D/3D感知功能剃诅。

sudo apt-getinstall ros-Kinetic-desktop-full

?? 桌面版安裝: 包含ROS巷送、rqt、rviz以及通用機(jī)器人函數(shù)庫矛辕。

sudo apt-getinstall ros-Kinetic-desktop

?? 基礎(chǔ)版安裝: 包含ROS核心軟件包笑跛、構(gòu)建工具以及通信相關(guān)的程序庫,無GUI工具聊品。

sudo apt-getinstall ros-Kinetic-ros-base

?? 單個(gè)軟件包安裝: 你也可以安裝某個(gè)指定的ROS軟件包(使用軟件包名稱替換掉下面的PACKAGE):

sudo apt-getinstall ros-Kinetic-PACKAGE

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

因?yàn)镽OS更新比較快飞蹂,如果是想學(xué)習(xí)的話,最好安裝最新的版本翻屈,如果是要使用現(xiàn)成的機(jī)器人工具包的話陈哑,可以先查看一下你所選擇的機(jī)器人工具包支持哪一個(gè)版本的ROS,然后再安裝伸眶。

要查找可用軟件包惊窖,請(qǐng)運(yùn)行:

apt-cachesearch ros-Kinetic

3、初始化 rosdep

在開始使用ROS之前你還需要初始化rosdep厘贼。rosdep可以方便在你需要編譯某些源碼的時(shí)候?yàn)槠浒惭b一些系統(tǒng)依賴界酒,同時(shí)也是某些ROS核心功能組件所必需用到的工具。

sudorosdep initrosdep update

4嘴秸、環(huán)境配置

如果每次打開一個(gè)新的終端時(shí)ROS環(huán)境變量都能夠自動(dòng)配置好(即添加到bash會(huì)話中)毁欣,那將會(huì)方便很多:

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

5、安裝 rosinstall

rosinstall 是ROS中一個(gè)獨(dú)立分開的常用命令行工具岳掐,它可以方便讓你通過一條命令就可以給某個(gè)ROS軟件包下載很多源碼樹凭疮。要在ubuntu上安裝這個(gè)工具,請(qǐng)運(yùn)行:

sudo apt-getinstall python-rosinstall

配置工作環(huán)境

1串述、管理環(huán)境

在安裝ROS期間执解,你會(huì)看到提示說需要 source 多個(gè)setup.*sh文件中的某一個(gè),或者甚至提示添加這條’source’命令到你的啟動(dòng)腳本里面剖煌。這些操作是必須的材鹦,因?yàn)镽OS是依賴于某種組合空間的概念逝淹,而這種概念就是通過配置腳本環(huán)境來實(shí)現(xiàn)的耕姊。這可以讓針對(duì)不同版本或者不同軟件包集的開發(fā)更加容易。

如果你在查找和使用ROS軟件包方面遇到了問題栅葡,請(qǐng)確保你已經(jīng)正確配置了腳本環(huán)境茉兰。一個(gè)檢查的好方法是確保你已經(jīng)設(shè)置了像ROS_ROOT和ROS_PACKAGE_PATH這樣的環(huán)境變量,可以通過以下命令查看:

$export| grep ROS

如果發(fā)現(xiàn)沒有配置欣簇,那這個(gè)時(shí)候你就需要’source’某些’setup.*sh’文件了规脸。

如果你是通過ubuntu上的 apt 工具來安裝ROS的坯约,那么你將會(huì)在’/opt/ros//’目錄中看到setup.*sh文件,然后你可以執(zhí)行下面的source命令:

source /opt/ros//setup.bash

在每次打開終端時(shí)你都需要先運(yùn)行上面這條命令后才能運(yùn)行ros相關(guān)的命令莫鸭,為了避免這一繁瑣過程闹丐,你可以事先在.bashrc文件(該文件是在當(dāng)前系統(tǒng)用戶的home目錄下。)中添加這條命令被因,這樣當(dāng)你每次登錄后系統(tǒng)已經(jīng)幫你執(zhí)行這些命令配置好環(huán)境卿拴。這樣做也可以方便你在同一臺(tái)計(jì)算機(jī)上安裝并隨時(shí)切換到不同版本的ROS(比如fuerte和groovy)。

2梨与、創(chuàng)建ROS工作空間

catkin rosbuild

下面我們開始創(chuàng)建一個(gè)catkin 工作空間:

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

即使這個(gè)工作空間是空的(在’src’目錄中沒有任何軟件包堕花,只有一個(gè)CMakeLists.txt鏈接文件),你依然可以編譯它:

$ cd ~/catkin_ws/$ catkin_make

catkin_make命令在catkin

工作空間中是一個(gè)非常方便的工具粥鞋。如果你查看一下當(dāng)前目錄應(yīng)該能看到’build’和’devel’這兩個(gè)文件夾缘挽。在’devel’文件夾里面你可以看到幾個(gè)setup.*sh文件。接下來首先source一下新生成的setup.*sh文件:

$sourcedevel/setup.bash

要想保證工作空間已配置正確需確保ROS_PACKAGE_PATH環(huán)境變量包含你的工作空間目錄呻粹,采用以下命令查看:

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

到此工作環(huán)境已經(jīng)搭建完成壕曼。

運(yùn)行小烏龜

首先打開一個(gè)終端運(yùn)行如下命令:

source /opt/ros/kinetic/setup.bash

source ~/catkin_ws/devel/setup.bash

(這里要說明,因?yàn)槲业碾娔X之前在配置啟動(dòng)項(xiàng)的時(shí)候等浊,并未成功窝稿,所以每一個(gè)終端窗口都要運(yùn)行上述的兩天的命令,才可以運(yùn)行)

運(yùn)行終端下的?????? roscore? 命令啟動(dòng)主節(jié)點(diǎn)服務(wù)器凿掂。

此時(shí)主節(jié)點(diǎn)服務(wù)器已經(jīng)啟動(dòng)伴榔,接下來可以運(yùn)行節(jié)點(diǎn)

打開新的終端,同樣運(yùn)行上述的兩條命令 之后 輸入 rosrun turtlesim turtlesim _ node


這樣子之后ROS的標(biāo)志——小烏龜就顯示出來了庄萎。但是此時(shí)它還不能動(dòng)踪少,只能靜靜的呆在那里,接下來的一條命令糠涛,可以讓它動(dòng)起來援奢,打開一個(gè)新的終端窗口并執(zhí)行以下命令。將顯示下面消息,并執(zhí)行turtlesim功能包中的turtle_teleop_key忍捡。如果您按下該終端窗口上的方向鍵(←,→,↑,↓),您將看到烏龜按照?qǐng)D3-6右側(cè)所示的方向鍵移動(dòng)集漾。您必須在終端窗口中輸入鍵盤。這看似只是一個(gè)簡單的仿真,但實(shí)體機(jī)器人也可以通過這種方式進(jìn)行遠(yuǎn)程控制砸脊。

運(yùn)行rqt_graph功能包的rqt_graph

在新的終端窗口中執(zhí)行rqt_graph命令,這將啟動(dòng)rqt_graph功能包的rqt_graph節(jié)點(diǎn)具篇。其結(jié)果是當(dāng)前正在運(yùn)行的節(jié)點(diǎn)(程序)的信息圖,如圖3-7所示。

rqt_graph節(jié)點(diǎn)以GUI形式顯示關(guān)于當(dāng)前正在運(yùn)行的節(jié)點(diǎn)的信息凌埂。圓圈表示節(jié)點(diǎn),正方形表示話題驱显。可以看到,箭頭從/teleop_turtle節(jié)點(diǎn)開始,通往/turtlesim。這表示兩個(gè)節(jié)點(diǎn)正在運(yùn)行并且這兩個(gè)節(jié)點(diǎn)之間正在發(fā)生消息通信埃疫。并且/turtle1/cmd_vel是turtle1話題的子話題,是兩個(gè)節(jié)點(diǎn)之間的話題的名稱,意味著在teleop_turtle節(jié)點(diǎn)中通過鍵盤輸進(jìn)來的速度命令通過話題將消息發(fā)送給turtlesim伏恐。換句話說,使用先前執(zhí)行的兩個(gè)節(jié)點(diǎn),將鍵盤命令傳送到機(jī)器人仿真器。

參考

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

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市胳蛮,隨后出現(xiàn)的幾起案子秤掌,更是在濱河造成了極大的恐慌,老刑警劉巖鹰霍,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件闻鉴,死亡現(xiàn)場離奇詭異,居然都是意外死亡茂洒,警方通過查閱死者的電腦和手機(jī)孟岛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來督勺,“玉大人渠羞,你說我怎么就攤上這事≈前В” “怎么了次询?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長瓷叫。 經(jīng)常有香客問我屯吊,道長,這世上最難降的妖魔是什么摹菠? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任盒卸,我火速辦了婚禮,結(jié)果婚禮上次氨,老公的妹妹穿的比我還像新娘蔽介。我一直安慰自己,他們只是感情好煮寡,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布虹蓄。 她就那樣靜靜地躺著,像睡著了一般幸撕。 火紅的嫁衣襯著肌膚如雪薇组。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天杈帐,我揣著相機(jī)與錄音体箕,去河邊找鬼专钉。 笑死挑童,一個(gè)胖子當(dāng)著我的面吹牛累铅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播站叼,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼娃兽,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了尽楔?” 一聲冷哼從身側(cè)響起投储,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎阔馋,沒想到半個(gè)月后玛荞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡呕寝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年勋眯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片下梢。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡客蹋,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出孽江,到底是詐尸還是另有隱情讶坯,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布岗屏,位于F島的核電站辆琅,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏这刷。R本人自食惡果不足惜涎跨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望崭歧。 院中可真熱鬧隅很,春花似錦、人聲如沸率碾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽所宰。三九已至绒尊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間仔粥,已是汗流浹背婴谱。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工蟹但, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人谭羔。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓华糖,卻偏偏與公主長得像,于是被迫代替她去往敵國和親瘟裸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子客叉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容