ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
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.
2 | No.2 Revision |
(Beware: I am the developer of ros_canopen)
kacanopen
and 'ros_canopen`are 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.