Archivi tag: display

L’ultima classe mancante e’ pronta: Display

TODO Tradurre

In those days I’m working mainly on the software in order to prepare the release candidate version for myQPI.

I’m going to merge all the functionalities (like motor test, pid tuning etc.) in one place.

So the last brick is a nice and smart user interface :

display

It is possible to read info about:

  • motor speed
  • roll,pitch and yaw from IMU ( the current value)
  • roll,pitch and yaw from remote controller ( the target value)
  • selected mode and commands from rc
  • PID values

Using the kayboard arrows, it is possible to switch between modes :

  • Init – where it is possible to load save and modify options (not implemented)
  • ESC – where it is possible to init the esc
  • Motor – wher it ispossible to move the motor singularly,for testing purpose
  • PID- where it is possible to tune all the pid parameters (implemented for roll and roll rate only).this is thinked to help during the testing phase with quad tied up on 2 side
  • Flying – where it is possible to guide the myQPI using the joystick command
  • UAV – where it is possible to define a specific path . This has been implemented by changing angles and trottle respect time.

Every mode has got its specific UI.For example in the picture you can see the PID mode, where the user has to ackwoledge the motor start, can start the PID control and then tune the kp,ki,and kd.

This module called display.py is available on my Github repo. In addition you can find the whole current development (not yet completed tested on the real quad!) .

If you are curious, yuo should be able to run it by the command python myQrc.py . I can see the program running also in my development pc, without raspberry connected.It should work also for you.

So the appointment is for the next post where I’ll officially launch the release candidate!

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).