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

Updated ISMC to use TwistStamped instead of Twist #45

Merged
merged 1 commit into from
Sep 25, 2024

Conversation

evan-palmer
Copy link
Contributor

@evan-palmer evan-palmer commented Sep 25, 2024

Changes Made

This PR makes a few changes:

  1. I converted the ISMC system state subscriber from a geometry_msgs/Twist subscriber to a geometry_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.
  2. In the process of converting the subscriber to a TwistStamped subscriber, I ended up modifying the RealTimeBuffer to use a Twist instead of a shared_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 because Twist 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.
  3. I added a log to the ISMC, reminding users that the controller will not send commands until both a valid reference and state are received.

Associated Issues

Testing

Performed testing using the blue keyboard teleop demo.

…me buffers to copy message instead of pointer
@evan-palmer evan-palmer self-assigned this Sep 25, 2024
@evan-palmer evan-palmer merged commit 0a29970 into main Sep 25, 2024
3 checks passed
@evan-palmer evan-palmer deleted the dev-stamped-state-ismc branch September 25, 2024 06:48
@evan-palmer
Copy link
Contributor Author

@mergify backport jazzy humble iron

Copy link

mergify bot commented Sep 25, 2024

backport jazzy humble iron

✅ Backports have been created

mergify bot pushed a commit that referenced this pull request Sep 25, 2024
…me buffers to copy message instead of pointer (#45)

(cherry picked from commit 0a29970)
mergify bot pushed a commit that referenced this pull request Sep 25, 2024
…me buffers to copy message instead of pointer (#45)

(cherry picked from commit 0a29970)
mergify bot pushed a commit that referenced this pull request Sep 25, 2024
…me buffers to copy message instead of pointer (#45)

(cherry picked from commit 0a29970)
evan-palmer added a commit that referenced this pull request Sep 25, 2024
…me buffers to copy message instead of pointer (#45) (#46)

(cherry picked from commit 0a29970)

Co-authored-by: Evan Palmer <[email protected]>
evan-palmer added a commit that referenced this pull request Sep 25, 2024
…me buffers to copy message instead of pointer (#45) (#47)

(cherry picked from commit 0a29970)

Co-authored-by: Evan Palmer <[email protected]>
evan-palmer added a commit that referenced this pull request Sep 25, 2024
…me buffers to copy message instead of pointer (#45) (#48)

(cherry picked from commit 0a29970)

Co-authored-by: Evan Palmer <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FEATURE]: Notify users when ISMC commands are being received but state feedback hasn't been received
1 participant