Skocz do zawartości

Przeszukaj forum

Pokazywanie wyników dla tagów 'Kroczący'.

  • Szukaj wg tagów

    Wpisz tagi, oddzielając przecinkami.
  • Szukaj wg autora

Typ zawartości


Kategorie forum

  • Elektronika i programowanie
    • Elektronika
    • Arduino, ESP
    • Mikrokontrolery
    • Raspberry Pi
    • Inne komputery jednopłytkowe
    • Układy programowalne
    • Programowanie
    • Zasilanie
  • Artykuły, projekty, DIY
    • Artykuły redakcji (blog)
    • Artykuły użytkowników
    • Projekty - roboty
    • Projekty - DIY
    • Projekty - DIY (początkujący)
    • Projekty - w budowie (worklogi)
    • Wiadomości
  • Pozostałe
    • Oprogramowanie CAD
    • Druk 3D
    • Napędy
    • Mechanika
    • Zawody/Konkursy/Wydarzenia
    • Sprzedam/Kupię/Zamienię/Praca
    • Inne
  • Ogólne
    • Ogłoszenia organizacyjne
    • Dyskusje o FORBOT.pl
    • Na luzie
    • Kosz

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Rozpocznij

    Koniec


Ostatnia aktualizacja

  • Rozpocznij

    Koniec


Filtruj po ilości...

Data dołączenia

  • Rozpocznij

    Koniec


Grupa


Znaleziono 33 wyników

  1. To mój pierwszy post na tym forum ale od razu chciałbym przedstawić zbudowanego przeze mnie robota. Mimo że to pierwszy post to odwiedzałem to i inne fora wielokrotnie w poszukiwaniu przydatnych informacji i wykorzystując jedynie „magiczny” guzik szukaj udało mi się rozwiązać większość problemów z budową. To dla tych którzy nie chcą i nie lubią szukać… Wracając jednak do robota to został on nazwany X-walker i jest czteronożnym robotem kroczącym o symetrycznej konstrukcji. Został zaprojektowany jako robot którego zadaniem będzie przejście po nieznanym terenie przy jednoczesnym zachowaniu równowagi i odpowiednim położeniu korpusu. Prace nad robotem aktualnie się zakończyły, aczkolwiek temat jest obszerny i wiele można jeszcze ulepszyć albo dodać, więc w przyszłości robot zostanie poddany kolejnym modyfikacją. 1.Budowa mechaniczna Konstrukcja mechaniczna robota została zaprojektowana przy użyciu programu Autodesk Inventor 2010. Program ten umożliwił stworzenie wirtualnego modelu robota oraz przetestowanie zależności mechanicznych występujących pomiędzy jego elementami. Dzięki temu wybrano optymalne wymiary poszczególnych części. Poniżej na rysunku 1 zaprezentowano projekt robota z programu Inventor (bez elektroniki oraz okablowania): Na materiał konstrukcyjny wybrano aluminium jako, iż posiada odpowiednią wytrzymałość, jest przy tym lekkie i nadaje się do obróbki za pomocą prostych narzędzi. Zaprojektowane elementy wycięto przy pomocy lasera z 1.5mm i 2mm arkuszy aluminium. Poniżej przedstawiono wycięte elementy: Dalszy etap prac polegał na odpowiednim ukształtowaniu niektórych części. Proces ten odbywał się ręcznie przy udziale odpowiednich kopyt wykonanych z drewna bukowego i stali. Następnie dokonano montażu elementów przy pomocy różnego rodzaju łączników śrubowych o średnicach od 2 do 4mm. Dodano także inne elementy, takie jak tulejki dystansowe czy części składowe stóp ze zintegrowanymi czujnikami stykowymi. Na kolejnym rysunku przedstawiono złożonego robota: Poniżej przedstawiono szczegóły budowy stopy: Napęd robota stanowi 12 serwomechanizmów Power HD 1201 o parametrach przedstawionych poniżej (dane producenta): - moment 12.2/13.2 kg/cm - prędkość 0.16/0.14 sec/60° - napięcia 4.8/6.0 V - waga 60 g - wymiary 40.7 x 20.5 x 39.5 mm Niestety niektóre dane obiegają od wartości rzeczywistych, szczególnie wartość momentu, ale co ciekawe nawet wymiary nie są zgodne z rzeczywistymi. Podsumowując, konstrukcja mechaniczna robota posiada kilka charakterystycznych cech: - zwarta i solidna konstrukcja - podwójne łożyskowanie wszystkich stawów - zintegrowane czujniki stykowe w stopach - całkowita rozbieralność konstrukcji – tylko połączenia śrubowe - możliwie najmniejsze wymiary przy zastosowaniu danych elementów wyposażenia robota - liczne otwory odciążające konstrukcję 2. Elektronika Część elektroniczna robota posiada budowę modułową. Każdy moduł zawiera mikrokontroler AVR i pełni odpowiednie dla siebie funkcje. Każdy posiada także odpowiednio multipleksowane wyprowadzenie ISP, co pozwala programować moduły podczas ich działania. Moduły stanowią odrębne jednostki elektroniczne i można ich używać oddzielnie nie koniecznie w robocie X-walker. Do komunikacji między sobą wykorzystują SPI. Takie rozwiązanie nie ogranicza w dalszej rozbudowie robota i pozwala stale dodawać nowe elementy i funkcje. Poniżej scharakteryzowano poszczególne moduły. 2.1. Moduł sterujący „BRAIN” Jest głównym modułem w robocie, zawiaduje działaniem pozostałych. Został oparty na mikrokontrolerze ATmega 16A z kwarcem 16MHz. Posiada wyprowadzone piny z magistralą I2C i SPI, wyświetlacz LCD oraz 2 dodatkowe przyciski na potrzeby przyszłych funkcji. Poniżej krótka charakterystyka: - arbiter magistrali SPI - komunikacja z akcelerometrem i żyroskopem poprzez I2C - Realizacja filtru Kalmana w celu wyznaczenia aktualnego pochylenia robota - obsługa wyświetlacza LCD - nadzorowanie pracy innych modułów - formowanie odpowiednich ramek danych do komunikacji z PC 2.2. Moduły sterowników serw Robot posiada dwa takie same moduły sterowników serw, każdy obsługuje 6 serwomechanizmów, czyli 2 nogi robota. Moduły także oparte są o mikrokontroler ATmega 16A na kwarcu 16MHz. Najważniejszymi funkcjami tych modułów jest oczywiście generowanie odpowiedniego sygnału PWM dla serwomechanizmów, ale także obsługa czujników stykowych i pomiar napięć na potencjometrach serw (dodatkowy przewód wychodzący z każdego serwa). Ta ostatnia cecha służy sprawdzeniu czy serwomechanizm jest rzeczywiście wychylony od taką wartość jaką wyznacza sterowanie, co jest przydatne w pracy przy dużym obciążeniu. Należy dodać, że sygnały analogowe z potencjometrów przed dotarciem do tych modułów przechodzą przez filtr analogowy. 2.3 Moduł nadawczo odbiorczy „BT_RX_TX” Moduł ten jest odpowiedzialny za obsługę dwóch modułów bluetooth, jednego wysyłającego a drugiego obierającego dane z komputera. Dane przychodzące są odpowiednio filtrowane. W module zastosowano mikrokontroler ATmega 8A oraz kwarc 14.745MHz odpowiedni do transmisji szeregowej. Standardowo w module instaluje się dwa moduły bluetooth BTM-222. Poniżej zdjęcie przedstawiające moduł zamontowany w robocie: 2.4. Moduł zasilający "POWER" Robot jest zasilany dwoma zestawami akumulatorów. Pierwszy większy zestaw (2x LiPo 1850 mAh 7.4V) zasila serwomechanizmy, drugi mniejszy (LiPo 850 mAh 7.4V) zasila układy elektroniczne. Moduł zasilający monitoruje wartości napięć poszczególnych akumulatorów a także mierzy prąd jaki zużywają napędy robota. Zajmuje się także stabilizacją napięć – 5V dla elektroniki i poprzez stabilizator impulsowy (niewidoczny na zdjęciach) 5.3V lub 6V dla serwomechanizmów. Moduł zasilający posiada budowany układ dźwiękowy sygnalizujący niski stan napięcia w akumulatorach. Zajmuje się także monitorowaniem temperatury w istotnych miejscach robota za pomocą magistrali 1-wire oraz czujników DS18b20. Te miejsca to: stabilizator impulsowy dla serw, stabilizator liniowy dla elektroniki, temperatura w serwomechanizmie „udowym”, temperatura otoczenia. Zdjęcie użytego zasilacza impulsowego oraz zdjęcie robota po zamontowaniu modułu "POWER". Widoczny radiator stabilizatora liniowego elektroniki: 2.5 Pozostałe moduły Moduł żyroskopu Zawiera żyroskop cyfrowy L3G4200D oraz kilka elementów elektronicznych niezbędnych do jego działania . Na zdjęciu widać poprawiony błąd na PCB. Praktyczniej było to zrobić w ten sposób niż zmieniać całą płytkę bo wiązałoby się to z ponownym lutowaniem obudowy LGA żyroskopu. Moduł akcelerometru Zawiera akcelerometr (i magnetometr) cyfrowy LSM303DLH oraz tak jak moduł żyroskopu kilka elementów elektronicznych niezbędnych do jego działania. IMU - interial measurmet unit Moduł IMU czyli tzw. interial measurmet unit złożony i zamontowany w całości wraz z konwerterami napięć dla sygnałów magistrali I2C Moduł filtrów analogowych RC (2 sztuki) Filtruje napięcia na potencjometrach serw aby można było je prawidłowo zmierzyć poprzez wbudowane w mikrokontrolerach przetworniki ADC 3. Sterowanie X-walker jest sterowany za pomocą komputera PC i odpowiedniej aplikacji. Zastosowanie dwóch modułów Bluetooth pozwoliło na szybkie przekazywanie danych w obu kierunkach i uzyskanie kroku sterowania na poziomie 40ms. Czas ten nie jest niestety gwarantowany z racji zastosowania protokołu Bluetooth, aczkolwiek robot porusza się płynnie i reaguje błyskawicznie na zmiany sterowania. W jednym cyklu sterowania od robota odbierane są odpowiednie dane, wyliczane jest sterowanie i dane ponownie wysyłane są do robota. Na ekranie komputera możemy obserwować dane generowane przez wszystkie moduły robota jak również aktualne położenie środka ciężkości robota względem jego stóp z naniesionym wielokątem podparcia (obraz poniżej) Po wybraniu odpowiednich ustawień chodu robota oraz prędkości poruszania się następuję połączenie z robotem. O tej pory możemy nim sterować: chód przód, tył, na boki oraz obroty w lewo prawo. Wszystkie inne „akcje” związane z chodzeniem po trudnym terenie robot podejmuje sam. Na filmach poniżej można więc zaobserwować jak przekłada nogę w celu znalezienia odpowiedniego miejsca do położenia jej bądź też ratuje się przed wywrotką po obsunięciu się którejś z nóg. Innych elementów prawdopodobnie nie widać na filmach a mianowicie robot dba cały czas o odpowiednie usytuowanie środka ciężkości tym samym zapewniając sobie stabilność. Każdorazowo dobiera odpowiednie przemieszczenia nóg wzdłuż wszystkich osi oraz przemieszczenie korpusu. Korpus robota jest pozycjonowany automatycznie za sprawa sterowników PID które wyliczają sterowanie na podstawie danych z żyroskopu i akcelerometru przetworzonych przez filtr Kalmana. Wysokość korpusu nad ziemią także jest ustalana przez odpowiedni algorytm. Dodatkowo robot pilnuje aby każda noga która w danej fazie chodu ma spoczywać, w przypadku utraty podłoża „znalazła” nowe poprzez systematyczne obniżanie jej. Opis powyżej przedstawia pokrótce sposób w jaki sterowany jest robot, aczkolwiek nie zawiera wszystkich szczegółów. Zostały wymienione tylko główne funkcje algorytmów sterujących. Zdaje sobie sprawę że opis ten może być ciężki do zrozumienia, ale nigdy nie miałem talentu do opisywania tego co robie, więc śmiało można pytać i będę się starał rozwiewać wątpliwości oraz uzupełnić opis w miarę możliwości. Na koniec jeszcze kilka zdjęć i filmy: Kinematyka odwrotna: Kontrola przechyłu korpusu: Chodzenie po nierównym terenie: Chodzenie po ruchomej równoważni: I jeszcze coś w HD, łażenie po kamyczkach:
  2. Witam serdecznie, Chciałbym zaprezentować mój projekt którym jest czworonożny robot kroczący sterowany za pomocą kolna arduino - nano V3. Głównym celem powstania tej konstrukcji było zabicie wolnego czasu oraz wykorzystanie nowo zamówionych części. Cały proces tworzenia od koncepcji do gotowego czworonoga trwał poniżej tygodnia. Funkcjonalność robota skupiała się na chodzeniu do przodu oraz pokonywaniu małych przeszkód. Elektronika Do stworzenia projektu potrzebny był kontroler - wspomniane już wcześniej arduino nano lub jego klon. W mojej opinii jest to najbardziej użyteczne arduino do projektów DIY, ze względu na jego małą wielkość i masę oraz identyczne możliwości obliczeniowe jak jego więksi bracia. Arduino zostało zamontowane na płytce rozszerzającej z wieloma wyprowadzeniami dla serw i nie tylko. Ten element jest bardzo uniwersalny i ułatwia podłączenie wielu komponentów bez potrzeby tworzenia odpowiedniej płytki PCB lub używania płytki stykowej. Motoryka została oparta o małe serwomechanizmy - po dwa na nogę, łącznie 8 sztuk. Dodatkowo na końcach nóg zostały zamontowane czujniki krańcowe w celu wykrywania kolizji z podłożem i optymalizacji ruchu. Siła serwomechanizmów okazała się być wystarczająca, jednakże, problemem okazało się być zasilanie. Duża ilość serwomechanizmów działających jednocześnie mocno obciąża arduino, dlatego też, serwomechanizmy powinny mieć własne źródło zasilania. W tym przypadku ograniczenie prędkości ruchów ograniczyło ten problem, ale wskazuje to na popełniony przy projektowaniu błąd. Konstrukcja Konstrukcja składa się z korpusu głównego do którego przymocowano arduino oraz 4 nóg. Jedna noga składa się z dwóch segmentów, a jeden segment z dwóch elementów łączonych śrubą. Lepiej wyjaśni to poniższe zdjęcie. Robot jest tu przedstawiony leżący na swoich plecach. Poniżej znajdują się jeszcze dwa zdjęcia pokazujące jego posturę. W pozycji leżącej, ze wszystkimi nogami skierowanymi względem siebie pod kątem prostym, robot ma przekątną około 30 cm. Powyższe elementy zostały wydrukowane przy pomocy drukarki 3D. Trwało to około 10 godzin. Kod Ze względu na krótki czas rozwoju projektu, jego funkcjonalność nie jest duża. Postało kilka wersji programu, dopasowanych do konkretnego podłoża. Nie różnią się one znacząco, więc przedstawię główny program służący do pokonywania płaskiego terenu w najszybszy i najstabilniejszy sposób. Na początek trochę definicji. Zmienne nazwane są od numeru nogi oraz jej stopnia. Przykładowo tl1 - top-left-1, oraz br2 - bottom-right-2. #include <Servo.h> Servo tr1; Servo tr2; Servo tl1; Servo tl2; Servo br1; Servo br2; Servo bl1; Servo bl2; #define br A1 #define tr A2 #define tl A3 #define bl A4 int i=0; int o=50; int p=20; int h=70; int t=10; int k=0; int l=0; int n=0; int m=0; int timer=0; int d=0; int x=50; int y=50; void setup() { Serial.begin(9600); pinMode(A1, INPUT_PULLUP); pinMode(A2, INPUT_PULLUP); pinMode(A3, INPUT_PULLUP); pinMode(A4, INPUT_PULLUP); tl1.attach(8); tl2.attach(4); bl1.attach(9); bl2.attach(5); tr1.attach(10); tr2.attach(6); br1.attach(11); br2.attach(7); tr1.write(90); tr2.write(75); tl1.write(90); tl2.write(90); br1.write(90); br2.write(90); bl1.write(90); bl2.write(90); } Kolejnym elementem kodu są definicje funkcji. void ltl(int a, int b){ tl1.write(map(a+3, 0, 100, 10, 150)); tl2.write(map(b, 100, 0, 5, 180)); } void ltr(int a, int b){ tr1.write(map(a, 100, 0, 30, 170)); tr2.write(map(b-9, 0, 100, 0, 177)); } void lbl(int a, int b){ bl1.write(map(a, 0, 100, 30, 150)); bl2.write(map(b+1, 0, 100, 0, 178)); } void lbr(int a, int b){ br1.write(map(a, 100, 0, 30, 150)); br2.write(map(b+4, 100, 0, 8, 180)); } void move(){ lbr(100-i,100-k-d); i++; if(i==100){ i=0; k=y; } if(k>0){ if(digitalRead(br)==HIGH){ k--; } } lbl(100-o,100-l-d); o++; if(o==100){ o=0; l=y; } if(l>0){ if(digitalRead(bl)==HIGH){ l--; } } ltr(100-p,100-n-d); p++; if(p==100){ p=0; n=x; l=l+10; k=k+10; } if(n>0){ if(digitalRead(tr)==HIGH){ n--; } } ltl(100-h,100-m-d);; h++; if(h==100){ h=0; m=x; k=k+10; l=l+10; } if(m>0){ if(digitalRead(tl)==HIGH){ m--; } } delay(t); } Przykładowo, nazwa funkcji ltl oznacza leg-top-left i służy do ujednolicenia określania położenia nogi, gdyż niektóre serwa położone są przeciwnie i wysoka wartość sygnału PWM oznacza dla nich przeciwne położenia. Funkcja move to gówna funkcja służąca do poruszania się. Działa ona tak, że wszystkie nogi poruszają się cały czas do tyłu, jednakże, początkowe położenia wszystkich nóg są różne. Gdy noga poruszając się do tyłu dojdzie do płożenia końcowego, podnosi się ona i przemieszcza do maksymalnego płożenia do przodu, wtedy zbliża się ona do podłoża aż do napotkania oporu odebranego przez czujnik krańcowy lub osiągnięcia pozycji maksymalnej, wtedy porusza się znów do tyłu. W ten sposób wszystkie nogi cały czas znajdują się w ruchu, który jest bardzo płynny. Brak 3 stopnia swobody w nodze wpływa jednak na to, że ślizganie jest nieuniknione. Ostatnia część kodu służy jedynie do egzekwowania funkcji move pod pewnymi warunkami. void loop() { if(analogRead(br)==LOW or analogRead(tr)==LOW or analogRead(bl)==LOW or analogRead(tl)==LOW && timer<50){ timer=200; } timer--; if(timer>0){ move(); }else{ lbl(50,50); lbr(50,50); ltl(50,50); ltr(50,50); } } Kod w funkcji loop powoduje również, że w razie podniesienia robota na pewien czas, przestaje on dalej iść. Gdy robot zostanie podniesiony, żaden czujnik krańcowy nie sygnalizuje, że stoi na ziemi, powoduje to spadek licznika timer do 0 i przejście robota w stan spoczynkowy, aż do aktywacji przez ponowne wciśnięcie któregoś czujnika. Gotowy robot Poniżej przedstawiam kilka zdjęć z postępu składania konstrukcji. Niestety nie posiadam dużo zdjęć tego projektu, gdyż serwa i mikrokontrolery szybko zmieniają u mnie właściciela. Podczas testów robot pokonał najwyższy próg o wysokości nieco ponad 4 cm. Może nie jest to imponująca wartość, ale biorąc pod uwagę, że nie może on biegać ani skakać, a maksymalna wysokość własna na jakiej znajduje się jego korpus wynosi około 4,5 cm jest to taki sam wyczyn jak pokonanie przez człowieka, z marszu, przeszkody sięgającej mu do pasa. A tu jeszcze jedno zdjęcie gotowego projektu (słaba jakość, klatka z filmu). Pozdrawiam, i czekam na pytania i porady.
  3. To jeden z moich kroczących robotów nad którym pracuję od dłuższego czasu, z przerwami. Wzorowany jest na mini-czołgach z serii video Ghost in the Shell Arise, może poruszać się zarówno na kołach, jak i kroczyć. W miarę możliwości jest wykonany z przezroczystych materiałów, aby przypominać włączony kamuflaż optyczny, w który filmowe czołgi są wyposażone. Robot powstał z wcześniejszego projektu kroczącego robota, opisanego tu w wątku ([Kroczący] Katka, czworonożny robot w układzie ssaka), ale postanowiłem założyć dla niego osobny wątek, gdyż różni się już znacząco od początkowej konstrukcji. Mechanicznie robot posiada 4 nogi o 2 stopniach swobody każda, poruszane serwami SG90, do tego na końcach nóg ma serwa ciągłej rotacji z kółkami od podwozia dla modeli samolotów. Dodatkowo ma jeszcze trzy serwa SG90 -- jedno do poruszania "okiem", oraz dwa do poruszania "rękoma". Do kontrolowania serw służy Arduino Pro Mini 3.3V, zasilanie z pojedynczego ogniwa LiPo. //Treści wydzielone z workloga: Dobra, serwa przyszły, trochę kleju i gotowe. Tryb kołowy: Tryb pieszy: Niestety nie udało się tych kółek zamontować pod takim kątem, pod jakim chciałem -- skręcanie będzie trochę trudniejsze. Teraz "tylko" to wszystko oprogramować... No i dorobić wszystkie ozdoby, żeby wyglądało jak z serialu. Zastanawiam się jeszcze, czy czasem nie dać po dwóch serwomechanizmów na ten sam sygnał, wtedy będę miał dwa wolne serwa, jedno na "oko" i jedno na machanie "rączkami".
  4. Witam wszystkich. Mam na imię Artur i chciałbym zaprezentować robota (hexapod), zaprojektowanego i skonstruowanego przeze mnie który nazywa się Krzyżak. Na zdjęciu po lewej Krzyżak wersja pierwsza, prototypowa zaś po prawej wersja udoskonalona. Dwa filmy: Opis robota: - 6 nóg po 3 serwa czyli 18 serw (najtańsze jakie istnieją czyli SG90) - mikrokontroler Atmega328 taktowana kwarcem 20MHz. - oprogramowanie C + AVR - zasilanie akumulator 7,4V 800mAh, 10C (10 minut chodzenia) - sterowanie bluetooth za pomocą telefonu z Android - autorska aplikacja (min. Android 4.0) Aktualnie pracuję nad rozszerzeniem o sensory i omijanie przeszkód. Płytkę elektroniczną zaprojektowałem z myślą o wyprowadzeniach rejestrów do przyszłego podłączenia czujników itp. Jak ktoś ma pytania bardziej szczegółowe chętnie odpowiem. Docelowo robot będzie możliwy do kupna już niebawem. Dziękuję za uwagę, Artur
  5. Ten robot był eksperymentem w kilku dziedzinach jednocześnie. Po pierwsze, jest to mój pierwszy skończony dwunożny robot kroczący. Po drugie, jako mózgu użyłem nowego wówczas układu ESP8266. Po trzecie, po raz pierwszy użyłem sub-micro-serwa zasilane napięciem 3V. Na koniec, nawet obudowa była eksperymentem, sprawdzającym jak dobrze plastik ze starych opakowań nadaje się do tego celu. Później dla tego własnie robota wytrawiłem swoją pierwszą płytkę drukowaną. Ostatnim eksperymentem, który się niestety już nie powiódł, było użycie optycznego cyfrowego czujnika odległości, który z jakiegoś powodu okazał się nie działać. Ale do rzeczy. Robot ten bardzo mocno bazuje na projekcie znanym ogólnie jako "Bob" (http://www.robotrebels.org/index.php?topic=11.0). W zasadzie jest to moje podejście do zrobienia jego miniaturoej, pomniejszonej wersji. Niestety nie posiadałem dostępu do drukarki 3D, żeby zrobić obudowę i szkielet, zatem podszedłem do tematu tak jak zwykle -- zlepiając ze sobą losowe części i lutując wszystko "na pająka". Wyszło mi coś takiego: Dużym wyzwaniem były gniazdka do serw, bo ich rozstaw nóżek to 1.27mm. Moduł ESP8266, którego użyłem, ma rozstaw padów 2mm, więc już trochę łatwiej. Diody świecące dodałem, żeby widzieć czy robot jest włączony czy nie. Stopy są wycięte ze starej karty kredytowej. Gumka recepturka przytrzymuje baterię. Zadowolony z tej konstrukcji, postanowiłem zrobić do niej obudowę ze starego opakowania (tak zwanego "blistera") po gamepadzie. Wyciąłem z niego kawałek w miarę płaskiego plastiku, narysowałem na nim siatkę pudełka, wyciąłem i skleiłem Kropelką. Po dopasowaniu do robota powycinałem otwory. Potem dokleiłem trochę kawałków starych zabawek do ozdoby... Z czasem wymieniłem stopy na wykonane z takiego samego materiału jak obudowa i dodałem robotowi moduł ładowania baterii (jest to pojedyncze LiPo, więc dość łatwo je ładować). Do programowania wykorzystałem powstający wówczas dopiero firmware NodeMCU dla ESP8266, który pozwolił mi oskryptować wszystko w Lua. Było to bardzo wygodne, gdyż mogłem na żywo testować kod w konsoli, na którą po prostu łączyłem się telnetem. Przy okazji próby używania PWM do kontrolowania serwomechanizmów, znalazłem dwa błędu w NodeMCU, które zostały szybko poprawione (https://github.com/nodemcu/nodemcu-firmware/issues?q=is%3Aissue+author%3Adeshipu+is%3Aclosed). Jest tu zastosowany jeden trik, gdyż NodeMCU obsługuje co najwyżej 3 kanały PWM (zrobili to do kontroli diody RGB), a ten robot ma 4 serwomechanizmy. Otóż dwa z tych serwomechanizmów sterowane są tym samym sygnałem i zawsze mają tę samą pozycję -- to nie przeszkadza przy tym sposobie chodzenia, jaki ma ten robot: W tym stanie robot postał na półce jakiś rok -- zabrałem go na dwie konferencje, żeby się pochwalić. Niestety, po powrocie z ostatniej przestał działać -- urwał się jeden z padów na ESP8266, do których przylutowane były druciki. Niestety nie dało się tego naprawić bez praktycznego przebudowania całego robota, więc robot sobie leżał i czekał na lepsze czasy. Lepsze czasu nadeszły, gdy kupiłem odczynniki do trawienia płytek i postanowiłem spróbować w tym swoich sił. Zrobiłem płytkę dla naszego bohatera: A w zasadzie całą serię płytek, gdyż nie udało mi się jej poprawnie wytrawić za pierwszym razem: W końcu udało się zrobić coś, co miało większość potrzebnych połączeń i wywiercić w tym otwory, łamiąc przy tym tylko trzy wiertła. Po zlutowaniu całości, tak jak wspomniałem wcześniej, czujnik odległości okazał się nie działać, ale robot nadal chodzi i do tego teraz może mrugać oczami: Być może jeszcze kiedyś wrócę do tego projektu i spróbuję uruchomić ten czujnik, albo użyć innego. Mógłbym też znacznie rozszerzyć jego repertuar zachowań, na przykłąd nauczyć go tańczyć. Ogólnie z robota jestem bardzo zadowolony, dostarczył mi naprawdę wiele zabawy przy budowie i nauczył przy tym dużo, choć jest to chyba projekt przy którym jak dotychczas napsułem najwięcej komponentów (w sumie dwie płytki esp8266, jeden sensor optyczny, który zniszczyłem przy lutowaniu, milion nieudanych płytek, wiertełka). __________ Komentarz dodany przez: Treker 1 - Poprawiłem temat, w którym nie działał encja µ. 2 - Typ robota należy wybierać z listy rozwijanej zamiast wpisywać go ręcznie. 3 - Opisy robotów muszą zawierać jedno zdjęcie w załączniku, które jest prezentowane w katalogu robotów oraz na stronie głównej. Tym razem poprawiłem, pamiętaj proszę na przyszłość o tych zasadach. [ Dodano: 14-10-2015, 11:06 ] 1 - Nie lepiej by było naprawić forum tak, żeby działała? 2 - Nie widziałem tam nigdzie listy rozwijanej. UPDATE: Już widzę, jest na szaro po stronie etykiety pola, musiałem jakimś cudem przeoczyć, przepraszam. Jakoś mogę to naprawić? 3 - Jestem pewien, że załączyłem jedno zdjęcie jako załącznik, własnie tak, jak piszesz. Nie mam pojęcia czemu się to nie pojawiło. Poprawiłem teraz.
  6. Cześć, Od jakiegoś czasu już się zbierałem do opisu konstrukcji. Hexapod, jak sugeruje nazwa, ma 6 nóg i chodzi . Powstał jako projekt 3-osobowego zespołu w ramach koła naukowego w ciągu ostatnich 4 miesięcy. Mechanika 12 stopni swobody, Hitec HS 645MG. Konstrukcja z blachy aluminiowej o grubości 3mm, elementy trzymające serwa z blachy aluminiowej 8mm. Od dołu podparcie na łożysku wkręconym w płytę korpusu. Masa konstrukcji 2100g. To chyba tyle. Całość konstrukcji wykonana przez nas na frezarce(dwuosiowej bez sterowania numerycznego i stołu obrotowego, więc łuki i fazy na ręcznym CNC ). Model 3D w Inventorze jest dość szczątkowy, takie minimum jakie bylo potrzebne do sprawdzenia czy to będzie działać. Żeby nie tracić czasu od razu przeszliśmy do fizycznego modelu 3D. Elektronika Całość układu sterowania opiera się o gotowe rozwiązania-na pokładzie jest Raspberry Pi i MiniMaestro. Układy komunikują się poprzez UART, z konwerterem poziomów po środku. Sterowanie W wielkim skrócie-robot rozwiązuje sobie równania różniczkowe, rzuca rozwiązania na kinematyke odwrotną, i tak w kółko. Serwa ustawiają się stosownie do wyliczonych pozycji. Informację o tym gdzie mają trafić wysyłamy przez UART. W tej chwili system sensoryczny sprowadza się do tego, że jest maszyna stanów, którą mogłby zarządzać sygnaly z czujników, tyle że czujników nie ma(jeszcze), jest za to bezprzewodowa klawiatura Robot może chodzic do przodu, do tyłu, i obracać się przez chodzenie jedną połową robota do przodu, drugą do tyłu. Zasilanie W robocie jest lipol 2S o pojemności 6000mAh. Do niego są 2 przetwornice na 5V. Jedna 5A do części logicznej Maestro i do Raspberry, druga na 9A na samo zasilanie serw. Podsumowanie Opis dość lakoniczny, bo skupiłem się na konkretach. Jeżeli będą jakieś pytania odpowiem. Robot w obecnym stanie pozostanie już niedługo, będzie trochę bardziej zaawansowany i mądrzejszy, ale o tym napiszę jak już taki będzie. Prace są w toku cały czas Zdjęcie robota: Filmik z chodzenia: Filmik z samego wiosłowania:
  7. Henk to kolejny z moich ktoczących robotów, tym razem sześcionożny. Zawsze chciałem zrobić poprawnego sześcionoga, ale niestety 18 serw na raz to nie w kij dmuchał, a Arduino, które zazwyczaj stosowałem, obsłużyć w prosty sposób mogą zaledwie 12. Aż tu któregoś dnia przyszedł mój PyBoard i postanowiłem, że trzeba go wykorzystać. Po pomęczeniu się trochę z timerami, postanowiłem jednak, że wykorzystam także kontroler serw Maestro, bo tak będzie łatwiej. I tak powstał Henk. Pomimo, że PyBoarda programuje się w Pythonie i jest to niesłychanie wygodne (edytujemy pliki bezpośrednio na podmontowanym przez USB "dysku" płytki, do tego mamy pythonową konsolę po serialu), to jednak nadal nie zaprogramowałem tego robota poprawnie -- mam kinematykę odwrotną dla każdej nogi z osobna, ale nie mam dla całego ciała. Sprawę utrudnia fakt, że w przeciwieństwie do innych moich robotów, każda noga jest pod trochę innym kątem. Tak więc robot, mechanicznie skończony, stoi sobie i czeka, aż kiedyś się wezmę i go porządnie zaprogramuję.
  8. Chciałbym przestawić swoją kolejną konstrukcję, jaką jest hexapod "Freeze". Powstawał on około 3 tygodnie. Koszt budowy to około 150 PLN. Budując go, chciałem zapoznać się z robotami kroczącymi. Jest to najprostsza z tego typu konstrukcji, do zbudowania już na 3 serwach. Mechanika: Konstrukcja nośna to odpowiednio wycięta płyta spienionego PCV o wymiarach 185x120 mm. Napęd stanowi 6 serw SG90, przyklejone są do niej klejem na gorąco. Nogi zaprojektowałem i wydrukowałem na drukarce 3D. Następnie przykręciłem je do orczyków za pomocą wkrętów. Całkowite wymiary to: 190x190x60 mm. Zasilanie: Robot zasilany jest z akumulatora Ni-Cd 1000mAh. Wystarczy to na kilkanaście minut chodzenia. Napięcie jest stabilizowane za pomocą modułu LM317. Elektronika: Do sterowania wykorzystałem Arduino Pro Mini 5V @ 16 MHz. Oprócz tego na płytce znalazł się czujnik odległości HC-SR04, przycisk do resetu i jedna dioda LED. Oprogramowanie: Ruch robota to zapętlona sekwencja ustawiania serw w wybranych pozycjach. Do sterowania wykorzystałem bibliotekę "Servo.h". Program ma około 200 linijek (można by go znacząco skrócić). Zdjęcia: Pierwsze kroki i chodzenie względem prostej: Omijanie przeszkód: Podsumowanie: Tego typu roboty są idealne, jeżeli ktoś chciałby zapoznać się z robotami kroczącymi nie kupując przy okazji 18 serw Z chęcią odpowiem na wszystkie pytania. Polecam również bardzo ciekawy artykuł na temat tego typu konstrukcji: https://www.forbot.pl/forum/topics20/mechanika-mechanika-robota-kroczacego-hexapod-a-malym-kosztem-80zl-vt6207.htm
  9. Kiedy projektowałem mojego robota Tote, który miał się stać furtką dla ludzi chcących powalczyć z chodzącymi robotami, będąc tanim i prostym w budowie projektem, to nie miałem zbyt dużego wyboru jeśli chodzi o jego mózg. Arduino Pro Mini, którego użyłem, było w zasadzie jedyną opcją wystarczająco tanią, a zarazem popularną i prostą w obsłudze. To się zmieniło kiedy na rynku pojawiło się Raspberry Pi Zero. Kosztując tylko trzy razy więcej niż chińskie klony Pro Mini, a dając do dyspozycji pełne bogactwo Linuxa, od Pythona zaczynając a na ROS-ie kończąc, płytka ta wydaje się idealnym wyborem dla takiego robota. Tak powstał Tote Zero. Płytkę udało mi się zamówić jeszcze tego samego dnia, gdy została ona ogłoszona. Na szybko zaprojektowałem płytkę drukowaną będącą ciałem robota i wysłałem zamówienie do DirtyPCBs licząc na to, że po świętach już będzie gotowa i będę mógł zbudować robota. Niestety pośpiech się nie opłacił i okazało się, że popełniłem podręcznikowy błąd: gniazdka do serwomechanizmów mają wyprowadzenia w złej kolejności, i to takiej, której nie da się poprawić wkładając wtyczkę odwrotnie. Trzy tygodnie czekania na nową płytkę mi się nie uśmiechały, więc dokleiłem dodatkowe piny i przesunąłem całość o jeden: Następnie poprawiłem projekt płytki tak, żeby miał wszystko co potrzeba. Nowej jeszcze nie zamówiłem, czekam aż będę miał więcej pomysłów i poprawek. Dalej to już z górki. Podłączyć serwa, zainstalować i skonfigurować ServoBlaster, napisać prosty kod w Pythonie, który z nim gada, przerobić moje programy Pythonowe z prototypów Tote żeby z tego korzystały. Kilka dni zajęło mi wyregulowanie i podłączenie wszystkiego poprawnie: W końcu dzisiaj udało się robotowi zrobić pierwsze kroki: Oczywiście prace będą kontynuowane. W planach jest kamera, czujniki na stopach i może wreszcie zabiorę się za poznawanie ROS-a.
  10. Chciałbym przedstawić swoją konstrukcję jaką jest czworonożny robot kroczący - EDWARD Jest to mój pierwszy robot, a przy okazji pierwsza poważna konstrukcja powstała od zera: od projektu mechaniki wykonanego w Inventorze, przez zaprojektowanie i wykonanie płytki PCB po napisanie programu w C++. Przed przystąpieniem do projektu ustaliłem następujące założenia, które miał spełniać robot: - chód statycznie stabilny - autonomiczny - serwa modelarskie w roli napędów - konstrukcja z pleksi - zasilanie z LiPola 1.Konstrukcja mechaniczna Tak jak pisałem na początku, robot został zaprojektowany w programie Autodesk Inventor. Całość składa się z wycinanych laserem elementów z pleksi łączonych za pomocą śrub, a w niektórych miejscach również kleju do tworzyw sztucznych. W korpusie robota przewidziane jest miejsce na akumulator LiPol. W roli napędów zostały wykorzystane 4 serwa TowerPro SG-5010 (do poruszania całą nogą w płaszczyźnie równoległej do korpusu robota) oraz 8 TowerPro MG-995. Każda noga wyposażona jest w czujnik krańcowy wykorzystywany do detekcji podłoża. Szczegóły widoczne na poniższych rysunkach. (1- wałek gwintowany, 2 - tulejka, 3 - płytki mocujące tulejkę, 4 - nakrętka, 5 - czujnik krańcowy) 2.Elektronika Zasilanie Robot zasilany jest akumulatorem litowo-polimerowym. Pakiet zasilający złożony jest z dwóch ogniw połączonych szeregowo, dzięki czemu napięcie znamionowe osiąga wartość 7,4 V. Pojemność pakietu wynosi 2650 mAh. Poniżej widoczny schemat zasilania. Napięcie uzyskane z przetwornicy impulsowej UBEC podawane jest na serwa. Przy 6V uzyskują one swój maksymalny moment. Przetwornica wyposażona jest w pasek LED informujący o stanie rozładowania akumulatora. Dalszym obniżeniem napięcia do wartości tolerowanych przez mikrokontroler oraz czujniki odległości "zajmuje się" się popularny stabilizator liniowy L7805. Mikrokontroler Układ sterowania robota został oparty na mikrokontrolerze ATmega16A. Do taktowania procesora użyty został zewnętrzny rezonator kwarcowy 16 MHz. Czujniki odległości Robot wyposażony jest w 3 czujniki ultradźwiękowe HC - SR04. Pomiar odległości odbywa się za pomocą fali dźwiękowej o częstotliwości 40 kHz. Zakres pomiarowy mieści się w przedziale 2 – 200 cm. Sterownik serw W roli sterownika serwonapędów pracuje 12-kanałowy układ Pololu Mini Maestro. Komunikacja z mikrokontrolerem zrealizowana jest za pomocą interfejsu szeregowego USART. Układ posiada również możliwość obsługi za pomocą aplikacji komputerowej poprzez przewód mini USB, co było wykorzystywane do przeprowadzania różnego rodzaju testów oraz konfiguracji takich parametrów jak prędkość i skrajne położenia wykorzystywanych serwomechanizmów. Płytka PCB Płytka została zaprojektowana w programie EAGLE i wykonana metodą termotransferu (czyt. żelazkiem). Ma kształt kwadratu o boku 11 cm. Duży rozmiar płytki pozwolił na swobodne rozmieszczenie wszystkich elementów, których zresztą nie ma szczególnie wiele. 3 gniazda goldpin w pobliżu zielonych ledów służą do umieszczenie w nich czujników odległości, natomiast wspomniane diody sygnalizują wykrycie przeszkody przez dany czujnik. 3.Oprogramowanie Program sterujący został napisany w języku C++ z wykorzystaniem środowiska programistycznego AVR Studio. Sprowadza się on do obsługi czujników odległości, diod oraz komunikacji ze sterownikiem serw. Schemat blokowy programu widoczny poniżej. Pierwszym zadaniem programu wykonywanym po uruchomieniu jest inicjalizacja poszczególnych peryferii wykorzystywanych w dalszej części programu: modułu USART, timera oraz zewnętrznych przerwań. W tym miejscu programu konfigurowane są również rejestry kierunku danych w celu ustawienia odpowiednich wyprowadzeń mikrokontrolera jako wejście lub wyjście. Dalej następuje ustawienie serwonapędów tak, żeby kończyny robota osiągnęły pozycję wyjściową, umożliwiającą wykonanie pierwszego kroku. Po omówionych czynnościach wstępnych następuje faza właściwa chodu. Pierwszą czynnością jest pomiar odległości za pomocą czujnika umiejscowionego na przodzie korpusu robota. Dalsze działanie uzależnione jest od uzyskanego sygnału zwrotnego. W przypadku wykrycia przeszkody ruch w założonym kierunku jest niemożliwy. Z wykorzystaniem dwóch bocznych czujników odległości sprawdzane jest istnienie przeszkód po bokach robota. Jeśli zostanie wykryta przeszkoda po jednej stronie, robot obraca się w kierunku przeciwnym. Sygnały informujące o istnieniu przeszkód po obu stronach powodują wykonanie obrotu o 180 stopni. Natomiast w ostatnim możliwym przypadku, kiedy żaden z czujników nie informuje o wykryciu przeszkód, następuje obrót w prawo. Brak ograniczeń uniemożliwiających ruch do przodu skutkuje wykonaniem jednej sekwencji przestawień nóg. W tym przypadku boczne czujniki odległości nie są wykorzystywane. Algorytmem chodu realizowanym przez omawianego robota kroczącego jest czteronożne pełzanie. Kolejność przestawień nóg jest następująca: lewa przednia → prawa tylna → prawa przednia → lewa tylna Każdy krok zakończony jest sygnałem z czujnika krańcowego informującym o osiągnieciu podłoża prze stopę robota. Dzięki temu możliwe jest wykrycie dużej zmiany wysokości w przestrzeni znajdującej się przed robotem i ominięcie niemożliwych do przejścia uskoków czy na przykład schodów. W momencie wykrycia takiego ograniczenia następuje zmiana kierunku ruchu podobnie jak w przypadku wykrycia przeszkody przez czujniki odległości. 4.Podsumowanie EWDARD na pewno nie jest szczytem osiągnięć inżynierskich, ale jako, że jest to mój pierwszy robot, jestem z niego w miarę zadowolony. W zasadzie spełnia wszystkie wymagane założenia. Już w trakcie projektowania uznałem, że nie chcę zbytnio komplikować projektu natomiast w przyszłości nic nie stoi na przeszkodzie temu, żeby przeprojektować elektronikę wyposażając robota w żyroskop oraz akcelerometr oraz umożliwić jego sterowanie, np. poprzez moduł radiowy. Mam nadzieję, że opisałem wszystkie ważniejsze rzeczy. Proszę o wyrozumiałość, jako że jest to mój pierwszy post tutaj
  11. Katka to czworonożny robot kroczący z nogami w układzie ssaka. Jest to efekt moich dość wczesnych eksperymentów z budowaniem czworonożnego kroczącego robota o jak najniższej cenie całkowitej. Dzięki zastosowaniu ssaczej konfiguracji nóg możliwe było obliczenie kinematyki odwrotnej dla każdej z nóg pomimo tego, że mają one tylko po dwa serwomechanizmy -- po prostu współrzędne nóg ograniczone są do pionowej, dwuwymiarowej płaszczyzny. Pozwala to jednak na całkiem przyzwoitą kontrolę, a w szczególności, na przemieszczanie środka ciężkości i przesuwanie stóp w liniach prostych po ziemi, dzięki czemu możliwy jest statycznie stabilny chód bez poślizgów. Niestety, są też ograniczenia. Stopy mogą się przesuwać po ziemi jedynie w przód i w tył, zatem niemożliwe jest porządne skręcanie. Owszem, możemy nogami po jednej stronie robota iść szybciej, a po drugiej wolniej albo nawet w przeciwnym kierunku, na zasadzie skręcania czołgu na gąsienicach, ale wiąże się to z dość dużymi poślizgami stóp i w związku z tym sporą nieprzewidywalnością. W sytuacji prawdopodobnie mogłoby pomóc dodatkowe serwo w pasie, pozwalające na skęt tułowia, ale to wymagałoby całkowitej przebudowy robota, więc nie próbowałem tego. Robot jako mózg wykorzystuje Arduino Pro Mini, początkowo umieszczone na domowej roboty płytce z dodanym zasilaniem dla serw, później przełożone na płytkę drukowaną od mojego innego robota. Zasilanie zapewnia pojedyncze ogniwo LiPo z power banku USB, uzupełnione o dużo za duży kondensator elektrolityczny oraz moduł boost zwiększający napięcie do 5V. Elementy wykonawcze to cztery mikroserwa SG90, najtańsze jakie tylko istnieją. Odbiornik podczerwieni pozwala na zmianę trybów działania robota za pomocą pilota TV. Kilka listewek i dźwignie dołączone do serw posłużyły do zbudowania ciała i nóg robota. Elektronika i bateria są przypięte gumką recepturką. Ustawienie nóg nie jest optymalne pod względem ich zasięgu. Tylne nogi musiały zostać obrócone "tyłem naprzód" w stosunku do pierwotnego projektu (oraz w stosunku do tego, jak zazwyczaj wyglądają ssaki), aby uniknąć plątania się z przednimi nogami. Ten układ można jeszcze znacząco poprawić, niestety wymagałoby to przebudowania i przeprogramowania robota, na co nie mam raczej wystarczającej motywacji. Robot ten przez jakiś czas występował "w owczej skórze", wypychając pluszową zabawkę - owcę. Niestety, nie do końca dopasowane wymiary zabawki oraz ślizganie się owiniętych materiałem nóg znacznie pogarszały wydajność chodu, więc zrezygnowałem z tego rozwiązania. Filmik z chodzącym robotem:
  12. pKubik (pico-Kubik) to malutki (mieszczący się w dłoni) czworonożny robot z trzema stopniami swobody na nogę. Celem było stworzenie czegoś, co będzie tanie i proste do wykonania, a jednocześnie będzie więcej niż tylko zabawką i pozwoli na eksperymentowanie z poważnymi algorytmami. Dzięki małym wymiarom robot swobodnie mieści się na biurku i nie jest potrzebna specjalna przestrzeń do testów. Niewielka waga całości daje relatywnie dużą wytrzymałość na upadek inne wypadki. Do tego można go z łatwością zabrać ze sobą na zajęcia czy zawody. Użycie standardowych, łatwo dostępnych i popularnych części pozwoliło znacznie ograniczyć cenę (całość można zbudować za mniej niż 200 zł przy zamawianiu części z Chin) oraz uniknąć problemów z naprawianiem uszkodzeń i szukaniem części zamiennych. W wersji podstawowej robot jest kontrolowany przez klon Arduino -- może wówczas poruszać się po płaskim terenie sterowany pilotem od telewizora. Jednak prawdziwa zabawa zaczyna się, kiedy podłączymy przez port szeregowy, SPI lub I²C coś bardziej zaawansowanego, jak na przykład mały komputer z Linuksem (użyłem VoCore), moduł Bluetooth czy WiFi (wówczas można sterować nim z komputera stacjonarnego), czy OpenMV (nadal czekam na swoją płytkę, żeby to wypróbować).
  13. Chciałbym zaprezentować owoc mojej długiej pracy. Jest to czteronożny robot kroczący, który wykorzystuje m.in. komunikację bezprzewodową oraz odwrotne zadanie kinematyki (niestety nie bezpośrednio na pokładzie robota). Robot powstał, ponieważ chciałem skonsolidować w jednym projekcie kilka ważnych zagadnień związanych z robotyką, elektroniką, programowaniem. Dużo rzeczy można było zrobić inaczej, lepiej, ale głównym założeniem było połączenie wiele aspektów z w/w dziedzin. Kilka rzeczy należy jeszcze poprawić, m.in. płynność ruchów, ale ogólnie jestem zadowolony z efektów. To co prezentuję jest drugą wersją robota. 1. Konstrukcja mechaniczna W konstrukcji nie ma niczego zaskakującego. Robot (R4pod) ma budowę symetryczną. Posiada 4 nogi, a każda noga ma 3 stopnie swobody (3 serwa na nogę), czyli 12 serwomechanizmów. Zastosowane serwomechanizmy to Tower Pro SG 5010 (pierwsze i drugie licząc od stopy) oraz HITEC HS322HD (łącznik nogi z korpusem). Pierwotnie wykorzystałem Tower Pro MG995, ale okazały się chińską podróbka i wysterowanie ich wiązało się z stanami samobójczymi (pisałem o tym na forum). Projekt konstrukcji wykonano w Inventorze. Wzorowałem się na wielu konstrukcjach oraz na elementach ogólnie dostępnych na serwisach aukcyjnych czy sklepach internetowych i w pewnym stopniu modyfikowałem je dla własnych potrzeb. Pierwsza wersja było wykonana z laminatu FR4, co okazało się niezbyt dobrym pomysłem. Druga wersja, czyli aktualna, wykonana jest z aluminium (nogi 1,5 mm, korpus 2 mm). Za pomocą imadła i argumentu siły ukształtowałem odpowiednie elementy. Wszelkie części zostały wycięte na WaterJet`ie przez jednego z kolegów z naszego forum, za co bardzo mu dziękuję. Pierwotnie nie planowałem wykorzystać czujników krańcowych w stopach, ale życie zweryfikowało to i stały się niezbędne. Niestety nie przygotowałem elementów stopy, aby takie czujniki zastosować, stąd taka partyzantka jak widać na zdjęciach. 2. Elektronika PCB zaprojektowałem w programie Eagle. Samą płytkę wykonałem termotransferem wykorzystując laminator. Nie bawiłem się w osobne moduły, ma to swój minus, ale jeszcze nic się nie spaliło. Wszystko znajduję się na jednej PCB, udało się to dzięki zastosowaniu elementów SMD (pojedyncze komponenty są THT). Na PCB znajduję się: - tor zasilania dla układu sterowania, czyli stabilizator napięcia +5VDC oraz +3,3VDC - tor zasilania serwomechanizmów z odpowiednia baterią kondensatorów na wejściu i wyjściach - 2 mikrokontrolery ATmega88PA taktowane częstotliwością 20MHz - moduł ATB-BTM222 - akcelerometr MMA8452 - gniazdo programatora - 4 przyciski - gniazdo do podłączenia sygnałów z krańcówek w stopach - wyjścia sygnałów sterujących dla serw - komparator mierzący napięcie na akumulatorze Robot zasilany jest z dwóch akumulatorów litowo-polimerowych. Do zasilania układu sterowania +7,4V 500mAh oraz +7,4V 2200mAh przez UBEC do zasilania serwomechanizmów. Moduł ATB-BTM222 służy do komunikowania się z PC za pomocą BT. Komunikacja w obie strony za pomocą jednego modułu wprowadza spore opóźnienia (plus opóźnienia wynikające z innych procesów ) dlatego nie udało mi się jeszcze uzyskać pełnej płynności ruchów. ATmega Master pobiera wszelkie informacje z otoczenia, tj. - komunikacja z PC za pomocą ATB-BTM222 (UART) - czujniki w stopach - akcelerometr (I2C) - komunikacja z drugą ATmega za pomocą SPI Po za tym komponuje ramki danych do wysłania oraz dekomponuje i interpretuje odebrane dane. ATmega Slave działa w zasadzie jak serwokontroler. Odbiera dane z układu Master, dekomponuje ramkę danych i odpowiednio wysterowuje 12 serwomechanizmów. 3. Sterowanie Do sterowania robotem napisałem aplikację wykorzystując WinApi. Aplikacja służy do ustanowienia połączenia z robotem za pomocą Bluetooth, odbieranie danych, przetwarzanie ich i wysyłanie do robota. Aby komunikacja była bezawaryjna i wszystkie pakiety kompletne, napisałem swój protokół (chociaż to zbyt duże słowo) wzorując się na ModBus`ie. Na przetwarzanie danych składa się dekompozycja danych, odpowiednie ich zinterpretowanie, wykonanie obliczeń dla zadania odwrotnego kinematyki uwzględniając dane z czujników (muszę zająć się jeszcze akcelerometrem, chociaż dane z niego są wysyłane do PC) oraz kompozycja ramki do wysłania. Dodatkowo widoczna jest animacja obrazująca stan czujników w stopach oraz trójkąty podparcia. Stan jest aktualizowany w czasie rzeczywistym. Przede mną jeszcze wiele pracy. Jest dużo rzeczy do poprawy czy modyfikacji. Należy poprawić płynność ruchów oraz sam sposób chodzenia (na razie traktowałem go po macoszemu, skupiając się na stabilnej komunikacji, samej aplikacji oraz obliczeniach kinematyki odwrotnej). Należy przeprojektować ostatni człon nogi, gdzie znajdują się czujniki krańcowe. Partyzantka jaką zrobiłem sprawia wiele kłopotów. Kolejnym ważnym aspektem jest uwzględnienie w obliczeniach danych z akcelerometru i poziomowanie korpusu. Może w przyszłości powstanie kolejna wersja sterownika, która podoła wykonać obliczenia związane z zadaniem odwrotnym kinematyki (jakiś ARM? Niestety na to ciągle brakuje czasu...) Pozdrawiam
  14. Malutki robocik kroczący "Gramek" to konstrukcja którą zbudowałem "for fun" w ciągu jednego dnia, z rzeczy które miałem pod ręką. Robot zbudowany jest z trzech 9-gramowych mikroserw Turnigy TG9e, baterii Li-ion Nokia BL-5C (bardzo popularna) o pojemności 1020mAh która robi jednoczesnie za podstawę robota, oraz płytki "teensy 2.0" na której znajduje się atmega32u4. 6 nóg robota zrobionych jest z odpowiednio wygiętych 3 spinaczy biurowych, na które nałożyłem rurkę termokurczliwą (kilka warstw rurek różnej grubości znajduje się na "stopach"). Nogi są przyklejone do orczyków na HotGlue. Serwa połączone są ze sobą grubą, gąbkowatą, dwustronną taśmą klejącą, a całość jest przyklejona do baterii taśmą izolacyjną. Jednym słowem wszystko na klej/taśmę, bez żadnej ramy czy śrubek. Zastosowałem płytkę Teensy ponieważ po pierwsze miałem ją w domu do testów, po drugie ma malutkie wymiary (30x18mm) i idealnie pasowała do tego projektu, a po trzecie dzięki użyciu "teensyduino" mogłem używać środowiska Arduino w którym bardzo szybko napisałem kod. Żeby Gramek był robotem, a nie jedynie zdalnie sterowaną platformą, musiał mieć czujniki - w domu miałem tylko 2 fotorezystory (w dodatku o innych charakterystykach...), więc w ten sposób powstał kroczący światłolub:) Na początku chciałem zastosować czujnik odległości zrobiony z diody IR i fototranzystora, ale "na pająka" ciężko to było zrobić, więc pozostałem przy fotorezystorach, które są bezpośrednio przylutowane (na długich nogach) do padów w Teensy, dzięki temu, poza Teensy, nie musiałem robić żadnej dodatkowej płytki. Teensy nie ma regulatora, dlatego zarówno serwa jak i płytka zasilana jest bezpośrednio z baterii. Programowanie odbywa się poprzez gniazdo miniUSB znajdujące się na płytce, przy użyciu bootloadera w atmedze32u4. Parę fotek: Oraz kilka filmików: Niestety gdy jest jasno, to są kłopoty z odpowiednim sterowaniem (mam na myśli światło), tym bardziej że na filmiku używałem słabej diodowej latarki. W ciemności działa zdecydowanie lepiej, ale za to na filmiku nic nie widać, więc nie wrzucałem. Inspiracją do budowy tego robota był "Pololu Micro Maestro Hexapod" który został zbudowany przez tą firmę w celu prezentacji możliwości sterownika serw MicroMaestro. Filmik prezentujący oryginalnego hexapoda Pololu: Jest kilka zasadniczych różnic pomiędzy moim robotem, a pololu: Gramek nie używa sterownika Maestro, zamiast tego używa Teensy. Gramek używa fotorezystorów (jest światłolubem), zamiast cyfrowych sharpów. Bateria również jest zupełnie inna, zresztą samo umiejscowienie elementów jest różne. Mój robot ma mniejsze nogi, przez co mieści się w dłoni i zgrabniej wygląda, ale niestety jest wolniejszy. W zasadzie mógłby być szybszy - ograniczenie wynika po pierwsze z zasilania serw bezpośrednio z 3,7V zamiast 6V, a po drugie napisałem "chód" w ten sposób, że w danym momencie czasu w ruchu są maksymalnie 2 serwa jednocześnie, a nie wszystkie 3, przez co, cała "ramka" chodu trwa dłużej. Nie chciałem ruszać 3 serwami jednocześnie by nie przeciążać baterii, która jest bardzo kiepska - nie mierzyłem co prawda prądów, ale bałem się, że 3 serwa naraz to będzie za dużo dla bateryjki z telefonu komórkowego. Dodatkowo, pomiędzy poszczególnymi ruchami serw, w kodzie zdefiniowane są opóźnienia, bo bez nich, robot śmiesznie skakał, jak ten hexapod pololu co widać na filmiku - trochę nie naturalnie to wygląda. Koszt: - bateria: free (ze starego telefonu) - serwa: 3x12zł - teensy: free (nie liczę tej płytki jako koszta, bo miałem ją dużo wcześniej do testów, zresztą po rozebraniu robota nadal mogę ją wykorzystać, ale kosztuje $16) - spinacze biurowe: free:) - 2 fotorezystory, 2 oporniki, mikro-włącznik: <2zł - rurki termokurczliwe: 2zł Wymiary robota: - z nogami: 7 x 9 x 5 cm (dług x szer x wys) - bez nóg: 6 x 4x 4 cm (dług x szer x wys) Waga: - 64g (z akumulatorem) Podsumowując, jestem bardzo zadowolony z tej konstrukcji, pomimo tego, że powstała w jeden dzień. Zbudowałem chyba najprostrzego możliwego robota kroczącego bardzo tanim kosztem, ucząc się przy tym programowania chodu dla tego typu konstrukcji, co nie jest takie trywialne jak się mogło wydawać, nawet dla tak prostego robota, zbudowanego z 3 serwomechanizmów.
  15. Witam wszystkich, to mój pierwszy post na forum. Na początku chcę podziękować wszystkim, którzy dzielą się swoją wiedzą, to zawsze pozwala zaoszczędzić czas i pieniędze. Żona pogoniła mnie od ciągłego grania do jakiegoś twórczego działania, więc postanowiłem zrobić sobie robota. Już wcześniej bawiłem się prostymi konstrukcjami używając gotowych podwozi (między innymi LF). Moje zdolności mechaniczne są skromne, a wyposażenie warsztatu żałosne, ale to nic. Trzeba brać się za robota puki jest zapał. Zaplanowałem sobie sześć nóg z 2DOF, żeby nie szaleć na początek. Poza tym miałem układ kontroli 12 serw pololu maestro, który pozostał mi po manipulatorze jaki robiłem kiedyś. Miało być maksymalnie tanio: - 14 serw Redox S90 - 12zł/szt. (2 jako rezerwa ) - profil PCV 2mb (castorama) - 8zł/mb (nie pamiętam dokładnie) - stary laminat dwustronny - cena nieznana - jeden klej Cyjanopan E - 3zł/szt ?? narzędzia: - mała piłka modelarska - małe imadełko - wkrętarka - pilniki duże i małe - nóż oraz malutkie biurko Wyszło całkiem nieźle: Jak widać robot jest całkiem spory w tej pozycji to prawie 300x300mm. Waga z bateriami i układem pololu to 550gram. Robot bez problemu chodzi i myślę, że mogę mu jeszcze spokojnie 200gram dorzucić. Jeszce się nim nie nacieszyłem więc nie chcę go na razie forsować Dodam jeszcze budowę nogi: W najbliższym czasie planuję pomęczyć serwomechanizmy, żeby sprawdzić ile są warte oraz zmienić sterownik pololu na własny z modułem radiowym. W przyszłości na pewno będzie zmiana z nogi 2DOF na 3DOF, ale to już może w następnym robocie, a ten trafi na półkę. Jeśli ktoś jest z mojej okolicy to zachęcam do wymiany doświadczeń osobiście.
  16. Witajcie, Chciałbym tu przybliżyć plon mej pracy/zabawy. Około roku temu zacząłem się interesować robotyką. Analizowałem możliwości wykonania robota powiedzmy zabawki, który mógł by się poruszać w terenie (szeroko pojętym). W ruch poszły „Google”, fora i strony producentów. Była kwestia podjęcia decyzji co do rodzaju robota, a muszę przyznać, że roboty typu kroczące bardzo mi się podobają. Na początek zacząłem analizować proste roboty dostępne jako kity do składania, później mój wzrok padł na podwozie kołowe jako mniej skomplikowane (nawet mam całkiem ciekawe podwozie z samochodu zdalnie stertowanego), aż wreszcie pojawił się On – hexapod Od tego czasu zapałałem do niego wielką miłością. - rozpocząłem pracę nad analizą poszczególnych elementów składowych robota. Przy założeniach, że ostatni raz lutownicę trzymałem 20 lat temu, nigdy nie programowałem procesora (choć troszkę programów zwykłych napisałem za młodu) zadanie wydawało się mało realne zwłaszcza w wykonaniu robota tak skomplikowanego. Przyznam się że wykonując robota bardzo dużo elementów zaczerpnąłem ze strony lynxmotion.com i istniejącego tam forum – dotyczącego Robota Phoenix, oraz z strony robota MSR-H01 firmy Micromagic System. Tak czy inaczej Maniek powstał. Powstawał powoli ok. pół roku powoli w miarę możliwości czasowych, których jest nie za wiele... Poświęciłem na niego około 300 godzin jak nie więcej, czasem były tygodnie, że nic nie drgnęło, a czasem był tydzień że ... ummm, ale to między bajki włożyć... Ograniczenia przy wykonywaniu robota: - przede wszystkim jedno finansowe - chciałem zrobić robota taniej niż pierwowzory (i udało się), które są koszmarnie drogie, - mizerna znajomość elektroniki, - mała znajomość programowania procesorów, - zero znajomości robotyki. Dane techniczne robota: Konstrukcja: Robot 6 nożny potocznie zwany hexapodem wykonany z pleksi 3mm wycięte wg mojego projektu (wzorowałem się na rozwiązaniach konstrukcyjnych głównie Phoenixa, MSR-H01 oraz innych robotach tego typu z netu). Dla zapewnienia większej sztywności robota – główna płyta robota, która przenosi wszystkie obciążenia jest podwójna (2x3 mm), a dla zapewnienia ciekawszego wyglądu – nogi zostały wycięte we wzór imitujący włoski pająka. Użyto 18 serwomechanizmów Tower Pro 5010 do sterowania nogami oraz 1 serwo do sterowania sonarem. Główna płyta - Serce robota: Płytka Arduino Mega (strona www: arduino.cc) – rzekł bym super płytka dla laika – wiele wejść i wyjść w zasadzie brak ograniczeń co do programowania oraz bardzo obszerne forum z tysiącami rozwiązań problemów – to była wielka kopalnia informacji. Dla mnie bajka... (przyznam się, że pojęcia typu fuse byte itp., wywołują u mnie lekki dreszczyk z złym tego słowa znaczeniu). Programik zaprojektowany do programowania płytki pozwala w bardzo prosty sposób pisać i programować. Do tego gotowe biblioteki pozwalają w kilka chwil ( jak np: w moim przypadku ) oprogramować sobie klawiaturę PS/2 – akurat taką posiadałem zbędną w szafie). Sterownik serw: Z uwagi na to, że będę chciał rozbudowywać robota i nie chciałem wprowadzać ograniczeń na płytkę arduino (jest ona sama w stanie obsłużyć do 48 serw) co do częstotliwości wysyłania sygnałów – zastosowałem osobno sterownik serw SD 21. Do tego dodatkowo: Wyświetlacz cyfrowy + 3 przyciski - Do tego pozostało zrobić sobie wyświetlacz (dwie cyferki LED) oraz 3 mikrowłączniki do „programowania trybu pracy”. Płytka z dodatkowymi opornikami (połączenie arduino z sterownikiem serw) oraz Buzzerem. Buzzer – robot wydaje sygnał dźwiękowy –dla uproszczenia konstrukcji zastosowałem buzzer z generatorem. Zasilanie: Obecny etap – zasilacz komputerowy – osobne zasilanie serw i elektroniki W przyszłości – zasilanie z akumulatorów – osobno serwa, a osobno elektronika – kwestia do analizy, bo pobór prądu przez 19 serw jest duży. Czucie robota: Zastosowałem sonar SRF05 Waga: Konstrukcja z pleksi + zmontowane serwomechanizmy to 1,45 kg. Z akumulatorami dojdzie prawdopodobnie do ok 2,5 kg. Wszystko starałem się wykonać jak najestetyczniej, ale wybaczcie mi proszę wygląd mych płytek, bo dopiero co nauczyłem się lutować. Obecny tryb pracy robota: – praca na kablu – sterowanie przy pomocy starej numerycznej klawiatury numerycznej PS/2 do notebooka. Rozwój projektu w przyszłości (kolejność nie koniecznie taka jak poniżej): - praca autonomiczna – poruszanie się po terenie (płaskim i off-road), omijanie przeszkód przy pomocy sonaru, - praca demonstracyjna – robot stoi w miejscu, ale reaguje na bodźce (sonar – zbliżenie ręki), wykonywanie ruchów imitujących „żywy organizm” (poruszanie nogami itp.), - wprowadzenie odwrotnej kinematyki do programu robota ( obecnie pracuje na zaprojektowanych wychyleniach sczytywanych z tablicy w programie), - zastosowanie na stopach czujnika terenu co pozwoli na poruszanie się w nierównym terenie, - zastosowanie akumulatorów do zasilania robota, - inne.... ??? czas i możliwości finansowe pokażą... Poniżej portret Mańka: ------------------------- ==============
  17. Witam, jest mój pierwszy temat na forum więc proszę o wyrozumiałość. Chciałbym w skrócie opisać efekt (mojej oraz mojego kolegi) pracy inż. Robot został nazwany "TriHex" porusza się w trybie trójpodoporowym. Założeniami projektu było: - poruszanie się w trudnym terenie, - brak zdefiniowanego przodu, - zastosowanie kinematyki odwrotnej. 1.Mechanika: Robot został zaprojektowany w programie Catia V5. Elementy zostały wykonane z laminatu szklano-epoksydowego oraz giętego aluminium. Napędy to 12 serw TowerPro 995 (mają swoje zalety i wady) oraz 6 serw TowerPro 5010. Każda z nóg wyposażona jest w krańcówkę. Umożliwia to robotowi badanie terenu po jakim się porusza, a przez to dostosowanie ułożenia nóg do terenu. Konstrukcja nogi wygląda następująco: 2. Elektronika: Robot wyposażony jest w dwie płytki PCB. Jedna oparta o mikrokontroler Atmega8 odpowiada za: - pomiar stanu akumulatorów Li-Pol o łącznej pojemności 4400 mAh, - wyświetlanie wyników pomiaru na ekranie lcd. Druga płytka oparta została o układ Atmega32, odpowiada za: - obliczenia kinematyki, - wysyłanie poleceń do kontrolera serw (układ Pololu - sterownik Maestro18), - sprawdzanie stanów krańcówek oraz interpretację poleć wysyłanych przez bluetooth (robot wyposażony jest w prosty układ bluetooth działający jak zwykły RS-232) Oba mikrokontrolery pracują z częstotliwością 16 MHz. Zastosowano również układ BEC do zmiany napięcia akumulatorów z 7.4V na 6V. 3.Sterowanie: Robot sterowany jest zdalnie przy pomocy protokołu bluetooth. Posiada pewną autonomię ze względu na własne algorytmy znajdywania podparcia dla nogi oraz porusz się chodem trójpodporowym. Wszelkie obliczenia kinematyki oraz trajektorii ruchu nóg są obliczane na bieżąco w Atmedze32 (obawiałem się, że może nie wyrabiać ale się udało ) W ramach projektu została także napisana prosta aplikacja na środowisko Windows do obsługi robota. 4.Dalsze etapy rozwoju: W ramach rozwijania projektu chcemy zastosować akcelerometr, aby robot mógł utrzymywać poziom niezależnie od podłoża, zastosować inne typy chodu, a także zastosować dlamierze na korpusie, aby robot zyskał jeszcze większą autonomię. 5.Galeria o raz film: fot. Aneta Regulska Na zakończenie chciałem podziękować za tak przydatne artykuły znajdujące się na tym forum. Okazały się bardzo pomocne w konstrukcji naszego robota. __________ Komentarz dodany przez: Bobby Poprawiłem film na przyszłość - używaj tagów [youtube ]
  18. Dane techniczne: Robot czteronożny o konstrukcji aluminiowej (własnego projektu) – waga 670 gramów. Wymiary nogi robota w stanie rozłożonym od osi serwa do końca nogi to 19 cm. Body o wymiarach 8 x 8 cm. A na pokładzie mamy: - Kontroler robota to Baby Orangutan B-328 Robot Controller – programowany w oparciu o dobrze znane nam środowisko Arduino wersja 0021. - 2 x sterowniki serw Pololu Micro Serial Servo Controller do sterowania serwami, - 12 mini serwomechanizmów Tower Pro MG-16R – mocne serwa metalowe o momencie ok. 2,7 kg / cm, - 4 Sharp’y GP2Y0A21YK0F – jako czujniki odległości. Zasięg prezentowany przez producenta to 10-80cm. W rzeczywistości spokojnie można sobie analizować otoczenie powyżej 1 m. - Czujnik przyspieszeń MMA7341L 3-Axis Accelerometer ±3/11g z własnym regulatorem napięcia, - 4 czujniki dotyku w oparciu o włączniki, - MOBOT-RCR-V2 -Moduł radiowy 868MHz – do połączenia bezprzewodowego z rękawicą. - Robot jest zasilany z Pakietu LiPol 3E Model 1300mAh 11,1V 15C, - Regulator Pololu Step-Down Voltage Regulator D15V35F5S3 do zasilania serw, - Stabilizator AVT MOD13 do zasilania elementów nie posiadających własnego regulatora. Sterowanie robotem poprzez rękawicę ( w fazie testów) zawierającą na swoim pokładzie: - Kontroler Orangutan SV-328 z wyświetlaczem LCD - MOBOT-RCR-V2 -Moduł radiowy 868MHz – do połączenia bezprzewodowego z robotem. - Czujnik przyspieszeń MMA7341L 3-Axis Accelerometer ±3/11g z własnym regulatorem napięcia za pomocą, którego są prowadzone odczyty. Robot obecnie przeszedł pozytywnie fazę testów poszczególnych elementów po złożeniu i jest oprogramowywany. Przewidziano 2 podstawowe typy pracy: 1. Sterowanie z rękawicy – tj. odczyty z czujnika przyspieszeń przekazywane są do robota za pomocą modułu radiowego gdzie następuje zaprogramowana reakcja. 2. Praca autonomiczna – robot dokonując odczytów ze swoich czujników reaguje na zmiany otoczenia podczas poruszania się.
  19. Witam, Zebrałem się i postanowiłem napisać conieco o mojej nowej konstrukcji. Generalnie już od jakiegoś czasu buduję roboty ale na forbocie nic jeszcze nie umieściłem. Mam do zaprezentowania robota typu hexapod, 6-nożna maszyna krocząca jakby ktoś niezbyt orientował się w systematyce. Dlaczego hexapod? Zabrałem się za tą konstrukcję po porażce w minisumo. Stwierdzam że nie lubię zbytniego "upychania" elektroniki w robocie. Platforma hexapoda daje dość dużo możliwości rozmieszczenia elektroniki, o zasilanie też nie trzeba się martwić ze względu na duży udźwig. Krótko o budowie: Projekt: Konstrukcję zaprojektowałem w programie CorelDraw. Projekt dawał mi nieco możliwości manipulowania nogami zwłaszcza w płaszczyźnie poziomej. Części: zostały wycięte laserem na bazie projektów w Corelu. Plexy 3mm kolory czarny i żółty. Planowałem 6mm ale niestety zakład takowego materiału nie posiadał. 3mm na korpus starczy ale na nogi niezabardzo. Robot posiada jak wspomniałem spory udźwig testowałem z grubym słownikiem ale 3-5kg pewnie by jeszcze podniósł, za to z przepychaniem ma problemy, nogi się troszkę wyginają... Robot się ślizgał, założyłem mu ogumienie - wałki z drukarki atramentowej. Silniki: 18 serw TowerPro mg995. Mają swoje wady i zalety. Zalety: kosztują około 30 zł/szt, metalowe tryby, łożyska kulowe, dobra obudowa. Wady: kupując 18 sztuk 5 obraca się odwrotnie niż pozostałe. W programie obracając serwa np o +50* z krokiem co 1 te serwa "unikatowe" muszę obracać na -50... Problematyka dobrze widoczna na schemacie. Zasilanie: serwa zasilam z akumulatora żelowego 6V, 4.5 Ah. Przy zakładanym poborze prądu 18* 0.5A mamy 9A. Akumulator podziała więc niecałe 30 min ale jest to przy maksymalnym obciążeniu - serwa mają pobór maksymalny przy gwałtownych obrotach u mnie jest to wyeliminowane, serwa działają maksymalnie płynnie z przeskokiem o 1° co 5 - 15ms. Logika ma narazie zasilanie przez usb, 3m kabla więc nie jest źle, planuję dodać bardziej mobilne źródło. Ewentualnie druga opcja bardziej ryzykowna żeby podłączyć logikę do żelka... podobno maksymalne rozładowanie jest dość duże. O tym jeszcze pomyślę. Logika: Arduino Mega 2560. Płyta zdrowo nad wyrost, ale co tam szkodzi ;] używaj z 10% pamięci... Sterowanie: klawiatura PS2 kablowa z nieco innym złączem (brakowało mi gniazda więc byłem zmuszony do użycia innego). Zasadniczo wczoraj kupiłem moduł BT (temat może komuś znany). Niedługo robot będzie sterowany poprzez BT i androida. Robot dość dobrze radzi sobie z nierównościami. Nie mówię tu o bardziej ekstremalnych nachyleniach. raczej o nierównej powierzchni, zabrudzenia stołu, długopisy, kawałki kartonu itp. Mając klawiaturę PS2 mam dość dużo możliwości ruchu robota. znaki 0 - 9, ! - ) + [ , ] pozwalają mi na zmianę wychylenia serw o 5* +/-. Ta sama kombinacja lecz z { , } zmienia wychylenie wszystkich 6 serw. Dość dobre narzędzie do tworzenia sekwencji. do poruszania przewiduję w,a,s,d. Narazie robot chodzi tylko przód - tył. Robot zna poza tym kilka tricków - chwieje się na boki, macha przednimi nogami itp... Program sam w sobie jest banalny. Serwa steruję bibliotekami, PS2 też ma bibliotekę. Kiedyś miałem bardzo złą opinie o Arduino; jest to dla laików, nie trzeba nic umieć, nie daje takich możliwości co sam C i własny układ. Możliwe ale do tego projektu nie ma sensu stosować inny zestaw. W dodatku kod jest naprawdę obszerny (900 linijek), pisanie tego było by pewnie trudniejsze w samym C. Cena: plexy + cięcie: 260zł serwa: 540zł arduino: 120zł BT: 60zł śruby, nakrętki, rurki alu: 20zł żelek: 20zł prąd: niewiele czas: bezcenny części z recyklingu: 0zł koszty przesyłki inne Wychodzi 1000zł ale w połączeniu z innymi kosztami wychodzi troche więcej więc szacujęże 1100zł. Plany na przyszłość: -sterowanie BT -ruch na boki, skręcanie -kilka innych tricków -przyspieszenie ruchów -mobilne zasilanie logiki -szczypce -kamera -czujniki zbliżeniowe -wzmocnienie nóg Jak wspomniałem będę pisać aplikację na Androida. Posiadała by wirtualną klawiaturę do sterowania. Myślałem również o podłączeniu kamerki do Arduino (posiada 3 porty komunikacji) i wysyłaniu obrazu na telefon. Czujnik zbliżeniowy, myślałem nad trickiem macham ręką przed robotem a on wstaje to mogło by być dość efektowne. Ewentualnie inna opcja. że po wykryciu czegokolwiek robot wstaje a po upłynięciu kilku sekund siada. Mając takiego stwora w domu można by wpaść w paranoję A oto kilka zdjęć: pierwsze modele z papieru, schemat serw, przebieg prac. Myślę że opisałem wszystko co nadaje się do opisania. Jest to mój pierwszy artykuł tego typu więc proszę o wyrozumiałość w przypadku pewnych niedociągnięć. Zapewne kogoś zastanowiło imię robota. Niestety jeszcze takowego nie wymyśliłem aczkolwiek myślałem dość długo. Edit1: Był kabel i nie ma kabla. Robot jest teraz w pełni mobilny. Ma przenośne zasilanie i moduł Bluetooth którym łączę się z androidem. Do sterowania używam aplikacji BlueTerminal. A oto nagranie pokazujące działanie nowego sterowania: __________ Komentarz dodany przez: Nawyk Dodałem zdjęcie w formie załącznika (żeby się wyświetlało na stronie głównej)
  20. Witam. Dziś mam okazję zaprezentować Wam mojego pierwszego robota kroczącego "kardbarder". Jest to hexapod w najprostszym możliwym wariancie budowy robota kroczącego - na pokładzie znajdują się tylko trzy serwa. Projektowanie: Nogi oraz platformy robota zostały narysowane w programie Corel Draw. Elementy mechaniczne ze względu na swoją prostotę nie były projektowane - robione na bieżąco. Jedynie mechanizm poruszania środkowych nóg przeszedł wcześniejszą symulację w programie Working Model 2D. Elektronika robota to płytka edukacyjna mojego wykonania. Program został napisany w języku BASCOM. Budowa: Robot - jak nazwa wskazuje - wykonany jest z tektury. Jest to ~ dwumilimetrowa tektura pochodząca z recyklingu - mianowicie są to okładki zeszytów. Materiał bardzo łatwy w obróbce a po nasączeniu klejem również bardzo wytrzymały i sztywny. Nogi wykonane są z dwóch warstw sklejonych ze sobą co daje dużą twardość a co za tym idzie stabilność robota. Elektronika: Mózgiem robota jest płytka wykonana dużo wcześniej - służąca w wielu projektach. Na pokładzie znajdują się: stabilizator napięcia TS7805, uC Atmega8 taktowany zewnętrznym kwarcem 12MHz, mostek h - L293D, kilka złącz oraz dodatków, Zasilanie: dwa akumulatorki Li-Ion połączone szeregowo. Do poruszania nóg wykorzystane zostały dwa przerobione serwa - tylko to było pod ręką. Pozycje nóg odczytywane są za pomocą potencjometrów i przetwornika ADC Czujniki: Robot został wyposażony w jeden czujnik odbiciowy własnej konstrukcji - zasięg: do 30 centymetrów w zależności od koloru i powierzchni przedmiotu. Filmik z działania robota:
  21. Witam wszystkich, chciałbym Wam dzisiaj zaprezentować mojego pierwszego robota. Wstęp Swego czasu obejrzałem parę filmików na yt z ciekawymi konstrukcjami robotów, które wyglądem (a czasem zachowaniem) naśladują owady, zwierzęta lub obce formy życia, no i akurat mnie też nagle wzięło i postanowiłem też coś takiego zbudować. Gdy mój robot przybrał już ostateczną formę to uznałem, że podobny jest do jakiegoś pędraka czy czegoś w tym stylu . A że "Larwa" brzmi wdzięcznie więc wybór padł na nią. Szczegóły techniczne 1. Szkielet robota stanowią elementy wycięte z płyty 5mm wykonanej z tworzywa PETg, takie płyty są niestety bardzo niedostępne. Materiał ten jest przejrzysty jak szyba szklana, i jest bardzo wytrzymały, nie pęka i nie łamie się jak plexi, ma wysoką udarność. Do połączenia wyciętych elementów użyłem śrub i nakrętek samokontrujących M3 + podkładki, oraz kleju cyjanoakrylowego. Dodatkowo użyłem tzw. drutu pamięciowego (sprężynowego) jako części kończyn przednich i tylnych oraz krążki gumowe jako stopy. Elektronikę przymocowałem, obejmami, gumkami i malutkimi wkrętami. 2. Elektronika robota wygląda następująco: 2 przerobione serwa modelarskie Turnigy Tg9e do napędu przednich nóg; akumulator li-pol 7,4v Zippy 1000mAh 15C; ATmega162 - mózg robota ; stabilizator 7805; sterownik silników l293d; czujniki do wykrywania przeszkód CNY70; diody led białe jako oświetlenie przednie; diody zielona, czerwona i niebieska jako lampka rgb; buzzer do przyszłych zastosowań; wskaźnik napięcia akumulatora hextronik; różne rezystory, kondensatory itp. 3. Program sterujący robotem na razie raczkuje i wykonuje podstawowe funkcje jak chodzenie, wykrywanie i omijanie przeszkód oraz sterowanie lampką rgb. Będę starał się go rozwijać. Galeria Utworzyłem taki sam temat niedawno na elektrodzie ponieważ moje konto na forbot.pl nie chciało działać, nie mogłem się zalogować a w efekcie zablokowało się na dobre i dopiero niedawno admin mi je odblokował. Uznałem więc, że warto a nawet trzeba też tutaj pokazać. Czekam na Wasze komentarze .
  22. Hej. Przedstawiam swoją kolejną dziwną konstrukcję. Pomysł podpatrzony w jednej z polskich firm oraz na pololu. Zrobiłem go w celach pokazowych. Chciałem mieć pająka, ale taki na 18 serwach to by mnie przerósł i finansowo i intelektualnie więc zrobiłem takiego prostego. Do sterowania wykorzystałem aplikacją w Javie którą od lat mam do takich rzeczy. Wysyła pojedyncze znaki po naciśnięciu lub puszczeniu klawisza lub joysticka. Jako BT użyłem najtańszego chińskiego modułu. W procek mam wgrany BL megaload co umożliwia automatyczne ładowanie nowego softu po naciśnięciu przycisku reset przez BT. - imie - strzeliłem, wszyscy nadają, dziwnie by mój post wyglądał więc i ja nadałem - konstrukcja - elementy wycięte cnc z laminatu 1,5mm - serwa - standard, miałem pod ręką 2szt tp 5010 i 1 conrad ES 030 - nogi - na 12 łożyskach 8x4x3 - zasilanie - 4 x nimh 1400mAh - sterownik - własny projekt małego sterowniczka specjalnie do niego na atmega328 - sterowanie przez port szeregowy (BT) - demo Napisany w Bascomie program steruje serwami w zależności od otrzymanej po uarcie komendy lub załącza demo powodujące długie tuptanie pająka w miejscu. Chciałem dołożyć mu obracany na serwie sonar ultradźwiękowy ale już chyba tego nie zrobię. Prędkość jego poruszania się jest tak niewielka że zanim by doszedł do jakiejś przeszkody żeby ją ominąć minełyby wieki. Więc taki pewnie zostanie. Kilka fotek oraz film Pozdro Sławek
  23. Skarabeusz - robot kroczący typu hexapod, napędzany jest 12 serwami. Dwa serwa na nogę pozwalają na wysterowanie każdej nogi z osobna w dużym zakresie. Spośród innych robotów tego wyróżniają go przede wszystkim jego małe wymiary i to właśnie było głównym założeniem przy jego budowie. Dodatkowo jako jeden z nielicznych robotów 6 nożnych jest całkowicie bezprzewodowy, zasilany z akumulatora umieszczonego w robocie. Spowodowało to szereg trudności przy budowie, ale nie żałuję tego rozwiązania, bo mogę się dzięki niemu wykazać czymś oryginalnym. Dane techniczne - wymiary: ok 240x200x100mm* (bez wąsów) - waga ok. 400-500g - 12 mikro serwomechanizmów modelarskich - procesor ATmega168 20MHz - materiał: pleksi 4mm, łączenia śrubkami, tulejkami i klejem - komunikacja radiowa z dedykowanego pilota - możliwość modułowego montażu czujnika - zasilanie: pakiet li-po E-sky 7,4V 800mAh *zależne od wychylenia nóg, tu podane w trakcie stania robota Pomysł, projekt Pomysł na budowę nowego robota pojawił się już z początkiem roku. Po męczących bataliach z line followerami zdecydowałem, że zbuduję coś zupełnie innego. Hexapod wydawał się trudnym wyzwaniem, ale przy pewnej dozie szczęścia osiągalnym. Udało mi się zaoszczędzić taką ilość środków, że nie musiałem się obawiać że zabraknie funduszy (co miało się po czasie zmienić). Nie chciałem jednak, żeby był to kolejny "zwykły" robot kroczący - to i kilka innych argumentów, jak np. ceny serw, zadecydowały że będzie to robot o małych wymiarach. Pozostała kwestia doboru ilości serwomechanizmów: 12 czy 18? Zdecydowałem się na 12 z kilku przyczyn: prościej, taniej oraz nie potrzeba dodatkowego serwokontrolera (mało miejsca w robocie), a jedyne ograniczenie to brak możliwości chodu do boku. Trudno, może kiedyś... Jako materiał wybrałem pleksi, ponieważ jest łatwo osiągalny, lekki, w miarę sztywny, tani i dużo osób z niego korzysta. Grubość 4mm. Pleksi chyba najłatwiej obrabia się laserem, a w przypadku gdy potrzebujemy identycznych części dla 6 nóg jest to sposób niemal idealny, i jak się okazało bardzo tani. Pierwszą fazą pracy nad robotem był jego projekt wykonany w programie CAD - Solid Edge. Do projektowania w CADzie cały czas zachęcał mnie Bobby, ale okazało się to raczej koniecznością. Ma to wiele zalet - pozwala uniknąć wielu błędów już przy fazie projektowania, ma się na bieżąco podgląd robota, wiec nie ma zdziwienia po złożeniu robota "w realu". Tak więc projekt składał się z kilku części: górnej i dolnej części korpusu, łączników serw obrotu z serwami podnoszenia i dwuczęściowych nóg. Dodatkowo było potrzebne wymodelowanie akumulatora, serw, tulejek dystansowych i kilku innych szczegółów. Z gotowego projektu wyeksportowałem potrzebne części do rysunku, a później do pliku który wysłałem do firmy. Dzięki projektowi i laserowemu cięciu części nie miałem praktycznie żadnych problemów przy montażu, może oprócz wkręcania wkrętów (po nagrzaniu wkręta wchodzi bardzo prosto i trzyma dobrze). Dużo otworków było tylko "napunktowanych" laserem (d=1mm), a następnie rozwierconych wiertarką. Robot był identyczny z projektem - nie spodziewałem się że ten etap pójdzie tak łatwo. Niestety, na skutek pewnych niedogodności związanych z korzystaniem z programów komercyjnych, projekt przepadł (całe szczęście nie był mi już potrzebny). Pozostał mi jeden jedyny screen, w dodatku w marnej jakości. Mechanika, Napęd Tak jak już pisałem, obudowa zrobiona jest z 4mm pleksy ciętej laserowo. Użyte serwa to HXT900 - są tanie i można do nich dokupić zapasowe tryby za 5zł, niestety cena w tym przypadku idzie w parze z jakością. Póki działają to dobrze, ale cały czas mam wrażenie że któreś posypie się w najmniej odpowiednim momencie. Są one albo wkręcane do obudowy, albo do niej klejone - połączenie klejone trzyma bardzo dobrze, próba oderwania serwa zakończyła się złamaniem elementu z pleksi. 6 serw służy do obracania nóg, a następne 6 do ich ruchu góra/dół. Nogi zostały rozmieszczone po 3 z każdej strony robota. Nogi składają się z dwóch części skręconych przez tulejki dystansowe w celu wyśrodkowania punktów podparcia w osi robota. Części są przymocowane do orczyków również przy pomocy wkrętów odpowiednio przyciętych by nie wystawały. Niestety orczyki mają nieco luzów na wałku serwa, przez co konstrukcja jest nieco giętka, ale stabilna. Nogi nie posiadają żadnych antypoślizgowych nakładek, co prawda poprawiłoby to jego chód, ale utrudniło jednocześnie takie ruchy jak podnoszenie, opadanie czy nachylenia - pamiętajmy, że robot ma 12 serw i wykonywanie takich ruchów jest możliwe dzięki pewnemu poślizgowi nóg. Gdybym próbował je robić z nakładkami mógłbym uszkodzić serwa. Elektronika Najpierw dlaczego ATmega168: duże taktowanie, duża ilość pamięci flash i wystarczająca ilość pinów I/O wykorzystanych praktycznie maksymalnie , przez co niepotrzebnie nie komplikuję układu. Elektronika przysporzyła dość dużo problemów przy budowie. Pierwszy problem był taki, że płytka nie mogła przekroczyć 85x60mm, a miał się na niej znaleźć procesor z peryferiami, dwa stabilizatory, jakieś przyciski, diody, wyjście dla czujnika, modułu radiowego, UART i zasilania do programowania, kondensatory do filtrowania oraz wyprowadzenia dla 12 serw, każde po 3 piny. Oczywistą sprawą jest, że musiała być dwustronna, ale na szczęście miałem już trochę wprawy przy robieniu takich płytek przy "Bajtlu". Po długich i monotonnych godzinach spędzonych przy kompie udało mi się płytkę dokończyć. Po zrobieniu i polutowaniu wyglądała tak: Reszta elementów jest po drugiej stronie płytki. Przewody są podpięte do resetu i służą wgraniu bootloadera (reszta wyprowadzeń programowania ISP na wyjściach dla serw). Za jednym zamachem popełniłem czujnik, który nie zadziałał a w dodatku nie wpasowywał się ostatecznie do robota. Powstała druga wersja czujnika, której nie udało mi się uruchomić po dziś dzień Na płytce znalazło się kilka błędów, głównie przez moją nieuwagę, dlatego kilka ścieżek zostało przeciętych i poprowadzonych "na przewodach" - taki urok prototypów. Nie wygląda źle, a póki działa nie widzę potrzeby robienia nowej płytki. Zasilanie Chyba najbardziej kłopotliwe zagadnienie przy budowie. Źródłem jest akumulatorek li-po, ponieważ ma bardzo dużą wydajność prądową, przy czym jest lekki i mały. Serwa rozstawiałem tak, żeby mieścił się między nimi i nie trzeba go było dodatkowo mocować. Ponieważ serwa stwarzają duże zakłócenia w robocie, potrzebne było użycie dwóch stabilizatorów LDO - LM2940 w SMD wlutowany w płytkę oraz LM1084, wyprowadzony na przewodach. Duże zużycie prądu (podczas chodu 2,5A) wymusiło użycie dużego (jak na takiego robota) radiatora z wentylatorkiem, czego nie przewidziałem w projekcie. Bez wentylatorka radiator w 2min miał ponad 100st, co w przypadku robota z pleksy nie jest najlepszym rozwiązaniem. Udało mi się je dość dobrze ulokować z tyłu robota, przez co nie "straszą". Akumulatorek wystarcza na około 20 minut ciągłego chodu - przy oszczędnym użytkowaniu 30min. Nie dużo, ale pamiętajmy że modele RC mają nie więcej, więc nie załamuje mnie to. I pomyśleć, że te wszystkie problemy można pominąć, stosując zasilacz... Program Ponieważ znam tylko język BASCOM, to wyboru zbyt dużego nie miałem. Do procesora został wgrany bootloader, dzięki czemu mogę programować przy użyciu 4 pinów zamiast 6 - wbrew pozorom na takiej płytce jak moja to bardzo wielkie udogodnienie. Bardzo trudnym zagadnieniem przy budowie robota na tylu serwach jest ich wypozycjonowanie - od tego zależy stabilność chodu, to czy robot chodzi prosto, czy nie jest pochylony. Zaryzykuję stwierdzenie, że jest to równie trudne zagadnienie jak dobór współczynników w PID'zie - poprawiam to od początku istnienia robota, jest coraz lepiej ale ciągle wydaje mi się że to nie są idealne ustawienia. Może zwróciłeś Czytelniku uwagę na moje stwierdzenie na początku, że przy użyciu 12 serw nie potrzebuję dodatkowego serwokontrolera. Tak, wszystkie serwa są sterowane wspaniałą bascomową funkcją Config Servos! Nie napotkałem z nią najmniejszych problemów, a serwa można ustawiać z dużą rozdzielczością. To proste i skuteczne rozwiązanie ma wg mnie tylko jedną wadę: obsługuje do 16 serw - to jest jeden z głównych powodów dlaczego mój robot nie ma ich 18. O programie na razie nie ma zbytnio co pisać: nie ma kinematyki (jeszcze ), wychylenia działają na zasadzie wczytywania odpowiednich wartości dla serw, możliwa jest zmiana prędkości działania robota i jego maksymalnych wychyleń przy pomocy stałych definiowanych na początku programu. Praktycznie cały program to skoki pomiędzy poszczególnymi podprogramami, co nieco ułatwia pracę bo można poszczególne poprawiać i edytować bez obaw o całość działania programu. Program zajmuje na razie 70% pamięci flash, ale duża w tym zasługa tego że nie dbałem zbytnio przy pisaniu o jego optymalizację. W zamyśle mam całkiem nową koncepcję algorytmu, która powinna zająć dużo mniej pamięci. Robot porusza się chodem 3-podporowym. Czujniki Projekt przewidywał użycie czujnika optycznego na osobnym procesorze, mającego 3 diody nadawcze co pozwalałoby na obserwację otoczenia szerzej niż w przypadku powiedzmy Sharpów, a przy czym taniej. taki czujnik można będzie dodatkowo dopasować do własnych potrzeb. Ponieważ czujnika jeszcze nie uruchomiłem, a na zawody w Łodzi chciałem już mieć jakieś czujniki, wykorzystałem te najprostsze - krańcówki. Dlatego robocik ma teraz osobliwe "wąsy". Przedłużenia wykonałem z pręcików węglowych - jest to materiał idealny do tego zastosowania, bardzo giętki a nie odkształcający się, tani (2,50zł/m) i łatwy do nabycia w sklepach modelarskich. Przyznaję z bólem, że podpatrzyłem to rozwiązanie z robota Hexor II. Jeżeli komuś nie po drodze do modelarskiego, to takie pręciki używane są jako kile w spławikach wędkarskich, z tym że niestety koszt najtańszych spławików z węglowym kilem to 3-4zł/szt. Sterowanie Czyli jak zrobić żeby robot nie był robotem. Przeczytać świetny artykuł Elvisa, kupić tanie moduły HM-T868S i HM-R868S (ich dodatkową zaletą jest to, że są bardzo małe i bez problemu mieszczą się w moim robocie) i przeprowadzić transmisję. Nadajnik zabudowałem w pilocie, który zbudowałem specjalnie po robota. Steruje nim ATmega88, posiada 9 przycisków (5 do ruchu i 4 jako dodatkowe opcje) oraz potencjometr do regulacji prędkości (jeszcze nie uruchomiłem tej funkcji). Zasilany jest z 4 akumulatorków AA. Zabudowany został w kupionej obudowie, którą krzywo powierciłem (ale parszywie się w tym wierci...). Płytka drukowana również dwustronna, wklejona na... hot glue. Po skręceniu hot glue nie widać, myślę że pilot broni się estetyką dość dobrze. I wyjaśnijmy sobie jedną sprawę. Futerko nie ma konkretnych zastosowań, górny pasek maskuje otwór po cięciu obudowy pod miejsce na koszyk z bateriami, a te po bokach są ponieważ przyjemniej mi się trzyma niż goły plastik. Można je prosto odkleić, dlatego nie chciałbym aby ktoś oceniał robota pod kątem futerka na pilocie. Koszty No i najsmutniejsza kwestia. Podliczeń dokładnych nie zrobię, na robota wydałem dużo. Bez zgromadzenia 500zł nie ma się co zabierać za takie konstrukcje, no chyba że chce się odkładać projekt na półkę z powodu braku kasy. Tak, mogłem zaoszczędzić kupując serwa na HobbyKing, ale nie chciałem ryzykować pierwszym razem. -13 serw (jedno na zapas) + komplety naprawcze + wysyłki - 250zł -pleksa + cięcie - 50zł (w innej firmie zaoferowali mi.... 200zł ) -części elektroniczne - 200-250zł -wentylatorek - 30zł (był bardzo drogi ale nie miałem wyboru) -różne śrubki, kleje, inne pier... drobiazgi - 150zł -akku li-po z ładowarką już miałem, ale gdyby kupować: akku 30zł, ładowarka 30zł, zasilacz 20zł. Dodatkowo zaszalałem i dla uprzyjemnienia sobie pracy zakupiłem lutownicę Hot Air, koszt 300zł + pasta za 40zł. I jeszcze w końcu starego laptopa za 200zł na zawody. Ale to nie jest jednorazowa inwestycja. Przyszłość Uważam robota za rozwojowego. Oprócz stałego ulepszania kodu aż do kinematyki mam jeszcze pomysły na dodatkowe moduły i funkcje. Update'y będę zamieszczał w tym poście, a informował w temacie. Ponieważ mocowanie serw jest dość kłopotliwe, ich wymiana wiązałaby się z nową obudową (to na szczęście jest tanie), dla której musiałbym robić projekt w CAD'zie od początku - póki co o tym nie myślę. Podsumowanie Żaden robot dotychczas nie dostarczył mi tyle radości przy tworzeniu. Było to dla mnie dużym wyzwaniem, ale uważam że cel osiągnąłem. Poprzednie roboty działały, ten... żyje Jestem z niego bardzo zadowolony i uważam go za w pełni udaną konstrukcję. Pisanie programu to dla mnie świetna zabawa, bo to tak jakby go uczyć. Robot wystartował na zawodach w Łodzi, gdzie zajął niestety ostatnie 5 miejsce, ale cieszył się dużym zainteresowaniem, szczególnie dzieci (chociaż niektóre się go bały). Jeżeli ktoś dotarł do szczęśliwego końca moich wypocin, to wyjaśniam czemu tyle tego: żeby ograniczyć jak najbardziej ilość niepotrzebnych pytań w temacie. Jeżeli coś pominąłem, to proszę pisać, jednakże zastrzegam sobie prawo do niektórych tajemnic :-> Nie będę owijał w bawełnę, nie chciałbym aby ten projekt był kopiowany i zasypały nas mini hexapody na 12 serwach, bo spędziłem nad nim naprawdę dużo czasu, wydałem na niego dużo pieniędzy, nie należał do prostych i wydaje mi się że zachowanie pewnych informacji i projektów dla siebie nie zostanie odebrane źle. I na koniec bardzo ładne zdjęcie z zawodów w Łodzi, które znalazło się w jednej z galerii na Interii. UPDATE #1 14.11.2010 Robocik zajął 3 miejsce na zawodach Robotic Arena 2010. Dziękuję za wszystkie oddane głosy.
  24. Witam! Chciałbym zaprezentować projekt rozbudowanego robota kroczącego. Poza samą podstawą kroczącą na sześciu nogach o 3 stopniach swobody każda, w przedniej części korpusu zainstalowałem manipulator o 5 stopniach swobody z chwytakiem na końcu. Dodatkowo przed chwytakiem (przed 5 stopniem swobody) zamontowana została kamera bezprzewodowa również sterowana (2 stopnie - pion i poziom). Materiał: Większość konstrukcji wykonałem z aluminium (2, 3, 5, 8 mm) jedynie chwytak powstał z plexi (powstaje nowa wersja z alu:) ). Poszczególne elementy są skręcane lub sklejane, w zależności od potrzeb. Napędy: Do napędu poszczególnych stopni wykorzystałem serwonapędy modelarskie, w większości jest to Hitec, analogowe i cyfrowe, różne modele, od micro do całkiem sporych, jest nawet jeden HSR. Oczujnikowanie: Jak każdy porządny robot, ten również ma kilka czujników (i jeszcze więcej w planach ). Obecnie na stałe jest zainstalowany czujnik przyspieszenia (2 axis) kontrolujący pochylenie korpusu (funkcja auto-poziomowania), były również (w trakcie zmian) zainstalowane dwa Sharpy IR (jeden patrzący "przed robota", drugi "przed chwytak"), docelowo czekają jeszcze dwa czujniki ultradźwiękowe badające przestrzeń po bokach robota. Najnowsza zdobycz w czasie testów - 8 czujników siły, 2 do szczęk chwytaka i 6 pod stopy (adaptacja do podłoża). Do czujników można również zaliczyć wspomnianą kamerę bezprzewodową z mikrofonem. Cały moduł kamery jest tak zaprojektowany, żeby można było kontrolować przestrzeń przed chwytakiem, przed robotem, dookoła robota, również pod korpusem, a także przy odpowiednim ustawieniu ramienia wyjrzeć zza przeszkody, zza ściany, w mały otwór. Przy kamerze zainstalowane zostały 4 białe diody led pozwalające na pracę w nocy. Zasilanie: Do zasilania robocika wykorzystałem pakiet LiPo o pojemności ok. 3500 mAh. Dodatkowo do zasilania kamery i oświetlenia potrzebna jest bateria 9V. Wystarcza to na ok. 1h ciągłej pracy robota. Zasilanie kamery i oświetlenie można zdalnie włączać/wyłączać w celu oszczędzenia energii, dotyczy to również samego ramienia jak i całego robota. Sterowanie: Do sterowania wykorzystałem bezprzewodowy Pad do PS2. W Programie jest zaimplementowana kinematyka odwrotna, w "nogach" działa bez zarzutu, z ramieniem dochodzę do ładu. Wszystkie możliwe funkcje są dostępne z poziomu pada, więc sprawna obsługa wymaga chwili zabawy. Troszkę zdjęć: A oto braciszek Hexapoda bez ramienia, z modułem kamery w miejscu ramienia: Więcej informacji, zdjęć, filmów, danych itd. itp. na maila, postaram się również uzupełniać ten wątek:) Troszkę informacji również na www.easyrobot.pl . Osoby zainteresowane zakupem takiego lub podobnego robota zapraszam do sklepu www.sklep.easyrobot.pl . Pozdrawiam wszystkich fanów i pasjonatów dużych i małych robotów! Piotrek
  25. Witam, Robot powstał w sumie już jakiś czas temu tzn w 2009, zbudowany w sumie z ciekawości, czas budowy i programowania +/- 2 tyg, ostatnio coś wróciły chęci na rozbudowę więc uruchomiłem go znowu i obmyślam plan co tu dalej zrobić W sumie porusza przód, tył na jedną, dwie lub trzy nogi jednocześnie, podnosi podwozie, skłony, pochylenia itd, ale do płynności brakuje kinematyki co będzię w najbliższych plananch. Sterowanie za pomocą Win2000/XP/2003/Vista/2008/7 i aplikacji mojego autorstwa (screeny poniżej) Dane techniczne robota: Konstrukcja: Robot 6 nożny - HEXAPOD wykonany ze stopu aluminium wycięte wg mojego projektu na frezarce. (główne wzory Phoenix, MSR-H01). 18 serwomechanizmów do sterowania nogami. Zasilanie: Zasilacz ATX. Obecny tryb pracy robota: – praca na kablu (RS232)->(USB) Przyszłość: Uchwyt (ala szczęki), akumulatory, sterowanie Bluetooth, kinematyka odwrotna, dodatkowe czujniki - sensory, sonar itd. Zdjęcia: Aplikacja sterowanie Aplikacja wybór portu COM, gotowe sekwencje, pozycja "zerowa" i możliwość wczytania sekwencji z pliku txt Poniżej filmiki: https://www.youtube.com/watch?v=Sd4Lzgglb1g https://www.youtube.com/watch?v=jAjl9gbF2Ac https://www.youtube.com/watch?v=uBgXMDA-4iU
×
×
  • Utwórz nowe...