Im Prinzip kannst du alles in eine while(i < 2) Schleife packen.
Probleme:
1. Sowohl durch den Lichtsensor rechts, als auch nach dem Vorwärtsfahren wird PA1 eingeschaltet?
2. Die 3 Sek. Pause: Das must du mit Stopwatches regeln.
3. Die Blocking-Parameter: Geht nicht in einer Hauptschleife. Wenn du nicht blockierend arbeitest, kannst du mit isMovementComplete() auf das Ende der Bewegung testen.
4. Empfehlung: Nicht 2 identische if(getStopwatch1() >300) Blöcke hintereinander nehmen. Das geht dann auch in einem.