【问题标题】:How to run and close a roslaunch using button in Qt 5 (C++)如何使用 Qt 5 (C++) 中的按钮运行和关闭 roslaunch
【发布时间】:2021-04-19 17:48:12
【问题描述】:

我想构建一个带有多个按钮的 UI 以启动 ros 文件并关闭启动文件。我被其他人所说的 QProcess 困住了。 我关注了几个讨论:

他们都没有成功。 这是我尝试的最新代码(当我按下按钮时结果没有运行)。

QString program = "roslaunch jackal_gazebo jackal_world.launch";
QProcess *myProcess = new QProcess(this);
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
env.insert("launch","/opt/ros/melodic/share/jackal_gazebo");
myProcess->setProcessEnvironment(env);
myProcess->start(program);
myProcess->waitForStarted(-1);

【问题讨论】:

  • 向您的进程发送SIGINT 信号的建议解决方案到底有什么问题?
  • 这根本行不通。我第一次尝试用下面的代码调用 roslaunch,没有任何反应。
  • 当我点击按钮时,UI突然退出

标签: c++ qt qt5 ros


【解决方案1】:

如果您可以使用按钮成功启动节点,那么使用按钮关闭它们的一种方法是向这些节点发送有关特殊主题的消息,例如:“/system/shutdown”,类型为 Bool 和节点正在收听这个主题,当消息到达时节点会自行关闭

【讨论】:

  • hii 谢谢你的回答我想我在语法上有一些错误。但是我发现是使用 gnome ternimal 来运行一些 roslaunch 我会在稍后尝试它以获取您的建议
猜你喜欢
  • 2018-10-18
  • 2015-10-12
  • 2014-09-12
  • 1970-01-01
  • 2013-12-31
  • 1970-01-01
  • 2015-01-23
  • 2021-12-23
相关资源
最近更新 更多