Motor driver power shortage

I built a self driving car (it is meant to be remote control, but I'm still working on that, so for now I am just programming it to run on its own) with an Arduino Uno, L293D Motor Shield, and 4 TT Gear Motors and wheels. It is powered by a 9V battery attached to the Motor Shield. It is working fine but after about a half hour of it driving around the battery loses about half a volt and the car slows down considerably. So my question is why does the car slow down after only half a volt use.
Thank you in advance.

Because the 9 volt battery does not give enough current to run much more than half hour.

Try a 6 pack of double A or a rechargeable battery.
L293 are not the most power efficient methods to drive motors

Instead of the L293D consider using a TB6612FNG H bridge driver. You are already losing about 3 volts through the L293D. The TB6612FNG should have a much lower voltage drop giving you more performance and longer battery life.

OK, I will try Double A Batteries. I can't use a TB6612FNG because I need to drive four motors.
Thank you so much.

The L293D will lose about 2.5V and get very hot. The TB6612 will lose much less voltage, get much less hot,
and its possible to use several if have several motors. You might be able to parallel motors up with the
TB6612 as it has a fairly high peak current rating of 3.2A.

Can I use D size batteries instead of 18650?

Can I use D size batteries instead of 18650?

I guess so. AA = LR6, then there's LR14 and LR20. D size = R20. These are all pretty good at providing amps for a DC motor, hobby size. The bigger, the longer they last.
When you say 9V, you probably mean the brick shaped tiny things used in smoke alarms. They don't provide much amps even when fresh. Smoke alarms use very little, but they probably need the 9 V voltage.