在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 替代原參數位置

同理可使用此方法在一個節點里面開啟其他節點

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM