The only real way to do this is to have your own path planner. You will have to plan the path each cycle and then execute a servoj to that point. The easiest way to do this is to use the pose_interpolate method and use your start point, which won’t change, and the end point, which your thread controls, and then interpolate from 0 to 1 along that path. Your step size will need to be determined based on the speed you want to run the path at. You can take the total distance you want to move, divide by speed and that gives you the step size.
So so if I want to go 100mm at 10mm/s then every second I need to go 10mm, divide this by the clock cycle of 125 or 500 (CB3 and e-series respectively) and that will give you the number of steps I need to take and how far they are. So using an e-series I would need to go 0.02 mm per step of the clock, or 0.0002% of the total distance at each clock step, keep a running summary of where you are with each command then simply tell the robot to move to the new point that comes from the interpolation. Since sevoJ takes a joint list you will need to use forward kinematics to get the joint position from the pose that is returned.
One thing to remember is is that this very simplistic example above does not have any handling of acceleration or deceleration. You would have to plan for that as well.
Let me know if this doesn’t make sense.
I have been experimenting with offsetting a feature on a UR-10E. I found that it will not change the destination if the feature is offset by a thread during a move. I am trying to use it to implement a sixth axis so it needs to apply during a move. Does anyone know a way around this? I tried putting the original move in a continuously checked if statement and recalling the move if the position changes. While it does update the destination it abruptly stops for every transition then resumes. I can't have that.