Inscription / Connexion Nouveau Sujet
Niveau autre
Partager :

Calcul distance de freinage optimale

Posté par dafis (invité) 14-05-07 à 12:36

Bonjour,

Je bloque sur un problème apparemment tout bête mais je n'arrive cependant pas à trouver une solution.

Je programme actuellement une IA pour un jeu de course et voudrais calculer la distance de freinage optimale pour aborder chaque virage.
A tout moment je connais la vitesse actuelle de la voiture, la vitesse à laquelle elle doit être dans le prochain virage (suivant un calcul par rapport à l'angle du virage), la distance avant le virage, l'accélération et la décélération utilisée pour la voiture.
Il faut donc prendre en compte que la voiture peut accélérer puis décélérer au bon moment.
Je sais que la distance parcourue à une vitesse v0 est : d = v0 * t + 0.5 * accélération * t².

  <-   d1   ->   <-   d2   ->
V0 --------- Vx ? --------- Vvirage

d = d1 + d2

Il faut donc maximiser la distance d1 mais d2 doit être suffisamment grande pour atteindre la vitesse Vvirage calculée.

Auriez-vous une idée de comment procéder ? Existe - t - il déjà une formule prenant en compte V0, Vvirage, d, l'accélération, la décélération ?

Je vous remercie par avance.

Posté par
Coll Moderateur
re : Calcul distance de freinage optimale 14-05-07 à 13:31

Bonjour,

Ta question n'est pas très claire. Je réponds en fonction de ce que je comprends.

La voiture va à la vitesse v0
Elle doit aborder le virage à la vitesse vvirage

Pour cela elle va freiner (décélérer) sur la distance d2 pendant le temps t2 ; la décélération possible est connue et vaut a (qui est une valeur négative)

Donc
vvirage = a.t2 + v0
De cette égalité tu déduis t2
La distance nécessaire pour ce ralentissement est
d2 = (1/2).a.t22 + v0.t2

Posté par dafis (invité)re : Calcul distance de freinage optimale 14-05-07 à 14:05

La formule à laquelle vous arrivez est celle que j'ai mis dans mon message ^^
Mais en effet, je n'ai pas été très clair.

Ce que je veux dire c'est que d1 correspond à une phase d'accélération possible et d2 à une phase de décélération. Etant à une distance d=d1+d2 du virage, la voiture peut donc accélérer (capacité d'accélération connue en m/s) puis décélérer (capacité de décélération connue en m/s).
Il s'agit donc bien de maximiser la distance d1 et minimiser la distance d2 afin que la voiture freine au dernier moment pour atteindre durant la distance d2 sa vitesse calculée dans le virage.

Est ce + clair ? ^^

Posté par
J-P
re : Calcul distance de freinage optimale 14-05-07 à 15:08

Si j'ai bien compris :

Soit t2 le temps de freinage et V la vitesse instantanée de la voiture juste avant freinage.
Soit |a2| la valeur absolue de la décélération pendant le freinage.

L'espace parcouru pendant le freinage est d2 = v.t2 - |a2|.t2²/2
La vitesse en fin de freinage = v - |a2|.t2

On veut que la vitesse en fin de freinage = Vvirage --> Vvirage = v - |a2|.t2
t2 = (v - vvirage)/|a2|

--> d2 = v.(v - vvirage)/|a2| - |a2|.((v - vvirage)/|a2|)²/2

Puisqu'on connait à tout instant v, vvirage et |a2|, on peut calculer d2.
Si d2 > que la distance entre la voiture et le virage, on continue à accélérer si c'est possible ou on continue à vitesse maximale si elle est atteinte.

Au moment où on calcule que d2 = la distance entre la voiture et le virage, il est temps de ralentir à fond.

Si jamais on calcule que d2 < que la distance entre la voiture et le virage, il faut prier pour qu'une trajectoire d'échappatoire ait été prévue.

Posté par dafis (invité)re : Calcul distance de freinage optimale 14-05-07 à 15:48

J'ai l'impression que votre formule ne prends pas en compte l'accélération possible avant le freinage.
Sinon si on prend :
v=0, vvirage=100 et a2=-1, on obtient d2=-5000
v=50, vvirage=100 et a2=-1, on obtient d2=-1250
Ce qui veut dire qu'avec une vitesse v nulle, il faut ralentir plus en avance qu'avec une vitesse v=50, non ?
Je pense qu'il manque quelque chose encore... à moins que je n'ai pas compris quelque chose :s

Posté par dafis (invité)re : Calcul distance de freinage optimale 14-05-07 à 15:56

Ha je crois comprendre. Cette formule est valable que si l'on recalcule la distance d2 à chaque fois que la voiture se déplace étant donné que d2 varie si v varie aussi par exemple en accélérant.
Ce que j'aurais aimer c'est de calculer à l'avance cette distance, par exemple après chaque virage du circuit pour ne faire les calculs qu'une seule fois. Il faut donc prendre en compte l'accélération et calculer d2 en fonction.

Posté par
J-P
re : Calcul distance de freinage optimale 14-05-07 à 16:35

Oui, c'est bien ce que j'avais fait.
Et ceci parce que cette approche est plus réaliste, en effet :
On ne devrait pouvoir, dans toutes les situations, décrire le trajet entre 2 virages par une période d'accélération suivie par une période de freinage.
Pour avoir un rien de réalisme, on doit introduire une vitesse de pointe maximum, on ne peut pas accélérer sans se préoccuper de la vitesse instantanée si elle devient trop grande.
  
Dans de nombreux cas, surtout si les virages sont éloignés, on devrait avoir une phase d'accélération, suivie d'une phase à vitesse max constante, suivie d'une phase de freinage. La phase à vitesse constante n'est pas prise en considération dans ta demande, est-ce voulu ou bien oublié ?

Posté par
Coll Moderateur
re : Calcul distance de freinage optimale 14-05-07 à 18:06

Bonjour J-P

dafis >
Je vois trois cas :
1) la sortie du précédent virage à vitesse v0 est telle (élevée) que la distance d (faible) entre les deux virages ne permet pas de ralentir (avec la décélération ad) suffisamment pour entrer à la vitesse vv dans le virage suivant... On est mal !

2) la distance entre les deux virages permet une phase d'accélération (accélération aa) de la vitesse v0 à la vitesse vx (qui n'est pas la vitesse maximale) suivie d'une phase de décélération jusqu'à la vitesse d'entrée dans le virage suivant vv ; je crois comprendre que c'est ta question initiale.

Accélération pendant le temps t1 sur la distance d1
(vx - v0) / aa = t1
d1 = (1/2).aa.t12 + v0.t1

Remplacer t1 dans la deuxième équation par sa valeur tirée de la première

Décélération pendant le temps t2 sur la distance d2
(vv - vx) / ad = t2
d2 = (1/2).ad.t22 + vx.t2

Remplacer t2 dans la deuxième équation par sa valeur tirée de la première
et écrire
d = d1 + d2

Solution de l'équation : vx vitesse à laquelle il faut cesser d'accélérer pour freiner.

3) la distance d est telle que la vitesse maximale vm peut être atteinte et conservée sur une certaine distance
Le temps et la distance d'accélération d'1 s'obtiennent comme précédemment (en remplaçant vx par vm)
Le temps et la distance de décélération d'2 de même (toujours en remplaçant vx par vm)
La distance à vitesse maximale est d - d'1 - d'2

JFF

Posté par dafis (invité)re : Calcul distance de freinage optimale 14-05-07 à 19:04

1) A J-P :

Oui ! Je fais ces calculs pour avoir un mouvement réaliste ^^ C'est pour cette raison que je calcule le moment où la voiture doit commencer à freiner en ayant préalablement accéléré ou pas avant

2) A Coll :

Cette formule : d1 = (1/2).aa.t12 + v0.t1 est bonne dans le cas d'une accélération mais l'on ne peut je pense pas l'utiliser pour calculer une décélération. On obtient des distances négatives. Il faut plutôt prendre je crois : d2 = -Vx² / 2a avec Vx la vitesse au moment de la décélération et a, l'accélération négative, i.e., la décélération.

Avec ces 2 formules, je devraient pouvoir trouver ma solution

Posté par
Coll Moderateur
re : Calcul distance de freinage optimale 14-05-07 à 20:17

L'accélération aa est une valeur algébrique positive (augmentation de la vitesse dans le sens du déplacement=
L'accélération ad est une valeur algébrique négative (diminution de la vitesse dans le sens du déplacement)

Posté par bbbbbb28 (invité)le meme soucis 29-05-07 à 14:55

G le meme soucis ms appliqué au tranway avec la vitesse ki dépend de la masse



Mentions légales - Retrouvez cette page sur l'île de la physique - chimie
© digiSchool 2024

Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !