GSoC/2015/Ideas

From Wiki for iCub and Friends
Revision as of 11:45, 20 February 2015 by Daniele.Domenichelli@iit.it (talk | contribs) (YCM)
Jump to: navigation, search

GSoC 2015 Ideas

YARP

Project: Connection GUI

Brief explanation: A GUI for handling connections, priority and QoS. Some work on YARP ports might be required in order to expose input/output/rpc mode and the type of data transmitted.

Expected results: A new GUI that shows YARP connections between YARP ports and allows to send commands to the port (to change the thread priority and the QoS)

Knowledge Prerequisite: C++, Qt5

Mentor: Daniele E. Domenichelli


Project: A GUI for designing rFSM

Brief explanation: Reduced Finite State Machine (https://github.com/kmarkus/rFSM) is a framework used to program behaviors of robotic systems. It is adopted in particular on the iCub. It would be nice to write a GUI that simplifies the design of rFSM and allows executiong and runtime monitoring of rFSM.

Expected results: a GUI that allows graphical design and monitor execution of rFSMs.

Knowledge Prerequisite: C++, Qt5, Lua

Mentor: Ali Paikan, Lorenzo Natale


Project: "One GUI to rule them all™"

Brief explanation: A GUI with a plugin system that allows to add viewers, scope, logger, position them, resize, then save and restore the state.

Expected results: A new GUI, plugins for the existing GUIs.

Knowledge Prerequisite: C++, Qt5

Mentor: Daniele E. Domenichelli


Project: robotInterface Parts

Brief explanation: Add a generic and hierarchical notion of "part" to the robotInterface, defined in the xml, in order to allow starting

  • --no-legs: start all devices and parts that are not "legs" (therefore parts "right-leg" and "left-leg" will not be started).
  • --right-arm to start only the devices that are part or required for the right arm.

Allow to start or stop one part without restarting the whole robotInterface

Expected results:

Knowledge Prerequisite:

Mentor: Daniele E. Domenichelli


Project: Endpoint for YARP ports

Brief explanation: Endpoint for YARP ports to connect portmonitor plugins.

Expected results:

Knowledge Prerequisite:

Mentor: Ali Paikan, Lorenzo Natale


Project: Improvements to Existing GUIs

Brief explanation: yarpscope still needs trigger mode, realtime mode, index ranges, yarpbuilder lacks of a lot of features.

Expected results: (To be discussed with mentors)

Knowledge Prerequisite: C++, Qt5

Mentor: (Depends on the GUI)


Project: New Carrier

Brief explanation: Some new carrier(s) for other middleware(s).

Expected results: (To be discussed with mentors)

Knowledge Prerequisite: C++, YARP, (A basic knowledge of the middleware)

Mentor: (Depends on the middleware)


Project: Yarp on smartphone

Brief explanation: Yarp + Qt5 Guis on smartphone/tablet.

Expected results: Porting of YARP Guis for (Android?) smartphone or tablet. Explore new interaction modes for touch devices.

Knowledge Prerequisite: C++, Qt, QML, (Android?)

Mentor: Daniele E. Domenichelli, Ali Paikan


Project: Yarp@home

Brief explanation: Yarp on Roomba, Lego Mindstorm, Arduino, Drones or some other "cheap" robot. :)

Expected results: Being able to build and run YARP on the selected robot, new YARP devices for the robot parts

Knowledge Prerequisite: C++, YARP, (Depends on the hardware)

Mentor: Daniele E. Domenichelli, Ali Paikan, Lorenzo Natale


Gazebo YARP Plugins

Project: Skin on Gazebo

Brief explanation:

Expected results:

Knowledge Prerequisite:

Mentor:


YCM

Project: Improvements to YCM Superbuilds

Brief explanation: There are several features missing for YCM Superbuilds,

  • Install: YCM Superbuilds cannot be installed at the moment, it would be very useful to have a "make install" target for superbuilds.
  • Installers: It would be useful to have some integration with CPack to create superbuild installers.
  • Package detection and error reporting: At the moment FeatureSummary is used to report which packages are available, but it does not distinguish between the packages found/not found and built/not built.
  • CDash integration: Unit tests should appear in the right sub-project.
  • See also https://github.com/robotology/ycm/issues

Expected results: Improvements to the superbuild modules

Knowledge Prerequisite: CMake

Mentor: Daniele E. Domenichelli

Robotology

Project: Robotology Installer

Brief explanation: Work on a "robotology" online installer/updater using Qt installer framework[1] and eventually CPack[2].

Expected results: Online installer/updater for robotology packages and dependencies.

Knowledge Prerequisite: CMake or Qt installer framework

Mentor: Daniele E. Domenichelli



Template for New Projects

Project:

Brief explanation:

Expected results:

Knowledge Prerequisite:

Mentor: