-
Notifications
You must be signed in to change notification settings - Fork 624
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
Identifier name clashing #18
Comments
It makes sense. I will probably work on this the first or second week of December. Thanks for the suggestion |
No problem, we've got a bunch of use cases for this, if you ever drop by PAL I can show you in first person. |
The more I think about this, more I believe we do need it but it is also tricky to do it right. @v-lopez Can we have a meeting/telco to brainstorm about this feature? |
Sure, I just sent you an email so we can schedule it. |
I have been thinking a LOT about this, and I come to the conclusion that we need a major change in the library to address this in a way that is both future proof and elegant. I will open a different issue with a long description of the use case to star a debate. But summarizing:
|
Discussion moved to #41 |
First batch of changes
As initially commented here: https://discourse.ros.org/t/introducting-behaviortrees-cpp-who-needs-finite-state-machines-anymore/6899/7?u=v-lopez
Once you are reusing components (ideally even components you have not developed yourself), there will be some name clashing, which can be potentially dangerous (ie: mix the
targetPose
for foot placement with thetargetPose
for grasping).We have developed a FSM implementation and faced this issues, and approached them in the same way ROS1 does (remapping and namespaces).
When a FSM includes another FSM, it can remap some of its identifiers (targetPose:=walkingTargetPose), or the sub state machine can be put inside a namespace, and the one including it can perform the required remappings.
The text was updated successfully, but these errors were encountered: