• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
MKT-porter
博客园    首页    新随笔    联系   管理    订阅  订阅
ROS开发(4)脚本多窗口执行

 

正常顺序

1 窗口1执行ros初始化

roscore

2 窗口2运行项目节点

2-1 首先source地址

source /home/dongdong/v2_Project/v4_ROS/catkin_gps/devel/setup.bash

  

2-2 执行节点

rosrun 项目名 节点名字

 

单个脚本执行

创建脚本

gedit ros_run_gps.sh

  

 

 

脚本内容

 

#!/bin/sh

#延迟5秒执行
sleep 1
  
echo "GPS 测试"
#echo "GPS 测试开始,消息记录" > /home/pi/start/test_desk1.log
#echo "新窗口开启ros: roscore "

#echo "查看串口: ls /dev/ttyUSB* "
#echo "临时给与一次串口权限: sudo chmod 777 /dev/ttyUSB0 "
#sudo chmod 777 /dev/ttyUSB0

#echo "source "
#source /home/dongdong/v2_Project/v4_ROS/catkin_gps/devel/setup.bash

 

 给与脚本执行权限

sudo chmod -R 777 ros_run_gps.sh

  

 

一个脚本开启三个命令行

没有解决密码问题,需要手动输入

#!/bin/sh


#延迟1秒执行
sleep 1
  
echo "ROS——GPS 测试"
#echo "GPS 测试开始,消息记录到日志里" > /home/pi/start/test_desk1.log


echo "1 开启ros节点 roscore 等待完全开启再往后执行 "
gnome-terminal -t "1_roscore" -x bash -c "\
roscore; \
exit;exec bash;"
sleep 5


echo "2 开启发送节点 serialPort "
gnome-terminal -t "2_serialPort" -x bash -c "\
echo \"dongdong\" | sudo chmod 777 /dev/ttyUSB0; \ 
source /home/dongdong/v2_Project/v4_ROS/catkin_gps/devel/setup.bash; \
rosrun v1_GetGPS serialPort; \
exit;exec bash;"
sleep 1

echo "3 开启接收节点 listener"

gnome-terminal -t "3_listener" -x bash -c "\   
source /home/dongdong/v2_Project/v4_ROS/catkin_gps/devel/setup.bash; \
rosrun v1_GetGPS listener; \
exit;exec bash;"
sleep 1


#echo "执行前确保给与脚本本身执行权限 sudo chmod -R 777 xxx.sh"
#echo "查看串口: ls /dev/ttyUSB* "
#echo "临时给与一次串口权限: sudo chmod 777 /dev/ttyUSB0 "
# 开启新的命令窗口执行
# gnome-terminal -t "窗口名字" -x bash -c "要执行的命令1;命令2;exit;exec bash;"
#Shell 脚本自动输入密码 : echo "密码" | sudo 命令

  

 主窗口

 

 窗口1

 

 

窗口2 

 

 手动输入密码

 

 

窗口3 

 

 

 

 

 

  

posted on 2022-07-19 17:39  MKT-porter  阅读(245)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3