日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[ROS](05)ROS通信 —— 节点,Nodes Master

發布時間:2024/1/18 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [ROS](05)ROS通信 —— 节点,Nodes Master 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??文章只是個人學習過程中學習筆記,主要參考ROS教程1。


目錄

  • 1、概念
  • 2、Nodes
  • 3、Master
  • 4、rosnode
  • 5、 實例測試

1、概念

節點(Nodes):節點是一個可執行文件,它可以通過ROS來與其他節點進行通信。
節點管理器(Master):ROS的命名服務,例如幫助節點發現彼此。

2、Nodes

? ? 一個節點(Node)實際上只不過是ROS軟件包中的一個可執行文件(C++編譯生成的可執行文件、python腳本),可執行文件在運行之后就成了一個進程(process),這個進程在ROS中就叫做節點。。ROS節點使用ROS客戶端庫與其他節點通信。節點可以發布或訂閱話題,也可以提供或使用服務。一個ROS控制系統包含許多節點,例如無人車,一個節點(Node)控制無人車的車輪電機、一個節點(Node)通過慣導獲取定位信息、一個節點(Node)通過攝像頭獲取圖像信息、一個節點(Node)融合各種信息執行路徑規劃等等。

ROS客戶端庫可以讓用不同語言編寫的節點進行相互通信:

  • roscpp = C++客戶端
  • rospy = python客戶端

3、Master

? ?機器人是一種組件眾多、功能龐大、高度復雜的系統性實現。在實際的應用中,機器人可能集成激光雷達、慣導、毫米波雷達、攝像頭、GPS等各種傳感器以及運動控制器件,負責感知、控制、決策和計算等功能,每一項功能點都是一個單獨的節點(Nodes)。那么如何去管理、分配、控制這些節點呢?這就用到ROS Master,它為ROS系統中的其余節點提供命名和注冊服務。Master的作用是使各個ROS節點(Nodes)之間能夠相互定位,然后才能進行點對點通信。
? ?

4、rosnode

? ?rosnode是用于顯示有關ROS節點信息的命令行工具。命令有:

命令功能
rosnode ping測試與節點的連接
rosnode list列出活動的節點
rosnode info打印關于節點的信息
rosnode machine列出指定設備上的節點
rosnode kill殺死一個正在運行的節點
rosnode cleanup清除不可連接的節點

在使用ctrl+C停止節點時,該節點并沒有徹底清除,可以使用rosnode cleanup清除節點。

5、 實例測試

#步驟1:(ROS首要操作)運行roscore命令, 啟動 master, master負責 ros 的節點注冊, 參數服務器, 話題通信管理等等。

#步驟2:運行rosnode 相關命令。

/rosout這個節點,是用于收集和記錄節點的調試輸出,該節點總是運行。


  • ROS.otg. ROS教程[EB/OL]. 2020-12-22[2022-7-5].
    http://wiki.ros.org/cn/ROS/Tutorials. ??

  • 總結

    以上是生活随笔為你收集整理的[ROS](05)ROS通信 —— 节点,Nodes Master的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。