The problem I had to overcome was to be able to control the robot when it gets into diffculties. The solution was to connect a radio control receiver to the Arduino. If I say one thing, it is connect the Ground of the receiver to the Ground of the Arduino. Otherwise you will pick up additional ghost signals.
Image developed using Fritzing