pythonのrosプログラムを実行するときにroscoreの立ち上げを省略したい
pythonプログラムでrosnode実行前に以下を追加でOK
(※ tyr ..., except ...で囲むことでrosocreが起動している場合は,起動処理が無視できる)
run_roscore.py
import roslaunch
try:
uuid = roslaunch.rlutil.get_or_generate_uuid(options_runid=None, options_wait_for_master=False)
roslaunch.configure_logging(uuid)
launch = roslaunch.parent.ROSLaunchParent(uuid, roslaunch_files=[], is_core=True)
launch.start()
except:
pass
# ========= write ros node =======
import rospy
rospy.init_node("aaa")
rospy.spin()
参考