Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
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
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.
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.