Popularny post imrahil99 Napisano Marzec 16, 2014 Popularny post Udostępnij Napisano Marzec 16, 2014 Witam,Przedstawiam naszego pierwszego robota – Outsider. Jest to robot humanoidalny którego zaprojektowanie oraz wykonanie zajęło nam nieco ponad rok. Natchnieniem do zbudowania robota była seria artykułów użytkownika mog123. Robota wykonywaliśmy we dwójkę. Ja zająłem się częścią projektową i mechaniczną, natomiast Uczony zajął się elektroniką oraz oprogramowaniem robota i aplikacją komunikacyjną z PC. w założeniach miał być stosunkowo tani, nie chcieliśmy na niego wydawać grubych tysięcy, nie wiedząc czy w ogóle będzie działał zgodnie z założeniami, jak się później okazało nie minęliśmy się z prawdą. Mechanika : Projekt robota został wykonany w programie Inventor 2013, oraz Autocad 2013. Był on wykonywany stopniowo, najpierw zaprojektowałem i wykonałem nogi. Proste szeregowe połączenie 6 serw na nogę i jednego serwa na obrót korpusu. Następnie przyszedł czas na korpus oraz ręce-po 3 serwa na rękę (Rys2). Do połączenia korpusu z nogami oraz rąk z korpusem użyłem igiełkowych łożysk wzdłużnych. Po złożeniu robota w całość przyszedł czas na pierwsze testy. Niestety okazało się że nie otrzymaliśmy zadowalających efektów, gdyż szeregowa konstrukcja nóg generowała luzy w 4 miejscach (połączenie kolana z kostką i biodrem) co sumarycznie generowało duży luz i uniemożliwiało wygenerowanie chodu robota w sposób zadowalający. Przeprojektowałem więc nogi wzorując się na strukturze robota IGNIS bazującej na dwóch czworobokach przegubowych w kolanie połączonych odpowiednio z kostką i biodrem. Rozwiązanie to pozwoliło zachować ruchliwość nóg usztywniając jednocześnie konstrukcję. Nie odbyło się jednak bez wad. Zwiększyło się skomplikowanie konstrukcji i jednocześnie waga robota, która i tak była już za duża (końcowa waga to 2535g). Robot napędzany jest serwami modelarskimi TowerPro SG5010 (3 sztuki) orz TowerPro MG995 (16 sztuk) , wybrałem je ze względu na niską cenę i niską wagę. Początkowo napęd opierał się tylko na SG5010 lecz ze względu na niewystarczający moment wymieniłem je. Napędy te pozostawiają wiele do życzenia. Generowany moment jest zbyt niski i serwa pracują przy znacznym obciążeniu , co powodowało w skrajnych przypadkach (przy nagrywaniu ruchów robota), wysoki i długotrwały pobór prądu skutkujący spaleniem się mostków serw. Łącznie poległo ich 3 (..RIP..). 🙁 Połączenia ruchome realizowane są przez tuleje z tworzywa wpuszczane w element aluminiowy (rysunek poniżej). Rozwiązanie to jest lekkie jednak generuje luzy i wymaga stosowania środków zabezpieczających gwint przed rozkręcaniem –Loctite. Powstałe luzy wynikają z faktu stosowania cięcia wodnego na dwóch różnych maszynach, dokładność wykonania elementów na pierwszej maszynie umożliwiała ciasne pasowania tulei, niestety reszta elementów wykonana była w innym zakładzie i błędnie założyłem taką samą dokładność wykonania. Elementy korpusu są wykonane wspomnianą wcześniej metodą cięcia wodnego, z blach aluminiowych o grubości 0.8, 2, 3, i 5 mm. Część elementów została wygięta na wcześniej zrobionej giętarce. Elementy o złożonym kształcie, nieprzenoszące obciążeń (m. in. głowa, część korpusu serwa ) zostały wykonane na uczelni przy pomocy druku 3d (abs), i następnie zostały pomalowane. Elektronika Wszystkim steruje serwokontroler oparty o mikrokontroler AVR, a dokładniej o AT90USB647. Wybrałem go z powodu możliwości realizacji sprzętowego interfejsu USB. Układ posiada 64kB pamięci FLASH, która pomimo niewielkiej pojemności była wystarczająca do nagrania kilkudziesięciu sekwencji ruchów. Taktowany jest rezonatorem kwarcowym 16 MHz, czyli pracuje z maksymalną częstotliwością, mimo to po podłączeniu do komputera poprzez USB widoczne są nieregularne, lekkie drgania poszczególnych serwomechanizmów (mniej więcej co sekundę), co może wskazywać na niedobór mocy obliczeniowej procesora. Sterowanie serwami odbywa się programawo za pomocą 2 timerów. Położenie kątowe opis Sterownik posiada 24 kanały PWM oraz 24 multipleksowane tory pomiarowe wykorzystywane do odczytu bieżących pozycji serw (stąd 4 kable zamiast 3 – widoczne na zdjęciu poniżej). Konieczne jest zastosowanie multipleksowania, ponieważ przetwornik ADC jest 8 kanałowy. Do tego celu wykorzystywane są analogowe muxy/demuxy. Aby zwiększyć dokładność przetwornika ADC pin AVCC podpiąłem do zasilania przez filtr LC oraz zastosowałem zewnętrzne, regulowane układem potencjometr-dzielnik źródło napięcia odniesienia TL432ACD. PCB zaprojektowałem w programie DipTrace, gdyż jego obsługa wydała mi się intuicyjna. Niestety pomysł z ,,uczeniem” robota poprzez próbkowanie napięć ze środkowych wyprowadzeń potencjometrów znajdujących się w serwach z częstotliwością 50 Hz legł w gruzach. O ile sama charakterystyka pozycji kątowej względem napięcia na tym wyprowadzeniu jest liniowa, o tyle rozbieżności pomiędzy poszczególnymi serwami wymaga kompensacji. Na tym etapie uznałem, ze jest to gra nie warta świeczki (nie ze względu na skomplikowanie, bo jest to dość proste, ale na czasochłonność). Poza tym, w tak prostej konstrukcji nie ma to sensu ze względu na jakość napędów. Logika jest zasilana z 5V poprzez stabilizator(zielona dioda sygnalizuje podłączenie), a same serwa z BEC-a przy 6V. Komunikacja z komputerem odbywa się poprzez wyemulowany przez mikrokontroler wirtualny port szeregowy RS-232 przy podłączeniu kablem USB. Robot jest sterowany poprzez bezprzewodowy kontroler z PS2. Do komunikacji wykorzystuję napisany przeze mnie w C# program. Posiada on możliwość sterowania każdym z serw na bieżąco (nie jest to czas rzeczywisty, ale wystarcza) oraz opcje zapisywania, odczytywania i generowania z różnymi prędkościami pozycji i sekwencji ruchów. Podsumowanie W tym miejscu pragniemy podziękować użytkownikowi mog123 za ,,zarażenie'' nas tematyką robotów humanoidalnych oraz za wsparcie merytoryczne. Ostatecznie po modyfikacjach robot prezentuje się tak: Filmik przedstawiający możliwości robota: 15 Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Marzec 17, 2014 Udostępnij Marzec 17, 2014 Robi wrażenie, świetnie się prezentuje! Można wiedzieć ile kosztowała całość? Chętnie zobaczyłbym również jakieś filmik 😉 Cytuj Link do komentarza Share on other sites More sharing options...
gregoryg Marzec 17, 2014 Udostępnij Marzec 17, 2014 Super! Wyglada bajerancko:) Cytuj Link do komentarza Share on other sites More sharing options...
imrahil99 Marzec 17, 2014 Autor tematu Udostępnij Marzec 17, 2014 Można wiedzieć ile kosztowała całość? Ogólny kosztorys przedstawia się następująco : Aluminium: 60 zł Pad: 50 zł Łożyska: 25 zł Części elektroniczne: 100 zł Kable 35 zł Serw:a 1000 zł Cięcie wodne: 500 zł Śrubki i tulejki: 200 zł Druk 3d: 0 zł 😃 (w ramach koła naukowego) Czyli całość mniej niż 2000zł. Faktycznie wydaliśmy więcej, ze względu na pomyłki i przeprojektowanie konstrukcji (parę stówek). Oczywiście nie uwzględniam wyposażenia warsztatowego (zakup frezarki). Chętnie zobaczyłbym również jakieś filmik 😉 Postaram się wrzucić w tym tygodniu jak tylko będę miał chwilę żeby go zmontować. Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Mechano Marzec 17, 2014 Udostępnij Marzec 17, 2014 Jaka jest wysokosc calosci? BTW To wy zalozyliscie strone projecthumanoid? Stracilem nadzieje, sie tam cos dzieje a tu taka niespodzianka 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
imrahil99 Marzec 17, 2014 Autor tematu Udostępnij Marzec 17, 2014 Jaka jest wysokosc calosci? Robot mierzy 385mm wysokości To wy zalozyliscie strone projecthumanoid? Hehe, tak to my. 🙂 Jednak zapomnieliśmy hasła i loginu do konta i nie mogliśmy nic wrzucać 😉 Jednak mamy zamiar założyć workbloga w którym szczegółowo opiszemy etapy wykonywania tego robota, oraz przyszłych konstrukcji 😃 . Cytuj Link do komentarza Share on other sites More sharing options...
mog123 Marzec 18, 2014 Udostępnij Marzec 18, 2014 Robot jest po prostu mega! Gratuluję! Cieszę się że ktoś się zaraził ode mnie tą tematyką 🙂 Niestety trochę spuściłem z tonu i BlackIris poszedł w zapomnienie, ale to nie znaczy że tematykę w ogóle porzuciłem, bo mam coś nowego w zanadrzu 🙂 Aż dodaliście mi ochoty do dalszej pracy Możecie podzielić się tą stroną projecthumanoid? Nie mogę nic na google znaleźć na ten temat, a zobaczyłbym chociaż co tam jest. W robocie oprócz Ignisa, widać trochę inspiracji z standardowego humanoida Futaby i HammerHead'a Zawsze zastanawiałem się jak nazywa się to łożysko, dzięki wielkie 🙂 Super sprawa z tymi mocowaniami łożysk, też chciałem to wykonać, projekt jest - ale nie mam dostępu do druku 3D. Czy napiszecie mi na PW wasze maile? Z chęcią urządziłbym sobie z wami małą dyskusję/pogadanke o humanoidach. Zawsze fajnie wymienić poglądy:) Jeszcze raz gratuluję! Jest o niebo lepszy od mojego pierwszego robota 🙂 edit: tu znalazłem filmik z prezentacji outsidera na robomaticonie. 1 Cytuj Link do komentarza Share on other sites More sharing options...
Ven_64 Marzec 18, 2014 Udostępnij Marzec 18, 2014 ale nie mam dostępu do druku 3D. O ile się dobrze orientuję, to możesz zamówić wydruk przez internet np. na: http://www.3druk.pl/ http://www.drukowanie3d.com.pl/ http://3dfactory.pl/ Cytuj Link do komentarza Share on other sites More sharing options...
Mechano Marzec 18, 2014 Udostępnij Marzec 18, 2014 http://projecthumanoid.blogspot.com Proponuje zalozyc wspolny temat o humanoidach taki jak o mm i chyba lf. Jakiego uzywacie akumulatora i beca? Nie ukrywam ze tez jestem zainteresowany budowa humanoida tylko zawsze cos wypadnie. 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
imrahil99 Marzec 18, 2014 Autor tematu Udostępnij Marzec 18, 2014 Dziękuje za wyrazy uznania 😅 Możecie podzielić się tą stroną projecthumanoid? Nie mogę nic na google znaleźć na ten temat, a zobaczyłbym chociaż co tam jest. Adres jest taki jak podał Mechano. Nie ma tam właściwie nic godnego uwagi, ponieważ byliśmy zajęci pracą nad robotem i przestaliśmy cokolwiek pisać. Jednak udało nam się uruchomić nowego bloga na którym szczegółowo opiszemy proces projektowania i wykonywania robota oraz podzielimy się spostrzeżeniami oraz wnioskami przy budowie robota. Adres bloga to: blog Zaczniemy go uzupełniać już od jutra 😉 Czy napiszecie mi na PW wasze maile? Jasne 🙂 Poszło PW. Chętnie wymienimy się spostrzeżeniami. Jeśli chodzi o druk 3d nie polecam metody FDM (drut ), ponieważ nie jest ona wystarczająca do złożonych (szczególnie małych) elementów. Chodzi mi o dokładność wykonania elementów oraz chropowatość ich powierzchni. My użyliśmy metody SLS (spiekanie proszku laserem), jest ona dużo dokładniejsza (niestety droższa). Jakiego uzywacie akumulatora i beca? Akumulator to: Li-pol Turnigy 2200mAh 2s 40-50C (mamy też słabszy 22-35C - i tak robot nie pobiera takiego prądu). Bec to: Hobbywing UBEC-8A 15A który stabilizuje napięcie na 6V. Cytuj Link do komentarza Share on other sites More sharing options...
trombocyt Marzec 21, 2014 Udostępnij Marzec 21, 2014 Ja mam pytanie o serwa (mg995), jaki mają luz? (w stopniach jeśli łaska 😃) chcialbym ich też użyć bo cena jest niska tylko że obawiam sie że jakosć również. wiem ze elektronika sobie troche nie radzi ale ja bym są pominął w swoim projekcie wiec pozostaje tylko ten luz... Cytuj Link do komentarza Share on other sites More sharing options...
imrahil99 Marzec 21, 2014 Autor tematu Udostępnij Marzec 21, 2014 Ja mam pytanie o serwa (mg995), jaki mają luz? (w stopniach jeśli łaska ) chcialbym ich też użyć bo cena jest niska tylko że obawiam sie że jakosć również. wiem ze elektronika sobie troche nie radzi ale ja bym są pominął w swoim projekcie wiec pozostaje tylko ten luz... Luz na serwie bez obciążenia jest w granicach 5 stopni. Oznacza to że przy zadanej pozycji (np. 90 stopni) orczyk można o tyle stopni poruszyć z łatwością. Jeżeli chodzi o trzymanie pozycji serwa jest całkiem dobrze, natomiast problem pojawia się przy dojeżdżaniu do zadanej pozycji. Serwo potrafi mieć nawet 30 stopni odchylenia (duży pobór prądu). Mowa tu oczywiście o znacznie większym momencie niż 13kg*cm. Poza tym rzeczywisty moment to 9-10kg*cm (6V). Jest jeszcze jeden aspekt o którym warto wspomnieć: Jak łatwo zauważyć na aledrogo serwa te można kupić za ~30zł a w innych sklepach za ~50zł. Skąd ta rozbieżność? Otóż miałem okazję kupić te serwa w 4 różnych sklepach 🙂, i mogę śmiało stwierdzić że serwo serwu nie równe. Zaczynając od jakości wykonania (plastik) przez różnicę w budowie (różne długości wkrętów i średnice ich łbów), skończywszy na najważniejszym: elektronice i mocowaniu wałów zębatek. Najtańsze serwa najszybciej się spaliły. Te trochę lepsze miały natomiast problem z mocowaniem wału. Chodzi o to że zębatki są utwierdzone na wale, ten zaś powinien być mocowany w metalowym gnieździe a dopiero potem w plastikowej obudowie. Element ten został pominięty to skutkowało szybkim wyrobieniem się otworu w plastikowej obudowie i przeskakiwaniu zębatek. Co ciekawe próbowałem przełożyć górną obudowę ze spalonego serwa do tego ze zniszczonym gniazdem wału. Ku mojemu zdziwieniu nie pasowały one do siebie i musiałem trochę podpiłować obudowę serwa. Trochę się nakombinowałem, serwo podziałało 2 tygodnie i znowu coś się popsuło (wyrobiła się dolne gniazdo 2 wału). Najlepiej wypadły te najdroższe bo działają do dziś (na razie). Chciałbym też zaznaczyć że serwa psuły się w różnych miejscach robota co wyklucza miejscowe problemy dużego obciążenia . Poniżej wrzucam zdjęcia dla lepszego zrozumienia problemu. Tu widać wyrobione gniazdo wału w plastiku. Tu natomiast ,,wyrabiające się" zębatki. Cytuj Link do komentarza Share on other sites More sharing options...
Mechano Marzec 29, 2014 Udostępnij Marzec 29, 2014 Jeszcze jedno pytanie. Czy sprawdzanie przez ADC pozycji serwa jest użyteczne? Cytuj Link do komentarza Share on other sites More sharing options...
Braders94 Marzec 30, 2014 Udostępnij Marzec 30, 2014 Ale poco chcesz sprawdzać pozycję serwa? Serwo ustawi ci się w pozycji która zada uc więc pozycję znasz. Cytuj Link do komentarza Share on other sites More sharing options...
Mechano Marzec 30, 2014 Udostępnij Marzec 30, 2014 Nic nie jest idealne więc odchyłki będą. Po za tym może da się tym uczyć robota rozmaitych ruchów trudnych do wpisania ręcznie. Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!