1. 程式人生 > >ROS服務程式設計::1,自定義服務資料--srv檔案

ROS服務程式設計::1,自定義服務資料--srv檔案

ROS中的服務資料可以通過srv檔案進行語言無關的定義介面,一般放在srv資料夾,包含請求與問答兩個資料域,使用"---"分割開。

針對加法運算服務請求,建立一個服務型別的srv檔案/catkin_ws/src/my_package/srv/AddTwoInts.srv

int64 a
int64 b
---
int64 sum

完成服務資料型別的描述後,需要在功能包的配置檔案package.xml和構建配置檔案CMakeList.txt檔案配置編譯與依賴,在編譯過程中將該描述檔案轉換成程式語言所能識別的程式碼

開啟package.xml檔案,新增以下依賴配置

<build_depend>message_generation</build_depend>
<build_export_depend>message_generation</build_export_depend>
<exec_depend>message_runtime</exec_depend>

開啟建配置檔案CMakeList.txt檔案:

find_package(catkin REQUIRED COMPONENTS
  message_generation
  roscpp
  std_msgs
)

add_service_files(FILES
  AddTwoInts.srv
)

注:使用roboware studio 可以自動完成package.xml和CMakeList.tx檔案配置,非常方便