Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stuck on "waiting for behaviour" #67

Open
tim-fan opened this issue Sep 2, 2020 · 7 comments
Open

Stuck on "waiting for behaviour" #67

tim-fan opened this issue Sep 2, 2020 · 7 comments

Comments

@tim-fan
Copy link

tim-fan commented Sep 2, 2020

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?

@zerolatnc
Copy link

I have the same issue.

@cjue
Copy link

cjue commented Sep 11, 2020

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.

@tim-fan
Copy link
Author

tim-fan commented Sep 12, 2020

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
Copy link
Author

tim-fan commented Sep 12, 2020

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

@dcconner
Copy link
Member

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

@adam2809
Copy link

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.

@dcconner dcconner reopened this Dec 29, 2023
@dcconner
Copy link
Member

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants