ros-industrial / ros_canopen

CANopen driver framework for ROS (http://wiki.ros.org/ros_canopen)
GNU Lesser General Public License v3.0
332 stars 270 forks source link

Colud not enable motor #408

Closed kokosabu closed 3 years ago

kokosabu commented 3 years ago

After starting up canopen_motor_node, roservice call /driver/init be executed, the message "Initializing failed: Transition timeout: Colud not enable motor" appeared and it was abnormal Exit.

Perhaps it should have sent "#602#2B,40,60,00,06,00,00,00,00", "#602#2B,40,60,00,07,00,00,00,00", "#602#2B,40,60,00,0F,00,00,00,00", but I think it's not being executed because of the configuration.

The following is the log of candump at that time.

...
  can0  TX - -  602   [8]  40 71 60 00 00 00 00 00
  can0  RX - -  582   [8]  4B 71 60 00 00 00 00 00
  can0  TX - -  080   [0] 
  can0  TX - -  000   [2]  01 02
  can0  TX - -  080   [0] 
  can0  RX - -  382   [6]  70 06 00 00 00 00
  can0  RX - -  482   [6]  70 06 00 00 00 00
  can0  TX - -  080   [0] 
  can0  TX - -  080   [0] 
  can0  TX - -  080   [0] 
...

We have confirmed that the state will be in Enable Operation when "601#2B,40,60,00,0F,00,00,00,00" is sent by cansend according to the manual of the motor.

operating environment Ubuntu : 18.04 ROS : Melodic ros_canopen : version 0.8.2 (I understand that this is a stable version of melodic) Motor Controller ZLTech's ZLAC8030

The configuration file and the entire log are attached. ( lexx_auto_launch is the name of the package. )

kokosabu commented 3 years ago

We were able to get the motor running. It didn't work well with ZLAC8030 because there were multiple identical IDs mapped to it.

183