Updated ISMC to use TwistStamped instead of Twist (backport #45) #47
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes Made
This PR makes a few changes:
geometry_msgs/Twist
subscriber to ageometry_msgs/TwistStamped
subscriber. While this information isn't technically used, it does make processing state messages that come from sensors/estimators, which are traditionally stamped messages, much easier.TwistStamped
subscriber, I ended up modifying theRealTimeBuffer
to use aTwist
instead of ashared_ptr
. While this technically introduces a slight overhead (the messages are copied now - not the pointers) and goes against the recommended approach proposed by the ros2_control folks, I think this improves readability of the code. The overhead isn't huge either becauseTwist
messages aren't large. This may also address some of the issues discussed in [Bugfix] Fix Segfault in ISMC #36 - not sure about that though. I updated the other controllers in the process to be consistent across controllers.Associated Issues
Testing
Performed testing using the blue keyboard teleop demo.
This is an automatic backport of pull request #45 done by [Mergify](https://mergify.com).