Linjeföljande robot med kamera
Linjeföljande robot med kamera
Jag har börjat planera ett litet projekt med en linjeföljande robot som ska använda sig av en s/v kamera för att hitta linjen den ska följa. Tekniken jag hade tänkt använda för att få fram vägen är att man plockar ut ett godtyckligt antal rader från bilden (överväger 3 eller max 4) som jag sedan tänk att jag ska låta mikroprocessorn bearbeta ner till drygt 10 punkter/linje utifrån vilka man sedan kan hitta linjen i (man får ju självklart se till så att nedskalningen inte plockar bort pixlarna med linjen ^_^ )
Annat funderar jag på att kunna, vid behov, bryta in och styra den från min Palm men jag har inte riktigt funderat ut med vilken överförning styrningen ska ske. BT skulle vara tufft, men det lutar nog mot IR eller ev radio.
Det borde ju vara någon annan som håller på med något liknande projekt, så om ni har några tankar runt det hela så är jag väldigt intresserad av alla tänkbara förslag.
Annat funderar jag på att kunna, vid behov, bryta in och styra den från min Palm men jag har inte riktigt funderat ut med vilken överförning styrningen ska ske. BT skulle vara tufft, men det lutar nog mot IR eller ev radio.
Det borde ju vara någon annan som håller på med något liknande projekt, så om ni har några tankar runt det hela så är jag väldigt intresserad av alla tänkbara förslag.
Blir inte så svårt att få in bilden. Jag planerar att använda en kamera någonting liknande den Kjell & Co har. Den ger en compositsignal ut, och i och med att jag bara ska ha s/v så blir det inte så svårt att koda av.
Bara att räkna antalet linjesync signaler man får in, och sedan börja sampla ett antal värden när man väl kommit fram till rätt rad. Efter det hinner man förmodligen skala ner den innan det är dags för nästa rad man vill ha tag på. Detta skulle vara svårt om man ska ha varje rad, men eftersom det bara blir 3-4st/bild så blir det drygt. 50*3*16+overhead ~3KHz man måste sampla i för att få 16 punkter per utplockad rad.
Kom just på att det inte är livsviktigt att man plockar rader 24 rutor per sekund heller med tanke på att fordonet knappast hinner förflytta sig speciellt mkt emellan bilderna. kanske 8ggr/sekund räcker. Då har man gott om tid att göra annat också.
Bara att räkna antalet linjesync signaler man får in, och sedan börja sampla ett antal värden när man väl kommit fram till rätt rad. Efter det hinner man förmodligen skala ner den innan det är dags för nästa rad man vill ha tag på. Detta skulle vara svårt om man ska ha varje rad, men eftersom det bara blir 3-4st/bild så blir det drygt. 50*3*16+overhead ~3KHz man måste sampla i för att få 16 punkter per utplockad rad.
Kom just på att det inte är livsviktigt att man plockar rader 24 rutor per sekund heller med tanke på att fordonet knappast hinner förflytta sig speciellt mkt emellan bilderna. kanske 8ggr/sekund räcker. Då har man gott om tid att göra annat också.
Senast redigerad av Necator 9 december 2003, 17:56:13, redigerad totalt 1 gång.
Mobba mig inte nu för att jag skickar en länk till Howstuffworks =)
http://entertainment.howstuffworks.com/tv3.htm
Här visar dom lite över hur compositsignalen ser ut. Vet inte riktigt om det är ntsc eller pal som det där gäller, men idén borde vara densamma ändå.
Har tyvärr inte hittat någon bättre dokumentation av compositsignaler, men i annat fall får man ta och köra igång ocilloskopet och ta sig en titt.
http://entertainment.howstuffworks.com/tv3.htm
Här visar dom lite över hur compositsignalen ser ut. Vet inte riktigt om det är ntsc eller pal som det där gäller, men idén borde vara densamma ändå.
Har tyvärr inte hittat någon bättre dokumentation av compositsignaler, men i annat fall får man ta och köra igång ocilloskopet och ta sig en titt.
Jag skulle nog försöka få en mer kontinuerlig inläsning än 16punkter per rad. Du kanske kan läsa in så fort du hinner och spara punktnumret när det sker en förändring. Eller sampla så fort det går och leta efter interesant information mellan avläsningarna. Lycka till
Den info jag har om hur signalen ser ut är på papper så jag kan inte lägga ut den. Men det finns nog enheldel på biblioteket. TV tekniken är ju ganska gammal. Särskilt den svart vita.
EDIT: stavning & kompletering
Den info jag har om hur signalen ser ut är på papper så jag kan inte lägga ut den. Men det finns nog enheldel på biblioteket. TV tekniken är ju ganska gammal. Särskilt den svart vita.
EDIT: stavning & kompletering
hej
ett litet tips på vägen
om du ska få in videosignalen till en AD omvandlare kan du använda en synk-separator för att veta när du ska sampla...
sök exempelvis på LM1881 som är en synkseparator. Jag tror jag har gjort ett kretskort med en sådan krets men jag kunde inte hitta ritningen på datorn... dåligt ordning på katalogerna som vanligt...
Edit: förresten, har du funderat på att vara med i robotracet? http://www.studorg.liu.se/admittansen/R ... index.html
/Johan
ett litet tips på vägen
om du ska få in videosignalen till en AD omvandlare kan du använda en synk-separator för att veta när du ska sampla...
sök exempelvis på LM1881 som är en synkseparator. Jag tror jag har gjort ett kretskort med en sådan krets men jag kunde inte hitta ritningen på datorn... dåligt ordning på katalogerna som vanligt...
Edit: förresten, har du funderat på att vara med i robotracet? http://www.studorg.liu.se/admittansen/R ... index.html
/Johan
Hehe. Just det jag planerar. Tänkte försöka vara ute i god tid för risken är överhängande att det kommer massa studier emellan och sedan så är det plötsligt för sent =)
Det fanns ett ganska coolt projekt förra året. En mini RC-bil (4-5cm lång) som blivit lite slaktad och fungerade som linjeföljande robot. Tyvärr så var tejpen för bred så bilen tappade riktningen och började snurra runt runt efter ca 20% av banan.
EDIT:
här är förresten en bild på den:
http://www.studorg.liu.se/admittansen/R ... mal_02.jpg
Det fanns ett ganska coolt projekt förra året. En mini RC-bil (4-5cm lång) som blivit lite slaktad och fungerade som linjeföljande robot. Tyvärr så var tejpen för bred så bilen tappade riktningen och började snurra runt runt efter ca 20% av banan.
EDIT:
här är förresten en bild på den:
http://www.studorg.liu.se/admittansen/R ... mal_02.jpg
Timingen som nämns på howstuffworks refererar till NTSC (30 bilder/s).
I övrigt ser kompositsignalen likadan både i NTSC och PAL, dvs. när det gäller intensiteten. Färgkodningen är det som skiljer systemen åt.
PAL(Phase Alteration Line?) utvecklades bl.a. för att NTSC har en hel del problem med att färgkodningen lätt blir förvrängd. Det är ingen slump att digital-TV säljer bra i staterna. Titta på ett hockeyreferat filmat i NTSC. De ser för gräsliga ut med färgblödningar och rödstick. Visserligen kan man skylla lite på konverteringen till PAL, men ändå...
PS Jag är inget hockeyfan, inte på långa vägar.
I övrigt ser kompositsignalen likadan både i NTSC och PAL, dvs. när det gäller intensiteten. Färgkodningen är det som skiljer systemen åt.
PAL(Phase Alteration Line?) utvecklades bl.a. för att NTSC har en hel del problem med att färgkodningen lätt blir förvrängd. Det är ingen slump att digital-TV säljer bra i staterna. Titta på ett hockeyreferat filmat i NTSC. De ser för gräsliga ut med färgblödningar och rödstick. Visserligen kan man skylla lite på konverteringen till PAL, men ändå...
PS Jag är inget hockeyfan, inte på långa vägar.