Projekt Autonomicznego Robota Studenckiego (ARS)

Założeniem projektu jest stworzenie autonomicznego robota, zdolnego do samodzielnego poruszania sie w otoczeniu. W celu uniknięcia problemów, zwiazanych z opowiednim doborem komponentów, zdecydowaliśmy się użyć zestawów LEGO Mindsorms NXT do stworzenia jego konstrukcji.

Pierwotnie robot miał mieć konstrukcję dwukołową, z rolką toczną (rysunek).

alfa.png

Jednak ze względu na problemy konstrukcyjne (konieczność dorobienia rolki o odpowiednich parametrach), zdecydowaliśmy się na stworzenie konstrukcji gąsiennicowej, bazującej na gotowych elementach LEGO (zdjecia).

ars_001.jpg ars_002.jpg ars_003.jpg ars_004.jpg ars_005.jpg

Projekt bryły robota, wykonany w programie QCad, dostępny jest w plikach:
w formacie zgodnym z R12 (usb_R12.dxf),
w formacie zgodnym z 2000 (usb_2000.dxf).

Zamiast standardowych czujników z zestawu LEGO Mindstorms NXT, użyliśmy następujących sensorów firmy mindsensors.com:

Developer's kit dostarczany przez firmę LEGO

Obecnie pracujemy nad stworzeniem oprogramowania dla robota, przy pomocy środowiska NBC/NXC. Ze wzgledu na dość ograniczone możliwości obliczeniowe, oraz małą pojemność jednostki centralnej Mindstorms NXT, bedziemy prawdopodobnie zmuszeni do stworzenia części software'u pracujacego na PC-cie. Wymiana informacji między robotem a PC-tem będzie zapewniana przez łącze bezprzewodowe Bluetooth.

Ebuild środowiska NBC/NXC dla systemu portage, dystrybycji Gentoo Linux, dostępny jest tutaj.

Programy skompliowane za pomocą nbc, można skopiować do pamięci jednostki centralnej, przez port USB, za pomocą programu linxt.
Ebuild programu linxt dla systemu portage, dystrybycji Gentoo Linux, dostępny jest tutaj.
Dodatkowo, ze względu na konieczność spełnienia zależności od modułu Perl'a Device-USB ebuild tego modułu jest dostępny tu.

Komunikację PC'ta z jednostką centralną NXT, poprzez łącze Bluetooth, zapewnia biblioteka nxtlibc, ebuild tej biblioteki dostepny jest tutaj.

W przypadku konieczności zaktualizowania firmware'u jednostki centralnej NXT, pomocna jest biblioteka libnxt. Transfer danych, w tym przypadku możliwy jest tylko za pośrednictwem portu USB. Wraz z biblioteką dostarczane są dwa programy:

Ebuild dla biblioteki libnxt, jest tu.

Niejako konkurencyjnym projektem, w stosunku do biblioteki nxtlibc, jest moduł Perl'a LEGO-NXT. Jednak ten projekt przede wszystkim, ma zapewniać zdalne sterowanie NXT'a, a nie komunikację z programami na nim uruchomionymi. Ebuild tego modułu znajduje się tutaj.
Podobnie jak w przypadku programu linxt, ten moduł Perl'a, wymaga zainstalowania dodatkowego modułu Perl'a, Net-Bluetooth.

Podobną funkcjonalność, jak w przypadku biblioteki nxtlibc ma biblioteka roboctl, dodatkowo zapewniająca współpracę, z robotami budowanymi, przy pomocy systemu VEX. Twórcą tej biblioteki jest Jason W. Bacon, który stworzył własną biblotekę libbacon, wykorzystywaną przez roboctl. Ebuild biblioteki libbacon, jest tutaj, a biblioteki roboctl jest tutaj.

Archiwum z overlay'em drzewa portage Gentoo Linuxa, zawierającym ebuildy: środowiska NBC/NXC, programu linxt, modułów Perl'a Device-USB, LEGO-NXT, Net-Bluetooth oraz bibliotek nxtlibc, libnxt, libbacon i roboctl dostępny jest tu.

Ze względu na zwartą budowę robota, port USB umieszczony na obudowie jednostki centralnej, stał się niedostępny. Konieczne, więc było dorobienie odpowiedniej przejściówki, umożliwiającej programowanie robota za pośrednictwem portu USB. Maskę przygotowaną do nałożenia na jednowarstwowy laminat, przedstawia rysunek:

usb_final_printable.png.

Jest to gotowa wersja, w postaci pliku PNG (w rozdzielczości 150 pkt/mm x 150 pkt/mm), do wydrukowania na drukarce laserowej, i nałożenia techniką termotransferu na laminat.
Projekt przejściówki wykonany w QCad, dostępny jest w plikach:
w formacie zgodnym z R12 (usb_R12.dxf),
w formacie zgodnym z 2000 (usb_2000.dxf).
Gotową przejściówkę przedstawiają zdjęcia:

p_top.jpg p_sid.jpg p_but.jpg p_dow.jpg

Ostateczny schemat połączeń elementów robota przedstawia rysunek:

schemat.png

Działanie algorytmu sterowania, ilustruje poniższy schemat:

algorytm.png

Zakres działania sensorów, w stosunku do wielkości robota, pokazuje rysunek:

sensory.png

Dodatkowo zaznaczone zostało odchylenie robota od kierunku północnego, zwracane przez kompas.


Podczas V-go Kongresu Kół Naukowych Uniwersytetu Warszawskiego, został zaprezentowany poster dotyczący projektu ARS. Zawartość posteru prezentuje plik w formacie PDF, zamieszczony poniżej.

poster-NKSI-Radzikow-2008.pdf

W ramach wystawy przedstawiającej aktywność kół naukowych i artystycznych UW w roku 2008, został przygotowany poster prezentujący projekt ARS. Ten poster prezentuje plik w formacie PDF, zamieszczony poniżej.

poster-NKSI-ruch-naukowy.pdf


Strona główna


stopsoftwarepatents.eu petition banner