【问题标题】:Using a shell script to call multiple ROS launch files使用shell脚本调用多个ROS启动文件
【发布时间】:2014-06-11 20:01:38
【问题描述】:

我刚刚发现我明天需要一个快速而肮脏的演示。我正在使用一个使用 ROS 的机器人,我们有一些包可以让它以简单的模式移动。我想用一个命令启动所有必要的节点。我需要在单独的终端中运行的命令行是:

roscore

rviz

roslaunch [空白 move_base 地图]

roslaunch [包] [移动脚本]

rqt_graph

所有这些程序都无限期地运行——例如,roscore 是一个协调其他节点的服务器。我不能只使用“&”将它们串成一行。它们每个都需要一个专用的终端窗口/进程。如何在 bash 或 Python 中做到这一点?

注意:我意识到使用自定义 ROS 启动文件可能会更好,但我没有时间。

【问题讨论】:

  • 尝试 subprocess 模块...例如 subprocess.call(["your code","code params"],shell=False)

标签: python linux bash shell ros


【解决方案1】:

您可以从终端二进制文件本身启动您的软件,为每个软件获取一个新终端。这取决于您使用的终端。使用konsole,您可以拥有

konsole -e command [args]
...

使用 gnome-terminal 你可以:

gnome-terminal -e command [args] &

使用 xterm:

xterm -e command [args] &

也可以参考类似的帖子:Run multiple .sh scripts from one .sh script? CentOS

【讨论】:

  • 我们最终使用了 xterm。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-07
  • 2021-11-30
  • 1970-01-01
  • 2014-03-11
  • 1970-01-01
  • 1970-01-01
  • 2018-06-09
相关资源
最近更新 更多