En raison de la précision requise dans divers domaines, tels que l'agriculture, l'archéologie et les transports, les lasers sont souvent utilisés à des fins telles que l'évitement d'obstacles, la construction de cartes ou même l'autonomie la navigation.
Examinons les LiDAR, leur fonctionnement et la manière dont vous pouvez les utiliser pour créer une carte 2D de votre espace.
Choses dont vous aurez besoin pour scanner votre chambre
Voici les pré-requis pour créer une carte 2D de votre pièce :
- Un ordinateur portable ou un PC exécutant Ubuntu Server
- Installation ROS
- Un LiDAR
Qu'est-ce que LiDAR ?
LiDAR, ou Light Detection and Ranging, On le retrouve aussi sous un autre nom, LADAR (Laser Detection and télémétrie) une technologie de télédétection active qui mesure la distance en utilisant la lumière sous la forme d'un laser. La technologie fonctionne en projetant une impulsion optique sur une cible et en mesurant les caractéristiques du signal de retour réfléchi.
Le système mesure le temps de retour du faisceau. En général, c'est un télémètre. La largeur de l'impulsion optique peut aller de quelques nanosecondes à plusieurs microsecondes, et elle peut cibler une variété de matériaux.
Connexion du système et acquisition de données laser
RPLIDAR A1, un capteur LiDAR à faible coût adapté aux applications robotiques intérieures, sera utilisé dans ce cas. Il a un champ de balayage à 360 degrés, une fréquence de rotation de 5,5 Hz/10 Hz et une distance de garde de 8 mètres. Le LiDAR dispose d'un système de scanner de distance, d'un système de moteur ainsi que d'une interface de communication (port série/USB).
Le système mesure les données de distance à plus de 2000 fois par seconde et avec une sortie de distance à haute résolution. Par conséquent, il nécessite l'utilisation de plusieurs outils pour traiter et visualiser les données. Par exemple, vous pouvez utiliser l'outil SlamTech RoboStudio ou le package fourni par ROS.
Pourquoi ROS ?
RSO (Robot Operating System) est un logiciel utilisé par une communauté mondiale open source d'amateurs de robotique dédiés à l'amélioration et à la mise à disposition de robots à tous. Il a été initialement développé par Eric Berger et Keenan Wyrobek à l'Université de Stanford. ROS vous permet également de visualiser les données des capteurs, de créer des interfaces et d'utiliser des outils tels que Rviz et le moteur de simulation Gazebo.
Avec ROS, vous pourrez facilement séparer votre code en packages contenant de petits programmes, appelés nœuds. Ces nœuds sont connectés via des sujets sur lesquels ils envoient et reçoivent des messages.
Dans ce projet, vous utiliserez rplidar_ros, un package ROS spécialement conçu pour la collecte de données LiDAR. Le package hector_slam sera utilisé plus tard pour la création de cartes.
Étape 1: Installation de ROS
Après installation du serveur Ubuntu, ouvrez votre terminal et exécutez la commande suivante pour vous assurer que votre index de paquet Debian est à jour. La différence entre mise à jour et mise à niveau a déjà été couvert.
sudo apt mettre à jour
L'étape suivante consiste à installer ROS.
sudo apt installer ros-noetic-desktop-plein
Vous pouvez tester ROS en exécutant le roscore, qui servira de preuve d'installation correcte.
roscore
Étape 2: Obtenir votre première numérisation
Tout d'abord, exécutez la commande suivante pour installer le rplidar_ros forfait:
sudo apt-obtenir installer ros-noetic-rplidar-ros
La rplidar_ros Le package comprend les scripts et les fichiers de lancement nécessaires pour obtenir et visualiser les données de numérisation LiDAR.
Une fois votre logiciel terminé, connectez votre LiDAR à votre PC via le port USB. Le LiDAR commencera à tourner, mais il n'émettra aucun laser à moins que vous n'exécutiez la commande suivante qui appelle un fichier de lancement ROS.
roslaunchrplidar_rosrépliquer.lancement
En exécutant cette commande, vous pouvez voir les distances réfléchies qui sont publiées dans une rubrique appelée /scan.
rostopique écho /scan
Vous devriez voir une représentation des données de balayage laser non traitées dans votre terminal :
Pour visualiser ces données, ouvrez un autre terminal, en veillant à ne pas fermer l'autre terminal en cours d'exécution qui récupère les données du scanner laser, et lancez Rviz, l'outil de visualisation.
rosrun rviz rviz
Changer la Châssis fixe à Laser, puis cliquez sur le ajouter dans le coin inférieur gauche de la fenêtre et sélectionnez LaserScan. Enfin, définissez le sujet LaserScan sur /scan, et vous pourrez voir votre scan LiDAR en temps réel.
Si vous rencontrez des difficultés pour obtenir votre première analyse, cela peut être dû au fait que votre appareil n'est pas autorisé à communiquer des données via série. Pour résoudre ce problème, exécutez la commande suivante, puis continuez avec les étapes précédentes.
sudo chmod 777 /dev/ttyUSB0
Étape 3: Lancer le mappage
Après avoir testé votre LiDAR et confirmé qu'il fonctionne correctement, l'étape suivante consiste à commencer à scanner votre région d'intérêt. Pour cela, vous aurez besoin d'un package supplémentaire appelé Hector Slam (où "Slam" signifie "Simultaneous localization and mapping").
Comme précédemment, exécutez la commande suivante pour installer ce package :
sudo apt-obtenir installer ros-noetic-hector-slam
Avant d'exécuter l'analyse, modifiez quelques paramètres comme indiqué ci-dessous. Recherchez tutorial.launch dans le package hector_slam en utilisant le roscd commande.
roscd hector_slam_launch
La commande nano vous permettra d'ouvrir votre fichier et de le modifier.
nanoDidacticiel.lancement
Vous pourriez rencontrer une autorisation de fichier Linux erreur qui peut être résolue par cette commande :
sudochmod 777 Didacticiel.lancement
Voici un exemple d'exécution :
L'étape suivante consiste à modifier les lignes comme indiqué ci-dessous :
La dernière étape consiste à exécuter cette ligne.
roslaunchhector_slamDidacticiel.lancement
Commencez à déplacer lentement votre LiDAR dans votre pièce pour obtenir les meilleurs résultats, car la création de cartes est plus efficace lorsque vous vous déplacez lentement. Vous pouvez activer votre trajectoire et expérimenter les paramètres de balayage laser.
Vous pouvez utiliser le SLAM intérieur pour scanner toute la maison à l'aide d'un ordinateur portable et d'un LiDAR, comme indiqué dans la vidéo ci-dessous. Les résultats peuvent être améliorés en intégrant des capteurs supplémentaires, puis en combinant les données des deux sources.
Étape 4: Enregistrer et modifier votre carte
Exécutez la commande suivante une fois que vous avez terminé votre analyse pour enregistrer la carte :
rostopic pub syscommand std_msgs/String "sauvergeotif"
Dans ce scénario, magie de l'image peut être utilisé pour convertir la carte en un fichier image PNG, exécutez ces deux commandes pour terminer l'installation et la conversion.
sudo apt-obtenir installer imagemagick
convertirscannéeCarte.pgmMaCartePng.png
Obtenez plus d'utilisation de LiDAR
À l'aide d'un LiDAR et d'un PC, vous avez pu effectuer un scan 2D. Vous pouvez améliorer votre scan en ajoutant une caméra de profondeur, comme la Kinect, et en intégrant les deux types de données collectées.
La même technologie peut être trouvée dans certains modèles d'iPhone et d'iPad haut de gamme, où le LiDAR est intégré à la caméra module au dos de l'appareil, permettant le développement de cartes 3D, la mesure de distance et la réalité augmentée applications.