Virtual robot tajriba platformalari v-rep: Ko'p qirrali 3D robot simulyatori Abstract


Download 1.24 Mb.
bet3/6
Sana09.04.2023
Hajmi1.24 Mb.
#1346240
1   2   3   4   5   6
Bog'liq
Virtual Robot Experimentation Platform V-REP A Ver

2.3 Masshtablilik

Bir yoki bir nechta sahna ob'ektlarini yo'q qilish bog'langan hisoblash ob'ektini avtomatik ravishda yo'q qilishni o'z ichiga olishi mumkin. Xuddi shunday, bir yoki bir nechta sahna ob'ektlarining takrorlanishi bog'langan hisoblash ob'ektlarining avtomatik takrorlanishini o'z ichiga olishi mumkin. Bu, shuningdek, bog'langan boshqaruv skriptlarining avtomatik takrorlanishini ham o'z ichiga oladi (keyingi bo'limga qarang). Buning natijasi shundaki, takrorlangan sahna ob'ektlari avtomatik ravishda to'liq ishlaydi va moslashuvchan plagin va o'ynash kabi xatti-harakatlarga imkon beradi.

3 V-REP’s Nazorat metodologiyasi


V-REP simulyatsiyalarni boshqarish yoki hatto simulyatorning o'zini sozlash uchun turli xil vositalarni taklif qiladi (3-rasmga qarang). V-REP funksiyalar kutubxonasiga o‘ralgan va ishlashi uchun mijoz ilovasi talab qilinadi. V-REP standart mijoz ilovasi juda oddiy va kengaytma modullarini yuklash bilan shug'ullanadi, hodisalarni qayta qo'ng'iroqlarni (yoki xabarlarni qayta qo'ng'iroqlarni) qayd qiladi, ularni yuklangan kengaytma modullariga o'tkazadi, simulyatorni ishga tushiradi va dastur va simulyatsiya davrini boshqaradi. Bundan tashqari, maxsus simulyatsiya funktsiyalari orqali qo'shilishi mumkin:
Lua tilidagi skriptlar. Lua [2] protsessual dasturlashni qo'llab-quvvatlash uchun mo'ljallangan engil kengaytmali dasturlash tilidir. Lua skript tarjimoni V-REP-ga o'rnatilgan va bir necha yuzlab VREP maxsus buyruqlari bilan kengaytirilgan. V-REP-dagi skriptlar simulyatsiya uchun asosiy boshqaruv mexanizmi hisoblanadi.
V-REP ga kengaytirilgan modullar (plaginlar). Kengaytma modullari maxsus buyruqlarni ro'yxatdan o'tkazish va boshqarish imkonini beradi. Yuqori darajadagi skript buyrug'i
(masalan, robotMoveAndAvoidObstacles(davomiylik)) keyin kengaytma moduli ushbu yuqori darajadagi buyruqni tegishli mantiqiy va past darajadagi API funksiya chaqiruvlarini tez va yashirin tarzda bajarishi mumkin..
3-rasm. V-REP da boshqaruv arxitekturasi. Kulrang joylar foydalanuvchi tomonidan moslashtirilishi mumkin. (1) C/C++ API mijoz ilovasidan yoki kengaytma modullaridan V-REP ga qo'ng'iroq qiladi. (2) Skript bilan ishlash qo'ng'iroqlari. Odatda simHandleChildScript (sim hammasini ishlaydi). Joriy ierarxiyadagi barcha birinchi duch kelgan bolalar skriptlarini bajaradi. (3) Lua API skriptlardan V-REP ga qo'ng'iroq qiladi. (4) Kengaytma modullariga qayta qo'ng'iroqlar. Skript oldindan kengaytma moduli tomonidan ro'yxatga olingan maxsus funksiyani chaqirganda paydo bo'ladi. (5) Mijoz ilovasiga voqeani qayta qo'ng'iroq qilish. (6) Kengaytma modullariga o'tkazilgan voqea qo'ng'iroqlari.
3.1 Skriptni chaqirish metodologiyasi
Simulyatsiya mijoz ilovasi asosiy skriptni chaqirganda amalga oshiriladi, bu esa o'z navbatida bolalar skriptlarini chaqirishi mumkin.
Har bir simulyatsiya sahnasida bitta asosiy skript mavjud bo'lib, u simulyatsiyaning barcha standart xatti-harakatlarini boshqaradi, bu oddiy simulyatsiyalarni hatto bitta kod satrini yozmasdan ishlashga imkon beradi. Asosiy skript har bir simulyatsiya o'tishida chaqiriladi va o'tkazilmaydi.
Boshqa tomondan, bolalar skriptlari soni cheklanmagan va sahna ob'ektlari bilan bog'langan (yoki biriktirilgan). Shunday qilib, agar bog'langan sahna ob'ekti takrorlansa, ular avtomatik ravishda takrorlanadi. Bunga qo'shimcha ravishda, takrorlangan skriptlar hech qanday kodni sozlashni talab qilmaydi va ularga kirishda avtomatik ravishda to'g'ri ob'ekt tutqichlarini oladi. Child skriptlar ipsiz yoki tishli bo'lishi mumkin (ya'ni, yangi mavzuni ishga tushirish).
Birlamchi bolalar skriptini chaqirish metodologiyasi ierarxikdir; har bir skript joriy ierarxiyadagi barcha birinchi duch kelgan bolalar skriptlarini chaqirish uchun javobgardir (sahna ob'ektlari daraxtga o'xshash ierarxiyada qurilganligi sababli, skriptlar avtomatik ravishda bir xil ierarxiyani meros qilib oladi). Bunga bitta funktsiya chaqiruvi bilan erishiladi: simHandleChildScript(sim handleall).
4-rasmdagi misolni oladigan bo'lsak, asosiy skript simHandleChildScript(sim handleall) ni chaqirganda, 3, 4 va 7-ob'ektlar bilan bog'langan qo'shimcha skriptlar bajariladi. Faqat 3-ob'ekt bilan bog'langan bola skript o'z navbatida simHandleChildScript (sim hammani boshqarish) ni chaqirganda, 6-ob'ekt bilan bog'langan bola skript ham bajariladi.
Fig.4. Sahnadagi asosiy skript va bolalar skriptlari.
Standart asosiy skript har doim simHandleChildScript-ni chaqiradi (sim hammasini ishlaydi) va bolalar skriptlari ham xuddi shunday qilishlari kerak.

Download 1.24 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling