Stuck on "waiting for behaviour"
Hi there, I'm trying to run through the basic tutorials, but am not able to get a behaviour to run. It appears to be stuck waiting for confirmation from onboard behaviour.
Not sure if this is a bug or if I've missed something in the setup.
I'm using bionic/melodic
How I set it up:
mkdir -p catkin_ws/src
cd catkin_ws/src
git clone https://github.com/FlexBE/flexbe_app.git
cd ..
rosdep install --from-paths src/ --ignore-src
source /opt/ros/melodic/setup.bash
catkin build
source devel/setup.bash
cd src
rosrun flexbe_widget create_repo test_repo
cd ..
catkin build
source devel/setup.bash
roslaunch flexbe_app flexbe_full.launch
When the app opens I select "Load Behaviour" then "Example Behaviour". Then I select "Runtime Control" and click "Start Execution". The app shows the screen from the following screenshot, and never transitions past this state ('waiting for confirmation from onboard behaviour'). I waited up to two minutes, but still the screen did not update.

The full terminal output from roslaunch is:
... logging to /home/tim/.ros/log/d625547c-ecff-11ea-aecb-3052cb149165/roslaunch-tim-Aspire-R5-471T-32492.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://tim-Aspire-R5-471T:35225/
SUMMARY
========
PARAMETERS
* /behavior/log_enabled: False
* /behavior/log_folder: ~/.flexbe_logs
* /behavior/log_level: INFO
* /behavior/log_serialize: yaml
* /rosdistro: melodic
* /rosversion: 1.14.5
NODES
/
behavior (flexbe_onboard/start_behavior)
behavior_launcher (flexbe_widget/be_launcher)
behavior_mirror (flexbe_mirror/behavior_mirror_sm)
flexbe_app (flexbe_app/run_app)
auto-starting new master
process[master]: started with pid [32502]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to d625547c-ecff-11ea-aecb-3052cb149165
process[rosout-1]: started with pid [32514]
started core service [/rosout]
process[behavior_mirror-2]: started with pid [32518]
process[flexbe_app-3]: started with pid [32522]
process[behavior_launcher-4]: started with pid [32524]
process[behavior-5]: started with pid [32525]
[32526:32526:0902/213658.646153:ERROR:component_loader.cc(165)] Failed to parse extension manifest.
[32549:32549:0902/213659.178205:ERROR:sandbox_linux.cc(371)] InitializeSandbox() called with multiple threads in process gpu-process.
[32549:32549:0902/213700.348295:ERROR:buffer_manager.cc(488)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glBufferData: <- error from previous GL command
(node:32566) [DEP0025] DeprecationWarning: sys is deprecated. Use util instead.
[INFO] [1599039436.337382]: 1 behaviors available, ready for start request.
[INFO] [1599039437.014049]: --- Behavior Engine ready! ---
Any ideas on how to get this behaviour to execute?
I have the same issue.
Can the two of you check which version of the flexbe_onboard/widget packages you are using?
Running the behavior from the create_repo command works fine for me on 16.04 with the current develop branches.
I got those packages from apt (following instructions from http://philserver.bplaced.net/fbe/download.php)
This gives me the following versions:
$ rosversion flexbe_widget
1.2.5
$ rosversion flexbe_onboard
1.2.5
Follow up, I've confirmed if I build everything from source then the state machine runs (does not get stuck waiting for behaviour).
To be specific, I cloned flexbe_behavior_engine into my source space:
git clone https://github.com/team-vigir/flexbe_behavior_engine.git
Then rebuilt, then it all worked.
So it looks like the issue is that the released packages for melodic are not compatible with the master branch of https://github.com/FlexBE/flexbe_app.git
Closing this based on lack of recent comments. If you see issue on consistent Noetic or ros2-devel/humble branches, then please re-open or file a new issue
Unfortunately I have encoutered a similar issue while running flexbe on noetic. I have both flexbe_app and flexbe_behaviour_engine cloned into the src folder in my catkin workspace and checked out on the noetic branch. Below is the output of runnning the app:
roslaunch flexbe_app flexbe_ocs.launch
... logging to /home/adam/.ros/log/de5e716e-a642-11ee-b9af-77a6928f1b3d/roslaunch-kompirrr-22625.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://kompirrr:34933/
SUMMARY
========
PARAMETERS
* /rosdistro: noetic
* /rosversion: 1.16.0
NODES
/
behavior_launcher (flexbe_widget/be_launcher)
behavior_mirror (flexbe_mirror/behavior_mirror_sm)
flexbe_app (flexbe_app/run_app)
auto-starting new master
process[master]: started with pid [22636]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to de5e716e-a642-11ee-b9af-77a6928f1b3d
process[rosout-1]: started with pid [22649]
started core service [/rosout]
process[behavior_mirror-2]: started with pid [22652]
process[flexbe_app-3]: started with pid [22658]
process[behavior_launcher-4]: started with pid [22660]
[22662:22662:1229/130743.123127:ERROR:component_loader.cc(165)] Failed to parse extension manifest.
[22693:22693:1229/130743.147393:ERROR:viz_main_impl.cc(176)] Exiting GPU process due to errors during initialization
[22711:22725:1229/130743.301467:ERROR:command_buffer_proxy_impl.cc(124)] ContextResult::kTransientFailure: Failed to send GpuChannelMsg_CreateCommandBuffer.
(node:22711) [DEP0025] DeprecationWarning: sys is deprecated. Use util instead.
[INFO] [1703851664.009216]: 2 behaviors available, ready for start request.
When I click "Check Behavior" the terminal gets stuck on "Performing behavior checks"
Clicking on "Save Behavior" does nothing. Even though the configuration screen suggests that there is a connection to the ROS master:
it is contradicted in the "Runtime Control" screen:
Most confusingly these issues only came up after around 1 hour of using flexbe after I was able to develop my behavior partially. I would really appreciate help with the issue.
Have you tried pressing the "Connect" button on the Runtime control screen.
Also, verify that all of the ROS nodes are running: the mirror, be_launcher widget, and onboard are still running.