Robot "Billigare" (7 / 8 steg)
Steg 7: Program robot
I vår första genomförandet kommer vi försöka uppnå följande:
- undvika hinder
- undvika tabell kanter
Du är begränsade att använda endast en sensor.
I den första bilden kan du se att i normala tillstånd när roboten rör sig längs ytan, avståndet till närmaste hindret är lika med avståndet från ytan själv.
Om vår robot kommer att nå några objekt som ligger på ytan, är avståndet mycket mindre än standardavståndet till ytan (Lmax).
Så är det enklaste sättet att nå det första målet att hålla vår robot flyttar inom detta avstånd intervall.
På samma sätt kan du nå det andra målet - undvika tabell kanter. Om avståndet är mer än Lmax är det mer sannolikt att roboten leder till tabell kanten.
Låt oss definiera två grundläggande regler:
- När avståndet till hinder (D) inom spänna Lmin och Lmax robot kommer att gå rakt framåt
- När D är större än Lmax eller mindre än Lmin robot kommer att rotera tills den hittar riktning med D ligga inom säker intervall
Roboten har 2 hjul. Det kommer att driva under den mest grundläggande algoritmen för en robot - differential enhet:
- för att köra raka framåt båda hjulen lika hastighet
- för att driva omvänd flytta båda hjulen tillbaka på samma hastighet
- för att sväng vänster vänstra hjulet flyttas bakåt och höger hjulet rör sig framåt
- Om du vill aktivera höger högra hjulet flyttas i omvänd och vänstra hjulet flyttas fram
I ditt fall servon är placerade i motsatta riktningar så som för en av dem robot framåt flyttar innebär Medsols rotation, för en annan - motsols. Försök att hålla detta i åtanke.
Ta en titt på det exemplet skiss, prova det och börja genomföra anpassade beteende!