ROS學習(五)-服務數據的定義與使用

一、 定義srv文件

string name
uint8 age
uint8 sex

uint8 unknown = 0
uint8 male    = 1
uint8 female  = 2
---
string result

二、 在package.xml 中添加功能包依賴

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

三、 在CMakeList.txt 添加編譯選項

find_package( ...... message_generation)

add_service_files(FILES Person.srv)
generate_messages(DEPENDENCIES std_msgs)

catkin_package( ...... message_runtime)

寫完client和server需要配置CMakeList.txt中的編譯規則

  1. 設置需要編譯的代碼合生成的可執行文件
  2. 設置鏈接庫
  3. 添加依賴項
add_executable(person_server src/person_server.cpp)
target_link_libraries(person_server ${catkin_LIBRARIES})
add_dependencies(person_server ${PROJECT_NAME}_gencpp)

add_executable(person_client src/person_client.cpp)
target_link_libraries(person_client ${catkin_LIBRARIES})
add_dependencies(person_client ${PROJECT_NAME}_gencpp)

四、 編譯生成語言相關文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章