编辑shell脚本执行ROS指令

目标是写一个.sh脚本来执行各种ROS的指令

  1. 开头要以#!/bin/bash开始
  2. 执行这个脚本也可以print文字,echo 'Initialization Start!',用echo来print字符串
  3. 编写在terminal中执行的shell指令,分好几种

①启动roslaunch / rosrun / python / rostopic / source 等等
按照下面的格式,基本各种启动程序的指令都可以往里面套

gnome-terminal --tab --title="launch gazebo rviz" --command="bash -c 'source catkin_ws/devel/setup.bash; roslaunch gazebo_robot test.launch; $SHELL'"

②说明:
开始的gnome-terminal开启一个新的terminal;

加上--tab就不会打开一个新的terminal,而是打开一个新的tab开启动这条命令,推荐这个,不然指令写多了,会弹出一堆terminal的框,加上tab就只会在一个terminal上执行所有指令;

--title=就是给这个terminal和tab命名

--command=就是开始执行命令了,按照里面的上面这个例子的格式改就可以了,不管是roslaunch还是rosrun命令都可以,其他如python 启动.py文件,source或rostopic等等都可以

$SHELL 结尾处,去掉好像也可以,具体作用有路过的大神可以告知一二。

gnome-terminal --tab --title="init_second_joint" --command="bash -c 'rostopic pub -1 /mm/second_joint_position_controller/command std_msgs/Float64 \"data: -0.34906584444444444\"; $SHELL'"

以上的指令是发一个topic控制机械手第二关节转动一个角度,当做是初始化了

③注意,如果要指令中需要使用双引号要注意分别在两个双引号前加\,不然会报错,调用rostopic时最后赋值需要用到双引号,这时要特别注意。如上面指令中的\"data: -0.34906584444444444\"

  1. 如果想让两条指令之间间隔几秒,加sleep 10即可,停10s,具体数字根据实际情况定
  • 6
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值