ROS進階學習的過程

環境的安裝與配置

這裏有第一次按照書上的方法進行安裝的步驟,也有後面學習中遇到的問題,需要對ROS進行重新安裝配置的過程。
ROS使用教程-關於安裝
初次在ubuntu14上安裝ros-indigo的過程,
雖然ROS 用從2010年的B版本,一路發展,B/C/D/E/F/G/H/I/J/K/L版本,但是網上和書上很多推薦indigo版本的,穩定性好,支持的軟件包也比較多,但是同時也要注意一個問題, Indigo版本的EOL data到2019年結束了(ubuntu Trusty版本EOL data ),所以在熟練掌握ROS和Linux使用後,要嘗試往高版本的ROS和Linux學習發展。ROS distribution

Pixhawk軟件仿真飛行測試
ROS indigo 下 gazebo6 安裝與測試
在我學習用ros的Mavros包來調試Pixhawk飛控是,使用gazebo仿真軟件時,這時ROS好像出現了與gazebo不匹配的情況,最終通過查閱資料,好像是ROS-indigo默認的full安裝會默認安裝gazebo2, 所以不能全部安裝,要自己獨立安裝自己需要的包;同時ros-indigo 好像也與gazebo7不太兼容,最好安裝gazebo6

初探與摸索

這裏包含我在入門時,對ROS基本操作,以及一些概念的慢慢深入理解,還有在操作過程中慢慢積累的一些操作技巧。

ROS系統初探
比如隨着慢慢深入的理解,我慢慢懂得了,爲什麼ROS明明是Linux上的一個軟件,或者說軟件框架,那爲什麼能把ROS稱之爲OS,或者說機器人操作系統呢?

我們說一個簡單的操作系統,比如ucos,不考慮文件系統和驅動等等,那麼他只有一組線程(進程)管理的代碼,其實最早linux發佈的時候也只是一個kernel,主要的功能還是進程管理、內存管理。

ROS的核心其實進程管理的工具(只不過底層的API是直接調用linux的函數而不是自己做的),因爲每個進程在ROS中是一個節點,我們可以很直觀的看到進程之間的通信(msg,service),所以理解ROS node就知道爲什麼ros中具備的其他的功能,因爲大部分功能都是圍繞這個ros node來的。我們寫出來的代碼在ros中回編譯成一個個節點,運行的時候也是以節點的形式出現。

所以從這個角度上講,ROS把自己叫做一個操作系統還是沒有問題的。

ROS調試方法
在學習ROS時,有各種各樣的軟件包供我們使用,我們可以通過ROS-wiki上軟件包的說明,瞭解軟件的功能和使用,但是最終我們還是要把他們爲我們的ROS所用,所以怎麼來最開始嘗試使用這些軟件包,我們應該有一個大致的調試方法。

[ROS 的話題發佈與訂閱該如何編寫]

ROS launch文件的作用和編寫

針對於開發、應用中 ROS功能包的使用

ROS對攝像頭和圖像處理

1、利用uvc_camera package ROS下獲取USB免驅動高速攝像頭圖像數據

僅僅會用還不行,想深入學習,看看GitHub上 uvc_camera package的源碼,它實際上是利用v4l2來獲取圖像,然後通過處理髮布成ros中的圖像話題,並且他可以處理普通的攝像頭,也可以處理雙目深度相機。

2、ros+Gstreamer
gstcam是github上一個開元的ros軟件包,它巧妙地將gstream流媒體框架引入ROS系統。通過利用 gstreamer 實現一個標準的ROS API接口.比如捕獲usb uav camera 的圖像,然後轉化成 ros中 sensor_msgs/Image類型的image話題,發佈到ros中,供其他節點使用。

3、ROS&OpenCV進行攝像頭數據的採集與訂閱發佈

4、web_video_server功能包的使用 實現把話題傳到網絡
web_video_server功能包的主要功能是,在ROS系統中,比如某些話題發佈了圖像、視頻的話題,通過這個功能包可以訂閱這些話題,然後對圖像壓縮,通過網絡傳輸出去,這樣我們就可以通過網絡的方式獲取到這些圖像和話題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章