Test Types & Methods

Données de test en robotique

Découvrez comment gérer les données de test pour les véhicules autonomes et les systèmes robotiques grâce au suivi multi-étapes et au stockage des données.

JJulien Buteau
intermediate11 min de lecture14 mars 2026

Gestion des données de test en robotique avec TofuPilot

Les robots passent par plus d'étapes de test que presque toute autre catégorie de produit. Tests de cartes, caractérisation des moteurs, calibration des capteurs, validation du firmware, intégration système, screening environnemental et simulation terrain. TofuPilot suit tout cela sous un seul numéro de série.

Le défi des tests en robotique

Un robot autonome typique possède :

  • 3 à 5 PCBA, chacun avec son propre test fonctionnel
  • 6 à 12 moteurs ou actionneurs, chacun nécessitant une caractérisation
  • Plusieurs ensembles de capteurs (LiDAR, caméras, IMU) nécessitant une calibration
  • Un firmware à valider à chaque révision
  • Des tests d'intégration système
  • Des tests environnementaux (thermique, vibration, indice IP)
  • Des tests de simulation terrain ou HIL

Chaque étape de test génère des données. Sans système centralisé, ces données se retrouvent dans différents outils, différents formats, sur différentes machines. Quand un robot tombe en panne sur le terrain, remonter jusqu'à l'étape de test qui a manqué le problème est quasiment impossible.

Mise en place du suivi multi-étapes

Définir vos procédures de test

Créez une procédure dans TofuPilot pour chaque étape de test de votre processus de fabrication.

Identifiant procédureÉtapeCe qui est testé
PCBA-MOTOR-CTRLTest de carteTest fonctionnel du PCBA contrôleur moteur
MOTOR-CHARSous-assemblageCaractérisation couple/vitesse du moteur
IMU-CALCalibration capteurCalibration offset et sensibilité de l'IMU
SYS-INTEGRATIONSystèmeVérifications d'intégration du robot complet
THERMAL-CYCLEEnvironnementalQualification en cyclage thermique
HIL-NAVHILValidation de l'algorithme de navigation

Lier les tests à la même unité

Chaque exécution de test référence le numéro de série du robot. TofuPilot lie automatiquement toutes les exécutions pour un numéro de série donné, créant un historique de test complet.

motor_controller_test.py
from tofupilot import TofuPilotClient

client = TofuPilotClient()

# Test de carte pour le contrôleur moteur
client.create_run(
    procedure_id="PCBA-MOTOR-CTRL",
    unit_under_test={
        "serial_number": "ROBO-2025-0142",
        "part_number": "MC-BOARD-R3",
    },
    run_passed=True,
    steps=[{
        "name": "H-Bridge Driver",
        "step_type": "measurement",
        "status": True,
        "measurements": [{
            "name": "gate_drive_voltage",
            "value": 12.1,
            "unit": "V",
            "limit_low": 11.5,
            "limit_high": 12.5,
        }],
    }, {
        "name": "Current Sense",
        "step_type": "measurement",
        "status": True,
        "measurements": [{
            "name": "current_sense_gain",
            "value": 50.2,
            "unit": "mV/A",
            "limit_low": 48.0,
            "limit_high": 52.0,
        }],
    }],
)
motor_characterization.py
# Caractérisation moteur pour le même robot
client.create_run(
    procedure_id="MOTOR-CHAR",
    unit_under_test={
        "serial_number": "ROBO-2025-0142",
        "part_number": "DRIVE-ASSEMBLY-R2",
    },
    run_passed=True,
    steps=[{
        "name": "Stall Torque",
        "step_type": "measurement",
        "status": True,
        "measurements": [{
            "name": "stall_torque_nm",
            "value": 2.45,
            "unit": "Nm",
            "limit_low": 2.2,
            "limit_high": 2.8,
        }],
    }, {
        "name": "No-Load Speed",
        "step_type": "measurement",
        "status": True,
        "measurements": [{
            "name": "no_load_rpm",
            "value": 5820,
            "unit": "RPM",
            "limit_low": 5500,
            "limit_high": 6100,
        }],
    }],
)

Suivre les données de calibration des capteurs

La calibration des capteurs produit des tableaux de données. TofuPilot gère nativement les mesures multidimensionnelles.

imu_calibration.py
import numpy as np

# Calibration IMU avec données multi-axes
client.create_run(
    procedure_id="IMU-CAL",
    unit_under_test={"serial_number": "ROBO-2025-0142"},
    run_passed=True,
    steps=[{
        "name": "Accelerometer Offset",
        "step_type": "measurement",
        "status": True,
        "measurements": [
            {"name": "accel_offset_x", "value": 0.012, "unit": "g", "limit_low": -0.05, "limit_high": 0.05},
            {"name": "accel_offset_y", "value": -0.008, "unit": "g", "limit_low": -0.05, "limit_high": 0.05},
            {"name": "accel_offset_z", "value": 0.003, "unit": "g", "limit_low": -0.05, "limit_high": 0.05},
        ],
    }, {
        "name": "Gyro Bias",
        "step_type": "measurement",
        "status": True,
        "measurements": [
            {"name": "gyro_bias_x", "value": 0.15, "unit": "deg/s", "limit_low": -0.5, "limit_high": 0.5},
            {"name": "gyro_bias_y", "value": -0.22, "unit": "deg/s", "limit_low": -0.5, "limit_high": 0.5},
            {"name": "gyro_bias_z", "value": 0.08, "unit": "deg/s", "limit_low": -0.5, "limit_high": 0.5},
        ],
    }],
)

Tracer les pannes terrain jusqu'à la production

Quand un robot tombe en panne sur le terrain, recherchez par numéro de série dans TofuPilot. Vous verrez chaque test qu'il a subi :

  1. La carte contrôleur moteur a-t-elle passé son test fonctionnel ? Quelles étaient les mesures exactes ?
  2. La caractérisation moteur était-elle nominale, ou marginale ?
  3. Les offsets de calibration de l'IMU étaient-ils dans les spécifications ?
  4. Le test d'intégration système est-il passé du premier coup, ou y a-t-il eu des retests ?

Cette traçabilité révèle souvent la cause racine. Un moteur qui a passé la caractérisation à la limite de sa spécification de couple a plus de chances de défaillir sous des charges réelles.

Analytique au niveau de la flotte

Pour les entreprises de robotique déployant des flottes, les analyses de TofuPilot fonctionnent sur l'ensemble de votre production.

  • Comparer les distributions de calibration entre les lots de production
  • Suivre les tendances de caractérisation des moteurs dans le temps
  • Identifier quelle étape de test détecte le plus de défauts
  • Corréler les taux de défaillance terrain avec les marges des tests de production

Si les robots du lot 47 ont un taux de défaillance terrain plus élevé, extrayez leurs données de test de production et comparez les distributions de mesures avec le lot 46. La différence dans les données pointe vers la cause racine.

Plus de guides

Mettez ce guide en pratique