Homogeneous Transformations in Motoman (DX100)
So, I was testing the different way to do translation and rotation on Motoman. I want to share the same with other who are stating with some transformation with motoman with some example points and results for your visualization. If some motoman expert can tell me the format of homogeneous matrix that motoman uses, would be great.
Method 1: If you want to keep the tool/point orientation but translate to a rotated point
MULMAT LP001 LP000 LP002
INV LP003 LP000
MULMAT LP004 LP001 LP003
MULMAT LP005 LP006 LP004
LP006: X:902.938, Y:-560.932, Z:610.624, Rx:-177.8993, Ry:-1.5232, Rz:0.9668
LP000: X:0, Y:0, Z:0, Rx:0, Ry:25, Rz:0
LP002: X:100, Y:0, Z:0, Rx:0, Ry:0, Rz:0
Result:
LP005: X:992.428, Y:-560.979, Z:655.251, Rx:-177.8993, Ry:-1.5232, Rz:0.9668
METHOD 2: If you want to shift the tool/point orientation with translation
Where LP002 is where you should place your desired angle in Rx, Ry, and Rz. Make sure X, Y, and Z remain empty/blank.
and LP003 is where you should place your desired translation in X, Y, and Z. Make sure Rx, Ry, and Rz remain empty/blank.
Example:
LP006: X:902.938, Y:-560.932, Z:610.624, Rx:-177.8993, Ry:-1.5232, Rz:0.9668
LP002: X:0, Y:0, Z:0, Rx:0, Ry:25, Rz:0
LP003: X:100, Y:0, Z:0, Rx:0, Ry:0, Rz:0
1. Rotation and then translation
MULMAT LP001 LP006 LP002
MULMAT LP005 LP001 LP003
LP006: X:902.938, Y:-560.932, Z:610.624, Rx:-177.8993, Ry:-1.5232, Rz:0.9668
LP002: X:0, Y:0, Z:0, Rx:0, Ry:25, Rz:0
LP003: X:100, Y:0, Z:0, Rx:0, Ry:0, Rz:0
Result:
LP005: X:992.428, Y:-560.979, Z:655.251, Rx:-177.6421, Ry:-26.5048, Rz:0.0298
2. Translation and then Rotation
MULMAT LP001 LP006 LP003
MULMAT LP005 LP001 LP002
LP006: X:902.938, Y:-560.932, Z:610.624, Rx:-177.8993, Ry:-1.5232, Rz:0.9668
LP002: X:0, Y:0, Z:0, Rx:0, Ry:25, Rz:0
LP003: X:100, Y:0, Z:0, Rx:0, Ry:0, Rz:0
Result:
LP005: X:1002.888, Y:-559.245, Z:613.282, Rx:-177.6421, Ry:-26.5048, Rz:0.0298
NOTE: Instead of doing this (translation and then rotation), you can put the translation and rotation values in a point say LP004 and can get the same result as above in one line like (for DX100, no idea of other controller),
MULMAT LP005 LP006 LP004
LP006: X:902.938, Y:-560.932, Z:610.624, Rx:-177.8993, Ry:-1.5232, Rz:0.9668
LP004: X:100, Y:0, Z:0, Rx:0, Ry:25, Rz:0
Result:
LP005: X:1002.888, Y:-559.245, Z:613.282, Rx:-177.6421, Ry:-26.5048, Rz:0.0298