Cette application permet l'acquisition continue de signaux FMCW (via une carte d'acquisition NI-DAQmx ST200) synchronisée avec le déplacement d'un robot pour générer des images SAR (Synthetic Aperture Radar).
L'interface graphique est développée avec PyQtGraph et permet de visualiser les signaux I/Q en temps réel ainsi que le profil de distance (FFT).
- Python 3.8 ou supérieur installé sur votre machine.
- Drivers NI-DAQmx : Obligatoires pour interagir avec le matériel (ST200).
- Note : Si les drivers ne sont pas installés ou si le matériel est débranché, l'interface se lancera tout de même en mode "hors-ligne" (les graphiques seront vides).
- Fichiers Wheels du Robot : Assurez-vous d'avoir les fichiers
.whlfournis pour le contrôle du bras robotique dans le même dossier que ce README :pyrob-0.1.0-py3-none-any.whlur_e-1.0.0-py3-none-any.whlure-0.1.0-py3-none-any.whlure-1.0.0-py3-none-any.whl
Il est fortement recommandé d'utiliser un environnement virtuel Python pour éviter les conflits de dépendances avec votre système.
Ouvrez un terminal dans le dossier du projet et exécutez :
Sur Windows :
python -m venv venv
venv\Scripts\activateSur macOS / Linux :
python3 -m venv venv
source venv/bin/activate(Une fois activé, votre terminal devrait afficher (venv) au début de la ligne).
Installez les bibliothèques standards requises pour l'interface graphique, le calcul et l'acquisition :
pip install numpy pyqtgraph PyQt6 nidaqmx(Note : PyQt6 est utilisé ici comme moteur graphique pour pyqtgraph).
Installez ensuite les paquets de contrôle du robot fournis localement sous forme d'archives .whl. Toujours depuis le dossier contenant les fichiers :
Sur Windows :
python -m venv venv
pip install pyrob-0.1.0-py3-none-any.whl ure-1.0.0-py3-none-any.whlSur macOS / Linux :
pip install ./Application/Dependencies/*.whlUne fois toutes les dépendances installées et l'environnement virtuel activé, vous pouvez lancer l'interface graphique avec la commande suivante :
python SignalExplorerPlus-V2.pyÀ chaque exécution via le bouton robot, l'application génère un nom unique basé sur le nom du test renseigné, l'horodatage et un compteur.
Les données sont sauvegardées dans le dossier resultats/ créé automatiquement à la racine du projet, séparées dans deux sous-dossiers. Les fichiers .npz (données radar) et .csv (position du robot) partageront exactement le même nom de base pour faciliter le post-traitement.
📁 resultats/
┣ 📂 csv/
┃ ┗ 📜 Cible_Metallique_1_20260304_175200_000.csv <-- Positions du robot (Ground Truth)
┗ 📂 npz/
┗ 📜 Cible_Metallique_1_20260304_175200_000.npz <-- Matrices I/Q brutes et paramètres radar