Home Programming

Discussion

Left ArrowBack to discussions page
Anand_GopalanAnand_Gopalan Posts: 7 Apprentice
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

Best Answer

  • matthewd92matthewd92 Founding Pro, Tactile Sensor Beta Testers Posts: 1,216 Handy
    edited February 6 Accepted Answer
    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

Comments

  • Anand_GopalanAnand_Gopalan Posts: 7 Apprentice
    Thank you so much for the quick response @matthewd92. :)

    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.
  • matthewd92matthewd92 Founding Pro, Tactile Sensor Beta Testers Posts: 1,216 Handy
    It should. You’re getting offsets from your current starting point relative to that point and then applying those offsets on a new point relative to that point. 
  • Anand_GopalanAnand_Gopalan Posts: 7 Apprentice
    @matthewd92 Thank you for your inputs. I will try them and give feedback soon! :)
  • Anand_GopalanAnand_Gopalan Posts: 7 Apprentice
    Hello @matthewd92,

    Update: Yes, I tested today and it is working. Thank you!

    Have a great day!

Sign In or Register to comment.
Left ArrowBack to discussions page