C++如何调用ROS节点/启动launch文件

把ROS中的功能节点嵌入到C++中是很有意义的,比如用C++编写GUI界面程序,在GUI中启动node节点,以实现对系统的集成,同时便于用户操作,因为不是谁都会使用终端敲代码的方式的。

以启动autoware的runtime_manager为例,在终端启动:

roslaunch  runtime_manager  runtime_manager.launch 

而要在C++程序中启动,首先需要包含头文件:

#include 

接着便可以在C++代码中通过execlp()函数启动runtime_manager节点。

//execlp函数的作用是从PATH 环境变量所指的目录中查找符合参数file的文件名,找到后便执行该文件
 execlp("roslaunch", "roslaunch", "runtime_manager","runtime_manager.launch", NULL);

你可能感兴趣的:(自动驾驶)