Universal Robots+

Waypoint movement in UR Script


I have a set of joint values for a desired smooth path. I was able to navigate the robot continually using waypoints in the GUI application with the option blent radius. I need to perform the same using UR script language where the robot has to trace a path (given by joint values) continuously without a break.

Can anyone suggest what functions need to be incorporated to achieve this task?

Hi Shyam,

I think the command you are after is movej(). This command moves the robot into a set of specified joint positions and allows for a blend radius to be specified to allow for smooth contrinous movement, as can be seen in the attached screenshot. You can find a little more information about this and other movement script commands in the URScript manual, available for download here

Thanks for your reply, Sam.
I have been using the movej() function for a while. Just to get more clarity on using this function, I have a set of joint positions that need to be traced continuously. For example : [0, 1.2, -1.57, 0,-1.2, 1.57],[0,1.57,-1.77,0.7,-1.57,1.57], [0,2.0,-2.0,3.14,-1.57,1.57], If I have to use these joint positions in movej() and trace a path which passes through the above mentioned waypoints continuously, how should I be using it?

You have 2 options in terms of control using movej():

  • Specify no blend, in which case the robot will move exactly to the position specified, and slow to a stop momentarily before moving on to the next position.
  • Specify a blend, in which the robot will move without stopping, but will not pass directly though the point, but rather will blend near the point in order to keep up speed.

Im afraid that with a UR there is no option to move through a point whilst maintaining a speed, there must be a blend in order to prevent severe jerk.

A movep() or movel() can be used over a movej() if straight lines between waypoints is required.

I get the point. But how to specify set of joint positions continually in the code (through socket communication - remote connection ), not inside UR Ployscope program.
How should I be sending Joint position values over socket program, such that the robot moves with a blend?

Can I get any materials on this topic?. How to proceed with this problem?

Is this something you are trying to encorporate as part of a URCap? For example executing the movement when a button is pushed? If so then you will need to make use of teh secondary client interface. More information is available about this in this post.

You can use the secondary client to send URScript outside of a regular robot program.