ros::NodeHandle 函数
时间: 2023-08-15 09:08:25 浏览: 62
ros::NodeHandle 是 ROS(Robot Operating System)中的一个关键类,它用于创建和管理 ROS 节点。ROS 节点是 ROS 中最基本的组成单位,它可以独立运行并与其他节点通信。
NodeHandle 类提供了一系列函数来进行节点的初始化、发布和订阅话题、调用服务等操作。以下是一些常用的 NodeHandle 函数:
1. 构造函数:NodeHandle nh; 创建一个默认的 NodeHandle 对象。
2. advertise():用于创建一个发布者(Publisher),将数据发布到指定的话题。示例:ros::Publisher pub = nh.advertise<消息类型>("话题名称", 队列长度);
3. subscribe():用于创建一个订阅者(Subscriber),接收指定话题的数据。示例:ros::Subscriber sub = nh.subscribe("话题名称", 队列长度, 回调函数);
4. serviceClient():用于创建一个服务客户端(Service Client),向指定的服务发送请求并接收响应。示例:ros::ServiceClient client = nh.serviceClient<服务类型>("服务名称");
5. param():用于获取或设置 ROS 参数的值。示例:nh.param("参数名称", 变量, 默认值);
6. spin():进入 ROS 循环,等待回调函数的触发。
这些函数只是 NodeHandle 类提供的一部分功能,还有其他更多函数可以根据需要使用。NodeHandle 类的使用可以帮助我们方便地与 ROS 系统进行交互,实现节点间的通信和协作。