【问题标题】:ROS execute multiple commands from fileROS从文件中执行多个命令
【发布时间】:2013-07-05 07:58:12
【问题描述】:

有没有办法自动连续运行这些命令?

roscd stereo_camera
rosparam load marvin_cameras.yaml
rosrun stereo_camera stereo_camera __name:=bumblebeeLeft
rosrun stereo_camera stereo_camera __name:=bumblebeeCenter

roslaunch openni_launch_marvin kinect_left.launch
roslaunch openni_launch_marvin kinect_center.launch 

【问题讨论】:

  • 试试http://answers.ros.org/questions/ 可能是个好主意。我想说主要问题是 rosrun 和 roslaunch 阻塞了终端,对吗?因此,一些分叉可能会解决它。
  • @Humungus - 当我们在这里有自己的robotics site 时,为什么建议有人离开 Stack Exchange?
  • @MarkBooth 没错,我错过了那个。

标签: ros


【解决方案1】:

您可以编写一个启动文件来运行所需的节点/启动文件,如 here 所述的延迟,或者您可以只编写一个看起来像这样的 bash 脚本:

#!/bin/bash
roscd stereo_camera
rosparam load marvin_cameras.yaml
rosrun stereo_camera stereo_camera __name:=bumblebeeLeft &
rosrun stereo_camera stereo_camera __name:=bumblebeeCenter &
roslaunch openni_launch_marvin kinect_left.launch &
roslaunch openni_launch_marvin kinect_center.launch &
wait

假设您的脚本名为script.sh,您必须通过chmod +x script.sh 使其可执行,然后通过./script.sh 运行它。 & 标志将命令发送到后台,而wait 命令等待直到后台所有程序完成。

【讨论】:

  • 我建议使用单个 roslaunch 文件,它可以让您更好地控制节点并记录输出
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多