0

我试图在运行时使用代码生成和销毁节点。我知道 ROS groovy 有rosspawn,但我正在做的项目是有限的。这是我用于节点类的代码

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,它似乎可以工作。我的问题是,这是糟糕的编程还是会发生不可预见的错误?我看到发布的问题说需要系统调用才能在执行期间生成节点。

4

1 回答 1

0

如果您只是尝试动态创建单个节点,则可以这样做。如果要创建多个节点,则需要创建单独的进程,从而需要系统调用。

于 2013-09-29T09:13:44.697 回答