Projekty robotów: Wykorzystanie robota TWIN-CATT jako mobilnego wykrywacza metali / cz.6z7


Projekty robotów: Wykorzystanie robota TWIN-CATT jako mobilnego wykrywacza metali / cz.6z7

autor: Konrad Michalski

Artykuł opisuje sposób realizacji koncepcji wykorzystania robota mobilnego TWIN-CATT jako mobilnego wykrywacza metali. Projekt oparto o moduł wykrywacza J-267, magnetometr oraz płytę startową Arduino UNO, pełniącą rolę sterowania nadrzędnego ruchem robota.

Spis treści

1. Wstęp
2. Projekt układu sterującego
3. Algorytm sterowania
4. Realizacja fizyczna
5. Podsumowanie

1. Wstęp

Zagadnienie poszukiwania metalowych przedmiotów zakopanych w ziemi towarzyszy człowiekowi od setek lat. Wykrywanie metalu nie tylko jest powiązane z działaniami militarnymi (np. detekcja min), ale również stanowi jedną z metod wykorzystywanych przy badaniach archeologicznych. Urządzeniem służącym do detekcji metalu w ziemi jest tak zwany wykrywacz metali, w którego skład najczęściej wchodzi: cewka, uchwyt umożliwiający przemieszczanie cewki, układ analizujący zmianę pola magnetycznego, elementy sygnalizujące stan urządzenia (diody, głośnik).

Opracowany moduł sterujący z zaprojektowanym systemem czujników oraz odpowiednim algorytmem sterowania, może zostać wykorzystany w celach militarnych, takich jak autonomiczne wykrywanie metalowych przedmiotów ukrytych pod powierzchnią ziemi. Przedmiotami takimi mogą być miny, broń oraz różnego rodzaju pociski. Mobilny wykrywacz metalu może być także wykorzystywany do przeszukiwania powierzchni piaszczystych, w celu zapewnienia bezpieczeństwa wczasowiczom odpoczywających na plażach. Robot TWIN-CATT z oprzyrządowaniem wykrywacza mógłby posłużyć do celów czysto hobbystycznych. Wykrywanie drobiazgów ukrytych pod ziemią staje się bardzo popularne w obecnych czasach. Zaprezentowana platforma mobilna jest znakomitą alternatywą do szukania przedmiotów ręcznie.

Na rysunku 1 przedstawiono koncepcję mobilnego wykrywacza metali, gdzie zaznaczono również najważniejsze elementy takie jak:
I. Robot gąsienicowy "TWIN-CATT"
II. Jednostka sterująca wraz z czujnikami ultradźwiękowymi.
III. Zbiornik z farbą zintegrowany z pompką.
IV. Stelaż z cewką i centralnie zamocowaną dyszą.

2. Projekt układu sterującego

Podstawowym problemem związanym z projektowaniem modułu sterującego jest stosunkowo duża liczba obsługiwanych urządzeń. Elementem programowalnym układu jest mikrokontroler ATmega328 umieszczonym na płytce uruchomieniowej Arduino UNO. Cały moduł wykrywacza podzielono na urządzenia wejścia, wyjścia oraz układ zasilania. W skład urządzeń wejścia zaliczono:

> impulsowy wykrywacz metali JABEL J-267 (zestaw do samodzielnego montażu),
> czujniki ultradźwiękowe HCSR04 – 2szt. (służą do zapobiegania kolizji),
> kompas elektroniczny HMC 6352 (umożliwia dokładną realizację wybranego kierunku),
> przyciski – 3szt. (umożliwiają komunikację użytkownika z mikrokontrolerem)
> przetworniki obrotowo-impulsowe zainstalowane na pokładzie robota TWIN-CATT (niezbędne w określaniu przebytej drogi).

Do urządzeń wyjścia (wykonawczych) zaliczono:
> robota gąsienicowego TWIN-CATT
> instalację natryskową umożliwiającą znaczenie terenu,
> wyświetlacz alfanumeryczny – niezbędny w komunikacji z użytkownikiem.

Na rysunku 2 przedstawiono schemat ideowy układu sterującego.

Płytka uruchomieniowa Arduino UNO
Realizacja zobrazowanego projektu nie byłaby możliwa bez elementu podejmującego decyzje. Na potrzeby projektu zdecydowano się na płytkę uruchomieniową, która zapewni uniwersalność i możliwość szybkiego prototypowania. Spośród bardzo szerokiej oferty dostępnej na rynku zdecydowano się na płytkę "Arduino UNO", zilustrowaną na rysunku 3.

Podstawową zaletą zastosowanej płytki nie są parametry użytkowe, a środowisko programistyczne i znaczna ilość użytkowników. Arduino jest otwartym projektem budującym platformę służącą do nauki programowania oraz praktycznego wykorzystania mikrokontrolerów przez początkujących elektroników. Niska cena płytki oraz bogata biblioteka przykładów praktycznego wykorzystania sprawiła, że na przestrzeni paru lat (od 2005r.) platforma uzyskała wielu użytkowników. W konsekwencji, zaczynając od strony www.arduino.cc, a skończywszy na prywatnych blogach, można znaleźć wiele ciekawych projektów. Obecnie platforma jest nadal rozwijana, a międzynarodowa popularność sprawiła, że wiele firm elektronicznych wykonuje gotowe podzespoły dedykowane dla płytki Arduino.

Wykrywacz metali do samodzielnego montażu JABEL J-267
Budowa wykrywacza metali, który oferowałby parametry umożliwiające praktyczne wykorzystanie, jest czasochłonna i wymaga specjalistycznej wiedzy. Dlatego podobnie jak w przypadku płytki Arduino, zdecydowano się na wykorzystanie gotowego układu. Wybrano zestaw do samodzielnego montażu JABEL J-267 przedstawiony na rysunku 4.

Czujnik ultradźwiękowy HC-SR04
Czujniki ultradźwiękowe HC-SR04 to elementy dedykowane dla płytki Arduino. W projekcie wykrywacza wykorzystywane są w celu zabezpieczenia robota przed kolizją. Poniżej przedstawiono dane techniczne czujnika widocznego na rysunku 5:
> napięcie zasilania – 5V,
> pobór prądu – <2mA,
> kąt działania – <15°,
> odległość mierzona – 2cm-500cm,
> rozdzielczość – 0,3cm.

W praktyce rozdzielczość czujnika nie przekracza 1cm, a zasięg działania jest mniejszy niż 5m – wynosi około 3m. Realizacja przerwania algorytmu i zatrzymania robota wymaga wykrycia przedmiotu w odległości ok. 50cm. Zastosowany czujnik, mimo różnic między charakterystyką producenta a rzeczywistą, spełnia wymagania projektowe.

Magnetometr – kompas elektroniczny HMC 6352
Jednym z najistotniejszych czujników w systemie sterowania jest magnetometr, pełniący rolę kompasu elektronicznego. Sam układ jest mało popularny i trudno dostępny, jednak dzięki odpowiednim parametrom stanowi bardzo dobre sprzężenie zwrotne. Komunikacja z mikrokontrolerem odbywa się za pomocą protokołu I2C, natomiast dzięki dołączonej do układu biblioteki, pozyskiwaną w algorytmie informacją jest kąt odchylenia od bieguna północnego(0° – 359°). Cała płytka przedstawiona na rysunku 6 ma wymiary 15x15mm.

Dodatkowymi parametrami użytkowymi są (na podstawie danych katalogowych):
> napięcie zasilania od 2,7 do 5,2V,
> częstotliwość odświeżania od 1 do 20Hz,
> łatwe w użyciu rozwiązanie,
> dokładność 1°,
> pobór prądu 1mA dla 3V.

Układ zasilania
W realizowanym projekcie wykorzystano cztery poziomy napięć:
> zasilane napięciem 3,3V – moduł kompasu elektronicznego HMC6352,
> zasilanie napięciem 5V – wyświetlacz alfanumeryczny, przyciski, czujniki ultradźwiękowe,
> zasilanie napięciem 9V – moduł wykrywacza metali JABEL J – 267 oraz o płytka uruchomieniowa Arduino Uno,
> zasilanie napięciem 12V – pompka spryskiwaczy samochodowych.

Głównym źródłem zasilania jest koszyczek baterii (1,5V) połączonych szeregowo w celu uzyskania napięcia ok. 9V (użyto akumulatorki o napięciu 1,2V) przedstawionych na rysunku 7.

Poprzez szeregowe połączenie akumulatorków uzyskano napięcie 9V. Zasilanie napięciem 3,3V oraz 5V realizowane jest po przez zastosowanie odpowiednich stabilizatorów na płytce Arduino. Natomiast napięcie 12V oraz odpowiednią wydatność prądową w celu zasilania pompki spryskiwacza zapewniają akumulatory na pokładzie robota TWIN-CATT. Wykorzystany układ baterii litowo – metalowo – wodorkowych pozwala na 12 godzin ciągłej pracy układu sterującego.

3. Algorytm sterowania

Spośród wielu algorytmów pokrycia powierzchni można wyróżnić takie, gdzie ścieżka ruchu planowana jest na podstawie dostępnej mapie terenu, bądź takie, gdzie algorytm sterowania wykorzystuje metody behawioralne bazujące na danych sensorycznych. Bez dostępnej mapy terenu, całkowite pokrycie powierzchni możliwe jest dzięki wykorzystaniu jednej z dwóch metod behawioralnych. Pierwsza z nich wykorzystuje algorytm ruchu losowego, gdzie zadawany kierunek jest losowo generowany na podstawie bodźców zewnętrznych (np. czujniki odległości). Generowana w ten sposób trajektoria ruchu najczęściej wykorzystywana jest w robotach realizujących zadanie odkurzania. W przypadku konieczności pokrycia całej powierzchni stosuje się algorytm wykorzystujący szablonową metodę ruchu.

Wybranym algorytmem jest algorytm siewcy, gdzie szablon ruchu przedstawiono na rysunku 8. Długość dystansu oraz liczba nawrotów zostaje dynamicznie obliczona w zależności od trzech podstawowych parametrów: wysokość pola, szerokość pola oraz szerokość robota. Sam ruch bazuje na liniowych przemieszczeniach. Pokrywaną powierzchnię można przybliżyć do dwuwymiarowego układu współrzędnych.

Dokładne zrealizowanie ruchu widocznego na rysunku 8 gwarantuje wysoką efektywność pokrycia powierzchni, natomiast dzięki trzem parametrom ustalanym przez użytkownika mobilny wykrywacz staje się urządzeniem funkcjonalnym i elastycznym. Proponowane rozwiązanie nie jest pozbawione wad, gdyż realizacja takiego ruchu w praktyce jest bardzo trudna, a czasami nawet niemożliwa (przeszkody ruchome i nieruchome). Dlatego przyjęto założenie, że mobilny wykrywacz metali będzie jedynie wykorzystywany do przeszukiwania powierzchni bez przeszkód fizycznych. Czujniki ultradźwiękowe zainstalowane na pokładzie robota będą służyły jedynie do zapobiegnięcia kolizji, przerywając działanie programu.
Wybrany algorytm pokrycia powierzchni jest podstawą napisanego programu. Aby zrealizować ruch robota, trzeba określić podstawowe elementy programu, które w późniejszym etapie będą przełożone na kod właściwy implementowany w mikrokontrolerze. Na rysunku 9 przedstawiono uproszczony schemat napisanego programu realizującego ruch siewcy.

W momencie uruchomienia modułu sterującego następuje deklaracja stałych oraz zmiennych potrzebnych do poprawnej pracy programu. Istotną rolę pełni deklaracja bibliotek, bez których niemożliwa byłaby obsługa takich urządzeń jak: wyświetlacz ciekłokrystaliczny, czujniki ultradźwiękowe, kompas elektroniczny. Kolejnym fragmentem napisanego programu jest wczytanie danych wprowadzanych przez użytkownika za pośrednictwem przycisków. Na podstawie otrzymanych danych czyli szerokości i wysokości przeszukiwanego pola, obliczane są warunki brzegowe niezbędne do zatrzymania algorytmu siewcy. Następnym blokiem, widocznym na rysunku 16, jest blok realizacji ruchu. Blok ten zawiera w sobie podbloki poszczególnych rozkazów ruchowych. Realizacje ruchu należy rozumieć poprzez wykonywanie zadanej operacji przez robota TWIN-CATT takiej jak: ruch prosto, obrót w lewo lub prawo. W trakcie realizacji zadania pokrycia sprawdzane są informacje związane z aktywnością czujnika metali, czujnikami odległości, bądź informacji pochodzących z przetworników obrotowo – impulsowych. W celu utrzymania zadanej trajektorii wykorzystano dwa sprzężenia zwrotne pochodzące od :
> kompasu elektronicznego,
> enkoderów na pokładzie robota.
Realizacja ruchu na wprost zrealizowana jest za pomocą regulatora dwustanowego. Wartości graniczne (granica lewo- i prawostronna) stanowią kąt odchylenia od wyznaczonego kursu.

4. Realizacja fizyczna
Szczegółowy schemat uwzględniający wszystkie połączenia elektryczne przedstawiono na rysunku 10.

Aby zachować przejrzystość, na powyższym schemacie nie narysowano wszystkich rzeczywistych połączeń między wspólnymi masami oraz zasilaniem 5V i 3,3V. Ze względu na ograniczoną liczbę pinów, mas oraz zasilania na płytce Arduino, w realizacji rzeczywistej utworzono dodatkowe piny umieszczone na płytce uniwersalnej (masy, zasilanie 5V, filtr). Na rysunku 11 przedstawiono realizację fizyczną omawianego układu.

Połączenia wykonano w większości za pomocą przewodów zakończonych goldpinem męskim lub żeńskim. Zaletą takiego połączenia jest możliwość szybkiej wymiany lub demontażu wybranego podzespołu. Podstawowymi wadami z kolei są: duży obszar zajmowanej przestrzeni oraz niepewność połączenia i podatność na zakłócenia.

Projektowane urządzenie posiada prostą obudowę mechaniczną. Wykorzystano elementy dostępne na rynku, ewentualnie poddano je obróbce wykonanej we własnym zakresie. Jako obudowę modułu sterującego wykorzystano gotową skręcaną skrzynkę z tworzywa sztucznego o wymiarach 16x20x5cm.W celu instalacji urządzeń oraz gniazd do połączenia przewodów wykonano 13 otworów.

Oprócz skrzynki z tworzywa sztucznego wykorzystano również plastikową tubkę, w której umieszczono magnetometr. Poprzez umieszczenie kompasu w pewnej odległości od robota, likwiduje się pewną część zakłóceń wynikających ze zmiany pola magnetycznego podczas pracy robota. Na rysunku 12 przedstawiono obudowę modułu sterującego.

Podsumowując elementy zewnętrzne modułu sterującego widoczne przez użytkownika są następujące:
> wyłącznik główny,
> gniazdo chinch – służy do podłączenia cewki,
> gniazdo mini jack – służy do zasilania cewki przekaźnika pompki,
> gałka potencjometru – ustawienie czułości wykrywacza metali,
> kompas na wysięgniku (tubka) – separacja magnetometru,
> wyświetlacz oraz przyciski – komunikacja z użytkownikiem,
> kabel trzyżyłowy zakończony goldpinami – komunikacja z robotem TWIN-CATT.

Na rysunku 13 przedstawiono widok ogólny zrealizowanego projektu, gdzie zaznaczono również omówione powyżej elementy takie jak:
I. Robot gąsienicowy "TWIN-CATT"
II. Jednostka sterująca.
III. Zbiornik z farbą zintegrowany z pompką.
IV. Stelaż z cewką i centralnie zamocowaną dyszą.

5. Podsumowanie

Reasumując postęp prac nad przedstawionym projektem, zadanie zrealizowano w całości, a poszczególne wykonane etapy pracy to:
> projekt koncepcyjny mobilnego wykrywacza metali,
> projekt układu sterującego,
> projekt układu natryskowego,
> montaż zestawu wykrywacza metali Jabel J-267,
> wykonanie cewki wraz z uchwytem mocującym do robota TWIN-CATT,
> wykonanie obudowy modułu sterującego,
> wykonanie układu natryskowego,
> realizacja połączeń wszystkich elementów układu,
> zapewnienie komunikacji pomiędzy zastosowanymi urządzeniami,
> realizacja aplikacji sterującej mobilnym wykrywaczem metali,
> instalacja wszystkich podzespołów (odpowiednie mocowania) na robocie TWIN-CATT,
> przeprowadzenie badań weryfikacyjnych.

Przy budowie mobilnego wykrywacza metali rozwiązano szereg problemów związanych ze wspólną kompatybilnością wszystkich zastosowanych urządzeń. Po zlikwidowaniu zakłóceń wpływających na pracę kompasu, bądź zastosowaniu droższego magnetometru o lepszych parametrach, zrealizowany projekt stanowiłby w pełni funkcjonalne urządzenie pomocne przy pracach poszukiwawczych. W dalszych etapach rozwoju mobilnego wykrywacza metali można wykorzystać również:
> inne algorytmy pokrycia powierzchni,
> moduł GPS,
> różnej wielkości cewki w zależności od potrzeb,
> nową instalację czujników umożliwiających omijanie przeszkód,
> modułu wykrywacza umożliwiającego rozpoznawanie różnych rodzajów metali,
> budowa cyfrowej mapy terenu na podstawie aktywności wykrywacza.

Artykuł stanowi streszczenie pracy inżynierskiej autorstwa Konrada Michalskiego, zrealizowanej na Wydziale Elektrotechniki i Automatyki Politechniki Gdańskiej.

Wkrótce zapraszamy do lektury następnego, ostatniego już odcinka serii artykułów o robocie TWIN-CATT.

Źródło: Copyright by Konrad Michalski. Kopiowanie treści tylko za formalną zgodą autora.

Zobacz też:


Roboty coraz bliżej ludzi dzięki mięśniom inspirowanym naturą
ModuBot – elastyczna robotyka modułowa od MultiProjekt
Największe Targi Automatyki Przemysłowej i Robotyki w Polsce!
Czy roboty przewyższają koszty zatrudnienia?
Dlaczego pasta lutownicza często sprawia problemy techniczne?
Grupa RENEX na stoisku Yamaha podczas targów MOTEK 2024
Sztuczne oko zrewolucjonizuje widzenie robotów
Stwórz przedsiębiorstwo przyszłości z naszym audytem technologicznym – wywiad z MultiProjekt Automatyka