Movep ignores rotation vector if location is already satisfied

If I give a movep command to the robot that includes the XYZ location of the TCP, then the rotation part of the target pose is ignored. Reproduction is easy, here’s a script:

def unnamed():
  set_tcp(p[-0.04014,2.0E-4,0.09948,1.2092,-1.2092,-1.2092])
  set_gravity([0.0, 0.0, 9.82])
  set_target_payload(2.000000, [0.016, -0.014, 0.101], [0.004887, 0.004887, 0.004887, 0.0, 0.0, 0.0])
  Waypoint_1_p=p[-.300, -.250, .350, .0, 0.0, .0]
  Waypoint_2_p=p[-.300, -.250, .350, .0, 1.0, .0]  # <- Only differs in rotation
  movep(Waypoint_1_p, a=0.5, v=0.1)
  movep(Waypoint_2_p, a=0.5, v=0.1)
end

With this script, I would expect that the robot would rotate around the TCP, but it doesn’t move at all.

I found this forum post that I think is probably the same problem, but I see that despite the UR support person verifying the behaviour, there was no resolution.

Hi there,

In case you still face this issue,
Try to input Joint angles instead of Pose to MoveP command. it fixed the issue for me.

So from movep(pose, a=1.2, v=0.25, r=0) ==> movep(JointAngles, a=1.2, v=0.25, r=0).