GSoC 2026
JdeRobot

JdeRobot — Project Ideas

GSoC 2026

Robotics applications are typically distributed, made up of a collection of concurrent asynchronous components which communicate using some middleware (ROS messages, DDS…). Building robotics applications is a complex task. Integrating existing nodes or libraries that provide already solved functionality, and using several tools may increase the software robustness and shorten the development time. JdeRobot provides several tools, libraries and reusable nodes. They have been written in C++, Python or JavaScript. They are ROS-friendly and full compatible with ROS2-Humble (and Gazebo Harmonic).

Our community mainly works on three development areas:

Education in Robotics.

RoboticsAcademyis our main project. It is a ROS-based framework to learn robotics and computer vision with drones, autonomous cars…. It is a collection of Python programmed exercises and challenges for engineering students. - Robot Programming Tools. For instance,

BT-Studio, for robot programming with Behavior Trees;VisualCircuitfor robot programming with connected blocks, as in electronic circuits, in a visual way. - Machine Learning in Robotics. For instance, the

BehaviorMetrics toolfor assessment of neural networks in end-to-end autonomous driving. Another example isPerceptionMetrics toolfor unified evaluation of 2D and 3D perception models.

Ideas list

This open source organization welcomes contributors in these topics:

Project #1: PerceptionMetrics: GUI extension and support for standard datasets and models

Brief explanation: PerceptionMetrics is a toolkit for evaluating perception models across frameworks and datasets. Past GSoC projects (Vinay Sharma, 2017, Jeevan Kumar, 2019) contributed to its first stable release, published in Sensors (Paniego et al., 2022). Recently, the tool has been revamped to support LiDAR, image segmentation, and object detection (Sakhineti Praveena, 2025).

Moving beyond our current focus on off-road navigation, this project aims to scale PerceptionMetrics for industry-standard benchmarks. The main goals are:

  • Exploring core segmentation/detection datasets in the industry for image and LiDAR (e.g., SemanticKITTI, Cityscapes), prioritizing, and adding support for them.
  • Extending the GUI to support image and LiDAR segmentation visualization (currently limited to object detection).
  • Generating comprehensive tutorials and documentation for different use cases, models, and data formats.
  • Improving the robustness of the project through an improved test suite.

Skills required/preferred: Python, PyTorch, Deep Learning, StreamlitDifficulty rating: MediumExpected results: Support for new datasets, GUI extension for image and LiDAR segmentation, and comprehensive technical documentation.Expected size: Long (~350h)Mentors: David Pascual Hernández (d.pascualhe AT gmail.com), Sakhineti Praveena (sakhinetipraveena AT gmail.com)

Project #2: Robotics Academy: extend C++ support for more exercises

Brief explanation: Robotics-Academy is a framework for learning robotics and computer vision. It consists of a collection of robot programming exercises. The students have to code in Python the behavior of a given (either simulated or real) robot to fit some task related to robotics or computer vision. It uses standard middleware and libraries such as ROS 2 or OpenCV.

Nowadays, Robotics Academy offers the student up to 26 exercises. All of them come ready to use in the RoboticsAcademy docker image (RADI). The only requirement for the students its to download the docker image, all the dependencies are installed inside the RADI.

Currently, exercises can be solved using Python with our Hardware Abstraction Layer (HAL) or directly using ROS 2 interfaces (topics and services). Right now there are 2 exercises that also support C++: follow line and vacuum cleaner. The goal of this project would be to expand the selection of exercises that support the C++ language.

Skills required/preferred: Python, C++, ROS2Difficulty rating: MediumExpected results: Extend C++ support for more exercises providing a simplified API and direct ROSExpected size: 90hMentors: Javier Izquierdo Hernández (javizqh AT pm.me), Nikhil Gupta

Project #3: Robotics Academy: New power tower inspection using deep learning

Brief explanation: The goal of this project is to develop a new deep learning based challenge in RoboticsAcademy for power tower inspection. In addition to the existing classical power inspection exercise, this project will introduce a new challenge where defect detection and classification are performed using a deep learning model trained and provided by the student, instead of relying on traditional image processing techniques. The expected work for this project includes:

  • Create new exercise, following the example of previous deep learning based exercises such as end-to-end visual control. - Extend or create simulated power tower environments and record and label datasets for students to train their models on.
  • Build comprehensive documentation, upload datasets to accessible repositories, and provide Jupyter Notebooks or similar materials to guide students.
  • Extend the Simple APIused by deep learning exercises to define a structured way of setting results such as classification logits, bounding boxes for detection, and confidence scores.

Skills required/preferred: Python, PyTorch, Deep Learning, ROS2, GazeboDifficulty rating: MediumExpected results: New deep learning based power tower inspection exercise with comprehensive docs and learning materials.Expected size: Medium (~175h)Mentors: David Pascual Hernández (d.pascualhe AT gmail.com), Md. Shariar Kabir (skabircp08 AT gmail.com), Luis Roberto Morales (lrmoralesiglesias AT gmail.com)

Project #4: RoboticsAcademy: drone-cat-mouse chase exercise, two controlled robots at the same time

Brief explanation: The goal of this project is to recover the drone-cat-mouse chase challenge in the new RoboticsAcademy architecture. This exercise requires the support for two robotics applications connected to the corresponding drones, one connected to the mouse-drone (which may fly autonomously following a 3D position pattern) and the second connected to the cat-drone. The RoboticsAcademy user has to program the cat-drone so it successfully chases the drone-mouse. This challenge should work in Gazebo Harmonic and use Aerostack2 middleware for drones, as all current available drone exercises at RoboticsAcademy. Additional exercises involving two concurrent agents in the same robotic world may also be designed using this plumbing.

Skills required/preferred: Python, Gazebo, Linux processesDifficulty rating: MediumExpected results: A new drone-cat-mouse chase exercise, new internal architecture supporting two simultanous agents in RoboticsAcademy challenges and comprehensive technical documentation.Expected size: Long (~350h)Mentors: José María Cañas (josemaria.plaza AT gmail.com) and Prajyot (prajyotj04 AT gmail.com)

Project #5: Robotics Academy: using the Open3DEngine as robotics simulator

Brief explanation: Open 3D Engine (O3DE) is an Apache 2.0-licensed multi-platform 3D engine that enables developers and content creators to build AAA games, cinema-quality 3D worlds, and high-fidelity simulations. It supports also simulation of most common robot sensors and actuators. The idea of this project is to integrate Open3DEngine into the RoboticsAcademy framework, with at least one exercise using it instead of Gazebo.

Skills required/preferred: C++ programming, ROSDifficulty rating: MediumExpected results: A new robotics exercise in RoboticsAcademy using the Open3DEngineExpected size: 175hRepository Link-Open 3D Engine,RoboticsAcademy,RoboticsInfrastructureMentors: José M. Cañas (josemaria.plaza AT gmail.com) and Pedro Arias (pedro.ariasp AT upm.es)

Project #6: VisualCircuit: Improving Functionality & Expanding the Block Library

Brief explanation: VisualCircuit allows users to program robotic intelligence using a visual language similar to electronic circuits, simplifying the creation of code for robotics applications such as Deep Learning, ROS, and more.

Over the past few years, we have focused on making VisualCircuit more robust by resolving Nested Blocks (multi-level blocks) with the Block Composition feature, developing a working prototype for dockerized execution of robotics applications directly from the browser, migrating the old POSIX IPC implementation to a cross-platform compatible Python Shared Memory implementation, and more.

For GSoC 2026, this project aims to improve and expand the VisualCircuit block library, enabling contributors to publish reusable blocks in a structured and validated manner. Each block will include metadata, execution logic, and visual assets, while automated CI pipelines will validate contributions. Alongside this infrastructure, the project will focus on developing high-quality reusable blocks and complete end-to-end robotics applications using VisualCircuit. The VisualCircuit frontend will integrate the block library as a built-in marketplace, allowing users to browse, install, and reuse blocks with minimal effort, while ensuring offline usability and seamless execution identical to native blocks. You can read further about the tool on the website.

Skills required/preferred: ROS2, Gazebo, Python, TypeScriptDifficulty rating: MediumExpected results: Expanding Block library for VisualCircuit, improving automated testing using GitHub Actions and creating real world robotics applications developed with latest functionalities of VC and resolving other major issues.Expected size: 175hMentors: Toshan Luktuke (toshan1603 AT gmail.com) and Pankaj Borade (borade.pankaj825 AT gmail.com).

Project #7: Robotics Academy: Exploring optimization strategies for RoboticsBackend container

Brief explanation: Our Robotics Academy platform relies on a containerized environment that encapsulates robotics middleware, simulators, libraries, and the application management stack: the RoboticsBackend. This approach significantly lowers the technical entry barrier for students, allowing them to start learning robotics without dealing with complex environment setup. However, the large number of coexisting dependencies causes the container image to grow substantially in size, negatively affecting maintainability and increasing download times for first time users.

This project has a twofold objective. First, it aims to identify bottlenecks in the current container build and propose concrete strategies to reduce image size and build time. Potential approaches include layer optimization, dependency pruning, replacing heavy libraries such as OMPL when viable, and providing minimal installation variants for components like Aerostack2. Second, the project will explore alternative container technologies, such as Podman, as a replacement for Docker in the build pipeline. Podman offers a daemonless and rootless execution model while maintaining compatibility with existing container workflows, potentially improving security, portability, and maintainability.

Skills required/preferred: Docker, Linux fundamentals, familiarity with common robotic software stackDifficulty rating: MediumExpected results: An optimized RoboticsBackend and a feasibility study of migration to PodmanExpected size: 175hMentors: Nikhil Gupta and Miguel Fernández

Project #8: Robotics Academy: palletizing with an industrial robot exercise

Brief explanation: A few years ago we developed some exercises on industrial robots using MoveIt1 and ROS1-Noetic. A Work-In-Progress from the JdeRobot Industrial Robotics Working Group is the support in RoboticsAcademy to MoveIt2 and ROS2. Currently two exercises are available: (a) the Pick and Place application and (b) the MachineVision application (from GSoC-2025). The main goal of this project is to create a palletizing exercise with an industrial robot (UR5) over the base of the current exercises at RoboticsAcademy using ROS2, MoveIt2 and the easy API for the programming of industrial robots (similar to other solutions such as RAPID from ABB) already available.

Skills required/preferred: C++ programming, Python, ROS, MoveItDifficulty rating: MediumExpected results: A new robotics exercise in RoboticsAcademy using an industrial robot for palletizing applicationExpected size: 350hRepository Link-RoboticsAcademy,RoboticsInfrastructureMentors: José M. Cañas (josemaria.plaza AT gmail.com) and Shu Xiao (shuxiao19980101 AT gmail.com)

Application Instructions for GSoC 2026

If you are interested in applying for GSoC with our organization, we highly encourage you to start contributing and engaging with the relevant repositories early on. This helps you become familiar with the codebase and development workflow while allowing mentors to get to know you and your technical skills.

Getting Started

First, explore the specific project(s) you are interested in:

CheckRoboticsAcademy:this GitHub Discussion threadfor initial setup and guidance.CheckPerceptionMetrics:this GitHub Discussion threadfor initial setup and guidance.Read theVisualCircuit:official documentation, explore therepository, and reach out to the mentors.

Communication & Proposals

Once you have a feel for the workflow and have identified your preferred project(s), we recommend reaching out to the project mentors directly. If you decide to apply, sharing your proposal via Google Docs with the mentors is highly recommended. This allows us to provide feedback and suggestions before the final submission deadline, significantly improving your chances of success.

Technical Demo Challenge

As part of your application, you must provide a short screen recording (1–2 minutes) demonstrating your proficiency with our ecosystem. This verifies that your development environment is functional and that you can successfully use our core tools.

Please choose the task that most closely aligns with the project(s) you are applying for:

RoboticsAcademy:Record a working solution for at least one challenge (e.g., Follow Line, Drone Cat and Mouse).⚠️ IMPORTANT:To protect your work, youmust blur or hide your codein the recording. Focus the video on the robot’s behavior and the simulation results.**PerceptionMetrics:**Walk through at least one tutorial notebook in our repository and demonstrate interaction with our GUI.**VisualCircuit:**Demonstrate a simple, functional circuit built using the tool.

Submission & Sharing

Upload your video to YouTube (set to Unlisted or Public) or Google Drive (ensure permissions are set to “Anyone with the link can view”). You will need to provide this link in the application form.

Showcase Your Work!

We love seeing our community grow. We encourage you to share your progress on social media! Tag us @jderobot on X and LinkedIn—we’d love to see what you’ve built.

Application Form

After you have engaged with the codebase, contacted your mentors, and completed your technical demo, you are ready to apply! Filling out the application form is a mandatory step in our process. You can find the form here.

Previous GSoC students

Ashish Ramesh(GSoC 2025) Robotics-Academy: support for solutions directly using ROS2 topicsAbdallah Ibrahim Ismail(GSoC 2025) Robotics-Academy: CI & TestingMd. Shariar Kabir(GSoC 2025) Robotics-Academy: new exercise on End-to-End Visual Control of an Autonomous Vehicle using DeepLearningNikhil Gupta(GSoC 2025) Robotics Academy: improvement of Gazebo scenarios and robot modelsShu Xiao(GSoC 2025) Robotics Academy: improvement of industrial robotics exercises with MoveIt2 and ROS2Javier Izquierdo(GSoC 2025) BT-Studio: a tool for programming robots with Behavior TreesSakhineti Praveena(GSoC 2025) Extend DetectionMetrics: GUI, CI Workflow, and Object DetectionPrajyot Jadhav(GSoC-2024) Robotics-Academy: migration to Gazebo FortressMihir Gore(GSoC-2024) Robotics-Academy: improve Deep Learning based exercisesPankaj Borade(GSoC-2024) VisualCircuit: block libraryÓscar Martínez(GSoC-2024) BT-Studio: a tool for programming robots with Behavior TreesZebin Huang(GSoC-2024) End-to-end autonomous vehicle driving based on text-based instructions: research project regarding Autonomous Driving + LLMsPawan Wadhwani(GSoC-2023) Robotics Academy: migration to ROS2 HumbleMeiqi Zhao(GSoC 2023) Obstacle Avoidance for Autonomous Driving in CARLA Using Segmentation Deep Learning ModelsSiddheshsingh Tanwar(GSoC 2023) Dockerization of Visual CircuitPrakhar Bansal(GSoC 2023) RoboticsAcademy: Cross-Platform Desktop Application using ElectronJSApoorv Garg(GSoC-2022) Improvement of Web Templates of Robotics Academy exercisesToshan Luktuke(GSoC-2022) Improvement of VisualCircuit web serviceNikhil Paliwal(GSoC-2022) Optimization of Deep Learning models for autonomous drivingAkshay Narisetti(GSoC-2022) Robotics Academy: improvement of autonomous driving exercisesPrakarsh Kaushik(GSoC-2022) Robotics Academy: consolidation of drone based exercisesBhavesh Misra(GSoC-2022) Robotics Academy: improve Deep Learning based Human Detection exerciseSuhas Gopal(GSoC-2021) Shifting VisualCircuit to a web serverUtkarsh Mishra(GSoC-2021) Autonomous Driving drone with Gazebo using Deep Learning techniquesSiddharth Saha(GSoC-2021) Robotics Academy: multirobot version of the Amazon warehouse exercise in ROS2Shashwat Dalakoti(GSoC-2021) Robotics-Academy: exercise using Deep Learning for Visual DetectionArkajyoti Basak(GSoC-2021) Robotics Academy: new drone based exercisesChandan Kumar(GSoC-2021) Robotics Academy: Migrating industrial robot manipulation exercises to web serverMuhammad Taha(GSoC-2020) VisualCircuit tool, digital electronics language for robot behaviors.Sakshay Mahna(GSoC-2020) Robotics-Academy exercises on Evolutionary Robotics.Shreyas Gokhale(GSoC-2020) Multi-Robot exercises for Robotics Academy In ROS2.Yijia Wu(GSoC-2020) Vision-based Industrial Robot Manipulation with MoveIt.Diego Charrez(GSoC-2020) Reinforcement Learning for Autonomous Driving with Gazebo and OpenAI gym.Nikhil Khedekar(GSoC-2019) Migration to ROS of drones exercises on JdeRobot AcademyShyngyskhan Abilkassov(GSoC-2019) Amazon warehouse exercise on JdeRobot AcademyJeevan Kumar(GSoC-2019) Improving DetectionSuite DeepLearning toolBaidyanath Kundu(GSoC-2019) A parameterized automata Library for VisualStates toolSrinivasan Vijayraghavan(GSoC-2019) Running Python code on the web browserPankhuri Vanjani(GSoC-2019) Migration of JdeRobot tools to ROS 2Pushkal Katara(GSoC-2018) VisualStates toolArsalan Akhter(GSoC-2018) Robotics-AcademyHanqing Xie(GSoC-2018) Robotics-AcademySergio Paniego(GSoC-2018) PyOnArduino toolJianxiong Cai(GSoC-2018) Creating realistic 3D map from online SLAM resultVinay Sharma(GSoC-2018) DeepLearning, DetectionSuite toolNigel FernandezGSoC-2017Okan AsikGSoC-2017, VisualStates toolS.Mehdi MohaimanianGSoC-2017Raúl PérulaGSoC-2017, Scratch2JdeRobot toolLihang Li: GSoC-2015, Visual SLAM, RGBD, 3D ReconstructionAndrei MilitaruGSoC-2015, interoperation of ROS and JdeRobotSatyaki ChakrabortyGSoC-2015, Interconnection with Android Wear

Related Pages

Command Palette

Search for a command to run...