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

Additional properties for flexbe states #32

Open
Squelsh opened this issue Feb 14, 2017 · 3 comments
Open

Additional properties for flexbe states #32

Squelsh opened this issue Feb 14, 2017 · 3 comments

Comments

@Squelsh
Copy link

Squelsh commented Feb 14, 2017

Hi Phillipp,
first of all: Thanks for you efforts in creating / maintaining such a helpful project!

Now for my question: I would like to add additional properties to states, so that they get parsed, when a behavior is loaded (in the GUI as well as onboard for execution).
The result should be a list of the properties of all states in the behavior.
The idea is to build a coarse "semantic" check, to decide if a behavior can be executed on robot A or if it requires skills of robot B.

Could you give me a short hint, where to start implementing such a feature? Flexbe has quite some source files and I was hoping that I do not have to analyze all your (nicely documented) code...

Thanks! Andy

@Squelsh
Copy link
Author

Squelsh commented Feb 14, 2017

As far as I analyzed your code now, I would try to add a function collect_skill_requirements() to the Behavior base class and also a get_skill_requirements() to the EventState or OperatableState (which one would you suggest?).

@pschillinger
Copy link
Member

pschillinger commented Feb 14, 2017 via email

@Squelsh
Copy link
Author

Squelsh commented Feb 15, 2017

Thanks for you reply. I will have a look into your thesis, especially as I am not yet completely familiar with what is transfered between GUI and onBoard and over which protocol (file-system vs. ROS msg).

...merely delegate collecting the properties to the root state machine...

Thats actually exactly what I already did. Works so far.
I will also follow your advice and add a new base-class to inherit the property requirements.
So I think I can handle the Python side.

But now for the GUI: I learned to hate this Java stuff from previous projects (:
I crawled your Chrome-code to understand what is going on there.
To make the property requirements editable from the GUI, I think I have to come up with a RegEx to match the property class variable of the states.
Then fiddle in an input field, similar to the states "Parameters". And then I have to understand, how you actually write the stuff back into the original code file on the disk.
==> I am sure, I will have more detailed questions soon.

fmessmer added a commit to fmessmer/flexbe_behavior_engine that referenced this issue Apr 18, 2023
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

2 participants