Skip to Main Content

Attāluma sensora izmantošana VEXcode VR ar Python

VR robota attāluma sensors ziņo par attālumu starp VR robotu un tuvāko objektu. Sensors aprēķina attālumu, izmantojot laiku, kas nepieciešams, lai lāzera gaisma atsitu no objekta un atgrieztos sensorā.


Attāluma sensors uz VR robota

priekšējā acs uz leju

Attāluma sensors ir sensors, kas ziņo par attālumu starp VR robotu un tuvāko cieto objektu.

VR no augšas uz leju

Attāluma sensors izmanto 1. klases lāzerus, kas līdzīgi lāzeriem, ko mūsdienu mobilie tālruņi izmanto galvas noteikšanai. Tas izsūta nelielu drošas lāzera gaismas impulsu, pēc tam izmanto laiku, kas nepieciešams impulsa atspoguļošanai, lai aprēķinātu attālumu līdz blakus esošajiem objektiem. Sensors aprēķina attālumu, pamatojoties uz lāzera impulsa ilgumu, lai veiktu turp un atpakaļ.


VEXcode VR komandas, ko izmanto kopā ar attāluma sensoru

distance_commands.png

Ar attāluma sensoru izmantotās komandas var atrast kategorijā Sensing.

get_distance komanda

Screen_Shot_2021-10-07_at_4.17.49_PM.png

Izmantojot komandu get_distance , attāluma sensors var ziņot attālumu līdz tuvākajam objektam milimetros (mm) vai collās. Komanda get_distanceziņo skaitliskās vērtības milimetros (mm) vai collās.

def main(): 
monitora_sensors("attālums.get_attālums")

Lai monitora konsolē parādītu attāluma sensora vērtības, ievelciet vai ierakstiet komandu Monitor Sensor. Pēc tam iestatiet parametru uz virknes identifikatoru, lai parādītu sensora vērtību. Šajā gadījumā virknes identifikators būs "distance.get_distance".

Screen_Shot_2021-10-07_at_4.52.59_PM.png

Monitora konsolē attālums tiks parādīts milimetros (mm) un collās.

atrasts objekts komanda

Screen_Shot_2021-10-07_at_4.24.37_PM.png

Attāluma sensors nosaka, vai tā priekšā atrodas objekts, izmantojot komandu Attālums atrasts objekts. Attāluma sensors var noteikt objektu vai virsmu 3000 mm (~118 collu) rādiusā no sensora. Komanda Attālums atrastais objekts atgriež Būla vērtību kā True vai False.

def main():
monitora_sensors("attālums.atrasts_objekts")

Komandas found_object vērtība atgriež Būla vērtību un ziņo True , kad attāluma sensors atrodas tuvu objektam, un ziņo False , ja tas nav pietiekami tuvu objektam.

Lai monitora konsolē parādītu attāluma sensora vērtības, ievelciet vai ierakstiet komandu Monitor Sensor. Pēc tam iestatiet parametru uz virknes identifikatoru, lai parādītu sensora vērtību. Šajā gadījumā virknes identifikators būs "distance.found_object".

Screen_Shot_2021-10-07_at_5.12.14_PM.png

True vai false tiks ziņots un parādīsies monitora konsolē.

Lāzers ļauj sensoram iegūt ļoti šauru redzes lauku, tāpēc noteikšana vienmēr notiek tieši sensora priekšā. 


Attāluma sensora biežākie lietojumi

VR no augšas uz leju

Attāluma sensors var noteikt, vai VR robota priekšā atrodas kāds objekts. To var izmantot, lai izvairītos no šķēršļiem.

Screen_Shot_2021-10-07_at_4.39.16_PM.png

Attāluma sensors var izmērīt attālumu starp attāluma sensora priekšpusi un objekta priekšpusi. Tas var būt noderīgi, lai pabeigtu labirintu, nepārtraukti neietriecoties sienās vai izvairītos no objekta.

def galvenais():
kamēr distance.get_distance(MM) > 50:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()

Lai izmantotu iepriekš minēto piemēru, kopējiet šo kodu VEXcode VR un palaidiet projektu Wall Maze Playground.


Attāluma sensora paraugprojekts

Screen_Shot_2021-10-07_at_4.48.44_PM.png

Šajā piemērā VR robots brauks uz priekšu, ja attāluma sensors atradīs objektu. Ja tas neatklāj objektu, VR robots pagriezīsies pa labi un turpinās meklēt objektu.

Piezīme: Šajā piemērā tiks atrasta pirmā ēka, taču ir nepieciešami uzlabojumi, lai izvairītos no nokrišanas no galda.

def main():
kamēr True:
if distance.found_object():
drivetrain.drive(FORWARD)
else:
drivetrain.turn(RIGHT)
gaid(5, MSEC)

Lai izmantotu iepriekš minēto piemēru, kopējiet šo kodu VEXcode VR un palaidiet projektu Castle Crasher vai Dynamic Castle Crasher Playground.

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

Last Updated: