Relative "move" to current position resulting in actual movement

(CB3 UR10) I’m using a relative move in the BeforeStart sequence to “move” to the current position to avoid having to drive the robot into position every startup, which in my previous applications has resulted in no actual movement. In two programs that I’ve just written, the relative moves are resulting in slight movement. I’ve verified that the installation file’s default TCP is the same as the TCP for the relative move (and it is the same for all moves in the programs) and I’ve retaught the waypoint making sure that the active TCP was the same as the installation file’s. Also, it’s not every time that I play my program that it physically moves during the relative move to current position.

Are you doing anything special in the ‘Before Start’ sequence (safe homing and returning to a previous point) or just looking to trying to bypass the Auto Jog to start waypoint?

I’ve seen this once due to a significant payload change. I had a relative move right at the beginning going nowhere. The whole tool would sort of wobble up and down at the program’s start.

The only thing I’m doing in BeforeStart aside from the relative move is using two script commands to get actual TCP and get actual joint pos, then I use that data to assign each value from those two lists to individual variables which are used in the Robot Program to determine if it can safely execute based on actual pos.

Hmm, not the case here. The program actually doesn’t ever use a tool, so there is no payload or change in payload.

No blend radius on the relative move right? Maybe post a few screenshots of that section?

when you halt right after the relative move does it still do it?

Correct, no blend radius on the move. If I add a halt after the relative move, it does the same thing…sometimes.

When I go to make the relative move and set the start and end points, I haven’t been able to achieve 0.00 mm deviation…it always ends up being 0.02 - 0.03 mm distance with 0.0 deg angle, which you shouldn’t even be able to see if it moved, but SOMETIMES it moves, and it’s rotating at Wrist 1. I’m thinking that this tiny deviation that I cant get rid of is my issue…the movement seems way more than the distance deviation, but I suppose since it’s an angular move compensating for a change in linear distance…? I’ve tried manually entering TCP positions and joint positions, but still cannot get rid of this deviation. But the fact that this isn’t happening EVERY time I run the program is what’s getting me.

The following is my experience:

  1. Start up robot (it’s in my cube, so nobody has touched it except me).
  2. Load cobot_setup.urp and play program: no movement during relative move
  3. Manually move elbow joint a little bit: no movement during relative move
  4. Load cobot joint health exam.urp and play program: no movement during relative move
  5. Manually move elbow joint a little bit: no movement during relative move
  6. Load cobot_setup.urp and play program: slight Wrist 1 rotation during relative move “clockwise”
  7. Play program again two more times: slight Wrist 1 rotation “clockwise” each time
  8. Load cobot joint health examp.urp and play program: slight Wrist 1 rotation during relative move “COUNTER clockwise”
  9. Play program again two more times: slight Wrist 1 rotation “COUNTER clockwise” each time
  10. Add halt after relative move and play program 3 times: slight Wrist 1 rotation “COUNTER clockwise” each time
  11. Load cobot_startup.urp, add halt after relative move and play 2 times: slight Wrist 1 rotation during relative move “clockwise” each time

I’m guessing this isn’t going to be a huge issue when using my programs in real applications, but I’m just hoping to understand what is happening.


could always try with a script command to make the distance 0:

movel(pose_trans(get_actual_tcp_pose(), p[0, 0, 0, 0, 0, 0]), a=0.01, v=0.01, r=0)
1 Like