A Flutter-based In-Vehicle Infotainment (IVI)application designed for embedded Linux Software-Defined Vehicle (SDV) targets. It runs as a guest in an SDV hypervisor domain and communicates via gRPC with an autonomous driving stack (Autoware + ROS 2) operating in a separate hypervisor domain, streaming real-time vehicle telemetry to render a live digital IVI.
┌──────────────────────────────────────────────────────┐
│ SDV Hypervisor │
│ │
│ ┌─────────────────────┐ ┌──────────────────────┐ │
│ │ IVI Domain │ │ Autonomous Domain │ │
│ │ (Embedded Linux) │ │ (ROS 2 / Autoware) │ │
│ │ │ │ │ │
│ │ flutter_ivi ◄─────┼───┼── autoware-agent │ │
│ │ (gRPC client) │ │ (gRPC server) │ │
│ └─────────────────────┘ └──────────────────────┘ │
└──────────────────────────────────────────────────────┘
- meta-flutter workspace-automation for the embedded Flutter toolchain
- autoware-agent with a configured Autoware + ROS 2 environment
Clone and configure the meta-flutter workspace:
git clone https://github.com/meta-flutter/workspace-automation
cd workspace-automation
./flutter_workspace.py
source ${FLUTTER_WORKSPACE}/setup_env.shIn the same terminal (with the Flutter environment sourced), navigate to the app and run:
flutter run -d desktop-homescreenTo open in VS Code for debugging:
code .The IVI app connects to the autoware-agent gRPC server, which bridges Autoware and ROS 2 data to the IVI domain. Refer to the autoware-agent README for full Autoware and ROS 2 setup instructions.
git clone https://github.com/Yaquod/autoware-agent.git
cd autoware-agentBuild the agent:
colcon build --packages-select vehicle_autoware_agent \
--cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfoRun the agent with map configuration:
./install/vehicle_autoware_agent/bin/autoware_agent \
--map-path install/vehicle_autoware_agent/share/autoware_agent/maps/nishishinjuku_routes.yamlThe gRPC server can run on localhost or inside a VM / separate hypervisor domain, depending on your SDV setup.
See LICENSE for details.