Our team, Autobahn, participated in the Eclipse SDV Hackathon under the "Shift to SDV" challenge.
The name Autobahn represents not only the ideal road for speed but also one of the safest highways in the world. It reflects our dual mission:
- To strive for a safer world of Software-Defined Vehicles (SDVs).
- To race ahead with innovative solutions in this hackathon.
One of the critical challenges for SDVs is ensuring safety by effectively detecting their surroundings. We focused on addressing situations where pedestrians or cyclists in blind spots could pose serious risks.
- Pedestrians hidden behind parked vehicles can be difficult for moving cars to detect.
- Our solution activates indicators, emergency lights, or even sends information to other vehicles using V2X communication to alert drivers.
- Sudden appearances of children or people in blind spots are detected.
- A red warning light is displayed on the cluster to indicate potential danger.
(Not just limited to school zones, but in any area, the system detects pedestrians entering a specific ROI and highlights their direction with a red warning to ensure safety.)
- Real-time detection of pedestrians and cyclists in blind spots with YOLO.
- Notification systems to warn nearby vehicles.
- Activates visual alerts (indicators, emergency lights).
- Sends V2X messages for vehicle-to-vehicle communication.
- Demonstrates how these functionalities can be delivered through Over-the-Air (OTA) updates.
Our solution is divided into Feature Parts and Connectivity Parts, emphasizing three key functionalities:
- Pedestrians or cyclists entering the vehicle's ROI (Region of Interest) are detected using a YOLO model.
- The system displays a red warning light on the cluster to indicate the pedestrian's direction, ensuring safety.
(This functionality is not limited to school zones but applies to all roads.)
- When the vehicle creates blind spots due to parked positions, the other vehicle mitigates potential dangers:
- Indicators or emergency lights are activated to alert nearby drivers.
- This ensures that other drivers can anticipate pedestrians in front of such vehicles and drive cautiously.
- Additionally, the system sends this information to nearby vehicles using V2X communication for proactive safety.
- The system supports Over-the-Air (OTA) updates:
- The vehicle communicates with an AWS server to check for available updates.
- If a new version is available, the vehicle owner is notified.
- Upon approval from the owner, the system performs the upgrade seamlessly, ensuring the latest features are applied.
Our project leverages cutting-edge tools and frameworks to achieve our goals:
-
- An embedded container and workload orchestrator targeted at automotive HPCs
-
eCAL:
- High-performance communication framework for inter-process messaging.
- Fast communication middleware following the pub-sub principle
- Enables fast and reliable data sharing between components.
-
- Advanced orchestration and service discovery for SDV ecosystems.
- Facilitates efficient interaction between vehicle systems and external services.
-
MQTT:
- A lightweight messaging protocol ideal for IoT and V2X communication.
- Optimized for low-latency and reliable message delivery in dynamic network environments.
-
AWS:
- A comprehensive cloud computing platform providing scalable storage and computing services.
- Ensures secure and efficient management of OTA updates for SDV systems.
The name of Decision Maker's workload is "example_app"
Our camera's recording environment is not always perfectly aligned with the ground. Therefore, we need to build a system capable of predicting the direction of objects in any environment.
In cases where the recording environment is misaligned, we create a reference line in the middle of the road using two points (a) and (b) (e.g., (a(500, 350)), (b(420, 670)) in the image above). The center of the target object is defined as point (c).
Using our angle calculation algorithm, the object's direction is computed and sent to subscribers. If line (bc) is clockwise relative to (ab), a positive value is sent; otherwise, a negative value is sent.