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

Moreover, I’m willing to write a tutorial on ROS Wiki of this package based in my experience since there is none.

This would be highly appreciated!

In this step, I just need to change PDOmapping=0 to PDOmapping=1 of each object in the eds file?

No. Please do not touch the PDOmapping flags. They just reflect the device's support for mapping the respective object. ros_canopen uses this flag for config validation only.

The actually PDO mapping is configured in the ParameterValues of the objects 1600 to 17FF (RPDO of the device, sent by ros_canopen) and 1A00 to 1BFF (TPDO of the device, read by ros_canopen). (https://www.can-cia.org/can-knowledge/canopen/pdo-protocol/)

For each item, you have to specify the number of entries (sub0) and the mapping values (sub1 to subN), which encode the target object and its size. The canopen_402 wiki lists these values for common objects. An example can be found here.

In general I would recommend to use a tool like CANeds to configure the PDO mapping and to check the file for errors.

Special care must be taken, because ros_canopen assumes that the device uses the mapping as encoded in DefaultValue and sometimes these values are wrong. On the other hand, if you are lucky, the defaults already fit your needs and you don't have to change anything.

Moreover, I’m willing to write a tutorial on ROS Wiki of this package based in my experience since there is none.

This would be highly appreciated!

In this step, I just need to change PDOmapping=0 to PDOmapping=1 of each object in the eds file?

No. Please do not touch the PDOmapping flags. They just reflect the device's support for mapping the respective object. ros_canopen uses this flag for config validation only.

The actually PDO mapping is configured in the ParameterValues of the objects 1600 to 17FF (RPDO of the device, sent by ros_canopen) and 1A00 to 1BFF (TPDO of the device, read by ros_canopen). (https://www.can-cia.org/can-knowledge/canopen/pdo-protocol/)

For each item, you have to specify the number of entries (sub0) and the mapping values (sub1 to subN), which encode the target object and its size. The canopen_402 wiki lists these values for common objects. An example can be found here.

In general I would recommend to use a tool like CANeds to configure the PDO mapping and to check the file for errors.

Special care must be taken, because ros_canopen assumes that the device uses the mapping as encoded in DefaultValue and sometimes these values are wrong. On the other hand, if you are lucky, the defaults already fit your needs and you don't have to change anything.

What about the “Drive operation modes" in this webpage? What are those?

CANopen 402 support different modes for their control loops. The vary in input types (position, velocity), velocity profiles (ramps) and data managements (set points, cyclic).

And do I have to use them to control my motor controller?

Yes, otherwise the motor will not run.

Moreover, I’m willing to write a tutorial on ROS Wiki of this package based in my experience since there is none.

This would be highly appreciated!

In this step, I just need to change PDOmapping=0 to PDOmapping=1 of each object in the eds file?

No. Please do not touch the PDOmapping flags. They just reflect the device's support for mapping the respective object. ros_canopen uses this flag for config validation only.

The actually PDO mapping is configured in the ParameterValues of the objects 1600 to 17FF (RPDO of the device, sent by ros_canopen) and 1A00 to 1BFF (TPDO of the device, read by ros_canopen). (https://www.can-cia.org/can-knowledge/canopen/pdo-protocol/)

For each item, you have to specify the number of entries (sub0) and the mapping values (sub1 to subN), which encode the target object and its size. The canopen_402 wiki lists these values for common objects. An example can be found here.

In general I would recommend to use a tool like CANeds to configure the PDO mapping and to check the file for errors.

Special care must be taken, because ros_canopen assumes that the device uses the mapping as encoded in DefaultValue and sometimes these values are wrong. On the other hand, if you are lucky, the defaults already fit your needs and you don't have to change anything.

What about the “Drive operation modes" in this webpage? What are those?

CANopen 402 support supports different modes for their control loops. The vary in input types (position, velocity), velocity profiles (ramps) and data managements (set points, cyclic).cyclic). The supported operation modes are reflected (bit-wise) in object 6502, which is mandatory for CANopen 402 drives, if I am not mistaken.

And do I have to use them to control my motor controller?

Yes, otherwise the motor will not run.