ROS_CANopen RPDO timeout

asked 2019-02-14 09:14:38 -0600

vossie gravatar image

We are using ROS Kinectic (Ubuntu 16.04 x64) with the ROS_CANOPEN package to control Step-Servo drives. We can successfully control the motors but after some time we get the following error:

[WARN] [1550150041.324376]: Recent robot pose not available, are you standing still??
[ WARN] [1550150046.854642833]: RPDO timeout; RPDO timeout; RPDO timeout; RPDO timeout; RPDO timeout; RPDO timeout; RPDO timeout; RPDO timeout
[ERROR] [1550150046.994703906]: RPDO timeout; RPDO timeout; RPDO timeout; RPDO timeout; heartbeat problem
Did not receive a response message
Did not receive a response message
Did not receive a response message
Did not receive a response message
[WARN] [1550150051.380932]: Recent robot pose not available, are you standing still??
Did not receive a response message
Did not receive a response message
Did not receive a response message
Did not receive a response message
Did not receive a response message
Did not receive a response message
[ERROR] [1550150057.002052962]: heartbeat problem; heartbeat problem
Did not receive a response message
Did not receive a response message
Did not receive a response message

Hardware configuration:

  • 2 Moons' SS10-C-C drives
  • 8devices USB2CAN converter

The CAN bitrate is 1M and we are using a sync interval of 20 ms and a heartbeat. We configured the following PDO mapping:

RxPDO 1: Trans: 0x01    Mapped obj 1: 6040  
RxPDO 2: Trans: 0x01    Mapped obj 1: 6060
RxPDO 3: Trans: 0x01    Mapped obj 1: 6040  Mapped obj 2: 607A
RxPDO 4: Trans: 0x01    Mapped obj 1: 6040  Mapped obj 2: 60FF

TxPDO 1: Trans: 0x01    Mapped obj 1: 6041
TxPDO 2: Trans: 0x01    Mapped obj 1: 6041  Mapped obj 2: 6061
TxPDO 3: Trans: 0x01    Mapped obj 1: 6041  Mapped obj 2: 6064
TxPDO 4: Trans: 0x01    Mapped obj 1: 6041  Mapped obj 2: 606C  Mapped obj 3: 6078

I made a candump log at the time the error occurred:

(1550150046.734707) can0 080#
(1550150046.738268) can0 181#3704
(1550150046.738362) can0 281#370403
(1550150046.738625) can0 182#3704
(1550150046.738653) can0 282#370403
(1550150046.738777) can0 381#37046967BB01
(1550150046.739136) can0 382#37043013B401
(1550150046.739345) can0 481#3704000000000500
(1550150046.739631) can0 482#3704000000000000
(1550150046.744968) can0 501#0F0000000000
(1550150046.744995) can0 502#0F0000000000
(1550150046.754672) can0 080#
(1550150046.759425) can0 181#3704
(1550150046.759498) can0 281#370403
(1550150046.759730) can0 182#3704
(1550150046.759811) can0 282#370403
(1550150046.759945) can0 381#37046967BB01
(1550150046.760253) can0 382#37043013B401
(1550150046.760490) can0 481#3704000000000500
(1550150046.760797) can0 482#3704000000000000
(1550150046.764882) can0 501#0F0000000000
(1550150046.764953) can0 502#0F0000000000
(1550150046.774633) can0 080#
(1550150046.777578) can0 182#3704
(1550150046.777650) can0 282#370403
(1550150046.778115) can0 382#37043013B401
(1550150046.778625) can0 482#3704000000000000
(1550150046.779144) can0 77F#05
(1550150046.780349) can0 181#3704
(1550150046.780424) can0 281#370403
(1550150046.780885) can0 381#37046967BB01
(1550150046.781398) can0 481#3704000000000500      <==This is where the communication is lost
(1550150046.784829) can0 501#0F0000000000 
(1550150046.784901) can0 502#0F0000000000
(1550150046.784941) can0 701#05
(1550150046.794728) can0 080#
(1550150046.805001) can0 501#0F0000000000
(1550150046.805108) can0 502#0F0000000000
(1550150046.814640 ...
(more)
edit retag flag offensive close merge delete

Comments

According to what I can read it's a "Life guard error or heartbeat error" emcy code 0x8130. you might increase your heartbeat timing to see whether it's revelant or not.

Beside, you can have more debug information from your driver with rqt_monitor

An other tips is that you can use wireshark to capture candump and see packet timing relative time ( it help the reading of can dump for timing checking (in my opinion)) (view->time format->etc)

I have no clue for your main issue, sorry.

adrienH gravatar image adrienH  ( 2019-04-05 09:20:06 -0600 )edit