Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

robomath.Pose_2_UR off by 1000x

#1
Connected to my ur5e and got joint positions, then ran this:


Code:
r = RDK.Item("UR5e")
p = r.Pose()
print("Tool pose: ", p)
print("UR:", robomath.Pose_2_UR(p))

Tool pose:  Pose(416.128, 445.368, 371.081,  0.130, 0.169, -0.204):
[[ 1.000, 0.004, 0.003, 416.128 ],
 [ -0.004, 1.000, -0.002, 445.368 ],
 [ -0.003, 0.002, 1.000, 371.081 ],
 [ 0.000, 0.000, 0.000, 1.000 ]]

UR: [416.1276863988549, 445.3677680489658, 371.08122984066586, 0.002271590929845354, 0.002958832693163574, -0.0035630993852032887]

But on the robot, if I run the URScript command get_forward_kin(), it comes back with 0.416, 0.445, 0.371.

That is, URScript Pose is in meters, but robomath.Pose_2_UR() is returning millimeters.  Likewise, robomath.UR_2_Pose() seems to be expecting mm instead of meters.

This is a bit disturbing.  Did you guys test Pose_2_UR and UR_2_Pose literally at all?
#2
You simply need to convert millimeters to meters as you mentioned.

Our post processors for Universal Robots already account for the units in meters. We decided to have this function in millimeters to keep consistency with all the other robomath functions and our API (in mm).
  




Users browsing this thread:
1 Guest(s)