# What are the mechanics of translational drift?

Concerning robots which rotate at high speed by spinning the drive motors in opposite directions, while still being able to simultaneously move in a direction (translate):

As far as I know this originated with competitive fighting robots, where it is known as "melty brain" or "tornado drive," according to wikipedia, and is based on alternately slowing down the motors on either side as they revolve around the centre of mass.

However, with the whole body spinning so fast how is the current "heading" of the robot established and maintained?

## 1 Answer

Okay, so most(if not all) transational drift robots or meltys use an acceleorometer to indicate the heading of the robot. What this acceleorometer does is calculates the rate of rotation based on G-forces around a given radius. The data that is accumulated from the accelerometer is then used to light up an LED once per rotation - giving and indication of the heading of the robot. The driver or user then uses this LED to decide using the remote control the direction he wants to traverse to.

As for the moving, as mundane it might sound is done by switching the motor on and off. The program or the control of the system turns a motor on when that motor is in the correct position to result in a net movement the direction the robot is indicated to go to. So for example the LED is lit between 30 and 120 degrees it can be interpreted as the direction of the robot would be around 90 degrees.(Keep in mind that the indications of the heading using the LED is not a 100% accurate, the might be off by more than some tens of degrees. Usually because of the time taken for all the data processing and the time taken to switch the LED's on and off). If you wanted to move forward now, the motors would be needed to be on between 270 and 450(360+90) degrees during each rotation after which the net direction of travel will be 90 degrees.

Likewise if the robot wants to go to the left that is 180 degrees, but its current heading is 90. The motors will need to be on between 0 and 180 degrees.

Hope that helps.