You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I tried dynmsg to parse config files for controlling a real robot. There does not appear to be an option for it to raise an exception if a message field is missing.
I found this issue to be a dealbreaker, due to safety concerns, and so I will not be using this library.
The YAML would fail to be parsed into a geometry_msgs/msg/Pose, because it is missing a field. It would have to be via an exception, because there is no return code in the function interfaces nor in the return struct RosMessage_Cpp.
using the default value of zero for the missing position z.
I find this to be incredibly dangerous when controlling a real robot. A typo in the config file that omits a key could fail silently during parsing and then send a robot to an unexpected wrong position.
The text was updated successfully, but these errors were encountered:
@b-adkins I agree with you that is is dangerous behavior. Did you ever submit this PR? If not, I can help work on this since I've run into the same issue.
I tried
dynmsg
to parse config files for controlling a real robot. There does not appear to be an option for it to raise an exception if a message field is missing.I found this issue to be a dealbreaker, due to safety concerns, and so I will not be using this library.
Testing
On ROS 2 Humble, here is my parsing code.
Expected Behavior
The YAML would fail to be parsed into a
geometry_msgs/msg/Pose
, because it is missing a field. It would have to be via an exception, because there is no return code in the function interfaces nor in the return structRosMessage_Cpp
.Actual behavior
It gets parsed into:
using the default value of zero for the missing position z.
I find this to be incredibly dangerous when controlling a real robot. A typo in the config file that omits a key could fail silently during parsing and then send a robot to an unexpected wrong position.
The text was updated successfully, but these errors were encountered: