GSoC 2025 - Journey
How I cleared Google Summer of Code and Current Status
Automotive Grade Linux (AGL) and ROS Integration
What is Google Summer of Code?
“Google Summer of Code is a global, online program focused on bringing new contributors into open source software development. GSoC Contributors work with an open source organization on a 12+ week programming project under the guidance of mentors.”
Project Background
This summer, I’m working on Google Summer of Code 2025 with the Linux Foundation, focusing on integrating Robot Operating System (ROS) with Automotive Grade Linux (AGL) through the meta-ros layer.
What is Yocto?
The Yocto Project is an open-source collaboration focused on creating custom Linux distributions for embedded systems. It provides tools and a framework to build tailored Linux images for various hardware architectures. Essentially, it allows developers to create a unique Linux OS for embedded devices rather than relying on pre-built distributions.
What is Automotive Grade Linux (AGL)?
Automotive Grade Linux is an open-source collaborative project that brings together automakers, suppliers, and technology companies to develop a unified software platform for connected cars. Think of it as Android for cars, but built from the ground up for automotive requirements.
AGL Architecture Overview
AGL’s architecture consists of five distinct layers:
- App/HMI Layer: Applications and human-machine interfaces
- Application Framework: APIs for creating and managing automotive applications
- Services Layer: User space services accessible to all applications
- Operating System Layer: Linux kernel, drivers, and standard utilities
- Hardware Layer: Underlying automotive hardware platform
The meta-ros Layer: Bridging ROS and Embedded Systems
Meta-ros is a series of OpenEmbedded layers that add ROS support to embedded Linux distributions built with the Yocto Project. It’s essentially the bridge that allows us to run ROS on custom automotive hardware.
Key Components
- meta-ros-common: Common recipes for all ROS distributions
- Distribution-specific layers: Separate layers for ROS Humble, Iron, etc.
This architecture enables developers to create custom, Linux-based automotive systems that leverage both ROS capabilities and Yocto’s flexibility for embedded deployments.
Why ROS in Automotive Matters
The integration of ROS with automotive systems offers several compelling advantages:
Modular Architecture
- Individual components can be developed and tested independently
- Enables rapid prototyping and algorithm comparison
- Supports different sensor configurations without architectural changes
- Facilitates collaborative development across teams
Advanced Sensor Fusion
- Unified timestamp management across different sensors
- Real-time fusion of LIDAR, camera, radar, and GPS data
- Extended Kalman Filter implementations for data association
- Enhanced perception through sensor complementarity
Rich Ecosystem
- Vast library of pre-existing packages and algorithms
- Active community support and continuous development
- Integration with simulation environments (Gazebo, CARLA)
- Cost-effective compared to proprietary solutions
Current Progress and Next Steps
The project is progressing well across multiple fronts. I’ve successfully built custom AGL images with integrated ROS2 support and created automotive-specific sensor drivers that work within the AGL environment.
Completed Milestones
- Successfully integrated meta-ros with AGL Scarthgap
- Created custom recipes for automotive sensor packages
- Established cross-compilation pipeline for ARM-based automotive hardware
Upcoming Work
- Developed initial architecture documentation
- Performance benchmarking and optimization
- Integration with automotive simulation environments
- Creation of reference applications demonstrating key use cases
- Documentation and community outreach
GSoC 2025 Weekly Blog Series
This project spans 22 weeks, and I’ll be documenting the journey through a series of weekly blog posts. Each week will detail the technical challenges, solutions, and learnings from integrating meta-ros with Automotive Grade Linux.
Blog Series Structure
- Week 0: Community Bonding
- Week 1+2: Setting Up the Build
- Week 3: First Steps - Starting to Code
- Week 4: First Patch to Gerrit
- Week 5: Expanding ROS Support in AGL
- Week 6: Comprehensive Testing and Validation
- Week 7,8,9,10: Unexpected Hardware Issue
- Week 11: Mid-term Evaluation Started
- Week 12: Mid-term Evaluation Ended
Post-GSoC Continuation:
- Weeks 10-22: Demo Application and Long-term Maintenance and Integration
Current Status
As of August 2025, I’ve completed 10 weeks of the project with significant milestones achieved:
- ✅ Meta-ros successfully integrated with AGL
- ✅ Functional demo application with bidirectional ROS-AGL communication
- ✅ Patchsets contributed to AGL Gerrit
Currently working on Week 10: Real-time sensor data integration and advanced visualization features.
Get Involved
Stay tuned for the detailed technical deep-dives in the upcoming blog posts. Each will include practical examples, code samples, and hands-on tutorials that you can follow along with.
Have questions about automotive software development or want to collaborate on open-source automotive projects? Reach out to me on my email
Next post in series: GSoC 2025 Week 0: Community Bonding