Archivi tag: struttura

Beta1 test, preparazione

Questo post introduce alla prossima fase di test

Sto sviluppando il software per gestire i 4 motori e l’IMU.

Questa la modifica della struttura:

beta1_frame_bbeta1_frame

 

Ho aggiunto una mezza sfera attccata sotto, in modo da creare una condizione di disequilibrio.

Ho verificato che le eliche non possano toccare il pavimento in nessuna condizione.

L’obiettivo e’ riuscire a vedere il quadricottero rimanere in orizzontale aggiustando da solo l’orientamento (roll and pitch).

Let’s try!

Alfa3Test. Primi risultati e modulo rc.py

Ho effettuato i primi test sul modulo alfa3.py.

Sono emersi alcuni punti su cui devo lavorare.

In prima battuta la struttura di test non permette un movimento del quadricottero del tutto libero.Si puo infatti notare un comportamento anomalo quando la struttura e’ prossima ad una inclinazione nulla. L’attrito fra quadricottero e struttura rende il sistema piu stabile di quello che mi aspettavo.

Dovro’ rivedere il punto di contatto e cercare di renderlo meno soggetto ad attriti.

Potrei provare anche semlipcemente a aumentare il trottle , cioe fare in modo che i 2 motori sollevino di piu il quadricotteroriducendo cosi’ l’attrito.

Attualmente, comesi puo’ notare dalle foto del post precedente, la rotazione del quadricottero e’ limitata da un supporto in legno, a circa +/- 10 gradi.

alfa3_pic2

Ritengo necessario poter dare maggior liberta’ di movimento, per cui dovro’ modificare la struttura.

Veniamo ora al lato software. In alfa3 test ho introdotto un nuovo modulo chiamato rc.py (remote controller)  con lo scopo di rendere indipendente l’iserimento dei comandi dal loop di controllo del quadricottero. Per cui rc.py e’ attualmente un thread indipendente che resta in ascolto di input dall’utente. In questa fase l’input e’ da tastira, ma sto gia lavorando ad un webserver che permetta di ricevere i comandi da qualunque dispositivo dotato di browser (il mio cellulare) .

rc.py  mette a disposizioni i dati imputati da operatore quali  trottle ,roll, pitch e yaw desiderati.Il loop principale di controllo a questo punto, riceve i dati da rc e riceve i dati da sensor.py (che e’ un altro thread in parallelo) quali il roll, pitch e yaw attuali.Calcola l’errore fra dati attuali e desiderati e tramite il controllo PID effettua le necessarie correzioni alle velocita’ dei motori.

Non publico ancora alfa3.py perche’  ho riscontrato un problema su rc.py : i comandi inviati non vengono gestiti immediatamente. Voglio prima capire il motivo di questo ritardo.