Stap 7: Programma robot
In onze eerste implementatie zullen we proberen om de volgende:
- voorkomen van belemmeringen
- tabel randen voorkomen
U bent beperkt tot het gebruik van slechts één sensor.
In de eerste foto ziet u dat in normale toestand wanneer de robot langs het oppervlak beweegt, de afstand tot de dichtstbijzijnde hindernis gelijk aan de afstand van het oppervlak zelf is.
Als onze robot zal het bereiken van enig object liggend op het oppervlak, is de afstand veel minder dan de standaardafstand tot het oppervlak (Lmax).
Zo is de eenvoudigste manier om onze eerste doel te bereiken om onze robot die zich binnen het bereik van deze afstand verplaatsen.
Ook kunt u het bereiken van het tweede doel - tabel randen voorkomen. Als de afstand meer dan Lmax is is het waarschijnlijker dat de robot is de leiding naar de rand van de tabel.
Laten we definiëren twee basisregels:
- Wanneer de afstand tot het obstakel (D) binnen bereik Lmin en Lmax robot ongecompliceerd zal worden verplaatst
- Wanneer D Lmax groter of kleiner is dan de Lmin robot zal draaien totdat het richting vindt met D liggen binnen veilige bereik
De robot heeft 2 wielen. Het rijden onder de meest elementaire algoritme voor een robot - differentieel station:
- Als u wilt rijden rechte vooruit beide wielen met gelijke snelheid
- Als u wilt rijden omgekeerde teruggaan beide wielen op gelijke snelheid
- om linksaf het linker wiel beweegt in omgekeerde volgorde en het juiste wiel beweegt voorwaarts
- om rechtsaf het juiste wiel beweegt in omgekeerde volgorde en het linker wiel beweegt voorwaarts
In uw geval servo's worden geplaatst in tegengestelde richtingen dus dat voor één van hen robot vooruit bewegen betekent rechtsom draaien, voor een andere - linksom. Probeer dit in gedachten te houden.
Neem een kijkje op de voorbeeld sketch, probeer het en beginnen met de uitvoering van aangepaste gedrag!