The balancing algorithm
Building a balancing robot provides some interesting control channels. Fortunately, there are several good tutorials for this sort of thing, for example, at http://ozzmaker.com/success-with-a-balancing-robot-using-a-raspberry-pi/.
To understand the problem, let's look at your robot. Here is an image of the assembled robot from the side:
What you'll be doing now is using the output of the IMU to determine that angle of the robot. If the robot is leaning too far forward, you'll move the wheels quickly forward to push the robot back upward. The same is true if the robot is leaning too far backward.
To make this all work, you'll ...