moveit_calibration
moveit_calibration copied to clipboard
crashing when inserting values with "," instead of "." in measured marker size and measures separation
The default values are though with a ",". So this can be pretty missleading. The error message I get when i use ",":
@HandEyeArucoTarget::setTargetDimension @128] [1615452051.080090049]: Invalid target measured dimensions: marker_size 0,000000, marker_seperation 0,000000
OpenCV Error: Assertion failed (markersX > 0 && markersY > 0 && markerLength > 0 && markerSeparation > 0) in create, file /home/yy/git/opencv-install/opencv_contrib/modules/aruco/src/aruco.cpp, line 1646
Isn't this locale dependent?
Isn't this locale dependent?
The Motion Planning Plugin works with a comma and doesnt allow a point (e.g. velocity_scaling). Which would be the right behaviour i think
It would still help if you could clarify what locale you have configured. What's the output of locale
?
It would still help if you could clarify what locale you have configured. What's the output of
locale
?
$ locale
LANG=en_GB.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC=de_DE.UTF-8
LC_TIME=de_DE.UTF-8
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY=de_DE.UTF-8
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
LC_ADDRESS=de_DE.UTF-8
LC_TELEPHONE=de_DE.UTF-8
LC_MEASUREMENT=de_DE.UTF-8
LC_IDENTIFICATION=de_DE.UTF-8
LC_ALL=
This has come up once before: #43. That issue was resolved by using LC_NUMERIC=en_US.UTF-8
and, I think, a period instead of a comma as the decimal separator. I think it'd be helpful if both worked, but I also consider that very low priority. I'd happily review a PR for it, though!
There are helpers available for locale independent conversion to/from string in https://github.com/ros-planning/moveit/blob/master/moveit_core/utils/include/moveit/utils/lexical_casts.h which should be used to fix this. Do you need help with opening a PR @fmros ?