Capo d'Orlando
Offline
God Member
Karma: 2
Posts: 652
|
 |
« Reply #720 on: February 08, 2012, 01:18:29 pm » |
Ragazzi scusatemi la domanda, però il topic è un po' dispersivo e per estrapolare l'informazione che mi serve dovrei spulciare 48 pagine :\ Mi sono promesso che prima o poi proverò a costruire un multicottero però non mi sento ancora all'altezza per vari motivi, tra questi c'è l'algoritmo.. Ora, sinceramente parlando di solito mi ha spaventato l'elettronica nei miei progetti perchè frequento un indirizzo informatico all'ITIS e problemi con la logica e programmazione non ne ho avuti nel mio piccolo. Quindi, tornando a noi, vorrei chiarire i miei dubbi: La logica è (detta proprio terra terra): controllo il giroscopio, se pende a destra, aumento il motore di destra? Se così fosse, ciò non mi torna. Alla fine quando voglio che il multicottero vada avanti non devo diminuire il motore frontale? Dovrei quindi ignorare per quel momento il giroscopio? Come vedete sono assai confuso, illuminatemi
|
|
|
|
|
Logged
|
|
|
|
|
Rome (Italy)
Offline
Tesla Member
Karma: 74
Posts: 7342
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
|
 |
« Reply #721 on: February 08, 2012, 01:42:05 pm » |
Come vedete sono assai confuso, illuminatemi Prima di tutto devi leggerti completamente i tre thread dedicati ai quadricotteri, sopratutto quello principale, ormai chiuso, di oltre 100 pagine perché li trovi di tutto di più. Se vuoi cominciare comprati un telaio pronto e usa MultiWii come software, così hai fin da subito un qualcosa sicuramente funzionante che puoi studiare e modificare a tuo piacere con calma.
|
|
|
|
|
Logged
|
|
|
|
|
Capo d'Orlando
Offline
God Member
Karma: 2
Posts: 652
|
 |
« Reply #722 on: February 08, 2012, 02:14:06 pm » |
Prima di tutto devi leggerti completamente i tre thread dedicati ai quadricotteri, sopratutto quello principale, ormai chiuso, di oltre 100 pagine perché li trovi di tutto di più. Se vuoi cominciare comprati un telaio pronto e usa MultiWii come software, così hai fin da subito un qualcosa sicuramente funzionante che puoi studiare e modificare a tuo piacere con calma.
Non so..se devo spenderci l'equivalente per costruirmelo da solo... Cosa intendi per telaio? Comunque la mia era solo una coriosità per la logica del programma, la mia ipotesi è del tutto sbagliata ? 
|
|
|
|
|
Logged
|
|
|
|
|
0
Online
Tesla Member
Karma: 81
Posts: 8184
:(){:|:&};:
|
 |
« Reply #723 on: February 08, 2012, 02:19:58 pm » |
nel mio codice io faccio così: all'input della ricevente assegno un angolo. se non fai niente l'angolo è 0, se dici avanti +5°, se dici indietro -5° (per esempio)
ora, integrando il giroscopio (che restituisce la velocità angolare, NON l'angolo) e i dati degli altri sensori, ottengo l'inclinazione del mezzo. Confronto l'inclinazione del mezzo con quella desiderata, e poi intervengo sui motori come hai detto tu.
Per sapere QUANTO devo agire sui motori mi affido ad un basico algoritmo PID.
|
|
|
|
|
Logged
|
|
|
|
|
Capo d'Orlando
Offline
God Member
Karma: 2
Posts: 652
|
 |
« Reply #724 on: February 08, 2012, 02:53:19 pm » |
ahaha sei il mio preferito lesto! Io pensavo che il giroscopio tornasse un angolo, e invece..! Comunque più o meno ci sono: se gli dico di andare avanti inclinandosi di x allora agisco sui motori fino a che l'inclinazione non ha raggiunto x ?
|
|
|
|
|
Logged
|
|
|
|
|
0
Online
Tesla Member
Karma: 81
Posts: 8184
:(){:|:&};:
|
 |
« Reply #725 on: February 08, 2012, 03:15:16 pm » |
esatto, però puoi seguire altri metodi. Per esempio, se dici avanti al massimo, col mio caso non ti pieghi più di 5° (è un esempio, nella realtà il limite è 30°), invece potresti dire che quando dici avanti al massimo, di AGGIUNGERE 5° all'angolo attuale
un altro sistema angora, usando solo i giroscopi, è legare agli stick non l'angolo, ma la velocità angolare desiderata. (questo credo sia il sistema usato dalla KKboard)
|
|
|
|
|
Logged
|
|
|
|
|
Rome (Italy)
Offline
Tesla Member
Karma: 74
Posts: 7342
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
|
 |
« Reply #726 on: February 08, 2012, 04:50:25 pm » |
un altro sistema angora, usando solo i giroscopi, è legare agli stick non l'angolo, ma la velocità angolare desiderata. (questo credo sia il sistema usato dalla KKboard)
Tutti i sistemi che usano solo il giroscopio implementano una logica del tipo "tenere velocità angolare uguale a 0", in pratica se dai comando con lo stick, o se arriva una folata di vento, vai a perturbare il sistema che reagisce cercando di correggere con un movimento contrario al fine di azzerare la velocità di rotazione dell'asse, però l'assetto rimane quello imposto. Se ci fai caso tutti i quadri che volano solo col giroscopio una volta che li metti con un certo assetto poi ci rimangono anche se porti gli stick a zero, per rimetterli in piano devi dare comando contrario a differenza del modo di volo stabile, dove serve anche l'accelerometro, che riporta sempre il quadri in assetto ortogonale al terreno azzerando di fatto anche la velocità di avanzamento.
|
|
|
|
|
Logged
|
|
|
|
|
0
Online
Tesla Member
Karma: 81
Posts: 8184
:(){:|:&};:
|
 |
« Reply #727 on: February 08, 2012, 06:00:39 pm » |
un altro sistema è quello di dare il giro in pasto alla DCM con un finto input dell'accelerometro a 0, 0, 1... in questo modo puoi leggere un angolo assoluto dato dal giroscopio, che però per via del finto accelerometro che continua a dire di essere dritto tende ad azzerarsi più o meno in fretta (dipende dal PI della DCM).
Si tratta di un comportamento che ho notato testando la DCM, che mi piacerebbe testare in volo
edit: il vantaggio sta nell'eliminare il drift e gli errori di integrazione avendo però un sistema un poco più "intelligente" della sola velocità angolare
|
|
|
|
« Last Edit: February 08, 2012, 06:02:22 pm by lesto »
|
Logged
|
|
|
|
|
Capo d'Orlando
Offline
God Member
Karma: 2
Posts: 652
|
 |
« Reply #728 on: February 09, 2012, 08:51:57 am » |
Tutti i sistemi che usano solo il giroscopio implementano una logica del tipo "tenere velocità angolare uguale a 0", in pratica se dai comando con lo stick, o se arriva una folata di vento, vai a perturbare il sistema che reagisce cercando di correggere con un movimento contrario al fine di azzerare la velocità di rotazione dell'asse, però l'assetto rimane quello imposto. Se ci fai caso tutti i quadri che volano solo col giroscopio una volta che li metti con un certo assetto poi ci rimangono anche se porti gli stick a zero, per rimetterli in piano devi dare comando contrario a differenza del modo di volo stabile, dove serve anche l'accelerometro, che riporta sempre il quadri in assetto ortogonale al terreno azzerando di fatto anche la velocità di avanzamento.
Capisco..dite che sia troppo per me pretendere di sviluppare un mio algoritmo basandomi sui dati di un giroscopio? P.S: ma allora per ottenere il grado di inclinazione devo ricorrere per forza ad algoritmi tipo questo, specifico per quel giro?
|
|
|
|
|
Logged
|
|
|
|
|
0
Online
Tesla Member
Karma: 81
Posts: 8184
:(){:|:&};:
|
 |
« Reply #729 on: February 09, 2012, 09:02:26 am » |
scordati l'inclinazione con solo gyro, a meno che non siano giroscopi della nasa 
|
|
|
|
|
Logged
|
|
|
|
|
Capo d'Orlando
Offline
God Member
Karma: 2
Posts: 652
|
 |
« Reply #730 on: February 09, 2012, 09:50:09 am » |
scordati l'inclinazione con solo gyro, a meno che non siano giroscopi della nasa  Intendi dire che serve l'algoritmo o che lo devo affiancare ad altri hardware ?
|
|
|
|
|
Logged
|
|
|
|
|
0
Online
Tesla Member
Karma: 81
Posts: 8184
:(){:|:&};:
|
 |
« Reply #731 on: February 09, 2012, 11:29:28 am » |
altro hardware, come l'accelerometro. Però così non regoli lo yaw, e quindi serve un magnetometro.
|
|
|
|
|
Logged
|
|
|
|
|
Milano, Italy
Offline
Faraday Member
Karma: 10
Posts: 3080
Sideralis Arduino!
|
 |
« Reply #732 on: February 09, 2012, 02:06:11 pm » |
Scusate, se qualcuno puo' controllare...
Ma quali sono i valori PID di default su MultiWii 1.8r2 ??
A memoria io avevo su per dire P4 D17, qualcosa del genere, adesso ho ricaricato lo sketch e viene fuori che il P di base e' 7.4 7.2 7.5 rispettivamente roll pitch e yaw e D50 ??
Vi risulta?
|
|
|
|
|
Logged
|
|
|
|
|
Milano, Italy
Offline
Faraday Member
Karma: 10
Posts: 3080
Sideralis Arduino!
|
 |
« Reply #733 on: February 09, 2012, 03:44:50 pm » |
Scusate, se qualcuno puo' controllare...
Ma quali sono i valori PID di default su MultiWii 1.8r2 ??
A memoria io avevo su per dire P4 D17, qualcosa del genere, adesso ho ricaricato lo sketch e viene fuori che il P di base e' 7.4 7.2 7.5 rispettivamente roll pitch e yaw e D50 ??
Vi risulta?
Sentite questa. Ho dato 1mm di gas con questi parametri e il quad si e' catapultato da una parte all'altra della stanza... Dopo un'ora di configurazione di ESC senza esito, ho ricaricato lo sketch ancora e mi ha messo su valori ancora diversi. A sto punto mi sono insospettito, ho caricato lo sketch eeprom_clear e ho rimesso su multiwii, e mi ha rimesso i miei valori base che ricordavo. Ma che cavolo... A cosa puo' essere dovuto tutto questo?? EDIT: Senza contare che ovviamente, nella mia immensa sfiga, il motore che e' partito a tuono e che si e' schiantato per primo, si e' pure sbiellato... Maledetto multiwii e la sua eeprom
|
|
|
|
« Last Edit: February 09, 2012, 03:58:18 pm by Federico »
|
Logged
|
|
|
|
|
Tortona
Offline
God Member
Karma: 2
Posts: 590
|
 |
« Reply #734 on: February 09, 2012, 04:59:46 pm » |
Sentite questa. Ho dato 1mm di gas con questi parametri e il quad si e' catapultato da una parte all'altra della stanza... Dopo un'ora di configurazione di ESC senza esito, ho ricaricato lo sketch ancora e mi ha messo su valori ancora diversi. A sto punto mi sono insospettito, ho caricato lo sketch eeprom_clear e ho rimesso su multiwii, e mi ha rimesso i miei valori base che ricordavo. Ma che cavolo... A cosa puo' essere dovuto tutto questo??
EDIT: Senza contare che ovviamente, nella mia immensa sfiga, il motore che e' partito a tuono e che si e' schiantato per primo, si e' pure sbiellato... Maledetto multiwii e la sua eeprom
anch'io ho notato che caricando lo stesso sketch di multiwii, i valori del pid rimangono quelli dello sketch precedente...spero che il problema riguardi solo i valori del pid
|
|
|
|
|
Logged
|
Se gommo tiene,io vince gara! Se gommo non tiene,io come bomba dentro montagna
|
|
|
|
|