回顾
ros::init()是ROS程序调用的第一个函数,用于对ROS程序的初始化。该函数主要调用了以下五个函数对ROS程序进行初始化:
- network::init(remappings);
- master::init(remappings);
- this_node::init(name, remappings, options);
- file_log::init(remappings);
- param::init(remappings);
详述见我的博文从ros:init()出发。
network::init(remappings)
分析详见我的博文从ros:init()出发。
该函数从输入参数remappings提取信息,完成对 g_host 和 g_tcpros_server_port 两个变量的赋值。
- g_host:(1)首先尝试 remappings[ __hostname ];(2)然后尝试 remappings[ __ip ];(3)最后尝试 determineHost()。
- g_tcpros_server_port:尝试通过 remappings[ __tcpros_server_port]赋值。