프로젝트 구축 맥락

이 부분에서는 간단한 Mech-Vision 작업물 텐딩 프로젝트를 예로 들어 프로젝트 구축의 맥락와 방법을 소개합니다.

이번에 구축된 프로젝트는 매칭 알고리즘을 사용하여 작업물 픽 포인트의 계산을 실현합니다.

프로젝트 프레임워크

이 프로젝트는 카메라에서 이미지 가져오기 , 포인트 클라우드 생성 , 포인트 클라우드 법선 벡터 계산 , 포인트 클라우드 근사 매칭 , 포인트 클라우드 상세 매칭 , 포즈 변환출력 스텝으로 이루어집니다.

../../../_images/project_framework_0.png

그 중 3D 매칭은 프로젝트의 가장 핵심적인 부분이며 목적은 물체 픽 포인트를 얻는 것입니다.

프로젝트 생성 및 저장

프로젝트 생성 및 저장 을 참조하실 수 있습니다.

스텝 추가

프로젝트 프레임워크를 이해하고 프로젝트를 만든 후에는 프로젝트를 구축하는 스텝을 추가할 수 있습니다.

힌트

스텝 추가 방법: 프로젝트 생성 후 마우스 왼쪽 버튼을 클릭하여 왼쪽 스텝 라이브러리에서 스텝을 선택하고, 마우스 왼쪽 버튼을 누른 상태에서 해당 스텝을 프로젝트 편집 영역으로 드래그하면 스텝 추가가 완료됩니다.

  1. 카메라에서 이미지를 캡처하기 스텝을 추가, 이 스텝은 카메라가 이미지를 캡처하도록 하고 컬러 맵과 뎁스 맵을 얻습니다.

    ../../../_images/project_framework_1.png

    주의

    이 스텝을 추가하기 전에 카메라 설치카메라와 IPC의 연결 를 확인하십시오. 그리고 이미지 획득 테스트 및 로봇 핸드-아이 캘리브레이션 이 완료되었습니다.

    이 스텝이 추가된 후 스텝을 선택한 다음 스텝 파라미터 를 클릭하여 스텝 파라미터 인터페이스에서 카메라 관련 파라미터를 구성하고 카메라 유형, 카메라 번호, 캘리브레이션 파라미터 그룹을 선택하고 IP 주소를 입력합니다.

    ../../../_images/project_framework_1_1.png
  2. 뎁스 맵을 포인트 클라우드로 전환하기 스텝을 추가, 이 스텝은 카메라가 캡처한 뎁스 맵을 포인트 클라우드 데이터로 변환합니다.

    이 스텝을 카메라에서 이미지를 캡처하기 스텝 아래에 놓고 카메라에서 이미지를 캡처하기 스텝의 카메라 뎁스 맵 출력 포트를 뎁스 맵을 포인트 클라우드로 전환하기 스텝의 카메라 뎁스 맵 입력 포트에 연결합니다. 마찬가지로 이 두 스텝의 컬러 맵 출력과 입력 포트를 연결합니다. 프로젝트를 실행할 때 이 스텝의 기본 파라미터를 사용하면 됩니다.

    ../../../_images/project_framework_2.png

    위 그림과 같이 뎁스 맵을 포인트 클라우드로 전환하기 스텝 추가 및 필요한 데이터 입력이 완료되었습니다.

    힌트

    두 스텝을 연결하려면 이전 스텝을 클릭하여 선택하고 마우스 왼쪽 버튼을 누르고 출력 포트에서 다음 스텝의 입력 포트로 드래그합니다.

    주의

    해당 입력 및 출력 포트만 연결할 수 있습니다. 예를 들어 Image/Depth 출력 포트는 Image/Depth 입력 포트에만 연결할 수 있고, 서로 대응하지 않는 입출력 포트는 연결할 수 없습니다.

    이 스텝을 추가한 후 불필요한 포인트 클라우드가 후속 스텝에 끼치는 영향을 줄이고 후속 스텝의 처리 시간을 단축하기 위해 2D ROI를 선택해야 합니다.

    먼저 이 스텝을 선택한 다음 스텝 파라미터 를 클릭하고 마지막으로 Set 2D ROI 를 클릭합니다. 2D ROI를 설정하는 방법은 ROI 설정 를 참조하십시오.

    ../../../_images/project_framework_2_1.png
  3. 포인트 클라우드의 법선 벡터를 계산하고 필터링하기 스텝을 추가, 이 스텝은 입력 포인트 클라우드에서 각 포인트의 법선 벡터를 계산할 수 있으므로 위치 정보만 있는 원래 포인트 클라우드 데이터를 법선 벡터 정보가 있는 포인트 클라우드 데이터로 변환할 수 있습니다.

    이 스텝을 뎁스 맵을 포인트 클라우드로 전환하기 스텝 아래에 놓고 뎁스 맵을 포인트 클라우드로 전환하기 스텝의 포인트 클라우드 출력 포트를 포인트 클라우드의 법선 벡터를 계산하고 필터링하기 의 포인트 클라우드 입력 포트에 연결합니다.

    ../../../_images/project_framework_3.png

    법선 방향의 포인트 클라우드를 얻은 후 포인트 클라우드 매칭( 3D 근사 매칭 , 3D 상세 매칭 )을 진행할 수 있습니다.

  4. 3D 근사 매칭 스텝을 추가, 이 스텝은 미리 만들어진 포인트 클라우드 모델을 입력한 법선 방향을 갖춘 포인트 클라우드와 대략적인 특징 매칭을 진행할 수 있습니다. 매칭 결과를 얻은 후 모델과 매칭된 위치에 따라 해당 기하학적 중심점 또는 물체의 픽 포인트가 생성됩니다.

    이 스텝을 포인트 클라우드의 법선 벡터를 계산하고 필터링하기 스텝 아래에 놓고 포인트 클라우드의 법선 벡터를 계산하고 필터링하기 스텝의 [법선 방향이 있는 포인트 클라우드] 출력 포트를 3D 근사 매칭 스텝의 [법선 방향이 있는 포인트 클라우드] 입력 포트에 연결합니다.

    ../../../_images/project_framework_4.png

    연결이 완료되면 미리 만들어둔 모델 파일과 기하학적 중심점 파일을 도입해야 합니다.

    먼저 3D 근사 매칭 스텝을 선택한 다음 스텝 파라미터 를 클릭하고 마지막으로 icon_1 을 클릭하고 모델 파일과 기하학적 중심점 파일을 선택하고 도입합니다.

    ../../../_images/project_framework_4_1.png

    힌트

    모델 파일과 기하학적 중심점 파일을 만드는 방법은 매칭 모델 및 픽 포인트 편집기 를 참조하십시오.

  5. 3D 상세 매칭 스텝을 추가하면 3D 근사 매칭 의 매칭 결과에 대해 보다 정확한 매칭 계산을 수행하고, 더 높은 정밀도로 매칭 결과를 얻고, 해당하는 고정밀 기하학적 중심점 또는 픽 포인트를 생성할 수 있습니다.

    이 스텝을 3D 근사 매칭 스텝 아래에 놓고 포인트 클라우드의 법선 벡터를 계산하고 필터링하기 스텝의 [법선 방향이 있는 포인트 클라우드] 출력 포트를 3D 상세 매칭 스텝의 [법선 방향이 있는 포인트 클라우드] 입력 포트에 연결합니다. 그리고 3D 근사 매칭 중의 초기 후보 포즈 출력 포트를 3D 상세 매칭 스텝의 초기 후보 포즈 입력 포트에 연결합니다.

    ../../../_images/project_framework_5.png

    3D 상세 매칭 을 통해 정확한 포즈를 얻은 후 획득한 포즈를 변환해야 합니다.

    힌트

    3D 상세 매칭 스텝에서 모델 파일과 기하학적 중심점 파일을 추가하는 것은 3D 근사 매칭 스텝과 동일합니다.

  6. 포즈 전환 스텝을 추가, 이 스텝은 입력한 카메라 좌표계의 포즈를 로봇 좌표계의 포즈로 변환할 수 있습니다.

    이 스텝을 3D 상세 매칭 스텝 아래에 놓고 3D 상세 매칭 스텝의 픽 포인트 출력 포트를 포즈 전환 스텝의 원시 포즈 입력 포트에 연결합니다. 프로젝트를 실행할 때 이 스텝의 기본 파라미터를 사용하면 됩니다.

    ../../../_images/project_framework_6.png
  7. 출력 스텝을 추가, 이 스텝은 입력한 데이터를 Mech-Center로 보내 Mech-Center가 이후 이 데이터를 사용하는 소프트웨어 및 하드웨어에 전송합니다.

    이 스텝을 포즈 전환 스텝 아래에 놓고 변환된 포즈 전환 스텝의 포즈 출력 포트를 출력 스텝 가장 왼쪽의 Abstract Poses 입력 포트에 연결합니다. 연결되면 포트 이름이 PoseList poses로 됩니다. 연결 전과 연결 후의 비교는 다음 그림과 같습니다. 여기서 ①은 연결 전, ②는 연결 후입니다.

    ../../../_images/project_framework_7.png

    여기까지 간단한 매칭 프로젝트의 구축이 완료됩니다. 프로젝트는 바로 가기 키 Ctrl + S 를 사용하거나 메뉴 바에서 파일 ‣ 프로젝트를 저장하기 를 클릭하여 저장할 수 있습니다.

    스텝을 추가한 후 데이터 전송 관계를 보다 직관적으로 만들기 위해 스텝을 배치할 수 있습니다. 세 가지 스텝 배치 방법은 다음과 같습니다.

    • 마우스 왼쪽 버튼을 사용하여 스텝을 선택하고 스텝을 이동하여 스텝을 직접 배치합니다.

    • 빈 공간을 마우스 오른쪽 버튼으로 클릭하고 자동으로 배치 를 클릭합니다.

    • 바로 가기 키 Alt + Shift + F 를 사용하여 스텝을 자동으로 배치합니다.

프로젝트가 구축된 후 프로젝트 실행 및 디버그 할 수 있습니다.