The Linux Foundation - GSoC 2021 Project Report
Integration of the meta-ros layer with Automotive Grade Linux (AGL) to support Robot Operating System (ROS2)
This report is a requirement of the Final Evaluations phase
of Google Summer of Code program. I worked with the Linux Foundation, under Automotive Grade Linux on the project to Integrate the meta-ros layer with Automotive Grade Linux (AGL) to support Robot Operating System (ROS2)
, the original proposal for the project can be found here.
The Linux Foundation is the nonprofit consortium dedicated to fostering the growth of Linux. Automotive Grade Linux is an open-source project hosted by The Linux Foundation that is building an open operating system and framework for automotive applications.
Project Deliverables
- Integrate yocto based meta-ros layer with Automotive Grade Linux (AGL) layers to support Robot Operating System (ROS 2) infrastructure.
- Create custom recipes for ROS modules to support LIDAR drivers and other unmet dependencies that might arise.
- [WIP] Develop a visualization application for AGL by implementing hector mapping using LIDAR using ROS2.
- Ultimately documenting the whole implementation methodology, so that the developer community can easily carry on with and independently develop relevant ROS applications on AGL.
Community Bonding
Owing to timezone differences, my mentor and I scheduled the right time and medium for contact: triweekly Zoom Calls and constant communication over Signal and IRC. Further refinement of objectives and goals were set to ensure that the proposed plan of action for the development of meta-agl-ros2
was in line with the priorities of the project. I started engaging actively within the AGL community by regularly participating in the Weekly Developer Call. I also regularly updated personal blog to log progress for future reference and help future Google Summer of Code applicants and aspiring student developers alike. Since I had prior academic commitments and was already well accustomed to the AGL community. We decided to go ahead with the Coding Phase
earlier than the GSoC timeline.
Work Done
Weekly Updates
All of the progress is well documented in the form of weekly updates over the agl-dev-community
mailing list and personal blog :
- Week 0 & 1 (mailing list | blog)
- Week 2 (mailing list | blog)
- Week 3 (mailing list | blog)
- Week 4 (mailing list | blog)
- Week 5 (mailing list | blog)
- Week 6 (mailing list | blog)
- Week 7 (mailing list | blog)
- Week 8 (mailing list | blog)
- Week 9 (mailing list | blog)
- Week 10 (mailing list | blog)
Commits / Change Requests
- Gerrit: #26559 : meta-agl-ros2: Support for ros2 minimal & ydlidar
- Gerrit: #26568 : Add meta-ros layer as external dependency
- Gerrit: #26384 : Replaced $AGL_TOP with <AGL_TOP> where relevant | master
- Gerrit: #26396 : Replaced $AGL_TOP with <AGL_TOP> where relevant | koi
- Gerrit: #26397 : Replaced $AGL_TOP with <AGL_TOP> where relevant | jellyfish
- Github: #858 : google-benchmark: use “main” branch
- agl-images-gsoc21-boron : Contains all the iterations of AGL images and SDKs built over the span of GSoC.
- [WIP] agl-liq : Porting liq to AGL for being the LIDAR visualization application.
NOTE: Some of the Change Requests might be going in through review and further changes can take place.
Final Comments
Future Work
Challenges
-
Becoming proficient with AGL developer tools, especially
Gerrit
has been quite a worthwhile effort. -
Balancing academics along with GSoC was quite hectic but due to the mutual understanding with the mentors, I was able to overcome this.
What did I learn?
-
I was able to learn how to develop using the Yocto project and correspondingly improve my understanding on ROS2 framework.
-
I also learned a lot more about Automotive Grade Linux organization especially their developer tools, workflow, and developmental pipeline.
-
My technical writing skills have definitely become better and have led me to contribute more effectively and robustly to academic research projects.
Post GSoC
-
I plan to maintain and add to the Automotive Grade Linux’s repositories for the foreseeable future and work on continually improving it.
-
I will keep contributing and help other new contributors to explore and learn projects in this organization.
-
This project gave me the necessary experience and rigor to contribute meaningfully and efficiently to my role as Data Acquisition Engineer for FSAE Team Fateh.
Acknowledgements
I would like to express my gratitude to my mentors Jan-Simon Möller and Walt Miner for mentoring me through GSoC and also to the whole AGL community for being so inclusive and friendly.
Overall, It was one of the best professional experience that I undertook this year. I have been fascinated with AGL for as long as I have been a Data Acquisition Engineer for FSAE Team Fateh and the fact that I was able to contribute to the organization is an honor.