DoF - a Robotiq Community
Warning sign
The Dof Community was shut down in June 2023. This is a read-only archive.
If you have questions about Robotiq products please reach our support team.
ThomasS

Hey,

I am working with a UR10 and i am using the URscript to program the robot.

One task of the robot is to tighten and loosen some screws. For this I command the waypoints of the screws to catch them and after I command a rotation around the tcp z-axis. I am using the following simple command:

movel(pose_trans(get_forward_kin(),p[0,0,0,0,0,rot_qnt]),a,v)

So far everything is working and the robot is performing the correct rotation. Now I got the problem, that I have to be sure with which velocity the rotation is performed.

The description of the movel command says, that the unit of the given velocity is m/s. Since the calculated movement is just a rotation around a point, I don't know how to transform m/s in rad/s. Does someone know how the calculation is done?

As another solution I already tried to use the movej command. But then I got the problem that I am commanding the velocity of the fastest joint. And further a rotation of 180° around the tcp z-axis may not just lead to a movement of wrist 3. The most times the robot is calculating a movement of the five other wrists. For a rotation around the z-axis I am able to solve it:

joints = get_actual_joint_position()

joints[5] = joints[5] + rot_qnt

movej(joints,a,v)

But for a rotation around the tcp x- or y-axis - which I also need - this solution is not working. And I am also not sure, if the calculated movements are keeping the tcp at the same x, y and z coordinates.

I hope someone can help me. If there is another or even better solution for this task, I would be grateful to learn from you.


Thanks a lot and greetings,

Thomas