De acuerdo, entonces la mayoría (si no todos) los robots de deriva translacionales o meltys usan un acelerómetro para indicar el rumbo del robot. Lo que hace este acelerómetro es calcular la velocidad de rotación en función de las fuerzas G alrededor de un radio dado. Los datos que se acumulan desde el acelerómetro se utilizan para encender un LED una vez por rotación, dando una indicación del rumbo del robot. El conductor o usuario luego usa este LED para decidir usando el control remoto la dirección a la que desea transitar.
En cuanto a la mudanza, por más mundano que pueda parecer, se realiza al encender y apagar el motor. El programa o el control del sistema enciende un motor cuando ese motor está en la posición correcta para dar como resultado un movimiento neto en la dirección que indica el robot. Entonces, por ejemplo, el LED se enciende entre 30 y 120 grados, puede interpretarse como que la dirección del robot sería de alrededor de 90 grados (tenga en cuenta que las indicaciones del rumbo que usa el LED no son 100% precisas, el estar apagado por más de unas decenas de grados, generalmente debido al tiempo que lleva todo el procesamiento de datos y al tiempo que lleva encender y apagar los LED). Si quisiera avanzar ahora, los motores tendrían que estar encendidos entre 270 y 450 (360 + 90) grados durante cada rotación, después de lo cual la dirección neta de desplazamiento será de 90 grados.
Del mismo modo, si el robot quiere ir a la izquierda 180 grados, pero su rumbo actual es 90. Los motores deberán estar encendidos entre 0 y 180 grados.
Espero que ayude.