Tudo bem, então a maioria (se não todos) de robôs de deriva transacionais ou fundidos usa um acelerômetro para indicar o rumo do robô. O que esse acelerômetro faz é calcular a taxa de rotação com base nas forças G em torno de um determinado raio. Os dados acumulados no acelerômetro são então usados para acender um LED uma vez por rotação - fornecendo e indicando a direção do robô. O motorista ou usuário, então, usa esse LED para decidir usar o controle remoto na direção que ele deseja seguir.
Quanto ao movimento, por mais mundano que possa parecer, é feito ligando e desligando o motor. O programa ou o controle do sistema liga um motor quando este está na posição correta, resultando em um movimento líquido na direção em que o robô está indicado. Portanto, por exemplo, o LED acende entre 30 e 120 graus e pode ser interpretado como a direção do robô em torno de 90 graus (lembre-se de que as indicações do cabeçalho usando o LED não são 100% precisas, o desligado em mais de algumas dezenas de graus, geralmente devido ao tempo gasto em todo o processamento de dados e ao tempo necessário para ligar e desligar os LEDs). Se você quisesse avançar agora, seria necessário que os motores estivessem entre 270 e 450 (360 + 90) graus durante cada rotação, após o qual a direção líquida da viagem será de 90 graus.
Da mesma forma, se o robô quiser ir para a esquerda a 180 graus, mas sua posição atual for 90. Os motores precisarão estar entre 0 e 180 graus.
Espero que ajude.