Jak zdobyć dwa ciągłe tory (stopnie czołgów), aby poruszać się z tą samą prędkością?

12

Mam kilka silników Vex 269 podłączonych do Arduino Duemilanove . Silniki te napędzają niektóre bieżniki Vex Tank . Oba silniki są uruchamiane jako serwomechanizmy w Arduino za pomocą biblioteki serwo. Problemem jest to, że dwa tory nie obracają się z tą samą prędkością, gdy są wysyłane pod tym samym kątem serwomechanizmu. Wynika to wyraźnie z faktu, że ciągłe ścieżki mają tak wiele ruchomych części, że trudno jest uzyskać identyczne siły tarcia na każdej ścieżce.

Jak sprawić, by poruszały się z tą samą prędkością? Czy powinny poruszać się z tą samą prędkością przy tym samym kącie serwa niezależnie od tarcia, a silniki Vex 269 po prostu nie są wystarczająco mocne (co oznacza, że ​​powinienem użyć Vex 369 lub innego mocniejszego silnika)? Czy najlepiej jest po prostu robić wystarczająco dużo prób i błędów, aby dowiedzieć się, który kąt serwa skutkuje równymi prędkościami na każdym z nich? Czy powinienem majstrować przy torach, aż będą miały prawie identyczne tarcie? Dziękuję bardzo!

golmschenk
źródło

Odpowiedzi:

12

Krótka odpowiedź brzmi: potrzebujesz do tego lepszej kontroli (informacji zwrotnej). Praktycznie nigdy nie będziesz w stanie skalibrować systemu wystarczająco dokładnie, aby przejść prosto na więcej niż kilkadziesiąt długości ciała robota. Po wybraniu go idealnie dla jednego zestawu warunków środowisko lub warunki zużycia zmienią się i będziesz musiał ponownie go wyregulować.

Warunki powierzchniowe, przyczepność, położenie, izolacja silnika (dystrybucja energii elektrycznej do każdego silnika ze wspólnego źródła zasilania) oraz wiele innych czynników operacyjnych w czasie rzeczywistym wpływa na prędkość przewodzenia dla każdej strony bota.

W zależności od wymagań dotyczących precyzji, coś tak prostego jak kompas magnetyczny (pozycja robota jak najdalej do przodu, aby zmaksymalizować jego reakcję) może pomóc utrzymać kurs podczas ruchu do przodu.

Często nie ma decydującego znaczenia, w jakim kierunku zmierza twój bot; raczej musi po prostu robić postępy w jakimś zadaniu (podążaj za liderem, szukaj celu itp.).

Jeśli opublikujesz więcej szczegółów na temat robota i jego celów projektowych, mógłbym ci pomóc.

Uwaga na temat umieszczenia czujnika magnetycznego

Ale dlaczego miałbym „ustawiać [przetwornik magnetyczny] tak daleko, jak to możliwe”? Czy to nie prawda, że ​​kąt jest taki sam? Tak. To prawda, ale wielkość pola magnetycznego Ziemi nie jest. Stoisz w innym miejscu na Ziemi .

Wyobraź sobie, że twój robot jest tak duży jak samochód. Jeśli siedzisz w geometrycznym środku samochodu, a samochód obraca się wokół ciebie, twoje współrzędne na Ziemi się nie zmieniły; ma tylko twoje nastawienie. Teraz, gdy siedzisz na masce samochodu, a samochód powtarza swój poprzedni ruch, zarówno twoje nastawienie , jak i współrzędne uległy zmianie. Zmiana współrzędnych powoduje większą różnicę wielkości pola Ziemi niż sama rotacja.

W ciągu ostatnich kilku lat pracowałem w zespole z dr. Dwightem Veihlandem z Virginia Tech, prawdopodobnie największym na świecie ekspertem w dziedzinie czujników magnetycznych o bardzo wysokiej czułości. Gdybym miał skrystalizować ciało jego dzieła ( jak w tym przykładzie ), powiedziałbym, że zawsze dąży on do uzyskania większego stosunku sygnału do szumu w wykrywaniu coraz mniejszych wielkości.

Każdy wzrost różnicy wielkości, który możesz wygenerować, ułatwia życie Twojemu czujnikowi ... w tym przypadku dostajesz go za darmo. Z tego samego powodu wiele robotów DARPA do wykonywania wielkich wyzwań umieściło czujnik GPS do przodu.

DrFriedParts
źródło
1
Aby rozwinąć doskonałą reakcję DrFriedParts, zajrzyj do „Kontroli PID”, aby dowiedzieć się więcej o powszechnie stosowanym typie kontroli sprzężenia zwrotnego. Pytanie dla DrFriedParts: w jaki sposób ustawienie kompasu tak daleko, jak to możliwe, maksymalizuje czas reakcji? Niezależnie od tego kąt będzie taki sam, chociaż widzę, jak można go oderwać od metalowych części i silników, aby były pomocne.
ViennaMike,
@ViennaMike - Dziękujemy! =) Rozszerzyłem swoją odpowiedź, aby ująć bardziej szczegółowo twoje pytanie, niż mógłbym zmieścić w komentarzu.
DrFriedParts,
Czy ktoś wie o opublikowanym artykule z eksperymentami wykazującymi, że lokalizacja czujnika magnetycznego na robocie poprawia dokładność orientacji z powodu położenia w polu magnetycznym Ziemi? Brzmi to realistycznie, ale nie jestem przekonany, czy efekt byłby zauważalny. Podejrzewam, że odsunięcie czujnika od innych elementów elektronicznych robota miałoby większy efekt. Byłbym zainteresowany, aby zobaczyć wyniki wszelkich eksperymentów na tym!
golmschenk
@ViennaMike - nie można tutaj zastosować sterowania PID silników do rozwiązania problemu. Nie masz żadnego sprzężenia zwrotnego położenia / prędkości / prądu, więc nie ma nic do wprowadzenia do pętli sterowania PID. PID zapewnia sposób płynnego zbliżenia się do wartości docelowej, ale nie masz wartości docelowej bez dodatkowego sprzężenia zwrotnego na temat położenia robota / różnicowej prędkości obrotowej dwóch torów (np. Potrzebujesz więcej informacji niż robot / scenariusz PO zapewniać).
DrFriedParts
@golmschenk - Spójrz na pierwsze wielkie wyzwanie DARPA i dokumenty opublikowane przez różne zespoły uniwersyteckie na temat umieszczenia anteny GPS w pojazdach (ta sama koncepcja) ... lub spójrz na ważne dokumenty Veihland. Efekt jest wyraźnie zauważalny przy prędkościach samochodu lub dzięki miniaturowym czujnikom magnetycznym. Jest zauważalny w prawie każdej praktycznej skali robota z GPS.
DrFriedParts