Programowanie robotów mobilnych

Plan wykładu:
1. Wprowadzenie
      a. Podział i budowa robotów mobilnych
      b. Problematyka autonomicznej pracy
2. Robot Operating System
      a. Programowanie robotów mobilnych
      b. Koncepcja ROS
      c. Zasada działania ROS
      d. Tworzenie nowych węzłów
      e. Kompilacja projektu
      f. Węzeł publikujący
      g. Węzeł subskrybujący
      h. Zmienne globalne
      i. Środowisko symulacyjne Gazebo
      j. Pakiet RViz
3. Kinematyka prosta i odwrotna robotów mobilnych
      a. Robot dwukołowy z podparciem
      b. Robot trzykołowy z kołami szwedzkimi
      c. Robot czterokołowy
      d. Robot czterokołowy z kołami szwedzkimi
4. Budowa mapy
      a. Siatka zajętości
      b. Algorytm mapowania siatki zajętości
5. Lokalizacja
      a. Filtr Kalmana
      b. Filtr cząsteczkowy
      c. Algorytm lokalizacji Monte Carlo
6. Planowanie ścieżki lokalnej
      a. BUG1
      b. BUG2
      c. Algorytm Sztucznych Pól Potencjałowych
      d. Algorytm dynamicznego okna
7. Planowanie ścieżki globalnej
      a. Algorytm Dijkstra
      b. Algorytm A*
      c. Algorytm eksplorowania drzew losowych
      d. Algorytm mrówkowy
      e. Śledzenie ścieżki globalnej

Materiały dodatkowe:
Instrukcja Instalacji Ubuntu na maszynie wirtualnej, Robot Operating System oraz uruchomienie robota TurtleBot3.

Wybrane aspekty pojazdów autonomicznych

Plan wykładu:
1. Wprowadzenie
      a. Podstawowe pojęcia
      b. Rys historyczny
      c. Wymagania
      d. Przykładowe realizacje i zastosowania
2. Czujniki
      a. Czujniki dotykowe
      b. Pomiar położenia
      c. Czujniki bezwładnościowe
      d. Pomiar odległości
      e. Analiza obrazu
3. Nawigacja
      a. Lokalizacja
      b. Obliczanie pozycji z odometrii
      c. Pomiary bezwładnościowe
      c. Lokalizacja na podstawie radaru
      d. Punkty orientacyjne
      e. GPS
      f. Mapy
      g. Mapy metryczne
      h. Siatki
      i. Planowanie trajektorii
4. Sterowanie
      a. Wybrane architektury
      b. Hierarchiczna, zorientowana zadaniowo
      c. Zadaniowa
      d. Zintegrowana zadaniowa
5. Oprogramowanie
      a. The Player Project
      b. Microsoft Developer Studio
      c. Orca
      d. MCA - Modular Controller Architecture
6. Apsekty prawne
      a. Dostosowanie przepisów
      b. Odpowiedzialność prawna
      c. Algorytm eksplorowania drzew losowych
      d. Algorytm mrówkowy
7. Kierunki rozwoju
      a. Sztuczna inteligencja
      b. Sieci pojazdów

Podstawy Automatyki

Plan wykładu:
1. Wprowadzenie
      a. Podstawowe pojęcia i problemy
      b. Perspektywa historyczna
      c. Przykłady układów
      d. Elementy układów automatyki
      e. Rodzaje układów regulacji automatycznej
2. Modele liniowych ciągłych układów dynamicznych
      a. Modele zmiennych stanu i częstotliwościowe
      b. Realizacja modeli
      c. Relacje między modelami
      d. Charakterystyki czasowe i częstotliwościowe
      e. Sterowalność i obserwowalność
3. Podstawowe człony układów dynamicznych
      a. Zależności wielomianowe
      b. Podstawowe człony dynamiczne
      c. Schematy i grafy
         Schematy blokowe
         Grafy przeływu
4.Stabilność liniowych ciągłych układów dynamicznych
      a. Pojęcie stabilności
      b. Warunki stabilności
      c. Algebraiczne kryteria stabilności
         Kryteria Hurwitza
         Kryterium Routha
      d. Stabilność w dziedzinie częstotliwości
         Kryterium stabilności Nyquista
         Zapas wzmocnienia i zapas fazy
5. Korekcja liniowych układów ciągłych
      a. Istota korekcji
      b. Regulator PID
      c. Człony korekcyjne
      d. Regulacja dwupołożeniowa
      e. Regulacja od stanu
6. Jakość liniowych ciągłych układów dynamicznych
      a. Kryteria jakości regulacji
         Kryteria czasowe
         Kryterium całkowe
7. Układy nieliniowe - podstawowe informacje
      a. Wprowadzenie
      b. Linearyzacja
      c. Stabilność układów nieliniowych
8. Sterowanie cyfrowe
      a. Wprowadzenie
      b. Podstawy teoretyczne
      c. Dyskretyzacja

Prototypowanie Urządzeń Elektronicznych z Wykorzystaniem Platformy Arduino

Plan zajęć:
Wprowadzenie (3.10.2025 r.)
Podstawy elektroniki (10.10.2025 r.)
Podstawy Arduino i języka C/C++
      Skrypt z zajęć 17.10.2025 r.: cw_1.ino
      Skrypt z zajęć 24.10.2025 r.: cw_2.ino
      Skrypt z zajęć 24.10.2025 r.: bt_lib.h
      Skrypt z zajęć 24.10.2025 r.: bt_lib.cpp
      Skrypt z zajęć 31.10.2025 r.: cw_3.ino - Wymaga do działania biblioteki bt_lib
W ramach ćwiczeń zmodyfikuj program cw_3.ino dodając pętlę histerezy z dokładnością pozycjonowania w celu wyłączenia silnika, gdy uzyska zadaną pozycję. Jednocześnie należy poprawić wyświetlanie pozycji na ekranie siedmiosegmentowym, żeby dokładność nie wpływała na poprawne wyświetlanie pozycji.
Skrypt z zajęć 7.11.2025 r.: cw_4.ino - dyrektywa preprocesora define
Skrypt z zajęć 14.11.2025 r.: cw_5.ino - maszyna stanów
Skrypt z zajęć 21.11.2025 r.: cw_6.ino - Modele językowe kochają Arduino! Dobre i złe praktyki ich stosowania do szybkiego prototypowania. Czujnik parkowania.
Płytka PCB z zajęć 12.12.2025 r.: NE555_Przyklad.eprj - Pierwszy płytka PCB!