Wątek przeniesiony 2022-02-25 22:49 z Gamedev przez Riddle.

Samochody autonomiczne

0

Robię projekt na studia, gdzie mamy zaprojektować symulację autonomicznej jazdy samochodu. Używamy oprogramowania Simulink.
Generalnie auto ma być wyposażone w 3 funkcje

  1. CC - cruise control czyli tempomat,
  2. ACC - adaptive cruise control czyli Tempomat dostosowujący prędkość do samochodu przed nami,
  3. AEB - Automatic Emergency Braking,

W zasadzie projekt mamy gotowy i symulację. Został drobny problem, a konkretnie warunek pod jakim auto ma przełączać się między funkcjami. W tej chwili mamy to rozwiązane tak że auto domyślnie jedzie na CC, gdy samochód przed nim będzie w odległości powiedzmy <50m, przechodzi na ACC. Gdy odległość będzie krytyczna, powiedzmy 15/20m, auto włącza AEB.

Generalnie to działa przy małych prędkościach. Problem jest taki że przełączanie funkcji powinno być połączone z relatywną prędkością aut. Bo takie ustawienie dystansu na sztywno, przy którym ma zahamować, jest niewłaściwe. Inna będzie droga hamowania gdy jedziemy mając 200km/h a inna jadąc 30. Przy dwustu trzeba by włączyć AEB już przy dużej odległości, jadąc 30/h starczy wieksza odległość.

Miał ktoś do czynienia z podobnymi projektami w Simulink? Mogę podesłać screeny naszego proejktu itd.

Dzięki i pozdrawiam :)

1

A nie prościej zamiast decydować na podstawie samej odległosci użyć potężnej fizyki z podstawówki i policzyć sobie coś w stylu:

  1. Prędkość która cię interesuje to różnica prędkosci pomiędzy twoim samochodem a tym przed tobą (prędkość względna), jakieś v = v1-v2
  2. Wiesz ze odległość między twoim samochodem a tym przed tobą to jakieś s
  3. Musisz wiedzieć z jakim przyspieszeniem jesteś w stanie hamować, jakieś a
  4. s = v*t + a/2*t^2 i możesz policzyć z tego za ile czasu walniesz w gościa przed sobą jeśli względna prędkość między wami to v a ty hamujesz/przyspieszasz a

Jeśli równanie nie ma rozwiązania (albo jest ujemne), to znaczy że nigdy nie walniesz. Jeśli ma rozwiązanie to możesz decydować o swoim trybie na podstawie czasu do walnięcia. Oczywiście możesz to policzyć 2 razy -> raz dla a=0 czyli kiedy w ogóle nie hamujesz, a drugi raz przy założeniu że hamujesz.

0

To nie powinny być metry, tylko sekundy - jak w prawdziwym samochodzie.

0

Projekt zaliczony, dzięki za pomoc, przydało się :D

0

@Jakeee czyli niedługo będzie konkurencja dla Tesli? ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1