flexbe_app icon indicating copy to clipboard operation
flexbe_app copied to clipboard

Stuck on "waiting for behaviour"

Open tim-fan opened this issue 5 years ago • 7 comments

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. Screenshot from 2020-09-02 21-19-53

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?

tim-fan avatar Sep 02 '20 09:09 tim-fan

I have the same issue.

zerolatnc avatar Sep 11 '20 13:09 zerolatnc

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.

cjue avatar Sep 11 '20 14:09 cjue

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

tim-fan avatar Sep 12 '20 06:09 tim-fan

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

tim-fan avatar Sep 12 '20 06:09 tim-fan

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

dcconner avatar Jul 24 '23 15:07 dcconner

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" Screenshot from 2023-12-29 13-13-58

Clicking on "Save Behavior" does nothing. Even though the configuration screen suggests that there is a connection to the ROS master: Screenshot from 2023-12-29 13-13-30 it is contradicted in the "Runtime Control" screen: Screenshot from 2023-12-29 13-13-26

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.

adam2809 avatar Dec 29 '23 12:12 adam2809

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.

dcconner avatar Dec 29 '23 18:12 dcconner