The script update_urdf_after_xacro_change.py fails silently if the pip package urdf_parser_py is not installed. The error catching mechanism (implemented with the process return code) in the script fails to work as the commands in the script are executed through 'ros2 run' and 'ros2 launch' commands. These commands always return a 0 return code even if the underlying script has failed.
A mechanism to catch these errors needs to be implemented or a guard condition needs to be added as a final step to ensure that the changes the failed script effects is verified after the script has finished executing.
The script update_urdf_after_xacro_change.py fails silently if the pip package urdf_parser_py is not installed. The error catching mechanism (implemented with the process return code) in the script fails to work as the commands in the script are executed through 'ros2 run' and 'ros2 launch' commands. These commands always return a 0 return code even if the underlying script has failed.
In the case of the update_urdf_after_xacro_change.py script the command 'ros2 launch stretch_calibration use_prior_head_calibration_to_update_urdf.launch.py' fails silently and returns a 0 return code irrespective of success.
A mechanism to catch these errors needs to be implemented or a guard condition needs to be added as a final step to ensure that the changes the failed script effects is verified after the script has finished executing.