ROS - Hello World

Ubuntu16.04 LTS安裝ROS Kinetic 參考:Ubuntu install of ROS Kinetic


1.創(chuàng)建工作區(qū)

pim_server@pim-Precision-T1700:~/ROS$ mkdir Project

pim_server@pim-Precision-T1700:~/ROS$ cd Project/

pim_server@pim-Precision-T1700:~/ROS/Project$ mkdir src

pim_server@pim-Precision-T1700:~/ROS/Project$ cd src/

pim_server@pim-Precision-T1700:~/ROS/Project/src$ pwd

/home/pim_server/ROS/Project/src


2.創(chuàng)建功能包

pim_server@pim-Precision-T1700:~/ROS/Project/src$ catkin_create_pkg hello

Created file hello/package.xml

Created file hello/CMakeLists.txt

Successfully created files in /home/pim_server/ROS/Project/src/hello. Please adjust the values in package.xml.

pim_server@pim-Precision-T1700:~/ROS/Project/src$ ls

hello

pim_server@pim-Precision-T1700:~/ROS/Project/src$ cd hello/

pim_server@pim-Precision-T1700:~/ROS/Project/src/hello$ ls

CMakeLists.txt ?package.xml

這里生成了兩個(gè)配置文件CMakeLists.txt和package.xml:

CMakeLists.txt是一個(gè)Cmake腳本文件葛虐;包含了一系列的編譯指令,包括應(yīng)該生成哪種可執(zhí)行文件,需要哪些源文件,以及在哪里可以找到所需的頭文件和鏈接庫(kù)涎拉。當(dāng)然,這個(gè)文件表明 catkin 在內(nèi)部使用了 Cmake。

package.xml是清單文件缺前;關(guān)于包的一些細(xì)節(jié),包括其名稱、版本们衙、維護(hù)者和依賴關(guān)系剃斧。


3.創(chuàng)建源碼文件

pim_server@pim-Precision-T1700:~/ROS/Project/src/hello$ mkdir src

pim_server@pim-Precision-T1700:~/ROS/Project/src/hello$ cd src/

pim_server@pim-Precision-T1700:~/ROS/Project/src/hello/src$ vim hello.cpp

pim_server@pim-Precision-T1700:~/ROS/Project/src/hello/src$ ls

hello.cpp

hello.cpp源碼文件如下:

#include <ros/ros.h>

int main(int argc, char** argv){

? ?ros::init(argc, argv, "hello ros");

? ?ros::NodeHandle nh;

? ?ROS_INFO_STREAM("Hello, ROS!");

}


4.編譯前配置

忽略上面C++代碼瞬逊,先修改兩個(gè)配置文件完成hello程序的編譯;

第一步仪或,修改CMakeLists.txt文件确镊,添加依賴庫(kù),修改如下:

find_package(catkin REQUIRED)

改為

find_package(catkin REQUIRED COMPONENTS roscpp) ? ?#添加roscpp依賴庫(kù),它提供了 ROS 的 C++客戶端庫(kù)

第二步范删,修改package.xml文件蕾域,列出依賴庫(kù):

<build_depend>roscpp</build_depend>

<run_depend>roscpp</run_depend>

第三步,CMakeLists.txt添加生命可執(zhí)行文件:

add_executable(hello src/hello.cpp)

target_link_libraries(hello

? ?${catkin_LIBRARIES}

)


5.編譯

工作區(qū)根目錄執(zhí)行catkin_make:

pim_server@pim-Precision-T1700:~/ROS/Project$ catkin_make

Base path: /home/pim_server/ROS/Project

Source space: /home/pim_server/ROS/Project/src

Build space: /home/pim_server/ROS/Project/build

Devel space: /home/pim_server/ROS/Project/devel

Install space: /home/pim_server/ROS/Project/install

####

#### Running command: "make cmake_check_build_system" in "/home/pim_server/ROS/Project/build"

####

####

#### Running command: "make -j8 -l8" in "/home/pim_server/ROS/Project/build"

####

Scanning dependencies of target hello_node

[ 50%] Building CXX object hello/CMakeFiles/hello_node.dir/src/hello.cpp.o

[100%] Linking CXX executable /home/pim_server/ROS/Project/devel/lib/hello/hello_node

[100%] Built target hello_node


6.運(yùn)行

pim_server@pim-Precision-T1700:~/ROS/Project$ source devel/setup.bash ? ?#設(shè)置環(huán)境變量

pim_server@pim-Precision-T1700:~/ROS/Project$ rosrun hello hello_node ? #運(yùn)行

[ INFO] [1476870000.446207343]: Hello, ROS!

注意:首先要在終端啟動(dòng)rosrun


7.附加

創(chuàng)建功能包時(shí)到旦,還可以通過命令行參數(shù)添加依賴庫(kù)旨巷,如下

pim_server@pim-Precision-T1700:~/ROS/Project/src$ catkin_create_pkg hello roscpp


小記:對(duì)Cmake不熟悉,導(dǎo)致hello world程序編譯添忘、運(yùn)行起來(lái)花了一點(diǎn)時(shí)間采呐,最后總算跑起來(lái),任重道遠(yuǎn)啊~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末搁骑,一起剝皮案震驚了整個(gè)濱河市斧吐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌仲器,老刑警劉巖煤率,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異乏冀,居然都是意外死亡蝶糯,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門辆沦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)裳涛,“玉大人,你說(shuō)我怎么就攤上這事众辨《巳” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵鹃彻,是天一觀的道長(zhǎng)郊闯。 經(jīng)常有香客問我,道長(zhǎng)蛛株,這世上最難降的妖魔是什么团赁? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮谨履,結(jié)果婚禮上欢摄,老公的妹妹穿的比我還像新娘。我一直安慰自己笋粟,他們只是感情好怀挠,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布析蝴。 她就那樣靜靜地躺著,像睡著了一般绿淋。 火紅的嫁衣襯著肌膚如雪闷畸。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天吞滞,我揣著相機(jī)與錄音佑菩,去河邊找鬼。 笑死裁赠,一個(gè)胖子當(dāng)著我的面吹牛殿漠,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播佩捞,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼绞幌,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了失尖?” 一聲冷哼從身側(cè)響起啊奄,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤渐苏,失蹤者是張志新(化名)和其女友劉穎掀潮,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體琼富,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡仪吧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鞠眉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片薯鼠。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖械蹋,靈堂內(nèi)的尸體忽然破棺而出出皇,到底是詐尸還是另有隱情,我是刑警寧澤哗戈,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布郊艘,位于F島的核電站,受9級(jí)特大地震影響唯咬,放射性物質(zhì)發(fā)生泄漏纱注。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一胆胰、第九天 我趴在偏房一處隱蔽的房頂上張望狞贱。 院中可真熱鬧,春花似錦蜀涨、人聲如沸瞎嬉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)佑颇。三九已至顶掉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間挑胸,已是汗流浹背痒筒。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留茬贵,地道東北人簿透。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像解藻,于是被迫代替她去往敵國(guó)和親老充。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

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

  • CMake學(xué)習(xí) 本篇分享一下有關(guān)CMake的一些學(xué)習(xí)心得以及相關(guān)使用螟左。 本文目錄如下: [1啡浊、CMake介紹] [...
    AlphaGL閱讀 12,226評(píng)論 11 79
  • 創(chuàng)建一個(gè)ROS Package 這個(gè)教程包括使用roscreate-pkg或者catkin去創(chuàng)建一個(gè)新的packa...
    鐵熊玩創(chuàng)客閱讀 4,933評(píng)論 0 7
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)胶背,斷路器巷嚣,智...
    卡卡羅2017閱讀 134,626評(píng)論 18 139
  • 昨晚跟男朋友吵架了,眼睛都腫了钳吟,算不上吵架廷粒,可能只是我無(wú)理取鬧,覺得他對(duì)我不夠好红且,其實(shí)我知道他特別愛我坝茎,只是他愛的...
    簡(jiǎn)單的生活記錄閱讀 171評(píng)論 0 0
  • Amy花魅千夜閱讀 169評(píng)論 0 13