LEM Mars Rover – co drzemie w środku?

3

W ostatnich dniach w pomorskich mediach lokalnych zrobiło się głośno na temat budowanego na Politechnice Gdańskiej łazika marsjańskiego LEM. Ale czym tak naprawdę jest LEM z technicznego punktu widzenia?

Mechanika

Baza jest nitowana aluminiowa klatka, w której mieści się elektronika. Podwozie Lema składa się z sześciu niezależnie zawieszonych i napędzanych kół. Środkowe są bardziej rozsunięte od przednich i tylnych, co bardzo ułatwia mu zakręcanie w miejscu. Niezależny napęd na każdym kole pozwala mu skręcać w miejscu oraz, co ważniejsze, wykorzystanie enkoderów umożliwia precyzyjne sterowanie prędkością obrotową każdego z kół. Wykorzystane zostały koła od modelarskich monster trucków, przerobione tak, żeby silnik mógł znajdować się wewnątrz.

Technicon 2015 / Źródło: LEM Mars Rover

Technicon 2015 / Źródło: LEM Mars Rover

Budowany aktualnie manipulator robota będzie składał się z dwóch segmentów i końcówki roboczej połączonych ze sobą za pomocą robotycznego nadgarstka. Siłą napędową będą dwa liniowe siłowniki i trzy zwykłe silniki DC, co zapewni pięć stopni swobody. Sterowanie manipulatorem będzie odbywało się za pomocą urządzenia typu Spacemouse firmy 3DConnexion. Użytkownik będzie sterował jedynie orientacją i położeniem końcówki roboczej. Wysterowaniem każdej z osi manipulatora zajmie się oprogramowanie wykorzystujące kinematykę odwrotną. Manipulator będzie w stanie pobierać próbki gleby, wgryzając się na głębokość do 15 cm, a także podnosić ładunki do 5 kg.

Ostatnim, ciekawym elementem mechaniki Lema jest jego antena. Konstruktorzy postanowili wykorzystać sterowaną antenę kierunkową montowaną na robocie i dookólną antenę w stacji bazowej. Pozwoli to zmniejszyć ilość mocy potrzebnej do komunikacji a także zapewni większy zasięg pracy i mniejszą podatność na zakłócenia. Antena będzie autonomicznie i niezależnie naprowadzała się na stację bazową wykorzystując estymację mocy odebranej oraz znajomość położenia własnego i stacji bazowej.

Elektronika

System można podzielić na trzy części:

  • Data Acquisition Unit (DAU) – służący do zbierania danych o otoczeniu i sterujący silnikami
  • Processing Unit (PU) – służący do przetwarzania zebranych danych
  • Operator Unit (OU) – służący interakcji człowieka z Lemem

W projekcie wykorzystano podejście prototypowe. Zamiast poświęcać czas na projektowanie autorskiej elektroniki, wykorzystano dostępne na rynku moduły. I tak na przykład rolę DAU pełnią dwie płytki Arduino Due (z czego aktywnie wykorzystywana jest na razie jedna, druga służy do testów), rolę PU pełni komputer Raspberry Pi 2 model B, a rolę OU komputer PC z systemem Linux, lub urządzenie mobilne z systemem Android. Jedyną autorską elektroniką są sterowniki silników oparte o układ VNH3SP30, pracujący w zakresie do 36 V, 30 A prądu chwilowego i 9A prądu ciągłego.

lem 2

Studenci pracujący przy łaziku / Źródło: NEX Robotics

Lem wyposażony jest także w czujniki przyśpieszenia, prędkości obrotowej, pola magnetycznego, których odczyty są fuzjowane, żeby określić orientację robota w przestrzeni. Każdy z silników wyposażony jest w enkoder, pozwalający precyzyjnie określić prędkość obrotową każdego z kół. Aktualnie do systemu dołączane są czujniki prądu, temperatury, ultradźwiękowe czujniki odległości a także kamery.

Najważniejszym sensorem, w który Lem jest wyposażony to LIDAR SICK TIM551, pozwalający mierzyć odległość do przeszkód do 10 m w jednej płaszczyźnie na zakresie 270 stopni z rozdzielczością 1 stopnia. Już teraz, wykorzystując specjalne oprogramowanie Lem jest w stanie tworzyć mapy 2D pomieszczeń, w których się przemieszcza. Planowane jest dołożenie do tego sensora specjalnego, ruchomego zwierciadła, które pozwoli skanować otoczenie w trzech wymiarach i tworzyć mapy 3D – niezbędne do nawigowania w otwartym terenie.

Software

Lem ma być zrobotyzowaną platformą edukacyjną dla algorytmów świadomości otoczenia i nawigacji robotów. Nie powinno więc dziwić, że bardzo duży nacisk w procesie wytwarzania tego robota, położony jest na oprogramowanie. Rdzeniem systemu jest Robot Operating System – uniwersalny framework, wykorzystywany szeroko w świecie nauki i robotyki. Główną ideą systemu ROS jest możliwość niezależnego uruchamiania programów jako węzłów, które komunikują się między sobą używając tematów, na których publikowane są dane w specjalnych strukturach. Pozwala to na interakcję ze sobą nie tylko programów pisanych w różnych językach (najbardziej wspierane są C++ i Python), ale także niezależne uruchamianie węzłów pochodzących od różnych producentów i z różnych bibliotek. A tych jest na prawdę bardzo dużo. Taki system pozwala też na nagrywanie zarejestrowanych danych, a potem odtworzenie ich jako symulacji w celu testowania algorytmu. ROS jest też w stanie traktować zewnętrzne urządzenia jako węzły i, w przypadku Lema, DAU może być traktowane z punktu widzenia całego systemu jako jeden (bądź kilka) węzłów.

Aktualnie system ROS jest wykorzystywany do przesyłania komunikatów sterujących od operatora do robota (z komputera czy smartphone’a), zbierania danych z LIDARa oraz wykonywania SLAMu, czyli algorytmu jednoczesnego mapowania i nawigacji, dzięki którym na podstawie odczytów z LIDARa Lem jest w stanie określać gdzie się znajduje, w którą stronę się obraca, czy w którą stronę jedzie, bez konieczności wykorzystywania mało dokładnych danych odometrycznych. Planowane jest rozszerzenie tej funkcjonalności do 3D.

Równolegle będą prace prowadzone nad algorytmami autonomicznego wyznaczania trasy przejazdu, dzięki czemu operator będzie musiał jedynie wydać komendę ruchu w danych kierunku, a Lem samodzielnie przejedzie trasę. Na chwilę obecną ostatnim założeniem jest zaimplementowanie algorytmów kategoryzacji obiektów na obrazie z kamery. Dzięki temu Lem będzie mógł rozpoznać obiekt i spośród wielu widocznych wybrać ten właściwy. Połączenie tych funkcjonalności pozwoli operatorowi wydawać polecenia typu pojedź w punkt X1, Y1 i przewieź leżący tam przedmiot A do punktu X2, Y2, lub podążaj za osobą przed tobą.

(LEM)

3 komentarze

  1. Fajny artykuł, fajny projekt, pozostaje życzyć powodzenia.
    I tylko jedno małe “ale”, za to skierowane do wszystkich, a zwłaszcza do organizatorów różnych “Mars challange”… Mars nie ma pola magnetycznego, ani satelitów GPS… można by w przyszłości zaostrzyć regulaminy, żeby było bardziej realnie.

    • Już nie przeszadzaj… Chyba nie wierzysz, że agencje kosmiczne zamierzają te roboty wystrzeliwać na Marsa? Już bardzie trzeba się zainteresować zastowaniami ziemskimi.

      • Ewentualnie innymi rozwiązaniami, które będzie można zastosować w “profesjonalnych” łazikach. Pytanie tylko po co słać tam kolejne rovery.