Celem zajęć jest realizacja oprogramowania oraz przygotowanie dokumentacji. Zajęcia są przewidziane na jeden semestr i w tym czasie mają zostać wytworzone rezultaty.
Zakres dokumentacji zależy od tematu. W przybliżeniu ma ona obejmować
Koncepcja rozwiązania
Podstawowe (planowane) funkcje systemu wraz z krótkim opisem
Model dziedziny (przetwarzanych informacji) w postaci diagramu klas
Opis architektury rozwiązania (podstawowe komponenty)
Opis wybranych elementów implementacji
Rezultaty testów
Projekty wykonywane są w grupach. Grupy powinny przedstawiać kolejne przyrosty realizacji projektu średnio co dwa tygodnie.
1. Portal społecznościowy do zgłaszania zagrożeń w ruchu drogowym
Celem systemu jest zbieranie danych na temat zagrożeń w ruchu drogowym.
Typy zagrożeń:
stałe (zła nawierzchnia, kręte drogi, duży ruch pieszych, niebezpieczne skrzyżowanie, zła widoczność)
krótkotrwałe (wypadek, przejściowe ograniczenie ruchu, np. remont)
System ma umożliwiać
Wizualizację mapy zagrożeń (przy wykorzystaniu gotowej usługi typu google maps lub OpenLayers)
Definiowanie nowego zagrożenia (przez użytkownika)
Zatwierdzanie zagrożenia (przez moderatora)
Głosowanie użytkowników potwierdzające istotność zagrożenia. Możliwe jest także głosowanie na środki zwiększające bezpieczeństwo, np. ogranicz prędkość, zbuduj wysepkę, dodaj światła
[2-3 osoby]
2. Aplikacje mobilne
Realizacja projektu wymaga umiejętności spoza programu studiów. Platforma realizacji: Android. Dla osób znających tę platformę lub chcących się z nią zapoznać.
2.1 Aplikacja mobilna do portalu zagrożeń w ruchu drogowym
Zgłaszanie zagrożeń z poziomu aplikacji mobilnej
Możliwość głosowania
Wizualizacja zagrożeń w okolicy
[2-3 osoby]
2.2 Aplikacja mobilna do zbierania danych o charakterystyce dróg
Celem projektu jest napisanie aplikacji, która pozwoli zebrać równocześnie:
dane lokalizacyjne GPS
dane z akcelerometru
Zebrane dane mają służyć do oceny jakości nawierzchni dróg.
[1-2 osoby]
Agenci mogą komunikować się i przesyłać część posiadanych informacji. Wielkość przesyłanych danych zależy od jakości łącza komunikacyjnego. Po otrzymaniu wiadomości powinno nastąpić uaktualnienie wiedzy.
Należy przewidzieć wizualizację (na siatce kwadratowej lub heksagonalnej) oraz możliwość zatrzymania symulacji i przejrzenia map dynamicznych agentów.
Dynamicznie zmieniające się informacje taktyczne mogą być reprezentowane w postaci grafu z atrybutami:
Wierzchołki:
jednostki biorące udział w akcji (agenci)
punkty terenu, bezpieczne miejsca, schronienia, miejsca zbiórki dla ewakuacji
obszary objęte zagrożeniem
jednostki wroga
cywile lub ich grupy
Krawędzie (relacje):
kontakt wzrokowy,
bliskość, dostępność
łącza komunikacyjne
przepustowość
[2-3 osoby]
4. Konfiguracja symulacji ruchu drogowego dla symulatora SUMO
Celem projektu jest automatyzacja procesu przygotowania symulacji ruchu drogowego z użyciem symulatora SUMO:
import mapy OSM dla wybranego obszaru i przetworzenie na dane dla symulatora
zdefiniowanie punktów pomiaru (automatyczne rozmieszczenie dużej liczby punktów pomiaru w zadanym obszarze)
uruchomienie symulacji, zbieranie danych i zapis w bazie danych
wizualizacja wyników symulacji dla wybranych dróg
[2 osoby]
5. System rekomendacji ograniczeń ruchu na podstawie danych geograficznych
Współczesne ogólnodostępne mapy, np. Open Street Map (OSM) zawierają takie informacje, jak:
kształty dróg
budynki
POI (points of interest): kościoły, szkoły, sklepy, boiska, restauracje, itp..
dane demograficzne
Celem projektu jest implementacja i testy oprogramowania/algorytmu, który będzie rekomendował ograniczenia ruchu (zwłaszcza ograniczenia prędkości) dla wybranych dróg mapy…
Powinien wykorzystać takie informacje, jak:
skrzyżowania dróg
oszacowanie wielkości ruchu (także pieszego)
gęstości zaludnienia - liczba małych uliczek, budynków, itp..
oszacowanie „krętości drogi”
bliskość specyficznych POI
[2 osoby]
System ma zapewnić dwie funkcje:
Regularne zbieranie treści kanałów RSS (i opcjonalnie artykułów) i ich zapis w bazie danych.
Wykonywanie analiz:
wyszukiwaniu podobnych informacji, np. powiązanych z jednym tematem,
wyszukiwanie zadanych sekwencji, np. po tym, jak opublikowany został artykuł na temat X, to w czasie mniejszym niż 7 dni pojawił się artykuł na temat Y.
oczekiwane jest opracowanie różnych graficznych widoków wyników.
[1-2 osoby]
Implementacja różnych algorytmów na platformie obliczeń równoległych OpenCL (można także użyć biblioteki aparapi w języku Java ). Biblioteka i driver OpenCL są dostępne dla kart graficznych AMD, znacznej części kart NVIDIA, procesorów wielordzeniowych Intela oraz Intel HD graphics.
7.1 Symulacja natężenia ruchu drogowego
Stan sieci drogowej to liczba (gęstość) pojazdów przypisana do danego odcinka oraz rozkład prędkości. Na skrzyżowaniach rozpływ pojazdów. Dane mapy: OSM. Chętnie wizualizacja. [2-3 osoby]
7.2 Algorytm genetyczny dla problemu komiwojażera
7.3 Wybrane algorytmy klasteryzacji
Implementacja i testy algorytmów na platformie równoległej, np. k-means i DBSCAN [1-2 osoby]
[1-2 osoby]
7.4 Wybrane metody gradientowe
Np.: uczenie sieci neuronowych, refaktoryzacja macierzy
Rejestracja tematów
Uwaga
Przed zarejestrowaniem tematu sprawdź, czy nie jest zajęty. Dany temat może zostać wybrany tylko przez jedną grupę.
Zarejestruj temat
Lista zarezerwowanych tematów
Funkcja do rejestracji jest niestety bardzo prymitywna, za co z góry przepraszam. Działanie jej polega na dopisywaniu kolejnych wierszy do pliku tekstowego. Nanosząc ręcznie poprawki najłatwiej jest mi usuwać całe wiersze.
Jeśli 1-2 osobowa grupa chce dodać kolejną osobę - proszę zarejestrować jeszcze raz wpisując wszystkich członków grupy. Wcześniejszy wpis zostanie usunięty
Jeżeli grupa chce zmienić temat - proszę zarejestrować jeszcze raz grupę i nowy temat.