Un scanner laser 2D est monté sur un axe rotatif. Je souhaite déterminer la matrice de transformation du centre de l'axe au centre du scanner, en utilisant uniquement l'entrée du scanner et l'angle de rotation.
Le scanner 2D lui-même est supposé calibré, il mesurera avec précision la position de tout objet à l'intérieur du plan du laser, en ce qui concerne l'origine du scanner.
L'axe rotatif est également calibré, il mesurera avec précision l'angle de son propre mouvement.
Le scanner est aligné et monté près du centre de rotation, mais le décalage exact est inconnu et peut dériver avec le temps.
Supposons qu'il soit impossible de mesurer directement la position et l'orientation du scanner. Je cherche un moyen de déterminer les valeurs exactes des 6 degrés de décalage que le scanner peut avoir par rapport à l'axe, déterminés uniquement sur les informations 2D du scanner et l'angle de rotation par rapport à l'axe.
Je m'intéresse principalement aux 4 décalages illustrés ici, car les deux autres n'ont pas d'importance en ce qui concerne la génération d'un nuage de points 3D cohérent à partir des données d'entrée.
En scannant un objet d'étalonnage connu, il devrait être possible de déterminer ces décalages. Quelles sont les formules mathématiques pour cela?
Quel type d'informations d'étalonnage est requis au minimum? Est-il par exemple possible de déterminer tous les paramètres simplement en balayant une surface plane, sans rien savoir de la surface si ce n'est qu'elle est plate?
(La matrice de transformation de l'axe de rotation au monde est également inconnue, mais celle-ci est triviale à déterminer une fois que la transformation de l'axe à la caméra est connue.)
Exemple
À gauche, la caméra est placée exactement sur l'axe de rotation. La caméra balaye un objet plan avec les points de référence AB et C. Sur la base des mesures de distance laser et de l'angle de l'axe, cet objet plan peut être reconstruit.
À droite, la caméra a un décalage inconnu par rapport à l'axe. Il scanne le même objet. Si le nuage de points est construit sans connaître ce décalage, la surface plane est mappée sur une surface courbe.
Puis-je calculer le décalage en fonction de la courbure de la surface?
Si je connais les distances et les angles réels entre A, B et C, comment puis-je calculer les décalages de la caméra à partir de cela? Quel serait le nombre minimum de points de référence dont j'ai besoin pour les 4 décalages?