Universal Robots Forum

Why did the Servoc instruction stall at the last point?

I would like to ask you that when I use TCP 30003 to realize real-time control of UR robot by port, the robot always has pause and pause.

At the beginning, I used the moveL instruction, which was controlled by time T without delay but with low instantaneity.

I changed the Servoc control again, which kept the instantaneity, but stopped abruptly when stopped, probably because the speed was suddenly set to 0.

A better solution at present.

I would like to consult the robot, how to achieve the robot control effect.

Hello @1648558354

I would recommend using the servoj() command instead of the servoc().

Take a look at the following forum thread, which gives an insight in the difference between move commands and the servoj command: What is the difference between movej and servoj - #3 by ludwig.oefele

But the parameter of servoj is the joint Angle, and I can only get the POS value, so I used servoc. Is there a good control command to use POS as the parameter

But the parameter of servoj is the joint Angle, and I can only get the POS value, so I used servoc. Is there a good control command to use POS as the parameter

You have the option to use get_inverse_kin() first. This offers you a suitable joint angle set, for the TCP Pose you want to approach.

Is the get_inverse_kin() argument pos? Is the Angle reversed based on the POS value?

The following part of the Script Manual gives you insight in the usage of this command:

You can also provide a list of joint angles, which are near the expected result values. With this you can avoid switching e.g. between Ellbow Up and Down Positions unintentionally for the same robot TCP pose.

The Script Manual can found on our Support Site: Downloads → Manual → Script → Desired SW Version