Our base robot may not drive in a straight line. This is because the motors may move slightly differently although they get the same power. The way we can control this is by using servo motors or adding motor position monitoring using Proportional, Derivative, Integral PDI feedback systems. See PDI Controller
We could replace our DC motors with servo motors. Although they are much more expensive, we can control the wheel rotation more precisely.
IR sensors Line following sensors
We can also add a low-cost Bluetooth remote contol system. See the [Arduino Bluetooth Wireless Serial RF Transceiver Module HC-06] (http://www.ebay.com/itm/HC-06-Slave-Bluetooth-Module-Wireless-Serial-Port-Module-Communicate-for-Arduino-/371221433944)
More battery power can also be added. Some users find that adding two additional batteries allows the robots more power.