Projet Lidar 2013
Le projet
Pour ce projet nous avons voulu faire une visualisation 2D & 3D des données que récupère le Lidar.
Il s'agit du modèle URG-04LX-UG01 décrit à cette adresse: http://air.imag.fr/mediawiki/index.php/Hokuyo_URG-04LX-UG01
Nous avons créer une interface afin de pouvoir accéder à la récupération et à l'affichage des données.
Les photos affichées ici montrent le lidar, l'interface utilisateur sur le pc et la visualisation du couloir que nous venions d'effectuer.
Architecture
Afin de dialoguer avec le Lidar, il a fallu implémenter le protocole de communication de ce dernier. Il s'agit du protocole SCIP (Sensor CommunIcation Protocol Specification) dont deux versions existent: 1.1 et 2.0
Dans notre cas, la version présente dans ce modèle est la plus récente: 2.0.
Des commandes sont envoyés via l'ordinateur jusqu'au Lidar connecté à ce dernier. Cela permet de récupérer diverses informations: version, activation/désactivation mais surtout la plus intéressante: la distance des divers points qu'a scanné le lidar dans l'espace !
Implémentation
- L'implémentation du protocole SCIP version 2.0 est OSGi-ifié sous forme d'un bundle.
- Un bundle se charge de l'affichage en temps réel des données sous forme d'une visualisation 2D.
- Un bundle se charge de se connecter à MQTT et offre la possibilité d'être invoqué lors d'un envoi (publish) de données vers un topic présent dans un serveur MQTT.
- La visualisation 3D n'est pas OSGi-ifié (problème de librairie native non résolu..) mais inclus un client MQTT qui est abonné au même topic vers ou les données, via MQTT, sont envoyés. Permettant d'avoir une visualisation 3D qui pourrait être un programme distribué.
N.B: Le client MQTT utilisé est l'implémentation fourni par Fusesource, ici: [1]