VR роботындағы қашықтық сенсоры VR роботы мен ең жақын нысан арасындағы қашықтықты хабарлайды. Датчик лазер сәулесінің объектіден секіріп, сенсорға қайта оралуына кететін уақытты пайдаланып қашықтықты есептейді.
VR роботындағы қашықтық сенсоры
Қашықтық сенсоры VR роботы мен ең жақын қатты зат арасындағы қашықтықты хабарлайтын сенсор болып табылады.
Қашықтық сенсоры дыбысты өлшеу үшін сонар құрылғыларымен бірдей принциптерді пайдаланады. Ол сенсордың бір жағындағы эмитентімен лазер сәулесінің кішкене импульсін жібереді, содан кейін жарық сенсордың екінші жағындағы қабылдағышқа кері шағылысу үшін қанша уақыт қажет екенін көрсетеді. Датчик импульстің айналу үшін қанша уақыт кеткеніне негізделген қашықтықты есептейді. Содан кейін қашықтық сенсоры VR роботына ең жақын нысанның қаншалықты алыс екенін хабарлайды.
Қашықтық сенсорларының көру диапазонының ені VR роботының алдыңғы жағынан алыстаған сайын өзгереді:
- Сенсор 1000 миллиметрден (~ 39 дюйм) аз қашықтықтағы нысандарды іздеген кезде 10 градустық көру өрісіндегі нысандарды анықтай алады.
- Сенсор 1000 миллиметр (~ 39 дюйм) мен 2000 миллиметр (~ 78 дюйм) арасындағы нысандарды іздегенде 5 градустық көру өрісіндегі нысандарды анықтай алады.
- Сенсор 2000 миллиметрден (~ 78 дюйм) асатын нысандарды іздеген кезде 2 градустық көру өрісіндегі нысандарды анықтай алады.
Қашықтық сенсорының жалпы қолданулары
Қашықтық сенсоры VR роботының алдында нысанның бар-жоғын анықтай алады. Бұл кедергіні болдырмау үшін пайдаланылуы мүмкін.
| VEXcode VR блоктары | Қабырғалық лабиринт ойын алаңы | |
| VEXcode VR Python | ||
def main(): |
||
|
Қашықтық сенсоры қашықтық сенсорының алдыңғы жағы мен нысанның алдыңғы бөлігі арасындағы қашықтықты өлшей алады. Бұл лабиринтті үздіксіз қабырғаларға соқтығыспай аяқтауға немесе нысанды болдырмауға көмектесуі мүмкін. |
||
| VEXcode VR блоктары | Dynamic Castle Crasher ойын алаңы | |
|
|
||
| VEXcode VR Python | ||
def main(): |
||
|
Бұл мысалда қашықтық сенсоры нысанды тапса, VR роботы алға жылжиды. Егер ол нысанды анықтамаса, VR роботы оңға бұрылып, нысанды тексеруді жалғастырады. Ескертпе: Бұл мысал бірінші ғимаратты табады, бірақ үстелден құлап қалмас үшін жақсартуларды қажет етеді. |
||
Қашықтық сенсорын VEXcode VR блоктарымен пайдалану
Қашықтық сенсорымен пайдаланылатын блоктарды Сенсорлық санаттан табуға болады.
<Қашықтықтан табылған нысан> Блок
Қашықтық сенсоры <Қашықтықтан табылған нысан>блогының көмегімен алдында нысанның бар-жоғын анықтайды. Қашықтық сенсоры датчиктің 3000 мм (~118 дюйм) ішіндегі нысанды немесе бетті анықтай алады.
<Қашықтықтан табылған нысан>блогы - бұл ақиқат немесе жалған ретінде шартты қайтаратын логикалық блок және басқа блоктар үшін алтыбұрышты (алты жақты) кеңістіктері бар кез келген блоктарға сәйкес келеді.
Логикалық блоктар туралы қосымша ақпарат алу үшін осы мақаланы қараңыз.
<Distance found object> блогының мәні қашықтық сенсоры нысанға жақын болғанда ақиқат деп есеп беретін логикалық блок болып табылады және ол нысанға жеткілікті жақын болмаған кезде жалған деп хабарлайды.
True немесе false хабарланады және Монитор консолінде пайда болады.
Монитор консолі туралы қосымша ақпарат алу үшін осы мақаланы қараңыз.
(қашықтық) Блок
(Distance from) блогын пайдаланып, қашықтық сенсоры ең жақын нысанның қашықтығын миллиметр (мм) немесе дюйммен хабарлай алады.
(Қашықтықтан) блогы сан мәндерін хабарлайды және сопақ бос орындары бар кез келген блоктарға сәйкес келеді.
Репортер блоктары туралы қосымша ақпарат алу үшін осы мақаланықараңыз.
(Дистанция бастап) блогының миллиметр (мм) немесе дюйм бірліктеріндегі мәнін VEXcode VR ішіндегі монитор консолінде көрсетуге болады.
Монитор консолі туралы қосымша ақпарат алу үшін осы мақаланы қараңыз.
VEXcode VR Python бағдарламасында қашықтық сенсорын пайдалану
Python көмегімен қашықтық сенсорын бағдарламалауды бастау үшін алдымен VEXcode VR мәтіндік жобасын ашу керек. Қосымша ақпарат алу үшін осы мақаланы қараңыз.
Әрі қарай Құралдар жинағында Sensing санатын тауып, found_object және get_distance пәрмендерін табыңыз. Бұл сенсор туралы логикалық мәнді немесе сандық мәнді хабарлайтын функциялар.
Пәрменді жобаңызға қосу үшін, пәрменді Құралдар жинағынан сүйреп апаруға немесе Автотолтыру функциясын пайдаланып жұмыс кеңістігінде пәрменді теруге болады.
Python көмегімен VEXcode VR жүйесінде автотолтыру туралы қосымша ақпарат алу үшін осы мақаланы қараңыз.
def main(): |
|
және циклін роботыңыздағы датчиктермен бірге пайдалануға болады, егер сіз роботыңыз Қашықтық сенсоры қабырғадан 50 мм немесе одан азырақ болғанша, одан кейін тоқтап немесе бұрылғанша қозғалу сияқты әрекетті орындағанын қаласаңыз. Бұл жобада робот қашықтық сенсоры 50 мм-ден жоғары мәнді хабарлаған кезде алға қарай қозғалады және қашықтық сенсоры қабырғадан 50 мм-ден азырақ жерде болған кезде қозғалысты тоқтатады. |
def main(): |
|
get_distance жәнеfound_object пәрмендерінің мәнін VEXcode VR ішіндегі монитор консолінде көрсетуге болады. VEXcode VR Python жүйесінде монитор консолін пайдалану туралы қосымша ақпарат алу үшін осы мақаланы қараңыз. |