|
| 1 | +.. _gsoc: |
| 2 | + |
| 3 | +============================ |
| 4 | +Google Summer of Code (GSoC) |
| 5 | +============================ |
| 6 | + |
| 7 | +.. `Google Summer of Code <https://summerofcode.withgoogle.com/>`__ 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. |
| 8 | +
|
| 9 | +`The Google Summer of Code (GSoC) <https://summerofcode.withgoogle.com/>`__, is an international annual program, first held from May to August 2005, in which Google awards stipends, which depends on the purchasing power parity of the country the student’s university belongs to, to all students who successfully complete a requested free and open-source software coding project during the summer. The program is open to university students aged 18 or over. (source `Wikipedia <https://en.wikipedia.org/wiki/Google_Summer_of_Code>`__). |
| 10 | + |
| 11 | + |
| 12 | +During Google Summer of Code, participating contributors are paired with mentors from open source organizations, gaining exposure to real-world software development techniques. Contributors will learn from experienced open source developers while writing code for real-world projects! A small stipend is provided as an incentive. |
| 13 | + |
| 14 | + |
| 15 | +.. figure:: resources/GSoC_banner.png |
| 16 | + :scale: 50 |
| 17 | + |
| 18 | + |
| 19 | + |
| 20 | +=============== |
| 21 | +Why contribute? |
| 22 | +=============== |
| 23 | + |
| 24 | +Aerostack2 is a ROS 2 based, open-source multipurpose framework designed to create autonomous multi-aerial-robot systems in an easy and powerful way. |
| 25 | +The project has been under development since 2016, starting with the first version, Aerostack, which can be found here: `Aerostack Wiki <https://github.com/cvar-upm/aerostack/wiki>`_. |
| 26 | +Since 2021, work has been focused on the development of Aerostack2. |
| 27 | + |
| 28 | +The Aerostack2 environment is open source and free of charge, which facilitates universal access to this technology by autonomous drone developers. |
| 29 | +It is offered with a BSD-3-Clause license that allows free distribution and modification of the software. |
| 30 | + |
| 31 | +Our organization is a young and dynamic group, dedicated to pushing the boundaries of aerial robotics through collaboration and innovation. |
| 32 | +We are focused on unifying the development of autonomous aerial robotics systems, aiming to establish Aerostack2 as a leading open-source framework that developers and researchers can rely on for their projects. |
| 33 | + |
| 34 | +Nowadays, Aerostack2 has accumulated over 1,500 commits and 400 pull requests, contributed by more than 10 international collaborators. |
| 35 | + |
| 36 | +We have also actively engaged with the community to promote and improve Aerostack2, participating in working groups such as: |
| 37 | + |
| 38 | +- `ROS-Aerial Robotics Working Group <https://github.com/ROS-Aerial/community>`_ |
| 39 | +- `Gazebo Community Meeting <https://community.gazebosim.org/tag/meeting>`_ |
| 40 | + |
| 41 | +Furthermore, Aerostack2 has been presented at international conferences: |
| 42 | + |
| 43 | +- `ICRA 2023, London <https://www.icra2023.org/>`_ |
| 44 | +- `ROSCon 2023, New Orleans <https://roscon.ros.org/2023/>`_ |
| 45 | +- `ROSCon Spain 2023, Madrid <https://roscon.org.es/2023/ROSConMadrid2023.html>`_ |
| 46 | +- `RSS 2024, Deflt <https://roboticsconference.org/2024/>`_ |
| 47 | +- `ROSCon Spain 2024, Sevilla <https://roscon.org.es/ROSConES2024.html>`_ |
| 48 | + |
| 49 | + |
| 50 | +.. raw:: html |
| 51 | + |
| 52 | + <div style="padding:56.25% 0 0 0;position:relative; width:80%; margin:auto;"><iframe src="https://player.vimeo.com/video/879000655?badge=0&autopause=0&player_id=0&app_id=58479" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media" style="position:absolute;top:0;left:0;width:100%;height:100%;" title="Aerostack2: A framework for developing Multi-Robot Aerial Systems"></iframe></div><script src="https://player.vimeo.com/api/player.js"></script> |
| 53 | + |
| 54 | +.. raw:: html |
| 55 | + |
| 56 | + <div style="width:80%; margin:auto;"><iframe width="100%" height="315" src="https://www.youtube.com/embed/LnTmqx08K3k?si=EmtJD34ET4KOUm78" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div> |
| 57 | + |
| 58 | + |
| 59 | +.. space after the video |
| 60 | +.. here we can add a space after the video |
| 61 | +.. to separate the video from the text |
| 62 | +
|
| 63 | +.. raw:: html |
| 64 | + |
| 65 | + <br><br> |
| 66 | + |
| 67 | +If you are interested in ROS 2, aerial robotics, and open-source software development, we invite you to join us in this exciting journey! |
| 68 | + |
| 69 | +============================ |
| 70 | +Ideas List for GSoC 2025 |
| 71 | +============================ |
| 72 | + |
| 73 | +.. use small title |
| 74 | +.. to create a new project, copy the below template and paste it below the last project |
| 75 | +.. The template is as follows: |
| 76 | +.. - Title |
| 77 | +.. - Brief Description |
| 78 | +.. - Skills Required |
| 79 | +.. - Difficulty Level |
| 80 | +.. - Expected Outcome |
| 81 | +.. - Expected size of the project |
| 82 | +.. - Mentor |
| 83 | +
|
| 84 | +Below you will find the list of the different project ideas that we are proposing for Google Summer of Code 2025. |
| 85 | + |
| 86 | + |
| 87 | +Project #1 : New RViz2 RQT Plugins for Aerostack2 |
| 88 | +============================ |
| 89 | + |
| 90 | +Brief Description |
| 91 | +----------------- |
| 92 | +This project aims to enhance the visualization and interaction capabilities of the **Aerostack2** |
| 93 | +framework by developing new **RViz2** and **RQT** plugins. |
| 94 | +These plugins will provide **real-time monitoring**, **debugging**, and **control functionalities** |
| 95 | +tailored to aerial robotics applications. |
| 96 | + |
| 97 | +The project will focus on improving current **custom visualization plugins** |
| 98 | +(`Aerostack2 Visualization <https://github.com/aerostack2/aerostack2/tree/main/as2_user_interfaces/as2_visualization/as2_visualization>`_) |
| 99 | +to visualize drone states, trajectories, sensor data, and mission execution. |
| 100 | +Moreover, it will create new RQT RViz tools |
| 101 | +(`Aerostack2 RViz Plugins <https://github.com/aerostack2/aerostack2/tree/main/as2_user_interfaces/as2_visualization/as2_rviz_plugins>`_) |
| 102 | +for intuitive interaction, such as sending commands, adjusting parameters, and monitoring system diagnostics. |
| 103 | +Both tools will support drone swarms, not just single drones. |
| 104 | + |
| 105 | + |
| 106 | +.. figure:: resources/project_rviz_plugins.png |
| 107 | + :scale: 40 |
| 108 | + |
| 109 | + |
| 110 | +- **Skills Required/Preferred** |
| 111 | + RQT, ROS 2, Python (or C++) |
| 112 | + |
| 113 | +- **Difficulty Level** |
| 114 | + Medium |
| 115 | + |
| 116 | +- **Expected Outcome** |
| 117 | + To improve the usability and debugging experience for developers using Aerostack2. |
| 118 | + |
| 119 | +- **Expected Size of the Project** |
| 120 | + Medium (175h) |
| 121 | + |
| 122 | +- **Mentors** |
| 123 | + Pedro Arias-Perez (pedro.ariasp AT upm.es), Guillermo GP-Lenza (guillermolenza AT gmail.com), Rodrigo Da Silva Gómez (rodrigods2001 AT gmail.com). |
| 124 | + |
| 125 | +======================================== |
| 126 | +Application instructions for GSoC 2025 |
| 127 | +======================================== |
| 128 | + |
| 129 | +We encourage you to apply for Google Summer of Code 2025 with any of the projects listed above. |
| 130 | +If you have any questions, please reach out to the mentor(s) listed for the project you are interested in. |
| 131 | +We are looking for enthusiastic students who are passionated and willing to learn and contribute to open-source projects. |
| 132 | + |
| 133 | +To apply, follow the instructions below: |
| 134 | + |
| 135 | +Basic Requirements |
| 136 | +======================== |
| 137 | + |
| 138 | +1. Check that you meet the eligibility requirements for the program. Check the `GSoC website <https://summerofcode.withgoogle.com/get-started>`__ for more information. |
| 139 | +2. Basic Git experience. |
| 140 | +3. Basic experience working with C++ and/or Python. |
| 141 | + |
| 142 | +Warm-up Task |
| 143 | +======================== |
| 144 | + |
| 145 | +.. check if the project requires a programming test or PR |
| 146 | +.. warning:: |
| 147 | + This Warm-up task is mandatory for all the projects. |
| 148 | + |
| 149 | +In order to apply for any of the projects, you must complete a simple Warm-up for familiarizing yourself with the Aerostack2 framework. |
| 150 | +The Warm-up task consists of the following steps: |
| 151 | + |
| 152 | + 1. Setup an environment with ROS 2 Humble and Aerostack2. You can follow the instructions in the :ref:`Aerostack2 Wiki <getting_started>`. |
| 153 | + 2. Follow the Simple Gazebo Simulation example in the :ref:`Aerostack2 Wiki <project_gazebo>`. |
| 154 | + 3. Fork the project repository and modify the ``mission.py`` file to make the drone move in a hexagonal trajectory. |
| 155 | + 4. Upload the modified code to your repo and submit the link to the repository in the application form. |
| 156 | + |
| 157 | +.. note:: |
| 158 | + If you encounter any issues related to this task, please use `Aerostack2 issues <https://github.com/aerostack2/aerostack2/issues>`__. |
0 commit comments