Go Down

Topic: Official topic: multicotteri con arduino! (Read 361290 times) previous topic - next topic

milvusmilvus

penso che la critica sia fatta a chi si limita a collegare i fili come negli schemi e a fare copia incolla con il codice.. non c'è bisogno di scrivere sul forum per fare questo, imparare qualcosa è sempre meglio

astrobeed


solo perchè usa una scheda che sta diventando "stretta" per il software.


Proprio ieri mi sono messo ad analizzare con calma il software del multiwii, più che altro per curiosità, a parte l'enorme quantità di hardware diverso gestibile e configurazioni di volo, solo la parte di define per compilazione condizionale è enorme, in effetti sono arrivati al limite dell'ATmega, non tanto come memoria flash quanto come possibilità di calcolo.
Se vogliono aggiungere altre funzionalità devono per forza prendere in considerazione l'uso di un secondo micro su cui decentrare parte delle funzioni.
Comunque per il momento il multiwii è solo un sistema di stabilizzazione del mezzo, non ha nessuna funzionalità di UAV vero e proprio e con l'attuale hardware è praticamente impossibile averle.
Scientia potentia est

ratto93

#197
Jul 18, 2011, 09:45 am Last Edit: Jul 18, 2011, 09:52 am by ratto93 Reason: 1
Scusate se mi intrometto ma...
@flameman il tuo ultimo post i pare quantomeno fuori luogo ... ho capito che vuoi fare una cosa ultra professionale ma sai... a volte le persone hanno famiglia, lavoro, problemi, progetti ed altro per la testa e a volte seguire una cosa così impegnativa diventa complicato.
Altri come me semplicemente si stanno studiando l'argomento ed ogni tanto intervengono per chiedere... non tutti conoscono formule di matematica o filtri matematici che arrivano boh da dove ???
Io ad esempio devo andare in 5° all'itis .. di matematica ne facciamo tanta, ma tanta però capisco a malapena i discorsi che erano venuti fuori nel vecchio topic in cui avevate messo le equazioni..
quindi o continui a cercare qualcuno alla tua altezza oppure non venire a dar colpa agli altri perche non ti seguono  :smiley-mr-green:
p.s.(Te lo dico molto serenamente senza rancori ;) )
Se corri veloce come un fulmine, ti schianterai come un tuono.

astrobeed


io ad esempio devo andare in 5° all'itis .. di matematica ne facciamo tanta ma tanta ma io capisco a malapena i vostri discorsi che erano venuti fuori nel vecchio topic in cui avevate messo le equazioni..


Credo che hai messo perfettamente a fuoco la questione, molti di quelli che seguono questo forum sono ragazzi giovani e molti di quelli più grandi sono persone "normali" che sanno poco di programmazione, elettronica, fisica, matematica etc, non per questo sono "figli di un dio minore".
Proprio per i motivi citati sopra è bene tenere normalmente un profilo basso scrivendo le cose nel modo più semplice possibile, e non sempre è facile farlo, poi se l'eventuale thread prende una piega tecnica superiore perché i vari interlocutori hanno le necessarie basi ben venga, ma questa non è la regola.
Scientia potentia est

superlol



io ad esempio devo andare in 5° all'itis .. di matematica ne facciamo tanta ma tanta ma io capisco a malapena i vostri discorsi che erano venuti fuori nel vecchio topic in cui avevate messo le equazioni..


Credo che hai messo perfettamente a fuoco la questione, molti di quelli che seguono questo forum sono ragazzi giovani e molti di quelli più grandi sono persone "normali" che sanno poco di programmazione, elettronica, fisica, matematica etc, non per questo sono "figli di un dio minore".
Proprio per i motivi citati sopra è bene tenere normalmente un profilo basso scrivendo le cose nel modo più semplice possibile, e non sempre è facile farlo, poi se l'eventuale thread prende una piega tecnica superiore perché i vari interlocutori hanno le necessarie basi ben venga, ma questa non è la regola.


io stesso ho 16 anni non tanti e mi sono appassionato al volo ed all'elettronica e di filtri non so molto, equazioni complicate ecc.. però so che un atmega è al limite e come ha detto astrobeed con questo hardware non è possibile implementare un vero e proprio UAV non per niente altri progetti (vedi multipilot) sono passati su piattaforma dedicata ARM a 32 bit.

credo che ora cercheranno di ottimizzare al possibile le equazioni e vari sistemi di lettura così da poter implementare ancora qualcosa ma con l'ultima relase in dev sono già incappati nel limite.

comunque anche la memoria ha il suo peso sinceramente, basta notare che il software per atmega168 non viene più compilato proprio per mancanza di spazio e ram  ;)
http://www.aug-altogarda.it/ <- Il nuovo AUG per basso trentino e dintorni!

milvusmilvus

se il problema è solo la capacita di calcolo, credo che il 16 settebre esca il nuovo arduino a 32 bit....


cito Massimo Banzi ---> http://arduino.cc/forum/index.php/topic,66553.0.html

Quote
Non è cosi semplice migrare una community a 32bit, ci vuole tempo ed il prodotto giusto. bisogna fare un sacco di "test" sugli utenti etc.. Inoltre tutta la documentazione va aggiornata per far capire cosa ve e cosa non va....

Detto questo Il 16 settembre io leggerei il blog di Arduino....


per ora però si potrebbe implementare un sistema con 2 arduino, che comunicano 1 si occupa del "volo" e la stabilizzazione con il multiwii, l' altro si occupa di gestire  i percorsi, l' atterraggio, il decollo, insomma tutte le funzionalità uav, e tramite il primo gestisce i motori

superlol


se il problema è solo la capacita di calcolo, credo che il 16 settebre esca il nuovo arduino a 32 bit....


cito Massimo Banzi ---> http://arduino.cc/forum/index.php/topic,66553.0.html

Quote
Non è cosi semplice migrare una community a 32bit, ci vuole tempo ed il prodotto giusto. bisogna fare un sacco di "test" sugli utenti etc.. Inoltre tutta la documentazione va aggiornata per far capire cosa ve e cosa non va....

Detto questo Il 16 settembre io leggerei il blog di Arduino....


per ora però si potrebbe implementare un sistema con 2 arduino, che comunicano 1 si occupa del "volo" e la stabilizzazione con il multiwii, l' altro si occupa di gestire  i percorsi, l' atterraggio, il decollo, insomma tutte le funzionalità uav, e tramite il primo gestisce i motori

quindi 2 ardunio, più costi, nuove schede, con quel tanto si va ad acquistare un'altra scheda. per non parlare del fatto che molti non sanno di elettronica quindi gli arriva addosso una serie di cose da fare non da poco (a parte i collegamente che sono il male minore bisogna flashare 2 micro, verifiche di software non da poco e poi i costi salgono, un'altra scheda sono altri 20€ ed altro peso..)
http://www.aug-altogarda.it/ <- Il nuovo AUG per basso trentino e dintorni!

ratto93

per avere entrambe le funzioni di stabilizzazione e controllo autonomo, non converrebbe passare a versioni tipo l'ATmega 664 quello del Sanguino per intenderci? è sempre ad 8bit ma ha più memoria sia ram e flash....
oppure pensare davvero di usare il Multipilot Mega.... quello con abbordo l'ATmega 1280....
Se corri veloce come un fulmine, ti schianterai come un tuono.

superlol


per avere entrambe le funzioni di stabilizzazione e controllo autonomo, non converrebbe passare a versioni tipo l'ATmega 664 quello del Sanguino per intenderci? è sempre ad 8bit ma ha più memoria sia ram e flash....
oppure pensare davvero di usare il Multipilot Mega.... quello con abbordo l'ATmega 1280....

qui principalmente non è un problema di memoria ma appunto di velocità nell'eseguiree i calcoli, 1ms è tanto in questi sistemi e qui si sfora alla grande, insomma ci vuole un 32 bit perchè esegue più cicli, clock maggiore, stesse istruzioni svolte in un settimo del tempo

quello è perchè si passa al 32 bit non per il numero di pin o memoria
http://www.aug-altogarda.it/ <- Il nuovo AUG per basso trentino e dintorni!

astrobeed

#204
Jul 18, 2011, 01:59 pm Last Edit: Jul 18, 2011, 02:01 pm by astrobeed Reason: 1

se il problema è solo la capacita di calcolo, credo che il 16 settebre esca il nuovo arduino a 32 bit....


Questo è da vedersi, inoltre il fatto che un micro sia a 32 bit non vuol dire che ha molta potenza di calcolo  :)
Ti faccio un esempio banale, un ARM7 a 60 MHz è il livello base di questi micro, è un 32 bit, può indirizzare tutta la ram/flash che desideri, parliamo di megabyte, però nei calcoli matematici complessi un "umile" dsPIC 33, è un 16 bit, con clock (interno) a 40 MHz gli fa marameo perché dispone di un core dsp che gli da una marcia in più, oltretutto costa meno della metà di un ARM7.
Dovendo scegliere tra un ARM7 e un dsPIC per implementare la parte navigazione del quadricottero preferisco sicuramente usare il dsPIC.

Quote

per ora però si potrebbe implementare un sistema con 2 arduino,


Indubbiamente una architettura multiprocessore, quindi distribuendo i vari compiti, aiuta molto però una MCU a 8 bit non ha la potenza di calcolo per gestire in tempo reale la navigazione tra waypoint e tantomeno per gestire il volo totalmente autonomo del quadricottero.
Un conto è stabilizzare gli assi, ovvero portare l'assetto a 0 non appena si rilasciano gli stick ed evitare movimenti troppo bruschi, e un conto è far volare da solo il tutto.
Lo stesso autore del multiwii nelle f.a.q. è molto chiaro su questo punto, il software non è in grado di tenere il mezzo perfettamente fermo su un certo punto, può solo tenerlo livellato ed evitare che acceleri troppo in una direzione, tenere il quadri fermo in hovering, o farlo muovere, è compito del pilota.
Scientia potentia est

milvusmilvus

una rduino nanon non pesa tantissimo.... però se vogliamo fare un uav con arduino, credo sia l' unica soluzione, per ora...oppure facciamo una scheda con 2 atmega, se qualcuno non vuole spendere altri 20 euro, o non vuole complicarsi la vita, o sempicemente non vuole un uav, si fa il multicottero "standard" come ce ne sono tanti in internet

non è una critica, solo che si potrebbe fare qualcosa in piu rispetto a quelli gia esistenti, oppure si aspetta arduino a 32 bit, e si implementano le funzioni uav


per avere entrambe le funzioni di stabilizzazione e controllo autonomo, non converrebbe passare a versioni tipo l'ATmega 664 quello del Sanguino per intenderci? è sempre ad 8bit ma ha più memoria sia ram e flash....
oppure pensare davvero di usare il Multipilot Mega.... quello con abbordo l'ATmega 1280....


non credo sia solo questione di memoria, ma di capacità di calcolo, quindi o di monta un chip piu potente, o si cerca di farne lavorare 2 insieme

io credo che un arduino dedicato alla navigazione sia sufficente, forse con dei limiti, ma dovrebbe riuscire a fare qualcosa... forse il 32bit, non sara potentissimo, ma credo che se non fosse un passo in avanti, non sarebbe implementato

ratto93

#206
Jul 18, 2011, 02:09 pm Last Edit: Jul 18, 2011, 02:12 pm by ratto93 Reason: 1
ATXmega..... si possono usare a 32Mhz ma hanno risorse ben più potenti dei normali ATmega
Credo che in qualche modo modificando l'IDE di arduino si possano programmare....

Si Astrobeed si potrebbero usare i DsPic io avevo provato ad usarne uno ma l'Ide MPLAB non mi piace e usare MickroC non mi gusta nemmeno e poi non sono il nostro arduino :P
Se corri veloce come un fulmine, ti schianterai come un tuono.

astrobeed


io credo che un arduino dedicato alla navigazione sia sufficente, forse con dei limiti, ma dovrebbe riuscire a fare qualcosa... forse il 32bit, non sara potentissimo, ma credo che se non fosse un passo in avanti, non sarebbe implementato


Al momento si potrebbe prendere in considerazione la scheda di Digilent, la chipKIT UNO32, o la versione Mega32, costa come un normale Arduino e sopra c'è un processore 32 bit che è decisamente superiore agli ARM7.
E' vero che con la chipKIT ci sono problemi di compatibilità con alcune shield, ma ci saranno lo stesso anche con un ipotetico futuro Arduino ufficiale a 32 bit, e che diverse librerie esterne all'IDE non si possono usare senza prima modificare tutte le parti che accedono direttamente all'hardware, ma in questo caso non credo sia un problema.
Diciamo che usare questa scheda è un modo semplice e poco costoso per poter disporre di molta potenza di calcolo, e anche molta memoria, senza doversi costruire schede e/o spendere molti soldi.
Scientia potentia est

astrobeed


ATXmega..... si possono usare a 32Mhz ma hanno risorse ben più potenti dei normali ATmega


Indubbiamente gli ATXmega sono più performanti degli ATmega, però siamo ancora lontani da quello che serve per un sistema di navigazione e volo autonomo.
Scientia potentia est

superlol



io credo che un arduino dedicato alla navigazione sia sufficente, forse con dei limiti, ma dovrebbe riuscire a fare qualcosa... forse il 32bit, non sara potentissimo, ma credo che se non fosse un passo in avanti, non sarebbe implementato


Al momento si potrebbe prendere in considerazione la scheda di Digilent, la chipKIT UNO32, o la versione Mega32, costa come un normale Arduino e sopra c'è un processore 32 bit che è decisamente superiore agli ARM7.
E' vero che con la chipKIT ci sono problemi di compatibilità con alcune shield, ma ci saranno lo stesso anche con un ipotetico futuro Arduino ufficiale a 32 bit, e che diverse librerie esterne all'IDE non si possono usare senza prima modificare tutte le parti che accedono direttamente all'hardware, ma in questo caso non credo sia un problema.
Diciamo che usare questa scheda è un modo semplice e poco costoso per poter disporre di molta potenza di calcolo, e anche molta memoria, senza doversi costruire schede e/o spendere molti soldi.


io ho sentito che hanno problemi coi bus, soprattutto I2C che in questo progetto è fondamentale.

però si potrebbe riscrivere il software da tutta la community italiana (nel senso riadattarlo) per un chip più potente "convertito" ad arduino.

intendo che alla fine arduino non è altro che una scheda con un microcontrollore e una serie di chip per rendere più facile la prototipazione e il caircamento, flashando da ISP un bootloader per dsPIC e facendo una schedina con le stesse caratteristice (anche i dsPic supportano il ICSP da quanto so) si potrebbe ampliare di molto il software lasciando magari prezzi accessibili o comunque immagino esistano dsPic in formato DIP che tutto possano saldare, se uno vuole la fa su millefori o si fa una scheda o si fanno una serie di schede senza e con componenti da distribuire.

il problema principale è che l'utente finale non può comprarsi un programmatore ISP e quindi bisognerebbe distribuire Pic con bootloader precaricato (come con arduino).

in pratica quello che vorrei è che la communiti si attivasse dicendo quello che vorrebbe da arduino (io ad esempio vorrei una scheda che abbia più pin della UNO ma meno dell'atmega perchè sono sprecati), ci unisse cose per i quadricotteri (quindi potenza, calcolo in DSP o ci mettiamo un ARM), e poi si pensasse a come migliorare il software (con contatti con alexinparis e collaboratori) tenendo attiva e in sviluppo la parte arduino 8bit come stabilizzazione e poi per chi vuole un UAV passa alla scheda nuova.

secondo me non stiamo andando fuori tema perchè credo che stia nascendo in altri progetti il problema di passare a 32 bit o comunque a MCU più potenti e credo che questa nuova scheda con l'aiuto di Massimo, Davide, e gli altri creatori della vera arduino potrebbe diventare una nuova arduino rivoluzionaria!

Massimo diceva che non era facile far migrare una community da 8 a 32bit ma se prendiamo quello che vuole la community dai 32 bit il passaggio credo sarà quasi indolore.

anche se credo che il problema maggiore di una migrazione sarebbe il convertire produzione aggiungendo una scheda ma senza togliere dalla produzione l'altra, tanti costi iniziali insomma
http://www.aug-altogarda.it/ <- Il nuovo AUG per basso trentino e dintorni!

Go Up