캘리브레이션 결과 체크 및 분석¶
캘리브레이션이 완료된 외부 파라미터의 경우, 외부 파라미터를 체크하여 캘리브레이션의 정밀도가 요구 사항에 맞는지를 확인하고 판단해야 합니다. 오차가 정상 범위를 넘으면, 이 오차의 원인을 찾아야 하고 문제를 해결한 다음 요구에 맞는 외부 파라미터를 획득할 때까지 다시 캘리브레이션을 합니다.
캘리브레이션 결과를 확인하기¶
카메라 파라미터 계산하기의 페이지에서 캘리브레이션 결과의 계산이 완료된 후, 오차 포인트 클라우드가 표시될 것입니다. 그림1과 같습니다. 오차 포인트 클라우드는 각 캘리브레이션 포즈에서 캘리브레이션 보드의 캘리브레이션 포인트 실제 수치와 계산된 수치 간의 편차를 표시하는 데 사용됩니다.
오차 포인트 클라우드의 컬러는 해당 포인트의 오차 등급 (0.5mm당 오차 레벨 하나로 보기)을 표시하며, 녹색에서 빨간색으로 색깔이 어두울수록 해당 포인트의 오차가 크다는 것을 의미합니다.
디스플레이 박스를 클릭하여, 영문 입력 상태에서 숫자 0-9를 누르면 해당 오차 등급의 포인트 (키 0은 오차가 0.5mm 미만의 포인트를 해당하고, 키 1은 오차가 0.5mm에서 1mm 사이의 포인트를 해당하며, 다른 키들은 이에 의해 유추할 수 있음)가 하이라이트로 표시될 것입니다. 그림2 중에 하이라이트로 표시된 포인트는 0.5mm 미만의 오차 포인트입니다 (숫자 키 0을 누름).
그림3중에 하이라이트로 표시된 포인트는 오차가 2.0-2.5mm 간의 포인트 (숫자 키 4를 누름)입니다.
오차 포인트 클라우드를 표시한 후, Mech-Vision 중의 로그 에 계산 오차 결과를 표시할 것입니다. 그림4와 같습니다.
Mech-Viz 중의 포인트 클라우드 이미지를 통해 캘리브레이션 결과를 대략 볼 수 있습니다. 구체적인 내용은 다음과 같습니다.
ETH 방식을 사용하여 외부 파라미터 계산 결과를 완료한 후 로봇을 카메라 뷰 아래로 이동하고 Mech-Viz에서 현재 포인트 클라우드를 표시하기 를 클릭하여 Mech-Viz를 통해 캡처된 로봇의 포인트 클라우드를 확인합니다. 이상적인 상태에서 로봇의 포인트 클라우드는 로봇 모델과 거의 일치해야 합니다. (Mech-Viz 중의 로봇 모델은 실물 로봇의 외형과 완전히 일치할 수 없으며 외부 파라미터에 대한 미세 조정의 근거가 될 수 없음) 그림 5와 같습니다.
EIH 방식을 사용하여 캘리브레이션 보드를 고정 위치에 배치하여 로봇이 카메라 포즈를 여러 번 변환시켜서 캘리브레이션 보드에 대해 사진을 촬영하고, 캘리브레이션 보드의 포인트 클라우드가 로봇의 베이스 좌표에 비해 큰 옵셋이 있는지를 확인합니다. 그림6과 같습니다.
주의
EIH는 로봇이 연결되지 않은 상태에서 실시간 로봇 포즈를 획득할 수 없습니다. 로봇 현재의 촬영 포인트 포즈를 입력해야 Mech-Viz에서 표시된 포인트 클라우드를 확인할 수 있습니다. 대략 조회는 오차를 수정하는 데 사용할 수 없습니다.
캘리브레이션 결과를 분석하기¶
캘리브레이션 결과 평가 지표
캘리브레이션이 완료된 외부 파라미터의 경우 정밀도 요구에 만족하는지를 확인해야 합니다. 포인트 클라우드 오차의 참고 기준은 다음과 같습니다.
일반 프로젝트 시나리오에서는 모든 데이터 포인트의 오차가 3mm 미만으로 요구됩니다, 즉 <3mm 의 데이터 비율이 100%에 도달해야 합니다.
정밀도 요구가 높은 시나리오에서는 모든 데이터 포인트의 오차가 2mm 미만으로 요구됩니다, 즉 <2mm의 데이터 비율이 100%에 도달해야 합니다.
팔레타이징의 시나리오에서는 모든 데이터 포인트의 오차가 5mm 미만으로 요구됩니다, 즉 <5mm의 데이터 비율이 100%에 도달해야 됩니다.
위의 표시된 표준은 참고용으로 제공됩니다. 실제 생산 과정 중의 프로젝트 정밀도 요구를 표준으로 취급해야 합니다.
캘리브레이션의 정밀도에 영향하는 요소
캘리브레이션이 완료된 외부 파라미터의 경우, 정밀도가 요구 사항을 만족하지 못하는 경우 오차 발생의 원인을 찾아야 합니다. 다음와 같은 순서대로 캘리브레이션 데이터를 하나씩 확인하고 문제의 원인을 찾아야 합니다.
캘리브레이션 데이터가 문제가 있는지 체크하기¶
캘리브레이션 데이터는 캘리브레이션을 할 때 생성하는 캘리브레이션 포인트 데이터입니다. 이는 카메라 번호 폴더 아래의 calib_data.json 파일에 저장됩니다. 이 파일은 캘리브레이션 포인트의 플랜지 포즈, 구석점 인식 데이터 등을 기록합니다. 카메라 캘리브레이션 데이터를 로드할 때 가상 카메라를 사용하여 캘리브레이션 데이터를 로딩하기 를 선택하면 파일이 자동으로 읽게 되고 캘리브레이션 포인트 데이터가 로딩됩니다.
이 데이터에 대해 주로 아래와 같은 3가지 방면으로 체크합니다.
피라미드 경로를 거치는 캘리브레이션 포인트 (피라미드의 캘리브레이션 포인트만 거치고 회전된 캘리브레이션 포인트가 포함되지 않음)과 플랜지 포즈 중 오일러 각이 변화하는지를 확인하기
캘리브레이션 이미지와 포즈 리스트 중의 캘리브레이션 포인트를 클릭하여 캘리브레이션 포인트 데이터 표시하기 를 선택하면 현재 캘리브레이션 포인트의 플랜지 포즈를 볼 수 있습니다. 그림7과 같습니다.
참고
그림7에서 column(pixel) 및 row(pixel)는 현재 캘리브레이션 포인트의 2D 이미지 중 캘리브레이션 보드의 모든 원심의 픽셀 좌표를 대표합니다. camera_coordinate:x(m)/y(m)/z(m)는 현재 캘리브레이션 뎁스맵 중의 캘리브레이션 보드의 모든 원심의 카메라 좌표계의 좌표를 의미합니다.
피라미드 경로를 거칠 때, 로봇은 자신의 베이스 좌표 Base 혹은 플랜지 Flange에 따라 회전없이 이동합니다. 오일러 각은 기본 일치로 유지할 것입니다 . 로봇의 정밀도에 따라 값은 병동할 수 있습니다. 단, 변동 범위가 1도를 넘는 경우 로봇의 제로 포인트가 분실되거나 정밀도가 낮은 가능성이 있습니다.
해결책: 이 때 핸드-아이 캘리브레이션에 적용하지 않는 경우, 로봇의 제로 포인트 (재배치 방법을 사용하여 로봇 제로 포인트가 정확한지를 확인할 수 있음)를 확인하고 로봇의 문제를 해결해야 캘리브레이션이 계속 진행할 수 있습니다.
“캘리브레이션 보드의 포인트 간격의 오차 비율”이 표준값을 넘었는지를 체크하기
캘리브레이션 포인트를 선택해 아래 메시지 박스에 캘리브레이션 보드의 포인트 간격의 오차 비율 이 표시됩니다. 표준값을 넘는 경우 캘리브레이션 포인트가 노란색 경고 표시로 바뀝니다. 캘리브레이션 보드의 포인트 간격의 오차 비율 은 내부 파라미터 체크 결과의 일부로 현재 카메라의 내부 파라미터의 오차값을 반영할 수 있습니다.
해결책: 정밀도에 대해 요구 사항이 많지 않은 경우에, 표준값을 살짝 넘는 내부 파라미터는 여전히 사용할 수 있습니다. 하지만 고정밀도 또는 내부 파라미터가 표준을 많이 넘는 경우에 카메라 내부 파라미터를 다시 캘리브레이션을 하거나 (내부 파라미터를 캘리브레이션을 할 경우, 대형 체스 보드 캘리브레이션 보드를 사용하기가 추천) 카메라를 반품하여 교체하는 것이 좋습니다.
참고
내부 파라미터의 오차는 캘리브레이션 결과를 영향할 수 있습니다. 일반적으로 내부 파라미터의 오차가 표준값 안에 있는 경우 문제가 없을 것입니다.
캘리브레이션 포인트의 “캘리브레이션 보드 평면에 포인트 클라우드의 변동 통계“의 최대값은 3mm를 넘었는지를 체크하기
캘리브레이션 보드에 평면 포인트 클라우드의 변동 통계 는 단일 캘리브레이션 포인트가 캘리브레이션 보드에 있는 모든 캘리브레이션 포인트의 원심 좌표를 한 평면에 나타나는 변동을 대표합니다. 그 값은 외부 파라미터의 정밀도에 직접적인 영향을 미칩니다. 정밀도 요구가 높을수록 이 값이 더 작아야 하고, 일반적으로 최대값은 3mm 이하 (3mm포함)로 설정하며, 세 개 이상 3mm보다 큰 캘리브레이션 포인트가 있는 경우, 전체 정밀도가 보장되지 않아서 문제를 해결하고 다시 캘리브레이션을 해야 합니다. 문제에 영향을 미치는 요인은 두 부분으로 나눕니다.
첫째, 카메라 3D 노출이 조정되지 않아서 포인트 클라우드 변동이 보다 큽니다. 포인트 클라우드 평활화 및 포인트 클라우드 노이즈를 제거하기 가 켜져 있지 않거나 카메라 게인이 켜져 있습니다.
해결책: 포인트 클라우드 평활화 및 포인트 클라우드 노이즈 제거하기를 켜고 카메라 게인을 닫으며 3D 노출을 조정합니다. 캘리브레이션 보드에 있는 캘리브레이션 포인트의 포인트 클라우드가 여전히 결함이 있는 경우, 현장 광원 차단과 같은 처리가 필요합니다.
둘째, ETH 자동 캘리브레이션 방식 아래에 나타납니다. 로봇 플랜지의 끝에 캘리브레이션 보드가 단단히 고정되지 않거나 캘리브레이션을 할 때 로봇의 이동 속도가 너무 빠르기 때문에 카메라가 캡처할 때 캘리브레이션 보드가 흔들어서 포인트 클라우드가 크게 변동하게 되었습니다.
해결책:로봇의 이동 속도를 낮추고 캘리브레이션 보드를 더 굳게 고정시키며 카메라 캡처의 대기시간을 늘어납니다.
그림 8과 같이 내부 파라미터 중의 캘리브레이션 보드의 포인트 간격의 오차 비율 및 캘리브레이션 보드에 평면 포인트 클라우드의 변동 통계 를 체크합니다.
보상 파라미터를 재계산하기¶
보상 파라미터는 캘리브레이션 구역에 대한 블록 분할 계산을 위한 파라미터의 값입니다. 일반적으로 카메라가 공장에서 출하될 때 카메라의 실제 최대 작동 범위에 따라 이 파라미터가 표시됩니다.
참고
실제 현장의 캘리브레이션 조건과 카메라 출하시의 보상 파라미터는 일치하지 않기 때문에 제품 출하시 보상 파라미터가 적용되지 않을 가능성이 있습니다.
위에 제시된 순서대로 캘리브레이션 데이터를 하나씩 체크하고 문제가 있는지를 확인합니다. 결과가 좋지 않는 경우, 계산 파라미터 설정하기 의 풀다운 메뉴를 클릭하고 보상 파라미터 재계산하기 를 선택하며 카메라 파라미터를 재계산합니다. 그림9와 같습니다.
주의
보상 파라미터 재계산하기 를 체크하기 전에 원래의 extri_param.json 외부 파라미터 파일을 백업하고, 출하시의 보상 파라미터로 비고를 하세요.
위에 제시된 방법을 사용하여 문제를 체크하고 해결한 다음 외부 파라미터를 다시 캘리브레이션을 합니다. 프로젝트가 요구하는 정밀도에 도달하면 외부 파라미터의 캘리브레이션이 완성됩니다 .
참고
외부 파라미터의 캘리브레이션이 끝난 후 카메라의 파라미터를 실제 작업 상태로 변경시킵니다.