Do you want to be the next maestro of the next generation of vehicle software? The time is now!
Imagine yourself as the maestro. You are not just writing code. You are composing a masterpiece that will drive the future of transportation. Your work will ensure that every component, from the engine control unit to the infotainment system, works in perfect harmony. So, step up to the podium, take a deep breath, and let your creativity flow. The stage is set for you to become the maestro of in-vehicle software 🚗💻🎶.
Come hack with us!
Photo by Manuel Nägeli.
We supply both a global orchestrator using Eclipse Symphony and an in-vehicle stack with in-vehicle software orchestrators. Your assignment is to utilize our global orchestrator and the in-vehicle stack to construct your own scenario or replicate the scenarios provided in our Sample Scenarios.
The tech stack in this challenge showcases complex in-vehicle services and workloads, utilizing the vehicle’s computing resources and capabilities, as well as other in-vehicle applications. Furthermore, it demonstrates how a fleet of vehicles can be managed with consistent, end-to-end workflows.
Enjoy the process of bringing your vision to life!
-
Kubernetes
Eclipse Symphony runs on Kubernetes. To host your own Symphony instance, you'll need a Kubernetes cluster such as Azure AKS, k3s or minikube.
-
Development machine
Any recent laptop running Windows 11, Linux, or MacOS should work. WSL 2 on Windows also works. Recommended software stack:
-
Agent deployment target
Any devices with a TCP/IP stack, or is attached to the development machine is a potential agent deployment target. Symphony offers agents for x86, amd64, arm7 and arm64 CPUs.
Here is a list of potential scenarios your team could develop. Feel free to invent your own scenarios too. Let your creativity shine ☀️ and have fun!
The fleet management system allows each truck to report its cargo state at designated site offices, where it can receive new shipment tasks based on logistical needs. This system also downloads an optimized route plan to the truck, which is customized according to cargo requirements, regulatory restrictions, and driver schedules. For example, a cold chain truck might have its internal temperature adjusted automatically based on the new shipment’s needs, while the route plan ensures timely deliveries by factoring in real-time traffic, weather, and road conditions. This dynamic configuration and route planning maximize fleet efficiency, allowing for safe, compliant, and cost-effective transport of sensitive or high-priority cargo.
When a park pulls off at a site, an automated workflow is triggered to:
- Register the truck with the site.
- Cargo State Reporting: Trucks with IoT sensors and telematics can automatically report cargo conditions (temperature, humidity, weight, etc.) when they stop at the designated site. This helps in tracking cargo quality and condition, ensuring compliance with regulatory requirements, and preventing spoilage or damage.
- Dynamic Task Assignment: Upon reporting, the truck may receive new shipment tasks based on logistics demands or updated customer requirements. This enhances fleet utilization and helps maintain timely deliveries.
- Configuration Updates: For specialized trucks (e.g., refrigerated or hazardous material trucks), dynamic adjustments to their configuration, such as setting new temperature ranges or other parameters, can be necessary to align with new cargo requirements. This capability supports effective cold chain management, adapting to different cargo needs without requiring the driver to make manual adjustments.
The simulated field office provides a fleet orchestrator based on Eclipse Symphony as well as a web portal. It also creates a MQTT broker through which your simulated trucks use to connect to the field office.
The simulated truck is a Docker container that you can extend in several ways:
- Add custom logic to apply new configurations and software updates to your in-vehicle software stack. For example, you can implement custom logic to interact with an in-vehicle orchestrator, such as Eclipse Ankaios and Eclipse BlueChi, to apply these updates.
- Add custom logic to handle stages in the automated docking workflow. This could be as simple as printing a message to the console or connecting to actual sensors and devices to read or set settings.
Please refer to this document for instructions on running this scenario.
You can also refers to our YouTube paylist for video tutorials.
-
Leverage OpenAI to enhance the vehicle’s user experience. You could develop an application that uses OpenAI’s GPT model to power an in-vehicle virtual assistant.
-
Consider using OpenAI to enhance our software orchestrators, effectively creating intelligent orchestrators! OpenAI could optimize workload placements across compute nodes and/or cloud based on factors such compute usage, memory usage, network coverage, and latency.
-
Create a web user interface application, such as a dashboard, that displays the various workloads' health.
Who can be contacted for this challenge for questions. (Slack-handle)
- Eclipse Symphony: Filipe Prezado (Slack handle: @fprezado)
- Eclipse Symphony: Haishi Bai (Slack handle: @Haishi Bai)