RR.O.P. - RaspRobot OpenCV projekt (9 / 14 steg)
Steg 9: Horisontell & i djup rörelse använder CVS pt2.
Detta steg kommer att beskrivas i djup och horisontella rörelser.
Men som kommer att tjäna den djupa rörelsen??? Ja, denna rörelse är användbart!
Det utvecklades att chassit att flytta framåt och bakåt för att zooma in eller ut objekt (grön färg). Denna rörelse är baserad på området av önskad färg (grön) på bilden / ram. Till detta var den logiska tänkandet: Låt inte objektet överskrider det önskade avståndet och kunde kollidera med chassit eller ens för att distansera, peka av chassit glömma det och du kan inte fånga den! Detta fall har angetts en minsta storlek för objektet 50 pixlar vilket motsvarar ca 50 cm från chassit (kan variera i projektet). Och genom en området gränsen, systemet kommer att vara statisk (icke-rörliga) och således objektet närmar sig eller lämnar, görs inställningen minimum och maximalt avstånd för att inte förlora objektet och / eller för att undvika kollision objekt med chassit. "MOVIMENTO_PROFUNDIDADE.py" koden exemplifierar denna rörelse.
Nedan en video exemplifierar! Njuta av det! :-)
Tillsammans med djup rörelse kommer att beskrivas horisontell rörelse. Men varför Saymon?? Eftersom båda använder samma motorer! : P
Alla styrfunktioner analyseras och ange riktningen för robot kunde flytta på samma axel (i detta fall, flytta höger och vänster). Som kontrollen är horisontell, var dessa motorer konfigurerad för att vara på väg med koordinaten för X-axeln (horisontell), att även X-axel koordinaten för beslutsfattande och nödvändiga justeringar.
Justeringen utförs enligt följande:
Tillsammans med djup rörelse kommer att beskrivas horisontell rörelse. Men varför Saymon?? Eftersom båda använder samma motorer! : P
Alla styrfunktioner analyseras och ange riktningen för robot kunde flytta på samma axel (i detta fall, flytta höger och vänster). Som kontrollen är horisontell, var dessa motorer konfigurerad för att vara på väg med koordinaten för X-axeln (horisontell), att även X-axel koordinaten för beslutsfattande och nödvändiga justeringar.
Justeringen utförs enligt följande:
Det startas från frame segmentering och bearbetning och steg är dynamisk dvs kan komma att ändras enligt behovet av justeringen. Där den minsta arealen (anses vara skickliga) var inställd på att 50 pixlar vilket motsvarar ca 50 cm från chassit. En funktion för att visa en cirkel på centroiden för objektet användes för att förbättra tolkningen av erkännande i alla rörelser, samt integration presenteras i nästa steg. För funktioner för horisontell justering, korrekt, utvecklades en logik för alla segmentering, utvinning av bildinformation och tekniker för horisontell justering. Denna teknik använder mitten av ramen som referens inställning, och från den ena sidan avgränsas begränsa till höger och vänster, vilket gör det acceptabelt att köra upp till 60% av det sammanlagda området av axeln i X-axeln, dvs 30% på varje sida, med tanke på mitten av ramen. Om koordinaterna uppfyller de påtvingade gränserna, utföra chassit inte någon rörelse; motorerna stoppas (off), med tanke på begränsad till objektet vågrätt.
För detta fall koden "MOVIMENTO_HORIZONTAL.py" är ett exempel! Prova och vi kommer att fortsätta vårt projekt!
Efter detta steg, gå till den vertikala rörelse som använder en annan motor motor! :-)