This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| gsoc:2025-gsoc-agl [2025/01/15 21:57] till created | gsoc:2025-gsoc-agl [2025/03/20 12:56] (current) wminer [Task #6 App Store POC] | ||
|---|---|---|---|
| Line 14: | Line 14: | ||
| Wiki – http://wiki.automotivelinux.org | Wiki – http://wiki.automotivelinux.org | ||
| + | - https://lf-automotivelinux.atlassian.net/wiki/spaces/HOME/ | ||
| Documentation (including getting started guide): https://docs.automotivelinux.org/en/master/#  | Documentation (including getting started guide): https://docs.automotivelinux.org/en/master/#  | ||
| Line 19: | Line 20: | ||
| Git - gerrit.automotivelinux.org | Git - gerrit.automotivelinux.org | ||
| - | Mailing Lists - http://lists.automotivelinux.org/ | + | Mailing Lists - http://lists.automotivelinux.org/  | 
| + | |||
| + | Discord Server - https://discord.gg/ZztCaVeQVG - Prospective students should use #google-summer-of-code to introduce themselves.  | ||
| - | IRC channel - #automotive on libera.chat | ||
| Code Licenses: mostly Apache 2.0, MIT for own code, otherwise as upstream | Code Licenses: mostly Apache 2.0, MIT for own code, otherwise as upstream | ||
| Line 33: | Line 35: | ||
| ===== Project Proposals ===== | ===== Project Proposals ===== | ||
| - | **TO BE UPDATED** | ||
| ==== Task #1 (large/350h):  Extend AGL's demo control panel ==== | ==== Task #1 (large/350h):  Extend AGL's demo control panel ==== | ||
| The AGL demo control panel is a pyQt (qml) application that is able to | The AGL demo control panel is a pyQt (qml) application that is able to | ||
| - | control the AGL demo homescreen. | + | control the AGL demo homescreen. It can replay can messages. | 
| - | * add file playback capability | + | |
| - | * visualize 4 signals (realtime and/or from playback) | + | Task: Extend the demo control panel to drive more signals and exercise more advanced features in AGL. | 
| - | * stretch-goal: add IC keypad feature | + | |
| - | * stretch-goal: add power-control feature | + | |
| Level of difficulty: intermediate | Level of difficulty: intermediate | ||
| Line 50: | Line 49: | ||
| Contact: jsmoeller (at) linuxfoundation.org | Contact: jsmoeller (at) linuxfoundation.org | ||
| - | ==== Task #2a (large/350h): Extend AGL's speech recognition app (Flutter app) ==== | ||
| - | The AGL speech recognition app is a Flutter app that uses a speech recognition engine (vosk-kaldi) | + | ==== Task #2 (large/350h): Extend AGL's speech recognition app (Flutter app) with AI features==== | 
| - | for the audio processing. | + | |
| - | This task is about adding the whisper (https://openai.com/research/whisper) framework as well. | + | The AGL speech recognition app is a Flutter app that uses a speech recognition engine (vosk/whisper + intent engine) for the audio processing. | 
| + | |||
| + | Task: Extend the demo using AI models to allow more complex interactions and reactions. Requirement is to use open-source technologies. | ||
| Level of difficulty: intermediate | Level of difficulty: intermediate | ||
| Line 63: | Line 63: | ||
| - | ==== Task #2b (large/350h): Extend speech recognition app with AI chatbot / AI intent engine ==== | + | ==== Task #3 (large/350h): meta-ros ==== | 
| - | The AGL speech recognition app is a Flutter app that uses a speech recognition engine. | + | Task: Work on meta-ros integration. (Robotic framework). Goal is a demo image integrating ROS + AGL . | 
| - | It could be extended with an AI chatbot or an AI intent engine to execute API calls. | + | |
| - | Level of difficulty: intermediate | + | Level of difficulty: intermediate/difficult | 
| - | Requirements: python, flutter+dart | + | Requirements: python, ... | 
| Contact: jsmoeller (at) linuxfoundation.org | Contact: jsmoeller (at) linuxfoundation.org | ||
| - | ==== Task #3 (large/350h): Persistent storage API ==== | + | ==== Task #4 Bluetooth ==== | 
| - | This task is about to develop an grpc-API for AGL that serves as persistent storage API for the demo using e.g. sqlite as backend and another local engine (pluggable backends). | + | Task: Add Bluetooth support back into AGL via Bluez, Pipewire, and gstreamer, incorporating the work done by George Kiagiadakis at Collabora. See https://fosdem.org/2025/schedule/event/fosdem-2025-6203-adopting-bluez-in-production-challenges-and-caveats/ | 
| - | Level of difficulty: intermediate/difficult | ||
| - | Requirements: C/C++ or rust, grcp | + | Level of difficulty: medium to high | 
| + | |||
| + | Requirements: Add A2DP and AVRCP support to media player. Develop new settings UI for phone pairing, Develop telephone, phone book and messaging UI using HFP, PBAP, and Messaging profiles.  | ||
| Contact: jsmoeller (at) linuxfoundation.org | Contact: jsmoeller (at) linuxfoundation.org | ||
| - | ==== Task #4 YOUR OWN IDEA ==== | + | |
| + | ==== Task #5 Pipewire camera ==== | ||
| + | |||
| + | Task: Add camera support via Pipewire. Create a Flutter app that displays output from camera and does something interesting with it like backup camera support. | ||
| + | |||
| + | |||
| + | Level of difficulty: medium | ||
| + | |||
| + | Requirements: | ||
| + | |||
| + | |||
| + | Contact: jsmoeller (at) linuxfoundation.org | ||
| + | |||
| + | |||
| + | |||
| + | ==== Task #6 App Store POC ==== | ||
| + | |||
| + | Task: Develop a store catalog app in Flutter that allows the user to select, download, and install an app from a remote app store. | ||
| + | |||
| + | |||
| + | Level of difficulty: high | ||
| + | |||
| + | Requirements: See ideas listed on [[https://lf-automotivelinux.atlassian.net/wiki/spaces/IVIPR/pages/17826052/App+Store+Proof+of+Concept | AGL confluence]] for current thoughts on the what to do. Will need to work with AGL mentors to determine the exact requirements. Will probably need to come up with a dummy back end to support the store catalog. | ||
| + | |||
| + | |||
| + | Contact: jsmoeller (at) linuxfoundation.org, joel (dot) winarske (at) gmail.com | ||
| + | |||
| + | |||
| + | ==== Task #7 YOUR OWN IDEA ==== | ||
| Bring your own idea to extend the project. | Bring your own idea to extend the project. | ||