Jakie jest dobre podejście do Quadruped Gait?

12

Mam mały poczwórny z trzema stopniami swobody, nad którym pracowałem: 3DOF Mini Quadruped .

Mój oryginalny kod to prosty kontroler serwomechanizmu na arduino i kod Scala, który wysyłałby serwomechanizmy za pośrednictwem drutu. Zrobiłem całą odwrotną kinematykę i logikę chodu w Scali i zmusiłem go do chodzenia: 3dof poczwórnie pierwszy chód .

Moja logika chodu w Scali była nieco naiwna; zależało to od tego, czy nogi były na początku we właściwej pozycji (jedna strona była wyciągnięta do przodu i do tyłu, druga strona do siebie). Logika została po prostu przesunięta o wszystkie cztery stopy do tyłu o 1 mm wzdłuż y, i ilekroć kąt Coxa stał się nadmiernie do tyłu, zatrzymaj się i wykonaj małą rutynę, w której stopa jest podnoszona o 10 mm w z, a następnie przesunięta o 60 mm do przodu wzdłuż y, i opuść się z powrotem. Naiwny, ale skuteczny.

Teraz przepisałem mój kod IK w Arduino C i próbuję zdecydować, jak przejść do przodu z dynamiką Gait. Trudno mi było znaleźć dobre, łatwe do zrozumienia zasoby na temat chodu. Mam pewną wiedzę na temat różnicy między dynamicznie stabilnymi chodami (jak chody pełzające), w których ciało jest przez cały czas stabilnym statywem, a dynamicznie niestabilnymi chodami (chodzenie, kłusowanie), w których dwie nogi są jednocześnie na ziemi, a ciałem zasadniczo spada do przodu w kierunku nogi.

Zastanawiałem się nad automatami stanowymi i próbowałem obliczyć, czy środek ciała mieści się w trójkącie utworzonym przez pozostałe stopy, aby zdecydować, którą stopę można bezpiecznie podnieść, ale nie jestem pewien, czy są to pomysły warte zbadania.

Wiem, że jest to pytanie zbyt ogólne, ale interesuje mnie, jak inni zaatakowali ten problem, i wszystko, co udało mi się znaleźć, to artykuły z badań.

Ian McMahon
źródło
Jestem pod wrażeniem pracy, którą wykonałeś na robotach. Bardzo potrzebuję twojej pomocy w poszukiwaniu cennych rozwiązań. Szukałem rozwiązań przez ostatnie 6 miesięcy, aby rozwiązać kinematykę sześciokąta bez pozytywnych wyników. Udało mi się znaleźć równania dla wszystkich kątów serwa z ciałem równoległym do podłogi, ale nie mogłem tego zrobić z ciało przechylone na bok. Doceń, jeśli będziesz w stanie pomóc :-) Pozdrawiam Gary
Witamy R.Se @ user2350 - proszę nie zadawać pytania uzupełniające (bez względu na związane) jako odpowiedzi
Andrew

Odpowiedzi:

5

Chód, który masz, nie jest wcale taki zły, chociaż stopy nie mają wystarczającej przyczepności, więc trudno jest zobaczyć, jak naprawdę jest dobry.

Nie jestem pewien co do terminologii dynamicznie stabilnych chodów. Jak zawsze to rozumiałem, chód w stylu dwóch statywów jest znany jako chód stabilny statycznie, podczas gdy dobry dwunożny chód jak Petman używa dynamicznie stabilnego chodu. Nigdy nie słyszałem o dynamicznie niestabilnym chodzie. To brzmi bardziej jak pijaństwo.

Dwie nogi na ziemi są prawdopodobnie dolną granicą tego projektu robota. Zasadniczo łatwiej jest pracować z wysokimi, humanoidalnymi robotami, których przewrócenie zajmuje dużo czasu. Szerokie płaskie roboty muszą dość szybko podnieść i postawić stopy, jeśli nie zostawiają wielu na podłodze.

Ale jak stworzyć gair dla swojego robota. Po pierwsze, powinieneś zdecydować, co chcesz osiągnąć z chodu. Szukasz maksymalnej prędkości na płaskiej powierzchni lub maksymalnej stabilności na nierównych powierzchniach?

Jeśli Twoim celem jest stabilność, to z pewnością uważam, że warto mieć świadomość robota w stosunku do jego stóp. Aby to wiedzieć, warto nawet dodać czujniki siły do ​​jego stóp, aby mógł to łatwo obliczyć.

Jeśli twoim celem jest tylko maksymalna prędkość, po prostu skoncentruję się na sfinansowaniu optymalnego wzorca chodu. To trudniejsze do zrobienia. Istnieją dwa dobre sposoby podejścia do tego:

  1. Modelowanie. Utwórz kompleksowy model komputerowy robota, w tym masę, sztywność, moment obrotowy itp. Użyj tego modelu, aby w pełni zrozumieć zachowanie dynamiczne.

  2. Próba i błąd. Możesz to zrobić na własnej skórze, programując losowo, dostosowując je do przeczucia i mierząc ich wydajność. Spróbuj sprawić, by szedł zarówno do przodu, jak i po przekątnej. Możesz też użyć algorytmu genetycznego, aby pomóc Ci automatycznie wyszukiwać lepsze chody. Trudność korzystania z GA polega na tym, że musisz mieć jakiś sposób na automatyczny pomiar wydajności chodu.

Trzecim sposobem jest uczynienie robota naukowcem, który przeprowadza na sobie świadome eksperymenty, aby zweryfikować hipotezy na swój temat i opracować sposób chodzenia, jak robot rozgwiazda z Uniwersytetu Cornell .

Rocketmagnet
źródło