From 1fe4f403c87cbe1d134f42e4ddba6ad7038856da Mon Sep 17 00:00:00 2001 From: horverno Date: Mon, 22 Apr 2024 15:25:02 +0200 Subject: [PATCH] =?UTF-8?q?Diagram=20friss=C3=ADt=C3=A9sek?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/eszleles/README.md | 46 +++++++- docs/szabalyozas/README.md | 118 ++++++++++++++++++++- docs/tervezes/README.md | 2 +- docs/tervezes/planning_control_diagram.md | 121 ++++++++++++++++++++++ 4 files changed, 284 insertions(+), 3 deletions(-) create mode 100644 docs/tervezes/planning_control_diagram.md diff --git a/docs/eszleles/README.md b/docs/eszleles/README.md index 2a7d064..3d64661 100644 --- a/docs/eszleles/README.md +++ b/docs/eszleles/README.md @@ -31,7 +31,7 @@ Az észlelés (perception) az érzékelt nyers adatokból történő informáci ![](https://raw.githubusercontent.com/sze-info/arj/main/docs/_images/overview11.svg) Az észlelés célja lehet: -- Objektumfelismerés, pl: +- Objektumfelismerés (detekció), pl: - Gyalogos, biciklis jármű felimerés - Tábla felismerés, jelzőlámpa felismerés - Vezethető felület és fogalmi sáv felismerés (lokalizációhoz és tervezéshez is) @@ -54,6 +54,50 @@ A felhasznált szenzorok alapján lehet: {: .note } Magyar nyelven könnyű összekeverni az érzékelés (sensing) és az észlelés (perception) foglamakat. Az észlelés összetett funkció a nyers adatokból feldolgozott, értelmezett kimenet előállításával foglakozik. +```mermaid +flowchart LR + +L[Tervezés]:::light + +subgraph Perception [Észlelés] + T[Térképezés]:::light + H[Lokalizáció]:::light + P[Objektum + predikció]:::light + D[Objektum + detekció]:::light + K[Objektum + klasszifikáció]:::light + D-->K +end +subgraph Sensing [Érzékelés] + GPS[GPS/GNSS]:::light -.-> T + GPS -.-> H + LIDAR[LIDAR]:::light + KAM[Kamera]:::light + IMU[IMU]:::light + LIDAR -.-> D + LIDAR -.-> P + LIDAR -.-> T + KAM-.-> P + KAM-.-> D + IMU-.-> T + D-.->P +end + +T -->|térkép| L +H -->|pose| L +P -->|obj.| L +K -->|obj.| L + + +classDef light fill:#34aec5,stroke:#152742,stroke-width:2px,color:#152742 +classDef dark fill:#152742,stroke:#34aec5,stroke-width:2px,color:#34aec5 +classDef white fill:#ffffff,stroke:#152742,stroke-width:2px,color:#152742 +classDef red fill:#ef4638,stroke:#152742,stroke-width:2px,color:#fff + +``` + Ez a tananyagrész a TU München Autonomous Driving Software Engineering tantárgy tananyagán alapszik, amit az Institute of Automotive Technology intézet munkatársai állítottak össze. Az órai videó elérhető német nyelven: diff --git a/docs/szabalyozas/README.md b/docs/szabalyozas/README.md index 190fa97..2d79359 100644 --- a/docs/szabalyozas/README.md +++ b/docs/szabalyozas/README.md @@ -56,7 +56,123 @@ Ahogyan azt a korábbi fejezetekben is láttuk, a teljes járműirányítási l Ez a fejezet a szabályzásról szól. A szabályzások alapjairól a 3. alfejezetben olvashatunk. A szabályzó rétegnek a tervezés biztosítja a bemenetet. Így - némileg kiegészítve - vessünk egy pillantást az architektúrára! Ezt a 2. Ábra mutatja. -![image info](arj_control_02.svg) + +```mermaid +flowchart LR + +GP1[Globális tervezés + Bemenetek: + - Sofőrprofil + - Térkép + Kimenet: + - Útvonalterv + Cél: globális terv megtervezése + útvonalon, amely A-ból vezet + B-be, figyelembe véve pl. + forgalmi adatok, üzemanyag + fogyasztás… stb.]:::light + +GP2[Szeretnék eljutni + A-ból B-be + robotaxival]:::dark + +BP1[Magatartás tervezés + Bemenetek: + - Útvonalterv + -Érzékelési információ + a környezetről + Kimenet: + - Viselkedési stratégia + Cél: megtervezni, hogy + viselkedjen, + milyen mozgási + karakterisztikát + kövessen a jármű]:::light + +BP2[Követni szeretném + a középső sávot, + majd váltani a + belső sávra]:::dark + +LP1[Lokális tervezés + Bemenetek: + - Viselkedési stratégia + - Térkép + - Pose + - Prediktált objektumok + Kimenet: + - Lokális trajektória + Cél: kinematikailag + megvalósítható, + biztonságos trajektória + előállítása]:::light +LP2[A sávon belül + biztonságos és + sima pálya tervezése]:::dark + + +VC1[Járműszintű szabályzás + Magas szintű szabályozás + Bemenetek: + - Lokális trajektória + - A jármű állapotának változói + - Lokalizációs információ + Kimenetek: + - Járműszintű cél + mennyiségek + - Ellenőrzési korlátok + Cél: kiszámítani a + jármű célállapotát, amit + az alacsony szintű + szabályzás megvalósít]:::light +VC2[A járművet a + tervezett trajektórián + végigvezesse a + megfelelő sebességgel]:::dark + + +AC1[Aktuátor szabályozás + Alacsony szintű szabályozás + Bemenetek: + - Járműszintű cél + mennyiségek + - Ellenőrzési korlátok + - Aktuátor + állapotváltozói + Kimenet: + - Aktuátor célállapotai + Cél: A járműszintű + mennyiségeket lebontsa + és megvalósítsa + az aktuátorokon keresztül]:::light + AC2[Kiszámolni a +szükséges motor +nyomaték és kormányzási +szög referenciát]:::dark + + + + +subgraph Plan [Tervezés] + GP1 + BP1 + LP1 +end +subgraph Control [Szabályozás] + VC1 + AC1 +end +GP1-->BP1-->LP1-->VC1-->AC1 +GP2-.-BP2-.-LP2-.-VC2-.-AC2 + + + +classDef light fill:#34aec5,stroke:#152742,stroke-width:2px,color:#152742 +classDef dark fill:#152742,stroke:#34aec5,stroke-width:2px,color:#34aec5 +classDef white fill:#ffffff,stroke:#152742,stroke-width:2px,color:#152742 +classDef red fill:#ef4638,stroke:#152742,stroke-width:2px,color:#fff + +``` *2. Ábra: a legfőbb tervezési és szabályzási rétegek az architektúrában.* A szabályzó réteg általában több szinre bomlik. Minimum két ilyen szintet megkülönböztetünk: diff --git a/docs/tervezes/README.md b/docs/tervezes/README.md index a0e0beb..2b7ac71 100644 --- a/docs/tervezes/README.md +++ b/docs/tervezes/README.md @@ -289,7 +289,7 @@ A bemutatott algoritmusokhoz tartozó cikkek és (python_motion_planning)[https: - [Informed RRT*](https://arxiv.org/abs/1404.2334): Optimal Sampling-based Path Planning Focused via Direct Sampling of an Admissible Ellipsoidal heuristic - [ACO](http://www.cs.yale.edu/homes/lans/readings/routing/dorigo-ants-1999.pdf): Ant Colony Optimization: A New Meta-Heuristic -## Lokális tervezők +### Lokális tervezők * [DWA](https://www.ri.cmu.edu/pub_files/pub1/fox_dieter_1997_1/fox_dieter_1997_1.pdf): The Dynamic Window Approach to Collision Avoidance * [APF](https://ieeexplore.ieee.org/document/1087247):Real-time obstacle avoidance for manipulators and mobile robots diff --git a/docs/tervezes/planning_control_diagram.md b/docs/tervezes/planning_control_diagram.md new file mode 100644 index 0000000..a4639e6 --- /dev/null +++ b/docs/tervezes/planning_control_diagram.md @@ -0,0 +1,121 @@ + + +```mermaid +flowchart LR + +GP1[Global planning + Inputs: + - Driver/User selection + -Mapdata + Output: + -Routeplan + Goal: to plan a global + route which leads from A + to B, considering e.g., + trafficdata,fuel + consumption… etc.]:::light +GP2[I want to get + from address A + to address B + with a robotaxi]:::dark + +BP1[Behavior planning + Inputs: + -Route plan + -Perception info of + the surroundings + Output: + -Behavior strategy + Goal: + plan how the + vehicle should + behave in terms of + decisions and motion + characteristics +]:::light + +BP2[I want to follow the +middle lane then + change to the inner + lane smoothly]:::dark + +LP1[ + Local planning + Inputs: + -Behavior strategy + -Planning constraints + Output: + -Local trajectory + Goal: plan a + kinematicly feasible, + safe and preferred + trajectory]:::light +LP2[I plan a trajectory +within the lane to be +safe and then a +smooth trajectory to +the inner lane]:::dark + + +VC1[ Vehicle Control + High level control + Inputs: + -Local trajectory + -Vehicle state variables + -Localization info + Outputs: + -Vehicle level target + quantities + -Control constraints + Goal: calculate the + vehicle target state to + be controlled by the + low level controllers]:::light +VC2[ I calculate the + necessary speed and + yaw rate of the + vehicle to follow the + local trajectory]:::dark + + +AC1[ Actuator Control +Low level control +Inputs: +-Vehicle level target +quantities +-Control constraints +-Actuator state variables +Output: +-Actuator target states +Goal: realize vehicle +motion through +controlling the +actuators]:::light +AC2[ I calculate the +necessary engine +torque and steering +angle to realize the +planned motion’]:::dark + + +subgraph Plan [Planning] + GP1 + BP1 + LP1 +end +subgraph Control [Control] + VC1 + AC1 +end +GP1-->BP1-->LP1-->VC1-->AC1 +GP2-.-BP2-.-LP2-.-VC2-.-AC2 + + + +classDef light fill:#34aec5,stroke:#152742,stroke-width:2px,color:#152742 +classDef dark fill:#152742,stroke:#34aec5,stroke-width:2px,color:#34aec5 +classDef white fill:#ffffff,stroke:#152742,stroke-width:2px,color:#152742 +classDef red fill:#ef4638,stroke:#152742,stroke-width:2px,color:#fff + +``` +