ROS1入门3---Service Client cpp

ROS1(Robot Operating System) 入门学习笔记

        Ubuntu 18.04

        ROS melodic 1.14.13

        环境变量添加 详见:ROS1入门1---工作空间与功能包

打开 工作空间/src 创建新功能包 名为 service_pkg

catkin_create_pkg service_pkg std_msgs rospy roscpp geometry_msgs turtlesim 
 

进入 service_pkg/src

创建文件 client.cpp 内容如下

#include <ros/ros.h>
#include "turtlesim/Spawn.h"

int main(int argc, char **argv)
{
  //初始节点
  ros::init(argc, argv, "spawn_client");

  ros::NodeHandle n;
  //堵塞等待 /spawn 服务
  ros::service::waitForService("/spawn");
  
  ros::ServiceClient spawn_client = n.serviceClient<turtlesim::Spawn>("/spawn");

  turtlesim::Spawn data;
  data.request.name = "t1";
  data.request.x = 1.0;
  data.request.y = 2.0;

  ROS_INFO("Client: name:%s x:%0.2f y:%0.2f", data.request.name.c_str(), data.request.x, data.request.y);

  spawn_client.call(data);

  ROS_INFO("Success name:%s", data.response.name.c_str());
}

进入service_pkg/CMakeLists.txt

添加

add_executable(client src/client.cpp)
target_link_libraries(client ${catkin_LIBRARIES})

回到 工作空间根目录 /ROS1_Learn 编译

catkin_make 

打开3个终端

分别输入 :

        roscore

        rosrun turtlesim turtlesim_node

        rosrun service_pkg client

 生成了一只新海龟

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值