Google Summer of Code 2025

Introduction

Google Summer of Code (GSoC) is a Google-sponsored program that provides summer stipends to new open source project contributors. Open Robotics and our affiliated projects (ROS, Gazebo, Open-RMF, and Infrastructure) have been a GSoC mentor organization for well over a decade. This year we are super excited that the ROS Control group was able to join the OSRA just in time to participate in our GSoC program. Our wonderful volunteer maintainers have really stepped up the plate this year and we are happy to report that 2025 will be one of our biggest GSoC years to date, with a record nine students spread across all five of our open source projects! We wanted to share a brief update on our mentors, contributors, and the projects that will be participating in Google Summer of Code this year.

ROS

Improvements to ROS 2 Tracing

Christophe Bedard is a long-time ROS contributor and this summer he will be mentoring Deva Shravan Kumar who is a second year undergraduate at Indian Institute of Technology Roorkee. This summer Shravan will be adding a significant number of new features to ROS 2’s primary tracing package, ros2_tracing. Tracing is a software technique that lets users examine their system’s execution to find bugs or performance bottlenecks which can then be fixed to improve overall performance. Currently, users must configure tracing prior to starting their application making it difficult to perform tracing on a deployed system. The primary goal of Shravan’s GSoC project is to allow the start of tracing at any point after a ROS application has been launched. Time permitting, Shravan will also work on other improvements to ROS 2 tracing configuration: ros2 trace command and Trace launch action.

C/C++ Struct to ROS Message Converter

This summer Himaj Joshi, a third year undergraduate student in computer science at Vishwakarma Institute of Information Technology  in Pune, India, will be mentored by Janosch Machowinski, a ROS contributor and a senior software engineer at Cellumation. Janosh and Himaj will be working together to enable a workflow within ROS 2 where one only needs to write a C/C++ struct and the ROS 2 tooling automatically generates the necessary intermediate messages and their serialized representations. This tooling will greatly reduce the amount of boilerplate code needed to transfer a given structure from one ROS node to another and save ROS developers a significant amount of time! 

ROS 2 Doctor Improvements

ROS 2 Doctor is a ROS 2 command line tool that helps ROS users diagnose issues with their ROS installation and this summer it will be getting a major upgrade thanks to help from ROS core contributor Tomoya Fujita, a Senior Staff Software Architect at Sony, and Michael Carlstrom [Github] a recent graduate student of Case Western Reserve University.


Currently, the ROS 2 doctor command provides a lot of useful debugging information but it is lacking critical information about ROS and RMW-specific environment variables and valuable configuration and service information. Information like this is valuable for debugging issues with ROS 2, and automatically providing it would greatly improve our ability to fix and debug problems reported by our user community. Adding this new information to our existing ROS 2 Doctor command would improve community communication and make bug reports much more precise! Over the summer Michael will roll out iterative improvements to ROS 2 Doctor that will land first in ROS 2 Rolling Ridley and eventually find their way to our next LTS ROS release Lyrical Luth. 

Gazebo

Physics-Based Sonar Simulation

For this project Woen-Sug Choi  from Department of Ocean Engineering, Korea Maritime & Ocean University and Rakesh Vivekanandan, a PhD student at Oregon State University, will mentor Helena Moyen, a fourth year student at the University of Sao Paulo on a feature relevant to Project DAVE. Project DAVE is a library to support the rapid testing and evaluation of underwater robotic solutions using ROS-Gazebo that is used extensively by our maritime robotics community. Over the summer Helena will migrate and enhance Project DAVE’s physics-based multi-beam sonar simulation from ROS 1 and Gazebo Classic to ROS 2 (Jazzy) and modern Gazebo (Harmonic). Along the way Helena plans to include performance enhancements like adding half-precision calculations in CUDA to boost refresh rates and to incorporate some new sonar types, like side-scan sonar and mechanical scanning sonar. Helen plans to use  BlueROV, a common maritime robotics, for example benchmark cases.

A quick demo of new sonar features working with Gazebo and ROS.

Raytracing enabled Faster-Than-Realtime GPU-Based LIDAR Plugin

For this project, Gazebo core maintainer Arjo Chakravarty, a software engineer at Intrinsic, will mentor Shashank Rao, a fourth year student at Indian Institute of Information Technology Nagpur. This summer Shashank will be helping us to improve the performance of LIDAR simulations in Gazebo by exploiting the raytracing capabilities found in most modern GPUs. Ray tracing has long been shown to be an effective pathway for simulating faster-than-realtime depth sensors, and other simulators already perform these calculations using NVIDIA's proprietary OptiX API. Arjo and Shashank believe that recent work in the Rust wgpu community has made it easier to use the open standard Vulkan APIs for raytracing. Early experiments with wgpu have demonstrated its ability to simulate a 256x256 depth camera at 1000fps on a consumer laptop with an older GPU! Time permitting, Shashank will also investigate adding raytracing for other types of depth sensors like maritime sonars and radars. You can check out the progress of the prototype here.

Work in progress examples of simulated depth camera imagery using wgpu.

Open-RMF

Multi-Agent Traffic Optimization

This summer Luca Della Vedova and Michael Grey, two of our top contributors to the Open-RMF project will mentor Nielsen Cugito, a graduate student at University of British Columbia on improving Open-RMF’s traffic planning capabilities with an eye to enabling more sophisticated and scalable robot behaviors within Open-RMF.

A key component of Open-RMF is the ability to route multi-agent traffic to avoid conflicts between mobile robot agents that are each performing tasks independently. To do this, OpenRMF makes use of the mapf Rust library which was designed to be a modular, customizable framework for multi-agent path finding. For this GSoC project, Luca and Grey will mentor Nielsen in stress testing Open-RMF’s mapf library to find scenarios where it fails or gives inconsistent results. Given these results Nielsen also plans to create patches that resolve underlying issues that could negatively impact mapf’s use in real robot deployments. As part of this project Nielsen will be using the Open-RMF Site Editor to generate test cases, simulate the results from mapf library, and generally debug the planning process. Nielsen plans to extend the Open-RMF site editor to enable users to step through each iteration of the mapf solving process and investigate how the solver works and identify where it could be improved.

UI/UX Improvements to the Site Editor

A central need of the Open-RMF community is the ability to create digital twins of their automated facilities and visually lay out the patterns and rules for the robot traffic within the facilities. To help with this, Open-RMF provides the site editor, a commercially-friendly, extensible, and open source toolkit for creating facility-level digital twins and sketching out traffic rules. For this GSoC project, Open-RMF contributors Xiyu Oh and Michael Grey will mentor Ryan Dobe, a senior at Western Governors University, to refactor the site editor into a more modular toolkit to improve quality of life for developers, explore potential UI improvements, and generally improve quality of life for system integrators who use the site editor. To make this happen Ryan has refactored the site editor from a monolithic application into several distinct software components. Ryan is currently investigating options for a more performant and scalable UI solution for the Open-RMF site editor.

Infrastructure

vcstool Modernization and Improvements

For this project Clara Berendsen, a software engineer at Ekumen Labs, and Jose Luis Rivero, a senior software engineer and founder at Honu Robotics, both long-time ROS Infrastructure contributors, will mentor Leander Desouza [website, github] , a recent graduate of the University of Sheffield. vcstool is a meta version control system tool that interacts with multiple version control systems (e.g. Git, CVS, SVN, Mercurial,etc) to make working with multiple source code repository platforms easier. vcstool is widely used in the ROS community to build ROS 2 and Gazebo from source, and it is an official package for Debian, Ubuntu and  PyPI. Unfortunately, vcstool has not really been maintained over the last few years, and the goal of this project is to update it to support a modern Python implementation. The vcstool GitHub Actions workflow also needs to be updated, since it uses older versions of Github Actions.The package will be shipped under a new name - vcs2l. This would retain all the former features and implement all the popular pending issues of its predecessor. Leander will also get to experience what it is like to be a package maintainer as vcstool has a backlog of bug reports, feature requests, and open PRs that he plans to address over the summer. 

ROS Controls

Hardware Diagnostic Support

New ROS Control message definitions that support additional diagnostic fields.

We’re super excited to welcome ROS Controls to Open Robotics’ GSoC program for the first time this year. This year two ROS Controls contributors Bence Magyar (Locus Robotics) and Sai Kishor (PAL Robotics) will mentor Soham Patil, a master's student at IIIT-Hyderabad, on a project to improve the diagnostics reporting within the ros2_control framework. Soham’s GSoC project is to create a ros2_control API that allows hardware manufacturers and driver package maintainers to report diagnostic health information with minimal code changes to their existing source code and without affecting the real-time robustness of their hardware interface. This would mean adding the software hooks necessary to report arbitrary device health information (like temperature readings, CAN Bus error states and even hardware specific error flags). As a stretch goal of the project, Soham has also started looking into standardizing hardware status reporting and gathering feedback from the community to help streamline this. You can have a look at the proposal here! The standardisation of these status messages can allow 3rd party tools to report the health of their robots, debug issues and even in the future allow robust recovery from errors in hardware.

Next
Next

ROS 2 Kilted Kaiju Released