How to record a stop point in force mode and create offsets from that point?

The goal is rather simple: an orbital sander application with an axial compliance device on the EOAT.

  1. Robot moves to “pounce” position above part
  2. Robot lowers EOAT (z-direction) in force mode until it makes contact with the part surface
  3. Robot records this ‘contact’ position into a variable “on_edge”
  4. Robot adds 10mm ‘up’ (+z) to the recorded “on_edge” position and calls it “start_point”
  5. Robot moves to this ‘+10z’ position called “start_point”
  6. Robot then makes a series of moves along the ‘+10z’ plane to sand the part
    I thought I had this but step 4 seems to be giving me trouble. I’m using…

on_edge:=get_actual_tcp_pose()
z_offset:=p[0,0,10,0,0,0]
start_point:=pose_add(on_edge,z_offset)

…then a Move L to start_point, but what’s going into on_edge is some wacky coordinates nowhere near reality somehow. Maybe there is an easier way to achieve my goal too rather than variables which is why I’m asking here. Thanks!

Remember that URscript uses meters as unit.
z_offset:=p[0,0,10,0,0,0] is an offset of 10 meters or 10000 mm.
it should be: p[0, 0, 0.01, 0, 0, 0] to offset by 10mm.

Let me know if this helps or if this is not the problem you are facing.