c10.pdf

(78 KB) Pobierz
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
wiczenia 10
!
ledzenie obiektów kamer¡ NXTCam-v3 - z zasto-
sowaniem kontrolera PID
Specyfikacja kamery:
- kamera daje mo»liwo±ci ±ledzenia do o±miu ró»nych kolorów, z cz¦stotliwo±ci¡ 30
klatek na sekund¦,
- kolory s¡ definiowane po podł¡czeniu kamery kablem USB do komputera,
- mo»e by¢ wykorzystywana do ±ledzenia linii,
- dostarcza w czasie rzeczywistym informacji o ±ledzonych obiektach, podaje ich
ilo±¢, kolor, współrz¦dne i wielko±¢,
- kamera rejestruje obraz w rozdzielczo±ci (176 x 144) piksele, po podł¡czeniu do
komputera,
- rozdzielczo±¢ ±ledzonych obiektów wynosi 88 x 144, 30 klatek na sekund¦
- u»ywa protokołu komunikacji kompatybilnego z I2C
Aby uzyska¢ szczegółow¡ instrukcj¦ obsługi kamery NXTCam-v3,
wpisz w google, NXTCam-v3-User-Guide.pdf.
Definiowanie kolorów w kamerze NXTCam-v3
W celu zdefiniowania kolorów, pobieramy oprogramowanie NXTCamView,
- pobieramy sterowniki kamery NXTCam v3p0
- podł¡czamy kamer¦ do komputera za po±rednictwem kabla USB i wskazujemy ste-
rowniki podczas pierwszego podł¡czenia,
- uruchamiamy program NXTCamView
- ł¡czymy si¦ z kamer¡ przyciskiem connect,
- ustawiamy przed kamer¡ kolor, który chcemy zapisa¢ do ±ledzenia,
- robimy zdj¦cie, wciskaj¡c opcj¦ capture,
867160362.034.png 867160362.035.png
 
- wybieramy w zakładce colors numer buforu, w którym umie±cimy kolor,
- zaznaczamy na zdj¦ciu interesuj¡cy nas kolor przy u»yciu kursora, ustawiaj¡c po-
ziom mo»liwej rozbie»no±ci od odcienia i klikamy upload
Mo»liwo±¢ ±ledzenia wczytanych kolorów mo»na przetestowa¢, wybieraj¡c opcj¦ trac-
king i pokazuj¡c kamerze wybrane obiekty do ±ledzenia,
Obsługa kamery NXTCam-v3 w bibliotece NXT++
Kamer¦ inicjujemy w porcie IN 2, bezpo±rednio po nawi¡zaniu komunikacji z robo-
tem,
NXT :: NxtCam :: NxtCamInit (& comm , IN2 );
Przed u»yciem kamery mo»emy ka»dorazowo czy±ci¢ jej rejestry.
NXT :: NxtCam :: NxtCamFlush (& comm , IN2 );
Aby pobra¢ ilo±¢ widzianych obiektów, u»ywamy polecenia
ilob = NXT :: NxtCam :: GetNxtCamNumObjects (& comm , IN2 );
naturalnie zmienna il ob powinna by¢ wcze±niej zadeklarowana jako warto±¢ całko-
wita,
Dane pobierane z kamery maj¡ format wektorowy, st¡d deklarujemy tablic¦ wekto-
row¡ data cam nast¦puj¡co,
std :: vector < std :: vector < int >> datacam ;
Po deklaracji i wykryciu ilo±ci widzianych obiektów, nadajemy tablicy data cam
odpowiedni wymiar i czy±cimy j¡,
datacam . resize ( ilob );
for ( int i =0; i < datacam . size (); i ++)
f
datacam [ i ]. resize (6);
g
for ( int i =0; i < ilob ; i ++)
f
for ( int j =0; j <6; j ++)
f
datacam [ i ][ j ]=0;
g
g
W kolejnym kroku wczytujemy dane o napotkanych obiektach do tablicy da-
ta cam, uwzgl¦dniane s¡ dane obiektów, które przekraczaj¡ maksymaln¡ powierzch-
ni¦ determinowan¡ przez trzeci argument funkcji GetNxtCamObjects.
datacam = NXT :: NxtCam :: GetNxtCamObjects (& comm , IN2 ,0);n% pobranie informacji z
kamery
Zakładaj¡c, »e kamera wykryła dwa obiekty przekraczaj¡ce ustalon¡ wielko±¢,
dane pobrane z kamery maj¡ format:
867160362.036.png 867160362.001.png 867160362.002.png 867160362.003.png 867160362.004.png 867160362.005.png 867160362.006.png 867160362.007.png 867160362.008.png 867160362.009.png 867160362.010.png 867160362.011.png 867160362.012.png 867160362.013.png 867160362.014.png 867160362.015.png 867160362.016.png 867160362.017.png 867160362.018.png 867160362.019.png 867160362.020.png 867160362.021.png
 
obiektpierwszy :
datacam [0][1] współrz¦dnapikselowax
datacam [0][1] współrz¦dnapikseloway
datacam [0][1] wysoko±¢obiektu
datacam [0][1] szeroko±¢obiektu
datacam [0][1] symbolwykrytegokoloru ,
obiektdrugi :
datacam [1][1] współrz¦dnapikselowax
datacam [1][1] współrz¦dnapikseloway
datacam [1][1] wysoko±¢obiektu
datacam [1][1] szeroko±¢obiektu
datacam [1][1] symbolwykrytegokoloru ,
Zadanie do wykonania
3) Zapoznaj si¦ ze sposobem u»ywania kamery NXTCam-v3 w bibliotece NXT++.
4) Napisz podprogram ±ledzenia piłki o kolorze czerwonym za pomoc¡ kamery NXT
v3, sterowanie kołami zaimplementuj przy u»yciu kontrolera PID, podprogram ±le-
dzenia koloru uruchom klawiszem T.
867160362.022.png 867160362.023.png 867160362.024.png 867160362.025.png 867160362.026.png 867160362.027.png 867160362.028.png 867160362.029.png 867160362.030.png 867160362.031.png 867160362.032.png 867160362.033.png
Zgłoś jeśli naruszono regulamin