ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
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.