Adicionei uma página de observações sobre o código, em que também forneço a função ViraRobo2 que pode ser usada em casos em que o robo bate em algum obstáculo a sua frente, porém não substitui a função ViraRobo, pois é muito mais lenta e propensa a acúmulo de erros.
Testem os valores ditos experimentais!
Qualquer dúvida, perguntem!