Home› Programming
Discussion
Back to discussions page
Anand_Gopalan
Posts: 7 Apprentice
Shift set of waypoints (cartesian poses) to make it work from a different start pose (cartesian) |
43 views
|
Answered | |
/ Most recent by Anand_Gopalan
in Programming
|
5 comments |

in Programming
Hello all,
I am quite new with Universal Robots. I am currently using the UR 10. I am trying to figure out how to achieve the following,
I have a set of waypoints represented in cartesian poses. I would like to shift these set of waypoints to a new pose and orientation by using a new start pose which is also in Cartesian coordinates.
Currently, I tried the following steps
1. Calculate the offsets between each consecutive poses using pose_sub() function
2. Add these offsets to the new start pose using pose_add() function
But, when i run the program, the translation seems to work fine but the orientation remains same as the old set of waypoints.
I feel that pose_sub() is not the right way to do it. Could someone please guide me in this issue?
Thanks and Regards
Anand
I am quite new with Universal Robots. I am currently using the UR 10. I am trying to figure out how to achieve the following,
I have a set of waypoints represented in cartesian poses. I would like to shift these set of waypoints to a new pose and orientation by using a new start pose which is also in Cartesian coordinates.
Currently, I tried the following steps
1. Calculate the offsets between each consecutive poses using pose_sub() function
2. Add these offsets to the new start pose using pose_add() function
But, when i run the program, the translation seems to work fine but the orientation remains same as the old set of waypoints.
I feel that pose_sub() is not the right way to do it. Could someone please guide me in this issue?
Thanks and Regards
Anand
Tagged:
Best Answer
-
matthewd92 Founding Pro, Tactile Sensor Beta Testers Posts: 1,261 Handy
Pose_sub and pose_add work in base coordinates. You will want to use pose_trans when you add the deltas to your new starting position. That should fix the issue of orientation.You use pose_add when you want to translate in the coordinates of the base frame of reference. When you want to translate in the coordinate system of the tool (which is how points are stored, the tool pose as expressed in base coordinates when the point was stored. ) you would use pose_trans
So, you are telling that my approach of using the pose_sub(pose1,pose2) function to calculate the offsets (difference in position and orientation) between two TCP poses is fine.
pose_trans(new_start_pose, offset_pose) instead of pose_add() to new starting position will achieve the old trajectory with new orientation.
Update: Yes, I tested today and it is working. Thank you!
Have a great day!