Jak zdecydować o wielkości kroków czasowych między wykryciem a uruchomieniem sterowania?

9

Moje tło:

Moje doświadczenie dotyczy mechaniki stałej i MES. Więc nie mam doświadczenia w robotyce / sterowaniu.

opis problemu

Opracowuję strategię kontroli w celu ustabilizowania skomplikowanego 6-nogowego układu dynamicznego. Momenty obrotowe Ti ze stawów każdej nogi zostaną wykorzystane do utworzenia momentu netto M na ciele, stabilizując system. Ten moment M jest znany ze z góry ustalonej strategii kontroli. (Uwaga dodatkowa: solver dynamiczny jest nieliniowym typem obliczeniowym)

Ze względu na mój brak tła mam podstawowe zamieszanie z systemem dynamicznym. Chcę użyć wspólnych momentów obrotowych Ti, aby stworzyć ten znany moment netto M na ciele. Ten moment M jest funkcją

  1. aktualne pozycje / kąty wszystkich segmentów nóg
  2. siły reakcji i momenty (których nie można kontrolować) każdej nogi
  3. kontrolowane momenty przegubowe Ti każdej nogi
  4. czas

() W danym momencie t:(n-1)Δ

- Ze strategii kontroli obliczany / znany jest pożądany moment netto M.

- Można odczytać / wyczuć pozycje nóg, kąty, siły reakcji i momenty reakcji (powiedzmy, z dobrze umieszczonych czujników), w tym czasie t. t=(n-1)Δ

- Na podstawie tej informacji algebra wektorowa łatwo daje pożądane momenty połączenia Ti wymagane do utworzenia momentu netto M.

() W momencie t:(n)Δ

- jeden stosuje wcześniej określone momenty połączenia Ti (określone przy t), aby utworzyć pożądany moment Mt=(n-1)Δ

- oczywiście te momenty Ti są przyłożone na natychmiastowym etapie czasowym, ponieważ nie można ich zastosować natychmiast

Właśnie tutaj istnieje moje podstawowe zamieszanie. Momenty Ti zostały obliczone , w oparciu o dane o kątach / w pozycji / reakcji , przy czym celem jest stworzenie Moment M . Jednak te momenty Ti są stosowane w , gdzie dane (kąty / pozycje / reakcje) są teraz różne - dlatego pożądany moment netto M nie może być nigdy utworzony (chyba że magicznie zastosujesz uruchomienie w chwilowym momencie wykrywania ). Czy rozumiem poprawnie problem sterowania? ()()()

pytania

  1. Czy dobrze rozumiem problem robotyki? Jakie są warunki i strategie dotyczące tego dylematu?
  2. Oczywiście mógłbym stworzyć przedziały czasowe między wykrywaniem a aktywacją, aby były nieskończenie małe, ale byłoby to nierealne / nieuczciwe. Jaka jest równowaga między realistycznym krokiem czasowym, ale jednocześnie dobrze wykonuje zadanie?
Chłopak
źródło

Odpowiedzi:

4

Jeśli chodzi o punkt 1, tak, poprawnie rozumiesz problem.

Jeśli chodzi o punkty 1 i 2, uważam, że szukasz teorii Nyquista-Shannona . Teoria ta mówi, że częstotliwość próbkowania powinna być większa niż dwukrotność „najwyższej częstotliwości zainteresowania”. Ma to na celu uniknięcie aliasingu, w którym można nieprawidłowo zmierzyć sygnał wysokiej częstotliwości jako niską częstotliwość.

Z Wikipedii na temat Aliasingu

Powyższe zdjęcie pochodzi z Wikipedii. Masz robota ze wszystkimi stawami i kończynami i tym podobne - jak szybko te kończyny mogą się poruszać? Twoje chwile i momenty spowodują przyspieszenie w stawach; jaka jest najwyższa prędkość obrotowa w złączu? Albo, inaczej mówiąc, jakiego szczytu można się spodziewać i jak długo będzie on stosowany? Na tej podstawie możesz również obliczyć prędkość.

Chcesz próbkować stawy wystarczająco szybko, aby uchwycić pełną dynamikę systemu. To jest próg próbkowania (minimum!) Ustawiłbym dla mojego własnego projektu robotyki do wykrywania . Dla kontroli , większość , renomowanych , źródła , powiedzieć 5-10 razy częstotliwość zainteresowania.

Twoje maksymalne przyspieszenia, od szczytowych momentów i momentów, będą ograniczone przez masę (moment bezwładności) twoich kończyn. Kończyny, które ograniczają twoje przyspieszenia, będą również działać jak filtr dolnoprzepustowy, aby utrzymać układ względnie stały między próbkami, tak że fakt, że nie masz jednej próbki, nie powinien mieć większego znaczenia.

Mam nadzieję że to pomoże!

Chuck
źródło