ros是機械人作業系統,英文 robot operation system 的簡稱。
ros自帶工具,為某些功能包安裝系統依賴,同時也是某些ros核心功能包所必須用到的工具。有時候安裝不成功,好像也沒啥影響
應用層:有乙個管理者 master,其它功能包內模組以節點為單位執行,以ros標準的輸入輸出為介面(應該指各種訊息資料格式吧?)
節點:就是一些處理計算任務的程序,類似於可執行檔案
話題:可能有多個節點發布或訂閱同乙個話題,注意多個節點發布同乙個話題也是可以的,這種情況會不會亂呢?
服務:彌補話題無法雙向同步傳輸的問題,其基於客戶端/伺服器模型,包含兩部分通訊資料型別,乙個用於請求,乙個用於應答。服務只允許有乙個節點提供指定命名的服務。
話題與服務區別:話題適用於資料傳輸,服務適用於邏輯處理(資料量較小,但有邏輯處理的資料交換)
工作空間下會有很多功能包,每個功能包的組成結構如下,並不是每個資料夾都有
詳細說下package.xml吧,後面新增自定義訊息和服務等開發時要修改下這裡,除了該功能包名稱、版本號等,還有
:**編譯所依賴的其它功能包
:可執行程式執行時所依賴的其它功能包
只列出幾個平常用的不是太多的
catkin_create_pkg
rospack # 獲取功能包資訊
rosdep # 自動安裝功能包依賴的其它包
roscd # 功能包目錄跳轉
roscp # 拷貝功能包中檔案
rosed # 編輯功能包中的檔案
rostopic # 話題相關命令
rosnode # 節點相關命令
ros包生成python節點
有時候在ros包中我們需要寫一些python指令碼,但是每次執行都需要到指令碼的路徑下執行。當需要在其他ros包的launc 件中呼叫該指令碼或者需要直接執行節點時會提示找不到。解決辦法 在cmakelists中新增 install programs scripts your scripts.py ...
發布IMU資訊到ROS系統中
以下記錄是在除錯樹莓派3b中得到的經驗 本文記錄除錯樹莓派3b中得到的經驗,如何把imu資訊發布到ros系統中。header header geometry msgs quaternion orientation float64 9 orientation covariance row major ...
ROS學習之 cpp名字和節點資訊
大部分常用的獲取節點資訊和操作命名的api如下.ros this node getname 獲取這個節點的名字 ros this node getnamespace 獲取這個節點的名字空間 ros nodehandle resolvename 方法 api std string ros nodeha...