如何利用QT在terminal终端执行ROS系统中的roslaunch命令(How to launch a roslaunch in Qt with a terminal (GUI) )
来源:互联网 发布:关于英语的软件 编辑:程序博客网 时间:2024/05/18 01:48
一、背景(为什么要利用QT在terminal终端执行ROS系统中的roslaunch命令)
1)由于ROS系统下的各个launch文件的的执行都得在terminal终端执行,而且ROS系统对于非开发者的使用难度很大,故而导致ROS系统在产品化的过程中使用受阻;
2)由于在机器人系统开发的过程中,常常需要启动多个launch文件,故而想在利用QT界面中的按键命令一次性运行多个launch文件
二、源码(真正用到的是system函数这几行代码)
void MainWindow::on_pushButton_clicked(){ system("gnome-terminal -x bash -c 'source ~/catkin_ws/devel/setup.bash; roslaunch ur_gazebo ur5.launch limited:=true'&"); system("gnome-terminal -x bash -c 'source ~/catkin_ws/devel/setup.bash; roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch sim:=true'&"); system("gnome-terminal -x bash -c 'source ~/catkin_ws/devel/setup.bash; rosrun rviz rviz'&"); exit(0);}注意:system函数中务必添加 source ~/catkin_ws/devel/setup.bash;目的是确保能找到所有相关联的包(Package);否则将不能运行launch文件;
三、具体解决问题
1)利用QT界面中的按钮,一键完成UR5机器人与摄像机的手眼标定
四、结论:
利用上述方法可以较好的利用按钮同时在后台启动多个Launch文件
0 0
- 如何利用QT在terminal终端执行ROS系统中的roslaunch命令(How to launch a roslaunch in Qt with a terminal (GUI) )
- ROS下如何用QT打开终端并执行roslaunch
- [Tutorial] How to build a GUI in ROS with Qt / C++?
- How to launch terminal Window in Fedora
- roslaunch rbx1_bringup fake_pi_robot.launch 运行报错[fake_turtlebot.launch] is neither a launch file in
- ROS进二阶学习笔记(3) - programmatic way to start/stop a roslaunch
- rosrun,roslaunch: cannot launch node or is either a launch file in package
- rosrun,roslaunch: cannot launch node or is either a launch file in package
- ros源码分析(8)—roslaunch .launch文件中的tag
- ros roslaunch 命令启动 node
- 如何在intellij 的终端(terminal) 使用git命令
- how to use a foreach in Qt
- ROS学习--(十)roslaunch
- 在roslaunch中如何单独打开另一个终端
- Ubuntu typing 'php' in terminal shows a lot of errors 终端terminal 输入php 错误
- ROS教程(二十一):Roslaunch在大型项目中的使用技巧
- How to make a terminal alias for Mac OS X
- How to kill a particular user terminal on Linux
- Common.js AMD CMD 区别
- 求一个最小的一个大于N并且二进制权重与N相同的数
- JVM学习笔记(一)运行时数据区
- 二叉树和哈夫曼树
- linux上keepalived+nginx实现高可用web负载均衡
- 如何利用QT在terminal终端执行ROS系统中的roslaunch命令(How to launch a roslaunch in Qt with a terminal (GUI) )
- ElasticsearchCRUD使用(十五)【批量插入数据】
- 超级加法
- Oracle常用语句大全
- 写一个线段树的复习吧,撑撑门面感觉blog里东西好水,,,过几天写几道省选-的题。。
- 数据库第三部分
- c 递归锁(重入锁) pthread_cond_wait 死锁
- Java中的类和对象【二】
- Java思维导图(1)--Java概览及面向结构部分