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

(Beware: I am the developer of ros_canopen)

kacanopen and 'ros_canopen`are both implementations for CANopen with ROS bindings.

ros_canopen provides a full-fledged ros_control impelementation for motors. kacanopen just provides bridging examples.

Neither the one nor the other has ROS-support for the encoder profile (406), but both can be used to read the values from the objects.

For a first test you can configure ros_canopen's canopen_chain_node to just publish your data based on a configuration file:

bus:
  device: can0 # socketcan network
sync:
  interval_ms: 10 # set to 0 to disable sync
  overflow: 0 # overflow sync counter at value or do not set it (0, default)
nodes:
  my_encoder:
    id: 1 # node id
    eds_pkg: my_config_package # optionals package  name for relative path
    eds_file: "config/Encoder.dcf" # path to EDS/DCF file
    publish: ["6004!"]

You can achieve the same with kacanopen, but you have to write the code yourself. But it has a simple, clean API, so it's not too bad.

(Beware: I am the developer of ros_canopen)

kacanopen and 'ros_canopen`are ros_canopenare both implementations for CANopen with ROS bindings.

ros_canopen provides a full-fledged ros_control impelementation for motors. kacanopen just provides bridging examples.

Neither the one nor the other has ROS-support for the encoder profile (406), but both can be used to read the values from the objects.

For a first test you can configure ros_canopen's canopen_chain_node to just publish your data based on a configuration file:

bus:
  device: can0 # socketcan network
sync:
  interval_ms: 10 # set to 0 to disable sync
  overflow: 0 # overflow sync counter at value or do not set it (0, default)
nodes:
  my_encoder:
    id: 1 # node id
    eds_pkg: my_config_package # optionals package  name for relative path
    eds_file: "config/Encoder.dcf" # path to EDS/DCF file
    publish: ["6004!"]

You can achieve the same with kacanopen, but you have to write the code yourself. But it has a simple, clean API, so it's not too bad.