Yaskawa-Global / motoros2

ROS 2 (rcl, rclc & micro-ROS) node for MotoPlus-compatible Yaskawa Motoman robot controllers
101 stars 21 forks source link

Invalid Node Name when MAC address ends in 00 #144

Closed acbuynak closed 1 year ago

acbuynak commented 1 year ago

Issue

My controller has a MAC ending of :6b:c8:00

When the motoros2_config.yaml node_name is set to default, the last MotoROS2 app loads the last byte (00) as a single zero with a space (0)

With a default motoros2_config.yaml, this results in...

Config: node_name = 'motoman_6b_c8_ 0'

and the subsequent rclc error code (rcl codes reference)

rclc_node_init_with_options = 201

Operational Patch

My solution was to just manually configure my node_name. This allows everything to work as expected.


State of system which produced issue

MotoROS2 v0.1.1

Hardware YRC1000 Controller Version: YAS4.73.00A Robot. 1 x GP20HL

Error on Teach Pendant:

ALARM 8011 - MotoROS2: Fatal Error [5]

Files 1 - 20230901T210604_motoros2_debug_log.txt 2 - micro_ros_terminal_output.txt 3 - PANELBOX.LOG

acbuynak commented 1 year ago

Realizing this could be related to #55?

gavanderhoorn commented 1 year ago

Thanks for reporting this @acbuynak. And thank you for the clear bug report.

I've opened #145 with what I believe would be the fix.

Realizing this could be related to #55?

The MAC of that controller does contain a zero in the third octet (client key is based on the MAC and is: 0x790A375F). That would indeed be formatted as A, just as in your case.

gavanderhoorn commented 1 year ago

Added YRC labels as well as this issue is not specific to any controller version.