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

As @Mathias Lüdtke wrote, the situation was that

606C is read via SDO and not PDO.

This was confirmed once i check the candump. Therefore i tried different ways to modify/update the PDO mapping, but no working PDO mapping combination was found for days beside the one that i posted originally in the question.

This was wrote by me earlier in the comment section:

I tried to map 606C two different ways: 1) if i put it in 1A00sub4 then the driver/init crashes. If i put it in TPDO1 (1A01sub1), i dont get joint velocity values in joint_states

Indeed, the 1) first option was not possible to be performed, cause that way the 8 byte limit is exceeded. (later i realized..)

The 2) second option should have worked from the begining, but unfortunately for days it did not work and i could not understand what makes the problem..

Finally, after spending lots of hours analyzing the candump, taking observations it was concluded that still something is wrong with the EDS file, namely the mapping we set is not received in ROS.

The errors were the following:

[1401sub1]
ParameterName=COB-ID used by PDO
DefaultValue=$NodeID+0x80000300   ----> THIS SHOULD HAVE BEEN: +0x300

[1402sub1]
ParameterName=COB-ID used by PDO
DefaultValue=$NodeID+0x80000400   ----> THIS SHOULD HAVE BEEN: +0x400

[1403sub1]
ParameterName=COB-ID used by PDO
DefaultValue=$NodeID+0x80000500   ----> THIS SHOULD HAVE BEEN: +0x500

[1801sub1]
ParameterName=COB-ID used by PDO
DefaultValue=$NodeID+0x80000280   ----> THIS SHOULD HAVE BEEN: +0x280

[1802sub1]
ParameterName=COB-ID used by PDO
DefaultValue=$NodeID+0x80000380   ----> THIS SHOULD HAVE BEEN: +0x380

[1803sub1]
ParameterName=COB-ID used by PDO
DefaultValue=$NodeID+0x80000480   ----> THIS SHOULD HAVE BEEN: +0x480

This was also confirmed by Mathias.

The realization of these errors were so so frustrating, since the CANopen manual provided by the manufacturer listed the right defaultValues, and we assumed from the begging (wrongly) that the EDS file is in harmony with the manual. It took us weeks to realize that the root of every question i posted here ( #q294210, #q294570, #q294869, #q295935)

was related to a wrongly written (or not checked, or idk) EDS file. Nevertheless, the lesson was learnt.

I want to thank again @Mathias Lüdtke the constant help, support, hints and answers.

Best regards, Ákos