Projekty z przemysłu

Projekty zgłoszone przez firmy

Beer Game

prowadzący:
stan: niedostępny

Celem projektu jest stworzenie aplikacji webowej z wykorzystaniem architektury mikroserwisów, która będzie stanowić platformę do przeprowadzania symulacji Beer Game. Pozwala ona symulować przepływ zamówień i towarów między browarem, dystrybutorem, hurtownią i sprzedawcą. Browar produkuje piwo, które jest następnie odbierane przez dystrybutora i przewożone do hurtowni która zaopatruje końcowego sprzedawcę. Każde ogniwo w tym łańcuchu dostaw musi, kierując się własnymi interesami, podjąć decyzję o liczbie zamawianych bądź produkowanych skrzynek piwa, tak, aby nie magazynować go zbyt dużo, ale także sprostać zapotrzebowaniu generowanemu przez konsumentów.

Sterowanie inteligentnym domem

prowadzący: Paweł Bieńkowski <pawel.bienkowski@pwr.edu.pl>
stan: zarezerwowany

Celem projektu jest stworzenie aplikacji webowej służącej do sterowania inteligentnym domem. Studenci mogą zintegrować aplikację z wybraną przez siebie platformą (np. Raspberry Pi) oraz zestawem czujników, ale mogą się też skupić na czystej aplikacji webowej z zasymulowaną elektroniczną częścią projektu. Wymagania projektowe będą dostosowane do zamysłu studentów. Ogólnie projekt powinien zawierać takie elementy jak: odczyt i prezentację danych z czujników, możliwość zdalnego sterowania wybranymi parametrami, ‘push notyfikacje’ na telefon lub przeglądarkę, gdy dane parametry przekraczają dozwolone granice (np. temperatura w pomieszczeniu).

Interaktywna lista zakupów

prowadzący:  Iwona Poźniak-Koszałka <iwona.pozniak-koszalka@pwr.edu.pl>
stan: zarezerwowany

Celem projektu jest stworzenie aplikacji webowej służącej do tworzenia listy zakupów, która może być modyfikowana na bieżąco przez wielu domowników. Powinna posiadać następujące funkcjonalności:
- Aktualna lista zakupów, do której każdy domownik ze swojego konta może dopisywać produkty
- Grupowanie produktów po kategorii i sklepie, w którym można je kupić
- Deadline, w którym produkt musi być dostępny w domu
- Trzymanie listy produktów znajdujących się w domu i ustawianie cyklicznego powiadomienia dla kupna produktów, które zawsze powinny być w domu

Predykcja spóźnień

prowadzący: Paweł Rogaliński <pawel.rogalinski@pwr.edu.pl>
stan: zarezerwowany

Celem projektu jest stworzenie aplikacji webowej lub mobilnej służącej do predykcji spóźnień osób na umówione spotkania. Aplikacja powinna mieć następujące funkcjonalności:
- umawianie się na spotkania dowolnej liczby osób
- odczyt danych z GPS w telefonie i predykcja czasu dotarcia na spotkanie
- powiadamianie o spotkaniach, na które osoba znajdując się w swojej lokalizacji może się spóźnić, jeśli od razu nie wyruszy
- powiadamianie innych uczestników spotkania o możliwości spóźnienia się danej osoby

 

Strategiczna gra online

prowadzący:
stan: niedostępny

Celem projektu jest dostarczenie webowej aplikacji, która będzie strategiczną grą online. Rekomendujemy implementację wieloosobowej gry polegającej na zarządzaniu własną osadą/planetą pozwalającej na handel, walkę i współpracę między graczami. Proponujemy użycie nietransakcyjnej bazy danych, np. Cassandra ze względu na potencjalnie ogromną ilość danych do przetworzenia.

Let’s come out

prowadzący: Marek Piasecki <marek.piasecki@pwr.edu.pl>
stan: zarezerwowany

Celem projektu jest stworzenie aplikacji webowej służącej do umawiania się na wspólne
spędzanie czasu ze znajomymi. Powinna posiadać następujące funkcjonalności:
- szukanie terminu odpowiadającego wszystkim osobom
- ustalanie formy rozrywki (bilard, kręgle, pub)
- wspólne rozliczanie kosztów (w tym zapisywanie informacji kto płacił za co)
- wyznaczanie optymalnego miejsca spotkania biorąc pod uwagę lokalizację wszystkich użytkowników
- integracja z Google Maps

 

Asystent pakowania auta (Car Trunk Assistant)

prowadzący:  Arkadiusz Niemiec <arkadiusz.niemiec@pwr.edu.pl>
stan: zarezerwowany

Tuż przed wyjazdem na narty lub na wakacje własnym autem, pojawia się ważny moment i jednocześnie problem. Jak ułożyć i zapakować do bagażnika wszystkie walizki, torby oraz inne rzeczy, które chcemy zabrać na wyjazd? Zapewne większość z nas doświadczyła sytuacji pakowania bagażnika kilkukrotnie. Niestety za każdym razem okazywało się, że można to zrobić inaczej, więc wypakowywało się auto i umieszczało cały załadunek w teoretycznie lepszy sposób.
Projekt ma na celu opracowanie aplikacji mobilnej (ewentualnie strony internetowej) obliczającej i podpowiadającej, jakie ułożenie wybranych przedmiotów w bagażniku auta będzie najlepsze. Aplikacja ma za zadanie pomóc w rozwiązaniu geometrycznego problemu plecakowego, gdzie wszystkie przedmioty mają tę samą wartość, ponieważ wszystkie muszą zostać zabrane.

Zakres funkcjonalny:
- Import danych o wymiarach bagażników samochodowych ze stron producentów lub ze strony z kolekcją takich informacji
- Wyszukiwanie i wybór auta po marce, modelu, typu, roku produkcji
- Możliwość wprowadzania wymiarów bagażnika auta w przypadku braku danego modelu w bazie danych
- Możliwość wprowadzania przedmiotów do spakowania i ich wymiarów
- Wyświetlanie w uproszczonym modelu 3D rozmieszczenia wprowadzonych przedmiotów w bagażniku wybranego modelu auta

Jako ułatwienie i dodatkowa opcja można zaimplementować funkcję do wymiarowania przedmiotów do spakowania przy pomocy aparatu w telefonie lub na podstawie zdjęć.

Agile personal productivity paraphernalia

prowadzący:  Iwona Poźniak-Koszałka <iwona.pozniak-koszalka@pwr.edu.pl>
stan: zarezerwowany

Metodyki zwinne [1] używane przede wszystkim w rozwoju oprogramowania, ale również znajdujące zastosowanie w innych domenach biznesowych, stały się popularnym rozwiązaniem w wielu aspektach pracy w przedsiębiorstwach [2]. Obecnie również zauważa się potencjał w wykorzystaniu metodyk zwinnych w utrzymywaniu produktywności jednostki i to nie tylko w życiu zawodowym, ale również osobistym, czy rodzinnym. Można zauważyć tendencję mającą na celu zastosowanie istniejących teorii i praktyk metodyk zwinnych skierowanych właśnie w tę stronę [3,4].
Mając powyższy fakt na uwadze oraz widząc pewną niezagospodarowaną przestrzeń w tej dziedzinie, planuje się realizację projektu mającego na celu stworzenie oprogramowania do wspierania osobistej produktywności w codziennym życiu (praca, rodzina). Ze względu na szerokie grono potencjalnych odbiorców projekt powinien się skupiać w dużej mierze na ich jakości użytkowej. Funkcjami takiego oprogramowania powinno być tworzenie projektów. Zarządzanie i przyznawanie pierwszeństwa zadaniom oraz grupom zadań. Interakcje społecznościowe.

1. http://agilemanifesto.org/iso/pl/manifesto.html
2. http://www.scaledagileframework.com/about/
3. https://techbeacon.com/personal-scrum-using-agile-techniques-manage-your-life
4. http://www.lifehack.org/articles/featured/scrum-for-one.html

Sklepowy system rozszerzonej rzeczywistości do prezentacji informacji o produkcie

prowadzący: Bartosz Jabłoński <bartosz.jablonski@pwr.edu.pl>
stan: zarezerwowany

Electronic Shelf Edge Label czyli Elektroniczne etykiety cenowe to rozwiązanie przyjęte w kilku sieciach hipermarketów polegające na zastąpieniu papierowych etykiet z ceną na półce – wyświetlaczem elektronicznym. Była to w ostatnim czasie dość duża innowacja, dzięki której sklepy, spodziewają się zmniejszenia liczby pomyłek w oznaczeniu ceny (cena na półce vs przy kasie), możliwości szybkiego wprowadzania zmian cen dużym grupom produktów (nawet w zależności od pory dnia i ruchu w sklepie) czy wreszcie mniejszego nakładu pracy personelu oznaczającego ceny.
Póki co, ze względów technologicznych (np. ceny wyświetlaczy) oznaczenia ESE implementuje się najczęściej jako elektroniczny wyświetlacz ośmiosegmentowy z dodatkową, papierową informacją o produkcie (choć oczywiście dostępne są już – wciąż na dużą skalę drogie – złożone wyświetlacze e-ink).

Celem przedsięwzięcia byłaby analiza, zaprojektowanie i rozważenie przykładowego wdrożenia alternatywnego w stosunku do „Electronic Shelf Edge Label” systemu oznaczania produktów na półkach.
System będący przedmiotem niniejszego projektu miałby testowo używać kart-tagów rozszerzonej rzeczywistości, oraz aplikacji mobilnej typu Augement Reality która po nakierowaniu kamerą na tag wyświetlałaby informację o produkcie, w tym np. cenę. Dodatkowo system powinien umożliwiać wprowadzanie produktów (posiadać bazę danych produktów, tagów itp.), wraz z przypisaniem do kart.

Szperacz świec

prowadzący:
stan: dostępny

Świece Japońskie, to technika analizowania wykresów notowań giełdowych stosowana w celu przewidzenia notowań w przyszłości. Przykład wykresu świecowego można zobaczyć poniżej.
Na takich wykresach powstają powtarzalne formacje, które są sygnałami kupna, bądź sprzedaży.

Tematem projektu jest napisanie systemu informatycznego, który będzie automatycznie wyszukiwał sygnały kupna i sprzedaży dla spółek notowanych na Giełdzie Papierów Wartościowych w Warszawie.

Zakres funkcjonalny:
- Import danych z notowaniami giełdowymi
- Wyszukiwanie formacji na wykresie pojedynczej spółki
- Wyszukiwanie spółek, na których aktualnie utworzyła się zadana formacja
- Sprawdzanie skuteczności zadanej formacji, dla wybranej spółki w oparciu o dane historyczne
- Wsparcie dla różnych interwałów czasowych

 

Automatyczny licznik odsłon billboardu reklamowego

prowadzący:
stan: dostępny

Koszt kampanii billboardowej dla reklamodawcy jest typowo zależny od lokalizacji reklamy, jej wielkości i czasu ekspozycji. Lokalizacja billboardu z reklamą może dawać orientacyjne, statystyczne pojęcie o liczbie osób do których reklama miała szansę dotrzeć (inne, nie rozpatrywane tutaj czynnik to np. umiejscowienie zgodne z potencjalną grupą docelową, czy prestiż lokalizacji). Innymi słowy jeden z kluczowych parametrów (tzw. Key Performance Indicator) które reklamodawca chciałby maksymalizować jest pochodną (orientacyjną) umiejscowienia reklamy. Jest to sytuacja inna niż np. na rynku reklamy Internetowej gdzie KPI – liczby odsłon reklamy może być mierzony dokładnie i aktualizowany szybko. Taki bezpośredni i aktualny KPI może mieć wiele zalet łatwych do wytłumaczenia reklamodawcom (np. gdy billboard na uboczu jest widziany przez więcej osób niż wskazywałaby intuicja, jest-nie jest widywany w pewnych godzinach, albo umieszczony przy dotąd ruchliwej drodze pozostaje niezauważony bo w okuł dogi zorganizowano objazd itp.)

O ile automatyczne mierzenie liczby odsłon w Internecie jest technologicznie proste, to w przypadku bilbordów jest to zrobić trudniej, ale wraz z rozwojem elektroniki i algorytmów komputerowych powinno się to dać zrobić coraz łatwiej i taniej…

Celem przedsięwzięcia byłoby, zaprojektowanie i zbudowanie urządzenia próbującego zliczać liczbę ludzi mogących zauważyć billboard. Wstępnie zakłada się, że urządzenie mogłoby być niewielkim „pudełkiem” zbudowanym w oparciu o mikrokomputer (np. Raspberry Pi) oraz kamerę/aparat gdzie mikrokomputer wykonywałby algorytm wykrywający i zliczający twarze. Urządzenie powinno łączyć się z centralnym serwisem integrującym je z większym systemem takich urządzeń i odnotowywać statystyki w bazie danych. System zarządzania takimi urządzeniami z kolei powinien umożliwiać wykonywanie raportów „wyświetleń”.

Robot zabawka edukacyjna ucząca dzieci programowana w języku „Skratch lub Logo”

prowadzący:
stan: dostępny

Języki programowania Skratch czy Logo zostały zaprojektowane jako narzędzie do nauczania dzieci (w wieku ok pierwszych klas szkoły podstawowej) podstawowych zasad programowania. Typowe implementacje interpretatorów tych języków prezentują wyniki działania programów na monitorze.

Celem projektu zespołowego byłoby zaprojektowanie i wykonanie zabawki edukacyjnej uczącej dzieci programowania. Zabawka powinna być otwartą i rozszerzalną platformą sprzętowo programową możliwą do złożenia w postaci tzw. „Build Kits” z powszechnie dostępnych komponentów elektronicznych (w przeciwieństwie do np. „zamkniętego”, obłożonego prawami autorskimi i stosunkowo drogiego Lego mindstorms). Przykładowa zbudowana w ten sposób zabawka mogłaby składać z komputerka R. Pi Zero (jakąś jego alternatywę, lub mikrokontroler np. STM32), napędu, głośniczka, czujnika temperatury, czujnika zbliżenia, diod świecących, kamery (na podczerwień?) itp. Dalej platforma powinna mieć możliwość programowania tak zbudowanej zabawki za pomocą programu w języku Skratch lub Logo, w tym celu należy zaimplementować system interpretujący polecenia języka oraz serwis instalujący program w robocie tak, aby mógł to zrobić początkujący programista.

Zespół projektowy powinien przygotować efekt swojej pracy jako produkt do samodzielnego złożenia gdzie grupą docelową (w marketingu tzw. Buyer Personą) byłby np. ojciec córki zainteresowanej programowaniem i/lub robotami. Złożenie elektronicznej części produktu mogłoby być zajęciem angażującym bardziej ojca zaś oprogramowanie robota – córki.

Organizator zabaw

prowadzący: Paweł Rogaliński <pawel.rogalinski@pwr.edu.pl>
stan: zarezerwowany

Celem projektu jest stworzenie aplikacji społecznościowej pomagającej w organizacji zabaw oraz imprez wśród jej użytkowników.

Realizacja projektu zakłada stworzenie dwóch współpracujących ze sobą systemów: aplikacji mobilnej oraz serwera.

Serwer będzie służył do rejestrowania nowych, mobilnych użytkowników aplikacji oraz do przetrzymywania wspólnych danych na temat zabaw.

Aplikacja mobilna będzie mogła wyświetlić na liście kontaktów osoby, które również korzystają z aplikacji (podobnie do programu WhatsUp).

Program pozwoli użytkownikowi stworzyć wydarzenie, wprowadzić jego opis a następnie rozesłać informację o nim do innych użytkowników aplikacji.

Miejsce oraz czas wydarzenia mogą być określone odgórnie przez osobę tworzącą (gospodarza) lub też może zostać zorganizowana na te tematy ankieta.
Do wyboru miejsca/możliwych miejsc zdarzenia można wykorzystać mapę.
Gospodarz może również określić „potrzeby”, a więc zasoby (przedmioty, ilość/rodzaj jedzenia/picia) jakie uważa że powinny zostać zorganizowane.
Gospodarz decyduje czy zabawa będzie rozliczana wspólnie (wtedy aplikacja podliczy wydatki wszystkich obecnych oraz dokona podziału kosztów oraz określi sposób rozliczenia)

Każdy z zaproszonych oraz gospodarz może:
- określić swoją obecność na zabawie
- zagłosować w ankietach zorganizowanych przez gospodarza
- uczestniczyć w czacie dotyczącym zabawy
- zaoferować co przyniesie na zabawę (dopisując to ręcznie do wydarzenia bądź odznaczając pozycję na liście potrzeb gospodarza)
- dopisać poniesione przez siebie wydatki do rozliczenia wspólnego (jeżeli gospodarz zatwierdził taką opcję)
- wyświetlić mapę prowadzącą na miejsce zabawy.

Urządzenie do pomiaru mocy biegacza

prowadzący: Krzysztof Arent <krzysztof.arent@pwr.edu.pl>
stan: zarezerwowany

W 2016 r. studenci PWr budowali wraz z firmą Comarch (tak samo w ramach przedmiotu Projekt Zespołowy) urządzenie do pomiaru mocy kolarza. Urządzenia tego typu (zgodnie z naszymi wspólnymi przewidywaniami z tamtego okresu) zyskały dużą popularność wśród pasjonatów kolarstwa oraz triatlonu. Rynek mocomierzy rowerowych stał się na tyle opłacalny, że skłonił firmy do inwestycji w nowe konstrukcje rowerowe, ale także do poszukiwań rozwiązań które można byłoby wdrożyć w innych dyscyplinach sportu.
Naturalnym kierunkiem poszukiwań takiego nowego obszaru jest bieganie a jednym z pierwszych urządzeń inspirowanych mocomierzami rowerowymi jest „STRYD”, służące jak to określa producent do mierzenia mocy biegacza. W rzeczywistości jest to urządzenie montowane na bucie w miejscu sznurowadeł które za pomocą pewnego modelu matematycznego zamienia dane z akcelerometrów i żyroskopu na metryki takie jak: Moc, sprężystość nogi, czas kontaktu z ziemią, oscylacja pozioma, kadencja.

Celem projektu byłoby skonstruowanie urządzenia wyposażonego w czujniki takie jak akcelerometr i żyroskop oraz umożliwiającego telemetrię danych podczas biegu do zapisania i analizy. Następnie próba przeanalizowania danych w celu określenia modelu umożliwiającego przeliczanie danych na wskaźnik poziomu intensywności biegu (nie musi być to Moc, prawdopodobnie zresztą jak w urządzenie STRYD nie mierzy dokładnie mocy).

 

Przewidywanie obciążenia systemu techniką uczenia maszynowego

prowadzący:
stan: dostępny

Posiadając możliwość dynamicznego skalowania systemu poprzez dodawanie nowych serwerów w prywatnej chmurze, chcielibyśmy przewidzieć zapotrzebowanie CPU na  kolejny dzień, bazując na korelacji historycznych danych i planowanych zadaniach.
Projekt zainspirowany pracą „Efficient Resources Provisioning Based on Load Forecasting in Cloud”, Rongdong Hu et al. https://www.hindawi.com/journals/tswj/2014/321231/

Technologie: Jesteśmy otwarci na sugestie, jednak przewidujemy ze będzie to TensorFlow (Google) lub tym podobne, potencjalnie na platformie rozproszonego przetwarzania danych Apache Flink lub Spark

PowerDeployer – CI/CD system dla aplikacji napisanych w PowerShellu

prowadzący: Iwona Poźniak-Koszałka <iwona.pozniak-koszalka@pwr.edu.pl>
stan: zarezerwowany

Celem projektu jest stworzenie systemu automatyzującego testowanie oraz wdrażanie aplikacji napisanych w PowerShellu. System, w wersji podstawowej, powinien monitorować aktywność w systemie kontroli wersji i na tej podstawie wykonywać odpowiedni zestaw testów na przygotowanej do tego celu maszynie testowej. Kolejne etapy projektu polegałyby na implementacji: przywracania maszyny testowej do stanu początkowego, generowaniu raportów z testów w postaci plików HTML oraz udostępnianiu ich na serwerze www.

Technologie / Narzędzia:

- PowerShell,
- Github / Gitlab / BitBucket,
- Jenkins,
- VirtualBox / Hyper-V / VMware Workstation / Azure / AWS,
- Windows 10.

Przydatne umiejętności:

- Znajomość systemów kontroli wersji Git / SVN,
- Podstawowa wiedza na temat administrowania systemami Linux / Windows,
- Znajomość PowerShell 5.x,
- Podstawowa wiedza na temat pisania testów,
- Znajomość wybranej technologii służącej do wirtualizacji infrastruktury.

Analiza infrastruktury cloud z wykorzystaniem oprogramowania open source

prowadzący:
stan: dostępny

Rezultatem projektu będzie analiza wymagań biznesowych i zaproponowanie sposobu (stworzenie oprogramowania) pozwalającego na zbieranie informacji o oprogramowaniu zainstalowanym w „kontenerach” w infrastrukturze „cloud”.

Rozwiązanie powinno zbierać informację o zainstalowanych i uruchomionych instancjach brokera wiadomości Active MQ Artemis, sprawdzać czy znajdują się one wśród wspieranych wersji i prezentować całość w przejrzystej formie w aplikacji web. Dodatkowym celem będzie zbieranie detali konfiguracji zainstalowanych serwerów.

Umiejętności wymagane od kandydatów:

- Analiza biznesowa – umiejętność dostrzegania potrzeb biznesowych oraz dokumentowanie ich
- Zarządzanie projektami – umiejętność definiowania, planowania i realizacji zadań potrzebnych do osiągnięcia celu projektu wraz z odpowiednim ich raportowaniem.
- Umiejętność dostrzegania współzależności, przewidywania potencjalnego ryzyka i problemów z nich wynikających oraz zarządzania nimi.
- Programowanie – znajomość języka programowania, potrzebna do stworzenia oprogramowania realizującego cele projektu.
- Integracja oprogramowania – umiejętność scalania rozwiązań informatycznych tak aby mogły one korzystać z własnych zasobów.

Technologie przewidziane do wykorzystania:

- Kontenery Docker
- Active MQ Artemis
- VirtualBox + maszyny wirtualne Linux

Etapy projektu:

1. Analiza problemu I wymagań biznesowych.
2. Sprawdzenie rynku i porównanie dostępnych rozwiązań pozwalających rozwiązać problem.
3. Zaprojektowanie rozwiązania I jego architektury.
4. Praktyczna implementacja zaprojektowanego rozwiązania.

Space Planning

prowadzący:
stan: dostępny

Celem projektu jest stworzenie aplikacji do zarządzania miejscem pracy w biurach Credit Suisse. W chwili obecnej Credit Suisse posiada we Wrocławiu trzy biura: dwa z nich posiadają system pracy typu open-space, jedno posiada zwykły system pokojowy, dodatkowo w Warszawie znajduje się jedno biuro. Zespoły i sami pracownicy co jakiś czas zmieniają miejsca gdzie siedzą. W firmie pracuje ponad 4 tysiące ludzi, dlatego taki system do oznaczania i zarządzania miejscem jest bardzo istotny.

Aplikacja powinna składać się z trzech głównych części:

1. Edytor budynków
2. Aplikacja do zarządzania miejscami
3. Panel admin

Informacje ogólne odnośnie struktury danych:

- budynek posiada piętro, piętro posiada pomieszcznia, pomieszczenie może posiadać biurka
- biurko ma stan: wolny, zajęty przez zespół, zarezerwowany data od (gdy ktoś ma być zatrudniony lub ma być przeniesiony zespół), bedzie wolny od (w sytuacji gdy ktoś jest na wypowiedzeniu)
- zespół posiada następujące atrybuty – kolor, kod, nazwa, dział, imię i nazwisko leadera

Informacje ogólne odnośnie aplikacji:

- tryb guest – tylko podgląd (nie ma dostępu do edytora)
- tryb edytor aplikacji zarządzającej – możliwość przypisywania i usuwania przypisania z miejsc
- tryb admin – dostęp do edytora budynków, dostęp do aplikacji do zarządzania miejscami i panelu admina w trybie edycji

Opis funkcjonalności poszczególnych aplikacji:

- Edytor graficzny budynków do tworzenia generycznej przestrzeni biurowej: może być open space jak i również biuro z pokojami. Powinna być możliwość znalezienia gdzie jest biurko, wolna przestrzeń, pomieszczenie biurowe, pomieszczenie socjalne, zamknięta przestrzeń typu schody, kwiat, szafa itp, otwarta przestrzeń: korytarze, przestrzenie spotkań, jadalnie, szatnia itp. Powinno być zapisane do JSON

- Graficzna aplikacja do zarządzania miejscem:
-- wybieranie budynku, piętra, pomieszczenia, biurka
-- zespół ma kolor, kod, nazwę, lidera
-- powiązanie biurka z zespołem - użytkownik edytuje stan biurka
-- generowanie wydruku (pdf), który pokazuje jaki zespół gdzie siedzi
-- możliwość filtrowania – podświetli tylko miejsca zespołu lub grupy zespołów lub wolnych miejsc

- Panel admin:
-- tworzenie/edytowanie/usuwanie zespołów
-- dodanie użytkownika aplikacji/edytowanie/usuwanie – dotyczy tylko edytora i admina, guest ma być domyślny dla każdego i dla niego nie ma potrzeby logowania się

- Wymagania niefunkcjonalne:
-- notyfikacja – w przypadku błędów lub braku uprawnień
-- testy jednostkowe typowo unitowe, pokrycie 80% zarówno front-end jak i back-end
-- testy selenium na front-end – po zrobieniu części aplikacji
-- kod na github lub gitlab, do którego pracownicy Credit Suisse będą mieć dostęp
-- przygotowanie danych testowych i danych do prezentacji

- Technologia:
-- Front-end: Angular 5
-- Back-end: Golang
-- Baza danych: Mongo lub PostgreSQL

Skype for Business bot as a next generation interface of systems

prowadzący:
stan: dostępny

Skype for Business bot that would serve as a bridge between support team members Risk Management System’s Monitoring Component (RMS MC)

Functional requirements:
- react to events raised by RMS MC
- start chat with relevant Support Team Members (STM)
- interpret the command provided by STM and call appropriate REST API methods of the RMS MC

Non-functional requirements:
- flexibly configurable (preferably plugins framework)
- written using Microsoft technology stack

As an extra feature system could support Natural Language Processing (NLP) of messages.

 

 

Zadanie paletyzacji przemysłowej z wykorzystaniem robota przemysłowego FANUC oraz dedykowanego oprogramowania Palletising

prowadzący: Elżbieta Roszkowska <elzbieta.roszkowska@pwr.edu.pl>
stan: zarezerwowany

Cele do osiągnięcia: wykorzystanie możliwości robota przemysłowego FANUC w zadaniu paletyzacji. Rozpoznanie i skorzystanie z funkcji ‘palletising’ wspierającej programowanie tego typu aplikacji.
Wymagane umiejętności: samodzielnej pracy z dokumentacją w j. angielskim, praca programistyczna z robotem przemysłowym.

Utworzenie programu na komputer PC, konwertującego pliki CAD (.dxf) na programy TP (programy robota) i przetestowanie działania na rzeczywistym robocie

prowadzący:
stan: dostępny

Cele do osiągnięcia:
- Utworzenie narzędzia na PC do szybkiego generowania trajektorii robota na podstawie plików CAD (dxf.).
- Testy działania na rzeczywistym robocie. Przygotowanie dokumentacji technicznej i instrukcji obsługi.
- Przygotowanie kompleksowego pakietu plików koniecznych do działania aplikacji.

Wymagane umiejętności:
- samodzielnej pracy z dokumentacją w j. angielskim,
- praca programistyczna z robotem przemysłowym,
- znajomość języka programowania komputera PC (np. C++).

Utworzenie szablonu programów TP dedykowanych do aplikacji paletyzacji

prowadzący:
stan: dostępny

Cele do osiągnięcia:
- Programy powinny mieć możliwość parametryzacji wg potrzeb aplikacji.
- Testy działania na rzeczywistym robocie.
- Należy uwzględnić kilka wzorów paletyzacji oraz przekładki kartonowe.

Wymagane umiejętności:
- samodzielnej pracy z dokumentacją w j. angielskim,
- praca programistyczna z robotem przemysłowym.

 

Zarządzanie sobą w czasie

prowadzący: Marek Woda <marek.woda@pwr.edu.pl>
stan: zarezerwowany

Stworzenie aplikacji webowej i mobilnej do zarządzania sobą w czasie, nawiązującą do wydanego przez (w formie papierowej) Business & life plannera.

Chcielibyśmy aby aplikacja posiadała następujące funkcje:
- kalendarz
- możliwość wpisania z funkcją remindera urodzin i ważnych okazji, wizyt u lekarzy, zajęć dodatkowych itp
- reminder
- sortowanie po dacie
- sortowanie po priorytetach
- podział na zadania do wykonania / wykonane/ w trakcie
- opis zadań
- Widok: cały rok, miesiąc, dzień
- aby miała funkcję tworzenia katalogów oraz list zadań
- aby posiadała spis treści
- powiadomienia z budzikiem
- podstawowe dane właściciela aplikacji
- elementy nawiązujące do drukowanej wersji plannera : praktyczne narzędzia i metody do zarządzania sobą w czasie
- miejsce na notatki, wnioski, przemyślenia
- podsumowanie roku /miesiąca / tygodnia
- miejsce na pomysły
- miejsce na przechowywanie inspiracji, ciekawych linków, szkiców wpisów
- planowanie roku: marzenia – pomysły – cele
- cele i priorytety na dany miesiąc, tydzień, dzień
- opcjonalnie konfiguracja z książką telefoniczną
- możliwość wyboru motywów kolorystycznych przydatnych przy kategoryzowaniu projektów
- Możliwość przypisania etykiet i filtrów
- możliwości dodawania różnego rodzaju plików, zdjęć, linków itp
- możliwość określenia powtarzalności
- możliwość tworzenia map myśli
- aplikacja w wersji responsywnej

 

Autonomiczna platforma mobilna dla inteligentnego odkurzacza

prowadzący: Elżbieta Roszkowska <elzbieta.roszkowska@pwr.edu.pl>
stan: zarezerwowany

Celem projektu jest zbudowanie mobilnej platformy dla inteligentnego odkurzacza (funkcja odkurzania nie jest wymagana).

Głównymi funkcjami platformy mają być:
- funkcja powrotu do bazy w celu naładowania baterii (ładowanie opcjonalnie)
- skanowanie pomieszczeń za pomocą wybranych czujników
- unikanie napotkanych przeszkód
- zabezpieczenie przed upadkiem np. ze schodów
- planowanie trajektorii mającej na celu pokrycie całej dostępnej powierzchni pomieszczenia zarysem robota (symulacja odkurzania)

Zadanie obejmuje:
- stworzenie fizycznego modelu platformy
- opracowanie algorytmu planowania i śledzenia trajektorii dla inteligentnego odkurzacza oraz jego oprogramowanie
- dobór odpowiednich czujników oraz ich oprogramowanie
- dobór odpowiedniego napędu z uwzględnieniem pomiaru prędkości / położenia wału silnika
- dobór zasilania, wraz z systemem nadzorującym pracę baterii
- stworzenie fizycznej bazy dokującej z ładowarką (opcjonalnie)

Wymagane umiejętności:
- znajomość języka C na poziomie dobrym
- znajomość zagadnień związanych z elektroniką na poziomie dobrym
- znajomość zagadnień związanych z programowaniem mikrokontrolerów
- znajomość oprogramowania do tworzenia schematów oraz projektowania płytek PCB np. Eagle / KiCad

Robot FANUC rozwiązujący proste równania matematyczne

prowadzący: Elżbieta Roszkowska <elzbieta.roszkowska@pwr.edu.pl>
stan: zarezerwowany

Celem projektu jest połączenie systemu wyzyjnego z manipulatorem fanuc oraz implementacja maszynowego uczenia jako elementu decyzyjnego przy poruszaniu manipulatorem.

Projekt polega na połączeniu systemu wizyjnego z manipulatorem firmy FANUC, analizie pobranych zdjęć, oraz podejmowaniu decyzji na ich podstawie. Jako aplikacja pokazowa robot miałby analizować równanie ułożone z klocków umieszczonych na planszy przed nim (np. 2+2=) a następnie pobrać z magazynu rozwiązanie równania i położyć w odpowiednim miejscu (klocek z cyfrą 4). W celu rozpoznania cyfr na obrazie należy użyć metod maszynowego uczenia z nauczycielem (ang. supervised learning).

Możliwe rozszerzenia aplikacji pokazowej:
- podanie robotowi równania na komputerze (robot sam ułoży je na planszy i rozwiąże)
- podłączenie aplikacji do chmury wraz z możliwością zdalnego sterowania ze strony internetowej
- testy i porównanie działania kilku algorytmów maszynowego uczenia

Zadania:
- obsługa kamery i manipulatora FANUC
- pobranie obrazu z kamery
- wybór algorytmu maszynowego uczenia oraz jego implementacja
- analiza obrazu i przygotowanie danych wejściowych dla algorytmu maszynowego uczenia
- wytrenowanie sieci (przygotowanie danych do nauki algorytmu maszynowego uczenia)

Wymagania:
- podstawowa znajomość kinematyki robota FANUC
- podstawowa znajomość języka programowania Python albo chęć nauczenia się go
- podstawowe umiejętności obróbki obrazu

Platforma mobilna sterowana kontrolerem ruchu Myo z elementami rozszerzonej rzeczywistości

prowadzący:  Arkadiusz Niemiec <arkadiusz.niemiec@pwr.edu.pl>
stan:  zarezerwowany

Celem projektu jest integracja systemu złożonego z platformy mobilnej z kamerą, opaski Myo oraz urządzenia wyświetlającego obraz wyjściowy (telefon/komputer).

Główne funkcjonalności projektu:
- zdalne sterowanie platformą wykorzystując kontroler Myo
- wyświetlanie obrazu z kamery w czasie rzeczywistym z nałożeniem filtru symulującego widok z kokpitu samochodu
- synchronizacja rzeczywistego ruchu ręki z filrem nakładanym na obraz (symulacja obrotu kierownicy)

Zadania do wykonania w ramach projektu:
- stworzenie platformy mobilnej
- połączenie platformy mobilnej bezprzewodowo z jednostką główną (telefon/komputer)
- analiza i przetworzenie danych z kontrolera MYO
- pobranie i odpowiednie przetworzenie obrazu live z kamery
- napisanie aplikacji filtru w dowolnym języku programowania C/C++/Python
- integracja całego systemu

Wymagania:
- podstawowa wiedza z zakresu przetwarzania sygnałów
- znajomość języka C/C++/Python
- znajomość protokołu komunikacyjnego Bluetooth Low Energy
- podstawiwa wiedza z zakresu komunikacji bezprzewodowej
- podstawowa wiedza z zakresu systemów wbudowanych
- podstawowa wiedza z zakresu elektroniki i mechaniku pozwalająca na zbudowanie platformy mobilnej

Sztuczna inteligencja w domu

prowadzący:Wojciech Bożejko <wojciech.bozejko@pwr.edu.pl>
stan: zarezerwowany

Celem projektu jest zaprojektowanie, a następnie stworzenie systemu, który pozwoli na inteligente zarządzanie domem. System składać się będzie z jednostki centralnej (decision unit) oraz z modułów wykonawczych, takich jak np. inteligentna kamera, inteligenty mikrofon, sterownik oświetlenia etc.

Główne funkcjonalności projektu:
- Rozpoznawanie właściciela domu w oparciu o Face recognition
- detekcja i dekodowanie komend głosowych
- możliwość rozszerzania systemu o nowe urzadzenia
- system bezprzewodowy, zasilany bateryjnie
- jednostka decyzyjna (decision unit) jest/ będzie w stanie uczyc sie zachowań właściciela mieszkania

Zadania do wykonania w ramach projektu:
- Analiza techniczna tematu
- sporządzenie architektory rozwiązania
- zaprojektowanie modelu komunikacji bezprzewodowej pomiędzy urządzeniami (wybór interfejsu, ramki danych)
- zaprojektowanie oraz oprogramowanie jednostki centralnej (decision unit)
- zaprojektowanie oraz oprogramowanie urządzeń wykonawczych: inteligentna kamera, inteligentny mikrofon
- integracja systemu
- przeprowadzenie testów

Wymagania:
- znajomość systemów wbudowanych
- znajomosć języka C /C++
- znajomość interfejsów do komunikacji bezprzewodowej (WiFi, zigbee, etc.)
- znajomość oprogramowania do tworzenia PCB
- umiejętność projektowania HW"

 

Wizyjny system parkingowy

prowadzący:
stan: dostępny

Celem projektu jest opracowanie oprogramowania dla urządzenia, będącego częścią  wizyjnego systemu parkingowego, które umożliwiałby:

1. monitorowanie zajętości miejsc parkingowych;
2. rozpoznawanie numerów tablic rejestracyjnych zaparkowanych samochodów.

Urządzenie powinno dokonywać analizy obrazu z podłączonej zewnętrznej kamery i na tej
podstawie udostępniać (poprzez LAN/Internet) informacje na temat zajętości wszystkich monitorowanych miejsc parkingowych. Sposób w jaki dane te zostaną udostępnione  ostanie zdefioniowany przez zespół projektowy w trakcie trwania projektu.

Nie jest wymagane, aby oprogramowanie samo „inteligentnie” rozpoznawało miejsca parkingowe, taka konfiguracja może być ręcznie wprowadzana poprzez operatora podczas pierwszego uruchamiania urządzenia w docelowej lokalizacji.

Oprogramowanie powinno umożliwiać rozbudowę urządzenia o mechanizm obracający kamerę. Dzięki takiemu rozwiązaniu za pomocą jednej kamery urządzenie umożliwiałoby objęcie monitoringiem większego obszaru parkingu.

Rozpoznawanie tablic rejestracyjnych zaparkowanych pojazdów należy traktować jako  dodatek do podstawowej funkcjonalności (tj. monitorowania zajętości miejsc parkingowych) i jako takie może działać poprawnie dopiero po spełnieniu ściśle określonych wymagań (takich jak maksymalna odległość kamery od pojazdu, kąt nachylenia kamery, stopień nasłonecznienia, itp.) zdefiniowanych przez członków zespołu projektowego.

Docelową platformą sprzętową dla urządzenia są wszelkiego rodzaju rozwiązania embedded takie jak chiliSOM (http://chilisom.com), liteSOM (http://litesom.com), Raspberry Pi dlatego też wymagane jest aby oprogramowanie zostało napisane w taki sposób aby możliwe było uruchomienie go na urządzeniach o ograniczonych zasobach sprzętowych (np. CPU Cortex-A7 528MHz, RAM: 256MB, FLASH: 2GB).

Wymagane umiejętności:

- Programowanie w języku C, C++, Python,
- Doświadczenie w pracy z urządzeniami embedded,
- Umiejętność posługiwania się systemem operacyjnym Linux.

Technologie:

- systemy budowania: Buildroot, Yocto,
- analiza obrazu: Theano, TensorFlow, OpenCV.

 

Co? Gdzie? Kiedy?

prowadzący: Marek Piasecki <marek.piasecki@pwr.edu.pl>
stan: zarezerwowany

Wprowadzenie

Scenariusz 1.
Jestem na dworcu we Wrocławiu, mam chwilę czasu (3 godziny, bo spóźnił się mój pociąg do Przemyśla), nie znam miasta, ale chciałbym skorzystać z jakiejś atrakcji, które są w pobliżu, może być dobra przekąska (pizza, ciastko, kawa) polecana przez internautów, może być knajpa z możliwością gry w planszówki, nie może być daleko od dworca, no i właśnie w tym momencie. Co tu zrobić?

Scenariusz 2.
W środę za tydzień wieczorem, chciałbym zrobić mały klabing z żoną wybrać się na obiad, później zjeść jakieś ciastko z kawą, dalszy plan to trafić do fajnej knajpy gdzie można posmakować dobrego piwa lub wypić fajne drinki a na koniec trafić na jakąś dyskotekę z muzyką lat 90-tych. Fajnie byłoby znaleźć to wszystko w pobliżu, by nie chodzić zbyt wiele. Jak to zrobić?

Założenia
Mobilna aplikacja, która podpowie, z czego może skorzystać (zjeść, zagrać w planszówki, w siatkówkę, wypić dobre piwo, posłuchać muzyki klubowej, pójść do kina, teatru) będąc w określonej lokalizacji (nie dalej niż 3 kilometry od miejsca w którym jestem, itd.) mając do dyspozycji chwilę czasu (od teraz 4 godziny, w środę od 19 przez 3 godziny itd.). Dowiedzieć się, ile to będzie kosztowało (za darmo, za 30zł bilet) i ewentualnie kupić lub zarezerwować bilet.

Responsywna aplikacja internetowa na przeglądarki.
Aplikacja musi składać się z części dla podmiotów dostarczających różnego rodzaju wydarzenia (część,
która w przyszłości będzie dostępna za opłatą) oraz części mobilnej, dostępnej dla wszystkich, którzy
chcą jakoś spędzić czas.

Technologie.
Są to technologie sugerowane, ale nie wymagane. BackEnd: Python, PostreSQL. Frontend: Angular 2.

Planowanie audytów

prowadzący: Wojciech Bożejko <wojciech.bozejko@pwr.edu.pl>
stan: zarezerwowany

Narzędzie do planowania kalendarza audytowego audytorów jednostek certyfikujących

Planowanie audytów systemów jakości wykonywanych przez audytorów jednostek certyfikujących wymaga uwzględnienia szerokiego spektrum danych, w tym m.in. zakresu uprawnień danego audytora (jakie systemy jakości i branże może audytować), graniczne daty wykonania audytów w danej firmie, nakłady czasu wymagane na audyt, odległości od siebie audytowanych lokalizacji, itd.
Obecnie planowanie to wykonywane jest przez koordynatorów audytów lub samych audytorów, co w praktyce jest bardzo nakładochłonne, mało efektywne (czasowo, kosztowo i środowiskowo) i często prowadzi do nieporozumień w procesie planowania. Informacje niezbędne do przeprowadzenia planowania są parametryzowalne, więc za możliwe uznaje się stworzenie odpowiedniego algorytmu z interfejsem umożliwiającym automatyzację procesu planowania audytów. Stworzenie narzędzia i jego zastosowanie przez jednostki certyfikujące wykonujące często tysiące audytów rocznie, umożliwi skuteczne usprawnienie procesu planowania, zminimalizuje nieporozumienia z tym związane oraz ograniczy odległości przejechane przez audytorów środkami transportu, co pozytywnie wpłynie na ograniczanie emisji CO 2 oraz optymalizację kosztów audytowania.

Audyty dostawców

prowadzący:
stan: dostępny

Narzędzie do prezentacji wyników audytów dostawców i nadzoru nad niezgodnościami

Nowoczesne systemy zarządzania jakością w coraz większym stopniu nakładają na producentów obowiązek audytowania swoich dostawców. Komunikacja na linii producent–dostawca w zakresie wyników audytów opiera się obecnie głównie na bieżącej korespondencji elektronicznej, co znacznie utrudnia wzajemne informowanie się o wynikach audytów oraz, przede wszystkim, skuteczne nadzorowanie niezgodności stwierdzonych w czasie tych audytów (niezgodność = niespełnienie przez dostawcę jakiegoś wymagania swojego odbiorcy). W wyniku audytu producent musi poinformować swojego dostawcę o tym, jakie niezgodności stwierdził. Następnie dostawca musi poinformować audytora, w jaki sposób wyeliminował te niezgodności, np. w formie załączenia poprawionych dokumentów lub zdjęć ze swojego zakładu. Na końcu audytor musi zatwierdzić, że te wdrożone poprawki (tzw. działania korygujące) rzeczywiście są skuteczne i że je akceptuje jako wystarczające. Gdy dany producent ma wielu dostawców, których musi audytować każdego roku, to cała komunikacja związana z audytowaniem staje się bardzo problematyczna, nieefektywna i trudna do prześledzenia, jak jest oparta tylko o korespondencję mailową i telefoniczną. Stąd narzędzie do wzajemnego prezentowania wyników audytów dostawców oraz nadzoru nad postępowaniem z niezgodnościami znacznie tą komunikację ułatwi i usprawni, klientom umożliwi dokładniej nadzorować swoich dostawców, a dostawcom pozwoli lepiej się dostosować do wymagań swoich klientów.

Atlas historyczny

prowadzący:
stan: dostępny

Aplikacja jest inspirowana filmami na youtube ukazującymi historię świata rok po roku w postaci mapy (np. https://www.youtube.com/watch?v=ymI5Uv5cGU4). Filmy tego rodzaju mają wysoką oglądalność i jednocześnie posiadają pewien walor edukacyjny. Pomysł polega na tym, żeby przenieść ideę stojącą za takimi filmami do świata aplikacji webowych i umożliwić pełną interakcję pomiędzy użytkownikiem a mapą. Podejście aplikacyjne pozwala dalece rozszerzyc koncept. Filmy pokazują jedynie przebieg granic w danych roku. Aplikacja może uwzględniać wiele warstw takie jak: państwa, języki, religie, narody. Może pokazywać przebieg kampanii wojennych, może śledzić losy postaci historycznych i miast, pokazywać ważne wydarzenia, itd. Docelowo ma to być &quot;wikipedia&quot; faktografii, której treść jest tworzona i walidowana przez społeczność.

Poniżej kilka ilustracji pokazujących czym ma być aplikacja.

Ilustracja 1
Załóżmy, że interesują nas podboje Napoleona. W wyszukiwarkę wpisujemy imię Napoleon, pojawia się kilka wyników i wybieramy postać nazwiskiem Bonaparte. Dostajemy chronologiczną listę wydarzeń związanych z tą osobą, wybieramy rozpoczęcie marszu na Moskwę. Wczytuje się mapa ówczesnej Europy, widoczne są państwa, główne miasta, osoba Napoleona oraz ruchy wojsk w postaci strzałek wraz z dowodzącymi. Uruchamiamy animację, po czym widzimy przemieszczanie się każdej z armii i pojawiające się miejsca bitew (po kliknięciu na ikonę informacje o niej). W każdej chwili możemy zatrzymać animację, cofnąć, przyspieszyć itd.

Ilustracja 2
Ustawiamy datę na rok 1900. Wczytuje się mapa ówczesnego świata. Spoglądamy na USA i widzimy masę prowadzących do niego strzałek z różnych rejonów świata. Strzałki są różnej grubości, a po nich poruszają się punkciki opatrzone imieniem i nazwiskiem. To wizualizacja procesu imigracji, a punkciki to znane osoby, które przeniosły się do USA. Po włączeniu animacji widzimy pojawiające się co jakiś czas adnotacje przy niektórych miastach. Dotyczą one zakładanych firm, dokonanych wynalazków, czy innych ważnych wydarzeń. Widać również rozwój sieci drogowej oraz kolejowej.

Ilustracja 3
Rok 900, środkowo-wschodnia Europa. Widzimy rozmazane, pozbawione granic terytoria ówczesnych plemion słowiańskich oraz pierwsze państwa. Po włączeniu animacji widzimy pojawiające się miasta, barwami zaznaczone jest rozprzestrzenianie się chrześcijaństwa. Pojawiają się również strzałki pokazujące kierunek rozprzestrzeniania się religii. Jedna grupa strzałek ma źródło w Rzymie, druga w Bizancjum. Na strzałkach pojawiają się nazwiska znanych misjonarzy np. Cyryla i Metodego.

Wymagania

Projekt jest duży, składa się z wielu komponentów i wymaga olbrzymich nakładów pracy na ukończenie. Niniejszy temat zakłada jedynie wykonanie uproszczonego komponentu rysowania mapy.
Mapa powinna móc renderować byty takie jak:
- lądy, morza, rzeki, jeziora
- terytoria z granicami (państwa)
Inne wymagania odnośnie mapy:
- rendering w czasie rzeczywistym (najlepiej WebGL)
- atrakcyjna wizualnie
- płynne animowanie od jednego stanu do drugiego (zmiana granic)
- elementy na mapie powinny być klikalne
- nawigacja (pan, zoom, rotate)
Format danych używany przez mapę dowolny.

Platforma zarządzania zgodami zgodna z GDPR

prowadzący:
stan: dostępny

25 maja 2018 w całej Unii Europejskie zacznie obowiązywać General Data Protection Regulation (GDPR). Jednym z wymogów dyrektywy jest zbieranie i bezpieczne przechowywanie zgód na przetwarzanie danych osobowych.

Celem projektu jest narzędzie, które pozwoli firmom na osadzenie zarządzania zgodami we własnych aplikacjach webowych, aplikacjach mobilnych oraz mailach. Narzędzie pozwoli na rejestrację zgód oraz na ich wycofywanie. Głównym elementem jest wykonanie SDK, które pozwoli innym developerom na osadzanie silnika zgód. Częścią projektu jest również wykonanie portalu administracyjnego pozwalającego na definiowanie typów zgód oraz przeglądanie już wyrażonych zgód.

Rekomendujemy architekturę mikroserwisów przy użyciu Azure Service Fabric.

 

Wyświetlacz matrycowy LED RGB

prowadzący: Krzysztof Halawa <krzysztof.halawa@pwr.edu.pl>
stan: zarezerwowany

Zaprojektowanie inteligentnej matrycy LED RGB służącej do wyświetlania informacji w postaci kolorowego tekstu lub animacji o produktach, usługach czy cenach. (Pylony reklamowe na stacjach paliw, wyświetlacze reklamowe)

Założenia projektowe:
- Moduł matrycy LED RGB wielkość 96 x 48 pikseli
- Możliwość kaskadowego łączenia modułów w większe matryce
- Komunikacja poprzez RS485 (zgodność z DOMS oraz PetroVend)
- Wymiary PCB matrycy 340x220 mm
- Automatyczna regulacja jasności

Sterownik wyświetlacza matrycowego LED RGB

prowadzący:
stan: dostępny

Zaprojektowanie sterownika pozwalającego na sterowanie matrycami LED służącymi do wyświetlania informacji w postaci kolorowego tekstu lub animacji o produktach, usługach czy cenach. (Pylony reklamowe na stacjach paliw, wyświetlacze reklamowe)

Założenia projektowe:
- Sterowanie matrycami LED poprzez komunikacje RS485 (DOMS oraz PetroVend)
- komunikacja poprzez LAN, USB z PC oraz bluetooth z smartphonem
- 8 bitowa skala kolorów

Aplikacja PC do sterowania matrycami LED

prowadzący: Paweł Bieńkowski <pawel.bienkowski@pwr.edu.pl>
stan: zarezerwowany

Stworzenie aplikacji PC (preferowany C#/C++) pozwalającej na proste tworzenie dynamicznej animacji reklamowej lub statycznego tekstu dla matryc Ledowych używanych w branży reklamowej do wyświetlania m.in. cen paliw czy informacji o usługach.

Założenia projektowe:
- Automatyczne wykrywanie sterownika
- Prosta i intuicyjne GUI
- Wbudowane efekty graficzne typu: przewijanie tekstu, wjazd z góry/dołu wyświetlacza z wypchnięciem aktualnego tekstu do dołu/góry etc.
- Możliwość stworzenia i zapisania własnych znaków specjalnych
- Możliwość zapisania i późniejszej edycji stworzonych przez siebie "projektów" wyświetlanych informacji
- Możliwość uruchomienia i podglądu stworzonej "animacji"

Aplikacja Android do sterowania matrycami LED

prowadzący: Wojciech Bożejko <wojciech.bozejko@pwr.edu.pl>
stan: zarezerwowany

Stworzenie aplikacji Android pozwalającej na prostą edycję informacji reklamowej lub cen paliw dla matryc Ledowych używanych w branży reklamowej do wyświetlania m.in. cen paliw czy informacji o usługach.

Założenia projektowe:
- Automatyczne wykrywanie sterownika
- Proste i intuicyjne GUI
- Wbudowane efekty graficzne typu: przewijanie tekstu, wjazd z góry/dołu wyświetlacza z wypchnięciem aktualnego tekstu do dołu/góry etc.
- Możliwość stworzenia i zapisania własnych znaków specjalnych.

Zgrzewarka Kondensatorowa - elektronika

prowadzący: Wojciech Bożejko <wojciech.bozejko@pwr.edu.pl>
stan: zarezerwowany

Zaprojektowanie urządzenia służącego do przypawania kołków i materiałów metalowych ze sobą za pomocą łuku elektrycznego powstającego z energii zgromadzonej w kondensatorach. Stosuje sie tą metode do łączenia niewielkich i cienkich elementów metalowych. Wykorzystywana jest w budownictwie (np. Montażu instalacji wentylacyjnych).

Założenia projektowe:
- Tyrystor jako element wykonawczy
- Ustawianie napięcia ładowania kondensatorów z przedziału 30-200V DC
- Pełne zabezpieczenie baterii kondensatorów przed przeładowaniem, przegrzaniem oraz zbyt wysokim napięciem ładowania.
- Interfejs użytkowania oraz sterowanie zgrzewarką zrealizowanie na ekranie dotykowym
- komunikacja z PC poprzez interfejs UART
- Możliwość odblokowywania dodatkowych opcji za pomocą par kodów dostępu.
- Zabezpieczenie przed nieautoryzowanym otwarciem obudowy lub próbą nieautoryzowanego odblokowania opcji w oprogramowaniu (blokada na urządzeniu oraz zapisana czynność w historii zdarzeń)
- Historia zdarzeń ma posiadać datę produkcji urządzenia, datę każdego uruchomienia oraz czas pracy, datę nieautoryzowanych prób dostępu itp.
- Wymiary PCB 108 x 105mm
- Temperatura pracy urządzenia -30 – +80 stopni C

Zgrzewarka Kondensatorowa - oprogramowanie PC

prowadzący:
stan: dostępny

Zaprojektowanie oprogramowania embedded dla zgrzewarki kondensatorowej ( urządzenia służącego do przypawania kołków i materiałów metalowych ze sobą za pomocą łuku elektrycznego powstającego z energii zgromadzonej w kondensatorach. Stosuje się tę metodę do łączenia niewielkich i cienkich elementów metalowych. Wykorzystywana jest w budownictwie (np. Montażu instalacji wentylacyjnych).)

Założenia projektowe:
- Specjalny tryb serwisowy służący do nadawania urządzeniu unikalnego PID, VID oraz odczytywania historii zdarzeń
- Generowanie kodów dostępu do dodatkowych opcji na podstawie kodu z urządzenia
- programowanie VID i PID urządzenia w trybie serwisowym, odczytywanie historii zdarzeń, odblokowanie urządzenia oraz generowanie kodów dostępu na podstawie kodu urządzenia itp.

Zasilacz diod LED o stałym prądzie wyjściowym oraz systemem flicker free

prowadzący:
stan: dostępny

Zaprojektowanie uniwersalnego zasilacza do oświetlenia ledowego wykorzystywanego na halach przemysłowych lub produkcyjnych o stałym prądzie wyjściowym oraz systemem flicker free (brak efektu migotania diod)

Założenia projektowe:
- Korekcja współczynnika mocy biernej
-wykorzystanie białych diod SMD mocy o temperaturze barwnej 4000K
- system flicker free
- zasilanie z sieci 230V
- Wyjście zasilacza o stałym prądzie w zakresie napięć 20V – 90V
- funkcja ściemniania za pomocą PWM

 

Automatyczne planowanie grafiku pracy w systemie Kadromierz

prowadzący: Iwona Poźniak-Koszałka <iwona.pozniak-koszalka@pwr.edu.pl>
stan: zarezerwowany

Kadromierz to aplikacja przeglądarkowa single page app z segmentu rozwiązań HR, która pozwala na usprawnienie procesów zarządzania czasem pracy pracowników. Aplikacja jest dedykowana dla firm, gdzie występuje rotacja czasu pracy, tworzony jest grafik pracy oraz zbierane są listy obecności pracowników.

System wypełnia lukę pomiędzy droższymi systemami ERP, a skoroszytami Excel czy kartką papieru. Jest to szereg korzyści dla pracownika, kierownika zmiany oraz działu kadr i księgowości.

Zmiany w przepisach prawa pracy coraz bardziej skłaniają szereg firm do wypróbowania i wdrażania naszego systemu. Jesteśmy przekonani, że nasz system wyeliminuje papierowe listy obecności oraz grafiki pracy prowadzone na kartkach papieru – co nawet dziś, w 2018 roku jest powszechnie stosowane w wielu firmach.

Platforma również usprawnia wewnętrzną komunikację w firmie na linii kierownik<->pracownik, gdzie pozwala na zasugerowanie zmian w grafiku pracy, zgłoszenie dyspozycyjności pracownika czy automatycznie powiadamia pracownika, jeżeli tylko jego grafik pracy ulegnie zmianie.

Wprowadzenie do automatycznego planowania grafiku pracy
Planowanie grafiku pracy jest niezwykle czasochłonnym i nużącym procesem, z którym boryka się każdy kierownik kadry. My wierzymy, że jest to matematyczny problem do rozwiązania. Już dziś, nasza platforma oferuje automatyczne planowanie grafiku pracy w oparciu o programowanie warunkowe (constraint programming). Ta funkcjonalność spotyka się z ogromnym zainteresowaniem, gdyż grafik pracy może zostać ułożony dosłownie jednym kliknięciem, a trwa to około 30 sekund. Harmonogram pracy jest generowany w oparciu o ilość zmian na danych stanowiskach dla danego dnia tygodnia, gdzie również brane pod uwagę są dyspozycyjności i absencje pracowników oraz przepisy Kodeksu Pracy dla systemu podstawowego.

Cel projektu
Celem projektu jest stworzenie oprogramowania będącego w stanie układać optymalne grafiki, dla żądanego okresu uwzględniając zapotrzebowanie na pracowników, ich dostępności oraz przepisy kodeksu pracy. Jest to problem optymalizacyjny, dla którego nie zawsze da się otrzymać poprawny wynik. Optymalne rezultat to program który dla zadanych danych sprawdza, czy da się ułożyć grafik, a następnie przedstawia kilka alternatywnych rozwiązań, najlepiej spełniające wszystkie wymagania lub opcjonalnie spełniając część z nich.

Technologia
Oprogramowanie stworzone w ramach projektu ma działać po stronie serwerowej, co daje dużą elastyczność jeśli chodzi o wybór używanych technologii. Bardzo ważnym aspektem wytworzonego oprogramowania jest jego wydajność. Zadowalającym wynikiem jest stworzenie grafiku dla 20 pracowników na tydzień w czasie mniejszym niż 1 minuta. W związku z tym
proponowane języki programowania to C++ i/lub Phyton.

 

Przemysł 4.0 - Predykcyjna diagnostyka maszyn z wykorzystaniem najnowszych rozwiązań z Mitsubishi Electric

prowadzący: Wojciech Bożejko <wojciech.bozejko@pwr.edu.pl>
stan: zarezerwowany

Celem projektu będzie implementacja funkcji analizujących na trzech różnych poziomach. Na poziomie serwonapędu, na poziomie sterownika oraz analiza danych w chmurze.
Poznanie funkcji diagnostycznych wbudowanych w serwonapędy.
DataMining – gromadzenie i analiza danych na poziomie sterownika PLC.
Wysyłanie danych przez server OPC UA do chmury i analiza w chmurze.

Przemysł 4.0 – Elastyczna produkcja z wykorzystaniem chmury

prowadzący: Michał Lower <michal.lower@pwr.edu.pl>
stan: zarezerwowany

Celem projektu będzie stworzenie narzędzia w chmurze do tworzenia zamówień. Typ produktu będzie definiował sekwencję ruchów dla robota. Całość zadania będzie wysłana z chmury na tag RFID do PLC. Pełna informacja o sekwencji produkcji będzie odczytywana przez robota. Na tej podstawie robot będzie wykonywał działania. Zakończenie sekwencji będzie zapisywane do RFID i na samym końcu do chmury.

 

Reservation system for Nokia Garage

prowadzący: Marek Bazan <marek.bazan@pwr.edu.pl>
stan: zarezerwowany

Project goals
Nokia Garage will be place where Nokia internal as well as external innovators can work on incubation and materialization of their ideas. The aim of the project is to develop system allowing quick and intuitive reservation of Garage Resources. Next to time booking system should allow selection of tools, products etc. that will be used e.g. 3D printer, IoT devices, soldering station etc. System should have also working API that can be connected to 3rd party access control system.

Scope
Web application:
• where one can book garage space for desired time
–– depending on type of activities and used tools, space can be shared by more users
–– user can also mark if he/she is willing to share space with others
–– user can indicate other he is open for collaboration on certain idea
• where one can explore all available Garage resources e.g. 3D printers, IoT devices, soldering station etc.
–– user can indicate which resources will be necessary
–– information is sent to administrator who will be ensure all requirements are met
• which can be integrated with 3rd party access control system
–– send to system information about bookings
–– get from the system information about
• where Garage admin can block access based on user credentials / email
• where Garage admin can check Garage usage statistics
–– occupancy tracking
–– resources utilization

Requirements
• Any programming language
• Base web technologies knowledge
• Any DB system knowledge
• Eager to learn new technologies

Healthiness of data

prowadzący: Jarosław Pempera <jaroslaw.pempwera@pwr.edu.pl>
stan: zarezerwowany

Project goals
We have n data-points (time-series data) describing the telecom networks performance. We want to examine healthiness of data. For each category (performance area) and network (source) we want to calculate metrics like variance, coverage, outliers, periodicity etc.

Scope:
• Processing provided data (reading the db dump, cleaning the data, building the data-representation, filtering etc.)
• Calculating metrics (for given subset of data; done in near-real time)
• Creating API for quering the data
• Visualizing results

Requirements
• Programming skills in any language
• Skills/knowledge/willingness to learn about data science/data processing/data analysis

Finding click-events patterns

prowadzący:
stan: dostępny

Project goals
We would like to find and analyse the user’s behavior of one of our apps. The main goal of the app is to collect, manage and share technical materials about Nokia products. Every material consist of set of different content-types (links, charts, presentations etc.) and is described by set of related metadata (creation and modification dates, related technology etc.). Users’ base for this app is couple of hundreds in every week, each user performs multiple actions.

Scope definition Scope:
• Reading, cleaning and processing provided data-set(s)
– Base of ‘click events’ (user, timestamp, event details with all related metadata)
– Users’ attributes: organization, position/job title
• Extracting info how the users use the app:
– How long spends in particular material
– How many “types/classes” of users there are (and if it is somehow related to their department/job profile)
– ... anything interesting, it is data mining after all
• Exporting the findings in some friendly format (csv, excelc, etc) for further analysis/visualization
• It should be possible to adapt the system for constant monitoring on the live app

Requirements
• Programming skills in any language (Python preferably)
• Skills/knowledge/willingness to learn about data science/data processing/data analysis

Steal the treasure Game

prowadzący: Tomasz Kubik <tomasz.kubik@pwr.edu.pl>
stan: zarezerwowany

Project goals
Implement real-time game with partially random map generation. As a player your goal is to steal treasure from castle and remain unnoticed by guards. As a reference see “Thief” games series.

Scope definition Scope:
• Creation of map with some random elements
• Hiding mechanism (obstacles / dark spots)
• Guards movement algorithm
• Alternative paths from entrance to treasury
• Guard elimination system

Requirements
• Basic Unity game engine knowledge (or equivalent)
• Any programming language
• Base algorithm knowledge

Fault handling system

prowadzący: Paweł Rogaliński <pawel.rogalinski@pwr.edu.pl>
stan: zarezerwowany

Project goals
The goal of the project is to prepare a platform that will accept failure reports from one of the clients. The system should automatically parse new requests, allow them to be edited and send notifications of changes. It is also required to prepare reports and export them (CSV / Excel).

Scope definition Scope:
• Automatic data parsing (from email/file, single/multiple notification)
• Adding/edit notification in UI
• Report generation and export
• Users management

Requirements
• Web technologies knowledge (recommended framework JHipster but we are open for others)
• Any DB system knowledge

Simple Streaming Calculation Platform

prowadzący: Tomasz Kubik <tomasz.kubik@pwr.edu.pl>
stan: zarezerwowany

Project goals
The goal is to create platform for streaming calculation using Apache Spark, Kafka, Cassandra, Docker in microservices architecture. This platform will allow to perform Big Data Calculation in Streaming mode.

Scope definition Features:
• Storing and presenting data in NoSQL Data Base ( i.e. Cassandra)
• Implementation of streaming services using Apache Kafka
• Deployment to Nokia Cloud with docker containers

Requirements
Scala/Java as programming language. Willing to learn new technologies. Basic knowledge about databases. Basic Knowledge of REST API.

Projects Map

prowadzący: Iwona Poźniak-Koszałka <iwona.pozniak-koszalka@pwr.edu.pl>
stan: zarezerwowany

Project goals
Web Application that allows to create map of projects that are developed in given department/company. Projects should be described by: short description, technologies, list of developers etc. Each developer should be described by list of technologies/frameworks that they know - that will allow to get help in given topic by others developers.

Scope definition Features:
• Drawing map of office with projects/developers
• Adding/editing projects/developers
• Hierarchy view of department/company
• Adding/editing department/company

Nokia integration game

prowadzący: Jerzy Kisilewicz  <jerzy.kisielewicz@pwr.edu.pl>
stan: zarezerwowany

Project goals
Corporation version of "Time’s up" game for mobile phones with centralized DB. One part of app is web application which allow to add custom characters to game. Second part is game for mobiles. Game ask backed for random set of characters and leading 4 rounds of game (description, one word, showing without speaking and pose) - like in original "Time’s up" game.

Scope definition Web application:
• List of collections
• Managing user collections of characters (adding, editing, exporting, importing, tagging)
• API for mobile app
• Downloading random set of characters from chosen collection
• Downloading random set of characters for specific characters tags (e.g. #sport, #fantasy)
• Adding new tags to characters

Mobile application:
• Downloading characters from webapp
• Showing list of characters and possibility to reject/exchange a few of them
• Gameplay (4 round, 2 teams) with counting down time, points and displaying rules of each round

Requirements
• Basic of JavaScript,
• Be open to learning mobile technologies like: Ionic, React Native, etc.

Developers dashboard

prowadzący: Iwona Poźniak-Koszałka <iwona.pozniak-koszalka@pwr.edu.pl>
stan: zarezerwowany

Project goals
Application allows creating dashboards with information about important things for developers like result of builds in CIs systems. Dashboard contains tiles with results and is customizable via web interface. Sources should be connectable via plugins. Plugin is a piece of code which contains fetching data, mapping fetched data to results and presenting result on tiles. Target of the project is to run addtional computer which presents for all developers dashboard with project development status.

Scope definition Features:
• Dashboard with tiles
• Configuration of dashboard via web app
• Sources connectable via plugins
• Notification about events (mail, slack)
• Static and dynamic tiles (for example develop branch and feature builds)

Mailing groups browser

prowadzący: Łukasz Jeleń <lukasz.jelen@pwr.edu.pl>
stan: zarezerwowany

Project goals
Application subscribes to mailing group via email (like normal user) and aggregates recived mails to threads. Threads should be searchable and filterable in the frontend part of application.

Scope definition Features:
• Mailing group client which parses mails, aggregates and persists them in DB
• API for data
• Client side for browsing, filtering, searching and possibility to contact with author of threads
• Personalized settings for spam filters and searching

Comparing graph databases

prowadzący:
stan: dostępny

Project goals
Based on prepared dataset that describes relations between ancestors (family tree) you will have to present those relations in a tree form, store and transform them using graph databases:
• OrientDB
• HGraphDB
As a conclusion you should compare those two databases based on performance and convenience for that task.

Scope definition Following project includes:
• Storing and presenting relation data in tree form in graph databases
• Scripts that perform transformations on the data, such as:
– retrieve n-th ancestor/child based on relation column
– filter children based on column value
– get all elements with given ancestor

Requirements
• Basic knowledge about databases
• Basic knowledge about data structures
• Willing to learn new technologies

Comparing map-reduce methods

prowadzący:
stan: dostępny

Project goals
Based on prepared dataset that describes relations between ancestors (family tree) you will have to present those relations in a tree form and store in MongoDB. Additionally you should be able to transform them using two methods:
• default map-reduce mechanism in MongoDB
• Spark connector for MongoDB
As a conclusion you should compare those two methods based on performance and convenience for that task.

Scope definition Following project includes::
• Storing and presenting relation data in tree form in MongoDB
• Transformations on the data using default map-reduce and Spark connector:
– retrieve n-th ancestor/child based on relation column
– filter children based on column value
– get all elements with given ancestor

Requirements
• Basic knowledge about databases (MongoDB)
• Basic knowledge about data structures
• Willing to learn new technologies (Spark)

Converter for table-based data to trees

prowadzący:
stan: dostępny

Project goals
Based on prepared dataset that describes relations between ancestors (family tree) stored in a flat table you will have to prepare a "converter" that transforms the data in the flat table to a tree structure, which should be stored in Hbase.
You should be able to perform transformations on the stored tree. You are free to choose or come up with a method for generating and storing the trees.

Scope definition Following project includes:
• Converter script/application that converts flat table data into tree structured data
• Script that performs transformations on the tree-structured data
– retrieve n-th ancestor/child based on relation column
– filter children based on column value
– get all elements with given ancestor

Requirements
• Basic knowledge about distributed computing and databases
• Basic knowledge about data structures
• Willing to learn new technologies

Recruitment application

prowadzący: Rafał Królikowski <rafal.krolikowski@pwr.edu.pl>
stan: zarezerwowany

Project goals Mobile application on Android to support job fairs with web application for management. Tablets are taken to job fairs where candidates can fill the form for selected job offers. All the applications are presented then in web application where recuiters can see the list of candidates and contact with them via mail. List of job offers can be changed between different job fairs. Some statistics should be provided to compare job fairs and job offers interest.

Scope definition
- Web application:
• List of job offerts
• List of applications for selected job offers
• Create new events
• Create new job offerts for events
• Statistics (how many candidates on specific event applied on selected job offer)
• Sending mails to one or more cadidates
- Mobile application:
• Present job offers
• Simple form per job offer
• Work in offline mode
• Send forms when online
Final scope of project will be set with the team.

Requirements
• Basic knowledge about Android
• Basic knowledge about Web programming
• Willing to learn new technologies

UI issue feedback

prowadzący: Marek Bazan <mark.bazan@pwr.edu.pl>
stan: zarezerwowany

Project goals
A Chrome (web browser) extension or web application for finding and selecting those parts of web application (website) which are considered as ugly, bugged or defected.

Scope definition Following project includes:
• An extension or web application for giving feedback about unliked part of application with a visual preview (an image or live) of that part (or the entire page with those parts selected).
• A control panel(also web application) where those feedbacks are stored and managed.

Developing applications by group of developers comes with troubles with making an agreement of visual aspects or functionality of an app. Writing e-mails and describing something using only text consume too much time and sometimes just doesn’t work, specially if one feature has more than one author. Gathering feedbacks from many sources is also hard.

Project described above makes this whole process faster, easier and much cleaner, specially for someone who is responsible for fixing.

Requirements
• Basic knowledge about any web programming language (and optionally creating Chrome extensions) and any database system.
• Willing to learn new technologies

Cross application notification system

prowadzący: Marek Piasecki <marek.piasecki@pwr.edu.pl>
stan: zarezerwowany

Project goals Implement platform allowing for easy management and aggregation of users notifications. Service should collect notifications from multiple applications and/or users. Platform should distribute notifications to subscribed end users. Additionally, there should be embeddable web component capable to displaying all unread user notification.

Scope definition
1. Web component should allow for:
• easy embed inside external applications
• display aggregated notifications
• dismiss single/all notification
• show details and links
• manage subscribed notification sources and channels
2. Service should:
• be secured source of data for web component
• provide API for automatic notifications from applications
• provide way to create manual notifications
• allow scope notification message by type (info/warning/error), applications, topic and user/user groups
• create easy way to notify end user about not read messages
• allow for scale up for high-traffic

Requirements
• Any programming language
• Base web technologies knowledge
• Any DB system knowledge
• Eager to learn new technologies

Cross-applications shortcuts as a web component

prowadzący:
stan: dostępny

Project goals
When many web services are operated and advertised by one entity (department, company, whatever) it is wise to have consistent way to easily move user bwetween applications. Good example are Google web apps or Microsoft web apps, where it’s always obvious how to jump between services in given company portfolio - by using same looking shortcuts button in every application. The goal of the project is to have web-based service that would allow for creation, maangement and display of such common component for consistent inking to many web applicatiions/pages.

Scope definition Minimal finished project allows for:
• Separate web application where one can
– create new apps - with their icons and links
– order or position of particlar application on applications list
• Web component in any technology, that can be embedded in navbar of any application, and when clicked will display list of applications user can jump to with clickable links/anchors.

Possible extension: created app could monitor health of linked applications and disable/enable or modify view of the links displayed depending on the status of linked application (unresponsive, maintanance or similar).

Requirements
• Any programming language
• Web technologies knowledge
• Any DB system knowledge
• Eager to learn new technologies

Fantasy Battle Module

prowadzący: Przemysław Śliwiński <przemyslaw.sliwinski@prw.edu.pl>
stan: zarezerwowany

Project goals
Implement turn based game where two players command their armies at board . Your goal is to defeat opposite player.
As reference see Age of Wonders III battle part or Heroes of Might and Magic battle part.

Scope definitione:
-create map (hex-based, square-based)
-units movement on board
-units attack system
-units special skills
-placing units on board

Requirements
• Basic Unity game engine knowledge (or equivalent)
• Any programming language
• Base algorithm knowledge

 

 

Biurowy system telemetryczny

prowadzący: Kamil Staniec <kamil.staniec@pwr.edu.pl>
stan: zarezerwowany

Celem projektu jest opracowanie platformy, składającej się z zestawu sond gromadzących dane oraz serwera agregującego je i wizualizującego uzyskane wyniki w atrakcyjny sposób.W podstawowym wariancie system powinien mierzyć takie parametry środowiskowe, jak temperatura i wilgotność, a w miarę możliwości także natężenie oświetlenia, ciśnienie, stężenie cząstek stałych (PM), itp. Dane powinny być przechowywane w systemie OVH Metrics Data Platform, opartym o silnik Warp10 (http://www.warp10.io), zaś wyniki zaprezentowane przy pomocy nowożytnego frameworka HTML/JS (np. Bootstrap, Angular) z wykorzystaniem platformy Grafana lub podobnej.

Wymagania technologiczne:
- preferowany język Python do implementacji całego silnika systemu,
- sugerowana platforma sprzętowa to Raspberry Pi oraz moduły ESP8266,
- OVH Metrics Platform (Warp10) do przechowywania danych.

Generator list obecności – ewidencji czasu pracy

prowadzący: Marek Woda <marek.woda@pwr.edu.pl>
stan: zarezerwowany

W ramach projektu należy przygotować aplikację internetową, działającą jako serwis dostępny przez przeglądarkę internetową, który pozwoli tworzyć miesięczne zestawienia ewidencji czasu pracy. System powinien zawierać logowanie do konta użytkownika z mechanizmem uwierzytelnienia opartym na ADFS i podziałem na role (konto zwykłe dla większości pracowników, konto uprzywilejowane dla Działu Kadr). System powinien wspierać zarówno ręczne tworzenie miesięcznej listy obecności (np. poprzez zaznaczenie w kalendarzu swoich wyjazdów, dni urlopowych, itd.), jak i generację listy obecności na podstawie odpowiedniego pliku wsadowego o określonym formacie. Zwykły użytkownik powinien mieć wgląd w historię swoich wypełnionych list obecności, zaś użytkownik uprzywilejowany powinien móc analizować wpisy innych kont oraz śledzić historię zmian każdego wpisu. Cały system powinien być zintegrowany z kalendarzem czasu pracy i zawierać informacje o dniach wolnych w danym roku kalendarzowym.

Wymagania technologiczne:
- preferowany język Python do implementacji całego silnika systemu,
- interfejs wykonany z użyciem nowożytnego frameworka HTML/JS (np. Bootstrap, Angular).

Skaner podatności CVE w aplikacjach

prowadzący:
stan: dostępny

Projekt obejmuje realizację systemu, który potrafiłby określić jakie aplikacje są zainstalowane na wskazanych maszynach, a następne przeanalizowałby je pod kątem znanych podatności CVE. Usługa powinna być uruchomiona na pojedynczym komputerze i łączyć się do podanych maszyn, na przykład za pomocą protokołu SSH. Narzędzie powinno umieć określić, które wersje konkretnych aplikacji są podatne, a proces skanowania powinien móc być uruchomiony na żądanie lub zgodnie z zaplanowanym harmonogramem. Uzyskane wyniki każdego skanowania powinny zostać zagregowane w postaci prostych logów systemowych, ewentualnie z możliwością eksportu w jakimś formacie.

Wymagania technologiczne:
- preferowany język Python do implementacji całego silnika systemu,
- opracowane narzędzie powinno działać pod system operacyjnym Ubuntu 16.04 (Xenial).

System ułatwiający rozliczanie podróży służbowych

prowadzący: Wojciech Bożejko <wojciech.bozejko@pwr.edu.pl>
stan: zarezerwowany

Projekt zakłada utworzenie aplikacji internetowej, która stanowiłaby dynamiczny odpowiednik formularza wypełnianego podczas rozliczania podróży służbowych w firmie. Narzędzie powinno obejmować wyliczanie czasu podróży na podstawie wskazania miejsca/godziny wyruszenia i powrotu. W systemie powinna być dostępna możliwość załączania paragonów i faktur dla wszelkich poniesionych przez pracownika dodatkowych kosztów. Należy zwrócić uwagę, iż wprowadzone koszty mogą występować w różnych walutach – należy wtedy uwzględnić kurs NBP A z danego dnia przy przeliczeniu. Ważnym elementem jest także możliwość deklaracji przez pracownika wielkości pobranej wcześniej zaliczki oraz jakie posiłki zostały zapewnione w trakcie delegacji. Platforma powinna obsługiwać logowanie z uwierzytelnieniem opartym na ADFS, mechanizm ról oraz historię wypełnionych wniosków.

Wymagania technologiczne:
- preferowany język Python do implementacji całego silnika systemu,
- interfejs wykonany z użyciem nowożytnego frameworka HTML/JS (np. Bootstrap, Angular).

Maszyna wirtualna w trybie High-Availability

prowadzący:
stan: dostępny

Celem projektu jest zbadanie możliwości i opracowanie rozwiązania umożliwiającego uruchomienie instancji (maszyny wirtualnej), która umożliwiła  by spełnienie warunków pracy z tak zwaną wysoką dostępnością (High-Availability), wykorzystując mechanizmy replikacji w różnych fizycznych lokalizacjach. Platformą maszyny wirtualnej będzie hypervizor KVM/Qemu w środowisku GNU/Linux na platformie OpenStack.

W zależności od dostępnych na rynku rozwiązań oraz stopnia złożoności problemu możliwe jest opracowanie rozwiązania charakteryzującego się różną 'gradacją' HA:
- replikacja dołączonego trwałego zasobu dyskowego (persistent block storage),
- replikacja zasobu stanowiącego dysk główny instancji (non-persistent block storage),
- replikacja pamięci instancji,
- replikacja stanu instancji.

W ramach projektu należy rozważyć rozwiązania, które umożliwiłyby minimalizację wpływu środowiska (hardware) na pracę maszyny wirtualnej. Idealne rozwiązanie charakteryzowało by się niezakłóconą pracą maszyny wirtualnej w przypadku utraty jednego z hyperwizorów.

Wymagania technologiczne:
- system operacyjny Ubuntu Xenial, środowisko OpenStack i hypervizor KVM/Qemu.

Usługa BGP route-reflector z optymalizacją prefiksów

prowadzący:
stan: dostępny

Celem projektu jest opracowanie usługi, która poprzez protokół BGP rozgłaszałaby sieci IP. Rozgłaszane sieci powinny być zoptymalizowane pod kontem liczby prefiksów. Każda nowo dodawana sieć powinna być sprawdzona czy nie da się zagregować prefiksu tej sieci z inną już istniejącą w konfiguracji siecią. Usuwanie sieci również powinno wiązać się z przeliczeniem pozostających rozgłaszanych prefiksów.

Usługa powinna być konfigurowalna i zarządzalna (np. dodawanie/usuwanie prefiksów) przez REST API. Usługa powinna pracować jako serwer BGP (demon).

Wymagania technologiczne:
- system operacyjny Ubuntu Xenial i język Python do realizacji narzędzia,
- mile widziana znajomość komponentu OpenStack Neutron, narzędzia Ryu i protokołu BGP.

 

 

Quizzario - aplikacja do tworzenia i przeprowadzania quizów, egzaminów, testów

prowadzący: Tomasz Kubik <tomasz.kubik@pwr.edu.pl>
stan: zarezerwowany

Główną częścią projektu jest stworzenie web API, które możliwi tworzenie oraz przeprowadzanie quizów, egzaminów i testów. Kolejnymi elementami projektu jest stworzenie aplikacji webowej oraz mobilnej, które konsumują web API. Aplikacja ma możliwość tworzenie i edytowania quizów, import i eksport pytań do pliku, możliwość wielkrotnego powtarzania pytań w celu nauki, jaki i przeprowadzania oficjalnych egzaminów. Wszystkie informacje o quizach i pytania synchronizują się z bazą danych i są przypisywane do kont użytkownika. Interfejs użytkownika powinien być możliwie prosty.

Zagadnienia do wykoniania:
- rejestracja i logowanie (Google i Facebook) użytkownika z uwzględnieniem ról (uczestnik, prowadzący itp.)
- stworzenie web API umożliwiające tworzenie i edytowanie pytań testowych oraz przeprowadzanie testów
- synchronizacja danych z bazą danych
- aplikacja webowa do tworzenia i edytowania pytań testowych oraz przeprowadzania testów
- aplikacja moblina do przeprowadzania testów
- zaprojektowanie czytelnego interfejsu użytkownika
- statystyki
- stworzenie projektu z zachowanie metodologii Scrum
- opracowanie wygodnego formatu plikowego do eksportu i importu pytań testowych

Co da Ci ten projekt?
- wiedzę o profesjonalnym procesie wytwarzania oprogramowania (scrum),
- umiejętność crossplatformowego tworzenia aplikacji mobilnych (Xamarin),
- zapoznanie się z popularnymi frameworkami (Angular JS, ASP.NET MVC),
- nawiązanie kontaktów z pracownikami jednej z największych wrocławskich firm IT,
- wiedzę o dobrych praktykach programowania.

Wymagania wstępne:
- znajomość założeń programowania obiektowego (najlepiej na przykładzie jakiegoś języka jak C#, java, C++)
- wiedza dotycząca podstaw pracy z bazami danych (CRUD)
- podstawy tworzenia stron internetowych (HTMl – np. umiejętność stworzenia czystego formularza z przyciskiem submit)

 

Competitors Comparison Tool

prowadzący:
stan: dostępny

The project is to create dedicated online platform, which will compare PPG products in different stores and retailers (Dekoral, Leroy Meriln, PSB Mrówka etc) and show the best price. Tool can be integrated with commerce platforms as well as independent solution. Must have feature is ‘competitive pricing intelligence’.

Smart Paint Shelf – concept project

prowadzący: Maciej Nikodem <maciej.nikodem@pwr.edu.pl>
stan: zarezerwowany

The purpose of the project is to come up with the functional concept of the smart-shelf for distributing paint. The group of 4- 6 members is about to introduce an operational prototype of a shelf, that will self-maintain its storage status. The device will not only react to the shortages of the paint-cans on the shelf but also will be able to communicate with the outside world and notify an operator/general-storage system to replenish the quota.
The goal of the project is not only to introduce a concept and prepare a prototype but also figure out the most optimal process to manage the shelf.

Preferred technological stack: Rasberry Pi + peripherals

Office Pathfinder

prowadzący: Iwona Poźniak-Koszałka <iwona.pozniak-koszalka@pwr.edu.pl>
stan: zarezerwowany

Expected outcome of the project is to deliver a functional web-based application that will map the office space into a digital layer and design and implement an attractive user interface that will allow all office personnel and guests to locate other officers on site. The resulting solution should be analogical to the one present in shopping-gallerias, where one could locate desired boutique.

Preferred technological stack: ASP .NET + MS Azure + Angular (or alternatively AngularJS)

Portal PaintHasLeft.com (PoRemoncie.pl)

prowadzący: Iwona Poźniak-Koszałka <iwona.pozniak-koszalka@pwr.edu.pl>
stan: zarezerwowany

The project is to create dedicated online platform that enables users to inform other about paint which has left. Users would have option to give it for free or sell it for small amount (possible feature is to donate one of PPG foundations). You can add paint in few simple steps. Other functionality assume option to ask for paints by institution like orphanage.

PPG Product Walker

prowadzący:
stan: dostępny

As the result of this project, the team should introduce a concept or a functional application that will allow quickly extract essential information about the product in on-the-spot fashion. This application will be used for efficient shopping and selection of the right toolset required for completing paint-work. The form of the solution endorsement is to be selected by the development team, however as the proof of concept: mobile application is a preferred way to start.

Preferred technological stack: Angular (or alternatively AngularJS) + PWA

“Smart PM” - Mobile application for Production Maintenance with Beacon technology

prowadzący:
stan: dostępny

The project is to create mobile application using beacon technology for preventive and reactive maintenance activities in PPG factory.
Main idea is to create modern application for industrial tablets (Windows CE is prefer) which automatically identify factory equipment (machines) an enable operator to register maintenance tasks in mobile application connected with PM module of SAP EPR system (SAP Fiori for PM is first choice solution).

 

SAMSUNG
Eye-gaze tracking przy użyciu telefonu z kamerą głębi

prowadzący:
stan: niedostępny

Project description:
Pojawienie się na rynku telefonów z kamerą głębi zainstalowaną z przodu umożliwia zwiększenie dokładności dla systemów śledzenia wzroku. Kontrola telefonu wzrokiem, może być przełomowym krokiem dla przemysłu.
Celem projektu jest zbadania możliwości śledzenia wzroku na telefonie z kamerą głębi, w oparciu o znane już algorytmy.

Zakres pracy obejmuje:
- Opracowanie i implementacja algorytmu śledzenie wzroku dla telefonu z kamerami: (1) głębi oraz (2) RGB lub IR z podświetleniem.
- Utworzenie aplikacji do zgrywania danych (obraz z kamer) z telefonu.
- Zaproponowanie przykładowych aplikacji.

Accuracy measure:
Opracowanie metody badania dokładności rozwiązania, oraz zmierzenie dokładności rozwiązania.

Mobile Avalanche Transceiver

prowadzący:
stan:niedostępny

Project description:
Celem projektu jest zaprojektowanie i stworzenie nadajnika / odbiornika fal radiowych dzialajacego na czestotliwosci zarezerwowanej dla detektorow lawinowych (457 kHz) wspolpracujacego ze smartphonem (zasilanie, przetwarzanie sygnalow, wyswietlanie wynikow). Odbierany sygnal powinien byc przetwarzany w celu uzyskania informacji o kierunku i odleglosci od urzadzenia nadajacego. Informacje powinny byc wyswietlane na ekranie smartphona.

https://pl.wikipedia.org/wiki/Detektor_lawinowy
https://en.wikipedia.org/wiki/Avalanche_transceiver

Accuracy measure:
Poprawnosc dzialania zaprojektowanego urzadzenia (nadawanie, odbior fal radiowych)
Wysoka dokladnosc wyznaczania kierunku i odleglosci (rowniez w warunkach NLOS)

Detekcja wypadku podczas aktywności (rower, wspinaczka, bieganie, narty itp.)

prowadzący: Łukasz Jeleń <lukasz.jelen@pwr.edu.pl>
stan: zarezerwowany

Project description:
Celem projektu jest stworzenie aplikacji mobilnej do wykrywania wypadkow podczas aktywnosci (bieganie, wspinaczka, narty, rower itp.) na podstawie danych z sensorow znajdujacych sie w smartphonie. W przypadku wykrycia wypadku aplikacja powinna podjac odpowiednie czynnosci (np. proba nawiazania kontaktu z uzytkownikiem, polaczenie z numerem alarmowym)

Accuracy measure:
Poprawnosc dzialania algorytmu detekcji wypadku (statystyki z zebranych danych)
Poprawnosc dzialania aplikacji w czasie rzeczywistym

Rozpoznawanie alfabetu (łaciński/cyrilica) i języka (polski/bulgarski) na podstawie analizy zdjęcia wykonanego telefonem

prowadzący: Ryszard Klempous <ryszard.klempous@pwr.edu.pl>
stan: zarezerwowany

Project description:
Celem projektu jest opracowanie aplikacji na telefon z systemem android, przy pomocy której można zrobić zdjęcie tekstu (np. tekst na znaku informacyjnym "Czynne w godzinach 10-17"), które następnie poddanane ma być analizie. W wyniku analizy ma być zidentyfikowany alfabet (np. łacinski, cyrylicja, hangul, kanji), a w drugiej kolejności język (np. polski, bułgarski, koreański, chiński). Do projektu zostanie wybrany podzbiór dwóch alfabetów i kilku jęzków.

Accuracy measure: skuteczność > 90%

System do automatycznego zbierania obrazów do trenowania klasyfikatorów neuronowych

prowadzący: Marek Bazan <marek.bazan@pwr.edu.pl>
stan: zarezerwowany

Project description:
Celem projektu jest zaprojektowanie i wykonanie systemu do automatycznego zbierania z internetu obrazów (np. zdjęć samochodów z podziałem na marki i modele). System ma pobierać pliki graficzne, archiwizować na dysku a wszystkie dodatkowe informaje przechowywać w bazie danych SQL. Dostęp do systemu przez przeglądarkę www. System powinien umożliwiać podanie dodatkowych parametrów takich jak np. minimalne i maksymalne rozmiary obrazków, typ pliku graficznego (np. jpg). System powinien umożliwiać integrację z dodatkowymi funkcjonalnoścami jak np. dedektora samochodów (sprawdzającego czy na obrazku jest samochód) i odfiltrowanie takich obrazków (pobieramy tylko obrazki, na których faktycznie jest samochód) lub tylko obrazki, na których nie ma samochodów. System powienien umozliwiać przeglądanie pobranych obrazków i wykonywanie podstawowych operacji jak usuwanie lub przenoszenie pliku do innego folderu.

System do automatycznego doboru parametrów trenowania sieci neurowych

prowadzący:
stan:niedostępny

Project description:
Celem projektu jest opracowanie skryptów w formie biblioteki python umożliwiających dobór parametrów trenowania klasyfikatorów neuronowych (np. do klasyfikacji obrazów przy pomocy sieci neuronowych), uruchomienie serii eksperymentów ze zdefiniowanym zakresem parametrów (w środowisku, gdzie dostępnych jest kilka jednostek liczących), monitorowanie przebiegu eksperymentó oraz zebranie danych w formie raportu porównujacego skuteczność poszczególnych eksperymentów. W ramach biblioteki należy zaimplementować wybraną technikę automatycznego doboru parametrów trenowania sieci neuronowych.
Wymagana znajomość python, tensorflow lub keras.

System do detekcji i rozpoznawania obiektów na obrazach, skalowalny ze złożonością obliczeniową zbliżoną do stałej

prowadzący: Michał Woźniak <michal.wozniak@pwr.edu.pl>
stan: zarezerwowany

Project description:
Projekt zakłada stworzenie systemu rozpoznawania obiektów (zakres obiektów do wyboru) na zdjęciach RGB, zapewniającego jakość zbliżoną do aktualnego opublikowanego maximum dla danego zakresu obiektów. Dodatkowym wymaganiem jest możliwość wielokrotnego rozszerzania systemu o dodatkowe klasy bez konieczności całkowitego przetrenowania, a nawet w czasie zbliżonym do O(1) względem liczby dotychczasowych klas.

Przykładowe zastosowania:
- Automatyczny asystent osoby niewidomej, informujący głosowo o istotnych obiektach znajdujących się w polu widzenia kamery. Nowe klasy obiektów mogą być w razie potrzeby dodawane przez opiekuna, przez wybranie obiektu na ekranie dotykowym i określenie klasy. Dodana klasa jest rozpoznawana od razu po dodaniu. System może zwiększyć liczbę środowisk, w których osoba niewidoma może poruszać się samodzielnie.
- System do zbierania w czasie rzeczywistym informacji o obecności znaków handlowych (logo) w przestrzeni miejskiej, w celu badań marketingowych. Podczas spaceru ulicą, system automatycznie zbiera informacje o wszyskich logo, które są w polu widzenia kamery, automatyzując proces zliczania wystąpień logo. Jeżeli logo nie jest rozpoznane, operator dodaje je do bazy danych od razu.
Powyższe zastosowania są podane w celu wyjaśnienia koncepcji i ewentualnej inspiracji, nie zawężają natomiast wymagań projektu.

Accuracy measure:
Jakość jest mierzona jako:
- dokładność rozpoznawania obiektów (F1-score)
- czas [s] potrzebny do rozpoznania obiektów na jednym obrazie
- czas [s] potrzebny do rozrzerzenia systemu o dodatkową klasę obiektów
- pierwsza pochodna czasu rozszerzenia, od liczby klas
- szacunek maksymalnej liczby klas obiektów, do której można rozszerzyć system

Znalezienie pozycji (mogą być relatywne) access pointów lub BLE na podstawie skanów

prowadzący: Kamil Staniec <kamil.staniec@pwr.edu.pl>
stan: dostępny

Project description: Celem projektu jest znalezienie pozycji urządzeń (Punkty dostępu Wi-Fi lub BLE tagi) na podstawie sił sygnałów zmierzonych w okreslonych punktach na piętrze. Metoda rozwiązania jest dowolna.

Accuracy measure:
Błąd odległości wyliczonych pozycji Access Pointów

Company provides: Pozycje punktów dostępu Wi-Fi oraz zbiór danych testowych
Udostępnione dane to pliki tekstowe zawierające następujące informacje:
- Prawdziwą pozycję, z której pochodzą pomiary (czas wystąpienia zdarzenia, pozycja w metrycznym układzie współrzędnych wyznaczonym na piętrze)
- Skany Wi-Fi (MAC, siła sygnału, częstotliwość, czas wystąpienia zdarzenia)
- Rzeczywiste pozycje punktów dostępu Wi-Fi w metrycznym układzie współrzędnych wyznaczonym na piętrze

Aplikacja informująca osobę, chcącą przejść przez jezdnię, czy może to zrobić bezpiecznie, bazująca na obrazach z kamery 360 deg

prowadzący:
stan: niedostępny

Główny przypadek użycia:
1. Użytkownik ma telefon z Androidem i kamerę 360 stopni o konstrukcji podobnej do Samsung Gear 360
2. Użytkownik zamierza przejść przez jezdnię (przejściem dla pieszych).
3. W tym celu zbliża się do krawędzi jezdni mając kamerę 360 stopni umieszczoną w ten sposób, że jedna z dwóch składowych kamer, ta patrząca do przodu, może obserwować jezdnię w obu kierunkach.
4. Aplikacja na telefonie analizuje obrazy z kamery i informuje użytkownika (np. sygnałem dźwiekowym, używanym na przejściach dla niewidomych), czy może bezpiecznie wejść na jezdnię, czy nie.

Zakres pracy:
1. Na podstawie obrazu z kamery 360 stopni, aplikacja wykrywa obecność pojazdu na pasie ruchu bliższym użytkownika, jadącego z lewej strony (zgodnie z polskimi przepisami).
2. Aplikacja oszacowuje odległość i szybkość pojazdu najbliższego względem użytkownika.
3. Na podstawie założonego czasu pokonania pasa ruchu przez użytkownika, aplikacja ocenia, czy użytkownik zdoła bezpiecznie przejść przez pas ruchu.
4. Aplikacja informuje użytkownika o możliwości (lub nie) bezpiecznego wejścia na jezdnię.

Preferowana metoda realizacji:
1. Na podstawie zapisanych ramek z kamery patrzącej do przodu, nauczyć głęboką sieć neuronową szacowania odległości widocznego pojazdu od przejścia (lub braku widocznego pojazdu).
2. Jeśli pojazd był widoczny na ostatnich dwóch ramkach i nie był zbyt blisko na ostatniej ramce, wyznaczyć jego szybkość w celu oszacowania odległości pojazdu w momencie zakończenia obliczeń.

Wykluczenia:
1. Nie jest celem projektu wsparcie użytkownika przy przechodzeniu całej jezdni, ale tylko przechodzenia przez pierwszy pas ruchu.
2. Nie jest celem projektu określenie, z której strony będą nadjeżdżać pojazdy - zakładamy, że z lewej.

Accuracy measure:
False Positive Rate - użytkownik musiał czekać pomimo, że mógł przejść bezpiecznie
False Negative Rate - użytkownik dostał informację, że może bezpiecznie wejść na jezdnię, podczas gdy nie mógł wejść bezpiecznie
Processing time - czas pomiędzy rozpoczęciem przetwarzania ramki a uzyskaniem decyzji: wejście bezpieczne lub nie

Określenie położenia źródła dźwięku w przestrzeni oraz jego odległości dla urzadzen mobilnych

prowadzący: Marek Bazan <marek.bazan@pwr.edu.pl>
stan: zarezerwowany

Project description:
Celem projektu jest znalezenie położenia zródła dżwięku w przestrzeni na podstawie przeanalizowanych sygnałów dźwiękowych przez system wielomikrofonowy. Założeniem jest, że system mikrofonowy, w tym wypadku smartfon z systemem Android, jest statyczny, natomiast źródło dźwięku jest w ruchu. Pierwszym etapem projektu powinno być znalezienie położenia źródła dźwięku w przestrzeni dla statycznego źródła dźwięku. Kolejnym etapem powinna być analiza możliwości smartfona do analizy sygnałów dźwiękowych dla dynamicznego źródła dźwięku i zbadanie czy smartfon z systemem Android może służyć jako urządzenie z systemem czasu rzeczywistego do przeprowadzenia takich pomiarów i analiz. Jeśli nie należy zbadać inne sposoby przesyłu i analizy danych dot. dźwięku do zewnętrznych urządzeń.
https://en.wikipedia.org/wiki/3D_sound_localization

Accuracy measure: pomiar odleglosci, kierunkowa skutecznosc lokalizacji

Rozpoznawanie miejsc w oparciu o dane z Mobile Data Challenge

prowadzący:
stan: niedostępny

Project description:
Profilowanie użytkownika w oparciu o dane uzyskane z osobistego urządzenia mobilnego jest intensywnie eksplorowane od momentu masowego użytkowania telefonów komórkowych/smartfon-ów/wrearabli. Jednym z aspektów profilu użytkownika są informacje dotyczące lokalizacji znanych przez użytkownika, odwiedzanych miejsc, znanych dróg, itp. W 2009-2011 powstał interesujący zbiór danych użyteczny do badań w tej tematyce. Jest to Mobile Data Challenge (MDC) Dataset [https://www.idiap.ch/dataset/mdc/]. Zbiór zawiera dane 80 użytkowników (20492 dni logów użytkowników co daje średnio 256 dni per użytkownik) do trenowania algorytmu i dodatkowe logi 34 użytkowników (11606 dni logów użytkowników co daje średnio ~341 dni per użytkownik) jako zbiór do testów. Celem projektu jest opracowanie algorytmu do rozpoznawania typów miejsc odwiedzanych przez użytkownika na podstawie danych zawartych w Mobile Data Challenge (MDC) Dataset [https://www.idiap.ch/dataset/mdc/], oraz porównanie uzyskanych rezultatów z innymi rozwiązaniami testowanymi na tym zbiorze danych.

Accuracy measure:
- porównanie z innymi rozwiązaniami powstałymi w oparciu o ten sam zbiór danych (metody opisane w publikacjach).

Zastosowanie algorytmow sztucznej inteligencji do podejmowania decyzji na podstawie danych sensorycznych (Reinforcement learning for decission process)

prowadzący: Michał Woźniak <michal.wozniak@pwr.edu.pl>
stan: zarezerwowany

Project description:
Nowoczesne metody uczenia ze wzmocnieniem pozawalaja uzyskac zadowalajace wyniki w obliczu skomplikowanych zagadnien takich jak podejmowanie decyzji w grach komputerowych, grach planszowych. Warto jednak sprawdzic mozliwosci decyzyjne podobnych technik w oparciu o dane sensoryczne jak również wizyjne. Jako przykładowy punkt zaczepienia należy wziąć pod uwagę możliwości podejmowania decyzji dotyczących oszczedności energii w zasymulowanym środowisku testowym lub oszczędności grzewczej. Jeżeli testy przejda pomyślnie mogą zostać dostarczone również rzeczywiste dane. Preferowany jezyk: Python, framework: Keras/tensorflow/pytorch/caffe2/inne znane.

Accuracy measure:
- skutecznosc podejmowanych decyzji na podstawie danych treningowych, szybkość ewaluacji, trenowania

 

System wspierania treningów kolarskich

prowadzący: Marek Piasecki <marek.piasecki@pwr.edu.pl>
stan: zarezerwowany

Celem projektu jest wykonanie:
- Urządzenia, które będzie można zamontować na dowolnym rowerze. Dane będą pobierane z wielu czujników, które będą mogły mierzyć takie parametry jak prędkość, kadencja, temperatura otoczenia i nie tylko. Urządzenie będzie umożliwiało komunikację z smartfonem wyposażonym w odpowiednią aplikację.
- Aplikacja na systemie Android komunikująca się z urządzeniem. Możliwa reprezentacja i przetwarzanie danych pochodzących z czujników.

Wymagane umiejętności:
- Programowanie w języku C, C++, Java, Python
- Podstawowa wiedza z zakresu elektroniki
- Doświadczenie w pracy z urządzeniami wbudowanymi
- Znajomość architektury klient-serwer
- Podstawowa wiedza z Androida

Wykorzystanie technologii VR do przeprowadzenia telekonferencji

prowadzący: Łukasz Jeleń <lukasz.jelen@pwr.edu.pl>
stan: zarezerwowany

Celem projektu jest wykonanie:
- mobilnego serwera danych, który dzięki podłączonym kamerom jest w stanie obsłużyć telekonferencję dla kilku użytkowników,
- aplikacji na telefon komórkowy z systemem Android, która pozwala wziąć udział w telekonferencji zarówno w trybie VR jak i standardowym.
Użytkownik w trybie VR ma mieć możliwość sterowania kamerą za pomocą ruchów głowy. Dane mają być wysyłane za pomocą WiFi.

Wymagane umiejętności:
- Programowanie w języku C, C++, Java, Python
- Podstawowa wiedza z zakresu elektroniki
- Doświadczenie w pracy z urządzeniami wbudowanymi
- Znajomość architektury klient-serwer
- Podstawowa wiedza z Androida

Projekt inteligentnego oświetlenia przy użyciu technologii Bluetooth mesh

prowadzący: Maciej Nikodem <maciej.nikodem@pwr.edu.pl>
stan: zarezerwowany

Celem projektu jest:
- oprogramowanie urządzenia embedded IoT sterującego inteligentnym oświetleniem, które będzie podłączone do sieci Bluetooth mesh
- stworzenie aplikacji webowej/desktopowej do zarządzania siecią urządzeń podłączonych do sieci mesh
Użytkownik powinien mieć możliwość manualnego sterowania oświetleniem, ustawień czasowych oraz dodania sensorów (przykładowo ruchu bądź natężenia światła).

Wymagane umiejętności:
- Programowanie w języku C/C++
- Programowanie Python/Java
- Podstawowa wiedza z zakresu elektroniki
- Doświadczenie w pracy z urządzeniami wbudowanymi

 

Sustaniable LoRa gateway

prowadzący: Łukasz Jeleń <lukasz.jelen@pwr.edu.pl>
stan: zarezerwowany

Opis projektu: (funkcje rozwiązania, cele do osiągnięcia, technologie przewidziane do wykorzystania) LoRa is one of the promising IoT technology that is getting quite a lot of attention in industry these days. The biggest advantage of LoRa is low-power, long-range operation and relatively low-cost and complexity to deploy private network. Nevertheless, LoRa gateways are powered from the grid which might be a bottleneck as grid is not available everywhere (e.g. rural and mountain areas) and might be challenging to get access to (e.g. rooftops). Sustaniable LoRa gateway would overcome these issues.

The goal is to construct a proof-of-concept of LoRa gateway that can be easily deployed in most locations including areas with difficult physical access (e.g. mountains), without electrical network (e.g. rural areas) and harsh conditions. The gateway needs to be kept small, light, weather-proof and self-sufficient so that it can be easily deployed with minimal infrastructure and workload. The proposed solution needs to include MCU (e.g. RPi, BeagleBone, Arduino) that will manage LoRa and GSM module and communicate management and data packets between LoRa and GSM networks, renewable energy source that will provide electric power needed for robust operation, and electrical energy storage. The whole device needs to be built in a way that will enable continuous outdoor operation.
The task is to:
- estimate energy balance of LoRa gateway and assess what source of renewable energy and what storage is needed to power it,
- design prototype(s) of the LoRa gateway and specify detailed requirements for it and its components, include mechanical design, casing and mounting,
- develop renewable energy source and energy storage for powering the gateway,
- build a prototype and develop software that will make the gateway operational (communicating LoRa packets to TTN or Thaumatec LoRaWAN servers),
- simulate and validate gateway operation in different conditions, confirm operational parameters,

Technology:
Thaumatec provides LoRa gateways deployed in Wrocław (providing network coverage to vast areas of the city), know-how and hands-on experience in building LoRa-based devices (hardware and software), backend and frontend software.
The team can propose hardware and software (programming languages, protocols, etc.)
technology to be used.

Competences required:
The team should comprise of 1-2 people who have already had some experience in C/C++ programming and some in using/programming RPi/Arduino. Person that have at least basic experience in building simple, digital electronics (e.g. design of electronic circuits, soldering, etc.) would be an advantage.

LoRa based geofencing for mobile objects

prowadzący: Maciej Nikodem <maciej.nikodem@pwr.edu.pl>
stan: zarezerwowany

Opis projektu: (funkcje rozwiązania, cele do osiągnięcia, technologie przewidziane do wykorzystania) LoRa is one of the promising IoT technology that is getting quite a lot of attention in industry these days. The biggest advantage of LoRa is low-power, long-range operation and relatively low-cost and complexity to deploy private network. According to Thaumatec findings LoRa can be used for rough location estimation without using GPS receivers and thus further reducing node power consumption and extending its operation on batteries. Geofencing, i.e. deciding if mobile node stays within predefined boundaries, is one of such application.

The goal is design a LoRa-based geofencing solution that will use rough LoRa-based localization to detect if mobile node has left the predefined area. Battery powered node is to be equipped with GPS receiver that is normally turned off. GPS receiver is enabled when LoRa based localization detects device has left the area and is used to estimate and inform about “exact location”. Optionally node can be equipped with backup communication interface, e.g. GSM.
The task is to:
- choose a hardware platform to use – can either use existing platform or construct new one,
- learn Thaumatec API and operation of rough localization feature,
- program hardware platform of choice to implement geolocalization and accurate location according to the description above,
- implement frontend application to define the area(s) assign devices to area(s) and display “geofencing information”,
- conduct real-life test in the neighborhood of university area to experimentally validate the proposed solution.

Technology:
Thaumatec provides LoRa gateways deployed in Wrocław (providing network coverage to vast areas of the city), know-how and hands-on experience in building LoRa-based devices (hardware and software), backend and frontend software.
The team can use LoRa motes provided by Thaumatec (either reference SEMTECH LoRa motes or own proprietary motes. Suggested software platform: C/C++ (hardware), Python, FLASK,REST API, MySQL/PostgreSQL.

Competences required:
The team should comprise a person who have already had some experience in C/C++ programming for microcontrollers. Python and FLASK for web application programming.

 

Platforma do automatycznej rezerwacji transferów lotniskowych i wycieczek krajoznawczych - Airport Shuttle

prowadzący:  Iwona Poźniak-Koszałka <iwona.pozniak-koszalka@pwr.edu.pl>
stan: zarezerwowany

W ramach projektu grupa będzie pracowała wraz z wybranym ekspertem firmy nad platformą do automatycznej rezerwacji transferów lotniskowych i wycieczek krajoznawczych. Bardzo duża uwaga w projekcie będzie kładziona na obszar user experience platformy - zarówno od strony użytkownika końcowego jakim jest klient jak również administratorów obsługujących system. Zespół realizujący będzie mógł zapoznać się z takimi narzędziami jak persona, mapa podróży klienta. Platforma tworzona będzie zgodnie z podejściem Mobile first - Progressive Enhancement. Platforma posiadała będzie m.in. takie funkcjonalności jak system rezerwacji przejazdu lub wycieczki (wraz z wyborem dostępnych firm/aut, dokonaniem opłaty za transfer z wykorzystaniem płatności elektronicznych), rejestracja kont użytkowników (podgląd historii przejazdów, wydrukowanie biletu, zmiana lub anulowanie rezerwacji), wybór języka strony oraz waluty (dostosowywane domyślnie do lokalizacji użytkownika).

Wymagane umiejętności: .Net, PHP, MySQL, JavaScript + jQuery, HTML, css.

Mile widziane: doświadczenie w projektowaniu stron responsywnych, umiejętności graficzne.

Practisys - generator umów stażowych on-line wraz z oceną pracodawcy oraz potwierdzaniem kompetencji stażysty

prowadzący: Michał Woźniak <michal.wozniak@pwr.edu.pl>
stan: zarezerwowany

W ramach projektu powstanie generator umów stażowych działający on-line opracowany zgodnie z podejściem Mobile first - Progressive Enhancement. Od strony użytkownika końcowego system pozwoli na rejestrację oraz logowanie kont użytkowników różnych typów (student, uczelnia, pracodawca) posiadających różne uprawnienia. System posiadał będzie m.in. takie funkcjonalności jak – możliwość wygenerowania umowy stażowej na podstawie wprowadzonego do systemu wzoru, dziennik aktywności stażysty, możliwość oceny kompetencji stażysty przez pracodawcę oraz ocenę atrakcyjności stażu przez stażystę.

Projekt realizowany będzie w ramach podpisanej z firmą umowy o praktykę, w ramach niej dojdzie do przekazania majątkowych praw autorskich. Każdy ze studentów z grupy/grup, realizujących projekt otrzyma bon o wartości 350 zł do wykorzystania na doradztwo biznesowe w zakresie zakładania i prowadzenia działalności gospodarczej.

Wymagane umiejętności: .Net, PHP, MySQL, JavaScript + jQuery, HTML, css.

Mile widziane: doświadczenie w projektowaniu stron responsywnych, umiejętności graficzne.

System Wirtualnego Biura umożliwiający zatrudnienie w charakterze administratorów/konsultantów osób z niepełnosprawnościami narządu wzroku

prowadzący:
stan: dostępny

W ramach projektu grupa będzie pracowała wraz z wybranym ekspertem firmy nad systemem Wirtualnego Biura dostosowanego do obsługi przez osoby z niepełnosprawnościami narządu wzroku. Znaczna uwaga położona będzie na obszar user experience, w szczególności dostosowanie panelu administracyjnego do specyfikacji WCAG 2.0. Front-end tworzony będzie zgodnie z podejściem Mobile first - Progressive Enhancement. System od strony użytkownika końcowego będzie dostępny w minimum 2 językach i posiadał będzie m.in. takie funkcjonalności jak możliwość zakupienia wybranej usługi, rejestracja kont i logowania użytkowników (podgląd skanów otrzymanej korespondencji, historię zamówień, kalendarz z opcją synchronizacji z popularnymi standardami kalendarzy (m.in. MS Outlook, Google Calendar), opcjonalnie klienta poczty, czat z konsultantem). Od strony administratora powinien pozwalać na obsługę kont użytkowników, dodawanie skanów korespondencji, wysyłkę komunikatów systemowych.

Projekt realizowany będzie w ramach podpisanej z firmą umowy o praktykę, w ramach niej dojdzie do przekazania majątkowych praw autorskich. Każdy ze studentów z grupy/grup, realizujących projekt otrzyma bon o wartości 350 zł do wykorzystania na doradztwo biznesowe w zakresie zakładania i prowadzenia działalności gospodarczej.

Wymagane umiejętności: .Net, PHP, MySQL, JavaScript + jQuery, HTML, css.

Mile widziane: doświadczenie w projektowaniu stron responsywnych, znajomość specyfikacji WCAG 2.0, umiejętności graficzne.