flexbe_app icon indicating copy to clipboard operation
flexbe_app copied to clipboard

Problem with linking behaviors and states

Open AlvaroFerGar opened this issue 5 years ago • 14 comments

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!!

AlvaroFerGar avatar May 24 '19 12:05 AlvaroFerGar

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

KuKuXia avatar May 29 '19 03:05 KuKuXia

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 :(

AlvaroFerGar avatar May 29 '19 13:05 AlvaroFerGar

Sorry to hear that you face problems!

In order to help you, can you provide some additional information? 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? Do the package.xml files of the state packages contain the export statement?

pschillinger avatar Jun 01 '19 11:06 pschillinger

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 avatar Jun 02 '19 15:06 AlvaroFerGar

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 avatar Jun 03 '19 14:06 AlvaroFerGar

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 avatar Jun 03 '19 15:06 AlvaroFerGar

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!

AlvaroFerGar avatar Jun 10 '19 14:06 AlvaroFerGar

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 avatar Jun 12 '19 18:06 pschillinger

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.

pschillinger avatar Jun 14 '19 09:06 pschillinger

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

jimmyshe avatar Sep 05 '19 03:09 jimmyshe

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

luoyuzju avatar Sep 19 '19 02:09 luoyuzju

flexbe

@pschillinger reinstallation does not work !! Please guide

mecha-robo avatar Feb 20 '20 15:02 mecha-robo

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 )

mecha-robo avatar Feb 26 '20 13:02 mecha-robo

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 avatar Mar 01 '20 15:03 pschillinger