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

More Robust CAN Communication #220

Open
Terracom12 opened this issue Sep 29, 2024 · 1 comment
Open

More Robust CAN Communication #220

Terracom12 opened this issue Sep 29, 2024 · 1 comment
Assignees

Comments

@Terracom12
Copy link
Member

Terracom12 commented Sep 29, 2024

Our current CAN bus communication system makes use of two separate ROS2 Nodes running in both the drive and arm. These two ROS2 nodes are nearly identical, just interfacing with CAN nodes on different arbitration ids. Each ROS2 node, when attempting to read a message, discards all messages prior the queue that do match the message we're looking for.

Since each of these ROS2 nodes are run on different threads, this could potentially cause timing issues with one Node discarding the other's message, or even potential race conditions between threads attempting to read from the /dev/can0 file.

...

@Terracom12 Terracom12 self-assigned this Sep 29, 2024
@void-aere
Copy link

void-aere commented Nov 13, 2024

Odrive's ROS node: https://github.com/odriverobotics/ros_odrive

I've been looking into replacing the custom CAN interface the rover currently uses with this package.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants