Question: Are the claims made on SMACC about BT valid for this implementation? #613
-
The SMACC Comparison makes claims about orthogonality and concurrency, but looking through this repos tutorials it seems those claims may not be valid for this repos implementation. |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments
-
Assuming my understand of orthogonality in the SM context is correct, we've been using orthogonality in Nav2's behavior trees using BT.CPP since day 1. We have many leaf clients that call independent task servers doing independent things on independent hardware (at times), which is the same thing that SMACC does and is described in their definitions document. I can't speak to concurrancy, but I see no reason a control flow node couldn't be made to do so, but I'm not sure if BT.CPP has such a BT node example -- but I don't think there's anything preventing it. That entire article is incredibly biased, inaccurate, and overtly aggressive. A poll I ran on LinkedIn (195 responses) show a distinctly different outlook. |
Beta Was this translation helpful? Give feedback.
-
I am glad you asked. I agree with Steve's comment about the article being "biased, inaccurate, and overtly aggressive". This does not mean that BT are better than SMACC (or vice-versa). I am not taking any stance on this matter, because I haven't had the time, patience or need to learn SMACC. I expressed my opinion about that article here: https://discourse.ros.org/t/introducing-the-smacc-state-machine-library/14963/9?u=facontidavide The most important point, for me, is: we should understand which features are "implementation dependent" and which are an intrinsic property of Behavior TreesThis is a critical distinction, because an implementation can always be improved, and this is precisely what that article fails to acknowledge. |
Beta Was this translation helpful? Give feedback.
-
hi @Levi-Armstrong, Thank you for bringing this up. Like Davide, I tried to start a discussion with the author of that article here with no success. |
Beta Was this translation helpful? Give feedback.
-
Everyone, thank you for the immediate response and information which confirmed my suspicion. I will leave it up to the maintainer to close since you may prefer to leave it open. |
Beta Was this translation helpful? Give feedback.
-
I think that keeping the strikethrough text there, instead of actually replacing it, can tell us a lot about the sincerity of those corrections and the will of the author to engage in a constructive conversation. |
Beta Was this translation helpful? Give feedback.
Assuming my understand of orthogonality in the SM context is correct, we've been using orthogonality in Nav2's behavior trees using BT.CPP since day 1. We have many leaf clients that call independent task servers doing independent things on independent hardware (at times), which is the same thing that SMACC does and is described in their definitions document. I can't speak to concurrancy, but I see no reason a control flow node couldn't be made to do so, but I'm not sure if BT.CPP has such a BT node example -- but I don't think there's anything preventing it.
That entire article is incredibly biased, inaccurate, and overtly aggressive.
A poll I ran on LinkedIn (195 responses) show a disti…