flexbe_behavior_engine
flexbe_behavior_engine copied to clipboard
flexbe_widget be_launcher fails to launch behaviours with name containing whitespace
After the latest version, Behaviours which have whitespaces in name cannot be launched through be_launcher (It only parses first word from name as the behavior)
e.g. Earlier it could launch behaviours like this
rosrun flexbe_widget be_launcher -b 'Example Behavior'
Now it trying to launch behavior named 'Example'
[WARN] [1614360027.701484]: Did not find behavior 'Example' in libary, updating...
[INFO] [1614360027.999981]: --- Behavior Engine ready! ---
Traceback (most recent call last):
File "/opt/ros/melodic/lib/flexbe_widget/be_launcher", line 58, in <module>
launcher._callback(request)
File "/opt/ros/melodic/lib/python2.7/dist-packages/flexbe_widget/behavior_launcher.py", line 45, in _callback
be_id, behavior = self._behavior_lib.find_behavior(msg.behavior_name)
File "/opt/ros/melodic/lib/python2.7/dist-packages/flexbe_core/behavior_library.py", line 104, in find_behavior
return find()
File "/opt/ros/melodic/lib/python2.7/dist-packages/flexbe_core/behavior_library.py", line 98, in <lambda>
find = lambda: next((id, be) for (id, be) in self._behavior_lib.items() if be["name"] == be_name)
StopIteration