파라미터 보상¶
현장에서 로봇과 카메라가 장시간 실행하면 카메라 내부, 외부 파라미터에 경미한 변화가 생기고 픽 정밀도에 영향을 미칩니다. 현장에서 카메라에 캘리브레이션할 조건이 없는 경우, 파라미터 보상으로 카메라의 내부, 외부 파리미터를 수정할 수 있습니다.
파라미터 보상 원리는 로봇 핸드-아이 캘리브레이션 사용 가이드 과 마찬가지로 더 편리하고 빠른 캘리브레이션이라고 할 수 있습니다. 그렇기 때문에 정확도는 카메라 캘리브레이션보다 낮습니다. 심각한 (구체적으로 현장 태스크의 요구에 따라) 카메라 포지션 문제가 생길 경우, 다시 캘리브레이션해야 합니다.
파라미터 보상 기능은 파라미터 보상 을 클릭합니다.
에 있습니다. 다음 그림과 같이 인터페이스인참고 관측값을 설정하기 는 관측을 통해 표시물을 인식하고 카메라 좌표에 있는 포즈를 추정합니다. 시나리오의 표시물의 기준 (초기) 관측 포즈와 후속 관측 포즈의 차이를 비교함으로써 보상을 획득합니다.
오차 분석 은 보상 파라미터의 결과를 시각화 분석하는 것입니다.
보상 프로시저¶
전체 보상 프로시저가 정상적인 현장 태스크에 측정 포시물과 보상 파라미터의 프로시저를 추가하고 현장에서 표시물을 고정해야 합니다. 프로젝트의 경우, 기존 Viz 프로젝트에서 태스크와 Vision 프로젝트를 추가합니다. 추가할 내용은 아래의 그림과 같습니다.
매번 정상 프로젝트가 실행된 후 보상을 해야 하는 것이 아니므로 계수기 하나늘 추가하고 태스크를 리셋합니다. 수요에 따라 계수기 값을 설정합니다. 정상 프로젝트가 일정한 횟수 실행된 후 보상을 다시 실행합니다.
추가된 내용은 Mech-Vision의 참고 관측값을 설정하기 를 통해 생성합니다. 이 기능의 사용 방법은 다음과 같습니다.
참고 관측값을 설정하기¶
카메라 노출 파라미터를 설정하기¶
기존 프로젝트 수요를 확보한 후 Mech-Eye Viewer에서 3D 노출 파라미터를 표시물 표면 흰색 구역에 포인트 클라우드 (맨 오른쪽 이미지)가 있을 때까지 조정합니다. 아래 그림에서 불량부터 양호까지 표시됩니다.
표시물 표면 포인트 클라우드의 평활화를 유지하기 위해 표시물이 Mech-Eye 카메라의 최적 뷰 범위에 있는 것을 확보합니다. 특별한 이유로 확보할 수 없는 경우, 표시물의 키 포인트 (원형일 경우 원심, 사각형일 경우 구석점) 근처의 포인트 클라우드의 평활화를 유지하세요.
카메라를 연결하기¶
파라미터 보상 을 클릭하고, 참고 관측값을 설정하기 를 선택합니다. 인터페이스는 다음과 같습니다.
저장 경로를 설정하고 카메라를 연결하며 기존의 카메라 외부 파라미터를 선택합니다. 연결한 후 단번 촬영할 수 있고 카메라를 연결한지를 다시 확인합니다. 그 다음은 다음 스텝 을 클릭합니다.
표시물을 설정하기¶
현재 표시물이 제공하는 선택은 많지 않기 때문에 조정할 필요가 없고 디폴트 값을 사용하면 됩니다. 다른 시나리오에 적용하기 위해 후속 표시물 파라미터와 유형을 추가할 것입니다. CCTag 혹은 STag 사용하기 바랍니다. 이 부분에서 카메라 설치 방식은 EIH이고 CCTag를 표시물로 취급하며 표시물은 로봇 암 밖에 있습니다. 구체적인 설정은 아래 그림과 같습니다. 설정을 확인한 후 다음 스텝으로 이동합니다.
참고
카메라 설치 방식은 ETH일 경우, 표시물을 로봇 암에 배치하고 카메라는 로봇 암 밖에 설치되어야 합니다.
표시물을 고정하기¶
이 때 카메라가 이미지를 연속 캡처하고 소프트웨어에서 표시물의 실시간 위치를 볼 수 있습니다.
표시물의 배치 규칙은 다음과 같습니다:
작업 구역의 적당한 위치나 로봇 암에 표시물을 고정시킵니다. 표시물과 피고정물 (지면, 로봇 암)의 상대 위치가 변하지 않도록 해야 합니다.
작업 구역에 표시물을 배치할 경우, 다수의 다른 번호 (ID)의 표시물을 사용하는 것을 추천하고 위치 설정을 가능하면 카메라 시야의 각 영역에 분산시켜야 한다.
다수의 표시물을 사용하는 경우, 임의 3 개 표시물을 일직선에 있지 않은 것을 확보합니다.
표시물을 배치한 후, 단번의 스캔 을 클릭하고 몇 초를 기다리고 소프트웨어는 추정 결과를 계산할 것입니다. 아래 그림과 같습니다.
확인한 후 확인 및 다음 스텝 을 클릭합니다.
표시물 포즈를 기록하기 (초기)¶
먼저 로봇 초기 관측 위치 (즉 플랜지 포즈) 를 기록하고 관측 위치에서 표시물 포즈를 기록합니다.
현재 플랜지 포즈와 추정된 표시물 포즈를 기록하기 를 클릭하고, 완성되면 아래에 첫 번째 관측 이 표시됩니다. 아래 그림과 같습니다.
Mech-Viz 혹은 로봇 제어기를 통해 로봇을 예상된 관측 위치로 이동시키고 현재 플랜지 포즈와 추정된 표시물 포즈를 기록하기 를 클릭하고,관측 결과 리스트가 증가할 것입니다.
캡처가 완료된 후, 매번 관측이 수요에 만족하는지 일일이 검사하고 만족하지 않으면 언체크하여 마지막으로 기록하지 않을 것입니다. 체크를 통과한 후 확인 및 다음 스텝 을 클릭합니다.
확인하고 저장하기¶
아래 그림과 같은 인터페이스에서 출력 파일의 명칭을 수정할 수 있습니다. 확인한 후 저장하기 를 클릭합니다.
저장할 내용은 모두 3 가지 있습니다:
파라미터 보상 폴더:ParamsCompensation.
매번 참고 기준은 “날짜-trial” 로 명명된 폴더에 저장되며, 같은 프로젝트는 여러 개 참고 기준을 포함하고 실제 요구에 따라 선택할 수 있습니다.
flange_*.json 는 단일 플랜지 포즈를 기록하고 스텝 포즈 읽기 를 사용하여 로봇에게 이동 트랙 포인트를 보내는 데 사용합니다.
flanges.json 는 모든 관측 포인트의 플랜지 포즈를 기록합니다. 해당 스텝과 함께 로봇에게 이동 트랙 포인트를 보내고, 현재 사용하지 않습니다.
reference.json 는 파라미터 보상과 관련된 모든 정보 및 관측 결과를 기록하고, 스텝 카메라 노출 보상을 체크 및 계산하기 를 사용하여 후속 관측값과 비교하고 보상을 계산합니다.
observation_*.json 는 후속 관측의 추정 결과를 기록합니다.
offset.json 는 스텝 카메라 보상을 체크하고 계산하기 에서 생성된 보상 데이터를 기록하고, 스텝 포즈 읽기 를 통해 피킹 포즈를 보상합니다.
주의
보상된 피킹 포즈는 카메라 좌표계에 기반해야 하고, 로봇 좌표계에 있는 경우, 피킹 포즈에 대한 좌표 전환 후 보상을 실행합니다.
Vision 프로젝트————표시물 측정하기:marker_detection.
Vision 프로젝트는 Viz를 통해 비전 서비스를 호출하고 표시물 포즈를 측정하며, 관측 표시물 위치의 추정 결과를 observation_*.json 파일에 저장합니다.
Vision 프로젝트————오차 보상하기:error_compensation.
Vision 프로젝트는 Viz를 통해 비전 서비스를 호출하고 보상값을 계산합니다. observation_*.json 파일의 표시물 포즈를 읽고 초기 표시물 포즈와 비교하며 계산함으로써 보상값을 획득하고 offset.json 파일에 저장합니다.
생성된 프로젝트 및 파일을 통해 오차 보상을 진행하기¶
Vision 프로젝트¶
기존 프로젝트를 기반으로 하여 생성된 marker_detection 및 error_compensation 두 프로젝트를 추가합니다.
marker_detection 프로젝트는 카메라 IP 및 카메라 파라미터, 이미지 저장 경로를 설정해야 합니다.
스텝 표시물 측정하기 에서 파라미터 보상 폴더 ParamsCompensation 및 참고 목표 (즉 상기 파라미터 보상 폴더의 참고 기준)을 설정해야 합니다.
error_compensation 프로젝트는 스텝 카메라 보상을 체크하고 계산하기의 파라미터 보상 폴더 ParamsCompensation 및 참고 목표 (즉 상기 파라미터 보상 폴더의 참고 기준)을 설정해야 합니다.
이상으로 Vision 프로젝트 설정이 완료됩니다.
Viz 프로젝트¶
Viz 프로젝트는 다음과 같은 형식을 설정할 수 있고 기존 프로젝트를 현장 태스크에 배치합니다.
계수기를 추가하고 태스크를 리셋하며 측정하여 보상을 실행합니다.
계수기는 실제 상황에 따라 설정합니다 (즉 현장 태스크를 몇 번 실행한 후 보상해야 합니다).
태스크 리셋 설정에서 라셋할 태스크는 계수기입니다.
아래 그림과 같은 내용을 측정하고 보상합니다. 관측과 보상 두 모듈이 있습니다.
관측 내용 설정은 아래 그림과 같습니다.
관측 포인트 (이동 태스크) 를 초기 관측 포인트의 포즈로 설정합니다. 포즈는 상기 flange_*.json 파일에 기록됩니다. 관측 포인트 수는 표시물의 수에 달려 있습니다.
비전 인식은 marker_detection 비전 서비스를 호출합니다. 그 수는 표시물의 수에 달려 있습니다.
보상 (비전 인식 태스크)는 error_compensation 비전 서비스를 호출합니다.
이상으로 프로젝트에서 카메라 파라미터 보상의 설정이 완성됩니다. Viz 프로젝트를 실행하면 프로젝트에서 카메라 파라미터 보상을 할 수 있습니다.
오차 분석¶
오차 분석은 생성된 카메라 파라미터 보상의 파라미터에 대한 시각화 처리하고 차트를 통해 오차의 추세 및 분포를 볼 수 있습니다. 파라미터 보상 툴의 오차 분석을 선택하고 오차 분석 인터페이스에 들어갑니다. 아래 그림과 같습니다.
먼저 데이터 송신부를 설정하고 데이터는 참고 폴더 즉 “날짜-trial” 로 명명된 폴더에 있습니다.
관측값 추세: 표시물 포즈의 오차 추세를 관측합니다. 읽는 데이터는 폴더에 있는 observation_*.json 파일의 데이터입니다.
오차 추세: 보상값의 추세입니다. 폴더에 있는 offsets.json 파일의 데이터를 읽습니다.