Preskoči na sadržaj
FORTRONIQ
IzbornikDigitalni sadržajiVirtualna stvarnostVježbeV11 Hvatanje, puštanje i prebacivanje iz ruke u ruku

VJEŽBA V11 · MODUL 3 · RAZVOJ OKRUŽENJA VIRTUALNE STVARNOSTI

Vježba V11 · 2 sata

Hvatanje, puštanje i prebacivanje iz ruke u ruku

Dijelovi mobilnog robota MR-1 na radnom stolu laboratorija VR-1 hvataju se hvatištem (bočnom tipkom kontrolera), puštaju i prebacuju iz ruke u ruku. Logiku gradite nacrtima: traženje najbližeg objekta u dosegu, pričvršćivanje na ruku i predaja fizici pri puštanju.

Moći ću:
  • izraditi logiku hvatanja i puštanja hvatištem u okruženju s nacrtima
  • pronaći najbliži hvatljivi objekt u sferi oko ruke usporedbom kvadrata udaljenosti
  • ostvariti prebacivanje objekta iz ruke u ruku bez ispadanja
  • izračunati brzinu objekta pri puštanju iz položaja ruke u zadnjim okvirima
  • ispitati hvatanje prema kriterijima prolaza i zapisati rezultat

O vježbi

Vježba V11Trajanje: 2 sataModul 3

Prije vježbe proći gradivo: 3.4 Interakcija: hvatanje, puštanje i točke interesa.

Pitanja i zadaci na ovoj stranici su bez odgovora. Rješenje s postupkom otvara se gumbom Prikaži rješenje ispod svakog pitanja, a upute za nastavnika nalaze se na dnu stranice.

Zadatak

Na radnom stolu virtualnog laboratorija VR-1 (1600 × 800 mm, visina 750 mm) leže dijelovi robota MR-1. Korisnik ih hvata rukom stiskanjem hvatišta (engl. grip) iznad praga 0,6, pušta otpuštanjem ispod 0,4 (histereza, jedinica 3.4) i može dio iz jedne ruke predati u drugu. Rukom se hvataju predmeti do 0,8 m od korisnika; hvatanje zrakom do 3 m je proširenje.

Oko točke hvata svakog kontrolera postavljena je sfera za hvatanje polumjera r = 0,12 m. Ako je u sferi više dijelova, hvata se najbliži. Pri puštanju dio nastavlja gibanje brzinom ruke i pada na stol. Osi: x desno, y naprijed, z gore, ishodište na podu. Položaji za ispitivanje (u metrima):

Objektxyz
Točka hvata desne ruke G0,420,550,86
Pogonski kotač0,480,600,80
Motor s reduktorom0,350,620,81
Baterija0,520,470,79
Prekidač0,600,700,77

Oprema i pribor

  • računalo s grafičkom karticom za VR i naočale s dva kontrolera (uređaj A ili B iz zajedničkog primjera)
  • razvojno okruženje s nacrtima (npr. Unreal Engine) i projekt iz vježbe V10 s modelima ruku
  • modeli dijelova MR-1 iz vježbi V01–V03, a ako nisu gotovi, zamjenski kvadri istih mjera
  • simulator uređaja ili upravljanje mišem za rad bez naočala; obrazac za zapis ispitivanja

Pravila koja se primjenjuju

Mjerilo 1 : 1 — sfera od 0,12 m u sceni je stvarno 12 cm (u okruženju s osnovnom jedinicom centimetar upisuje se 12). Jedna logika za obje ruke — jedna komponenta na obje ruke, ne dva kopirana nacrta. Budžet okvira — traženje objekata radi se na događaj pritiska hvatišta, ne u svakom okviru bez potrebe (pri 90 Hz okvir traje 11,1 ms). Dok je dio u ruci, ruka upravlja njime — fizika se isključuje ili se dio veže fizičkom vezom, nikako oboje. Povratna informacija — hvat potvrđuje kratka vibracija kontrolera.

Pažnja

Najčešća pogreška: dio se pričvrsti na ruku, a fizika ostane uključena, pa dio treperi ili odleti. Virtualni stol nije stvaran: ispitanik se na njega ne smije osloniti.

Crtež

Hvatište pritisnuto Objekti u sferi r Najbliži po d² Isključi fiziku Pričvrsti na ruku Slobodan U lijevoj ruci U desnoj ruci hvat Lhvat D prebacivanje pusti: odvoji, uključi fiziku, zadaj brzinu pusti (bilo koja ruka) → Slobodan
Slika V11.1 — lijevo: tok događaja pri pritisku hvatišta; desno: stanja dijela. Prebacivanje je izravan prijelaz između ruku, bez prolaska kroz stanje Slobodan.

Postupak

  1. Otvorite projekt iz V10. Postavite stol i četiri dijela na položaje iz tablice. Dijelovima uključite fiziku, jednostavan kolizijski oblik (kvadar, valjak) i oznaku Hvatljiv (engl. tag).
  2. Na komponentu kontrolera pokreta svake ruke dodajte sfernu komponentu polumjera 12 cm u točki hvata. Neka samo javlja preklapanje, bez sudara.
  3. Izradite komponentu Hvatač s varijablama DržaniObjekt (referenca na objekt), Strana (lijeva ili desna) i DrugaRuka (referenca na hvatač druge ruke). Postavite je na obje ruke i povežite ih.
  4. Na događaj pritiska hvatišta (ulazna akcija za hvatanje iz predloška ili jedinice 3.3, prag 0,6; naziv ovisi o predlošku i inačici) dohvatite objekte koji se preklapaju sa sferom, odbacite one bez oznake Hvatljiv i u petlji računajte kvadrat udaljenosti do točke hvata. Zapamtite objekt s najmanjom vrijednošću.
  5. Ako je objekt pronađen i drži ga druga ruka, najprije na njoj pozovite funkciju PredajBezFizike: ona samo isprazni njezinu varijablu, ne odvaja dio i ne uključuje fiziku. Zatim isključite fiziku dijela, pričvrstite ga na komponentu ruke uz zadržavanje svjetskog položaja (dio ne skače u dlan) i spremite referencu. Dodajte vibraciju od 0,1 s.
  6. Dok se dio drži, u svakom okviru spremajte položaj točke hvata u mali niz od tri zadnja položaja.
  7. Na otpuštanje hvatišta (vrijednost ispod 0,4) odvojite dio, uključite fiziku i zadajte mu linearnu brzinu izračunatu iz niza položaja; ispraznite DržaniObjekt. Ispišite naziv dijela i brzinu.
  8. Ispitajte u naočalama: svaki dio 10 puta svakom rukom, 10 prebacivanja, 5 bacanja na stol. Zapišite broj uspjelih pokušaja.
  9. Inačica bez naočala: u simulatoru uređaja ili s mišem pomičite ruku, a lijevu tipku miša vežite na istu ulaznu akciju kao hvatište. Logika hvatača ostaje ista.

Pitanja i zadaci

1. Zašto se za izbor najbližeg dijela uspoređuju kvadrati udaljenosti, a ne same udaljenosti?

Prikaži rješenje

Korijen je monotona funkcija: ako je d₁² < d₂², onda je i d₁ < d₂. Poredak je isti, a izbjegava se računanje korijena. I provjera sfere radi se kao d² ≤ r².

2. Računski. Za položaje iz tablice odredite koji su dijelovi u sferi r = 0,12 m oko točke G i koji će se dio uhvatiti.

Prikaži rješenje

r² = 0,0144 m². Kotač: Δ = (0,06; 0,05; −0,06), d² = 0,0036 + 0,0025 + 0,0036 = 0,0097 m² (d = 0,098 m). Motor: Δ = (−0,07; 0,07; −0,05), d² = 0,0123 m² (d = 0,111 m). Baterija: Δ = (0,10; −0,08; −0,07), d² = 0,0213 m² (0,146 m). Prekidač: d² = 0,0630 m² (0,251 m).

U sferi su kotač i motor; hvata se kotač jer ima najmanji d². Baterija i prekidač su izvan sfere.

3. Računski. U zadnja tri okvira pri 90 sl/s točka hvata pomaknula se od prvog do trećeg položaja za Δ = (0,020; 0,012; 0,016) m. Kolika je brzina dijela pri puštanju?

Prikaži rješenje

Između prvog i trećeg položaja su dva intervala: Δt = 2/90 = 0,0222 s. Komponente: v = Δ/Δt = (0,90; 0,54; 0,72) m/s. Iznos: |Δ| = √(0,0004 + 0,000144 + 0,000256) = 0,0283 m, v = 0,0283/0,0222 ≈ 1,27 m/s.

4. Računski. Dio se ispusti bez početne brzine na visini 1,05 m iznad poda, iznad stola. Koliko okvira traje pad do ploče i koliki je pomak u zadnjem okviru? Što iz toga slijedi za tanke dijelove poput prekidača?

Prikaži rješenje

h = 1,05 − 0,75 = 0,30 m; t = √(2h/g) = √(0,6/9,81) = 0,247 s ≈ 22 okvira. Brzina pri udaru v = g · t ≈ 2,43 m/s, pomak u jednom okviru v/90 ≈ 27 mm. Tanak dio ili tanka kolizija ploče mogu se „preskočiti" između dva okvira, pa za male brze dijelove treba uključiti neprekinutu detekciju sudara ili deblji kolizijski oblik ploče.

5. Pri prebacivanju prva ruka nije obaviještena da je dio preuzet. Što će se dogoditi kad korisnik otpusti hvatište na prvoj ruci?

Prikaži rješenje

Prva ruka i dalje ima referencu na dio. Njezin događaj puštanja odvojit će dio od druge ruke i uključiti fiziku, pa dio ispadne iz ruke koja ga drži. Zato se varijabla prve ruke prazni u trenutku preuzimanja (funkcija PredajBezFizike).

6. Kada je umjesto pričvršćivanja bolja fizička veza dijela i ruke?

Prikaži rješenje

Kad dio mora osjetiti sudare dok je u ruci (ne smije proći kroz stol ili drugi dio) ili kad se želi dojam mase (težak dio kasni za rukom). Pričvršćivanje je jednostavnije, ali dio prolazi kroz prepreke.

7. Na uređaju B hvatanje prekidača ispod ruba stola pada. Navedite dva moguća uzroka i kako biste ih razlikovali.

Prikaži rješenje

(1) Kolizijski oblik ploče stola zaklanja sferu hvata, pa ruka do prekidača ne dolazi — to je bio stvarni uzrok u VR-1, zato je slučaj T09 pao na oba uređaja; provjera: prikaz kolizijskih oblika iz položaja korisnika i isti pokus na uređaju A. (2) Kamere naočala B ne vide kontroler ispod ruba stola, pa ruka zastane ili skoči; provjera: ako pokus prolazi na A s vanjskim praćenjem, a na B ne, uzrok je praćenje. Treći mogući uzrok je drugi dio u sferi; provjera: ispis odabranog dijela i d² kandidata.

8. Zašto se hvatanje izvodi kao jedna komponenta na obje ruke, a ne kao dva kopirana nacrta?

Prikaži rješenje

Ispravak ili promjena radi se na jednom mjestu i vrijedi za obje ruke; kopije se s vremenom razlikuju i stvaraju pogreške koje se javljaju samo na jednoj ruci.

Za nastavnika

Otvori upute za nastavnika

Priprema

Provjerite da se projekt iz V10 pokreće na svim računalima. Pripremite zamjenske kvadre. Naočale napunite i očistite, provjerite prostor za igru i granicu 0,3 m od zida.

Tijek sata

  1. 10 min — demonstracija i slika V11.1.
  2. 25 min — koraci 1–4, provjera ispisom.
  3. 25 min — koraci 5–7.
  4. 20 min — ispitivanje u parovima: jedan u naočalama, drugi bilježi i pazi na prostor.
  5. 10 min — pitanja 1–4 i predaja zapisa.

Očekivani rezultati

Hvatanje radi na obje ruke, bira se najbliži dio, prebacivanje ne ispušta dio, bačeni dio leti brzinom ruke. Zapis s najmanje 9/10 uspjelih hvatanja po dijelu.

Česte pogreške

  • fizika ostaje uključena na držanom dijelu
  • sfera ima sudar pa gura dijelove umjesto da ih obuhvati
  • pričvršćivanje bez zadržavanja svjetskog položaja: dio skoči u dlan
  • polumjer upisan u metrima u okruženju s centimetrima (sfera od 0,12 cm)
  • druga ruka ne prazni varijablu pri prebacivanju

Vrednovanje

KriterijBodovi
Hvatanje i puštanje hvatištem na obje ruke5
Izbor najbližeg dijela u sferi4
Prebacivanje iz ruke u ruku bez ispadanja4
Brzina pri puštanju iz zadnjih okvira3
Zapis ispitivanja2
Odgovori na pitanja2
Ukupno20