One important feature of MOSFET transistors is that they contain an intrinsic (unavoidable, built-in) diode between their drain and source. This diode acts as a catch diode in an H-bridge configuration, and most MOSFET datasheets specify the parameters of this diode. It is thus possible to use this built-in diode of the transistors and not provide external ones if the specification of this diode meet the design requirements. For bipolar transistors there’s no such intrinsic diode so external diodes always have to be provided.
For more explanation, check up this explanation
And here the sample h-bridge schematic diagram with MOSFET:
C Programming for Microcontrollers – Featuring ATMEL’s AVR Butterfly and the free WinAVR Compiler
Introduction
C Programming and microcontrollers are two big topics, practically continental in size, and like continents, are easy to get lost in. Combining the two is a little like traipsing from Alaska to Tierra del Fuego. Chances are you’ll get totally lost and if the natives don’t eat you, your infected blisters will make you want to sit and pout. I’ve been down this road so much that I probably have my own personal rut etched in the metaphorical soil, and I can point to all the sharp rocks I’ve stepped on, all the branches that have whacked me in the face, and the bushes from which the predators leapt. If you get the image of a raggedy bum stumbling through the jungle, you’ve got me right. Consider this book a combination roadmap, guidebook, and emergency first aid kit for your journey into this fascinating, but sometimes dangerous world.
I highly recommend that you get the book, ‘The C Programming Language – second edition’ by Kernighan and Ritchie, here after referred to as K&R. Dennis Ritchie, Figure 1, wrote C, and his book is the definitive source on all things C.

Build a robot is not difficult as you think… With no experience in electronics, you can make a robot easily in 2 hours
Ho it can be..?
Making schematics and pcb layout will be easier with this program.
Autorouting is included in this program. So you can create PCB layout automatically.
Click this link to find more about Diptrace
H-Bridge is a must used for your robot to control the motors… the speed and the direction of each motor. There are many kinds of H-Bridge. For low current DC motor, you can use IC L293D or L298N to drive your motor. For motors which need high voltage and current, see below H-Bridge tutorial…
The H-Bridge is the link between digital circuitry and mechanical action. The computer sends out binary commands, and high powered actuators do stuff. Most often H-bridges are used to control rotational direction of DC motors. And unless you buy a potentially expensive motor-driver, you need an H-bridge to control any robot with a motor.
This is a quickly sketched H-Bridge circuit with supporting circuitry.