Archivi tag: software

Beta1 Test. Introduzione SW

Questo il codice  Beta1 Software.

Ho completato il test preliminare , validando le seguenti funzionalità di base:

  • Gestione di 4 motori.
  • Gestione IMU, inential measurament unit (MPU6050).
  • Controllo Remoto (fatto usando ssh ed il laptop).Posso variare  roll e pitch target. Yaw non è per il momento gestito. Posso avviare il controllore PID per il solo roll o per roll+pitch.
  • Controllore PID per  roll e pitch.
  • Display con le informazioni attuali.
  • log file.
  • Gestione arg params ( -s = save log, -c = calibrate IMU)

Ho aggiunto un nuovo modulo chiamato quadricopter.py dove ho posto tutti i componenti necessari già discussi in passato.In questo modo vi posso accedere semplicemente: per esempio con myQ.motor[i] o myQ.sensor.roll.

Rocordo che l’oggetto sensor e l’oggetto rc stanno ora girando come thread in parallelo.

Il main loop e’ settato con un tempo ciclo di 10ms, ma devo investigare se questo valore resta stabile nel tempo e soprattutto se e’ sufficiente per il controllo del drone.

Un nuovo display mostra lo stato attuale del includendo  roll, pitch and yaw , motors rate , throttle e la lista dei comandi ammessi per il  remote control.

beta1 display

Il principale obiettivo ora è effettuare il tuning dei parametri PID per poter bilancire la struttura ( Ricorda che in questa fase ho posizionato una semi sfera sotto il drone per testare il bilanciamento senza dover volare).

 

 

Alfa3test. Introduzione del PID ed altro…

Partendo da questa serie di test Alfa3, ho introdotto alcune novita’  che vanno verso la soluzione finale. alfa3_pic1In particolare ho fatto le necessarie modifiche per lavorare completamente wireless:

  1. Ho aggiunto un secondo ESC ed un secondo motore.
  2. ho modificato la mia connector board aggiungendo  un nuovo  connettore 3 pin in cui ho anche saldato il cavo di potenza (filo rosso).Ho poi collegato lo zero (filo nero) ed ho ponticellato il pin del segnale (filo bianco) con lo stesso  dell’ultimo segnale (file verde nella foto).connector_board In questo modo posso scegliere se alimentare rpi da esc oppure no, a seconda che collego esc su B o su C.
  3. Pertanto lo schema prevede il motore M[0] collegato sul connettore A, ed il motore M[1] sul connettore C (oppure B se decido di alimentare rpi con usb esterna).
  4. Ho connesso la chiave usb Wifi al rpi. Ho pero’ notato che ne il pc ne la chiave hanno la possibilta’ di diventare accesspoint. E’ possibile verificare la cosa usando il comando:

iwconfig ap

Quindi ho utilizzato il mio smartphone attivando la funzione  router wifi e creando  cosi’ una rete che include anche il pc ed il rpi.

Di seguito lo  schema delle convenzioni per questo test:

alfa3_convention

  • M[0] ruota in senso antiorario , con cavo rosso montato su cavo T dell ‘esc (quello vicino alla T del logo turnigy) ed il cavo giallo sul cavo Y dell’esc.
  • M[0] monta un elica sinistra standard (non marcata R).
  • M[1] ruota in senso orario , con cavo giallo montato su cavo T dell ‘esc ed il cavo rosso sul cavo Y dell’esc.
  • M[1] monta un elica destra (marcata R).
  • Per come e’ stato montato l’IMU, ottengo una rotazione negativa del roll (intorno alla x) quando M[0] va verso il basso.

Con questa configurazione ho gia fatto alcuni test preliminari.Nel prossimo post introdurro’ il nuovo modulo del remote control (rc.py)  ed i primi risultati del controllo PID , in cui ho usato solo il P.