To tylko jedna z 3 stron tej notatki. Zaloguj się aby zobaczyć ten dokument.
Zobacz
całą notatkę
SPRAWOZDANIE Z LABORATORIUM Przedmiot: Podstawy robotyki 2 rok akademicki 2005/06 Temat ćwiczenia: Budowanie lokalnej mapy otoczenia - skaner z czujnikiem podczerwieni termin zajęć: czwartek, g. 1650 - 1820 WIiZ, AiZ, sem. VI, grupa A2 data wykonania ćwiczenia: 27.04.2006 Imię i nazwisko: 1. Maciej Kłosiński (66375) Punkty: Celem ćwiczenia jest zbadanie wybranych właściwości pomiarowych optycznego czujnika odległości, przeprowadzenie jego kalibracji i opracowanie oprogramowania w środowisku MatLab umożliwiającego obsługę systemu pomiarowego za pośrednictwem łącza RS-232. W niniejszym ćwiczeniu do budowy lokalnej dwuwymiarowej mapy otoczenia wykorzystany został czujnik optyczny odległości działający na zasadzie triangulacji i wykorzystujący półprzewodnikowy element PSD. Do komunikacji ze sterownikiem mikroprocesorowym wykorzystany został asynchroniczny interfejs szeregowy RS232C. Parametry transmisji: • prędkość transmisji: 115,200 b s • długość znaków: 8 bit • liczba bitów stopu: 1 • kontrola parzystości: brak • sterowanie przepływem danych: brak Przebieg ćwiczenia Do mikrosterownika doprowadzono napięcie stałe o wartości 10 V, do sterownika silnika krokowego 12 V. Przed rozpoczęciem otworzyłem port szeregowy komputera. Do tego celu wykorzystałem środowisko MatLab poprzez wykonanie następujących komend: s = serial('COM1'); set(s, 'BaudRate', 115200, 'DataBits', 8, 'Parity','none','StopBits',1,'FlowControl','none'); fopen(s); ENQ = [170 2 0 0 0]; fwrite(s, ENQ, 'uchar', 'sync'); pause(0.5); ileDanych = s.BytesAvailable; if ileDanych 0 [dane, ileDanych, komunikat] = fread(s, ileDanych, 'uchar'); dane dbin=(dane(3)+dane(4)*16+dane(5)*256); dbin end fclose(s); W powyższej funkcji wykorzystano schemat bramki komunikacyjnej: Powyższą sekwencję poleceń zapisałem do skryptu .m , oraz wywoływałem w MatLabie. Następnie uruchomiłem skrypt przesuwając sensor zawsze o 2 cm poczynając od 4 cm. Otrzymałem następujący zestaw danych: dane = 170 2 3 15 1 dbin = 499 dane = 170 2 6 13 2 dbin = 726 dane = 170 2 0 13 3 dbin = 976 dane = 170 2 13 15 3 dbin = 1021 dane = 170 2 1 8 3 dbin = 897 dane = 170 2 15 0 3 dbin = 783 dane = 170 2 14 10 2 dbin = 686 dane = 170 2 14 6 2 dbin = 622 dane = 170 2 6 1 2 dbin = 534 Dla tak otrzymanych danych utworzyłem następujące tabele przejść robota:
... zobacz całą notatkę
Komentarze użytkowników (0)