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

Problem with linking behaviors and states #37

Open
AlvaroFerGar opened this issue May 24, 2019 · 14 comments
Open

Problem with linking behaviors and states #37

AlvaroFerGar opened this issue May 24, 2019 · 14 comments
Labels
input required Requires further input before work can continue

Comments

@AlvaroFerGar
Copy link

Hello everyone,

Two months ago, I had a perfectly working FlexBE installation. However, I tried to launch it back a few days ago and it doesn't seem to find the behaviours and states packages.

This is how my Configuration tab looks like:
flexberror

I've removed my custom packages and tried to reinstall it only with the generic_flexbe_states but it neither works. I have followed the tutorial step by step and the packages show no error when building with catkin_make :/

Has anybody experienced anything similar?

Thanks in advance!!

@KuKuXia
Copy link

KuKuXia commented May 29, 2019

Hi AlvaroFerGar. I also experienced this problem now. I can't find the state library panel too.

@AlvaroFerGar
Copy link
Author

Hi AlvaroFerGar. I also experienced this problem now. I can't find the state library panel too.

Hi KuKuXia!

Unfortunately I haven't figured out what is the problem. I have tested different releases of flexbe_behavior_engine and flexbe_app but nothing has worked :(

@pschillinger
Copy link
Member

pschillinger commented Jun 1, 2019 via email

@AlvaroFerGar
Copy link
Author

Hi pschillinger
Thanks for your reply!

...In particular, is the ROS workspace sourced in the terminal where you run the app? Can you roscd to the state packages that are not found?

I can't check it today but I source my workspace in the .bashrc file and I think that I could roscd to the state packages without any problem. I will post another comment tomorrow if I'm not remembering well.

...Do the package.xml files of the state packages contain the export statement?

I didn't edit the original downloaded files so the export tag should be where it's needed.

@AlvaroFerGar
Copy link
Author

Hi again!
I have checked and my workspace is properly sourced, the .xml looks fine and roscd founds all my flexbe_* packages. I have tried with old releases and with the new ones but nothing appears to work.

Flexbe_app appears to find all the behavior packages int the start.

....
[INFO] [1559567857.135413]: 3 behaviors available, ready for start request.
[INFO] [1559567857.668265]: --- Behavior Engine ready! ---
[INFO] [1559567857.669219]: No onboard behavior is active.
[INFO] [1559567857.669896]: --- Behavior Mirror ready! ---

I edited the line 34 in io_packageparser.js to see if my state packages are detected with a log message and, surprisingly, yes they are!

After some research I reactivated(in window.html and events.js) the Force Discover button in the Configuration tab. When pressed, "No Behavior Packages" and "No State Packages" messages appear and i can't do anything to solve it.

Does this give anyone more information? Does someone have a clue of where my flexbe "loses" his related packages?

@AlvaroFerGar
Copy link
Author

I also have found that the discover in ui/ui_settings.js (line 129) doesn't appear to be executed. The "after" and "before" messages are displayed but not the "inside" one,

T.logInfo("After PackageParser");

IO.PackageParser.discover(ros_pkg_cache, (new_packages, added_states, added_behaviors) => {
	T.logInfo("Inside PackageParser");
	ros_pkg_cache = ros_pkg_cache.concat(new_packages);
	state_pkg_cache = state_pkg_cache.concat(added_states);
        
        ....
});
T.logInfo("Before PackageParser");

Sorry if this isn't related with my problem. I'm not a js expert :/

@AlvaroFerGar
Copy link
Author

Well, so I've reinstalled ALL my ROS distro and packages and now it seems to work well. I think we can assume that it was a weird bug in my installation :)

Thanks to everyone who tried to help!

@pschillinger
Copy link
Member

Great to hear that it works now and thank you for the above information. I will further investigate to see what was going on. Even if something is weird with the installation, a specific error message should be provided.

@pschillinger
Copy link
Member

The only way I found to achieve the reported observations was the case that one of the ROS packages (not necessarily containing states or behaviors) would have a malformed package.xml. Then, the process of parsing the packages would be stopped due to Javascript's way of handling exceptions in asynchronous background calls.

I added an exception handling for this case now and print a warning message as feedback. This means that even in the case of the error (as long as it's a different package), states and behaviors will be found regardless.

@jimmyshe
Copy link

jimmyshe commented Sep 5, 2019

I followed the tutorial step by step and I got the same error.
@pschillinger thx

@luoyuzju
Copy link

i got the same problem,you can delete the flexbe_app,and redownload it. it seems something wrong about flexbe_app.

@mecha-robo
Copy link

flexbe

@pschillinger reinstallation does not work !! Please guide

@mecha-robo
Copy link

mecha-robo commented Feb 26, 2020

Solved :
I used the flexbe_behavior_engine version 1.2.1 and flexbe_app version 2.2.1
(works fine it detects all the behaviour )

@pschillinger
Copy link
Member

So do I correctly understand that version 1.2.2 / 2.2.2 do not work, also not after re-installing, but 1.2.1 / 2.2.1 do work as expected?

@pschillinger pschillinger added the input required Requires further input before work can continue label Mar 31, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
input required Requires further input before work can continue
Projects
None yet
Development

No branches or pull requests

6 participants