License: GNU General Public License version 3.0 (GPLv3)
RoboComp is an open-source Robotics framework providing the tools to create and modify software components that communicate through public interfaces. Components may require, subscribe, implement or publish interfaces in a seamless way. Building new components is done using two domain specific languages, IDSL and CDSL. With IDSL you define an interface and with CDSL you specify how the component will communicate with the world. With this information, a code generator creates C++ and/or Python sources, based on CMake, that compile and execute flawlessly. When some of the component structural features have to be changed, the component can be easily regenerated and all the user specific code is preserved thanks to a simple inheritance mechanism.
RoboComp provides robot users, deployers and developers with the components, tools and libraries needed to be able to create state of the art robots and even to continue with their improvement far beyond.
- Computer vision components and libraries management The project is about designing and implementing a system for object detection and recognition in 3D point clouds and 2D images.
- RoboComp Building and deployment system design Currently CMake build system in robocomp is limited only to the core libraries and some additional tools.The Goal of this project is to come up with a more suitable and efficient build system that could build the entire build system, without breaking their dependencies. I would also develop scripts which can provide a better interface for compiling individual components, running tests, search and inspect source tree efficiently,check dependencies and documentation requirements.
- RoboComp Tutorial, Social Management and Documentation. Understanding the codebase, error documentation, beginner tutorials and components ( python and c++ ) using the robocomp framework will be done in the first few weeks enabling new users to start using robocomp for their projects. Later, will be working on computer vision components and deployment generator.
- Symbolic planning techniques for recognizing objects domestic The main object of this project is the application of symbolic techniques to build efficient pipelines in order to improve computer vision techniques, recognition and interpretation of domestic objects, to be finally executed on a domestic robot, so that the robot is able to move around a house and identify and interact with any objects located inside. The goal is that given a high-level task (eg. "grab a mug"), we can use symbolic planning techniques to build a pipeline of visual processing.