boebot KOGUT, Sprawka, mechatronika


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:

03.11.2010

Oddano:

17.11.2009

Prowadzący:

Nazwisko i Imię

Ocena

Data, podpis

Dzienne

Elektrotechnika

Semestr: V

Grupa: KSS

Sekcja: 6

Adam Czudaj

Norbert Matyja

Piotr Legutko

Marcin Ibrom

Michał Młotkowski

………

………

………

………

  1. Wstęp

Robot mobilny kołowy Boe-Bot jest robotem edukacyjnym produkowanym przez

firmie Parallax. Robot ten jest napędzany za pośrednictwem dwóch serwonapędów

Modelarskich, z których każdy napędza jedno koło robota. Sterowanie robotem

odbywa sie z wykorzystaniem mikrokontrolera z serii Basic Stamp. Programowanie

robota możliwe jest za pośrednictwem języka wysokiego poziomu PBASIC. Możliwa

Jest współpraca oraz nawigacja robota z użyciem wielu różnego typu czujników

(stykowe, podczerwieni, ultradźwiękowe, optyczne i wiele innych).

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.

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

Do programowania robota wykorzystuje sie jezyk PBASIC, który jest językiem

programowania mikrokontrolerów typu Basic Stamp. Język PBASIC jest językiem

wysokiego poziomu w pełni funkcjonalnym i uniwersalnym. Dokładna specyfikacja

języka wraz z opisem wszystkich dostępnych instrukcji znajduje sie w dokumentacji

anglojęzycznej dołączonej do środowiska Basic Stamp Editor. Programowanie robota

odbywa sie z poziomu srodowiska Basic Stamp Editor.

  1. Cel ćwiczenia

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.

  1. Algorytm programu.

Robota zaprogramowano aby wykonywał podstawowe ruchy tj.: poruszanie w tył w przód, skrętów w lewo i prawo

' {$STAMP BS2}

' {$PBASIC 2.5}

Linie programu poprzedzone znakiem apostrofu stanowiła komentarz. Wyjątkiem są tutaj linie trzecia i czwarta, które stanowiła tak zwane dyrektywy. Pierwsza z nich

({$STAMP BS2}) określa rodzaj procesora, do którego biedzie ładowany program ze

środowiska BASIC Stamp Editor. Druga dyrektywa ({$PBASIC 2.5}) określa

z kolei, z której wersji języka PBASIC korzystamy (w tym przypadku wersja 2.5).

Jeśli chodzi o sterownie ruchem serwonapędów robota, to można do tego celu

Wykorzystać instrukcje PULSOUT, która powoduje wysłanie przez port mikrokontrolera

o numerze Pin impulsu prostokątnego o czasie trwania Duration.

PULSOUT 12,800

PULSOUT 13,700

Instrukcja DO-LOOP tworzy nieskończoną pętle, czyli wszystkie instrukcje zawarte

Pomiędzy DO a LOOP sa wykonywane nieskonczona ilość razy. Chcąc uzyskach ruch ciągły należy instrukcje te wywoływać wielokrotnie (z odstępem czasu równym 20ms).

DO

PULSOUT 14,750

PULSOUT 15,750

PAUSE 20

LOOP

Ć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 `deklaracja czujników

SENSC PIN 1

SENSP PIN 2

A VAR Byte `deklarowanie zmiennych

B VAR Byte

MP VAR Byte

INPUT SENSL

INPUT SENSC

INPUT SENSP

DO `pętla główna

IF (SENSL=0) AND (SENSC=0) AND (SENSP=0) THEN ;warunek jeśli czujnik 1,2,3= 0 to stop

GOSUB STOP1

ENDIF

IF (SENSL=0) AND (SENSC=0) AND (SENSP=1) THEN ; czujnik 1,2= 0 a 3=1 to prawo

GOSUB PRAWO

ENDIF

IF (SENSL=0) AND (SENSC=1) AND (SENSP=0) THEN ; czujnik 1,3= 0 a 2=1 to lewo

GOSUB LEWO

ENDIF

IF (SENSL=0) AND (SENSC=1) AND (SENSP=1) THEN ; ; czujnik 1= 0 a 2,3=1 to wykonuje korekcję drogi i szybko skręca w lewo a później w przód

GOSUB LEWO

GOSUB PRZOD

GOSUB PRZOD

GOSUB PRZOD

ENDIF

IF (SENSL=1) AND (SENSC=0) AND (SENSP=0) THEN, warunek czujnik 2,3=0 a 1=1 to lewo

GOSUB LEWO

ENDIF

IF (SENSL=1) AND (SENSC=0) AND (SENSP=1) THEN ; warunek czujnik 2=0 a 1,3=1 to przod

GOSUB PRZOD

ENDIF

IF (SENSL=1) AND (SENSC=1) AND (SENSP=0) THEN; warunek czujnik 3=0 a 1,2=1 to wykonuje korekcję drogi I szybko skręca w prawo a później w przód

GOSUB PRAWO

GOSUB PRZOD

GOSUB PRZOD

ENDIF

IF (SENSL=1) AND (SENSC=1) AND (SENSP=1) THEN; warunek czujnik 1,2,3 = 1 to przód

GOSUB PRZOD

ENDIF

LOOP

STOP1: ;pętla wykonawcza stop

PULSOUT 12,750

PULSOUT 13,750

PAUSE 20

RETURN

PRZOD: ;pętla wykonawcza ruchu w przód

PULSOUT 12,700

PULSOUT 13,800

PAUSE 20

RETURN

TYL: ;pętla wykonawcza ruchu w tył

PULSOUT 12,800

PULSOUT 13,700

PAUSE 20

RETURN

LEWO: ;pętla wykonawcza ruchu w lewo

PULSOUT 12,600

PULSOUT 13,600

PAUSE 20

RETURN

PRAWO: ;pętla wykonawcza ruchu w prawo

PULSOUT 12,870

PULSOUT 13,870

PAUSE 20

RETURN ;koniec

III. WNIOSKI:

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.



Wyszukiwarka

Podobne podstrony:
boebott nasz, Sprawka, mechatronika
boebot, Sprawka, mechatronika
Pączek matcad 12, Sprawka, mechatronika
Recykling odpadów sztucznych. sprawko, Mechatronika, Recykling
Tmm sprawko 1, Mechatronika AGH IMIR, rok 2, TMM
Pączek matcad 13, Sprawka, mechatronika
Sprawozdzanko12, Sprawka, mechatronika
FEMM, Sprawka, mechatronika
Sprawozdzanko13, Sprawka, mechatronika
Drgania sprawko, Mechatronika, Semestr IV, Struktury inteligentne w mechatronice, Laboratorium, Siwm
Sprawko spawalnictwo 1, studia, studia Politechnika Poznańska - BMiZ - Mechatronika, 2 semestr, obro
Elekrotechnika sprawko 1, Studia - Mechatronika, III semestr, Elektrotechnika
sprawozdanie belka DMIUM+teoria, Studia, Studia sem VI, Dynamika maszyn i urzadzen mechatr, DMIUM by
sprawko generator, MECHATRONIKA, IV Semestr, Elektronika Analogowa i Cyfrowa
Sprawko spawalnictwo 3, studia, studia Politechnika Poznańska - BMiZ - Mechatronika, 2 semestr, obro
sprawko Ziegler-Nikols, Mechatronika WAT, Semest IV, Teoria sterowania, Laboratorium, Sprawka, Obser
sprawko3 2, Politechnika Poznańska, Mechatronika, Semestr 01, Wprowadzenie do mechatroniki - laborat
sprawko NOM 3, studia - mechatronika UWM, rok I sm I i II, nauka o materialach
sprawko wdmcht 1 www.przeklej.pl, Politechnika Poznańska, Mechatronika, Semestr 01, Wprowadzenie do

więcej podobnych podstron