Upravljanje simuliranim robotom u Microsoft Robotics Developer Studiu

matija_blagus

Matija Blagus

U prošlom smo članku predstavili Microsoft Robotics Developer Studio te ukratko opisali njegove mogućnosti. Jedna od glavnih značajki ovog programa jest mogućnost simulacije robota. Ovo je posebno zgodno za sve škole koje možda dosad nisu imale stvarnog robota, a ipak imaju želju uvesti u svoje učionice nastavu robotike ili pak nastavu programiranja žele nadopuniti novim i zanimljivim sadržajima. U ovom ćemo članku reći nešto više o tome kako pomoću vizualnog programskog jezika (VPL) napraviti jednostavnu simulaciju te kako upravljati robotom unutar nje. Važno je spomenuti i povezivanje Microsoft Robotics Developer Studia s NVIDIA PhysX tehnologijom koja omogućuje vrlo složene fizikalne simulacije.

Kreiranje jednostavnog scenarija upravljanja virtualnim robotom

U ovim ćemo primjerima koristiti scenarije koji su dostupni kroz sustav pomoću samog programa, ali za bolje ćemo razumijevanje objasniti korak po korak kako napraviti program za upravljanje virtualnim robotom. Za početak rada potrebno je pokrenuti Visual Programming Language alat s kojim ćemo napraviti VPL program. To ćemo učiniti tako da odaberemo Start>Svi programi, a zatim iz popisa svih dostupnih aplikacija odaberemo mapu s imenom Microsoft Roslika1botics Developer Studio 2008 R3. Unutar otvorene mape potrebno je kliknuti na Visual Programming Language 2008 R3 kako bismo pokrenuli VPL alat. Nakon pokretanja prikazuje nam se ekran kao što je prikazano na slici 1.

Slika 1. Prikaz pokrenutog VPL alata

Za jednostavnu simulaciju vožnje bit će nam potrebne 3 usluge koje će upravljati simuliranim robotom te jedna funkcija koja će spojiti signale s ulaza.

slika2Pokazat ćemo kako možemo istovremeno koristiti neku vanjsku upravljačku ručicu (joystick) spojenu na računalo i onu virtualnu unutar Roboticsa za upravljanje robotom. Iz dostupnih usluga odaberemo Desktop Joystick i Game Controller, dok od funkcija odaberemo Merge. Odabrane usluge odvučemo na središnje područje unutar VPL-a (slika 2.).

Slika 2. Prikaz usluga u VPL dijagramu

Usluga Desktop Joystick služi nam za stvaranje virtualnog upravljača robotom. Ona će nam, prilikom pokretanja simulacije, prikazati poseban prozor sa sučeljem koje će nam omogućavati upravljanje robotom (autićem). Game Controller je usluga koja omogućuje upravljanje preko neke od vanjskih upravljačkih ručica povezanih na računalo. Ukoliko nemamo vanjsku upravljačku ručicu, to nije važno jer ukoliko tog signala nema, neće ga se uzimati u obzir. Funkcija Merge će zapravo spojiti ova dva ulazna signala (od vanjske i virtualne upravljačke ručice) u jedan koji će upravljati robotom. Sljedeći korak je povezivanje usluge s funkcijom Merge. Vidimo da izlaz ima dvije sastavnice izlaznog signala – onaj označen s trokutićem (Outgoing Response) i onaj označen s kružićem (Notification). Nama će koristiti izlaz označen s kružićem (Notification) jer nam on na izlazu daje informaciju o promjenama smjernica s obzirom na naše pokslika3rete u virtualnoj i vanjskoj upravljačkoj ručici. Izlaz označen s Outgoing Response nećemo koristiti u ovom primjeru jer nemamo nikakvih vrijednosti na ulazu u uslugu koje bismo trebali prosljeđivati sljedećoj usluzi. Spojimo izlaze Notification iz obje usluge u funkciju Merge koja će spojiti ta dva signala. Prilikom spajanja svake od usluga s funkcijom Merge, u okviru koji će nam se pojaviti potrebno je odabrati opciju UpdateAxes, kao što prikazuje slika 3.

Slika 3. Prikaz okvira za povezivanje usluga i funkcije Merge

Opcija UpdateAxes predstavlja pomak koji smo napravili pomoću upravljačke ručice te želimo da se taj signal pomaka prenese s vanjske i/ili virtualne upravljačke ručice i spoji u jedan jedinstveni upravljački signal koji će upravljati robotom. U ovom smo okviru zapravo odredili da želimo samo signal pomaka iz usluge proslijediti (opcija Forward na slici 3.) funkciji Merge. Na izlazu iz funkcije Merge imamo upravljački signal koji će kontrolirati putanju robota. Taj signal je potrebno proslijediti i u simulaciju.

Zadnja usluga koja će nam biti potrebna zove se Simulated Four by Four Drive Service. To je već pripremljena simulacijska okolina koja u sebi sadrži robot – autić kojim mi želimo upravljati. Uslugu pronađemo među pripadajućim uslugama te ju odvučemo u središnje područje (slika 4.).

slika4Slika 4. Prikaz svih potrebnih usluga za simulaciju unutar VPL-a

slika5Sada je potrebno odrediti početne uvjete simulacije, a to radimo na način da odaberemo uslugu Simulated Four By Four Drive Service te s desne strane u okviru Properties>Configuration odaberemo opciju Use a manifest, a pod opcijom Manifest odaberemo jedini dostupni iz padajuće liste. Ispravne postavke možete vidjeti na slici 5.

Slika 5. Prikaz postavki usluga za simulaciju

Nakon što smo podesili slika6postavke usluga, potrebno je izlaz funkcije Merge spojiti na ulaz simulacijske usluge. Prilikom spajanja ta dva elementa pojavljuje nam se dijalog u kojem odabiremo u okviru To: opciju Drive (slika 6.). Time smo postigli da izlazni signal iz funkcije Merge (koji je zapravo signal s upravljačke ručice) upravlja motorima autića u simulaciji.

Slika 6. Postavke veze između funkcije Merge i usluge za simulaciju

slika7Nakon što potvrdimo te postavke, pojavljuje se novi okvir u kojem određujemo vrijednosti koje ćemo koristiti za upravljanje. Uključimo opciju Edit values directly kako bismo mogli upisati vrijednost. Upisujemo vrijednosti prema slici 7.

Slika 7. Vrijednosti koje je potrebno postaviti za povezivanje sa simulacijskom uslugom

Nakon što smo upisali vrijednosti, potvrđujemo svoj odabir te smo time završili s izradom programa. Iz vrijednosti sa slike 7. možemo razlikovati vrijednosti X i Y, koji predstavljaju X i Y os na upravljačkoj ručici. Vrijednost Power označava kojom će se brzinom kretati automobil s obzirom na naš ulazni signal, dok vrijednost SteeringAngle označava maksimalni kut pod kojim se mogu okretati kotači. Ove su vrijednosti već prilagođene simulaciji, ali mi možemo koristiti i vlastite vrijednosti prema želji. Po završetku bismo trebali dobiti grafički prikaz kao što je prikazano na slici 8.

slika8Slika 8. Cjeloviti VPL grafički prikaz

Jedino što nam je još preostalo jest pokrenuti simulaciju. Pritiskom na gumb Start koji se nalazi na alatnoj traci ili pritiskom na tipku F5 na tipkovnici pokrećemo našu simulaciju. Ako ste dobro odradili sve prethodne korake, trebali biste vidjeti simulaciju kakva je prikazana na slici 9.

slika9Slika 9. Pokrenuta simulacija

Pomoću Desktop Joysticka možete upravljati autićem, dok pomicanje kamere možete vršiti sljedećim tipkama:

  • Tipka W – gore
  • Tipka S – dolje
  • Tipka A – lijevo
  • Tipka D – desno

Ovim smo primjerom pokazali na koji način možemo napraviti jednostavnu simulaciju unutar Microsoft Robotics Developer Studia, bez potrebe za nabavkom bilo kakve dodatne opreme. Možemo vidjeti da je izrada VPL programa jednostavna te ne zahtijeva veliku količinu vremena za svladavanje osnova programiranja u VPL jeziku. Ovo je samo jedna od dostupnih simulacijskih okolina te je uz postojeće moguće kreirati vlastite i uvesti ih u sam program, što nam otvara nove mogućnosti primjene ovog programa.

Oglasi

O autoru Pogled kroz prozor

Digitalni časopis za obrazovne stručnjake, pišu ga učitelji i nastavnici.
Ovaj unos je objavljen u Programiranje i označen sa , , . Bookmarkirajte stalnu vezu.

Jedan odgovor na Upravljanje simuliranim robotom u Microsoft Robotics Developer Studiu

  1. Povratni ping: Topli, jesenski Pogled | Pogled kroz prozor

Komentari su zatvoreni.