【ROS2】ROS2使用C++实现简单服务端

发布时间:2024年01月19日

使用ROS2实现简单的服务端,功能为将客户端提供的两个数相加后返回给客户端。

代码如下:

#include "rclcpp/rclcpp.hpp"
#include "std_msgs/msg/string.hpp"
#include "base_interfaces_demo/msg/student.hpp"
#include "base_interfaces_demo/srv/add_ints.hpp"
#include <memory>

using namespace std::chrono_literals;
using base_interfaces_demo::msg::Student;
using base_interfaces_demo::srv::AddInts;
using std::placeholders::_1;//定义两个占位符,用以在bind函数中表示回调函数的两个参数
using std::placeholders::_2;

class AddIntServer:public rclcpp::Node
{
private:
  /* data */
public:
  AddIntServer():rclcpp::Node("addIntServer_node_cpp"){
    RCLCPP_INFO(this->get_logger(),"服务端节点已创建!");
    // 创建服务端
    server_=this->create_service<AddInts>("addInts", std::bind(&AddIntServer::on_called,this,_1,_2));//注意要using std::placeholders::_1,两个占位符表示回调函数有两个变量。

  };
private:
  rclcpp::Service<AddInts>::SharedPt
文章来源:https://blog.csdn.net/pangweijian/article/details/135708440
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。