Contenu principal

Modéliser un système antiblocage des roues

Cet exemple montre comment modéliser un système antiblocage des roues (ABS) simple. Le modèle simule le comportement dynamique d’un véhicule en conditions de freinage brutal. Il représente une seule roue qui peut être répliquée plusieurs fois pour créer le modèle d’un véhicule à plusieurs roues.

Ce modèle utilise la fonctionnalité d’enregistrement des signaux de Simulink®. Il enregistre les signaux dans l’espace de travail MATLAB®, où vous pouvez les consulter et les analyser. Pour savoir comment le logiciel enregistre les signaux, consultez le code du fichier ModelingAnAntiLockBrakingSystemExample.m.

Dans le modèle sldemo_absbrake, la vitesse de la roue est calculée dans un modèle distinct nommé sldemo_wheelspeed_absbrake. Ce composant est ensuite référencé via un bloc Model. Comme le modèle de plus haut niveau et le modèle référencé utilisent tous deux un solveur à pas variable, Simulink répertorie les passages par zéro dans le modèle référencé.

Caractéristiques physiques du modèle

La roue tourne à une vitesse angulaire initiale correspondant à la vitesse du véhicule avant freinage. Le modèle utilise des intégrateurs distincts pour calculer la vitesse angulaire de la roue et la vitesse du véhicule. Il utilise deux vitesses pour calculer le glissement qui est déterminé par l’équation 1. Notez que la vitesse du véhicule est exprimée comme une vitesse angulaire.

$$\omega_v = \frac{V}{R} \mbox{ (equals the wheel angular speed if there is no slip)}$$

Équation 1

$$ \omega_v = \frac{V_v}{R_r}$$

$$slip=1-\frac{\omega_w}{\omega_v}$$

$$\omega_v = \mbox{ vehicle speed divided by wheel radius}$$

$$ V_v = \mbox{ vehicle linear velocity}$$

$$ R_r = \mbox{ wheel radius}$$

$$ \omega_w = \mbox{ wheel angular velocity}$$

Le glissement est nul lorsque la vitesse de la roue et celle du véhicule sont égales. Il est égal à 1 quand la roue est bloquée. La valeur de glissement souhaitable est 0.2, qui signifie que le nombre de tours de roue est 0.8 fois supérieur au nombre de tours en conditions d’absence de freinage à la même vitesse de véhicule. Cette valeur assure une adhérence maximale entre le pneu et la route ainsi qu’une distance d’arrêt minimale avec le frottement disponible.

Analyse de modèle

Le coefficient de frottement mu entre le pneu et la chaussée est une fonction empirique du glissement appelée courbe mu-glissement. Le logiciel crée plusieurs courbes mu-glissement en passant les variables MATLAB au schéma bloc à l’aide d’une lookup table Simulink. Le modèle multiplie le coefficient de frottement mu par le poids sur la roue W pour obtenir la force de frottement Ff agissant sur la circonférence du pneu. Il divise Ff par la masse du véhicule pour calculer la décélération de ce dernier, qu’il intègre pour obtenir sa vitesse.

Le modèle utilise un contrôleur de freinage antiblocage des roues idéal qui applique un contrôle bang-bang (TOR ou Tout ou Rien) basé sur l’erreur entre le glissement réel et souhaité. Le glissement souhaité est défini sur la valeur de glissement à laquelle la courbe mu-glissement atteint un pic, qui correspond à la valeur optimale pour une distance de freinage minimale.

Dans un véhicule réel, il est impossible de mesurer directement le glissement. Cet algorithme de contrôle n’est donc pas applicable en pratique. Il est utilisé dans cet exemple pour illustrer la construction conceptuelle d’un tel modèle de simulation.

Double-cliquez sur le sous-système Wheel Speed pour l’ouvrir. Il calcule la vitesse angulaire de la roue en fonction du glissement de roue, du glissement de roue souhaité et du couple de pneu donnés.

Pour contrôler le taux de variation de la pression de freinage, le modèle soustrait le glissement réel du glissement souhaité et transmet ce signal au contrôle bang-bang (+1 ou -1 selon le signe de l’erreur). Ce taux on/off passe par un décalage de premier ordre qui représente le retard associé aux conduites hydrauliques du système de freinage. Le modèle intègre ensuite le taux filtré pour donner la pression de freinage réelle. Le signal ainsi obtenu multiplié par l’aire du piston et le rayon par rapport à la roue (Kf) est le couple de freinage appliqué à la roue.

Le modèle multiplie la force de frottement sur la roue par le rayon de cette dernière (Rr) pour donner le couple d’accélération de la chaussée sur la roue. Il soustrait le couple de freinage pour donner le couple net sur la roue. Il divise le couple net par l’inertie de rotation I de la roue pour donner l’accélération de la roue, qui est ensuite intégrée pour donner la vitesse de la roue. Pour que la vitesse de la roue et celle du véhicule restent positives, le modèle utilise des intégrateurs limités.

Simulation en mode ABS

Dans l’onglet Simulation, cliquez sur Run pour exécuter la simulation. Vous pouvez également l’exécuter en saisissant la commande sim('sldemo_absbrake') dans la fenêtre de commande MATLAB. L’ABS est activé pendant cette simulation.

Le modèle enregistre les données pertinentes dans l’espace de travail MATLAB, dans une structure nommée sldemo_absbrake_output. Les signaux enregistrés ont un indicateur bleu. Dans cet exemple, yout et slp sont enregistrés.

Ces tracés présentent les résultats de simulation ABS pour les paramètres par défaut. Le premier tracé indique la vitesse angulaire de la roue et la vitesse angulaire du véhicule correspondante. Le deuxième tracé montre que la vitesse de la roue reste inférieure à celle du véhicule sans qu’un blocage se produise. La vitesse du véhicule atteint zéro en moins de 15 secondes. L’accélération de la roue, le taux de glissement de la roue et la pression de freinage sont surveillés. Le taux de glissement de la roue sert à déterminer si la roue se bloque ou non. Les cycles de freinage sont observés via la surveillance de la distance d’arrêt et de la pression de freinage.

Simulation sans ABS

Pour donner plus de sens aux résultats, examinons le comportement du véhicule sans ABS. Dans la fenêtre de commande MATLAB, définissez la variable de modèle ctrl = 0. Ce paramètre déconnecte l’asservissement du glissement du contrôleur, ce qui entraîne un freinage maximal.

Exécutez à nouveau la simulation pour modéliser le freinage sans ABS.

Freinage avec et sans ABS

Dans le tracé représentant la vitesse du véhicule et celle de la roue, remarquez que la roue se bloque au bout de sept secondes environ. À partir de ce point, le freinage est appliqué dans une partie sous-optimale de la courbe de glissement. En d’autres termes, comme le montre le tracé de glissement, quand slip = 1, le pneu dérape tellement sur la chaussée que la force de frottement chute.

Le tracé suivant indique la distance parcourue par le véhicule dans les deux cas. Sans ABS, le véhicule dérape sur environ 30 mètres de plus et prend environ trois secondes de plus pour s’arrêter.

Modélisation étendue

Le contrôleur de cet exemple est idéalisé, mais vous pouvez utiliser n’importe quel algorithme de contrôle à la place pour évaluer la performance de votre système. Pour un prototypage rapide de l’algorithme envisagé, vous pouvez également utiliser Simulink Coder™.

  • Simulink Coder génère et compile du code C pour le hardware du contrôleur afin de tester le concept dans un véhicule. Ce processus réduit considérablement le temps nécessaire pour mettre à l’épreuve de nouvelles idées en permettant de réaliser des tests réels dès le début du cycle de développement.

  • Pour la simulation Hardware-in-the-Loop d’un système de freinage, Simulink Coder vous permet de générer du code C temps réel pour supprimer le contrôleur bang-bang et exécuter les équations de mouvement sur du hardware temps réel afin d’émuler la dynamique de la roue et du véhicule. Vous pouvez ensuite tester un contrôleur ABS réel en l’interfaçant avec le hardware temps réel qui exécute le code généré. Dans ce scénario, le modèle temps réel envoie la vitesse de la roue au contrôleur et ce dernier lui envoie l’action de freinage.

Voir aussi

Rubriques