캘리브레이션 결과 체크 및 분석
캘리브레이션 완료된 외부 파라미터의 경우 캘리브레이션 정확도가 요구 사항을 충족하는지 확인해야 합니다. 오차가 정상 범위를 벗어나는 경우 다시 캘리브레이션하기 전에 오차의 원인이 되는 문제를 진단하고 해결하여 적합한 외부 파라미터를 얻어야 합니다.
캘리브레이션 결과 검증
포인트 클라우드 뷰어에서 오류 포인트 클라우드 확인
카메라 파라미터 계산 단계 화면에서 캘리브레이션 결과 계산 완료 후 포인트 클라우드 뷰어 패널은 다음 그림과 같이 오차 포인트 클라우드를 표시합니다. 오차 포인트 클라우드는 각 캘리브레이션 포즈의 캘리브레이션 보드 원의 참값과 계산된 값 사이의 편차를 표시하는 데 사용됩니다.
오차 포인트 클라우드의 컬러는 해당 포인트의 오차 등급 (0.5mm당 오차 레벨 하나로 보기)을 표시하며, 녹색에서 빨간색으로 색깔이 어두울수록 해당 포인트의 오차가 크다는 것을 의미합니다.
각 오차 등급의 포인트를 보려면 포인트 클라우드 뷰어 패널의 영문 입력 모드에서 숫자 키 0~9를 누르십시오. 소프트웨어는 포인트 클라우드에서 해당 오차 등급의 포인트를 강조 표시합니다(0은 0.5mm 미만의 오차가 있는 지점에 해당하고 1은 0.5mm에서 1mm 사이의 오차가 있는 지점에 해당하는 등).
다음 그림은 오차가 0.5mm 미만인 데이터 포인트를 표시합니다(숫자 키 0 누름).
다음 그림은 오차가 2.0mm에서 2.5mm 사이인 데이터 포인트를 표시합니다(숫자 키 4 누름).
시나리오 뷰어에서 로봇의 포인트 클라우드와 로봇 모델의 매칭 정도 확인(ETH 시나리오에 적용)
tag::calib_result_verification_eth[] 카메라 외부 파라미터를 계산한 후 시나리오 뷰어에서 로봇 포인트 클라우드와 로봇 모델의 매칭 정도를 보고 캘리브레이션 결과를 대략적으로 판단할 수 있습니다. 구체적인 작업은 다음과 같습니다.
-
로봇 팔을 카메라의 시야 내로 이동합니다.
-
카메라 파라미터 계산 단계에서 카메라 외부 파라미터 계산 버튼을 클릭합니다. 이 작업은 카메라가 사진을 캡처하도록 트리거합니다.
-
시나리오 뷰어를 클릭하여 로봇 포인트 클라우드와 로봇 모델 간의 매칭 정도를 확인합니다.
로봇의 포인트 클라우드가 로봇 모델과 대략적으로 매칭하면 캘리브레이션 결과를 사용할 수 있음을 의미합니다.
-
로봇 모델은 실제 로봇의 모양과 완전히 매칭하지 않을 수 있으며 외부 파라미터를 미세 조정하기 위한 기준으로 사용할 수 없습니다.
-
시나리오 뷰어 외에도 Mech-Viz 소프트웨어에서 로봇의 포인트 클라우드와 로봇 모델 간의 매칭 정도를 확인할 수 있습니다.
end::calib_result_verification_eth[]
-
시나리오 뷰어에서 고정점을 기준으로 캘리브레이션 보드 포인트 클라우드의 옵셋 보기(EIH 시나리오에 적용)
tag::calib_result_verification_eih[] 카메라 외부 파라미터를 계산한 후 시나리오 뷰어에서 고정점을 기준으로 하는 캘리브레이션 보드 포인트 클라우드(캘리브레이션 원 십자의 중심점)의 옵셋을 보고 캘리브레이션 결과를 대략적으로 판단할 수 있습니다. 구체적인 작업은 다음과 같습니다.
-
캘리브레이션 보드를 고정된 위치에 놓습니다.
-
Mech-Viz 소프트웨어를 열고 고정점을 추가하고 캘리브레이션 보드에 있는 캘리브레이션 원 중 하나의 교차 중심점과 겹치도록 합니다.
-
스텝 라이브러리에서 "이동" 스텝을 찾아 프로젝트 편집 영역으로 드래그합니다.
-
이 스텝을 선택한 다음 파라미터 편집 영역에서 이동 목표 유형 파라미터를 "작업물 포즈"로 설정하고 포즈의 X/Y/Z 좌표를 조정하여 포즈가 캘리브레이션 보드의 캘리브레이션 원 중 하나의 교차 중심점과 겹치도록 합니다.
-
-
로봇을 제어하여 카메라 포즈를 여러 번 변경하고 캘리브레이션 프로세스의 카메라 파라미터를 계산하기 스텝에서 외부 파라미터 재계산 버튼을 클릭합니다. 이 작업은 카메라가 사진을 캡처하도록 트리거합니다.
-
시나리오 뷰어에서 캘리브레이션 보드의 포인트 클라우드가 고정점을 기준으로 분명히 옵셋되는지 여부를 관찰합니다.
캘리브레이션 보드의 포인트 클라우드에 고정점에 대한 명확한 옵셋이 없으면 캘리브레이션 결과를 사용할 수 있음을 의미합니다.
|
end::calib_result_verification_eih[]
캘리브레이션 결과를 분석하기
캘리브레이션 결과 평가 지표
캘리브레이션이 완료된 외부 파라미터의 경우 정밀도 요구에 만족하는지를 확인해야 합니다. 포인트 클라우드 오차의 참고 기준은 다음과 같습니다.
-
일반 프로젝트 시나리오에서는 모든 데이터 포인트의 오차가 3mm 미만으로 요구됩니다, 즉 <3mm 의 데이터 비율이 100%에 도달해야 합니다.
-
정밀도 요구가 높은 시나리오에서는 모든 데이터 포인트의 오차가 2mm 미만으로 요구됩니다, 즉 <2mm의 데이터 비율이 100%에 도달해야 합니다.
-
팔레타이징의 시나리오에서는 모든 데이터 포인트의 오차가 5mm 미만으로 요구됩니다, 즉 <5mm의 데이터 비율이 100%에 도달해야 됩니다.
위의 표준은 참고용이며 특정 요구 사항은 실제 생산과정 중의 프로젝트 정밀도 요구 사항에 따릅니다.
캘리브레이션의 정확도에 영향을 미치는 요인
캘리브레이션이 완료된 외부 파라미터의 경우, 정확도가 요구 사항을 만족하지 못하는 경우 오차 발생의 원인을 찾아야 합니다. 다음과 같은 순서대로 캘리브레이션 데이터를 하나씩 확인하고 문제의 원인을 찾아야 합니다.
캘리브레이션 데이터가 문제가 있는지 체크하기
캘리브레이션 데이터는 캘리브레이션 작업 수행 시 생성한 캘리브레이션 포인트의 데이터입니다. 카메라 번호 폴더 아래의 calib_data.json 파일에 저장되며, 이 파일은 캘리브레이션 포인트의 플랜지 포즈, 캘리브레이션 원 데이터 등을 기록합니다.
캘리브레이션 포인트 데이터를 보려면 다음 단계를 수행하십시오.
-
Mech-Vision 소프트웨어에서 툴 바의 카메라 캘리브레이션(표준) 버튼을 클릭합니다. 캘리브레이션 사전 구성 창이 팝업됩니다.
-
캘리브레이션 방법 선택 창에서 기존 캘리브레이션 파라미터 로드 라디오 버튼을 선택하고 캘리브레이션 파라미터 파일을 선택한 후 다음 버튼을 클릭합니다.
-
캘리브레이션 구성 적용 방법 선택 창에서 현재 로드된 카메라 캘리브레이션 라디오 버튼을 선택한 후 다음 버튼을 클릭합니다.
-
캘리브레이션 작업 선택 창에서 외부 파라미터 재계산 라디오 상자를 선택하고 캘리브레이션 데이터를 로드하기 라디오 상자를 선택한 다음 캘리브레이션 시작 버튼을 클릭합니다.
-
캘리브레이션의 카메라 파라미터 계산 단계에서 캘리브레이션 이미지 및 포즈 리스트 패널에서 캘리브레이션 포인트(예: pose_000)를 선택하고 캘리브레이션 원 정보 패널을 클릭하면 캘리브레이션 포인트의 플랜지 포즈와 캘리브레이션 보드의 캘리브레이션 원의 데이터를 볼 수 있습니다.
그림에서 X(pixel) 및 Y(pixel) 열은 현재 캘리브레이션 포인트의 2D 맵에서 캘리브레이션 보드의 모든 캘리브레이션 원 중심의 픽셀 좌표를 나타냅니다. Camera frame: X(m)/Y(m)/Z(m) 열은 카메라 좌표계에서 현재 캘리브레이션 포인트의 뎁스 맵에서 캘리브레이션 보드의 모든 캘리브레이션 원 중심의 좌표를 나타냅니다. |
다음 세 가지 측면에서 캘리브레이션 포인트 데이터를 체크하십시오.
-
피라미드 경로로 이동하는 캘리브레이션 포인트의 플랜지 포즈에서 오일러 각이 전후에 변화가 있는지 확인합니다.
주의해야 할 점은 피라미드의 캘리브레이션 포인트만 취하고 회전 캘리브레이션 포인트는 포함되지 않습니다. 이 체크는 캘리브레이션 보드에서 여러 임의 포즈 방법을 사용하여 캘리브레이션 데이터를 수집하는 캘리브레이션 시나리오에만 적용할 수 있습니다. 캘리브레이션 이미지 및 포즈 리스트 패널에서 캘리브레이션 포인트(예: pose_000)를 선택한 다음 캘리브레이션 원 정보 탭을 클릭하여 캘리브레이션 포인트의 플랜지 포즈를 확인합니다. 피라미드 경로로 이동할 때 로봇은 회전 없이 자체 기본 좌표계 또는 플랜지 좌표계를 따라 이동하므로 오일러 각은 기본적으로 일정합니다.
다른 로봇의 경우 정확도에 따라 포즈가 위아래로 변동합니다. 플로트가 1도를 초과하면 로봇 자체의 제로 포인트가 손실되거나 로봇의 정밀도가 떨어질 수 있습니다.
해결책: 이 때 핸드-아이 캘리브레이션에 적용하지 않는 경우, 로봇의 제로 포인트 (재배치 방법을 사용하여 로봇 제로 포인트가 정확한지를 확인할 수 있음)를 확인하고 로봇의 문제를 해결해야 캘리브레이션이 계속 진행할 수 있습니다.
-
캘리브레이션 포인트의 "평균 캘리브레이션 원 간격 측정 값 오차"가 기준 값을 초과하는지 확인하십시오.
캘리브레이션 이미지 및 포즈 리스트 패널에서 캘리브레이션 포인트를 선택하고 아래 메시지 박스에서 평균 캘리브레이션 원 간격 측정값 오차를 확인합니다.
오차 상한선 기준을 초과하면 캘리브레이션 포인트가 노란색 경고로 바뀝니다. 내부 파라미터 검사 결과의 일부인 평균 캘리브레이션 원 간격 측정 값의 오차는 현재 카메라 내부 파라미터의 오차 값을 부분적으로 반영할 수 있습니다.
해결책: 정확도 요구 사항이 높지 않은 시나리오에는 표준 값을 약간 초과하는 내부 파라미터를 계속 사용할 수 있습니다. 그러나 고정밀 또는 오차가 큰 상황에서는 카메라의 내부 파라미터를 다시 캘리브레이션하거나 카메라를 공장으로 반환하여 교체하는 것이 좋습니다.
내부 파라미터의 오차는 캘리브레이션 결과에 영향을 미치며 일반적으로 내부 파라미터의 오차가 표준값 안에 있는 경우 문제가 없을 것입니다.
-
캘리브레이션 포인트의 “캘리브레이션 원 포인트 클라우드의 변동“의 최대값이 3mm를 넘었는지를 체크하기
캘리브레이션 이미지 및 포즈 리스트 패널에서 캘리브레이션 포인트를 선택하고 아래 메시지 박스에서 캘리브레이션 원 포인트 클라우드의 변동을 확인합니다. 캘리브레이션 원 포인트 클라우드의 변동은 현재 캘리브레이션 포인트에서 평면에 피팅된 캘리브레이션 보드의 모든 캘리브레이션 원 중심 좌표의 위아래 변동을 통계합니다. 이 값은 외부 파라미터의 정확도에 직접적인 영향을 미칩니다.
정확도 요구 사항이 높을수록 포인트 클라우드의 변동 값이 작아야 합니다. 일반적으로 최대값은 3mm를 초과하지 않아야 합니다. 세 개의 캘리브레이션 포인트를 초과하는 포인트 클라우드 변동의 최대값이 3mm보다 크면 전체 정확도를 보장할 수 없음을 나타냅니다. 문제를 배제하고 다시 캘리브레이션해야 합니다.
캘리브레이션 원 포인트 클라우드의 변동에 영향을 미치는 가능한 이유는 다음과 같습니다.
이유 1: 카메라의 3D 노출 파라미터가 제대로 조정되지 않았거나 포인트 클라우드가 크게 변동하거나 포인트 클라우드 평활화 및 포인트 클라우드 노이즈 제거 기능이 활성화되지 않았거나 카메라 게인이 켜져 있습니다. 해결책:포인트 클라우드 평활화 및 포인트 클라우드 노이즈 제거기능을 활성화하고 카메라 게인을 비활성화하며 3D 노출을 조정합니다. 캘리브레이션 보드의 도트 포인트 클라우드가 여전히 불완전한 경우 현장 음영 처리가 필요합니다. 이유 2:ETH 시나리오에서 자동 캘리브레이션을 수행할 때 캘리브레이션 보드가 로봇 플랜지 끝에 단단히 고정되지 않았습니다. 캘리브레이션 중에 로봇이 너무 빨리 움직여 카메라가 사진을 캡처할 때 캘리브레이션 보드가 진동하여 포인트 클라우드가 크게 변동합니다. 해결책:로봇의 이동 속도를 낮추고 캘리브레이션 보드를 더 굳게 고정시키며 카메라 캡처의 대기시간을 늘립니다.
보상 파라미터를 재계산하기
보상 파라미터는 캘리브레이션 구역에 대한 블록 분할 계산을 위한 파라미터의 값입니다. 일반적으로 카메라가 공장에서 출하될 때 카메라의 실제 최대 작동 범위에 따라 이 파라미터가 표시됩니다.
실제 현장의 캘리브레이션 조건과 카메라 출하시의 보상 파라미터는 일치하지 않기 때문에 제품 출하시 보상 파라미터가 적용되지 않을 가능성이 있습니다. |
위의 순서대로 캘리브레이션 데이터를 하나씩 확인하여 문제가 없는지 확인하되 그래도 결과가 만족스럽지 않을 경우 보상 파라미터를 다시 계산할 수 있습니다.
보상 파라미터를 다시 계산하려면 캘리브레이션의 카메라 파라미터를 계산하기단계에서 카메라 파라미터를 계산하기를 선택한 다음카메라 외부 파라미터 계산하기 버튼을 클릭합니다.
카메라 파라미터를 다시 계산하기 전에 원본 extri_param.json 외부 파라미터 파일을 백업하고 공장 보상 파라미터로 기록해 두십시오. |