Hi,
Perhaps an alternative set-up would be to replace the LM317 and op amp thing with a boost converter IC which has a UVLO pin, that way you can make use of all the useful and helpful information in the converter datasheet, and the many application notes which, if needed, will help to design the circuit based on 6V down to 5V supply, 12V out and xmA for the motor, H-Bridge and the microcontroller.
I don't think a motor needs current limiting, at least not the little motors I've used, they use a lot at turn on, which is a brief spike, then settle to their running current. More or less, the rest of that circuit is okay, the 7805 to power the PIC or whatever you're using would be good, besides necessary, after a boost controller to smooth the switching of the SMPS before the microcontroller.
Personally, may not be the best way of doing it..., I'd make Q3 and Q4 complementary pairs, to get almost the full supply's high and low to turn on and off the MOSFET pairs; would need to make Q1 and Q2 actually work as inverters, to get high and low, again, and swap the code in the PIC to be active low (you have it as active high in that schematic), might not be great but presumably it works. Or, instead of crummy NPN inverters, another complementary pair would mean the active high would be high at the MOSFET gates, much easier... 2 proper inverters make a buffer. ALternatively, if you could find 2 small, and probably not cheap..., SSRs, they could replace Q1 through Q4.
I guess 700A was a typo
, 700mA is too high for standard logic ICs, if not you could have used a logic gate inverter or NAND or AND instead of Q1 and Q2.
Frankly, the original circuit is odd, it looks like "all I had left in the component box was this"/"schematic idea shared on Internet (but not tested or likely to work much)"
Instead of the LM317 as a reference, the well-known TL431 is used in a lot of designs, there are many other voltage reference ICs, they are good - they don't need 3V dropout, to say the least, and provide a more reliable reference voltage than a regulator. TL431 can be used as a reference and comparator in one.
Fast turn on and off of MOSFETs is a good idea, they only "waste" energy when switching on and off, so ideally those moments should be as short as possible.
I think R8 is some kind of mistake, maybe some-one forgot to remove it from the schematic, more likely it is supposed to go from Q6's gate to ground.
IC manufacturer's will have plenty of motor control application notes, which are guaranteed to be reliable information and provide ideas for circuits.
- - - Updated - - -
...just remembered/realised, between PIC and gate driver that H-Bridge circuit needs a level shifter of some kind, as it goes from 5V to 12V, that's why I mentioned an SSR before (although maybe there are PCB mechanical relays that are suitable); a simple-to-implement device which should provide far more base current for the gate drivers than needed (assuming an hFE of at least 100 for Q3 and Q4) is, for example, the SN7407, datasheet attached.