Neat robo-marionette you made there!
The best solution would be a switching regulator, but this would be too complicated at this stage due to your deadline. The easiest solution is then to add a battery pack for just the LM317/Motors that has a minimum voltage of +2.5 above the desired motor voltage of 3V. You'd need a battery pack that outputs more than 5.5V when it is at the end of it's discharge cycle. So, you'd need a 6 cell NiMh pack which has a nominal voltage of 7.2V for best efficiency with a LM317. If you changed the LM317s to an LDO, such as the AP1084, then you could get away with a 5 cell NiMh pack which has a nominal voltage of 6V but will be down to apx 5V at the end of its discharge cycle.
The best solution would be a switching regulator, but this would be too complicated at this stage due to your deadline. The easiest solution is then to add a battery pack for just the LM317/Motors that has a minimum voltage of +2.5 above the desired motor voltage of 3V. You'd need a battery pack that outputs more than 5.5V when it is at the end of it's discharge cycle. So, you'd need a 6 cell NiMh pack which has a nominal voltage of 7.2V for best efficiency with a LM317. If you changed the LM317s to an LDO, such as the AP1084, then you could get away with a 5 cell NiMh pack which has a nominal voltage of 6V but will be down to apx 5V at the end of its discharge cycle.