Bonjour les roboticiens !
Pour ceux qui ne savent pas, je bosse avec Mike118 sur un framework complet de robot web autonome à faible latence. Du hardware en passant par le système d'exploitation jusqu’à l'interface web. Mettant en avant la plus faible réactivité possible et des déplacements rapides et précis...
Mike m'aide souvent à créer des algos avec des partie mathématique que je n'ai pas en tête et je l'en remercie.
Ce logiciel existe sur 3 robots au monde actuellement, les 2 miens et le sien, c'est tout. J'ouvre ce thread comme un "BLOG" de suivi sur l'avancement de ce problème sur lequel je rame depuis maintenant 2 jours, avec en prime ce driver de parcing 4K ulta-optimisé et fonctionnel à la fin...
Suite à l'implémentation d'arithmétique entière et d'une table de sinus 16-bits/16-bits dans la mémoire flash de notre PIC32 qui ne dispose pas d'une FPU, la puissance de traitement disponible à été démultipliée et du coup le mode 4K de ce LIDAR devient intéressant pour améliorer les perfs de nos algos de localisation:D
J'ai donc re-testé mon algo de décodage RPLIDAR 4K et il toujours bugué, le vilain bug n'est toujours pas mort malgré tout ce temps lol
Par contre niveau ressources dispo sur le PIC32 c'est la fête, il faut donc qu'on trouve ce problème absolument !
Le thread de Path qui à déjà fait le décodage 4K mais en JavaScript :
http://www.robot-maker.com/forum/topic/11759-le-rp-lidar-a2/
Le code concerné que je connais presque par coeur mais qui ne m'a pas aidé a résoudre mon bug :
https://github.com/P...express-scan.js
Les pages du datasheet RPLIDAR A2 qui nous intéressent vont de 19 à 23. Pour rappel :
La trame :
Cabin.png 45,38 Ko
27 téléchargement(s)
Format.png 61,15 Ko
28 téléchargement(s)
Description des donnés :
Format1.png 135,71 Ko
27 téléchargement(s)
Format2.png 69,43 Ko
26 téléchargement(s)
Le calcul de l'angle :
Maths.png 38,74 Ko
27 téléchargement(s)
Le BUG :
Les points verts sont les impacts lasers avec un historique de quelques milliers de points = plusieurs frames lidar complètes.
Les lignes blanches sont celles qui sont affichées en ce moment = un fragment d'une trame lidar, soit 30 points (limitation bande passante radio)
0) L'algo 2K fonctionne parfaitement, mais pas en 4K
1) L'angle correct est horizontal, le robot est perpendiculaire au mur de devant, il est aligné à la pièce.
2) Une partie des mesures, si il en existe qui sont à une petite distance du robot sont correctes, on visualise les mystérieux décrochages de chaque côtés quand la distance augmente.
3) Le reste du nuage de point est en retard de 9 degrés !
Je recule légèrement le robot du mur de charge :
1.png 40,02 Ko
27 téléchargement(s)
2.png 80,88 Ko
26 téléchargement(s)
Et encore plus loin :
3.png 43,31 Ko
31 téléchargement(s)
Et sur cette capture, avec le robot au centre de la pièce, on vois bien les 9 degrés d'erreur niveau affichage du Theta
La pièce est inclinée or que le robot est parfaitement aligné :
Erreur9deg.png 768,58 Ko
28 téléchargement(s)