|
POLITECHNIKA ŚLĄSKA
WYDZIAŁ ELEKTRYCZNY
KATEDRA MECHATRONIKI |
|
|||
Laboratorium robotów i manipulatorów |
|||||
Temat: Robot mobilny kołowy Boe-Bot |
|||||
Wykonano: 22.04.2009 |
Oddano: 20.05.2009 |
||||
|
Prowadzący:
|
|
|||
|
Nazwisko i Imię |
Ocena |
Data, podpis |
||
Dzienne Elektrotechnika Semestr: VI Grupa: PUE Sekcja: 4 |
Jędrzejczyk Łukasz Kwaśniewski Krzysztof Starczewski Marcin Tatoj Łukasz
|
……… ……… ……… ………
|
|
I. Wstęp
Należało zapoznać się z możliwościami ruchowymi mobilnego robota kołowego poprzez zaprogramowanie jego procesora w celu stwierdzeniu poprawnego wykonywania się programu już wewnątrz jednostki centralnej robota.
Robot Boe-Bot zbudowany jest z metalowej konstrukcja nośnej, dwóch serwonapędów napędzających koła, oraz układu sterowania robota. Do napędu robota służą dwa serwonapędy o ruchu ciągłym, napędzające koło lewe i prawe. Serwonapędy te wykorzystują silniki prądu stałego z magnesem trwałym w stojanie. Oprócz silnika w skład serwonapędu wchodzi jeszcze przekładnia mechaniczna zwielokrotniająca moment obrotowy, układ zasilający silnik w postaci mostka typu H oraz procesor sterujący. Do programowania robota wykorzystuje się język PBASIC, który jest językiem programowania mikrokontrolerów typu Basic Stamp.
Czujnik śledzenia linii w tym robocie jest czujnikiem optoelektronicznym, umożliwiającym śledzenie czarnej linii narysowanej na białym tle. Czujnik ten jest zainstalowany w dolnej części robota, jak najbliżej podłoża, po którym porusza się robot. Czujnik składa się z 3 detektorów złożonych z diody emitującej podczerwień oraz fototranzystora. Czujnik ten dodatkowo jest wyposażony w trzy czerwone diody LED, które sygnalizują aktualny stan poszczególnych detektorów
II. Algorytm programu.
Robota zaprogramowano aby wykonywał podstawowe ruchy tj.: poruszanie w tył w przód, skrętów w lewo i prawo
Ćwiczenie kontrolowano po zapisaniu kodu do każdego ruch i sprawdzano czy efekt będzie pożądany po przez natychmiastowe wysłanie programu do chipu robota
Realizacja ruchów robota odbywa się na podstawie poniższego kodu programu:
' {$STAMP BS2e}
' {$PBASIC 2.5}
SENSL PIN 0
SENSC PIN 1
SENSP PIN 2
A VAR Byte
B VAR Byte
MP VAR Byte
INPUT SENSL
INPUT SENSC
INPUT SENSP
DO
IF (SENSL=0) AND (SENSC=0) AND (SENSP=0) THEN
GOSUB STOP1
ENDIF
IF (SENSL=0) AND (SENSC=0) AND (SENSP=1) THEN
GOSUB PRAWO
ENDIF
IF (SENSL=0) AND (SENSC=1) AND (SENSP=0) THEN
GOSUB LEWO
ENDIF
IF (SENSL=0) AND (SENSC=1) AND (SENSP=1) THEN
GOSUB LEWO
GOSUB PRZOD
GOSUB PRZOD
GOSUB PRZOD
ENDIF
IF (SENSL=1) AND (SENSC=0) AND (SENSP=0) THEN
GOSUB LEWO
ENDIF
IF (SENSL=1) AND (SENSC=0) AND (SENSP=1) THEN
GOSUB PRZOD
ENDIF
IF (SENSL=1) AND (SENSC=1) AND (SENSP=0) THEN
GOSUB PRAWO
GOSUB PRZOD
GOSUB PRZOD
ENDIF
IF (SENSL=1) AND (SENSC=1) AND (SENSP=1) THEN
GOSUB PRZOD
ENDIF
LOOP
STOP1:
PULSOUT 12,750
PULSOUT 13,750
PAUSE 20
RETURN
PRZOD:
PULSOUT 12,700
PULSOUT 13,800
PAUSE 20
RETURN
TYL:
PULSOUT 12,800
PULSOUT 13,700
PAUSE 20
RETURN
LEWO:
PULSOUT 12,600
PULSOUT 13,600
PAUSE 20
RETURN
PRAWO:
PULSOUT 12,870
PULSOUT 13,870
PAUSE 20
RETURN
III. WNIOSKI:
Robota staraliśmy się zaprogramować tak aby jeździł po czarnej linii narysowanej na białej planszy za pomocą czujników śledzenia linii. Staraliśmy się dobrać czasy obrotu kół tak, aby poruszał się on w miarę płynnym ruchem.
Bez wątpienia zaletą tego robota jest łatwość kontroli nad programowaniem robota kołowego ze względu na możliwość ciągłej obserwacji realizacji programu poprzez jego programowanie po interfejsie usb-rs232. Dzięki napędowi na poszczególne osie, mamy możliwość dużego zakresu poruszania się robota. Wadą tego w tego typu robotach jest konieczność zasilania robota akumulatorami, które pozwalają na określony czas pracy, doświadczalny proces dobierania odpowiedniego czasu obrotu kół tak aby robot poruszał się płynnie.