Data ja mittaus

Sisällysluettelo

1. Yleiskatsaus

Tämä dokumentti kuvaa TinyML-projektin toteutusta. Mittausjärjestelmä perustuu Raspberry Pi Pico -mikro-ohjaimeen sekä ADXL335-kiihtyvyysanturiin. Servoa käännetään liikeradalla 0 - 180 - 0 ja kiihtyvyysdataa kerätään ML-inferenssiä varten.

1.1 Toiminnallisuudet

Huomio

Tavoitteena on luoda toistettavaa ja laadukasta mittausdataa servon liikeradasta.

2. Mittausputken arkkitehtuuri

Mittausputki noudattaa yksinkertaista ketjua: ohjaus → mittaus → paketointi → inferenssi.

  1. Servo-ohjaus (PWM): liikeradan ajo
  2. Anturin luku (ADC): kiihtyvyys kolmelta (X, Y ja Z) akselilta
  3. Datan paketointi (CSV): rivi per mittauspiste
  4. Inferenssi (ML): servon liikerata analysoidaan

3. Dataformaatti (CSV) ja kentät

Data paketoidaan CSV-muodossa. Yksi rivi vastaa yhtä mittauspistettä. Yhteensä mittauspisteitä on 50.

timestamp,angle,acc_x,acc_y,acc_z
0,5,2037,2000,1649
20,10,2041,2000,1649
40,20,2033,1998,1652
60,25,2028,1995,1649
80,30,2028,1992,1648
100,40,2099,2011,1661
...
Kenttä Kuvaus
timestamp Aikaleima millisekunteina
angle Servon kulma asteina
acc_x, acc_y, acc_z Kiihtyvyysanturin (ADXL335) arvot akselittain

Datan laatu

  • Sarakejärjestys on sama koulutuksessa ja inferenssissä.
  • Rivimäärä on vertailukelpoinen eri ajojen välillä.
  • Puuttuvia arvoja tai rivejä ei ole.

4. Mittauksen toteutus (Pico + ADXL335)

4.1 Servo-ohjaus

Servoa ajetaan PWM-ohjauksella. Tämän voisi ajatella olevan laitteen normaalia toimintaa. Mittaus synkronoidaan aikavälin mukaan, jotta kiihtyvyysdata on vertailukelpoista.

4.2 Anturidatan luku

ADXL335 tuottaa analogiset signaalit x, y ja z -akseleilta, jotka luetaan Pico:n ADC-kanavilla.

Suositus: lisää mittausajoon myös metatiedot (näytteenottotaajuus, laiteversio, anturin kiinnitys), jotta data on jäljitettävää.

5. Tiedonsiirto (UART)

Data lähetetään sarjaportin kautta host-koneelle, jossa se voidaan tallentaa CSV-tiedostoksi ja jatkokäsitellä.

6. Vianhaku

6.1 Yleiset ongelmat