Virtual robot tajriba platformalari v-rep: Ko'p qirrali 3D robot simulyatori Abstract
-rasm. V-REP misoli sahnasi. Chap qism sahna ierarxiyasini, o'ng qismida sahnaning 3D tarkibini ko'rsatadi
Download 1.24 Mb.
|
Virtual Robot Experimentation Platform V-REP A Ver
5-rasm. V-REP misoli sahnasi. Chap qism sahna ierarxiyasini, o'ng qismida sahnaning 3D tarkibini ko'rsatadi.
Sahnada olti oyoqli yuruvchi robot (sahna ob'ekti "hexapod" dan boshlanadigan ierarxiya daraxti bilan belgilanadi) va kichik o'yinchoq sahna ob'ekti ("BeeToy") mavjud. Hexapodning o'zi bir-biriga nisbatan 60 gradusga aylantirilgan 6 ta bir xil oyoq bilan o'rnatiladi. Har bir oyoq uchun teskari kinematika ob'ekti aniqlangan bo'lib, u kerakli oyoq pozitsiyasi uchun to'g'ri oyoq qo'shma pozitsiyalarini hal qiladi; teskari kinematik cheklovlar sahna ierarxiyasida qizil o'qlar bilan ko'rsatilgan (masalan, "hexa footTarget" - "hexa footTip" uchun kerakli oyoq pozitsiyasi). To'g'ridan-to'g'ri va teskari kinematik modul tomonidan hisoblangan qo'shma pozitsiyalar dinamik yoki fizika moduli tomonidan maqsadli pozitsiyalar sifatida qo'llaniladi. "Hexapod" bilan bog'langan bolalar skripti oyoq harakati ketma-ketligini yaratish uchun javobgar bo'lsa-da, har bir oyoqda yaratilgan oyoq harakati ketma-ketligini boshqa kechikish bilan qo'llaydigan o'z bola skripti mavjud. Ushbu kechikishdan tashqari, 6 oyoqli bolalar skriptlari bir xil va birinchisi bu erda qayta ishlab chiqariladi: baseHandle=... -- Handle of the base object ("hexapod") if (simGetScriptExecutionCount()==0) then -- Following is the movement delay for this leg: modulePos=0 -- Retrieve various handles and prepare initial values: tip=simGetObjectHandle(’hexa_footTip’) target=simGetObjectHandle(’hexa_footTarget’) j1=simGetObjectHandle(’hexa_joint1’) j2=simGetObjectHandle(’hexa_joint2’) j3=simGetObjectHandle(’hexa_joint3’) simSetJointPosition(j1,0) simSetJointPosition(j2,-30*math.pi/180) simSetJointPosition(j3,120*math.pi/180) footOriginalPos=simGetObjectPosition(tip,baseHandle) isf=simGetObjectSizeFactor(baseHandle) end -- Read the movement data: data=simReceiveData(0,’HEXA_x’) xMovementTable=simUnpackFloats(data) data=simReceiveData(0,’HEXA_y’) yMovementTable=simUnpackFloats(data) data=simReceiveData(0,’HEXA_z’) zMovementTable=simUnpackFloats(data) data=simReceiveData(0,’HEXA_imd’) interModuleDelay=simUnpackInts(data)[1] -- Make sure that scaling during simulation will work flawlessly: sf=simGetObjectSizeFactor(baseHandle) af=sf/isf -- Apply the movement data (with the appropriate delay): targetNewPos={ footOriginalPos[1]*af+xMovementTable[1+modulePos*interModuleDelay]*sf, footOriginalPos[2]*af+yMovementTable[1+modulePos*interModuleDelay]*sf, footOriginalPos[3]*af+zMovementTable[1+modulePos*interModuleDelay]*sf} -- The IK module will automatically have the foot tip follow the "target", -- so we just need to set the position of the "target" object: simSetObjectPosition(target,baseHandle,targetNewPos) -- Make sure that any attached child script will also be executed: simHandleChildScript(sim_handle_all_except_explicit) Hexapodni tashkil etuvchi barcha sahna ob'ektlari va boshqa barcha sahna ob'ektlari orasidagi minimal masofa ob'ekti olti oyoqli bo'shliqni kuzatish uchun aniqlangan. Hexapodga bo'yoq ko'krak modeli biriktirilgan va polni rang bilan belgilashga imkon beradi. Bo'yoq nozli modeli olti oyoqli robotdan mustaqil ravishda ishlaydi va o'zining bolalar skripti tomonidan boshqariladi. "Hexapod" va "PaintNozzle" sahna ob'ektlari foydalanuvchilarga skript xatti-harakatlari bilan o'zaro ta'sir qilish imkonini beruvchi 2 ta maxsus dialog oynasi bilan bog'langan. Bu V-REP-ning yana bir kuchli xususiyatini ifodalaydi: cheksiz miqdordagi maxsus dialoglarni aniqlash va sahna ob'ektlari bilan bog'lash mumkin. Ular hisob-kitob ob'ektlariga o'xshash tarzda yo'q qilinadi yoki ko'paytiriladi (2.3-bo'limga qarang). 5 Xulosa V-REP taqsimlangan boshqaruv mexanizmi bilan birlashtirilgan modulli simulyatsiya arxitekturasini namoyish etadi. Bu asenkron o'zaro ta'sirning bir nechta shakllari bilan murakkab robot tizimlarining simulyatsiya ehtiyojlariga mos keladigan ko'p qirrali va kengaytiriladigan ramkaga olib keladi. V-REP ko'plab qo'shimcha hisoblash modullari orqali muvozanatli funksionallikni ta'minlaydi, simulyatsiyaning ishonchliligi va simulyatsiya to'liqligi nuqtai nazaridan haqiqiy ustunlikni taklif qiladi (6-rasmga qarang). Download 1.24 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling