Tips om hur vi väljer microprocessor?
Tips om hur vi väljer microprocessor?
Hej och goddag!
Vi är i starten av att bygga en robot och undrar hur vi ska uppskatta hur kraftig microprocessor vi kommer behöva.
Roboten ska kunna balansera .på två hjul, dvs som en inverterad pendel.
Den ska även kunna röra sig på ett bord och detektera kanter utan att ramla ner samt kunna se väggar och människor. Människoigenkänningen kommer vara så simpel som möjligt, typ att roboten känner igen en ljus fläck. Samt kunna åka framåt och kunna rotera.
Så saker vi kommer göra i processorn:
1: Balansera med hjälp av PID eller LQR-reglering.
2: Läsa sensorvärden från accelerometer, gyroskop, upp till 5 avståndsmätare (inte helt klart hur många det bli), encoders, färgsensor eller kamera.
3: Filtrera, sannolikt med Kalman-filtrering.
4: lättare bildbehandling. (Färgigenkänning)
Vi är inte säkra på om vi kommer behöva köra några parallella processer och vi vill gärna slippa köra något RTOS.
De vi har funderat på mest är Arduino Mega2560 och Leaf Maple Cortex M3 Dev-10664.
Men vi känner att vi faktiskt inte riktigt vet hur vi motiverar valen eller om valen ens kommer klara det vi vill.
Varför vi har valt Arduino är mest för att det verkar vara relativt lätt att programmera samt att det finns stora tillgångar i form av forum osv på nätet där.
Så, har ni några tips på läsning vi kan läsa för att kunna motivera våra val?
Vi har en tidsplan så vi vill helst slippa läsa böcker på 300+ sidor.
Och vad tror ni spontant om projektet?
Vi är i starten av att bygga en robot och undrar hur vi ska uppskatta hur kraftig microprocessor vi kommer behöva.
Roboten ska kunna balansera .på två hjul, dvs som en inverterad pendel.
Den ska även kunna röra sig på ett bord och detektera kanter utan att ramla ner samt kunna se väggar och människor. Människoigenkänningen kommer vara så simpel som möjligt, typ att roboten känner igen en ljus fläck. Samt kunna åka framåt och kunna rotera.
Så saker vi kommer göra i processorn:
1: Balansera med hjälp av PID eller LQR-reglering.
2: Läsa sensorvärden från accelerometer, gyroskop, upp till 5 avståndsmätare (inte helt klart hur många det bli), encoders, färgsensor eller kamera.
3: Filtrera, sannolikt med Kalman-filtrering.
4: lättare bildbehandling. (Färgigenkänning)
Vi är inte säkra på om vi kommer behöva köra några parallella processer och vi vill gärna slippa köra något RTOS.
De vi har funderat på mest är Arduino Mega2560 och Leaf Maple Cortex M3 Dev-10664.
Men vi känner att vi faktiskt inte riktigt vet hur vi motiverar valen eller om valen ens kommer klara det vi vill.
Varför vi har valt Arduino är mest för att det verkar vara relativt lätt att programmera samt att det finns stora tillgångar i form av forum osv på nätet där.
Så, har ni några tips på läsning vi kan läsa för att kunna motivera våra val?
Vi har en tidsplan så vi vill helst slippa läsa böcker på 300+ sidor.
Och vad tror ni spontant om projektet?
- 13th.Marine
- EF Sponsor
- Inlägg: 7310
- Blev medlem: 31 december 2004, 16:26:37
- Ort: Trelleborg
Re: Tips om hur vi väljer microprocessor?
Jag tror tyvärr att ni kommer behöva köra något RTOS för att få allt dedär att gå ihop.
Således trro jag att ni har bättre nytta av en Cortex-processor.
Således trro jag att ni har bättre nytta av en Cortex-processor.
Re: Tips om hur vi väljer microprocessor?
På sidan 56 i följande föreläsningsmaterial finns en sammanfattning över design val
http://www.cse.chalmers.se/~arne/syntes/F01.pdf
Kanske inte direkt det du eftersöker med det ger lite hum om vad man mer bör tänka på.
http://www.cse.chalmers.se/~arne/syntes/F01.pdf
Kanske inte direkt det du eftersöker med det ger lite hum om vad man mer bör tänka på.
Re: Tips om hur vi väljer microprocessor?
Ska ni ha själva "balanseringen" i samma processor som övrig
avkänning av sensorer m.m?
> Vi är inte säkra på om vi kommer behöva köra några parallella processer...
Vad menar du med "parallella" ? Ingen processor kan köra någonting
parallellt om den inte har 2 eller fler kärnor/cores.
> ...och vi vill gärna slippa köra något RTOS.
Nej, det *måste* man ju aldrig göra. Rent tekniskt kan ni göra samma
sak i eran egen programvara. Ibland kan det också vara en fördel att
göra det, d.v.s om RTOS'et inte räcker till för det man vill göra.
> De vi har funderat på mest är Arduino Mega2560
Tveksamt om Arduinons miljö räcker till för detta.
> Varför vi har valt Arduino är mest för att det verkar vara relativt lätt att programmera...
Hm...
Nu så är ju det ni vill göra inget som är direkt "lätt att programera" i alla fall,
oavsett vilka vertyg och vilken plattform ni väljer. Och som sagt, tveksamt om Arduino
är helt rätt för detta. Sannolikt passar inte Arduinos "burkade" rutiner och då
kan ni lika gärna programmera en "naken" processor med ASM eller C direkt.
avkänning av sensorer m.m?
> Vi är inte säkra på om vi kommer behöva köra några parallella processer...
Vad menar du med "parallella" ? Ingen processor kan köra någonting
parallellt om den inte har 2 eller fler kärnor/cores.
> ...och vi vill gärna slippa köra något RTOS.
Nej, det *måste* man ju aldrig göra. Rent tekniskt kan ni göra samma
sak i eran egen programvara. Ibland kan det också vara en fördel att
göra det, d.v.s om RTOS'et inte räcker till för det man vill göra.
> De vi har funderat på mest är Arduino Mega2560
Tveksamt om Arduinons miljö räcker till för detta.
> Varför vi har valt Arduino är mest för att det verkar vara relativt lätt att programmera...
Hm...
Nu så är ju det ni vill göra inget som är direkt "lätt att programera" i alla fall,
oavsett vilka vertyg och vilken plattform ni väljer. Och som sagt, tveksamt om Arduino
är helt rätt för detta. Sannolikt passar inte Arduinos "burkade" rutiner och då
kan ni lika gärna programmera en "naken" processor med ASM eller C direkt.
Re: Tips om hur vi väljer microprocessor?
kör med Arduinon,
det finns ju massor med färdig kod på nätet där Arduino 2009 (Atmega328) gör allt utom din "människoigenkänning"
men det kanske inte är nödvändigt att skilja på om det är Kalle eller Stina eller ett annat hinder som dyker upp?
Med Atmega2560 finns ju kapacitet kvar.
http://www.arduino.cc/cgi-bin/yabb2/YaB ... 1284738418
http://www.arduino.cc/cgi-bin/yabb2/YaB ... 1291023689
det finns ju massor med färdig kod på nätet där Arduino 2009 (Atmega328) gör allt utom din "människoigenkänning"
men det kanske inte är nödvändigt att skilja på om det är Kalle eller Stina eller ett annat hinder som dyker upp?
Med Atmega2560 finns ju kapacitet kvar.
http://www.arduino.cc/cgi-bin/yabb2/YaB ... 1284738418
http://www.arduino.cc/cgi-bin/yabb2/YaB ... 1291023689
Re: Tips om hur vi väljer microprocessor?
Tackar för att flera har tagit sig tid att svara!
Efter lite funderande och rådgörande med några vänner under helgen så har vi nog slutit oss till att Arduinon inte kommer att räcka till, det lutar alltså åt Maple-kortet.
NIFELHEIM:
>men det kanske inte är nödvändigt att skilja på om det är Kalle eller Stina eller ett annat hinder som dyker upp?
Jo, det är det för att roboten inte ska ställa sig vid en vägg och stå där. Sen kan vi inte bara "köra" på något utan att vara någorlunda säkra på att det kommer fungera.
Men tack för länkarna! Finns en del matnyttigt där!
SODJAN:
>Ska ni ha själva "balanseringen" i samma processor som övrig
avkänning av sensorer m.m?
Tanken är nog att köra så mycket som möjligt på samma processor, helst allt.
>Vad menar du med "parallella"?
Jag menar just det att vi inte vill behöva ha fler processorer.
>Tveksamt om Arduinons miljö räcker till för detta.
Menar du själva programmeringsmiljön eller Arduinon i allmänt?
Har man inte samma möjligheter i Arduino som vanlig C programmering?
PSYNOISE:
>På sidan 56 i följande föreläsningsmaterial finns en sammanfattning över design val
Var det verkligen s 56 du menade?
13th.Marine:
>Jag tror tyvärr att ni kommer behöva köra något RTOS för att få allt dedär att gå ihop.
Varför tror du att det behövs ett RTOS?
Efter lite funderande och rådgörande med några vänner under helgen så har vi nog slutit oss till att Arduinon inte kommer att räcka till, det lutar alltså åt Maple-kortet.
NIFELHEIM:
>men det kanske inte är nödvändigt att skilja på om det är Kalle eller Stina eller ett annat hinder som dyker upp?
Jo, det är det för att roboten inte ska ställa sig vid en vägg och stå där. Sen kan vi inte bara "köra" på något utan att vara någorlunda säkra på att det kommer fungera.
Men tack för länkarna! Finns en del matnyttigt där!
SODJAN:
>Ska ni ha själva "balanseringen" i samma processor som övrig
avkänning av sensorer m.m?
Tanken är nog att köra så mycket som möjligt på samma processor, helst allt.
>Vad menar du med "parallella"?
Jag menar just det att vi inte vill behöva ha fler processorer.
>Tveksamt om Arduinons miljö räcker till för detta.
Menar du själva programmeringsmiljön eller Arduinon i allmänt?
Har man inte samma möjligheter i Arduino som vanlig C programmering?
PSYNOISE:
>På sidan 56 i följande föreläsningsmaterial finns en sammanfattning över design val
Var det verkligen s 56 du menade?
13th.Marine:
>Jag tror tyvärr att ni kommer behöva köra något RTOS för att få allt dedär att gå ihop.
Varför tror du att det behövs ett RTOS?
-
limpan4all
- Inlägg: 8510
- Blev medlem: 15 april 2006, 18:57:29
- Ort: Typ Nyköping
Re: Tips om hur vi väljer microprocessor?
Cortex M4 hela dagen. Bättre än M3 och ni får lite DSP funktionalitet.
T.ex Freescale K60 som skall ha sitt "fulla" M4 kisel (K60) klart när ni väl kommer till skott.
T.ex Freescale K60 som skall ha sitt "fulla" M4 kisel (K60) klart när ni väl kommer till skott.
Re: Tips om hur vi väljer microprocessor?
Japp, eftersom du skrev om mikroprocessor antog jag att valen även stod mellan PC, mikrokontroller och DSP. Diagrammen på sidan 56 visar för och nackdelarna med dessa. Dock verkar tråden nu endast handla om mikrokontrollers.mishral skrev:PSYNOISE:
>På sidan 56 i följande föreläsningsmaterial finns en sammanfattning över design val
Var det verkligen s 56 du menade?
Re: Tips om hur vi väljer microprocessor?
ok.... Har du någon länk till något sådant?limpan4all skrev:Cortex M4 hela dagen. Bättre än M3 och ni får lite DSP funktionalitet.
T.ex Freescale K60 som skall ha sitt "fulla" M4 kisel (K60) klart när ni väl kommer till skott.
Hittar inget när jag googlar.
>klart när ni väl kommer till skott
Vad menas?
Vi har ju redan börjat med projektet så att vänta ett halvår eller nåt är ju inte aktuellt.
Cortex M3 räcker nog gott och väl åt oss skulle jag tro.
-
limpan4all
- Inlägg: 8510
- Blev medlem: 15 april 2006, 18:57:29
- Ort: Typ Nyköping
Re: Tips om hur vi väljer microprocessor?
http://www.freescale.com/webapp/sps/sit ... &tid=mKOvp
Kostar <10USD i normala kvantiteter dvs billigare än Cortex M3.
Just nu finns det ingen DDR2 kontroller eller FPU men det kommer i kislet som är klart 2kv 2012.
Kostar <10USD i normala kvantiteter dvs billigare än Cortex M3.
Just nu finns det ingen DDR2 kontroller eller FPU men det kommer i kislet som är klart 2kv 2012.
Re: Tips om hur vi väljer microprocessor?
Vill man köra Cortex-M4 så är ett annat alternativ TIs Stellaris LM4-serie, de är mer "mikrokontroller" än K60, har integrerad flash, minne (mindre än K60), massor av runt-enheter (och ja, har FPU och SIMD-enhet), dock ingen extern minnesbuss etc.. Köpte ett antal från Mouser så sent som för en vecka sen.
