List of Thesis topics

Professor: Prof. Saverio Mascolo - saverio.mascolo@poliba.it 

Lab. Assistants:

        Luca De Cicco         luca.decicco@poliba.it 

Vittorio Palmisano         vittorio.palmisano@poliba.it

Vito Andrea Racanelli        vito.racanelli@poliba.it 

        

General information

A thesis project consists of:

Students are encouraged to contact directly the lab assistants to decide the project to be carried out. Further information regarding the proposed projects is given in the following pages. More detailed information, references, and tools will be given once the project has been assigned.

Main references


Projects list

This is the list of the available projects, followed by a short description of each project:

Assistant: Luca De Cicco        3

Indoor localization system        3

WebRTC meets Augmented Reality        3

Video streaming simulator for immersive videos        3

Investigation of video segments duration on immersive video streaming performance        3

WebRTC Automated Testing        4

Assistant: Vittorio Palmisano        5

Virtual Reality web application        5

Augmented Reality mobile application        5

Cloud application autoscaling with Kubernetes        5

Web video encoder        5

WebRTC native application        5

Cloud 3D streaming        6

WebRTC native application with a customized video source        6

Video similarity measurement        6

Hardware 4K video encoding comparison        6

Assistant: Vito Andrea Racanelli        7

Obstacle mapping and navigation        7

Bug algorithms for an wheeled mobile robot        7

Real time path planning among movable obstacles        7

Robust wall following and collision avoidance        8

Robot following        8

Autonomous parking        8

Line maze solver        8

Robust remote control and tracking        8


Assistant: Luca De Cicco

luca.decicco@poliba.it - https://c3lab.poliba.it/LDC (DEI south wing, 3rd floor - room 51)

It follows a non-exhaustive list of proposed projects on topics generally related to WebRTC, video streaming, and indoor localization systems topics. Projects related to those topics can be spontaneously proposed by the student according to his/her interests.

Indoor localization system

Technologies: WiFi, shell scripting

Indoor localization of mobile robots is a longstanding issue. The use of WiFi signals is a promising approach that can be leveraged to estimate the position of a mobile robot. This project will aim at investigating this approach using open source available libraries such as https://www.internalpositioning.com/doc/.

WebRTC meets Augmented Reality

Technologies: HTML, Javascript, WebRTC

The main goal of this project is to project the received video through a WebRTC session on a virtual display overlayed on the scene captured by a mobile device. Technologies to be used are augmented reality toolkits for the browser (f.i. AR.js) and WebRTC. To have an idea of what will be the final outcome take a look at this webpage.

Video streaming simulator for immersive videos

Technologies: Matlab, video streaming

The goal of this project is to adapt an already developed simulator for streaming of classic  2D videos to the case of immersive 360 videos. The original simulator is written in Matlab and will be provided to the student(s) as a starting point to develop the project.

Investigation of video segments duration on immersive video streaming performance

Technologies: video streaming, some shell scripting (or similar)

This project aims at investigating the performance of an immersive video streaming system with respect to different segments durations. The complete system will be provided by us. The student(s) will be required to conduct experiments and analyze the obtained results.

WebRTC Automated Testing

Technologies: HTML, Javascript, shell scripting

Testing the complete matrix of browsers/version and networks to pinpoint WebRTC connection and functionality issues is a complex task to be done manually. To the purpose, several tools can be used to design testing systems to automatically check if a WebRTC service is functioning as expected. One possible approach that could be investigated in this project is to employ the Selenium Grid (https://www.seleniumhq.org/docs/07_selenium_grid.jsp)  or KITE (https://github.com/webrtc/KITE).  


Assistant: Vittorio Palmisano

vittorio.palmisano@poliba.it - C3LAB - (3rd floor, south wing, DEI)

Virtual Reality web application

Technologies: HTML, Javascript

The goal of this project is the design and implementation of a web application for creating virtual rooms using Aframe/ThreeJS libraries (example: https://aframe.io/examples/showcase/museum/).

Augmented Reality mobile application

Technologies: Android or iOS, Java or ObjectiveC/Swift

The goal of this project is the design and implementation of a mobile application using the augmented reality frameworks ARCore (https://developers.google.com/ar/, for Android) or ARKit (https://developer.apple.com/arkit/, iOS).

Cloud application autoscaling with Kubernetes

Technologies: Bash

The goal of this project is the development of a Kubernetes pod autoscaler (https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) using a customized metrics system (https://cloud.google.com/kubernetes-engine/docs/tutorials/custom-metrics-autoscaling).

Web video encoder

Technologies: HTML, Javascript

The goal of this project is the development of a video encoder using web technologies (example: https://webrtc.github.io/samples/src/content/getusermedia/record/).

WebRTC native application

Technologies: C++

The project goal is the development of a native implementation of a WebRTC peer (example: https://webrtc.org/native-code/development/).

Cloud 3D streaming

Technologies: C++

The project goal is the investigation of the 3D Streaming Toolkit (https://3dstreamingtoolkit.github.io/docs-3dstk/) that allows the real-time streaming of video content generated in the cloud.

WebRTC native application with a customized video source

Technologies: C++

The project goal is the investigation of a WebRTC native (C++) application (https://github.com/nicotyze/Webrtc-H264Capturer) that allows using pre-encoded content as video source.

Video similarity measurement

Technologies: C++, OpenCV

The project goal is the investigation of video similarity measurements methods using OpenCV framework (http://www.swarthmore.edu/NatSci/mzucker1/opencv-2.4.10-docs/doc/tutorials/highgui/video-input-psnr-ssim/video-input-psnr-ssim.html).

Hardware 4K video encoding comparison

Technologies: FFmpeg, required at least a GPU with encoding capabilities (Intel https://01.org/linuxgraphics/community/vaapi, Nvidia or AMD)

The project goal is the investigation of 4K video encoding using hardware graphic processing units (https://gist.github.com/Brainiarc7/4b49f463a08377530df6cecb8171306a) comparing CPU and memory usage.


Assistant: Vito Andrea Racanelli

vito.racanelli@poliba.it - C3LAB - (3rd floor, south wing, DEI)

General information: All these projects aim to develop a control system for a robotic navigation problem. You will use our mobile robot prototype platform "RoSyNa" that use a Raspberry Pi as controller board. Algorithms implementation can be made using the programming language that you prefer.

These projects are related to mobile robotics, navigation and localization control systems. Projects related to those topics can be spontaneously proposed by the students according to his/her/their interests.

Obstacle mapping and navigation

The goal of this project is to equip a robot with the ability to roam around an area and create a “map” of where there are obstacles and where it is free to travel, then to provide the robot with the ability to travel to a user-defined position on this created map. After creating such a map, the robot would be able to travel to any area of open space as directed by a user at a remote location.

Bug algorithms for an wheeled mobile robot

Most motion planning  methods  assume  the  complete  knowledge  of  the  environment.  In the absence of a map, the robot must discover the  world  through  its  sensors  and navigate  on  the  basis  of  this  incremental  information.  Bug algorithms are  a  class  of planning methods that apply to robots with very basic sensor capabilities, like detecting contact with an obstacle and moving along its contour. Interestingly, they are complete, in the sense that they find a solution whenever one exists.

The objective of the project is to implement the BUG's algorithm for motion planning and obstacle avoidance in an unknown environment.

Real time path planning among movable obstacles

Consider  a  scenario  where  a  mobile  robot  is planning and following a path in order to reach a goal. While moving in this environment an  imminent  danger  is detected (obstacles moving), so that the robot must change its path or must be brought to a complete stop without hurts. The aim of  this  project  is  the  implementation  of  a real time path planning among movable obstacles procedure for the an AWR.

Robust wall following and collision avoidance

This project aims to develop a robust wall-following and collision avoidance system for an AGV. The wall-following algorithm should be able to follow regular walls, virtual walls and curve while near corners.

Robot following (DONE)

Autonomous robots have the capability of gaining information about the  environment.  They work without  the need  for human  intervention  for  a long  period  of  time.  They  can also  adapt to changes  in  their  surrounding  environment. The goal of this project is to develop a mobile robot algorithm that tracks an external object and dynamically follows its path.

Autonomous parking

This project aims to develop and implement a system capable of controlling an AWR so that it can start in front of the parking spot, or any other point on the parking area and self-drive to a parking spot achieving a desired final pose while avoiding obstacles on the way. Depending on the expertise of the group, the implementation platform may be MATLAB, V-REP or a real AWR.

Line maze solver (ASSIGNED)

The goal of this project is to implement a line following system for an AWR at first, then add memory to the system equipping the AWR with the ability to solve a line maze.

Robust remote control and tracking

Remote control is mandatory in some tasks and the outcome of a mission relies on its robustness. This project aims to develop a remote control and tracking system for an AWR. The tracking system should be performed using artificial landmarks.