Skocz do zawartości

Logicoma-kun


deshipu

Pomocna odpowiedź

deshipu, mam dwa pytania:

Myślałeś nad więcej niż 3 stopniami swobody na nogę? Ma to sens w jakichś sytuacjach?

Kolejne stopnie swobody to jest ustawianie kąta stopy. Ma to sens wtedy, gdy masz z czujników i kamer informację o tym jaki ten kąt powinien być i wtedy masz stopę, która nie jest przybliżeniem punktu.

W przypadku tego robota, sens miałoby dodanie skręcania tych kółek w osi pionowej. Tylko, że każde serwo to dodatkowa waga, zarówno serwa jak i baterii do niego -- dlatego tutaj koła są przymocowane pod kątem i ich skręcanie osiągam przez pochylanie nogi. System nie jest jeszcze w pełni przetestowany.

Co dalej planujesz? Może by im dodać manipulatory?

W filmie logicomy mają "ręce" z manipulatorami. Ja do mojej wersji dodałem dwie proste rączki na jednym serwie (tak naprawdę na dwóch, ale sterowanych z tego samego sygnału, poruszających się w przeciwnych kierunkach) -- tak, żeby mogły "klaskać". Razem z kinematyką odwrotną ciała powinno się dać podnosić proste przedmioty (na przykład do konkurencji uratuj misia).

Niestety projekt posuwa się dość wolno -- mikrokontroler, który planowałem wykorzystać, okazał się trochę niewypałem, czekałem na poprawienie w jego bibliotekach pewnych rzeczy, po czym okazało się, że i tak się nie nadaje. Teraz mam nowy plan, ale inne projekty na razie mają pierwszeństwo. To jest jeden z tych powolnych projektów, które długo stoją na półce, ale wracam do nich co jakiś czas.

Link do komentarza
Share on other sites

Generalnie z zawodu jestem programistą Pythona, więc C, a już szczególnie C++, są dla mnie trochę bolesne. Dlatego zaangażowałem się dość mocno w Micropythona. W tym robocie planowałem wykorzystać jedną z płytek WiPy, którą kupiłem z Kickstartera -- Micropython plus komunikacja WiFi wydawały się dobrą kombinacją. Niestety biblioteki do timerów i PWM były w WiPy przez kilka miesięcy nieużywalne -- a nie chciało mi się pisać własnej biblioteki do obsługi serw. Kiedy zostały wreszcie naprawione, okazało się, że mogę użyć tylko cztery timery. Oczywiście mógłbym PWM bit-bangować, ale zniechęciłem się, tym bardziej, że do WiPy kod trzeba wgrywać przez FTP, a nie tak jak przy innych płytkach z Micropythonem, jako normalny dysk USB.

Obecny plan zakłada wykorzystanie Arduino Pro Mini jako sterownika serw i jakiejś płytki z Micropythonem (może jednak to WiPy, może PyBoard, a może ESP8266, a może Espruino Nano) jako głównego mózgu. Miejsca w środku w zasadzie mam dużo, czujniki i kontroler serw gadają po I²C, więc potrzebuję tylko dwie nóżki... Zobaczymy co wyjdzie.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

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

Jeśli użyjesz Pro Mini 3.3V, to możesz zasilać bezpośrednio z LiPo (na nóżkę RAW). Dla serw SG90 to napięcie jest poniżej podanego w specyfikacji (4.6V, IIRC), ale eksperymentalnie sprawdziłem, że działają -- są tylko słabsze.

Możesz mieć problem z ewentualnymi czujnikami -- najpopularniejsze (i najtańsze) czujniki odległości SHARP i ultradźwiękowe wymagają 5V.

Link do komentarza
Share on other sites

Bardzo ciekawy robot. A wykorzystałeś już w praktyce ten czujnik odległości (tzn czy robot omija przeszkody)? Czy chcesz dodać do robota jakieś zdalne sterowanie, żeby wykorzystać chwytak? Nie myślałeś, żeby oprócz precyzyjnego chodzenia prosto mieć także precyzyjne skręty przez dodanie kompasu lub żyroskopu (bo koła chyba enkoderów nie mają)?

Link do komentarza
Share on other sites

Ten konkretny robot ma głównie wyglądać -- będzie mieć zdalne sterowanie i pre-programowane zachowania. Czujnik odległości w końcu wyrzuciłem, być może zrobię go jeszcze raz, ale porządniej (mniej hot glue). Generalnie ten robot ma głównie wyglądać fajnie i robić wrażenie.

Natomiast wykorzystywałem już takie czujniki w innym robocie kroczącym i całkiem dobrze to działa -- dzięki kinematyce odwrotnej ciała mam dość duże możliwości obracania "głowy" robota i da się zrobić nie tylko omijanie przeszkód, ale także podążanie za celem.

Co do skręcania, to przy dwóch stopniach swobody na nogę i tak jest to problematyczne -- prawdopodobnie skręcanie najlepiej będzie działać w trybie jezdnym. Być może uda mi się zrobić jakiś tryb hybrydowy -- poruszanie się naprzód przez kroczenie, ale kółka wykorzystane jednocześnie do skręcania. Jest tu dużo możliwości eksperymentowania, ale niestety robot nie jest jeszcze na tym etapie wykończenia.

Link do komentarza
Share on other sites

Odkopałem trochę ten projekt i zacząłem pracę nad mózgiem. Pierwotnie planowałem użyć WiPy i dość długo czekałem w zeszłym roku na płytkę z Kickstartera, a potem jeszcze kilka miesięcy na naprawienie obsługi timerów i PWM-a... W końcu w okolicach lutego okazało się, że timery są naprawione, ale PWM mogę mieć tylko na 4 nóżkach... Do tego programowanie WiPy przez FTP okazało się niezbyt wygodnym rozwiązaniem, brak też obsługi liczb zmiennoprzecinkowych i funkcji trygonometrycznych. Zatem projekt znowu trafił na półkę w oczekiwaniu lepszych czasów.

Teraz, kiedy wydany został Micropython dla ESP8266, postanowiłem do projektu wrócić. Plan jest taki, żeby użyć Arduino Pro Mini jako kontroler serw, a jako mózg połączony z nim przez I²C moduł ESP8266 z Micropythonem. Jako podstawę użyłem jednej z moich uniwersalnych płytek:

Wlutowałem w nią Pro Mini, a zaraz obok, używając krótkich drutów, moduł ESP-03 (niestety jego rozstaw nóżek to 2mm, a nie standardowe 2.5mm). Pod spodem modułu są dwa oporniki 10kΩ łączące nóżkę EN z VCC i GPIO15 z GND, żeby moduł bootował się do odpowiedniego trybu. Pozostałe nóżki są wyprowadzone na płytkę. Wszystkie połączenia wykonane są kablami Dupont.

Płytka jest nieco większa od poprzedniej (równe 5x5cm), więc trochę ciężko było ją wcisnąć w to samo miejsce -- nie obyło się bez spiłowania narożników płytki i serwa od oka. Cóż, ten projekt nie ma być łatwo powtarzalny, więc mogę sobie na takie modyfikacje pozwolić.

Zasilanie wymieniłem na baterię 1S (zamiast 2S i stabilizatora, jak poprzednio). Być może jeszcze będę to zmieniał.

Oba moduły są zaprogramowane i działają -- mogę poruszać poszczególnymi serwami poprzez konsolę dostępną przez stronę WWW.

Link do komentarza
Share on other sites

Tym razem popracowałem trochę nad wyglądem. Logikomy w filmie mają całą masę szczegółów -- śrub, uchwytów, wypustek i rowków -- na swojej wieżyczce. Moja jest gładka, bo to po prostu pół bombki z akrylu. Postanowiłem spróbować dodać do niej obramowanie "oka".

Odrysowałem otwór w bombce (bo był dopasowywany ręcznie do oka, więc nie znam wymiarów) i dorysowałem detale:

Szybkie wycięcie dremelem, następnie wrzuciłem do metalowej bombki po pierniczkach toruńskich i wstawiłem do piekarnika, żeby zmiękło i nabrało kształtu:

Gorące dopasowałem jeszcze trochę palcami i kiedy ostygło, wywierciłem otwory w pierścieniu i w bombce:

Na koniec przykręciłem plastikowymi śrubami:

Link do komentarza
Share on other sites

Przyszły pręciki akrylowe, więc zrobiłem uchwyty na obudowie i porządne ręce. Oczywiście wszystko gięte przy użyciu zapalniczki i przyklejone klejem błyskawicznym.

Robocik pomału zaczyna wyglądać tak, jak powinien:

Niestety nadal go nie oprogramowałem -- nie mam weny.

  • Lubię! 1
Link do komentarza
Share on other sites

Robocik fajny gratulacje. Mam nadzieję, że mi również cierpliwości nie zabraknie 🙂

Osobiście zakupiłem WiPy 2.0 i czekam aż przyjdzie. Ma już obsługę operacji zmiennoprzecinkowych i mam nadzieję brak problemów z PWM.

Zapewne jakbym wcześniej zobaczył Twój post to bym nie zaryzykował.

Ale okaże się w praktyce - dam znać czy jest ok i czy jest warty polecenia.

Specyfikacja wygląda bardzo ciekawie 🙂

Link do komentarza
Share on other sites

No więc przyszedł nowy rok, odpocząłem trochę przez święta i zdecydowałem się ponownie wydobyć ten projekt z szuflady. Dość długo przeleżał czekając na swoją korzyść, bo nie chciało mi się go zaprogramować — niestety rozwiązanie, które wymyśliłem wymagało podłączania się przez USB2TTL i dość sporo zachodu, więc jakoś nigdy mi się nie chciało... Zatem w ramach przywracania sobie ochoty do pracy nad projektem, postanowiłem ponownie wymienić elektronikę.

Od jakiegoś czasu sprzedaję na Tindie shieldy do sterowania 16 serwami, więc pomyślałem, że chyba czas żebym skorzystał sam z własnego wynalazku i takiego właśnie shielda (ale we wcześniejszej wersji, bo wszystkie nowe już są wyprzedane) zastosował. Do tego klon D1 Mini, żeby całość się dało prosto programować przez USB:

IMG_20181231_233509.thumb.jpg.94ea2b40b1209d7e73925815f30c0f39.jpg

Trochę jest na styk z wtyczkami od serw, ale się mieści i zostało nawet miejsce na baterię (ale nie wiem, czy nie włożyć jej pod spód albo do tylnego pojemnika, żeby był łatwiejszy dostęp).

Na razie tyle, zobaczymy na jak długo tym razem starczy mi zapału.

  • Lubię! 2
Link do komentarza
Share on other sites

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!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.