Avståndssensorn på VR-roboten rapporterar avståndet mellan VR-roboten och närmaste objekt. Sensorn beräknar avståndet genom att använda den tid det tar för laserljuset att studsa bort från ett objekt och återvända till sensorn.
Avståndssensor på VR-roboten
Avståndssensorn är en sensor som rapporterar avståndet mellan VR-roboten och närmaste fasta föremål.
Avståndssensorn använder samma principer som ekolodsenheter för att mäta ljud. Den skickar ut en liten puls av laserljus med sin emitter på ena sidan av sensorn, och tidräknar sedan hur lång tid det tar för ljuset att reflekteras tillbaka till mottagaren på andra sidan av sensorn. Sensorn beräknar avståndet baserat på hur lång tid det tog för pulsen att göra tur- och returresan. Sedan rapporterar avståndssensorn till VR-roboten hur långt det närmaste objektet är.
Bredden på avståndssensorernas synfält ändras när den tittar längre bort från VR-robotens framsida:
- Sensorn kan upptäcka objekt inom ett synfält på 10 grader när den letar efter objekt som är mindre än 1000 millimeter (~ 39 tum) bort.
- Sensorn kan upptäcka objekt inom ett synfält på 5 grader när den letar efter objekt mellan 1000 millimeter (~39 tum) och 2000 millimeter (~78 tum) bort.
- Sensorn kan upptäcka objekt inom ett synfält på 2 grader när den letar efter objekt som är större än 2000 millimeter (~78 tum) bort.
Vanliga användningsområden för avståndssensorn
Avståndssensorn kan upptäcka om det finns ett föremål framför VR-roboten. Detta kan användas för att undvika ett hinder.
| VEXcode VR-block | Vägglabyrint Lekplats | |
| VEXcode VR Python | ||
def main(): |
||
|
Avståndssensorn kan mäta avståndet mellan avståndssensorns framsida och objektets framsida. Detta kan vara bra för att slutföra en labyrint utan att ständigt stöta in i väggarna eller för att undvika ett föremål. |
||
| VEXcode VR-block | Dynamisk slottskraschande lekplats | |
|
|
||
| VEXcode VR Python | ||
def main(): |
||
|
I det här exemplet kommer VR-roboten att köra framåt om avståndssensorn hittar ett föremål. Om den inte upptäcker något föremål svänger VR-roboten åt höger och fortsätter att leta efter ett föremål. Obs: Det här exemplet hittar den första byggnaden, men behöver förbättringar för att undvika att den faller av bordet. |
||
Använda avståndssensorn med VEXcode VR-block
Blocken som används med avståndssensorn finns i kategorin Avkänning.
<Avstånd hittat objekt> Block
Avståndssensorn detekterar om det finns ett objekt framför den med hjälp av blocket <Avstånd hittat objekt>. Avståndssensorn kan detektera ett objekt eller en yta inom 3000 mm (~118 tum) från sensorn.
Blocket <Avstånd hittat objekt>är ett booleskt block som returnerar ett villkor som antingen sant eller falskt och passar inuti alla block med hexagonala (sexsidiga) mellanslag för andra block.
För mer information om booleska block, se den här artikeln.
Värdet på <Distance found object> blocket är ett booleskt block som rapporterar sant när avståndssensorn är nära ett objekt och falskt när den inte är tillräckligt nära ett objekt.
Sant eller falskt kommer att rapporteras och visas i övervakningskonsolen.
För att lära dig mer om monitorkonsolen, läs den här artikeln.
(Avstånd från) Block
Med hjälp av blocket (Avstånd från) kan avståndssensorn rapportera avståndet till närmaste objekt i millimeter (mm) eller tum.
Blocket (Avstånd från) rapporterar numeriska värden och passar inuti alla block med ovala mellanslag.
För mer information om reporterblock, se den här artikeln.
Värdet för (Avstånd från)-blocket i enheten millimeter (mm) eller tum kan visas på monitorkonsolen i VEXcode VR.
För att lära dig mer om monitorkonsolen, läs den här artikeln.
Använda avståndssensorn i VEXcode VR Python
För att börja programmera avståndssensorn med Python måste du först öppna ett textprojekt av typen VEXcode VR. För mer information, se den här artikeln.
Leta sedan reda på kategorin Avkänning i verktygslådan och hitta kommandona found_object och get_distance. Det här är funktioner som rapporterar ett booleskt värde eller numeriskt värde om sensorn.
För att lägga till kommandot i ditt projekt kan du dra in kommandot från verktygslådan eller skriva ut kommandot i arbetsytan med hjälp av funktionen Komplettera automatiskt.
För att lära dig mer om Autocomplete i VEXcode VR med Python, se den här artikeln.
def main(): |
|
En medan -slinga kan användas med sensorer på din robot när du vill att din robot ska göra något som att köra tills avståndssensorn är 50 mm eller mindre från en vägg, och sedan stanna eller vända. I det här projektet kommer roboten att köra framåt medan avståndssensorn rapporterar ett värde större än 50 mm, och kommer att sluta köra när avståndssensorn är mindre än 50 mm från en vägg. |
def main(): |
|
Värdet för kommandonaget_distance ochfound_object kan visas på monitorkonsolen i VEXcode VR. För att lära dig mer om hur du använder Monitor Console i VEXcode VR Python, se den här artikeln. |