ROS通信编程_服务编程_编译&测试

系统环境:Ubuntu16.04

编译代码:
1.设置需要编译的代码和生成的可执行文件
2.设置链接库
3.设置依赖

进入到功能包目录下,打开CMakeLists.txt。
在 CMakeLists.txt 文件中加入几条语句:

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

回到工作空间目录下:$ catkin_make,进度显示100%即表示编译成功。

将生成两个可执行程序"server"和"client",这两个可执行程序默认存放地址为 ~/工作空间/devel/lib/。可以直接调用可执行程序,或者使用rosrun命令去调用它们。它们不会被装在/bin目录下,因为当在系统里安装这个包的时候,这样做会污染PATH变量。

注意:
1.add_executable
2.target_link_libraries
3.add_dependencies
先设置需要编译的代码和生成的可执行文件,再设置链接库,最后设置依赖。这个顺序不要颠倒,否则有可能出错。

测试:
打开一个终端,启动服务器:$ rosrun <功能包> server
在这里插入图片描述
Server节点启动后的日志信息

再打开一个终端,启动客户端:$ rosrun <功能包> client data1 data2
在这里插入图片描述
Client启动后发布服务请求,并成功接收到的反馈结果

在这里插入图片描述
Server接收到服务调用后完成加法求解,并把结果反馈给Client

测试完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值