You can try this code:
; ------ move to p1 location ---------------
accuracy_p1 = 3
distance_p1 = 6
ACCURACY accuracy_p1
LMOVE p1
TIMER 1 = 0
WHILE DISTANCE(HERE,p1) > distance_p1 DO
IF TIMER(1) > 10 THEN
ACCURACY 2
LMOVE p1
END
END
; ------ move to p2 location ---------------
accuracy_p2 = 6
distance_p2 = 12
ACCURACY accuracy_p2
LMOVE p2
TIMER 1 = 0
WHILE DISTANCE(HERE,p2) > distance_p2 DO
IF TIMER(1) > 10 THEN
ACCURACY 2
LMOVE p2
END
END
If the robot stopped between p1 and p2, it will not jump directly to p2. First, the robot will go through p1 due to the WHILE loop, after that it will go to p2.
Try this code and see if can help you. Do this WHILE condition on every point that it is critical. The distance point must be around double than the accuracy.
From P1 to P2 is 1500mm
From P2 to P3 is 1200mm
Not possible.
The accuracy between points is set by the function ACCURACY.
For example:
ACCURACY 10
LMOVE p1