0x01 graphic

POLITECHNIKA ŚLĄSKA

WYDZIAŁ ELEKTRYCZNY

KATEDRA MECHATRONIKI

0x01 graphic

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.