Feature Description
We need a way to interact with our ESCs using the CAN protocol. This would involve creating an interface that would easily allow us to both send velocity/thrust commands to the ESCs and receive feedback from them.
Potential Paths
- Need to spec a USB to CAN adaptor (may need a bash script to automate any IP setup)
- Either create a node that can perform our bidirectional communication (look into socketCAN), or look into ros2_controls (not sure if bidirectional is possible)
- If going the custom node path, I think it would be better to have a timer callback that interacts on the hardware level and have services (will need a custom action msg) that replace the values the timer callback is using, as opposed to interacting with the HW whenever we receive a call to our service.
- Test node to confirm CAN comms are working (ex. turn on each thruster one at a time, then all at once)
- Not exactly needed for this issue, but I definitely recommend this video on how the CAN protocol works.
Potentially useful links:
Feature Description
We need a way to interact with our ESCs using the CAN protocol. This would involve creating an interface that would easily allow us to both send velocity/thrust commands to the ESCs and receive feedback from them.
Potential Paths
Potentially useful links: