我正在尝试在运行时使用代码生成和销毁节点。我知道ROS groovy有rosspawn
,但我正在研究的项目是feurte。这是我对节点类
class node {
private:
ros::NodeHandle *n;
public:
void init(int argc, char **argv, std::string s) {
ros::init(argc, argv, s);
n = new NodeHandle();
}
void shutdown() {
n->~NodeHandle();
}
};
我使用rosnode list
对其进行了测试,但它似乎有效。我的问题是,这是错误的编程还是会发生无法预料的错误?我发现问题的帖子说,为了在执行过程中产生一个节点,需要进行系统调用。
答案 0 :(得分:0)
如果您只是尝试动态创建单个节点,可以这样做。如果要创建多个节点,则需要创建单独的进程,从而需要进行系统调用。