What is the Robot precision when turn on itself ?

I’ll explain:

i would like make an exploration robot on GoPiGo platform.

The main algorithm drive the GoPiGo in a map grid and It can only rotate 90 degrees left or right. And go forwards .

With the trim of motors, GoPiGo with fwd() command, it keeps the direction fairly accurate. Only after 6,7 times on 1mt of distance it have an error of 5-6 cm from the fwd() direction.

The main problem is with right_rot() or left_rot() where randomically the GoPiGo wrong about 10 grade.

In my mind the encoder with 18 count have an error of 1/18 of Wheel circumference .

So it is about (6.5*3.14)/18= 1.33cm of linear error .
The circumference drawn by the rotation of the robot is due to the distance between the wheels that is 12cm . So in degrees the 1.33cm of error related to circle of 12cm diameter, is (360/(12*3.14))

*1.33=9.55*1.33=12.7 grades of error .

What accuracy do you have about it?

How can it be improved?

Thanks!