Empirically, the units appear to be meters and radians. Apparently the RoboDK authors didn’t check this empirically, so their robomath.Pose_2_UR() and robomath.UR_2_Pose() functions both assume it’s millimeters and radians.
Please update the URScript manual to mention this crucial piece of information.
Since page 3 describes pose as a datatype, I’d probably mention it there rather than in all the functions that take a pose:
“A pose is given as p[x,y,z,ax,ay,az], where x,y,z is the position of the TCP, and ax,ay,az
is the orientation of the TCP, given in axis-angle notation.”
I’d probably add something like “where x,y,z is the position of the TCP in meters, and ax,ay,az is the orientation of the TCP in radians”.
PLEASE CORRECT SCRIPT MANUAL!! (All caps to draw attention, not I am angry. May be little bit )
All the functions like movep, movel, etc. has Pose<> as an argument. In the script manual, those unit are mentioned as mm. It is wrong. All the Pose<> including waypoint pose uses meter for x,y,z position and rad for rx, ry, rz. Please see attached image.
It’s not actually wrong there. If you look, what you’ve highlighted is an explanation of the example command. The ACTUAL command has 0.2, 0.3, and 0.5 in as the x, y, and z parameters. 0.2 = 200mm IF the 0.2 is actually in meters. So you can conclude that the default parameters are meters. It could be clearer, no doubt about that. But it isn’t technically wrong. If the command had put 200, 300, 500, then yeah it would be absolutely wrong.