action類似service,同時帶有了狀態反饋的通訊方式,通常用在長時間(小車的導航,機械臂的運動),可搶占的任務中(任務可以執行到一半被打斷,去執行其他任務)。
左邊是action server ,右邊是action client。
goal是給server的請求,希望能夠實現的目標,另外乙個是cancle,就是指在任務執行中間我們可能會取消掉這個任務。
server回傳的有states(server所處的狀態),result(當sever處理完資料之後,會把結果返回給client),還有乙個是feedback(action會把實時狀態返回給client)。
action通訊對應的檔案叫做*.action檔案,類似於service對用的srv檔案,topic對應的msg檔案。
下面是一些具體的action檔案的說明:
首先action分為三段,用三個短橫線隔開。
第乙個例子:
第乙個是goal
第二個是result,只會回傳一次結果
第三個是feeddback,會多次回傳給client
第二個例子:
第乙個傳送的是goal,目標位姿資訊
第二個result沒有寫
第三個feedback返回的是當前的實時位姿資訊
ROS自學筆記11 Client Library
客戶端庫 提供ros程式設計的庫,和api的概念類似。比如我們實現建立node,發布訊息,除錯服務這些功能,不需要從tcp層去實現,而是直接呼叫client library就可以。ros提供的client library有 roscpp rospy roslisp ros是命名空間 roscpp是官...
ROS自學筆記14 param demo
這篇文章主要講引數伺服器在ros裡面的寫法和用法。引數伺服器提供的roscpp的api介面有ros param和ros nodehandle兩種命名空間。param demo.cpp include int main int argc,char argv ros init argc,argv,gre...
ROS自學筆記10 ROS常用工具
ros的 工具 gazebo ros的除錯和視覺化 rviz和rqt 命令列工具 rostopic,rosbag 專用工具 moveit 這個是機械人 工具,相容的物理引擎是ode。用於動力學,感知,導航等任務的模擬。全稱是the robot visualization tool視覺化工具,方便監控...