Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
teaching:gsoc2018 [2018/01/22 13:03] – [CRAM - Cognition-enabled Robot Executive] gkazhoyateaching:gsoc2018 [2018/02/20 08:17] – [Google Summer of Code 2018] ahaidu
Line 4: Line 4:
 ====== Google Summer of Code 2018 ====== ====== Google Summer of Code 2018 ======
 ~~NOTOC~~ ~~NOTOC~~
 +
 +In the following we shortly present the [[#software|open source frameworks]] that are participating for this year's Google Summer of Code.
 +
 +For the **proposed topics** see [[#proposed_topics|section]] further below.
 +
 +For **Q/A** check out our [[https://gitter.im/iai_gsoc18/Lobby|gitter page]].
 +
 +
 +===== Software =====
 +
 ===== pracmln ===== ===== pracmln =====
  
Line 87: Line 97:
 **Requirements:** Good programming skills in the Python programming **Requirements:** Good programming skills in the Python programming
 language (CPython/Cython), experience in Artificial Intelligence and Machine Learning language (CPython/Cython), experience in Artificial Intelligence and Machine Learning
-(ideally SRL technques and logic)+(ideally SRL technques and logic). Knowledge about C/C++ will be very helpful.
  
 **Expected Results:** The core components of pracmln, i.e. the learning **Expected Results:** The core components of pracmln, i.e. the learning
Line 96: Line 106:
 **Contact:** [[team/daniel_nyga|Daniel Nyga]] **Contact:** [[team/daniel_nyga|Daniel Nyga]]
  
 +**Remarks:** If you have questions about this project in advance, about your application, qualification or ways to get started, please post your question in the [[https://gitter.im/iai_gsoc18/pracmln|pracmln gitter chat]]. Personal e-mails will not be answered. 
 +==== Topic 2: Flexible perception pipeline manipulation for RoboSherlock ====
  
-==== Topic 2: Felxible perception pipeline manipulation for RoboSherlock ==== +{{  :teaching:gsoc:topic1_rs.png?nolink&145|}}
- +
-{{  :teaching:gsoc:topic1_rs.png?nolink&200|}}+
  
 **Main Objective:** RoboSherlock is based on the unstructured information management paradigm and uses the uima library at it's core. The c++ implementation of this library is limited multiple ways. In this topic you will develop a module in order to flexibly manage perception pipelines by extending the current implementation to enable new modalities and  run pipelines in parallel. This involves implementing an API for pipeline and data handling that is rooted in the domain of UIMA.  **Main Objective:** RoboSherlock is based on the unstructured information management paradigm and uses the uima library at it's core. The c++ implementation of this library is limited multiple ways. In this topic you will develop a module in order to flexibly manage perception pipelines by extending the current implementation to enable new modalities and  run pipelines in parallel. This involves implementing an API for pipeline and data handling that is rooted in the domain of UIMA. 
Line 109: Line 119:
 **Expected Results:** an extension to RoboShelrock that allows splitting and joingin pipelines, executing them in parallel, merging results from multiple types of cameras etc.  **Expected Results:** an extension to RoboShelrock that allows splitting and joingin pipelines, executing them in parallel, merging results from multiple types of cameras etc. 
  
-Contact: [[team/ferenc_balint-benczedi|Ferenc Bálint-Benczédi]]+**Assignement:** In order to be considered for this topic you need to solve a short programming assignement described [[https://gist.github.com/bbferka/06b645dfaec068f9fdc7352500583b80|here]] 
 + 
 +---- 
 + 
 +e-mail: [[team/ferenc_balint-benczedi|Ferenc Bálint-Benczédi]] 
 + 
 +chat:   [[https://gitter.im/iai_gsoc18/RoboSherlock|gitter]]
  
 ==== Topic 3: Unreal - ROS 2 Integration ==== ==== Topic 3: Unreal - ROS 2 Integration ====
  
-{{  :teaching:gsoc:ue_ros2.png?nolink&200|}}+{{  :teaching:gsoc:ue_ros2.png?nolink&150|}}
  
-TODO+Since [[https://github.com/ros2/ros2/wiki|ROS2]] has cross platform support, it would be of a great advantage to wrap it as a module in the Unreal Engine framework. This would greatly improve communication between our RobCoG modules and the ROS world. As a further step the module should be extended to work under Linux as well. This can be done using the unreal build system ([[https://docs.unrealengine.com/latest/INT/Programming/UnrealBuildSystem/|UBT]]).
  
 **Task Difficulty:** The task is to be placed in the medium difficulty level, as it requires programming skills of various frameworks (ROS, Linux, Unreal Engine).  **Task Difficulty:** The task is to be placed in the medium difficulty level, as it requires programming skills of various frameworks (ROS, Linux, Unreal Engine). 
Line 130: Line 146:
 {{  :teaching:gsoc:ue_editor.png?nolink&200|}} {{  :teaching:gsoc:ue_editor.png?nolink&200|}}
  
-TODO+For this topic we would like to extend the modules from RobCoG with intuitive Unreal Engine Editor Panels. This would allow easier and faster manipulation/visualization of various parameters. 
  
 **Task Difficulty:** The task is to be placed in the easy difficulty level, as it only requires familiarity with the [[https://docs.unrealengine.com/latest/INT/Programming/Slate/|SLATE]] framework from Unreal Engine. **Task Difficulty:** The task is to be placed in the easy difficulty level, as it only requires familiarity with the [[https://docs.unrealengine.com/latest/INT/Programming/Slate/|SLATE]] framework from Unreal Engine.
Line 143: Line 159:
 ==== Topic 5: Unreal - openEASE Live Connection ==== ==== Topic 5: Unreal - openEASE Live Connection ====
  
-{{  :teaching:gsoc:ue_oe.png?nolink&200|}}+{{  :teaching:gsoc:ue_oe.png?nolink&150|}}
  
-TODO+For this topic we would like to create a live connection between openEASE and RobCoG. A user should be able to connect to openEASE from the Unreal Engine Editor and perform various queries. For example to verify if the items from the Unreal Engine world are present in the ontology of the robot. It should be able to upload new data directly from the editor.
  
 **Task Difficulty:** The task is to be placed in the medium difficulty level, as it required knowledge of various frameworks/libraries (Unreal Engine, openEASE, c++ websocket communication) **Task Difficulty:** The task is to be placed in the medium difficulty level, as it required knowledge of various frameworks/libraries (Unreal Engine, openEASE, c++ websocket communication)
Line 154: Line 170:
  
 Contact: [[team/andrei_haidu|Andrei Haidu]], [[team/asil_kaan_bozcuoglu|Asil Kaan Bozcuoğlu]] Contact: [[team/andrei_haidu|Andrei Haidu]], [[team/asil_kaan_bozcuoglu|Asil Kaan Bozcuoğlu]]
 +
 +
 +==== Topic 6: CRAM -- Visualizing Robot's Simulation World in RViz ====
 +
 +{{ :teaching:fetch-left-in-hand-cropped.png?nolink&200|}}
 +
 +**Main Objective:** CRAM includes a fast simulation engine for developers to test their newly written plans and for robots to try out different parameters of an action before executing it in the real world. Currently, the world is only visualized using raw OpenGL rendering. The objective of this topic is to visualize the robot's simulation world in the ROS visualization tool RViz, including the state of the robot itself, the objects surrounding it and the reasoning processes involved in action execution.
 +
 +**Task Difficulty:** The task itself is simple assuming good understanding of ROS principles and basic knowledge of RViz. To that the challenge of learning a small chuck of an existing system (CRAM) is added. So overall task difficulty is considered to be medium.
 +
 +
 +{{ :teaching:fetch-left-in-hand-real-cropped.jpg?nolink&200|}}
 +
 +**Requirements:**
 +  * Familiarity with functional programming paradigms: some functional programming experience is a requirement (preferred language is Lisp but Haskel, Scheme, OCaml, Clojure, Scala or similar will do);
 +  * Experience with ROS (Robot Operating System).
 +
 +**Expected Results:** We expect operational and robust contributions to the source code of the existing robot control system including documentation.
 +
 +Contact: [[team/gayane_kazhoyan|Gayane Kazhoyan]]
 +
 +==== Topic 7: Robot simulation in Unreal Engine with PhysX ====
 +
 +{{ :teaching:unreal_ros_pr2.png?200|}}
 +
 +**Main Objective:** The objective of the project is to enable physically enabled simulation of robots in [[https://www.unrealengine.com/|Unreal Engine]] using [[http://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/apireference/files/hierarchy.html|PhysX]].
 +
 +**Task Difficulty:** The task is to be placed in the hard difficulty
 +level, as it requires programming skills of various frameworks (Unreal Engine,
 +PhysX), expertise in robotic simulation and physics engines.
 +  
 +**Requirements:** Good programming skills in C++. Good knowledge
 +of the Unreal Engine and PhysX API. Experience in robotics and robotic simulation is a plus.
 +
 +**Expected Results** We expect to be able to simulate robots in unreal, have support and able to control standard joints.
 +
 +Contact: [[team/andrei_haidu|Andrei Haidu]]




Prof. Dr. hc. Michael Beetz PhD
Head of Institute

Contact via
Andrea Cowley
assistant to Prof. Beetz
ai-office@cs.uni-bremen.de

Discover our VRB for innovative and interactive research


Memberships and associations:


Social Media: