.
Se supone que tus funciones de girar, están moviendo los motores y desplazando el robot durante el tiempo que hayas programado, no necesitas un delay para nada.
Lo de esquivar un objeto, lo haces a ciegas (nunca mejor dicho), a base de darte golpes con los objetos. Asi es como lo hacen los juguetes autónomos, chocan y cambian de dirección, un poco cutre.
No utilices el GOTO en programación, eso es prehistórico, utiliza instrucciones de bucle, como WHILE. Monta un programa principal en el main(), con un bucle infinito While(1), y desde allí chequea los puertos de los sensores y manda a funciones según se activen.