Skip to content

Google Summer of Code 2022 project idea list

Olivier Michel edited this page Feb 25, 2022 · 5 revisions

This page lists all the project ideas for Google Summer of Code corresponding to important milestones in the Webots roadmap. Feel free to propose your own ideas.

Feature Developer

Pick a feature from the list below or propose your own:

Improve the webots2urdf tool [350 h]

The goal is to facilitate the conversion of URDF files into Webots PROTO files, including a wider compatibility with a large range of URDF files.

  • Implement the Ghost node in Webots.

  • Implement a better Python programming interface. The new Python interface should be designed in a pythonic way with both a clean design and a good performance. New capabilities should be introduced, such as numpy support. Only Python 3.x should be supported (no Python 2.7). Experience with Python, numpy and SWIG is needed for this idea.

  • Develop a bridge between Autoware.Auto and Webots. As a part of an effort to bring Webots closer to the automotive and ROS 2 community, we want to develop Autoware.Auto integration based on vehicle_interface (see example). Besides the integration, the student should develop a few simple examples of autonomous cars utilizing the Autoware.Auto bridge. The package will be integrated into the webots_ros2 package and published as a part of Foxy, Galactic, and Rolling ROS 2 distributions.

  • Implement a walking library and demos for the simulated Boston Dynamics Spot robot in Webots. There are some open-source libraries available to make the Spot walk on flat surfaces and even climb-up stairs: A nice blog article describes various possibilities. It seems the MIT Cheetah control algorithm with champ can be used to make the robot walk on flat surface while towr will allow the robot to walk on uneven surfaces, climb-up stairs, jump, etc.

  • Implement a new model of a robot, a sensor or an actuator to the added to the Webots library. The chosen device should be a very popular one, so that it will benefit to a large number of users. It should rely on open-source material, so that it can distributed in Webots.

  • Implement a new series of nice 3D object models that could be useful in robotics scenarios. These objects should rely on open-source material, so that they can be distributed in Webots.

Optimizer

  • Optimize the performance of webots.cloud: our beta version of Webots running in the cloud from the web.

  • Choose one or several optimizations to implement and/or propose your own. Please identify one or several optimizations in your proposal, that you plan to address. Depending on the optimizations, they may be easy to achieve (and hence you can have a list of optimizations) or difficult to achieve (in that case, you may want to address only a single optimization).

Enhancer

Implement a series of desired enhancements. Enhancements are low hanging fruit that should be fairly easy to implement. Please identify a precise list of enhancements in your proposal, that you plan to address. Depending on the enhancements, they may be easy to achieve (and hence you can have a long list of enhancements) or difficult to achieve (in that case, your list of enhancements should not be too long and could even include a single item).

Bug Hunter

Fix a series of known bugs. Please identify a precise list of bugs in your proposal, that you plan to address and hopefully fix. Depending on the bugs, they may be easy to fix (and hence you can have a long list of easy bugs) or difficult to fix (in that case, your list of bugs should not be too long and could even include a single item).

Clone this wiki locally