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

I am not exactly clear which device profile my device falls under. I expect CiA301 but not sure.

Every CANopen device must support CiA 301, it is the base for all CANopen communication.

How can I find out? Is this part of the .EDS file?

Object 0x1000 contains the device type. The actual value might or might not be listed in the EDS file.

Will I be able to use canopen_master for the communication with the power supply.

Should work. You can start with http://wiki.ros.org/canopen_chain_node, it will give acces to all objects of the EDS/DCF. Mostly meant for testing.

It should be subclassed to work with spefific devices, like canopen_motor_node for CiA 402 drives. As an alternative you can write your own interface, even without ROS

Therefor I was looking at either a CANgineBerry or a PICAN board. For the last one I am not sure if it supports CANOpen or SocketCAN.

SocketCAN is a kernel driver interface for CAN devices. (like eth0). CANopen is a protocol spefification. (like TCP/IP)

In addition ros_canopen has a plugin-system for using non-SocketCAN devices as well.

The website of the latter states "SocketCAN driver, appears as can0 to application" However, I was not able to find the support status of the CANgineBerry.

Does anyone have experience with either of these boards (or another) in combination with the canopen_master?

I think I have tested it with a PEAK USB dongle on Raspberry PI. If SocketCAN works, ros_canopen should work as well.