Skip to content

CAN-ESC Interface #27

Description

@varunpat789

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:

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions