Um scanner a laser 2D é montado em um eixo rotativo. Desejo determinar a matriz de transformação do centro do eixo para o centro do scanner, usando apenas a entrada do scanner e o ângulo de rotação.
O próprio scanner 2D é considerado calibrado, medindo com precisão a posição de qualquer objeto dentro do plano do laser, em relação à origem do scanner.
O eixo rotativo também é calibrado, mede com precisão o ângulo de seu próprio movimento.
O scanner está alinhado e montado próximo ao centro de rotação, mas o deslocamento exato é desconhecido e pode sofrer variações ao longo do tempo.
Suponha que seja impraticável medir diretamente a posição e a orientação do scanner. Estou procurando uma maneira de determinar os valores exatos dos 6 graus de deslocamento que o scanner pode ter em relação ao eixo, determinado apenas nas informações 2d do scanner e no ângulo de rotação do eixo.
Estou interessado principalmente nas 4 compensações descritas aqui, pois as outras duas não importam em relação à geração de uma nuvem de pontos 3D consistente a partir dos dados de entrada.
Ao digitalizar um objeto de calibração conhecido, deve ser possível determinar esses desvios. Quais são as fórmulas matemáticas para isso?
Que tipo de informação de calibração é necessária no mínimo? Por exemplo, é possível determinar todos os parâmetros simplesmente escaneando uma superfície plana, sem saber nada sobre a superfície, exceto que ela é plana?
(A matriz de transformação do eixo de rotação para o mundo também é desconhecida, mas essa é trivial para determinar uma vez que a transformação do eixo para a câmera é conhecida.)
Exemplo
À esquerda, a câmera é colocada exatamente no eixo de rotação. A câmera digitaliza um objeto plano com os pontos de referência AB e C. Com base nas medições da distância do laser e no ângulo do eixo, esse objeto plano pode ser reconstruído.
À direita, a câmera possui um deslocamento desconhecido para o eixo. Ele verifica o mesmo objeto. Se a nuvem de pontos for construída sem conhecer esse deslocamento, a superfície plana será mapeada para uma superfície curva.
Posso calcular o deslocamento com base na curvatura da superfície?
Se eu sei as distâncias e ângulos do mundo real entre A, B e C, como posso calcular as compensações da câmera a partir disso? Qual seria o número mínimo de pontos de referência necessários para todas as 4 compensações?