Projet

Général

Profil

Nina beaming 2026 » Historique » Révision 55

Révision 54 (Frederic Elisei, 03/06/2026 09:53) → Révision 55/64 (Frederic Elisei, 03/06/2026 09:53)

h1. Nina beaming 2026 

 Changes in Nina (hardware), in middleware (now YARP3) and in computers (icub-laptop with Ubuntu 22, Mical-008 with Ubuntu 24) makes it mandatory to redevelop the Beaming platform. 

 Old "cluster" could not be used anymore (YARP image format has changed...) 

 h2. Changes in Nina 

 * eyelids min/max and direction 

 h2. Changes on icub-head 

 * new PA_yarpmic (stereo, 48kHz) 
 * new PA_yarphear (mono, 48kHz) 

 h2. Changes on mical-006 

 * upgraded to newer yarp (because of the new image format) 
 * modified/recompiled for YARP 2.3 
 * new PA_yarpmic (mono, 48kHz) 
 * new PA_yarphear (stereo, 48kHz) 

 h2. Changes on mical-008 

 * localy compiled YARP3 + iCub (from the superbuild procedure) 
 * compiled support for YARP from python 
 * now an alias for icub-srv (with /root, not /icub) 
 * redefined cluster for yarprun 
 * new app for Bayer cameras 
 * new versions, compiled: 
  - yarp_aruco 
  - vrmonitor 
  - Start 
  - gipsadatadumper (with MJPG video for VideoLogs) + Video 
  - Head 
  - gaze_thread 

 h2. Changes on icub-laptop 

 * recompiled binaries/new versions for the beaming 
  - yarp_aruco 
  - vrmonitor, Start... 

 h2. Changes on cluster 

 * icub-001 and icub-002 are back (with ubuntu 22) 
  - same yarp/icub sources, recompiled with superbuild procedure 
  - recompiled: aruco and gipsadatadumper (with MJPG video for VideoLogs) 
  - !!! UDP error if deporting camCalib; fast_tcp should be used ??? different libACE version ? 

 h2. Plan du Stage 

 * Mettre à jour la documentation Beaming de Nina pour HTC Vive 
 * Valider la synchronisation visuelle 
 * Remettre en place une procédure d'enregistrement audio (même horloge pour les cartes vidéos et audios) 
 * Valider les synchronisations d'un enregistrement complet 
 * Construire un outil pour afficher les cibles 3D combinant regard et mouvement de tête 
 * Construire un scénario 
 * Campagne d'enregistrement avec 10-20 sujets 

 

 h2. Checklist David 

 * *DONE :* Lire l'extrait de la thèse de Léa     https://theses.hal.science/tel-04957993      page 38+ puis 129 
 * Regarder les parties utiles de la doc de la carte son **fireface ucx ii** 
 * *DONE :* Lire la documentation QTM     https://docs.qualisys.com/qtm-rt-protocol/#command-packet et https://docs.qualisys.com/qtm/content/techref/rt_protocol.htm 
 * Capturer un event dans Audacity ? lire la doc scripting Audacity https://manual.audacityteam.org/man/scripting.html 
 * *DONE :* Expliciter la procédure pour synchroniser les horloges CPU  
 *sur mical-008:*    _sudo systemctl start chrony_ 
 *sur icub-head:*    _sudo ntpdate 192.168.70.52_ 
 *sur mical-008:*    _sudo systemctl stop chrony_ 
 -(tester: ntpdate p-captif ou ntpdate lnx-install.gipsa-lab.grenoble-inp.fr -- ou chrony ?)- 
 * *DONE :* Premier enregistrement vidéo 
 Doc. : https://www.yarp.it/v3.5/yarpdatadumper.html 
 * *ON GOING :* Valider la synchronisation visuelle des cameras 
 * *DONE :* Vérifier la chaîne des timestamps  
   - Depuis icub/cam/left jusqu'à vr...out : les mêmes ? *Oui* mais *différent entre droit et gauche* 
   - Est-ce influencé par la date icub-head? *Oui* 
   - Timestamp d’émission ou de réception ? *Émission* 
 * *DONE :* Essayer d'ajouter naggle algorithm au port de sorti sur windows  
   Est-ce que le délai a été raccourci ? *Non* , dû moins pas suffisamment pour le constater  
 * *DONE :* Écrire un script python _info_expe.py_ qui créer un fichier _.txt_ dans _Documentation_ avec des informations utiles des expe précédentes  
 * *DONE :* Modifier _mk_sound_index_ pour l'adapter à notre situation, sachant les horloges synchronisés, pour afficher les croix du gaze 
 * Yarpdevice (dualgrabber?) qui contrôle les deux caméras icub-head en même temps https://www.yarp.it/v3.7/group__grabber__basic.html 
 * Remettre en place la procédure de mouvement de mâchoire ou avec python procédure de capture de mouvement sans les marqueurs  
 * Sous python, utiliser utilisé la classe minimal jerk pour augmenter la fréquence des trajectoires (post process avant training ML) 
 * Modifier le code python en modele directe: ~/gipsa_dev/_beaming/ABC_head/py_DirectModel$ ./show_gaze_dual.py 
 * Gagner du temps sur les Start avec un broadcast ? Faire des tests de Start 
 * *DONE :* Faire un enregistrement avec 4 caméras 
 * Effectuer un enregistrement de test complet (vidéo + mouvement + son) pour valider toutes les synchronisations 

 

 h2. Tâches parallèles 

 * *DONE :* Suivre le tutoriel yarp + python     https://github.com/s4hri/yarp-python-tutorials 
 * *DONE :* Programmer une application python pour détecter des visages avec opencv     https://docs.opencv.org/3.4/db/d28/tutorial_cascade_classifier.html 
 * *DONE :* Programmer un code python qui combine yarp et opencv pour détecter les visages en direct