Konkrétní projekt
Zadáním bylo vyvinout platformu pro testování a optimalizaci pohybových rovnic pro manipulátory se šesti stupni volnosti bez nutnosti fyzického testování.
Manipulátory Tri-Sphere umožňují řídit přesně pozici předmětu ve všech šesti stupních volnosti (DOF). Základním stavebním blokem manipulátoru Tri-Sphere je „zvedací“ mechanismus, který lze polohovat ve vertikálním a horizontálním směru, ale může volně klouzat v jiném horizontálním směru. Když se tři takové mechanismy spojí do podoby trojnožky, vznikne čistě kinematický polohovací systém. Společnost Square One navrhla manipulátor Tri-Sphere tak, aby umožnila přesné řízení pozice inspekčních senzorů či uchopovacích mechanismů a zároveň, aby poskytla operátorovi haptickou zpětnou vazbu. To přispívá k použitelnosti současných dálkově řízených pozemních vozidel (UGV). Manipulátor Tri-Sphere rozšířil pracovní oblast a přesnost inspekčního hardwaru v UGV a umožnil mu tak rýt v zemi, přesouvat smetí, zkoumat podvozek vozidla a provádět další úkony, kterých mnoho dalších robotů používaných v současnosti není schopno. Výsledkem byl vývoj robotického manipulátoru v omezeném prostoru (CARMA).
Tento projekt jsme využili jako příležitost k tomu zlepšit efektivitu našich vývojových procesů a významně rozšířit naše schopnosti z hlediska řízení pohybu. Proto jsme použili nástroje sloužící pro návrh a tvorbu prototypů od společnosti NI. Náš předchozí přístup spočíval v tom, že jsme polohovací systém navrhli kompletně v systému SolidWorks a vytvořili jsme výkresy pro výrobu. Když byla výroba hotova, navrhli jsme řídicí jednotku na základě systému PC/104, abychom splnili specifické požadavky každého jednotlivého projektu a daného mechanického návrhu. Tím, že jsme vývoj softwaru přesunuli v celém návrhovém procesu o něco výše, umožnili jsme z mechanického hlediska zahrnout senzory a potřebný prostor pro řídicí hardware. Spojením softwarové a mechanické práce jsme snížili počet iterací a modifikací, které byly potřebné pro vývoj celého systému.
Naším prvním krokem bylo přijít s novým přístupem k řízení. Vyvinuli jsme „logickou“ sadu rovnic popisujících pohyb, které by bylo možné použít pro jakýkoliv projekt pouhou změnou geometrických parametrů. Náš software se tak stal modulárnějším. Schopnost koordinovat pohyb podél kterékoliv osy významně rozšířila možnosti systému Tri-Sphere. Nicméně velmi důležitá byla testovací platforma, na které bychom mohli verifikovat chování rovnic v reálném světě. Když jsme si uvědomili, že není realistický cíl vytvořit několik různých konfigurací čistě pro testovací účely, rozhodli jsme se použít simulační software jako testovací platformu pro naši novou technologii.
Když jsme provedli průzkum dostupných softwarových nástrojů, zúžili jsme výběr na software MATLAB a Simulink od společnosti The MathWorks, Inc., a na LabVIEW NI SoftMotion Module pro SolidWorks. Počáteční návrh jsme prováděli v systému SolidWorks a rovnice jsme řešili s pomocí MATLABu. Do této chvíle jsme LabVIEW používali pouze pro vývoj našich uživatelských rozhraní. Všechno řízení motorů jsme konfigurovali s pomocí programovatelných zařízení se systémem Linux. Nicméně aktivně jsme se poohlíželi po uživatelsky přívětivém způsobu programování, abychom mohli svou řídicí architekturu standardizovat.
Prozkoumali jsme všechny možnosti a rozhodli jsme se, že jako nástroj pro programování řídicích systémů budeme nadále používat LabVIEW. Když jsme se zúčastnili celosvětové konference o grafickém programování NIWeek, viděli jsme mnoho nových nástrojových sad a modulů od NI, které se zdály být vhodným řešením pro naše požadavky spojené s vývojem. Systém LabVIEW dokázal číst náš kód z prostředí MATLAB, ve kterém běžely naše pohybové profily, a LabVIEW NI SoftMotion Module umožnil řízení motorů a potřebných senzorů prostřednictvím modulů řady C pro rozhraní k pohonům ze systému NI CompactRIO. Nejhlubší dojem v nás však zanechala schopnost virtuálních přístrojů z LabVIEW komunikovat s moduly SolidWorks. Proto jsme se rozhodli do našich řešení pro Tri-Sphere implementovat software a hardware od NI, stejně jako při vývoji všech automatických systémů. Časem jsem se rozhodli používat kombinaci funkcí v LabVIEW pro řešení vysokoúrovňových matematických úloh, na kterých jsme do té doby pracovali v MATLABu.
Simulace
Souběžně s vývojem VI v LabVIEW pro výpočet pohybových rovnic pro náš model Tri-Sphere jsme dokončovali také mechanický návrh v softwaru SolidWorks. Po dokončení VI a modelu zařízení jsme začali s integrací. Do projektu v LabVIEW, který obsahoval naše VI pro pohyb, jsme přidali sestavení ze SolidWorks. Začali jsme se simulací, identifikovali jsme v modelu osy a přistupovali jsme k nim z VI. Po několika dnech tréninku a zkoumání propojení mezi softwarem SolidWorks a LabVIEW jsme začali s implementací simulace systému a vytvořili jsme virtuální prototyp.
Logické řešení Tri-Sphere
Spustili jsme uživatelské rozhraní a testovali jsme pohybové VI, abychom ověřili jejich funkcionalitu. Zjistili jsme, že některé osy byly ve VI špatně přiřazeny, ale chybu jsme dokázali snadno opravit. Pokročilejší pohybové algoritmy nefungovaly správně a hluboko v kódu jsme objevili chybějící a chybné značky (±). Bez simulace by se nám tyto chyby nepodařilo odhalit v tak raných fázích vývojového procesu. Vyhnuli jsme se závažným dopadům těchto chyb, protože byly odhaleny již v simulaci a ne při provozu fyzického systému.
Projekt CARMA
Dalším krokem bylo přizpůsobení simulace rozměrům a požadavkům na pohyb v projektu CARMA. Bylo nutné příslušným způsobem upravit modely v prostředí SolidWorks. Projekt v LabVIEW nám svou strukturou umožnil načtení nového textového souboru, který obsahoval podrobnosti o manipulátoru CARMA a limity pro rozsah jeho pohybu. Vlastně jsme zkopírovali stávající „logický“ projekt Tri-Sphere, přejmenovali jsme jej na CARMA a nastavili jsme textový soubor CARMA jako výchozí, takže byl načten při každém spuštění uživatelského rozhraní. Úspěšné simulace umožnily našemu návrhovému týmu plně vizualizovat celý rozsah pohybu manipulátoru. Dokázali jsme také měřit úhly podél všech rotačních os modelu v SolidWorks, což bylo ještě důležitější.
Výsledky
Proces simulace nám umožnil nastavit limity pro pohyb a zjistit rozměry kritických komponent předpřipraveného sestavení. Tvorba a testování VI v LabVIEW prostřednictvím simulace nám umožnili hladký přechod při návrhu řízení skutečného sestavení CARMA. Jakmile byly k dispozici základní ovládací prvky, využili jsme vestavěné knihovny s analytickými a matematickými funkcemi, které jsou dostupné v LabVIEW, a přidali jsme funkce strojového vidění, autonomní chování a algoritmy pro řízení komplexního pohybu, to vše ve velice krátkém čase. Integrace, kterou LabVIEW umožňuje s nástroji třetích stran, jako je například software MATLAB od The MathWorks, Inc., usnadnila celý přechod na novou platformu pro vývoj softwaru.
Po vyrobení a sestavení komponenty jsme dokázali manipulátor ovládat ze simulačního softwaru bez jakýchokoliv změn, což se nám ve společnosti Square One stalo poprvé. S LabVIEW, jakožto naší primární vývojovou platformou, jsme využili integraci s prostředím SolidWorks a významně jsme zvýšili efektivitu našeho vývojového procesu. Kromě toho grafické vývojové prostředí nabídlo mnohem intuitivnější přístup k programování ve srovnání s textově orientovanými nástroji, které jsme používali dosud. Poprvé jsme také dokázali zahrnout mechanický tým do vývoje softwaru.
Square One je společnost působící v oboru robotiky a automatizace a soustředí se na řešení technických potřeb široké škály zákazníků. Pracovali jsme s nejrůznějšími technologiemi, abychom splnili požadavky vědců ve fyzikálních oborech a inženýrů pracujících na vojenských aplikacích, a mohli jim dodat polohovací systémy s pokročilou kinematikou a vysokou přesností. Integrace komerčních robotů a našeho manipulátoru Tri-Sphere čekajícím na patentování do nových i stávajících pracovišť pomáhá posouvat možnosti, neboť zvyšuje efektivitu a přesnost stávajících průmyslových standardů.