MKNM "Synergia"

Stan: Ukończony

DNR 0.1

DNR 0.1

Istota projektu:
DNR 01, czyli Dynamic Nano Robot jest prototypową platformą do testów algorytmów kroczenia stabilnego dynamicznie. Projekt jest wynikiem doświadczenia zebranego przy pracy nad poprzednią konstrukcją (czworonożny robot SynerDog). Konstrukcja została uproszczona
i zmniejszona, dzięki czemu napędy mają większy zapas momentu obrotowego.

Konstrukcja:

Wszystkie elementy konstrukcyjne są wykonane ze styroduru, który jest bardzo lekki, dzięki czemu cały robot waży zaledwie 300g. Nowym usprawnieniem jest ruchoma stopa amortyzowana twardą sprężyną, która ugina się dopiero przy dynamicznym obciążeniu i oddaje część energii potencjalnej, co pozwala zwiększyć sprawność kroczenia. Nogi ustawione przeciwstawnie umożliwiają równe rozłożenie masy i dużą stabilność, tym samym zwiększając tolerancję na niedokładności serwomechanizmów. Każda noga posiada dwa stopnie swobody, które nie pozwalają na optymalne kroczenie stabilne statycznie, ale wystarczają do implementacji algorytmów dynamicznych.

Zasilanie:
Robot jest roboczo zasilany z pakietu litowo-polimerowego o napięciu 11,1V i pojemności 500mAh. Wszystkie układy robota zasilane są napięciem 5V, dlatego jest ono obniżane przez przetwornicę. Przy niskiej wadze i niewielu napędach robot w trakcie chodu pobiera ok. 2,5A, co starcza na 10-15 minut ciągłej pracy. W późniejszym czasie pakiet zostanie wymieniony na Li-Pol 7,4V, lub Li-Ion 6v, dzięki czemu pojemność może być zwiększona nawet do 1000mAh.

Napędy:
W całej konstrukcji znajduje się osiem serwomechanizmów SG 90 zasilanych napięciem 5V, które dysponują momentem obrotowym 0,12Nm (ok. 1,2kg/cm), oraz prędkością kątową 500 stopni/s. Są to tanie napędy analogowe, które w późniejszej wersji zostaną zastąpione cyfrowymi (najprawdopodobniej MG 92B).

Sterowanie:
Na pokładzie znajduje się Arduino Nano, które odpowiada za całe sterowanie ruchem robota. Odbiera też sygnały od sześciokanałowego odbiornika 2,4GHz (obecnie wykorzystuje jedynie dwa kanały) i żyroskopu z akcelerometrem (moduł MPU 6050).

Algorytm kroczenia:
Podstawowym zagadnieniem dotyczącym robotów kroczących jest wyznaczenie równań kinematyki odwrotnej, które pozwolą na określenie kątów, jakie należy wysterować, aby uzyskać położenie końca nogi w określonym punkcie układu współrzędnych. Zostało to zrealizowane metodą macierzową. Algorytm kroczenia polega na podniesieniu nóg znajdujących się po przekątnej (np. lewa przednia i prawa tylna) na określoną wysokość z wysokości startowej, następnie przesunięciu ich na odległość połowy długości kroku (l/2 lub –l/2 w zależności od kierunku kroczenia) od punktu X0 (punkt należący do prostej prostopadłej względem tułowia przechodzący przez oś biodra nogi) i przesunięcie na pozycję przeciwną na wysokości podłoża. Następnie algorytm jest powtarzany dla drugiej pary nóg. Kroczenie do przodu, do tyłu, obrót, oraz połączenie tych ruchów jest możliwe przez ustalenie różnych długości, oraz znaku wykroku dla nóg znajdujących się po prawej i po lewej stronie robota. Algorytm można usprawnić przez dodanie trzeciego stopnia swobody (możliwość ruchu w osi Z) i zakreślanie nogami przy obrocie robota okręgów na płaszczyźnie podłoża. Do stabilizacji robota służy funkcja uproszczonej dynamiki, która opiera się na wyliczaniu momentów bezwładności i nadawaniu takiego przyspieszenia nóg, aby siły się równoważyły. Dodatkowo zostanie wprowadzona stabilizacja żyroskopem sprzężonym z akcelerometrem, który wykrywając odchylenie tułowia, będzie je kontrował zmianą pozycji nóg w osi Y (pionowa, prostopadła do tułowia). Jest to platforma służąca do testów nowych algorytmów, dlatego będą one dynamicznie rozwijane.

Zdalne sterowanie:
Funkcja kroczenia w programie przyjmuje cztery argumenty: wysokość tułowia nad podłożem, wysokość podniesienia nogi, długość kroków nóg po lewej stronie, oraz długość kroków po prawej stronie. Pierwsze dwa argumenty są istotne tylko przy zmiennym podłożu i są obecnie ustawione jako stałe, kolejne dwa są zależne od sygnału z odbiornika. Założeniem było wykorzystanie jednego drążka aparatury do sterowania robotem do przodu, do tyłu, obróty wokół własnej osi i chodzenia po łuku, aby to było możliwe należało przekształcić dekodowany sygnał PPM, który można potraktować jako pozycję w osiach X oraz Y na ruch lewej i prawej strony (np. kiedy X = 0, Y > 0 obie strony mają ustawiony taki sam dodatni wykrok, kiedy X > 0, Y = 0 lewa strona ma wykrok ze znakiem dodatnim, prawa taki sam wykrok ze znakiem ujemnym, kiedy X > 0, Y > 0 lewa i prawa stona mają wykrok dodatni, ale lewa większy od prawej), aby to uzyskać jest odczytywana pozycja X, Y, następnie tak powstały punkt jest odwracany o –pi/4 względem punktu (0,0) i sczytywane są nowe współrzędne (oś Y, to lewa strona, X to prawa).