ROS topic,service和action的使用場景


參考:ROS中關於topic和service的運用場合

Topics

特點:

1.單向,分工明確,處理連續數據流,topic是一種多對多的形式,一個Node可以訂閱多個Topic,可以publish到多個topic上。
2.topic中的數據只要准備好了,就可以被回調函數調用。而發送端的topic的發送時機由publisher自己決定。

場景:

1.連續

比如收發傳感器數據,收發控制指令

Service

特點:

1.雙向,有反饋
2.往往不是固定頻率發送,處理不連續數據,需要時才發送請求和處理

場景:

1.離散
2.少量時間

用於那些快速停止的程序,如查詢一個node的狀態,做數學運算,機械臂的運動學反解(action也可以)等。

Actions

特點:

升級版service

場景:

1.離散
2.需要反饋 / 狀態跟蹤
3.需要花費大量時間
4.運行過程中可以被中斷(中斷通常是靠Action server來實現)

讓小車前進一段時間,並在運行過程中提供反饋。比如《ROS by Example》書中想讓小車走1米,運行過程中需要不斷檢測是否走了1米,走到了就中斷它,讓它停下來。

即使在同一個Action Server上運行不同的兩個action goal, 它們的狀態也能夠利用各自的ID被區分開來。像視覺處理等需要較多時間來啟動或終止的程序也是利用action來實現的一個不錯的例子。

用Topic和Action能完成大部分操作


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM