Skocz do zawartości

Czterokołowy robot mobilny z Raspberry Pi


mdrwiega

Pomocna odpowiedź

Witam,
przedstawiony kołowy robot mobilny powstał na potrzeby mojej pracy inżynierskiej, a dokładniej w celu przeprowadzenia testów algorytmu lokalizacji. Przyszłym, praktycznym zastosowaniem robota może być wykonywanie zadań inspekcyjnych, przede wszystkim chodzi o możliwość zdalnego monitorowania danego terenu, oczywiście po wyposażeniu go w kamerę wizyjną.

Założenia projektowe:

- Konstrukcja czterokołowa, z kołami napędzanymi niezależnie.

- Zmiana kierunku jazdy przez różnicowanie prędkości kół dwóch stron robota, czyli tak, jak w konstrukcjach typu czołgowego.

- Elementy konstrukcyjne wykonane ze stopu aluminium.

- Łożyskowanie osi kół.

- Nisko zawieszony środek ciężkości, zwarta konstrukcja.

- Modułowa budowa, aby ułatwić dalszy rozwój projektu. Aktualnie robot składa się z następujących modułów:

-- moduł zasilania,
-- moduł sterownika silników,
-- moduł obsługi sensorów,
-- moduł komputera nadrzędnego.

- Komunikacja modułów z wykorzystaniem magistrali I2C.

- Koła robota zostały wyposażone w enkodery magnetyczne.

- Wyposażenie w sensory inercyjne, wykorzystywane do lokalizacji.

- Funkcję jednostki nadrzędnej pełni komputer Raspberry Pi.

- Komunikacja z robotem wykorzystująca protokół SSH i sieć bezprzewodową Wi-Fi.

Układ mechaniczny

Część mechaniczna robota została zaprojektowana w wersji studenckiej oprogramowania Autodesk Inventor 2013. Starano się minimalizować rozmiary robota, zachowując przy tym odpowiednią ilość miejsca dla poszczególnych podzespołów. Celem było uzyskanie zwartej, niezawodnej i dość odpornej na uszkodzenia konstrukcji.

Rama robota

Rama robota wykonana została z aluminiowych ceowników, ze stopu PA38 (EN AW-6060). Płytę podłogową wycięto z blachy aluminiowej o grubości 2 mm. W korpusie robota umieszczono dwie komory do przechowywania akumulatorów. Ich zadaniem jest odizolowanie akumulatorów od pozostałych podzespołów umieszczonych w centralnej części robota.

Napędy

Napędy robota to silniki szczotkowe prądu stałego Pololu 37D, z przekładnią 67:1, bez zintegrowanego enkodera. Silnik ten charakteryzuje się: momentem obrotowym o wartości około 1,4 Nm, obrotami na poziomie 150 RPM, poborem prądu bez obciążenia równym 0,3 A i prądem przy zatrzymanym wale osiągającym wartość 5 A. Wymienione parametry osiągane są przy napięciu zasilania równym 12 V.

Koła

Wykorzystano koła Mobot MBW-120/55/4, które składają się z plastikowej felgi i gumowej opony z bieżnikiem. Średnica zewnętrzna koła to 120 mm, natomiast wewnętrzna wynosi 55 mm. Ze względu na rodzaj gumy, typ i głębokość bieżnika, koła te nadają się do stosowania na nierównym terenie.

Przeniesienie napędu na koła

Przeniesienie napędu na koło zrealizowano z wykorzystaniem zaprojektowanej, wydrążonej osi z otworem pod wał silnika o średnicy 6 mm z jednej strony i otworem gwintowanym z drugiej, gdzie mocowane jest koło. Oś została wykonana ze stopu aluminium w procesie toczenia wałka. Dodatkowo, na końcu osi został wyfrezowany sześciokąt, który umieszczany jest w gnieździe koła. Każda oś koła jest dodatkowo łożyskowana w celu przeniesienia punktu podparcia osi jak najbliżej koła.

Układ zasilania

Akumulatory

Wyposażenie robota w napędy posiadające stosunkowo duże zapotrzebowanie na prąd wymusiło zaopatrzenie go w odpowiednio wydajne źródło zasilania. Zdecydowano się umieścić w robocie akumulatory litowo-polimerowe, które charakteryzują się dużym stosunkiem zgromadzonej energii do wagi i objętości w porównaniu do akumulatorów innych typów oraz posiadają znaczną wydajność prądową.

Moduł zasilania

W celu dostarczenia napięć dla poszczególnych modułów, a także zabezpieczenia akumulatorów zaprojektowano osobny moduł zasilania dla robota. Napięcie zasilania dostarczane z akumulatorów zostało w module rozdzielone na trzy linie. Pierwsza odpowiada za dostarczenie napięcia zasilania do silników i płyną w niej największe prądy. Druga linia dostarcza prąd do przetwornic impulsowych obniżających napięcie, z których następnie zasilana jest większa część układów logicznych. Natomiast trzecia linia wykorzystuje stabilizator liniowy i dostarcza zasilanie pomocnicze o napięciu 5 V do układów kontrolujących stan akumulatora. Moduł zasilania zostanie szczegółowo opisany w niedalekiej przyszłości.

Układ sterowania

Architektura sprzętowa

Architektura sprzętowa robota została zaprojektowana w taki sposób, aby pozwolić na realizację zadania lokalizacji, a także innych zadań, które będą w przyszłości rozwijane. Fizyczna realizacja układu sterowania składa się z trzech głównych modułów:

- moduł obsługi sensorów,
- moduł sterowania silnikami,
- jednostka nadrzędna.

Dodatkowo, wykorzystywane są moduły enkoderów i czujników odległości, które są bezpośrednio połączone z odpowiednim modułem głównym.

Idea działania systemu jest taka, że komputer nadrzędny zbiera informacje zarówno o stanie robota, jak i otoczeniu, za pomocą podłączonych do niego modułów. Na etapie przetwarzania danych jednostki nadrzędnej wykonywane są między innymi algorytmy lokalizacji, a także wszelkie działania decyzyjne. Następnie, w zależności od przyjętych działań, można za pomocą modułu sterowania silnikami realizować przemieszczenie robota. Dodatkowo, robot łączy się ze stacją roboczą, wykorzystując sieć bezprzewodową Wi-Fi. Z poziomu stacji roboczej można zarówno wydawać komendy jak i nadzorować pracę robota.

Moduł sterowania silnikami

Do sterowania napędami robota zaprojektowano i wykonano osobny moduł. Konstrukcja robota oparta na czterech niezależnie sterowanych kołach wymusiła zastosowanie stosunkowo rozbudowanego układu. Spowodowane jest to między innymi wymaganiem synchronizacji prędkości kół robota, szczególnie tych położonych po jednej stronie ramy, aby zminimalizować niepotrzebne poślizgi i straty energii. Dodatkowo, moduł musi obsługiwać cztery enkodery inkrementalne.

Moduł obsługi sensorów

Aby zapewnić robotowi informacje o jego stanie, o stanie otoczenia, a także o stanie robota względem otoczenia, zaprojektowano i wykonano moduł sensorów. Zadaniem modułu jest pobieranie danych pomiarowych z zainstalowanych czujników, a następnie w odpowiedzi na żądanie ze strony jednostki nadrzędnej, przesyłanie ich.

Komputer nadrzędny

W roli jednostki nadrzędnej zdecydowano się wykorzystać komputer Raspberry Pi w wersji B. Decyzja została podjęta głównie ze względu na stosunkowo niewielki koszt urządzenia, niewielkie rozmiary, a także dostępność dokumentacji i bibliotek w różnych językach programowania. Na Raspberry Pi zainstalowano system Raspbian. Stosunkowo rozbudowana dokumentacja znacznie ułatwia konfigurację systemu. Podstawowe oprogramowanie robota na komputerze Raspberry Pi napisane zostało w języku C.

Komunikacja ze stacją roboczą

Realizacja komunikacji między komputerem Raspberry Pi, a stacją roboczą wymagała dołączenia do komputera bezprzewodowej karty sieciowej TP-Link WN725N. Funkcję stacji roboczej pełni PC z zainstalowanym systemem Windows 7. W celu umożliwienia połączenia, z poziomu stacji roboczej utworzono otwarty punkt dostępu (hot-spot). Do tego zadania użyto narzędzia systemowego o nazwie netsh.

Z komputerem Raspberry Pi można się połączyć wykorzystując chociażby protokół SSH (Secure Shell). Umożliwia to bezpośrednie uruchamianie programów z poziomu komputera Raspberry Pi znajdującego się wewnątrz robota.

Źródła:

- Michał Drwięga. Fuzja sygnałów sensorycznych dla potrzeb lokalizacji kołowego robota mobilnego. Praca inżynierska, Politechnika Wrocławska, Wrocław, 2013

Więcej informacji można znaleźć na mojej stronie (link w podpisie).

robot_4wd_v1_vis.thumb.png.6b45ea90698d432deecdfa86b4360ee7.png

  • Lubię! 1
Link do komentarza
Share on other sites

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

Gdzie są te czujniki, bo nigdzie ich nie widzę?

Jeżeli chodzi o czujniki odległości (Sharp, Vishay), zdjęcia zostały wykonane jeszcze przed ich zamontowaniem. A umieszczone zostały na dodatkowych modułach przymocowanych na zewnątrz robota. Pozostałe czujniki znajdują się w środku. Enkodery są na modułach przy kołach, co widać trochę na poniższej wizualizacji.

Link do komentarza
Share on other sites

Na stronie napisałeś, że projekt modułu zasilania wykonałeś w studenckiej wersji Altium Designer. To jest wersja darmowa czy płatna? Nie mogę znaleźć informacji na temat tej wersji na stronie producenta.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

To była wersja darmowa po potwierdzeniu, że się studiuje, ale tylko na rok. Niestety, ale chyba od tamtego roku nie ma już możliwości uzyskania takiej wersji.

Polecam natomiast całkowicie darmowy program KiCad. Po przesiadce z Altiuma, w przypadku projektów dwuwarstwowych nie widzę jego większych wad. Często nawet łatwiej udaje mi się znaleźć do niego biblioteki elementów.

Link do komentarza
Share on other sites

Witam. Mam pytanie, jak się sprawują zastosowane przez Ciebie silniki napędowe? Czy przekładnie nie wydają się zbyt delikatne, jak na taki moment wyjściowy?

Pytam, gdyż załatwiłem już dwie przekładnie w silnikach Pololu 1575 (trochę słabszych, bo niecały 1Nm) i to przy dość delikatnym traktowaniu (zastosowanie podobne jak w Twoim robocie). Myślę o wymianie silników na takie jak u Ciebie, ale nie chciałbym kupować w ciemno.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.