오버 헤드의 포즈 (세계 좌표계에서 x, y, z 및 회전 : Rx, Ry, Rz)를 얻고 싶습니다. 카메라. ChorUco 캘리브레이션 보드를 로봇 팔 (예 : https://www.youtube.com/watch?v=8q99dUPYCPs)으로 움직여 많은 물점과 이미지 점을 얻었습니다. 그 때문에, 나는 이미 모든 물체 점들의 정확한 위치를 가지고있다.OpenCV SolvePnP를 사용하여 오버 헤드 카메라의 자세 추정 결과 높이가 몇 센티미터 떨어져 있음
많은 점을 solvePnP
에 제공하기 위해 첫 번째 객체로 첫 번째 감지 패턴 (ChArUco 보드)을 설정하고 객체 좌표계의 원점으로 사용했습니다. 그런 다음, 감지 된 객체 점 (두 번째 패턴에서 마지막 점까지)을 첫 번째 감지 된 객체 점의 좌표계 (대상 프레임의 원점이 첫 번째 객체의 원점)에 추가했습니다.
카메라와 객체의 좌표계 사이에 변형이 생기면 그 변환을 기반으로 카메라의 포즈를 계산했습니다.
결과 제 꽤 좋은 듯하지만 눈금자 또는 줄자를 사용하여 카메라의 절대 자세를 측정 할 때, I는 외적 보정 결과 (Z 방향에 대해 15 ~ 20 밀리미터 오프 눈치 카메라의 높이), 다른 것들 (x, y, Rx, Ry, Rz)은 거의 정확합니다. 결과는 로봇 팔을 다르게 움직여 대상 점의 범위를 변경 한 경우에도 마찬가지였습니다. 항상 높이에 대해 수 센티미터 벗어났습니다.
이전에 비슷한 문제가 발생 했습니까? 나는 내가 시도 할 수있는 어떤 것도 알고 싶다. 깊이 방향 (z)이 부정확 할 때 일반적인 실수는 무엇입니까?
개체에서 카메라의 일부까지의 거리를 정확하게 측정합니까? 렌즈? 카메라 내부의 광 감지 이미지 센서? 존중과 관련하여 카메라 포즈는 어느 것인가? – mikkola
렌즈에서 측정했습니다. – kangaroo
많은 시간을 보낸 후, 나는 카메라의 출력이 기본적으로 수정되었다는 것을 알아 차렸다. 정정되지 않은 이미지를 사용하면이 문제가 해결되었지만 카메라에서 포인트 클라우드 데이터를 얻을 때 카메라 프레임에서 여전히 y 방향으로 1 센티미터 벗어났습니다. – kangaroo