Udostępnienie materiałów

Dokumentacja wraz z projektem wytworzone w ramach projektu Sterowniki Robotów będą udostępnione publicznie, chyba, że autorzy nie wyrażą na to zgody w formie pisemnej.

Nagrody

Laureaci 2017:

Nagrody (zestaw deweloperski STM32L476G-DISCO) otrzymują następujące osoby:

  1. Aleksander Bojda i Piotr Stopyra — „Manipulator”, (pdf)
  2. Hubert Grzegorczyk i Sebastian Jamroziński — „Analizator chodu” (pdf).

Nagrody pocieszenia:

  1. Dominik Kędzierski i Piotr Matuszak — „Robot mobilny micromouse — Miki” (pdf),
  2. Dawid Marszałkiewicz i Piotr Portasiak — „Interfejs zdalnego sterowania robotem klasy minisumo — InZdaSter (2,0)” (pdf),
  3. Paulina Porczyńska i Juliusz Tarnawski — ” Prymitywny Animowany Wyświetlacz — PAW” (pdf),
  4. Aleksander Sil — ” Robot Minisumo ze sterowaniem prędkością i momentem obrotowym — Supernova” (pdf).

 

Projekt — Sterowniki robotów: zasady zaliczenia

Projekt realizowany jest na płytkach deweloperskich STM32L476G-DISCO.

W ramach kursu należy napisać program na płytkę deweloperską, gdzie wykorzystywane będą różne peryferia mikrokontrolera, jak i układy zewnętrzne, między innymi:

  • obsługa wyświetlacza segmentowego LCD,
  • przyciski, joystick,
  • diody LED,
  • układy MEMS (akcelerometr, żyroskop, magnetometr, mikrofon),
  • Audio DAC,
  • interfejs USB,
  • RTC (układ zegara czasu rzeczywistego),
  • zewnętrzna pamięć Flash.

Projekt jest realizowany w grupach dwuosobowych przy wykorzystaniu technologii i narzędzi wspomagających pracę zespołową, jak np. git, Latex.
Do tworzenia projektu wykorzystywane są narzędzia STM32CubeMx oraz Atollic TrueSTUDIO for STM32.

Ocenie podlegać będzie:

  • zakres zrealizowanych zadań,
  • wykorzystanie narzędzi do wspomagania pracy zespołowej,
  • dokumentacja techniczna,
  • wiedza studenta na temat zrealizowanego projektu,
  • terminowość oddawanych etapów.

Dopuszcza się realizacje projektów zaproponowanych przez studenta. Propozycja ta powinna być zaakceptowana przez prowadzącego.

Wytworzone dokumenty, kod programu (odpowiednio dla etapu) powinny być umieszczone na eportalu.

Etapy projektu:

Etap I

Przedstawienie założeń projektowych w formie dokumentu elektronicznego (PDF). Należy umieścić go na eportalu przed oddaniem etapu. Dokument powinien zawierać:

  • opis projektu,
  • założenia projektowe,
  • zakres prac,
  • podział pracy pomiędzy członków zespołu,
  • wykres Gantta,
  • opis poszczególnych kamieni milowych.

Etap II

Raport (PDF) z zrealizowanych prac w ramach projektu oraz procentowe określenie realizacji projektu. Należy umieścić go na eportalu przed oddaniem etapu.

Etap III

Oddanie oraz prezentacja wykonanego projektu.
Dostarczenie dokumentacji technicznej w postaci dokumentu elektronicznego (PDF) wraz z plikami projektu, kodem źródłowym oraz innymi niezbędnymi elementami wymaganymi do odtworzenia projektu (archiwum ZIP). Kompletny projekt wraz z dokumentacją należy umieścić na eportalu przed oddaniem etapu.

Reguły oceniania

Etap I — 20% oceny końcowej

Każdy z członków grupy powinien w każdym etapie mieć wymienione od 2 do 4 zadań.

Ocena za etap I
Ocena = k0 + k1 + k2 + k3 + k4 + k5,
gdzie
k1 in [0,1.0] — poprawne opracowanie dokumentu w systemie składania tekstu LaTeX, wykorzystanie dostarczonego szablonu,
k2 in [0,0.5] — przynajmniej dwie pozycje literaturowe traktujące o problematyce projektu,
k3 in [0,0.5] — przynajmniej 2 pozycje ściśle związane z wykorzystanym sprzętem, układami elektronicznymi, modułami, itp.,
k4 in [0,1.5] — merytoryczna część założeń projektowych
k5 in [0,0.5] — podział prac w projekcie na zadania.

Etap II — 30% oceny końcowej

Ocena za etap II
Ocena = k0 + k1 + k2 + k3,
gdzie
k1 in [0,0.5] — poprawne opracowanie dokumentu w systemie składania tekstu LaTeX, wykorzystanie dostarczonego szablonu,
k2 in [0,1] — wykorzystanie systemu do wspomagania pracy zespołowej — git, każdy z członków grupy projektowej powinien mieć co najmniej 4 commity,
k3 in [0,2.5] — merytoryczna część raportu (realizacja zadań z podziału prac zawartych w założeniach projektowych)

Etap III — 50% oceny końcowej

Ocena za etap III
Ocena = k0 + k1 + k2 + k3
gdzie
k1 in [0,0.5] — poprawne opracowanie dokumentu w systemie składania tekstu LaTeX, wykorzystanie dostarczonego szablonu,
k2 in [0,0.5] — wykorzystanie systemu do wspomagania pracy zespołowej — git, każdy z członków grupy projektowej powinien mieć co najmniej 8 commitów,
k3 in [0,3.0] — merytoryczna część dokumentacji końcowej (realizacja zadań z podziału prac zawartych w założeniach projektowych),

Uwaga — dotyczy wszystkich etapów:

k0 in [0,1] — 1.0 pkt. oddanie pracy w terminie za pośrednictwem eportalu, na zajęciach danej grupy (nie później niż do końca zajęć), 0.5 pkt. opóźnienie oddania dokumentu nie przekraczające 7 dni (7 * 24 * 60 * 60 sekund) liczone od czasu końca zajęć, na które grupa projektowa uczęszcza,

W przypadku, gdy opóźnienie jest większe niż 14 dni (14 * 24 * 60 * 60 sekund) ocena za etap nie może być wyższa niż 3.5.
W przypadku braku merytorycznej zawartości dokumentu składanego w danym etapie ocena za ten etap nie może być wyższa niż 2.0.

Ramowy plan kursu (obecność obowiązkowa przynajmniej jednego z członków grupy):

Terminy oddania poszczególnych etapów przedstawione są jako zakres dat; dany etap należy oddać w terminie zajęć, na który student jest zapisany.

(25.02 — 08.03):

Szkolenie BHP
Przedstawienie czego będzie dotyczył projekt.
Zaprezentowanie zasad zaliczenia.
Podział na grupy oraz przydzielenie projektów grupom.
Rozdanie płytek i kabli połączeniowych.

(11.03 — 22.03):

Przedstawienie etapu I (obecność obowiązkowa dla wszystkich członków grupy)

(08.04 — 12.04 oraz 24.04 — 30.04):

Przedstawienie etapu II (obecność obowiązkowa dla wszystkich członków grupy)

(27.05 — 07.06):

Przedstawienie etapu III — oddanie projektu oraz wystawienie oceny (obecność obowiązkowa dla wszystkich członków grupy).

Założenia projektowe, raport, dokumentacja techniczna

Przykładowy szablon dokumentu dla każdego z etapów dostępny jest pod linkiem: sr_szablon_projekt.zip. Zawiera on szczegółowy opis co powinno się znaleźć w dokumencje dla każdego etapu. Do edytowania dokumentu w systemie LaTeX można posłużyć się oprogramowaniem np. TeXstudio.

Nazwa dokumentu musi być następująca:

SteRoP_ROK_Akronim_AABB_n.pdf

gdzie ROK to rok kalendarzowy, w którym odbywają się zajęcia, Akronim to akronim utworzony z nazwy projektu, AABB to inicjały autorów, n to numer etapu. Np. zajęcia odbywają się w roku 2018, projekt ma nazwę Mikroprocesorowy system przetwarzania, a więc jego akronim to MSP, Autorzy to Jan Abacki oraz Kamil Babacki, raport dotyczy trzeciego etapu, a więc nazwa pliku to: SteRoP_2018_WSP_JAKB_3.pdf

Również oddając projekt powinien być on spakowany za pomocą archiwizatora zip lub 7-zip. Podczas tworzenia archiwum nalezy usunąć katalog Debug. Nazwa pliku z archiwum powinna być następująca:

SteRoP_ROK_Akronim_AABB_n_projekt.zip lub SteRoP_ROK_Akronim_AABB_n_projekt.7z

Propozycje tematów projektowych

1. Automatyczna sekretarka (Audio DAC, Mikrofon, LCD, Joystick, Flash)
Nagrywanie i odtwarzanie wiadomości głosowych.

2. Myszka USB z akcelerometrem (Akcelerometr, żyroskop, USB, LCD, Joystick)
Emulacja urządzenia USB HID przy wykorzystaniu akcelerometru i żyroskopu. Przełączanie trybów pracy.

3. Pamięć USB (USB, Flash)
Wykorzystanie pamięci flash, jako nośnika informacji.

4. Logger danych (USB, Flash, termometr, RTC, bateria)
Akwizycja danych o temperaturze z potrzymaniem bateryjnym. Komunikacja z komputerem poprzez USB. Zarządzanie danymi.

5. Rozpoznawanie komend głosowych (USB, Flash, mikrofon, LCD, Joystick)
Nauka wzorców mowy i ich identyfikacja.

6. Monitor hałasu (Flash, RTC, bateria, LCD, Joystick, mikrofon)
Monitorowanie poziomu hałasu oraz zapisywanie zdarzeń do pamięci z czasem jego wystąpienia.

7. Urządzenie MIDI (Flash, USB, Audio DAC, LCD, Flash)
Odtwarzanie utworów z pamięci Flash.

8. Oscyloskop (USB, ADC, DMA, Flash)
Oscyloskop z pomiarem parametrów sygnału (FFT, częstotliwość, Vpp, itp.)

9. Manipulator (USB, PWM, enkoder)
Sterowanie manipulatorem o minimum trzech stopniach swobody wraz z liczeniem zadania kinematyki odwrotnej na mikrokontrolerze. Parametryzacja za pomocą interfejsu użytkownika.

10. Animacje na LCD (płytka STM32F429I-DISC1)
Wykonanie serii animacji (minimum 5) na wyświetlaczu graficznym. Biblioteka obsługująca rysowanie prymitywów (linia, prostokąt, trójkąt, koło, tekst); buforowanie obrazu.

11. Generator funkcyjny (DAC, Joystick, Flash, USB, DMA)
Generowanie różnych parametryzowalnych przebiegów funkcyjnych.

12. Komunikacja master-slave po SPI z wykorzystaniem FreeRTOSa (SPI, akcelerometr, żyroskop, LCD, joystick)
Komunikacja pomiędzy dwoma płytkami — akwizycja danych (slave) oraz ich wizualizacja (master).

13. Animacje na LCD (płytka STM32F429I-DISC1)
Prosta gra — piłka odbijająca się od ścian wraz z wykorzystanie żyroskopu.

14. Kontynuacja projektu PAW (wiele wariantów)
Dodanie podwójnego bufora, tekstur, przepisanie kodu na język C, dodanie kolorów, itp.

Oceny

sr_oceny_p.pdf

Przydatne materiały

GH08172T.pdf — dokumentacja wyświetlacza LCD znajdującego się na płytce STM32L476G-DISCO