De afstandssensor op de VR-robot rapporteert de afstand tussen de VR-robot en het dichtstbijzijnde object. De sensor berekent de afstand door gebruik te maken van de tijd die laserlicht nodig heeft om van een object te weerkaatsen en terug te keren naar de sensor.
Afstandssensor op de VR-robot
De afstandssensor is een sensor die de afstand tussen de VR-robot en het dichtstbijzijnde vaste object rapporteert.
De afstandssensor gebruikt dezelfde principes als sonarapparaten om geluid te meten. Het zendt een kleine puls laserlicht uit met de zender aan de ene kant van de sensor, en vermenigvuldigt vervolgens hoe lang het duurt voordat het licht terugkaatst naar de ontvanger aan de andere kant van de sensor. De sensor berekent de afstand op basis van hoe lang de puls duurde om de heen- en terugreis te maken. Vervolgens rapporteert de afstandssensor aan de VR-robot hoe ver het dichtstbijzijnde object is.
De breedte van het zichtbereik van de afstandssensoren verandert naarmate het verder weg lijkt van de voorkant van de VR-robot:
- De sensor kan objecten binnen een gezichtsveld van 10 graden detecteren bij het zoeken naar objecten op minder dan 1000 millimeter (~ 39 inch) afstand.
- De sensor kan objecten binnen een gezichtsveld van 5 graden detecteren bij het zoeken naar objecten tussen 1000 millimeter (~ 39 inch) en 2000 millimeter (~ 78 inch) verwijderd.
- De sensor kan objecten binnen een gezichtsveld van 2 graden detecteren bij het zoeken naar objecten die verder dan 2000 millimeter (~ 78 inch) verwijderd zijn.
Algemeen gebruik van de afstandssensor
De afstandssensor kan detecteren of er een object voor de VR-robot staat. Dit kan worden gebruikt om een obstakel te vermijden.
| VEXcode VR-blokken | Muurdoolhof Speeltuin | |
| VEXcode VR Python | ||
def main(): |
||
|
De afstandssensor kan de afstand meten tussen de voorkant van de afstandssensor en de voorkant van het object. Dit kan handig zijn om een doolhof te voltooien zonder voortdurend tegen de muren aan te botsen of om een voorwerp te ontwijken. |
||
| VEXcode VR-blokken | Dynamische Castle Crasher-speeltuin | |
|
|
||
| VEXcode VR Python | ||
def main(): |
||
|
In dit voorbeeld rijdt de VR-robot vooruit als de afstandssensor een object vindt. Als hij geen object detecteert, draait de VR-robot naar rechts en blijft hij zoeken naar een object. Opmerking: In dit voorbeeld wordt het eerste gebouw gevonden, maar er zijn verbeteringen nodig om te voorkomen dat het van de tafel valt. |
||
De afstandssensor gebruiken met VEXcode VR-blokken
De blokken die bij de afstandssensor worden gebruikt, zijn te vinden in de categorie Sensing.
<Afstand gevonden object> Blok
De afstandssensor detecteert of er een object voor zich staat met behulp van het blok <Afstand gevonden object>. De afstandssensor kan een object of oppervlak binnen 3000 mm (~118 inch) van de sensor detecteren.
Het blok <Afstand gevonden object>is een Booleaans blok dat een voorwaarde retourneert als waar of onwaar en past in elk blok met zeshoekige (zeszijdige) ruimtes voor andere blokken.
Voor meer informatie over Booleaanse blokken, bekijk dit artikel.
De waarde van het <Distance found object> blok is een Booleaans blok dat waar rapporteert als de afstandssensor dicht bij een object is, en onwaar rapporteert als deze niet dicht genoeg bij een object is.
Waar of onwaar wordt gerapporteerd en verschijnt in de Monitor Console.
Voor meer informatie over de Monitor Console, bekijk dit artikel.
(Afstand vanaf) Blok
Met behulp van het blok (Afstand vanaf) kan de afstandssensor de afstand van het dichtstbijzijnde object in millimeters (mm) of inches rapporteren.
Het blok (Afstand vanaf) rapporteert getalwaarden en past binnen alle blokken met ovale spaties.
Voor meer informatie over reporterblokken, bekijk dit artikel.
De waarde van het blok (Afstand tot) in millimeters (mm) of inches kan op de monitorconsole worden weergegeven in VEXcode VR.
Voor meer informatie over de Monitor Console, bekijk dit artikel.
De afstandssensor gebruiken in VEXcode VR Python
Om de afstandssensor met Python te kunnen programmeren, moet u eerst een tekstproject VEXcode VR openen. Voor meer informatie, zie dit artikel.
Zoek vervolgens de categorie Sensing in de Toolbox en zoek de opdrachten found_object en get_distance. Dit zijn functies die een Booleaanse waarde of numerieke waarde over de sensor rapporteren.
Om de opdracht aan uw project toe te voegen, kunt u de opdracht vanuit de Toolbox naar binnen slepen, of de opdracht in de werkruimte typen met behulp van de functie Automatisch aanvullen.
Voor meer informatie over Autocomplete in VEXcode VR met Python, zie dit artikel.
def main(): |
|
Een terwijl -lus kan worden gebruikt met sensoren op uw robot als u wilt dat uw robot iets doet zoals rijden totdat de afstandssensor 50 mm of minder van een muur verwijderd is, en dan stopt of draait. In dit project rijdt de robot vooruit terwijl de afstandssensor een waarde groter dan 50 mm rapporteert, en stopt hij met rijden wanneer de afstandssensor minder dan 50 mm van een muur verwijderd is. |
def main(): |
|
De waarde van de opdrachtenget_distance enFound_object kunnen worden weergegeven op de Monitor Console in VEXcode VR. Voor meer informatie over het gebruik van de Monitor Console in VEXcode VR Python, zie dit artikel. |