ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

It sounds like you're going in the right direction; the Linux SocketCAN API is the right place to start.

I've had good luck working with the raw SocketCAN API in the past; I haven't played with the ROS socketcan_interface package. It looks like it's probably more complicated than you need, and there are no obvious code examples of how to use it.

You don't have to use the ROS socketcan_interface package; you can compile and link directly against the linux SocketCAN API if you want to.

You should probably stay away from the CANOpen packages, unless your radar uses the CANOpen protocol.

It also sounds like you aren't getting consistent results from you CAN interface; if you've had it working on both your laptop and the raspberry Pi, that means that the kernel drivers work. You should take careful notes about the interface setup process, and make sure that you can reliably run a simple tool like candump before you try to get a custom program to work. In particular, make sure that you have good notes and a good process for setting up the CAN interface after rebooting the machine.