在开发中我们经常会遇到使用python代码启动launch文件这样的问题。一般的做法是使用subprocess调用roslaunch。但是这种方法使用起来并不方便。要涉及到自己去控制进程的状态。由于roslaunch实际上是用python实现的。使用python调用launch文件实际上有更简单的方法。

import roslaunch

uuid = roslaunch.rlutil.get_or_generate_uuid(None, False)
roslaunch.configure_logging(uuid)
tracking_launch = roslaunch.parent.ROSLaunchParent(
uuid, ["/home/xiaoqiang/Documents/ros/src/xiaoqiang_track/launch/track_body.launch"])
tracking_launch.start()

这样就成功启动了一个launch文件。把uuid后面的路径换成自己的launch文件路径就可以了。

而且我们可以通过roslaunch直接关闭launch文件启动的节点。

tracking_launch.shutdown() # tracking_launch 即是上面通过roslaunch获取到的变量

最新文章

  1. 【BZOJ3036】绿豆蛙的归宿 概率与期望
  2. 使用convert来批量处理图片
  3. [51单片机] TFT2.4彩屏1 [文字显示 画矩形]
  4. redis运用连接池报错解决
  5. malloc的实现
  6. 新手推荐:IIS+PHP+MYSQL环境配置教程
  7. Codeforces Round#201(div1) D. Lucky Common Subsequence
  8. LogBack学习
  9. PHP面向对象之解释器模式
  10. JavaScript+canvas 绘制多边形
  11. 标准IO:常用函数集合
  12. 九天学会Java,第二天,算术运算
  13. 团队作业8——第二次项目冲刺(Beta版本)5.24
  14. APICloud ajpush(极光推送) 6009
  15. react单组件 渲染页面
  16. ORA-55617解决方法
  17. Padavan老毛子固件:17CE插件集成
  18. Gradle自动实现Android组件化模块构建
  19. C# 清理消息管道的消息
  20. 【iCore1S 双核心板_FPGA】例程七:基础逻辑门实验——逻辑门使用

热门文章

  1. application实例
  2. 2018-2019-2 网络对抗技术 20165324 Exp2: 后门原理与实践
  3. 024-linux中动态库libXXX.so
  4. 教你玩转产品管理系统iClap(基础功能篇)
  5. [转]Mac Appium环境安装
  6. 【转】Redis之发布 订阅模式
  7. Java设计模式应用——桥接模式
  8. Linux基础命令---fold
  9. SpringBoot之集成Socket
  10. HTTP从入门到入土(5)——HTTP报文格式