Le pont en H est quelque chose de très utilisé, mais on peut faire différemment. Dès qu'on atteint les hautes puissances, on peut essayer la chose suivante:
1) ne mettre qu'un seul Mosfet pour gérer la puissance par PWM
2) gérer l'inversion de marche par un relais 2RT (= 2 contacts repos/travail).
Voici un schéma que j'avais réalisé pour mon premier vrai robot, BOB2.
J'ai refait un truc équivalent plus tard, mais en plus puissant.

Pour piloter ça, il faut adapter un peu le logiciel:
1) Ne pas faire un asservissement qui engendre trop d'inversions de sens de marche. L'asservissement en position d'une roue sera par exemple tolérant à une petite erreur de position. Du coup, on tolère une "zone morte" pendant laquelle l'asservissement n'est pas opérant.
2) On peut mettre un relais sous-dimensionné. Je m'explique: pas besoin d'utiliser le "pouvoir de coupure" du relais, si on annule le courant avant de changer le relais d'état. On peut faire passer un courant plus important que le "pouvoir de coupure", si on ne coupe pas (ni ne ferme) le relais pendant qu'on y fait passer ce fort courant. Donc on peut très bien réussir à faire un logiciel qui, pour inverser le sens procède ainsi:
- 1 : coupure de la puissance du PWM
- après un certain temps (50ms disons), changement de position du relais
- attendre encore un peu que le relais se stabilise (50ms suffisent amplement)
- remettre la puissance du PWM dans l'autre sens.
Si vous avez des questions, n'hésitez pas!
Leon.