zoukankan      html  css  js  c++  java
  • 在python代码中启动launch文件,在ros节点内开启另一个节点

    1. 引用.launch文件(替换您选择的文件路径)并启动/关闭它。

    import roslaunch
    import rospy

    rospy.init_node('en_Mapping', anonymous=True)
    uuid = roslaunch.rlutil.get_or_generate_uuid(None, False)
    roslaunch.configure_logging(uuid)
    # launch = roslaunch.parent.ROSLaunchParent(uuid, ["/home/haier/catkin_ws/src/testapi/launch/test_node.launch"])
    launch = roslaunch.parent.ROSLaunchParent(uuid, ["/opt/ros/kinetic/share/rosbridge_server/launch/rosbridge_websocket.launch"])
    launch.start()
    rospy.loginfo("started")

    rospy.sleep(3)
    # 3 seconds later
    launch.shutdown()

    原文链接: http://wiki.ros.org/roslaunch/API%20Usage

    2. 在代码中直接用system启动,方便直接,相当于在命令行中启动

    前提:导入os模块

    代码: os.system('roslaunch rosbridge_server rosbridge_websocket.launch')

    如果需要导入参数,需要在冒号之外加入  %(),在括号内依次填入参数,并使用 %s 替代原参数位置

    同理可使用此方法在一个节点里面开启其他节点

  • 相关阅读:
    周记 2016.3.29
    Java ActiveMQ 讲解(一)理解JMS 和 ActiveMQ基本使用(转)
    聊聊架构01
    乐观锁和悲观所
    数据库锁(转)
    ActiveMQ消息的可靠性机制(转)
    DOM
    JavaScript
    CSS之background
    CSS之overflow
  • 原文地址:https://www.cnblogs.com/yang220/p/12517289.html
Copyright © 2011-2022 走看看