服务端和客户端的关系实际上就是请求和响应的关系。我们在定义服务类型的时候实际上只是定义了请求时客户端发送的数据类型及个数,还有服务端响应时返回来的数据类型和个数。对C++语言而言、服务端和客户端同样是.cpp文件编译生成的可执行文件。
一、服务端:
1、cd到包目录下,然后在src文件夹下创建.cpp文件;
2、.cpp文件包括以下部分:
①包含(include)依赖库,如ros/ros.h、beginner_tutorials/AddTwoInts.h(已生成的服务类型头文件)等
②请求处理函数部分:
bool add(beginner_tutorials::AddTwoInts::Request &req, beginner_tutorials::AddTwoInts::Request &res)
{
客户端传来的数据存在req中,在此函数体处理请求,并将结果存在res中
}
③主函数部分: ros::init(argc,argv,"add_two_ints_server");
ros::NodeHandle n;
// 向ROS节点网络广播:当前节点提
供add_two_ints服务,这个服务通过调用add
函数完成,
// 需要这个服务的可以来请求当前节点
ROS服务端和客户端的创建方法

本文详细介绍了如何在ROS环境中创建服务端和服务客户端。通过实例解析,读者将学会设置服务定义、实现服务处理函数、启动服务端节点及编写客户端代码来调用服务,从而实现节点间的数据交互。
最低0.47元/天 解锁文章
537

被折叠的 条评论
为什么被折叠?



