初始化roscpp节点
ros
::
init
(
argc
,
argv
,
“ my_node_name ”
);
和
ros
::
init
(
argc
,
argv
,
“ my_node_name ”
,
ros
::
init_options
::
AnonymousName
);
一般来说,
ros :: init()
的形式符合:
void
ros
::
init
(<
command
line
or
remapping
arguments
>,
std
::
string
node_name
,
uint32_t
options
);
让我们按顺序去论述:
- argc和argv
- ROS使用这些来解析命令行中的重映射参数。它还会修改它们,以便它们不再包含任何重映射参数,因此如果在处理命令行之前调用了ros :: init(),则不需要自己跳过这些参数。
NODE_NAME
- 这是分配给您的节点的名称,除非被其中一个重映射参数覆盖。节点名称在ROS系统中必须是唯一的。如果第二个节点以与第一个相同的名称启动,则第一个节点将自动关闭。如果您想要多个同一个节点运行,而不用担心唯一命名它们,则可以使用下面描述的init_options :: AnonymousName选项。
选项
- 这是一个可选参数,可让您指定更改roscpp行为的某些选项。该字段是一个位字段,因此可以指定多个选项。这些选项在“ 初始化选项”部分中有描述。