一、函数形式
使用任何roscpp函数前,必须调用ros::init函数。一般有如下形式:
ros::init ( argc, argv, “my_node_name” );
ros::init ( argc, argv, “my_node_name”, ros::init_options::AnonymousName );
ros::init ( argc, argv, “my_node_name”, ros::init_options::NoSigintHandler );
ROS系统不允许节点的名字出现重复,如果再运行一个,前一个节点会自动关闭。使用ros::init_options::AnonymousName就可以同时运行多个同名节点,ROS会在节点名后面加上UTC时间以示区别。
运行同一个节点还有更好的方法:比如已经使用命令rosrun pub Pub运行了一个名为Pub的节点,我们可以指定参数__name运行同一个可执行文件,但是节点名不同:
rosrun pub Pub __name:=newPub
ros::init()的参数分别是:
argc:remapping参数的个数
argv:remapping参数的列表
name:节点名,必须是一个基本名称,不能包含命名空间
options:[可选]用于启动节点的选项(ros::init_options中的一组位标志)
调用ros::init()函数后,它会调用五个函数:
network::init(remappings);
master::init(remappings);
this_node::init(name, remappings, options);
file_log::init(remappings);
param::init(remappings);
二、功能作用
初始化ros节点
三、使用方法
在代码中使用此函数即可