ros::init
是 ROS (Robot Operating System) 的初始化函数,用于初始化 ROS 的节点。这个函数通常在你的 ROS 程序的 main
函数中被调用。这里有一个 ros::init
的简单例子:
#include "ros/ros.h"
int main(int argc, char **argv) {
// 初始化 ROS。它允许 ROS 通过命令行进行名称重映射 —— 不过这不是必须的。
// 在这里,我们也设置了节点的名称。
// 你必须在尝试创建任何节点之前调用其中之一的版本(即:ros::init()、ros::init(options))。
ros::init(argc, argv, "my_ros_node");
// 实例化一个节点句柄。实际的节点初始化发生在这一步。
ros::NodeHandle nh;
// 之后的程序中可能会包含订阅者、发布者、服务等。
// ros::spin() 进入自循环,可以尽可能快地调用回调函数。
// 在这个例子中,不会执行任何回调,因为我们还没有定义任何。
// 但是这是一个典型的 ROS 程序的结构。
ros::spin();
return 0;
}
在这个例子中,我们设置了一个名为 my_ros_node
的节点。当你运行这个程序时,ROS 的主服务器会识别出一个名为 my_ros_node
的节点开始运行。
注意,这个例子仅仅是 ros::init
调用的框架。实际的 ROS 节点可能会包括订阅话题、发布话题、服务、参数服务器交互等更多功能。