background image

 

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: 

 
 
 
 
 
 
 
 
 
 
 
 
 

 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

background image

 

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 

 
 
 
 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

background image

 

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.