Arduino self balancing robot B-ROBOT EVO 2 - Princip stabilizace robota

Seznam článků

  • vlevo na obrázku: stabilní poloha
  • uprostřed na obrázku: naklonění se do strany (chyba)
  • vpravo na obrázku: vyrovnávání naklonění pomocí motorů (vyvážení chyby)

funkce

Trochu více do hloubky problematiky...

Problém který B-ROBOT musí řešit se nazývá opačné kyvadlo "Inverted Pendulum". Jedná se o stejný mechanismus jako je potřeba vyvážit deštník nad hlavou pomocí vaší ruky. Otočný bod je pod těžištěm objektu. Více informací o Inverted Pendulum zde. Matematické řešení tohoto problému není snadné. To co potřebujeme vědět je jak to udělat, aby se obnovila rovnováha robota (takže můžeme realizovat řídicí algoritmus pro vyřešení problému).

Řídicí systémy robota jsou velmi podobné principům používaným v průmyslové automatizaci. U robota používáme PID regulátor (P = proporcionální, I = integrační, D = derivační). PID má 3 konstanty pro nastavení KP, KD a KI. PID regulátor patří mezi spojité regulátory, složený z proporcionální, integrační a derivační části. V systémech řízení se řadí před řízenou soustavu. Do regulátoru vstupuje regulační odchylka a vystupuje akční veličina.

Tedy zadáme do PID regulátoru tyto parametry:

Vstup z čidel, Požadovaná hodnota a proměnné, kterými chceme nastavit odezvu systém. PID potom upravuje výstup tak, aby se vstupní hodnoty rovnaly požadavku.

kP je poměrná část a je hlavní součástí kontroly, tato část je úměrná míře chyb - určuje zesílení.

kD je derivační složka. Tato část je závislá na dynamice systému (v závislosti na robotu, jeho hmotnosti, motorech, setrvačné hmotnosti ...) - určuje přesnost.

kI je integrační složka a používá se ke snížení kmitání (kI odstraňuje posun mezi požadovanou a skutečnou hodnotou).

Příklad: Pokud uživatel odešle příkaz řízení 6 odbočit vpravo (od -10 do +10) musíme přidat 6 k hodnotě levého motoru a odečíst 6 z pravého motoru. V případě, že se robot nepohybuje dopředu nebo dozadu.

Pohled na robota shora pro příklad

funkce 2

BROBOT control1

 
Ale věci jsou trochu složitější... Máme v kaskádě dva PID regulátory (výstup z jednoho regulátoru do dalšího regulátoru). Výstupní regulátor je regulátor otáček a vnitřní regulátor je regulátor stability. Dalo by se použít pouze jeden regulátor stability (druhý), ale to by znamenalo, že ovládání výstupu na požadovaný úhel naklonění robota by uživatel ovládal přímo. Problém nastane v případě když těžiště není dokonale umístěno nad osou kola. Robot potřebuje nějaký úhel sklonu pro udržení rovnováhy. V případě, že uživatel odešle příkaz sklonu = 0, tak robot bude udržovat rovnováhu, zatímco se pohybuje... Při přidání druhého regulátoru (regulátoru otáček) systém kompenzuje automaticky tyto změny. Uživatel odešle příkaz k rychlosti robota = 0 a tento regulátor odešle "správný" úhel sklonu do druhého regulátoru (regulátor stability). Robot je vyvážený a nepohybuje se! Pro uživatele je mnohem jednodušší nastavit požadovanou rychlost robota a systém najde ten správný úhel robota k dosažení této rychlosti.
Attachments:
Download this file (brobot.pdf)Schéma robota[ ]22 kB489 Downloads2017-01-25 16:30
Download this file (Info_akku.pdf)Informace o bateriích a akumulátorech dle § 31d[ ]204 kB347 Downloads2017-02-21 19:57