Я пытаюсь создавать и уничтожать узлы с использованием кода во время выполнения. Я знаю, что у 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
и, кажется, работает. Мой вопрос: это плохое программирование или есть непредвиденная ошибка, которая может произойти? В вопросах, которые я видел в сообщениях, говорят, что необходим системный вызов для создания узла во время выполнения.