ros發布節點資訊python 初識ROS

2021-10-13 22:51:09 字數 989 閱讀 8532

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...