前提・実現したいこと
rospy.Subscriberで呼び出した関数内で,変数を関数の外で使えるようにしたです。
発生している問題・エラーメッセージ
左: Traceback (most recent call last): File "/home/kato/catkin_ws/src/extra/src/pulse.py", line 22, in <module> print "左:",L,"右:",R NameError: global name 'L' is not defined
該当のソースコード
python
1def callbackL(enl_msg): 2 #rospy.loginfo(rospy.get_caller_id()+" enL %s",enl_msg.data) 3 global L 4 L = enl_msg.data 5 6if __name__ == '__main__': 7 rospy.init_node('listener', anonymous=True) 8 rospy.Subscriber("enL", UInt32, callbackL) 9 print "左:",L,"#ここのLが定義されてないみたいですねぇ… 10 rospy.spin() 11
試したこと
変数のグローバル化
補足情報(FW/ツールのバージョンなど)
バージョンはROS-kineticです。
グローバル関数があーだこーだよりも、if name == 'main': の内で、callback関数が実行されていない?扱いなのが問題のような気がします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。