1、編寫自定義的服務檔案(即.srv)檔案。
2、儲存,catkin_make編譯,要生成可以被#include "包/addtwoints.h",注意cmakelist.txt檔案的配置
cmake_minimum_required(version 2.8.3)
project(learing_communication)
## compile as c++11, supported in ros kinetic and newer
# add_compile_options(-std=c++11)
## find catkin macros and libraries
## if components list like find_package(catkin required components xyz)
## is used, also find other catkin packages
find_package(catkin required components
roscpp
rospy
std_msgs
message_generation
)## generate messages in the 'msg' folder
add_message_files(
files
person.msg
# message2.msg
)## generate services in the 'srv' folder
add_service_files(
files
addtwoints.srv
# service1.srv
# service2.srv
)## generate actions in the 'action' folder
# add_action_files(
# files
# action1.action
# action2.action
# )## generate added messages and services with any dependencies listed here
generate_messages(
dependencies
std_msgs
#message_generation
)add_executable(talker src/talker.cpp)
target_link_libraries(talker $)
add_dependencies(talker $_generate_messages_cpp)
add_executable(listener src/listener.cpp)
target_link_libraries(listener $)
add_dependencies(listener $_generate_messages_cpp)
add_executable(server src/server.cpp)
target_link_libraries(server $)
add_dependencies(server $_gencpp)
add_executable(client src/client.cpp)
target_link_libraries(client $)
add_dependencies(client $_gencpp)
3、現在就可以在你其他節點中以#include "包/addtwoints.h"的形式引用了。
注意:對於addtwoints.h 是有addtwoints.srv檔案在編譯後自動生成的
自定義srv訊息之ros
在ros中,如果沒有現成的訊息型別來描述要去傳遞的訊息時,我們會自定義訊息。我們會新建乙個package來去自定義訊息,通常這個package寫任何的業務邏輯,只是用來宣告自定義的訊息型別,可以只定義一種訊息型別,也可以定義多種訊息型別,根據業務需求來定。所以,首先我們單獨的建立乙個package,...
ros定義srv服務
在beginner tutorials,新建srv服務目錄,新建addtwoints.srv檔案 roscd beginner tutorials mkdir srv cd srv touch addtwoints.srv rosed beginner tutorials addtwoints.sr...
ROS服務程式設計 1,自定義服務資料 srv檔案
ros中的服務資料可以通過srv檔案進行語言無關的定義介面,一般放在srv資料夾,包含請求與問答兩個資料域,使用 分割開。針對加法運算服務請求,建立乙個服務型別的srv檔案 catkin ws src my package srv addtwoints.srv int64 a int64 b int...