Menu

Guillaume DAVID

NOISY LE GRAND

En résumé

Ingénieur logiciel sur plateforme embarquée Linux
- architecture logicielle / design patterns
- implémentation en C/C++
- optimisation de performance et de mémoire
- gestion du hardware

Numérisation 3D
- numérisation de gros volumes (bâtiments, routes, tunnels, mines à ciel ouvert, usines...)
- corrections 3D
- algorithmes innovants de correction ou filtrage des parasites

Que diriez-vous de poser un instrument dans une usine, le long d'une route ou aux abords d'un pont et de les retrouver numérisés en 3D sur ordinateur?

C'est le rôle d'un scanner 3D. Il combine un télémètre et deux déflexions. Le premier délivrant une distance et les deux autres délivrant un couple d'angles vertical et horizontal.
En synchronisant ces mesures, on obtient un point 3D, et en effectuant cette opération à haute cadence, on génère un nuage de point.

Cependant, les points doivent être corrigés car les axes de rotation ne sont pas parfaitement orthogonaux. Les températures aussi fluctuent et impactent l'électronique autant que la mécanique. De plus certain points n'existent simplement pas, car le télémètre pointe vers le ciel et ne rencontre aucun objet...

Ce contexte pluridisciplinaire alliant l'optique, la mécanique, l'électronique et l'informatique est très enrichissant. De même, travailler avec des mesures physiques avec les aléas et imperfections qui les caractérisent, donne un intérêt tout particulier à l'informatique et laisse une place de choix à l'innovation.


Mes compétences :
Conception logicielle
Linux
Intégration
Architecte
3D Scanning
Programmation orientée objet
Multithreading
Géomatique
Systèmes embarqués

Entreprises

  • TRIMBLE - Ingénieur Logiciel C/C++ Linux Embarqué

    2008 - maintenant Responsable du système embarqué du scanner 3D "Trimble TX8"
    - contribution aux spécifications
    - design de l'architecture
    - implémentation C/C++, intégration et validation des fonctions
    - optimisation des performances
    - déploiement en production

    Traitement d'un flot de données 3D temps réel (acquisition, compression, stockage...)
    Responsable du modèle géométrique des compensations 3D (métrologie de l'instrument).
    Dépôt de brevets internationaux.

    Outils : Eclipse CDT - Subversion (SVN) - JIRA - Gnu toolchain - Valgrind - Callgrind - STL
  • TRIMBLE - Ingénieur Logiciel Firmware

    2004 - 2008 Ingénieur Logiciel Firmware sur scanner 3D
    - configuration et déploiement d’un OS embarqué (Linux)
    - design du logiciel embarqué et implémentation C++
    - contrôle bas niveau
    - système de mise à jour (firmware update)
    - algorithmes "intelligents" (le produit réagit à son environnement)

    Distinctions techniques et publications
    ("technical awards", brevet)

    Encadrement (4 missions de 6 mois)
    (Définition de mission, recrutement, suivi)

    Ingénieur Field Software
    - développement d'un composant logiciel de scanning
    - projet international (Suède, Allemagne, Nouvelle Zélande)
    - présentations techniques, déplacements, meetings téléphoniques
    - Anglais courant

    Outils : Kdevelop - Gnu toolchain - CVS - gprof
  • MENSI - Ingénieur Firmware

    2001 - 2004 Développement sur scanner 3D (GS100, GS200):
    - développement de driver sous Linux
    - développement d'un serveur sous Linux pour contrôler le scanner
    - communication via USB, Ethernet, RS232.

    Développement d'un driver Windows pour piloter le scanner:
    - utilisation de Design Patterns et de MFC notamment pour la GUI

Formations

Réseau

Annuaire des membres :