flexbe be_launcher not taking the full string as argument
Hi, I'm working on a ROS project in Melodic and I'm trying to run a flexbe behavior from the command line, so that I can write a simple bash script to start everything.
I followed the tutorial here: http://wiki.ros.org/flexbe/Tutorials/Running%20Behaviors%20Without%20Operator but ran into a weird early problem when trying to run the line: rosrun flexbe_widget be_launcher -b 'Example Behavior'
- it prints out that it Did not find behavior 'Example' in libary, updating...
, with the Behavior part missing from the String it searches for.
Of course I have my ROS project running beforehand in a first terminal, executed roslaunch flexbe_onboard behavior_onboard.launch
in a second terminal and am trying to launch the specific behavior in a third. I've checked and there is an Example Behavior available in the project, but I've also tried with other Behavior names and it just stops parsing the string at the first space.
Is this a bug or do I need to do something different?
Asked by Kecksohn on 2023-03-23 05:48:27 UTC
Answers
Using double quotes rosrun flexbe_widget be_launcher -b "Example Behavior"
is maybe a fix to that. In some shells enclosing a string with ' results in interpreting spaces as delimiters instead as literals (as wanted in your case). What shell are you using (echo $SHEL
)?
Asked by nils_iseke on 2023-03-24 05:42:17 UTC
Comments
Hi, I tried with double quotes and it still interprets it only as "Example". I'm using the standard shell /bin/bash, which one would you recommend?
Asked by Kecksohn on 2023-03-24 09:59:04 UTC
I've verified that "Example Behavior" start works with the ROS 2 version with a bash shell, and that part should not have changed. Which shell are you using?
Asked by dcconner on 2023-07-19 10:40:58 UTC
I fixed it for now by changing the spaces to underscores.
Asked by Kecksohn on 2023-03-24 10:32:03 UTC
Comments