正常顺序
1 窗口1执行ros初始化
roscore
2 窗口2运行项目节点
2-1 首先source地址
1 | source /home/dongdong/v2_Project/v4_ROS/catkin_gps/devel/setup.bash |
2-2 执行节点
rosrun 项目名 节点名字
单个脚本执行
创建脚本
1 | gedit ros_run_gps.sh |
脚本内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #!/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 |
给与脚本执行权限
1 | sudo chmod -R 777 ros_run_gps.sh |
一个脚本开启三个命令行
没有解决密码问题,需要手动输入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | #!/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
分类:
3_2 ROS
, 1_2ubuntu系统
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2019-07-19 (知识点3)附加到数字的“.f”的目的是什么?
2019-07-19 (知识点2)类和类的封装