2013-06-06 1 views
0

Я пытаюсь создавать и уничтожать узлы с использованием кода во время выполнения. Я знаю, что у ROS groovy есть rosspawn, но проект, над которым я работаю, находится в feurte. Это код, у меня есть для одного класса узловСоздание динамического узла в ROS 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

Это нормально, если вы просто пытаетесь динамически создать единый узел. Если вы хотите создать несколько узлов, вам нужно будет создать отдельные процессы, требующие системного вызова.