ROS入門(mén)篇—Apple的學(xué)習(xí)筆記

1.引言

休息了段時(shí)間后看了2本書(shū)《c++標(biāo)準(zhǔn)模板庫(kù)編程實(shí)戰(zhàn)》和《Effective Modern C++》,目的是鞏固c++11/14的基礎(chǔ)。

但是對(duì)于我來(lái)說(shuō),學(xué)習(xí)的最佳方法還是找項(xiàng)目練手。所以這周六制作了ubunut16.06的UFEI U盤(pán)啟動(dòng),重裝后直接上ROS的slam項(xiàng)目。開(kāi)始新一輪的折騰。

2.ROS入門(mén)

當(dāng)然先要學(xué)下ROS基本知識(shí),目前理解他的通信方式很靈活,就是c++的觀察者模式。通過(guò)訂閱和發(fā)布消息來(lái)實(shí)現(xiàn)對(duì)象通信。ROS主要包括節(jié)點(diǎn),話題,消息,服務(wù),通過(guò)看入門(mén)教程基本理解也使用了這些內(nèi)容。我用的是kinetic

ROS官方教程(中文版):http://wiki.ros.org/cn/ROS/Tutorials

3.RVIZ可視化

我的目的是學(xué)習(xí)slam,ros中有很多包,其中包括opencv及slam相關(guān)。但是對(duì)象間互相發(fā)送消息,那么點(diǎn)云圖在哪里顯示呢?這時(shí)候RIVZ就非學(xué)不可了。是三維可視化工具,強(qiáng)調(diào)把已有的數(shù)據(jù)可視化顯示。當(dāng)然之后還要學(xué)習(xí)很多其它有用的包。

RVIZ官方教程:http://wiki.ros.org/rviz/Tutorials

我的實(shí)驗(yàn)效果

4.備忘點(diǎn)

4.1無(wú)法識(shí)別ros本地包,則先要把本地編譯環(huán)境添加到shell腳本中

source devel/setup.bash

用source的話shell不會(huì)創(chuàng)建副本,等于順序執(zhí)行。


4.2 查看消息及消息參數(shù)

運(yùn)行命令rosmsg packagepcl_msgs可以列出msg文件夾下定義的消息

運(yùn)行命令rosmsg showpcl_msgs/Vertices查看具體消息參數(shù)


4.3.創(chuàng)建新的package及編譯的基本步驟

mkdir

-p ~/catkin_ws/src //-p說(shuō)明若文件夾已經(jīng)存在則不用再創(chuàng)建

cd

catkin_ws/src

catkin_create_pkg

pcl_tutorials pcl_conversions pcl_ros pcl_msgs sensor_msgs

rospackprofile? //加入到package中

roscd

pcl_tutorials

mkdir

src //然后添加cpp及在src同級(jí)目錄修改CMake文件

cd

~/catkin_ws/

catkin_make


4.4.pcl&

rviz ref code

https://blog.csdn.net/hanshuning/article/details/52314108

http://www.voidcn.com/article/p-mecwguji-bt.html

參考2個(gè)blog自己做了一個(gè)pcl隨機(jī)點(diǎn)云發(fā)送到rviz顯示,直接用rosrun不行,后來(lái)通過(guò)自建腳本運(yùn)行成功。如下

5.小結(jié)

了解了ROS基本的運(yùn)行機(jī)制。網(wǎng)上查了下bag數(shù)據(jù)集回放,可以模擬各種傳感器輸入,然后通過(guò)ROS包中集成的算法庫(kù)(也可以自己修改)應(yīng)用后,再通過(guò)RVIZ進(jìn)行地圖構(gòu)建的可視化。


6.疑問(wèn)

之前做實(shí)驗(yàn)的數(shù)據(jù)集直接已文件的形式讀取,輸入到code中。ROS應(yīng)該也可以的把,為什么用bag數(shù)據(jù)集回放,而不是推薦直接使用文件形式的數(shù)據(jù)集讀入呢?

答:我猜測(cè),ROS可能消息接口都定義好了,然后模塊化程度也高,所以都不用我們自己寫(xiě)code了,直接集成包通信即可。通過(guò)bag回放也方便進(jìn)行ROS消息層面的調(diào)試。而不是直接源碼調(diào)試。結(jié)論就是bag回放方法適合入門(mén)用戶(hù)。^V^

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容