Skip to content
Snippets Groups Projects
Commit 56a700cd authored by Steven Lange's avatar Steven Lange
Browse files

ACC-Module - first ideas

parent cd10ad14
No related merge requests found
## for latex relates files
*.aux
*.bbl
*.blg
*-blx.bib
*.glg
*.glo
*.gls
*.log
*.out
*.run.xml
*.sybctex.gz
*.toc
*.xdy
*.fls
*.fdb_latexmk
doc/**/*.pdf
testenv/
File added
state(n) = {
IPD(n),
PS(n),
v_z(n),
d_z(n),
v_c(n),
d_c(n),
b(n) = { }
}
state(n+1) = {
IPD(n+1),
PS(n+1),
v_z(n+1),
d_z(n+1),
v_c(n+1),
d_c(n+1),
b(n+1) = { }
}
ustate(n+1) = {
u(IPD(n+1)),
u(PS(n+1)),
v_z(n+1),
d_z(n+1),
u(v_c(n+1)),
u(d_c(n+1)),
b(n+1) = { }
}
while(true):
# 1. update
update()
# 2. (neue) Ziele für das eigene Auto definieren)
define()
# 3. (neue) Ziele umsetzen
set()
end
update():
#updates von Sensor holen und nach ustate(n+1) schreiben
end
define():
# aktueller Abstand zum Vorgänger entspricht der IPD (aka der Kolonenabstand wir mit Toleranz gehalten)
if u(IPD(n+1) -t <= u(d_c(n+1)) <= u(IPD(n+1)) +t:
# Das Zielfahrzeug ist da, wo es erwartet wurde, und das eigene FZ hält die IPD
if d_c(n+1) -t <= u(d_c(n+1)) <= d_c(n+1) +t:
# Von der Distanz her perfekt
# d_z(n+2) - mit IPS vergleichen und pot. halten
# v_z(n+2) - mit PS vergleichen und pot. halten
# Das Zielfahrzeug ist dichter als es erwartet wurde und das eigene FZ hält die richtige IPD
elif d_c(n+1) -t > u(d_c(n+1)):
#
# Das Zielfahrzeug ist weiter entfernt als es erwartet wurde und das eigene FZ hält die richtige IPD
else:
#
# aktueller Abstand zum Vorgänger unterschreitet die IPD
elif u(IPD(n+1)) -t > u(d_c(n+1)):
# Das Zielfahrzeug ist da, wo es erwartet wurde, und das eigene FZ unterschreitet die IPD
if d_c(n+1) -t <= u(d_c(n+1)) <= d_c(n+1) +t
# IPD wurde geändert oder Fall wird bereits behandelt
# d_z(n+2) - mit IPD vergleichen
# v_z(n+2) - mit PS vergleichen
# Das Zielfahrzueg ist dichter als es erwartet wurde und das eigene FZ unterscheitet die IPD
elif d_c(n+1) -t > u(d_c(n+1)):
# Zu dicht am Vorgänger der zu dem noch langsamer wird
# d_z(n+2) - mit IPD vergleich und pot. vergrössern
# v_z(n+2) - mit v_z(n+1), v_c(n) vergleichen und pot. senken
# Das Zielfharzeug ist weiter entfernt als erwartet wurde und das eigene FZ unterschreitet die IPD
else:
# Das ZF beschleunigt und vergössert den Abstand
# d_z(n+2) erhöhen und zusammen mit aktueller Änderung anpassen
# v_z(n+2) halten (pot. mit v_c(n) und v_z(n+1) anpassen)
# aktueller Abstand zum Vorgänger überschreitet die IPD
else:
# Das Zielfahrzeug ist da, wo es erwartet wurde, und das eigene FZ überschreitet die IPD
if d_c(n+1) -t <= u(d_c(n+1)) <= d_c(n+1) +t:
# IPD wurde geändert oder der Fall wird bereits behandelt
# d_z(n+2) - mit IPD vergleichen
# v_z(n+2) - mit PS vergleichen
# Das Zielfahrzeug ist dichter als erwartet wurde und das eigene FZ überschreitet die IPD
elif d_c(n+1) -t > u(d_c(n+1)):
# Das ZFZ ist langsamer geworden
# d_z(n+2) - ist zu gross, wenn das FZ ausserhalb des IPDs fährt (Vgl. mit d_c(n), da die Entfernung kleiner geworden ist
# v_z(n+2) - mit PS vergleichen, aber erstmal beibehalten
# Das Zielfahrzeug ist weiter entfernt als erwartet wurde und das eigene FZ überschreitet die IPD
else:
# Das ZFZ ist schneller geworden
# d_z(n+2) - ist zu gross, wenn FZ ausserhalb des IPDs fährt
# v_z(n+2) - zu klein
end
end
set():
# Aus Ziel-Geschwindigkeit, Ziel-Entfernung, aktuelle Geschwindigkeit und aktueller Entfernung eine Beschleunigung finden
end
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment