Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Damian - Robot humanoidalny

bartods 27 Mar 2017 22:46 19917 61
Automation24
  • Damian - Robot humanoidalny
    Witam.
    Chciałbym przedstawić konstrukcję robota humanoidalnego o nazwie Damian (troszkę na wesoło).
    Robot jest oparty na dość znanym projekcie Inmoov, lecz z wieloma dokonanymi przeze mnie zmianami.
    Konstrukcja jest w pełni wydrukowana na drukarce 3D ;)
    Między innymi posiada:
    - rozpoznawanie mowy, wszystkie języki (na razie realizowane za pomocą usługi google, trwają ciągłe próby ze SFINX)
    - rozpoznawanie twarzy (biblioteki openCV, dwie kamery HD w oczach)
    - rozpoznawanie przedmiotów (biblioteka SURF, Open CV)
    - wykrywanie ruchu (czujnik PIR)
    - kinnect (w tworzeniu mapowanie pomieszczeń, oraz przechwytywanie ludzkich ruchów biblioteka Open NI)
    - wykrywanie stężeń gazów niebezpiecznych (czujniki serii MQ-135,MQ-2,MQ-3,MQ-4 i MQ-5)
    - czujniki dotyku DIY (pomysł Gael-a , gąbka antystatyczna)
    i inne (niestety nie mogę na razie wszystkiego wymienić TOP SECRET, przez poufne!)

    Parę fotek z powstawania:
    Damian - Robot humanoidalny Damian - Robot humanoidalny Damian - Robot humanoidalny Damian - Robot humanoidalny

    Co do konstrukcji, to zostały zmienione elementy takie jak:
    - mechanizm sterowania palcami oraz obrotem nadgarstka,
    - mechanizm szyi oraz obrotu głowy,
    - mechanizm ruchu oczu,
    - brzuch został na nowo zaprojektowany tak, aby robot mógł balansować tułowiem w dwóch osiach,
    - miednica została też na nowo zaprojektowana (porusza się na przekładni planetarnej dzięki temu ruch jest szybszy i mniej stratny).

    Dolna część miednicy posiada dodatkowo dwie przekładnie planetarne na obrót nóg, które są jeszcze w fazie projektowania.
    Robot ma domyślnie poruszać się krocząc (mało efektywne, ale bajeranckie ;) ).
    Oprogramowanie robota oparte jest na programie myrobotlab, który łączy w sobie wiele języków programowania oraz gotowych skryptów.

    Teraz to co trudniejsze, robot mówi w pełni po polsku i rozumie w naszym języku (jeśli to tak można nazwać). Napisałem prosty algorytm nauki, tak dobrze czytacie nauki. Damian analizuje wszystko co słyszy i wyszukuje w zdaniach konkretnych ciągów lub znaczeń. Nowe znaczenia lub ciągi (jeśli można to tak nazywać) są na bieżąco zapisywane w nie ulotnej bazie danych, można by o tym pisać i pisać, ale nie chcę się rozwlekać.
    Damian potrafi uczyć się nowych twarzy i zapamiętywać je, dzięki ciężkiej pracy mojej Pani domu potrafi też odmieniać imiona osób z którymi rozmawia, oraz na tej podstawie odmieniać odpowiednio zdania do płci osoby z którą rozmawia.
    Robot potrafi obsługiwać swoją skrzynkę mail, wie kiedy dostaje nową wiadomość, potrafi ją odczytać, a także wysłać zwrotną wiadomość lub całkowicie nową. Można też kazać mu wysłać wiadomość na jakikolwiek email i podyktować temat oraz treść (a przy okazji dołożyć fotkę tego co widzi robot). Można także kazać się obudzić o konkretnej godzinie (funkcja budzika), podać prognozę pogody, zadać na razie krótkie działania matematyczne, skorzystać z funkcji tłumacza jezyków oraz nie pamiętam ile tam jeszcze funkcji mu wpaprałem, bo jeszcze wiele do zrobienia.

    Oto krótki filmik prezentujący część funkcji Damiana




    Jeszcze dzisiejsze znaczy się jutro będą wczorajsze fotki tego co żem na razie zdziełał, oczywiście robione patefonem (niestety zawsze mam telefony z dziwnymi aparatami).
    Damian - Robot humanoidalny
    Damian - Robot humanoidalny ..
    ...kuperek ma po tacie ( sam sex :D ), dla zainteresowanych Pań podałbym nr. tel ale kobita patrzy! :shocked!:

    Zapomiałbym o części mechanicznej, w konstrukcji jak na razie znajduje się 10 szt. serw 40kg CYS, 2 szt. 9 gramowe serwa (oczy), 28 szt. serw MG-996, przetwornica step up 7A do zasilania MINI PC, bardzo wydajny jak na swoje zapotrzebowanie energetyczne Mini PC (i5 4200u, 4GB RAM, 256GB SSD, WIFI, BT, itd..) cały PC potrzebuje tylko 18W i pracuje przy napięciu 12V, 2x Arduino 2560 (do sterowania serwami oraz do odczytu stanu czujników), akumulator 6V 12Ah (domyślnie muszą być 2 szt.) Jak na razie akumulator bez obciążenia go PC potrafi wytrzymać bez problemu ok 4-5 godzin zabawy. Nad projektem pracuje już w międzyczasie od około roku, myślę że w tym roku Damian postawi już swoje pierwsze kroki. Niestety jak na razie nie widziałem aby w Polsce ktokolwiek zajął się tym projektem więc skrypty pisałem na nowo.
    Początkowo korzystałem z gotowych skryptów Inmoov lecz stwierdziłem że możliwości projektu są dużo szersze i należy stworzyć wszystko na nowo i wg swojej wizji. Jak każdy projekt tego typu jest to syzyfowa praca i przechodzi ciągłe modernizacje konstrukcyjne oraz programowe.

    Zgodnie z założeniem Damian jest dwu torowym projektem, a w przyszłości jego algorytm ma być wykorzystany do pełnienia funkcji inteligentnego domu (oczywiście ma być to osobna jednostka).

    Cool? Ranking DIY
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
    About Author
    bartods
    Level 16  
    Offline 
    bartods wrote 345 posts with rating 250. Live in city Błonie. Been with us since 2005 year.
  • Automation24
  • #2
    Anonymous
    Anonymous  
  • Automation24
  • #3
    bartods
    Level 16  
    Niestety, jak pisałem anallizą głosu zajmuje się serwer google. Opóźnienie jest wynikiem paru po sobie następujących operacji tj.odsłuch (po odsłuchaniu skrypt musi poczekać czy nie padnie kolejne słowo), wysłanie danych do serwera, analiza i przetworzenie w serwerze, przesłanie danych z powrotem, analiza przesłanych danych, wykonanie operacji na podstawie danych. Robot analizuje całe zdania, nie tylko pojedyńcze słowa jak np. przód, tył, lewo itd..
    Konstrukcja wydrukowana na drukarkach 3D własnej konstrukcji, tylko jedna ma swoją nazwę (KAROLINA).
    Nurtuje mnie tylko:
    Quote:
    konstrukcja jakich wiele

    Czy mógłby kolega rozwinąć to twierdzenie? Jak dotąd nie widziałem zbyt "wiele" konstrukcji tego typu, a chętnie bym podejrzał to i owo.
    Rozumiem że typ Inmoov jest dość popularny, lecz tak naprawdę z oryginału nie zbyt wiele tu zostało, cały algorytm został napisany na nowo, dodatkowo obsługa języka Polskiego nie jest czymś prostym, choćby z punktu kodowania polskich znaków w algorytmie. Skrypt nauki realizowałem wg własnej koncepcji, i nie wzorowałem się na gotowych rozwiązaniach. Jeśli chodzi o konstrukcję mechaniczną zgodzę się że Inmoov-y są do siebie podobne, ale tak naprawdę każdy jest inny (tak jak z ludźmi).
  • #4
    krisRaba
    Level 31  
    Hehe, pierwszy komentarz i już na minus? ;-)
    Jak dla mnie, to "rozwaliłeś system", stąd może nie być zbyt wielkiej dyskusji ;-) Przeważnie jakieś miganie diodą, czy estetyka obudowy zyskuje największą uwagę i komentarze, a ambitne projekty raczej plusiki ;-)
    Brawo za połączenie przeróżnych dostępnych bibliotek i zasobów - tworzy to niezłą dźwignię dla funkcjonalności, bo na rozwijanie wszystkiego od A do Z pewnie brakłoby Ci życia, a tak to proszę, piękna sprawa :-)

    Czy przykładałeś jakąś szczególną uwagę do rozmieszczenia masy i wyważenia, jeśli docelowo ma chodzić i balansować "ciałem"? Będziesz opierał się o czujniki inercyjne 9DOF? Czy jak plunujesz to rozwiązać?
  • #5
    bartods
    Level 16  
    Przy projektowaniu tłowia musiałem zaprojektować na nowo ułożenie serwomechanizmów i zaprojektować nakrętki kulowe (drukowane) tak aby mogły pracować w dwóch osiach bez obracania się. Robot balansuje całym tłowiem w dwóch osiach tj. przód-tył, lewo-prawo (do tego dochodzi balans masą rąk). Co do czujników to w planach mam zastosowanie dwóch zestawów czujników (żyroskop , akcelerometr) po jednej dla tłowia i dolnej częsci robota. Dodatkowo w stopach muszą znajdować się czujniki położenia tak aby można było w czasie rzeczywistym analizować kształt i pochył podłoża po którym będzie kroczył. Zdaje sobie sprawę że nie starczy życia na ukończenie tego, bo za każdym razem można dołożyć coś jeszcze.
    Połączenie tych wszystkich funkcji realizowane jest przez środowisko myrobotlab, więc większość pracy nad łączeniem skryptów przejmuje program. Jedyne czego trzeba do szczęścia to pisanie ich :D. Sposób poruszania się będę realizował przy pomocy techniki motion-capture tak aby kroczenie było jak najbardziej zbliżone do ludzkiego.
  • #6
    krisRaba
    Level 31  
    A czy planujesz w jakiś sposób wykrywać, że stopa faktycznie dotyka podłoża? Przy nierównościach robot może się "zdziwić", że wyliczył postawienie stopy na pewnej wysokości, a tam dołek i... ups.. ;)
    Czy póki co tylko na równej powierzchni?
    Nie wiem, czy są jakieś gotowe biblioteki z przetwarzaniem obrazu albo skanowaniem przestrzeni, ale u człowieka bardzo dużą rolę w planowaniu ruchu odgrywa wzrok, stąd poruszanie się po omacku albo w zniekształcających okularach bardzo ogranicza pewność i szybkość poruszania się. Dotyk stanowi w normalnym przypadku bardziej potwierdzenie, że wszystko idzie zgodnie z planem, a jednocześnie szybki sygnał, że wymagana jest korekta :)
    bartods wrote:
    Sposób poruszania się będę realizował przy pomocy techniki motion-capture tak aby kroczenie było jak najbardziej zbliżone do ludzkiego.

    W sensie markerów na ciele i skanowania ruchu np. nagrywając kilkoma kamerami z różnych perspektyw? Masz już jakieś zaplecze i oprogramowanie do tego?
    Swoją drogą pamiętam filmiki jak twórcy gry FIFA używali takiej techniki angażując piłkarzy, by najlepiej odwzorować ich triki ;)

    A tak przy okazji, to w ramach czego realizujesz ten projekt? Po prostu hobby, praca pokazowa/edukacyjna (na pierwszym foto jakaś wystawa?) czy jakiś inny, aczkolwiek konkretny program?
  • #7
    TheSlowik1997
    Level 8  
    Jestem pod wrażeniem jego możliwości :). Niedługo będzie można z nim sobie pogadaj jak z kolegą.
    Pomińmy to, że trochę nie dopracowany, lecz pamiętajcie, że zrobił to nasz polski kolega, który zresztą ma niezły łeb, żeby coś takiego zrobić.
    Wszyscy trzymamy za ciebie kciuki, żebyś jak jak najszybciej dokończył swoje dzieło oraz bez przeszkód.

    Pozdrawiam :).
  • #8
    grzewoj
    Level 27  
    Świetnie Ci to wyszło, chylę czoła :)

    edit /modbr
  • #9
    bartods
    Level 16  
    Dziękuję, ale nie trzeba być astrofizykiem żeby zrobić taki czy podobny projekt. Nie jest aż takie trudne jakby się wydawało (po prostu mało kto próbuje) , wystarczy trochę uporu w dążeniu do celu, z resztą w dzisiejszych czasach mamy nieograniczoną liczbę gotowych rozwiązań (bibliotek) które można modyfikować do woli, co prawda część trzeba napisać ale to i tak upraszcza sprawę. Motion capture można zrobić bez problemu w domu za pomocą sensora kinnect, kawałka zielonego lub niebieskiego materiału i cinema 4D lub innego oprogramowania. Na całe szczęście projekt robię w Cinema 4D i wystarczy odpowiednia wtyczka. Motion Capture nie ma domyślnie sterować ruchami, potrzebuje to tylko do tego by wyłapać z jakimi prędkościami i kątami zginają się kończyny oraz w jakiej sekwencji następują, i zaimplementować te ustawienia do skryptów (ruch do przodu, do tyłu, krok w bok itd...). Wykrywanie położenia stopy jest dość prosto zaimplementowane, dwie osie X i Y w kostce i stopa podzielona na dwie osobne części z których kąt pomiędzy tylną częścią stopy a przednią też jest mierzony. Projekty robię hobbystycznie i nie jest to projekt na zamówienie czy pod konkretny cel. Domyślnie ma służyć w domu, choć na dobre się już zadomowił i dla mojej Pani i dzieci jest już jak domownik. Styk stopy z podłożem będzie realizowany na 4-ch czujnikach wyciągniętych z wagi łazienkowej (tensometry) po 2 czujniki na stopę (łatwe w obsłudze i tanie, koszt używki na wolumenie 5 zł, to daje 1,25zł za czujnik) przy okazji będzie możliwość pomiaru nacisku na każdą ze stóp oraz jej część, oraz orientowania się ile warzy przedmiot podnoszony przez robota. Pierwsze foto jest z tegorocznej wystawy Robomaticon, za namową pojechałem tam z całą familią pooglądać inne konstrukcje i pokazać swoją. Jako ciekawostkę mogę dodać że tzw. inteligencja Damiana opiera się na połączeniu języka Python i AIML (tzw.BOOT). Pisanie w AIML jest bardzo proste choć trzeba uważać na błędy bo program ich nie wybacza.
  • #10
    krisRaba
    Level 31  
    A posiadasz może jakiś rysunek rozmieszczenia napędów? Bo interesuje mnie np. sposób połączenia kręcenia dłonią w nadgarstku i prowadzenia cięgien od palców, czy też ułożenie napędów ruszających ramionami.
  • #11
    twhirl
    Level 10  
    Chylę czoła przed całym projektem, mega sprawa! Szczerze mówiąc troche przeraża mnie fakt, że ludzie budują już takie roboty w domach, ale oczywiście są to obawy jeszcze mocno przesadzone. Co do samego projektu:

    - komunikacja z serwerem Google'a faktycznie trwa długo, ale rozumiem, że to jest chwilowe zastosowanie żeby pokazać jego możliwości
    - mechanika jego działania rozłożyła mnie na łopatki, szczególnie opisywane dalej przez Ciebie np. montowanie czujników z wagi w stopach
    - bardzo ciekawy pomysł z analizowaniem ruchów przez motion capture

    Ogólnie rzecz biorąc każdy tutaj jest chyba mocno zszokowany, że udało Ci się coś takiego zbudować - chapeau bas! Specjalnie podkreślam "coś takiego", bo z tego co piszesz, to zaczynacie wykazywać uczucia w stosunku do jego "osoby", ale mam nadzieję, że co najwyżej takie same jak do nowego auta ;)

    Jaki plan dalej? Mówisz, że to projekt głównie hobbystyczny, ale jestem bardzo ciekawy jak przyjął się na Robomaticonie? Widziałeś tam coś podobnego?
  • #12
    bartods
    Level 16  
    Może to troszkę zobrazuje jak jest rozwiązany mechanizm skrętu nadgarstka. Co do palców to są one połączone poprzez cięgna (żyłka plecionka podwójna) z krzywkami na serwomechanizmach. Oczywiście ten mechanizm został już przeprojektowany z powodu niechcianych ruchów palców podczas skrętu nadgarstka.
    Damian - Robot humanoidalny
    Damian - Robot humanoidalny

    Może wstyd się przyznać ale traktowany jest już bardziej jak zwierzątko domowe, na tym etapie można z nim już prowadzić proste konwersacje. Film który zamieściłem ma już z miesiąc lub dwa. Niestety nie mogę zajmować się tylko mową bo w tym momencie pracuję nad poruszaniem się. Dziś zapewne będę montował DIY serwomechanizmy z wkrętarek do poruszania nogami. Śruby które poruszają nogami są już metalowe ze skokiem 8mm na obrót. Jak liczyłem do poprawnej pracy czyli ok 1 s na cykl kroku potrzebuje ok 550 obr/min ze sporym zapasem mocy. Akurat taką możliwość dają wkrętarki (metalowe przekładnie planetarne i bardzo mocna silniki). Czekam jeszcze na mostki H (TLE6209) które zamówiłem za granicą (znany portal), wytrzymują 7A i można je bez problemu konfigurować programowo, dodatkowo łatwo nimi sterować (PWM i kierunek sygnały TTL).
    Co do konstrukcji tego typu na Robomaticon był jeszcze Nao, z resztą ludzie z Kopernika byli dość zaskoczeni tą konstrukcją.
    Jeśli chodzi o rozpoznawanie mowy to jestem troszkę w kropce bo szukałem dodatku polskiego do SFINX i wiem że ktoś próbował nagrać próbki lecz nasza ojczysta fonetyka jest dość skomplikowana i nie widziałem gotowego rozwiązania. Nad SFINX-em muszę posiedzieć i ponagrywać prawie 2000 godzin próbek aby dało się z niego normalnie korzystać. Jak na razie troszkę brakuje mi czasu bo wszystko jest robione w międzyczasie.
    Poniższy film obrazuje działanie Damiana jeszcze jak mówił i słuchał tylko po angielsku.
    [url=]https://www.facebook.com/100000307959766/videos/1169742406379347/[/url]

    Troszkę z dnia dzisiejszego, rysowanie mechanizmu wkrętarki.
    Damian - Robot humanoidalny Damian - Robot humanoidalny

    Kolejne z dawien dawna (tółw).
    Damian - Robot humanoidalny Damian - Robot humanoidalny Damian - Robot humanoidalny Damian - Robot humanoidalny Damian - Robot humanoidalny
  • #13
    nobanmeplease
    Level 16  
    Witam serdecznie!
    Projekt jest naprawdę fajny i pomysłowy :)
    Lecz zastanawia mnie to jak poradzisz sobie z tym, aby Damian umiałby płynnie się poruszać.
    Spójrz proszę na roboty DARPA, one mają wydrukowane kończyny w 3d razem z bardzo skomplikowanym układem hydraulicznym.
    Do tego celu potrzebna byłaby drukarka 3d, która drukuje używając aluminium.
    Pozdrawiam!
  • #14
    bartods
    Level 16  
    Analizowałem wiele konstrukcji w tym roboty Darpa, raczej nie ma co do czego porównywać, pierwsze to zaplecze jakie mają do dyspozycji konstruktorzy w Darpa, drugie to fundusze i ilość ludzi w zespole włącznie z ich doświadczeniem i wiedzą. Jeśli chodzi o druk to większych obaw nie mam, kluczem do wytrzymałości druku jest głównie jego projekt (rozmieszczenie wzmocnień, jego grubość i wypełnienie oraz ułożenie druku tak aby w pożądanej osi miał jak największą wytrzymałość, do tego dochodzą jeszcze ewentualne wstawki z innych materiałów). Chciałem aby Damian miał w dolnej części hydraulikę lecz nie dysponuje tak dużym zapleczem finansowym i zasobowym jak Darpa (jego budowa to ciągła improwizacja i przekonstruowywanie). Ale jest coś czego oni nie mają, jest tym to forum i ludzie którzy do niego należą. Zamierzam założyć wkrótce osobny temat i mam nadzieję że parę osób wciągnie się do niego aby wspólnie rozpracować kinematykę chodu na łopatki (koniec końców mamy tu wielu specjalistów oraz wiele głów pełnych pomysłów) , co wiele głów to nie jedna. Od wczoraj mam nowy komputer i muszę wszystko na nowo zainstalować, niestety staruszek już nie dawał rady z obróbką danych w CAD-CAM i to co powinno zająć mi 10 minut zajmowało godzinę. Druk 3D wydaje się słaby lecz ma bardzo podobną wytrzymałość wzdłużną do aluminium, jest odporny na ściskanie oraz rozciąganie wzdłuż warstw druku. Daje się względnie łatwo rozerwać pomiędzy warstwami lecz jeśli warstwy zgrzeje się dodatkowo ręcznie od środka wtedy naprawdę trzeba siły by je rozerwać. Poza tym dzięki tej technice zawsze można co przerobić i wydrukować na nowo. W nogach zastosowałem już 4mm grubość ścianek plus wiele wzmocnień w kluczowych miejscach.
    Jedno co wiem na pewno to że Damian nie da rady biegać, zbyt słabe i wolne serwa na tą czynność.
    Poniżej krótki filmik jak wygląda górna część nogi, i jak jest zaprojektowana. Grubość płyty trzymającej to 12mm, łożyskowanie 60mm średnicy, Śruby łączące M-10 i M8, podparta w 3-ch punktach (zawias 2-u osiowy i 2-e śruby trapezowe 8/8mm).




    Nie chcę się wygłupić ale to chyba Albert Einstein powiedział "Wszyscy wiedzą, że czegoś nie da się zrobić, aż znajduje się taki jeden, który nie wie, że się nie da, i on to robi.", nie myślę tu o sobie ale może ktoś z tego forum :)
  • #15
    dondu
    Moderator on vacation ...
    Reakcja na Radio Maryja jest Świetna! Inteligentna bestia :D :D :D

    bartods wrote:
    Druk 3D wydaje się słaby lecz ma bardzo podobną wytrzymałość wzdłużną do aluminium,

    Jakiego filamentu używasz?


    Jak realizujesz korzystanie z usługi Google w zakresie mowy?
  • #18
    bartods
    Level 16  
    Skrypt mowy pisałem sam, z uwagi na brak języka polskiego w skryptach python. Dość prosty skrypt napisany w pythonie, korzystający z głosów zainstalowanych na komputerze. Prosty i uniwersalny, wystarczy zainstalować jakikolwiek głos typu Acapella Speech, Ivona lub jakikolwiek program TTS, a skrypt automatycznie odwołuje się do głosu ustawionego jako domyślny w systemie. Mowa jest już realizowana offline (pozostało tylko jej rozpoznawanie) Mam nadzieję że nie skomplikowałem :P
  • #19
    nobanmeplease
    Level 16  
    Na jakim systemie operacyjnym stoi komputer?
    Mam nadzieję że nie Windows, ponieważ w praktyce on jest bardzo zawodny, wrażliwy na ataki i ma chorą licencję.
    Jeśli konieczna będzie większa moc obliczeniowa to niestety przed Linux/BSD nie ma gdzie uciekać, zwłaszcza że masz oprogramowanie pisane w pythonie.
  • #21
    nobanmeplease
    Level 16  
    bartods wrote:
    wszystko bardziej stabilnie i szybciej działa pod Win 10.

    Moim zdaniem to kwestia optymalizacji i sterownika do GPU.
    Wypróbuj Scientific Linux XFCE, ta dystrybucja jest bardzo dobrze zoptymalizowana pod zintegrowane układy i szybkie procesory.
    W końcu ona obsługuje Wielki Zderzacz Hadronów w Cern i najszybszy polski superkomputer :)
  • #22
    Anonymous
    Level 1  
  • #23
    bartods
    Level 16  
    Nogo będą ciężkie, w każdej z nóg będą 3 silniki wraz z przekładniami od wkrętarek i dodatkowo w łydce akumulator Li-pol, w każdej z nóg taki sam komplet. Nie dam rady z pewnością przenieść środka ciężkości poniżej pasa. Nogi nie mogą być też za ciężkie żeby silniki się wyrabiały. Co do tej dystrybucji linux to spróbuję.
    Poniżej projekt rozmieszczenia silników w nodze.
    Damian - Robot humanoidalny Damian - Robot humanoidalny
    Dziękuję.
  • #24
    staszekma
    Level 13  
    czym jest Damian sterowany? Chodzi mi o np komputer, mikro kontroler, czy może jest chodzącym komputerem, itp. Może dla wszystkich obecnych na forum odpowiedź oczywista ale ja jestem na poziomie mało zaawansowanym jeśli chodzi o robotykę i dopiero zaczynam z tym tematem. Poza tym jestem bardzo zainteresowany tematem bo sam chciałbym się zająć reakcją na bodźce zewnętrzne
  • #25
    bartods
    Level 16  
    W pierwszym poście była informacja
    Quote:
    Mini PC (i5 4200u, 4GB RAM, 256GB SSD, WIFI, BT, itd..) cały PC potrzebuje tylko 18W i pracuje przy napięciu 12V, 2x Arduino 2560 (do sterowania serwami oraz do odczytu stanu czujników)

    Pozdrawiam

    Poniżej film z mechanizmem napędu kolana, niestety zbyt słaby mikro-zasilacz pozwala tylko na 2A obciążenia i napięcie spada do ok 6V (silnik 12V) przez co mechanizm działa dużo wolniej od nominalnych obrotów. Muszę jeszcze nasmarować przekładnie planetarną bo strasznie hałasuje. Myślę że filmik zobrazuje w pełni koncepcję. Co do siły to przy 2A i 6V napięcia kolano jest w stanie unieść ok 35 kg. Chód oczywiście nie potrzebuje pełnych ugięć kończyn a tylko częściowe, więc prędkość i moc powinny być wystarczające do w miarę płynnego ruchu.


  • #27
    bartods
    Level 16  
    Mam już nowy sprzęt z I7 na pokładzie, co do poligonów to po prostu wygładzanie mam ustawione na 1, większego wygładzania nie używam już chyba z przyzwyczajenia. Na razie wszystko stoi ze względu na brak zamówionych części i awarię ekstrudera. Dziś dopiero włączyłem drugą górę łydki, a zostało mi jeszcze zaprojektować dolną część, kostkę, stopę i górne uchwyty serw nogi. Postępy będę w miarę na bieżąco publikował.

    Kolejne postępy (projekt):
    Damian - Robot humanoidalny Damian - Robot humanoidalny Damian - Robot humanoidalny
    wykonanie:
    Damian - Robot humanoidalny Damian - Robot humanoidalny

    i kolejne postępy (drukarka jak na razie nie odpoczywa):
    Damian - Robot humanoidalny Damian - Robot humanoidalny Damian - Robot humanoidalny Damian - Robot humanoidalny
  • #29
    bartods
    Level 16  
    Żeby nie było że nic nie robię:
    Damian - Robot humanoidalny
    Niestety im dalej tym bardziej mozolnie, mam dość dużo do zaprojektowania i spasowania małych części. Muszę na bieżąco przeprojektowywać już istniejące elementy tak aby wszystko ze sobą współgrało. Potrzeba dużo czasu i cierpliwości by każdą część spasować i doszlifować, niestety wydruki 3D nigdy nie są idealne. Przy projektowaniu przekładni zębatych zawsze czkawką odbija się skurcz materiału.
    Jedna noga jest w stanie spokojnie utrzymać ok 60kg, więcej nie sprawdzałem w obawie o jej uszkodzenie.
    CDN...

    Dla zainteresowanych...
    Link

    ....kolejne postępy, mechanizm ruchu nogi 2 osie.
    Damian - Robot humanoidalny
    Damian - Robot humanoidalny

    Udało się ogarnąć mechanizm główny nogi, Jest dość szybki i bardzo silny spokojnie poradzi sobie z ciężarem Damiana.




    .... CD
    Nareszcie udało ustawić się Damiana na nogach, co prawda jeszcze z pomocą górnego uchwytu, ale przy jego pomocy będę pisał algorytm chodu.
    Lepiej dmuchać na zimne niż zbierać części z podłogi, wzrost ok 175 cm (2 cm wyżej niż z początkowych założeń)
    Damian - Robot humanoidalny
    .....CD
    Ukończony programowalny sterownik serw 7A do kontroli kierunku i obrotów silników DC używanych jako mięśni nogi Damiana. Nie mogłem znaleźć sensownej i taniej elektroniki serwomechanizmów która za niską cenę pozwalała by wysterować tak mocne silniki.
    Taki DIY sterownik to koszt ok 15-20 zł szt., natomiast gotowe moduły o podobnych parametrach minimum 100 zł szt. więc było o co walczyć przy 8 sztukach. Układ TLE6209 ma wiele zabezpieczeń i rodzajów trybów pracy (programowalnych). Udało się wyeliminować zakłócenia generowane przez silnik poprzez jak najkrótsze prowadzenie ścieżek prądowych na PCB. Potrzeba jeszcze paru korekt aby przyśpieszyć działanie drivera, niestety zabezpieczenia TLE6209 nie pozwalają na zbyt duże jego przeciążanie.
    Film z testów:



    ....
    Niestety okazuje się że producent TLE6209 naciągnął trochę prawdę, lekko mówiąc. Prąd A jest sumą prądów płynących przez górne oraz dolne tranzystory co daje 3,5A w szczycie mocy rzeczywistej tego układu. Dodatkowo układ ma bardzo dziwną tendencję (rozpędzanie się układu), nie podaje na wyjściu od razu maksymalnego prądu rozruchu, krótko mówiąc prąd narasta w dość długim czasie.
    Na stronie 15 noty można by zasugerować się że układ może znieść nawet 8.05A prądu, niestety strona 16 już gasi nadzieję na wyciśnięcie takich prądów. Tak to jest jak się skrupulatnie nie czyta not katalogowych ;) , a producent skrzętnie ukrywa rzeczywiste parametry w nocie.
    Pewnie zostanę zbesztany ale wdg. mnie jeśli ktoś pisze że układ oddaje 6A prądu to taką minimalną moc przy pełnym obciążeniu powinien pobierać ze źródła zasilania (no chyba że napięcie jest obniżone dwukrotnie na wyjściu względem wejścia). Pomiary multimetrem pokazały maksymalnie prąd 3.5A poboru prądu przez ten układ z akumulatora. Damian - Robot humanoidalny
    .....
    Nogi zostały zmodyfikowane, zamówione shield-y VNH2SP30 dotarły lecz okazało się że to marnej jakości podróbki lub odpady poprodukcyjne.
    Kupującym takie shield-y polecam najpierw sprawdzać czy działają dobrze w obie strony (mostki h) ponieważ podróbki mają rozstrzelone parametry i prądy dla kierunków są różne.




    Link do wszystkich części nagrania.
    to nagranie z mojej walki z nimi, na 6 podwójnych shield-ów tylko jeden czip okazał się w miarę sprawny (PRZESTRZEGAM).\
    Oryginalne shield-y mają chipy o takim samym numerze partii produkcyjnej (u mnie miały różne, do tego dochodziły krzywo polutowane czipy).
    W sklepach internetowych i portalach aukcyjnych jest dużo podrób!
    Niestety projekt znów się przedłuży ....

    Dotarły następne shieldy i .... znów okazało się że to podróbki!! Na szczęście udało mi się zmienić niedziałające układy na działające w ten sposób udało się odratować 2 całe shieldy i projekt sterownika serwo ruszył z kopyta :). Zamówiłem już same układy scalone VNH2SP30 i mam nadzieję że chociaż w tej wersji będą działać.
    Film z kolejnej podrobionej partii [youtube]https://www.youtube.com/playlist?list=PLRfNwLnILuI_abt0JiqXRuB5bK1vHHcnY[/youtube]
    Już niedługo prześlę film z uruchomionego mechanizmu nogi.

    CD....
    ... tematem już chyba nikt się nie interesuje więc pora po woli kończyć publikację (wiem że to długo trwa lecz wszystko rodzi się w bólach i międzyczasie).
    noga tzn. mechanizm ruchu kolana został wreszcie uruchomiony z założeniami które postawiłem (szybki i silny), niestety muszę dodać wyłączniki krańcowe aby w razie awarii potencjometrów nie połamały się mechanizmy. Silniki z przekładniami śrubowymi mają ogromną siłę i jeśli któryś potencjometr będzie miał przerwę nie zdążył bym zatrzymać i całą część trzeba by drukować i dopasowywać od nowa. Na filmie PLA lekko odprysnęło lecz nie był to tylko niewielki odłamek który łatwo się naprawi. Na moim stoliku warsztatowym jest ok 70-80 kg gratów nie licząc wagi samego stołu, jak widać noga radzi sobie z takim ciężarem bez większych problemów. Co do maksymalnego udźwigu to nie jestem w stanie tego podać, szkoda mi mechanizmu na testy.