编写简单的服务和客户端 (C++) 功能:创建一个简单的service节点("add_two_ints_server"),该节点将接收到两个数字,并返回它们的和。 服务节点: 建立service,并在ROS网络内内发布求和消息。 进入cd ~/catkin_ws/src/beginner_tutorials 在beginner_tutorials包下的src文件创建add_Two_ints_server.cpp(代码见附件) 客户端: 进入cd ~/catkin_ws/src/beginner_tutorials 在beginner_tutorials包下的src文件创建add_Two_ints_client.cpp(代码见附件) 编译: cd ~/catkin_ws/src/beginner_tutorials 修改beginner_tutorials包下的文件CMakeLists.txt CMakeList.txt文件见附件CMakeList.txt(仅供参考,不一定一样,如果你按照教程往下走会一样。) 在最后添加: add_executable(add_two_ints_serversrc/add_two_ints_server.cpp) target_link_libraries(add_two_ints_server${catkin_LIBRARIES}) add_dependencies(add_two_ints_serverbeginner_tutorials_gencpp) add_executable(add_two_ints_clientsrc/add_two_ints_client.cpp) target_link_libraries(add_two_ints_client${catkin_LIBRARIES}) add_dependencies(add_two_ints_clientbeginner_tutorials_gencpp) 目的: 代码将生成两个可执行程序"add_two_ints_server"和"add_two_ints_client", 这两个可执行程序默认被放在你的devel space下的包目录下, 默认为~/catkin_ws/devel/lib/share/<packagename>。 你可以直接调用可执行程序,或者使用rosrun命令去调用它们。 修改完CMakeList.txt以后需要catkin_make一下,进入你的工作空间 cd ~/catkin_ws catkin_make OK,然后可以启动你的服务端了 首先确保运行:roscore 然后重新打开一个终端,首先source一下:source ./devel/setup.bash 然后重新打开一个终端 首先source首先source一下:source./devel/setup.bash 然后再运行客户端:rosrun beginner_tutorials add_two_ints_client 8 8 返回16 ,说明成功了。 |