dajianli

金牌会员
  • 主题:31
  • 回复:288
  • 金钱:1016
  • 积分:1674
   编写简单的服务和客户端 (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
    1.png
然后重新打开一个终端
首先source首先source一下:source./devel/setup.bash
然后再运行客户端:rosrun beginner_tutorials add_two_ints_client 8 8
             2.png
返回16 ,说明成功了。

第8章附件.zip

3.87 KB, 下载次数: 2

售价: 1 金钱  [记录]