Ask Your Question
0

When does ros_canopen send PDOs instead of SDOs

asked 2019-10-26 17:38:06 -0600

simons gravatar image

I am trying to get some nanotec motors running using ros_canopen in velocity mode. While initializing it often fails so I went to look into the candump. I realized, that there are a lot of values (position, velocity) send with SDOs, even tough from my understanding, this should be done by PDOs.

Can someone explain me this behavior? I also often get discarded messages when I want to write to the objects using ./canopencomm

Here is some of the candump values for the context.

(1571782999.552176) can0 080#
(1571782999.590740) can0 601#4001100000000000
(1571782999.590947) can0 581#4F01100000000000
(1571782999.603311) can0 601#4041600000000000
(1571782999.603929) can0 581#4B41600037870000
(1571782999.605318) can0 601#4061600000000000
(1571782999.605919) can0 581#4F61600002000000
(1571782999.607587) can0 601#406C600000000000
(1571782999.607917) can0 581#436C600000000000
(1571782999.608892) can0 601#4064600000000000
(1571782999.609924) can0 581#4364600011E10300
(1571782999.611751) can0 601#2B42600000000000
(1571782999.611939) can0 581#6042600000000000
(1571782999.652289) can0 080#
(1571782999.703257) can0 601#4041600000000000
(1571782999.704008) can0 581#4B41600037870000
(1571782999.705346) can0 601#4061600000000000
(1571782999.706001) can0 581#4F61600002000000
(1571782999.707049) can0 601#406C600000000000
(1571782999.708003) can0 581#436C600000000000
(1571782999.708776) can0 601#4064600000000000
(1571782999.709027) can0 581#4364600011E10300
(1571782999.710555) can0 601#2B42600000000000
(1571782999.711033) can0 581#6042600000000000
(1571782999.752173) can0 080#
(1571782999.803103) can0 601#4041600000000000
(1571782999.804003) can0 581#4B41600037870000
(1571782999.805300) can0 601#4061600000000000
(1571782999.806011) can0 581#4F61600002000000
(1571782999.807041) can0 601#406C600000000000
(1571782999.807987) can0 581#436C600000000000
(1571782999.808906) can0 601#4064600000000000
(1571782999.809981) can0 581#4364600011E10300
(1571782999.811355) can0 601#2B42600000000000
(1571782999.812005) can0 581#6042600000000000
(1571782999.852241) can0 080#
(1571782999.902928) can0 601#4041600000000000
(1571782999.903994) can0 581#4B41600037870000
(1571782999.905937) can0 601#4061600000000000
(1571782999.907022) can0 581#4F61600002000000
(1571782999.908139) can0 601#406C600000000000
(1571782999.908997) can0 581#436C600000000000
(1571782999.909659) can0 601#4064600000000000
(1571782999.909993) can0 581#4364600011E10300
(1571782999.910996) can0 601#2B42600000000000
(1571782999.912066) can0 581#6042600000000000
(1571782999.952808) can0 080#
(1571783000.003425) can0 601#4041600000000000
(1571783000.004143) can0 581#4B41600037870000
(1571783000.005096) can0 601#4061600000000000
(1571783000.006173) can0 581#4F61600002000000
(1571783000.006963) can0 601#406C600000000000
(1571783000.007166) can0 581#436C600000000000
(1571783000.007747) can0 601#4064600000000000
(1571783000.008146) can0 581#4364600011E10300
(1571783000.008972) can0 601#2B42600000000000
(1571783000.009173) can0 581#6042600000000000
(1571783000.026747) can0 708#7F
(1571783000.052263) can0 080#
(1571783000.102902) can0 601#4041600000000000
(1571783000.103153) can0 581#4B41600037870000
(1571783000.104825) can0 601#4061600000000000
(1571783000.105163) can0 581#4F61600002000000
(1571783000.106064) can0 601#406C600000000000
(1571783000.107149) can0 581#436C600000000000
(1571783000.107805) can0 601#4064600000000000
(1571783000.108145) can0 581#4364600011E10300
(1571783000.108936) can0 601#2B42600000000000
(1571783000.109170) can0 581#6042600000000000
(1571783000.152180) can0 080#
(1571783000.161058) can0 701#05
(1571783000.202854) can0 601#4041600000000000
(1571783000.203085) can0 581#4B41600037870000
(1571783000.203765) can0 601#4061600000000000
(1571783000.204021) can0 581#4F61600002000000
(1571783000.204654) can0 601#406C600000000000
(1571783000.205019) can0 581#436C600000000000
(1571783000.205558) can0 601#4064600000000000
(1571783000.206016) can0 581#4364600011E10300
(1571783000.207444) can0 601#2B42600000000000
(1571783000.208079) can0 581#6042600000000000
(1571783000.252142) can0 080#
(1571783000.303007) can0 601#4041600000000000
(1571783000.303883) can0 581#4B41600037870000
(1571783000.304593) can0 ...
(more)
edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
2

answered 2019-10-27 17:13:30 -0600

Mathias Lüdtke gravatar image

updated 2019-10-28 02:50:52 -0600

ros_canopen will use PDOs if you have configured them properly in the EDS/DCF. If not, SDOs will be used.

I recommend CANeds to modify the mapping. If you want to do it manually, the wiki lists the entries for commonly used objects.

Please note: The mapping has to be configured as ParameterValue, whereas DefaultValue must reflect the mapping at boot-up. ros_canopen will then run the correct initialization sequence as part of the init service.

CANeds shows the ParameterValue tab (not sure how it is called exactly) only, if your file has a .dcf ending.

edit flag offensive delete link more

Comments

Thank you for the fast response Mathias. Two questions:

  1. I already checked my EDS with CANeds, but there are no ParameterValues set. The mapping is done with DefaultValue (for example in 1A00sub1). Could you explain me, when and where I should use the ParameterValue, because I have never seen this name in any EDS before?
  2. I want to init our motor and the velocity motor controller. Why do the SDOs send all these data at initialization? Why does the initialization need the actual velocity value and the position actual value?
simons gravatar imagesimons ( 2019-10-27 17:35:12 -0600 )edit

I don't understand your second question. Reading the actual position and velocity is one of the main functionalities of any driver. If you really don't want to read them, just change the configuration: http://wiki.ros.org/canopen_motor_nod...

Please open a new question, as this is slightly out of topic.

Mathias Lüdtke gravatar imageMathias Lüdtke ( 2019-10-28 02:59:01 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

2 followers

Stats

Asked: 2019-10-26 17:38:06 -0600

Seen: 18 times

Last updated: Oct 28