Katedra Robotyki i
Mechatroniki
Systemy wizyjne.
Temat: Lab1_Technika szybkiego prototypowania – tworzenie aplikacji czasu
rzeczywistego. Programowanie karty frame-grabber’a.
Prowadzący: dr inż. Piotr KOHUT
Grupa:
Imię i nazwisko:
Data:
Uwagi:
1. Cel ćwiczenia:
Zapoznanie się z techniką szybkiego prototypowania oraz z działaniem karty
frame-grabber’a współpracującego z kartą DS1003 z procesorem sygnałowym
TMS320C40 poprzez magistralę PHS. Programowanie karty akwizycji obrazów oparte
jest o generator kodu C.
Technologia szybkiego prototypowania systemów sterowania wykorzystujących
sygnał wizyjny jest nowoczesnym narzędziem stosowanym w zaawansowanych
programach komputerowego wspomagania projektowania. Wielką zaletą technologii
szybkiego sterowania układów z wykorzystaniem informacji wizyjnej jest
zastosowanie procesorów sygnałowych o dużych mocach obliczeniowych oraz
możliwość automatycznego programowania. Automatycznie wykonywany proces
składa się z następujących czynności: generowania kodu sterownika w języku C
wprost ze schematów blokowych Simulink’a, automatycznej kompilacji, linkowania
oraz ładowania wygenerowanego pliku do pamięci procesora. Automatyczne
generowanie kodu oraz bezpośredni dostęp do procesora sygnałowego DSP (często w
układzie wieloprocesorowym) z przestrzeni Matlab’a są kluczowymi elementami
technologii szybkiego prototypowania. Rozwiązanie to pozwala na bardzo szybkie i
proste tworzenie nowych algorytmów sterowania, a następnie ich implementacje i
testowanie, zanim zbudowany zostanie fizyczny prototyp układu sterowania.
Połączenie środowiska programowo-sprzętowego Matlab/Simulink/dSPACE umożliwia
iteracyjne testowanie uzyskanego sterownika
Wszystkie procedury cyfrowego przetwarzania obrazu i programowanie frame-
grabber’a są zapisane w postaci S-funkcji Simulink’a w kodzie języka C. S-funkcje
napisane w języku C są w pierwszej kolejności
kompilowane do postaci MEX-plików, a następnie w
razie konieczności, dynamicznie linkowane do Matlaba.
S-funkcja jest dołączana do modeli Simulink'a przy
pomocy bloku S-Function umieszczonego w bibliotece
Nonlinear. Taki blok zapewnia dostęp do S-funkcji
wprost ze schematów blokowych.
2.Przebieg ćwiczenia (Czytaj instrukcję - Lab1_RapidProtot_Build.pdf)
Zapoznanie się z techniką szybkiego prototypowania. Zapoznanie się z
programowaniem karty frame-grabera za pomocą implementacji procedur
zapisanych w postaci S-funkcji Simulink’a w kodzie języka C.
Wykonaj aplikację czasu rzeczywistego oraz szczegółowo opracuj w formie raportu
kolejne kroki wymagane podczas jej budowy :
1. Wykonaj schemat stanowiska laboratoryjnego oraz opisz jego elementy:
kamerę, kartę frame-grabber’a, kartę DS1003 wyposażoną w procesor
sygnałowy TMS320C40, zaznacz i wyjaśnij interfejsy między poszczególnymi
urządzeniami (np. które moduły komunikują się przez ISA, a które poprzez
magistralę PHS).
2. Dla danej S-funkcji napisanej w kodzie C wyjaśnij w jaki sposób przebiega jej
kompilacja do postaci MEX-pliku i tworzenie biblioteki dynamicznej (polecenie
mex oraz efekt jego działania).
3. Szczegółowo opracuj każdy wymagany etap podczas budowy aplikacji czasu
rzeczywistego.
4. Opisz znaczenie modułów RTW, RTI, MLIB.
5. Opisz znaczenie każdej funkcji modelowej mdl <….> dla S-funkcji.
6. Szczegółowo opisz oraz wyjaśnij zawartość funkcji mdlOutput dla
implementowanej aplikacji.
7. Opisz zawarte w S-funkcji algorytmy wstępnego przetwarzania obrazu (sposób
pozyskania obrazu, histogram, itp.) oraz ustawienia rejestrów karty frame-
grabber’a . Opisz i szczegółowo wyjaśnij zaimplementowaną S-funkcję napisaną
w języku C. Określ wymagane typy danych.
8. Zapoznaj się z narzędziem ControlDesk które w postaci graficznego interfejsu z
użytkownikiem stanowi zintegrowane narzędzie do sterowania, monitorowania i
automatyzacji wykonywania aplikacji, powstałych ze schematów blokowych
Simulink’a, na karcie z procesorem sygnałowym. Na przykładzie zilustruj użycie
ControlDesk oraz dostosuj interfejs użytkownika do wykonanej aplikacji.
9. Opisz możliwości ControlDesk.
10. Dostęp do parametrów i zmiennych na DSP z przestrzeni roboczej możliwy
jest za pomocą modułu MLIB. Opisz zaimplementowany m-plik umożliwiający
pozyskanie parametrów z przestrzeni DSP do przestrzeni roboczej Matlab’a.
Opisz linie programu.