Skip to Main Content

Etäisyysanturin käyttö VEXcode VR:ssä Pythonin kanssa

VR-robotin etäisyysanturi ilmoittaa VR-robotin ja lähimmän kohteen välisen etäisyyden. Anturi laskee etäisyyden käyttämällä aikaa, joka kuluu laservalon pomppimiseen kohteesta ja palaamiseen anturiin.


VR-robotin etäisyysanturi

etusilmä alaspäin

Etäisyysanturi on anturi, joka raportoi VR-robotin ja lähimmän kiinteän esineen välisen etäisyyden.

VR ylhäältä alas

Etäisyysanturi käyttää luokan 1 lasereita, jotka ovat samanlaisia ​​kuin nykyaikaisissa matkapuhelimissa pään havaitsemiseen käytettyjä lasereita. Se lähettää pienen turvallisen laservalopulssin ja käyttää sitten pulssin heijastumiseen kuluvaa aikaa lähellä olevien kohteiden etäisyyden laskemiseen. Anturi laskee etäisyyden sen perusteella, kuinka kauan laserpulssilla meni edestakainen matka.


VEXcode VR -komennot, joita käytetään etäisyysanturin kanssa

distance_commands.png

Etäisyysanturin kanssa käytetyt komennot löytyvät Tunnistus-luokasta.

get_distance Komento

Screen_Shot_2021-10-07_at_4.17.49_PM.png

Käyttämällä get_distance -komentoa etäisyysanturi voi raportoida lähimmän kohteen etäisyyden millimetreinä (mm) tai tuumina. get_distance-komento raportoi numeeriset arvot joko millimetreinä (mm) tai tuumina.

def main(): 
monitor_sensor("etäisyys.get_distance")

Näytä etäisyysanturin arvot näyttökonsolissa vetämällä tai kirjoittamalla Monitor Sensor -komento. Aseta sitten parametriksi näytettävän anturin arvon merkkijonotunniste. Tässä tapauksessa merkkijonon tunniste on "etäisyys.get_distance".

Screen_Shot_2021-10-07_at_4.52.59_PM.png

Etäisyys näytetään millimetreinä (mm) ja tuumina monitorikonsolissa.

löydetty objekti Komento

Screen_Shot_2021-10-07_at_4.24.37_PM.png

Etäisyysanturi havaitsee, onko sen edessä esinettä käyttämällä Etäisyys löydetty objekti -komentoa. Etäisyysanturi voi havaita kohteen tai pinnan 3000 mm:n (~118 tuuman) etäisyydellä anturista. Etäisyys löydetty objekti -komento palauttaa Boolen arvon joko tosi tai epätosi.

def main():
monitor_sensor("etäisyys.found_object")

Komennon found_object arvo palauttaa Boolen ja raportoi arvon True , kun etäisyysanturi on lähellä kohdetta, ja raportoi False , kun se ei ole tarpeeksi lähellä objektia.

Näytä etäisyysanturin arvot näyttökonsolissa vetämällä tai kirjoittamalla Monitor Sensor -komento. Aseta sitten parametriksi näytettävän anturin arvon merkkijonotunniste. Tässä tapauksessa merkkijonon tunniste on "etäisyys.found_object".

Screen_Shot_2021-10-07_at_5.12.14_PM.png

True tai false raportoidaan ja näkyy monitorikonsolissa.

Laser mahdollistaa sen, että anturin näkökenttä on hyvin kapea, joten tunnistus tapahtuu aina suoraan anturin edessä. 


Etäisyysanturin yleiset käyttötavat

VR ylhäältä alas

Etäisyysanturi voi havaita, onko VR-robotin edessä jokin esine. Tätä voidaan käyttää esteen välttämiseen.

Screen_Shot_2021-10-07_at_4.39.16_PM.png

Etäisyysanturi voi mitata etäisyyden etäisyysanturin etuosan ja kohteen etuosan välillä. Tämä voi auttaa viimeistelemään sokkeloa törmäämättä jatkuvasti seiniin tai välttämään esinettä.

def main():
while distance.get_distance(MM) > 50:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()

Jos haluat käyttää yllä olevaa esimerkkiä, kopioi tämä koodi VEXcode VR:ään ja suorita projekti Wall Maze Playgroundissa.


Etäisyyssensorin esimerkkiprojekti

Screen_Shot_2021-10-07_at_4.48.44_PM.png

Tässä esimerkissä VR-robotti ajaa eteenpäin, jos etäisyysanturi löytää kohteen. Jos se ei havaitse esinettä, VR-robotti kääntyy oikealle ja jatkaa kohteen tarkistamista.

Huomautus: Tämä esimerkki löytää ensimmäisen rakennuksen, mutta vaatii parannuksia, jotta se ei putoa pöydältä.

def main():
while True:
if distance.found_object():
drivetrain.drive(FORWARD)
else:
drivetrain.turn(RIGHT)
odota(5, MSEC)

Jos haluat käyttää yllä olevaa esimerkkiä, kopioi tämä koodi VEXcode VR:ään ja suorita projekti Castle Crasherissa tai Dynamic Castle Crasher Playgroundissa.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: