FlexBE / flexbe_app

The classic user interface (editor + runtime control) for the FlexBE behavior engine. See the flexbe_webui for latest
BSD 3-Clause "New" or "Revised" License
48 stars 49 forks source link

State list is empty #42

Open zengxiaolei opened 5 years ago

zengxiaolei commented 5 years ago

Hello, the state filter cannot work because it can find no states. Roscd flexbe_states works.

roscd

I have also tried reinstalled FlexBE (the latest version), but problem remains the same. Available state and behavior is empty in Flex App. I don't known why. Please help. flex_app

Thanks in advance!

pschillinger commented 5 years ago

Is the workspace sourced in your bashrc? Does this also happen when your run

roscd flexbe_states
rosrun flexbe_app run_app -o  # in the same terminal

In general, the way that the FlexBE App looks for state packages is the same that is used for roscd, so I am not sure what might be the problem here. The only difference is that only ROS packages which export "flexbe_states" in their package.xml are listed.

cjue commented 5 years ago

I once had a similar "states not found" issue after I changed the catkin package name of a flexbe states package. Everything worked fine again after I changed the name back.

To my understanding this happened because the python module name of the states was different from the catkin package name of my state package and this code relies on them being the same:
https://github.com/FlexBE/flexbe_app/blob/master/src/ros/ros.js#L108

pschillinger commented 5 years ago

That's an interesting observation and could indeed be related. I will look further into this.

zengxiaolei commented 5 years ago

The workspace is sourced. This also happens when I follow your steps. flexProblem

@pschillinger

zengxiaolei commented 4 years ago

I uninstalled ubuntu16.04, installed ubuntu18.04 and ROS melodic, now flexbe state is all right.

Sinchiguano commented 4 years ago

Well, I will leave here my query and also my answer to the problem about this issue. In melody is working fine. But my goal was to run it in Kinetic. I tried my best to just run the example behavior, but it said that it is unable to find state definition for; LogState and WaitState, If you have any solution about this problem, I would be more than grateful.

////////////////////////////////////// Answer //////// Clone the following repo flexbe_app flexbe_behavior_engine generic_flexbe_states Create a demo using: rosrun flexbe_widget create_repo ur_robot

Install ros packages by: sudo apt-get install ros-kinetic-flexbe-*

And finally roslaunch flexbe_app flexbe_full.launch

With those steps I was able to use the example behavior in order to test the installation. The goal is to use FlexBe in kinetic since the following repo :

https://github.com/CNURobotics/flexible_manipulation , seems to be suitable for my application. I did try with melody, but I could not compile successfully since it is developed in ROS kinetic.

Best regards, Cesar

Screenshot from 2019-12-05 19-04-12

pschillinger commented 4 years ago

Still not sure what could be the issue for not finding states in kinetic...

Regardless of this, @Sinchiguano I would recommend you to use melodic if possible. @dcconner any idea why flexible_manipulation would not work in melodic?

pschillinger commented 4 years ago

In case it happens again to someone that no state definitions are found, can you please try the following steps:

MariusBeul commented 2 years ago

I had a similar issue where FlexBE couldn't find the states provided by the flexbe_behavior_engine/flexbe_states package. States provided by other packages (e.g. generic_flexbe_states) were found. The suggestion in https://github.com/FlexBE/flexbe_app/issues/42#issuecomment-581047186 solved the issue.

dcconner commented 1 year ago

We will be releasing a melodic version of the flexible_manipulation package in the next week or so. Apologies for missing the earlier tag.

Making note of above comment about need for catkin package and module names to be the same