We made it to Google Summer of Code 2020!

This page aims to provide more information for GSoC/RoboComp applicants who plan to apply for one of the projects I will be potentially mentoring.

9. Python3 bindings for the InnerModel library

Mentors: Luis J. Manso, Ramón Cintas

InnerModel is RoboComp’s geometry and world model representation library. It is used to compute geometric transformations, projections, transformation matrices and even to visualise the robots’ internal world models. Although it is heavily used in most RoboComp components, the Python bindings currently available are very limited and have not been properly tested in Python 3. This slot aims to complete the Python bindings and develop the corresponding unit tests to ensure the API is working as expected. The current wrapper implementation uses Boost-Python, but it would be possible to try other alternatives.

What should I consider in my project's proposal?

  • In your proposal you should cover the technologies that you plan using (for the bindings and for the tests) and how will they be used.
  • Having a working example is one of the best proofs that you can actually work on it, even if it is very limited.
  • One of the most tricky features to bring to Python from C++ is InnerModelViewer. A working prototype would be great!

Some resources that might be interesting:

  • Unit tests: wikipedia
  • Python3 unittest module: unittest
  • Introduction to InnerModel: RoboComp's internal representation of the world and itself: TUTORIAL

Needed skills

  • RoboComp
  • Python
  • C++

12. RoboComp/ROS integration

Mentors: Francisco M. Rico, Luis J. Manso

This slot aims to endow robocompdsl –RoboComp’s component generation tool– with the ability to generate ROS2 components based on CDSL descriptions and to ensure that the currently available integration with ROS1 is working properly. To this end, the student working in this project will update the C++ and Python3 templates and generate a set of unit tests to ensure that the integration is correct and to facilitate the early detection of bugs.

What should I consider in my project's proposal?

  • Information about how to update the existing support for ROS in robocompdsl.
  • Information about how to include support for ROS2 in robocompdsl.

Some resources that might be interesting:

Needed skills

  • Python3
  • C++17
  • RoboComp
  • ROS
  • ROS 2