Difference between revisions of "GSoC/2015/Ideas"

From Wiki for iCub and Friends
Jump to: navigation, search
(Project: robotInterface Parts)
(Project: Endpoint for YARP ports)
Line 49: Line 49:
  
 
'''Mentor:''' Daniele E. Domenichelli
 
'''Mentor:''' Daniele E. Domenichelli
 +
  
 
=== Project: Endpoint for YARP ports ===
 
=== Project: Endpoint for YARP ports ===
Line 59: Line 60:
  
 
'''Mentor:''' Ali Paikan, Lorenzo Natale
 
'''Mentor:''' Ali Paikan, Lorenzo Natale
 
  
 
=== Project: Improvements to Existing GUIs ===
 
=== Project: Improvements to Existing GUIs ===

Revision as of 11:49, 20 February 2015

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. Being able request whether one part is running or not.

Expected results: Knowledge of part in the robotInterface.

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: