我有一个脚本需要启动一些ros节点,包括一个rosbag。在这些节点中,我需要使用 --pause 标志启动 rosbag。通常,我需要按空格键来取消暂停包并在大约 5 秒后运行我的脚本。我的问题是,我怎样才能在 bash 脚本上完成这项工作?
我尝试了一些不同的事情,比如: ... & (睡眠 5; echo -e ' ';) & ...
或 echo '\s' 或 echo ' '.我知道 echo 命令发生了,但这并没有向包发出开始播放(取消暂停)的信号。如果我在使用脚本时按下空格键,包就会播放。我怎样才能从我的 bash 脚本中重新创建这个空格键?
解决了这个问题:
xte '键空间'
rosbag play
创建一个节点,该节点具有可以调用以暂停/播放包文件的服务。一旦你在“暂停”模式下旋转所有东西,你就可以使用你的睡眠,然后 rosservice call ...
开始玩包。
包玩默认为匿名节点。您可以使用适当的参数命名它或在启动文件中命名它。这也可以用来从另一个脚本/程序控制你的包播放