Skocz do zawartości

Headcrab


Pomocna odpowiedź

przesyłanie obrazu po wifi może być troszkę powolne, jakby się zredukowało klatki i rozdzielczość to może ALE
wtedy czyni to robota uzależnionym od stacji głównej, więc w terenie sobie już nie poradzi 😕
fajnie by było zrobić własnego shielda do maliny z własnym stmem i czujkami, ale to jak już obie platformy poznam dobrze. na razie chcę zrobić tak żeby sztywno chodził po płaskim, a potem się bawić w resztę.

Link do komentarza
Share on other sites

Można zrobić tak, że jeśli nie ma połączenia ze stacją używa własnej logiki... Robiłem na razie proste eksperymenty - opencv i wykrywanie twarzy, przesłanie zdjęcia do stacji i tam obróbka jest co najmniej trzy razy szybsze niż lokalnie na zero, a tu jeszcze dochodzi narzut na pythona, requests (który w pythonie3 jest nieco ułomny jeśli trzeba przesłać postem coś więcej niż prostą formatkę) i oczywiście http. Tu już muszę przerobić to na C po obu stronach i jakiś własnościowy protokół... Do moich celów od biedy wystarczy 1 fps, dwa to już byłby luksus.

Link do komentarza
Share on other sites

No, ja mam o tyle prościej że mój jeździ 🙂 Niestety będę chyba musiał przerobić całą głowę, bo pomysł z oczami które się zamykają ale nie chodzą na boki wydał mi się na początku fajny... niestety, ruch oczu lalki okazał się niezbędny 😞

Na razie muszę zrobić generalny przegląd drukarki, i chyba zmienić płytę... kolejne zaskórniaki z wypłaty się rozejdą:(

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

(edytowany)

no i zabawe trzeba przerwać bo akumulator rozładowałem tak troche do 5v heh.gif.5f3be1ae79c51388e2e338e16fde7a16.gif

Co do mechaniki i koordynacji, chyba postawię na kartezjański układ współrzędnych, jako że on jest dla mnie najbardziej naturalny, i te najpierwsiejsze kroki będą pisane właśnie przeze mnie. Problem się pojawia z tym że w ogóle nie miałem jeszcze funkcji trygonometrycznych (na matematyce; w przedmiotach zawodowych było tylko tyle co trzeba) i nie wiem jak z 3 boków trójkąta (który tworzy noga i odcinek między nóżką a stawem przy ciele) wyliczyć kąty. Sprawa byłaby prostsza gdyby był kąt prosty, którego staram się doszukać... 

Na razie będę implementował kroczenie w stylu "skradanie się", to jest noga po nodze (czyli robot jest pasywnie stabilny). Jak to się uda, spróbuję zrealizować kroczenie dynamiczne, czyli bieg - dwie nogi na raz, ale robot jest wtedy stabilny aktywnie, czyli nie może przerwać kroku, a jak mu się nie uda to się przewróci. 

Myślę także czy warto podpiąć się bezpośrednio do serw przez przetwornik ADC, i mieć jeszcze odczyty z "enkoderów". Nie wiem tylko jakby je wykorzystać, może poza autokalibracją.

Jakieś opinie, pomysły?

edit: odkryłem twierdzenie cosinusów więc jakoś idzie

Edytowano przez Leoneq
Link do komentarza
Share on other sites

2 godziny temu, Leoneq napisał:

nie wiem jak z 3 boków trójkąta (który tworzy noga i odcinek między nóżką a stawem przy ciele) wyliczyć kąty. Sprawa byłaby prostsza gdyby był kąt prosty, którego staram się doszukać... 

The-Cambridge-Handbook-of-Physics-Formulas.pdf😉 

Rozdział 2 (str. 36, plane triangles), większość niezbędnych rzeczy tam jest 😉 

A co do funkcji trygonometrycznych to liczysz dla trójkąta prostokątnego - wysokość dzieli ci trójkąt na dwa prostokątne.

Edytowano przez H1M4W4R1
Link do komentarza
Share on other sites

(edytowany)

Dziękuję ci dobry człowieku za tego pdfa, przyda się bardzo.

Cytat

 wysokość dzieli ci trójkąt na dwa prostokątne.

Zauważyłem to, tylko nie za bardzo wiem co z tym zrobić. Jak na razie spróbowałem zrobić tak, że punkt 0,0,0 jest w geometrycznym środku robota. Znam współrzędne punktu obrotu pierwszego serwa, od tego liczę sobie pitagorasa do punktu zadanego (tylko x i y). Z wyliczonej przeciwprostokątnej robię cos do podstawy i powinienem mieć kąt pierwszego serwa. Co do dwóch pozostałych: z obliczonej przeciwprostokątnej robię kolejnego pitagorasa, tym razem biorąc punkt w płaszczyźnie y i z jak dobrze liczę. Z obliczonej przeciwprostokątnej robię sobie trójkąt wykorzystując "kości" nogi, i z twierdzenia o cosinusach liczę pozostałe kąty. Jak na razie teoria to potwierdziła, czas sprawdzić część praktyczną. (metoda ta jest obarczona wadą, że staw pierwszych dwóch serw ma różne miejsca zaczepu, ale na razie to pominę).

Poza tym, robot już zrobił pierwszy krok, tylko kolejne serwa padły... i to tak śmiesznie, że jedno w ogóle umarło, a drugie kręci się tylko w jedną stronę. Mówi się trudno, co drogie to tanie i inwestuję (a przynajmniej taki jest plan) w serwa metalowe.

jak to moja babcia mówi: co drogie, to tanie.

Edytowano przez Leoneq
Link do komentarza
Share on other sites

5 minut temu, Leoneq napisał:

Zauważyłem to, tylko nie za bardzo wiem co z tym zrobić. Jak na razie spróbowałem zrobić tak, że punkt 0,0,0 jest w geometrycznym środku robota. Znam współrzędne punktu obrotu pierwszego serwa, od tego liczę sobie pitagorasa do punktu zadanego (tylko x i y). Z wyliczonej przeciwprostokątnej robię cos do podstawy i powinienem mieć kąt pierwszego serwa. Co do dwóch pozostałych: z obliczonej przeciwprostokątnej robię kolejnego pitagorasa, tym razem biorąc punkt w płaszczyźnie y i z jak dobrze liczę. Z obliczonej przeciwprostokątnej robię sobie trójkąt wykorzystując "kości" nogi, i z twierdzenia o cosinusach liczę pozostałe kąty. Jak na razie teoria to potwierdziła, czas sprawdzić część praktyczną. (metoda ta jest obarczona wadą, że staw pierwszych dwóch serw ma różne miejsca zaczepu, ale na razie to pominę).

Osobiście skorzystałbym z czegoś takiego (mogłem walnąć się w obliczeniach):

1336769337_Beztytuu.thumb.png.91633c762783dcd93a5a8e1fe1f35137.png

Wtedy znając długość ramienia mogę obliczyć odległość stopy od pierwszego serwa i jej kąt, który jest równoznaczny kątowi pierwszego serwa.

Link do komentarza
Share on other sites

(edytowany)

Dzięki za pomoc, jak mój pomysł nie wypali to wtedy będziemy kombinować z kołami. Bo o kołach i trójkątach mieliśmy tylko tyle, ile że pani w inventorze nam tłumaczyła różnice między wielokątem wpisanym w okrąg a okrąg wpisany w wielokąt, czy jakoś tak. No i chyba przemodeluję korpus żeby były dwa deczka odkręcane, bo za nic mi sie nie chce odkręcać wszystkich nóg i elektroniki by się dostać do środka. Dam znać później jak idzie.

edit; a i problem sobie jeszcze taki zrobiłem że udo nie jest tak długie jak piszczel, a tylne uda/ramiona są krótsze niż tylne : ] 
 

Edytowano przez Leoneq
Link do komentarza
Share on other sites

niestety ale matematyka mnie pokonała. Moje rozumowanie dot. twierdzenia cosinusów okazały się błędne, i nie mogę doszukać się błedu. Dlatego zacząłem szukać gotowców... i znalazłem bardzo treściwy artykuł o teorii od pana Abdula: https://www.researchgate.net/publication/317277584_ROBOT_ARM_CONTROL_WITH_ARDUINO

jak teraz fajnie że nie dość że nie miałem trygonometrii to teraz jeszcze macierze i geometria wykreślna - także zaraz przyjdzie szkoła, ja będę powoli się uczył tego wszystkiego, więc do zobaczenia za dwa lata

Link do komentarza
Share on other sites

Ogólnie to projekt dalej kontynuuję, choć na chwile przeniosłem się z modelem jednej nogi i na niej robie eksperymenty. Uczę się teorii matematyki w tym celu, a to trochę zajmuję. (coś podobnego co deshipu wysłał)

Myślę jednak, o zrobieniu tego już teraz trochę lepiej, czyli napędy i pcb w końcu zrobić jakieś. No i teraz "zonk" jak to niektórzy mówią, bo sie na napędach aż tak dobrze nie znam. Serwa są fajne, ale czy np. wymiana ich na silniki bldc byłoby opłacalne? A mam takich dużo z dysków twardych, odpowiednia przekładnia i by coś było. Ogólnie to wtedy silnik z enkoderem bym podłączył ręcznie do swojego mostka H, i piduję wtedy i steruję jak mi sie chce a nie jakieś pwm - choć koncept ten jest do przemyślenia. 

Link do komentarza
Share on other sites

a) bldc odpadają 
b) serwa zostają
c) ale wywalam z nich elektronike i daje swoje własne mostki h
jedyny problem to zapotrzebowanie na 48 pinów, trochę mało eleganckie rozwiązanie.

image.thumb.png.d6c08fd9165e834e0dc5f244255d09d3.png

Link do komentarza
Share on other sites

@Leoneq ja bym zrobił to tak że byłby jeden główny "mózg" i 2 identyczne moduły sterujące serwami (też zrobione na stm32). Wydaje mi się że będzie łatwiej zaprojektować tak PCB niż jedną ogromną i będzie to bardziej elastyczne.

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.