Snímač vzdálenosti na robotu VR hlásí vzdálenost mezi robotem VR a nejbližším objektem. Senzor vypočítá vzdálenost pomocí času, který laserové světlo potřebuje k odrazu od objektu a návratu k senzoru.
Snímač vzdálenosti na robotu VR
Snímač vzdálenosti je snímač, který hlásí vzdálenost mezi robotem VR a nejbližším pevným předmětem.
Snímač vzdálenosti používá lasery třídy 1 podobné laserům, které moderní mobilní telefony používají pro detekci hlavy. Vyšle nepatrný puls bezpečného laserového světla a čas potřebný k odrazu pulsu pak využije k výpočtu vzdálenosti blízkých objektů. Senzor vypočítá vzdálenost na základě toho, jak dlouho laserovému pulsu trvala cesta tam a zpět.
Příkazy VEXcode VR používané se senzorem vzdálenosti
Příkazy používané se snímačem vzdálenosti naleznete v kategorii Snímání.
get_distance Příkaz
Pomocí příkazu get_distance může snímač vzdálenosti hlásit vzdálenost nejbližšího objektu v milimetrech (mm) nebo palcích. Příkaz get_distanceuvádí číselné hodnoty buď v milimetrech (mm) nebo palcích.
def main(): |
|
Chcete-li zobrazit hodnoty senzoru vzdálenosti v konzole Monitor, přetáhněte nebo zadejte příkaz Monitor senzor. Poté nastavte parametr na identifikátor řetězce pro hodnotu čidla, která se má zobrazit. V tomto případě bude identifikátor řetězce "distance.get_distance". |
Vzdálenost se na konzole monitoru zobrazí v milimetrech (mm) a palcích.
nalezený objekt Příkaz
Snímač vzdálenosti pomocí příkazu Vzdálenost nalezený objekt detekuje, zda se před ním nachází nějaký předmět. Snímač vzdálenosti dokáže detekovat předmět nebo povrch do vzdálenosti 3000 mm (~118 palců) od snímače. Příkaz Distance found object vrací booleovskou hodnotu buď jako True nebo False.
def main(): |
|
Hodnota příkazu found_object vrací Boolean a hlásí True , když je senzor vzdálenosti blízko objektu, a hlásí False , když není dostatečně blízko k objektu. Chcete-li zobrazit hodnoty senzoru vzdálenosti v konzole Monitor, přetáhněte nebo zadejte příkaz Monitor senzor. Poté nastavte parametr na identifikátor řetězce pro hodnotu čidla, která se má zobrazit. V tomto případě bude identifikátor řetězce "distance.found_object". |
Pravda nebo nepravda bude hlášena a zobrazí se v konzole Monitor.
Laser umožňuje senzoru mít velmi úzké zorné pole, takže detekce je vždy přímo před senzorem.
Běžná použití snímače vzdálenosti
Snímač vzdálenosti dokáže detekovat, zda se před robotem VR nachází nějaký předmět. Toho lze využít k vyhnutí se překážce.
Snímač vzdálenosti může měřit vzdálenost mezi přední částí snímače vzdálenosti a přední částí objektu. To může být užitečné pro dokončení bludiště, aniž byste neustále naráželi do stěn nebo se vyhýbali předmětu.
def main(): |
|
Chcete-li použít výše uvedený příklad, zkopírujte tento kód do VEXcode VR a spusťte projekt na hřišti Wall Maze Playground. |
Příklad projektu snímače vzdálenosti
V tomto příkladu pojede VR robot vpřed, pokud senzor vzdálenosti najde nějaký předmět. Pokud nedetekuje žádný objekt, robot VR se otočí doprava a bude neustále hledat objekt.
Poznámka: Tento příklad najde první budovu, ale potřebuje vylepšení, aby nespadl ze stolu.
def main(): |
|
Chcete-li použít výše uvedený příklad, zkopírujte tento kód do VEXcode VR a spusťte projekt na hřišti Castle Crasher nebo Dynamic Castle Crasher Playground. |