Home Programming


Left ArrowBack to discussions page
abilashabilash Posts: 1 Recruit

We have UR3e robot with SW ver 5.4


Our requirement is UR has to move(move-L/J) to the dynamic displacement given as a pose value ranging from micron to mm in XYZ and 0.01 deg to 10 deg in RXRYRZ with time t = 0.02 speed.


We tried  using move-L/J (ex:movel(p[*,*,*,*,*,*],t=0.2)) command through socket programming with the delay of 0.01sec for each move command and end up with the poor response in the final moved distance, robot RTDE values are also matching after ~500 msec for each move command finally the total expected move is always coming with error of ranging from 50 micron to 300 micron sometime this goes to mm also.


Is there any way to tune the robot with UR script to get the continuous(0.02 interval) move with a maximum speed ?



  • matthewd92matthewd92 Founding Pro, Tactile Sensor Beta Testers Posts: 1,267 Handy
    edited July 2019
    So are you sending a series of move commands to the robot?  If you want the move to take 0.2s (The t value from your example) why are you sending the following move 0.01 later?  This will stop the first move and then execute the second move, there is no buffer if you are sending the commands directly to one of the ports, the subsequent command halts the preceding command.  The best you can do is use RTDE to monitor real time position and then send the subsequent command when the first is close to finished.

    The better option is to use a servoj command and send the command every 0.002 and command the robot where to move each time slice, this will give you very smooth motion and also allow you to control exactly where the robot is going and how fast it gets there.  You have to plan the distance to move based on speed and acceleration so there is more that you have to calculate but this gives you the best control over the robot motion.
Sign In or Register to comment.
Left ArrowBack to discussions page