비전 합성 - Helsparrow/OpenpnpDocs_KR GitHub Wiki

뭡니까 이게?

비전 합성(일명 Multi-Shot Bottom Vision)은 부품의 정렬을 결정하기 위해 하나 이상의 비전 샷을 찍을 수 있습니다.

multi-shot

다음과 같은 기능이 제공됩니다:

  • 카메라 뷰보다 큰 패키지를 정렬합니다.
  • 전체 모양이 직사각형이 아닌 패키지를 정렬합니다.
  • 시차, 보기 및 조명 측면 각도, 잔류 렌즈 왜곡으로 인한 오류를 방지하기 위하여, 카메라 화면을 중앙에 배치하는 기능을 사용하여 정확도를 개선합니다.
  • 안쪽을 향한 패드 모서리를 기준으로 패키지를 정렬합니다. 즉, 바깥쪽이 비대칭이거나 너무 커서 바깥쪽 모서리를 캡처할 수 없는 부품입니다.
  • 파이프라인 편집기를 지원하여 여러 샷을 순환합니다.

적용 배경

카메라 디자인

작은 0201/0402 패시브와 거대한 LQFP-256 패키지 사이에서 하단 카메라 뷰를 올바르게 얻는 것은 매우 어렵습니다. 뷰 크기와 해상도의 상충관계 입니다. 더 높은 해상도의 카메라를 사용하여 이 딜레마를 피하려고 하면 처리 능력, 더 많은 조명 필요, 더 많은 압축 아티팩트 또는 (더 나쁜) 감소된 프레임 속도(fps) 및 추가 카메라 지연에 상당한 추가 비용이 발생합니다.

큰 카메라 뷰를 원하면 머신 빌드에 제약이 추가됩니다. 이상적인 카메라는 초점 거리가 긴("망원") 렌즈를 사용하여 시차 오류를 최소화합니다. 즉, 피사체에서 멀리 떨어져 있어야 합니다. 그러나 이것은 일반적으로 특히 탁상용 디자인의 경우 더 큰 기계를 만드는 것을 의미합니다. 결과적으로 설계자는 정렬 정확도에 해로운 (큰) 광각 렌즈를 자주 사용합니다(다음 섹션 참조).

아이러니하게도 매우 큰 부품은 종종 프로젝트에서 매우 드물며, 예를 들어 단 하나의 MCU만 있습니다. 압도적인 대다수의 부품은 다소 작습니다. 몇 가지 예외를 위해 형편없는 절충안을 만드는 것은 고통스럽습니다.

Vision Compositing은 이러한 모든 문제를 해결하는 데 도움이 됩니다.

이제 카메라는 중소형 부품 작업에 최적화될 수 있습니다. 높은 fps, 긴 초점 거리 렌즈와 함께 중간 해상도 카메라를 사용할 수 있으며 여전히 합리적인 소형 탁상용 디자인을 얻을 수 있습니다. 시야가 좁을수록 정확도가 높아지고 다중 경로 정렬에서 더 빠르게 수렴됩니다.

그런 다음 몇 개의 큰 부품을 여러 샷과 정렬할 수 있습니다. 분명히 정렬 시간에는 추가 비용이 발생하며 이는 다른 곳에서 피할 수 있는 절충안으로 보상될 수도 있고 그렇지 않을 수도 있습니다.

정확도 개선

독립적인 이점으로 다중 샷 정렬은 특히 매우 큰 부품의 정확도를 높입니다. 어떤 경우에는 패키지가 실제로 카메라 보기에 비해 너무 크더라도 이것이 성공적인 배치의 열쇠가 될 수 있습니다.

다음 그림(과장)은 약간 기울어진 노즐이 (매우) 광각 렌즈의 큰 시차 오류로 인해 큰 배치 오류(빨간색)를 초래할 수 있는 방법을 보여줍니다:

illu

두 개의 샷을 사용하여 동일한 모서리를 감지하면 이러한 오류가 전혀 발생하지 않습니다. 카메라 중앙에서 똑바로 바라볼 때 시차가 무시할 수 있을 정도이고, 조금 남아 있어도 왼쪽과 오른쪽이 대칭이고 자체적으로 상쇄되기 때문입니다.

측면에서 핀을 보는 오류, 시야각에 걸쳐 일관되지 않은 빛 반사 또는 잔여 렌즈 왜곡으로 인한 오류는 항상 관련 기능을 카메라 보기의 중앙에 배치하여 줄일 수 있습니다.

이형 패키지

또한 Multi-shot bottom vision은 직사각형이 아닌 일부(몸통) 부품의 정렬을 가능하게 합니다(예를 보려면 비디오를 참조하는 것이 가장 좋습니다).

사용 설명서

쉬운 개요를 보시려면 다음 비디오를 시청하십시오.

카메라 로밍 반경

Camera Roaming Radius를 0(기본값)으로 두시면 비전 합성을 비활성화 합니다.

Camera Roaming Radius를 0보다 큰 값을 입력하면 비전 합성을 활성화 합니다. 노즐은 하단 카메라 위치의 이 반경 내에서 부품을 고정할 수 있습니다.

Camera Roaming Radius

Camera Roaming Radius 내에서 노즐은 먼저 Safe Z로 이동하지 않은 상태 에서 X, Y에서 자유롭게 이동할 수 있습니다. 이는 카메라 내 드래그 조깅을 최적화하는 데에도 사용됩니다. 그러나 이것은 소프트 제한이 아닙니다. 여전히 노즐 및/또는 부품이 카메라 근처의 장애물에 부딪히지 않도록 주의해야 합니다.

반경은 카메라 중심으로부터의 노즐 거리와 노즐에서 돌출된 부분에 대해 충분한 공간을 제공 해야합니다. 이는 패키지 풋프린트의 외피를 고려하여 Vision Compositing 중에 자동으로 관찰됩니다. 이는 패키지 풋프린트의 외피를 고려하여 비전 합성 중에 자동으로 관찰됩니다. 부품은 일반적으로 정중앙에 고정되고 모서리는 패키지의 명백한 멀티샷 대상이기 때문에 _부품 크기가 카메라 로밍 반경보다 작은 직경을 가진 부품_으로 다소 제한됩니다.

다음은 30mm 카메라 로밍 반경 내의 LQFP-144 패키지를 보여줍니다:

Roaming as a limit

주의: 카메라 "핏"은 노즐 팁과 부품이 촬영 높이(초점면)에 있을 때 물리적으로 이러한 움직임의 자유를 제공해야 하며 최악의 선택 허용 오차 및 기타 편차를 허용해야 합니다.

기타 기계 준비

노즐에서 Align with Part? 옵션을 활성화하는 것이 좋습니다:

Align with part switch

부품이 정렬되면 부품의 회전 좌표와 일치하도록 노즐 회전 좌표를 오프셋합니다. 이는 십자선과 DRO가 부품과 잘 정렬되어 있음을 의미합니다. 이는 종종 전체 부품의 일부만 볼 수 있고 레티클(십자선, 격자 등)이 귀중한 시각적 피드백을 제공하는 멀티샷 시나리오에서 특히 유용합니다.

또한 노즐 팁 교정, Max. Part DiameterMax. Pick Tolerance는 멀티샷 작업에 중요한 입력입니다.

패키지 풋프린트

Multi-Shot Bottom Vision이 작동하려면 풋프린트를 정의해야 합니다. 가장 일반적인 풋프린트는 OpenPnP 내부에서 매우 적은 수의 데이터시트 매개변수로 쉽게 생성할 수 있습니다:

Footprint generator

참고: Eagle E-CAD 임포터는 패키지와 함께 패드를 불러 올 수도 있습니다.

패키지 비전 합성

기본 작동은 자동이어야 합니다. Camera Roaming Radius이 주어지면 멀티샷이 활성화됩니다. 카메라 뷰와 거의 같은 크기의 부품에 자동으로 사용됩니다.

패키지 Vision Compositing 탭에서는 하단 프리뷰 화면으로 풋프린트 및 처리 방법을 빠르게 미리 볼 수 있습니다:

Vision-Compositing-Tab

모서리 마커 및 마스킹 반경으로 표시된 샷 위로 마우스를 이동할 수 있습니다. 그런 다음 카메라 크기에 따라 카메라 보기 사각형을 나타냅니다. 패키지 주위의 두꺼운 빨간색/점선 모양 원은 Camera Roaming Radius, 즉 노즐과 부품이 있을 수 있는 위치를 나타냅니다.

마우스를 눌러 패드가 서로 융합된 방식을 확인할 수 있습니다. 너무 가까워서 분리할 수 없습니다. 이 블록의 바깥쪽 모서리만 샷 위치로 간주할 수 있습니다. 그러나 이것들조차도 훨씬 더 많은 제약을 받습니다.

합성 세팅

Method는 풋프린트를 처리하는 방법을 결정합니다:

Compositing Method Drop-Down

  • None: 부품을 한번의 촬영으로 정렬합니다(부품의 크기나 풋프린트의 다른 속성이 다르게 제안하더라도). 이것은 기본적으로 예전과 동일한 동작을 적용하는 데 사용할 수 있습니다. 풋 프린트 (허용 오차 포함)가 실제로 카메라 중앙 원과 겹치더라도 OpenPnP가 여전히 한 번의 샷으로 선택 패키지를 정렬하도록 지시하는 방법 일 수 있습니다. 또는 사전 회전이 꺼져 있고 부품이 직사각형 카메라 뷰 내부에 딱 맞는 경우입니다.
  • Restricted: 부품은 볼록 패드 패턴과 같은 풋프린트의 다른 속성에 관계없이 카메라 화면(중앙 원) 내부에 맞으면 항상 한 번의 촬영으로 정렬됩니다. 이것은 대부분의 패키지에 연속성을 제공하기 위한 기본 방법입니다.
  • Automatic: 부품이 카메라 뷰(중앙 원) 내부에 들어오고 모서리가 대칭적이고 convex한 형태로 이해되면 하나의 경계 사각형으로 캡처되는 경우 부품이 한번의 촬영으로 정렬됩니다. 그렇지 않은 경우 멀티샷이 자동으로 수행됩니다. 코너 쌍을 "브래킷" 샷으로 결합할 수 있습니다.
  • SingleCorners: 모든 따로 떨어진된 모서리를 개별적으로 촬영됩니다. 다음과 같은 이유로 최상의 정확도를 위해 사용할 수 있습니다:
    • 카메라 중심, 즉 Z 위의 수직 "광선"만 위치 정보를 제공합니다. 시차뿐만 아니라 시야 및 라이트 사이드 각도 오류가 최소화됩니다.
    • 더 많은 촬영은 무작위 오류를 통계적으로 줄입니다.

Extra Shots는 해당 패키지에 대한 추가 촬영 횟수를 결정합니다. 최소값은 패드의 형상에서 자동으로 계산됩니다. 예를 들어 정사각형 패키지 모양은 두 개의 모서리 촬영만으로 정렬할 수 있지만 정확도를 향상시키기 위해 반대쪽 두 모서리를 추가 촬영할 수 있습니다.

Max. Pick Tolerance: 부품 픽업 후 패키지 또는 모서리가 얼마나 벗어나도 되는지 결정합니다. 0으로 설정하면 노즐 팁의 아날로그 설정이 사용됩니다. 0이 아닌 경우 이 값은 노즐 팁보다 우선합니다. 이 공차가 클수록 코너는 방해가 되는 다른 코너 또는 카메라 시야의 한계로부터 더 많이 격리되어야 합니다. 따라서 허용 오차가 너무 크면 솔루션을 찾는 데 실패할 수 있습니다.

Min. Angle Leverage: 패키지의 치수(너비와 높이 중 작은 쪽)에 대해 상대적으로 패키지의 감지된 각도를 정의하기 위해 두 모서리가 얼마나 멀리 떨어져 있어야 하는지 결정합니다. 0.5로 설정하면 모서리가 패키지 전체에서 반쯤 떨어져 있어야 합니다.

Allow inside corner?: 내부 모서리 허용 여부를 결정합니다. Camera Roaming Radius로도 부품을 모서리에 배치하기에 충분하지 않은 매우 큰 부품의 경우 대형 패드의 내부 모서리에서 여전히 정렬을 수집할 수 있습니다.

Inside corners

Pipeline Editor 사용하기

비전 합성 파이프라인에 여러 촬영이 있는 경우 Step 버튼을 사용하여 장면을 순환할 수 있습니다.

Pipeline Editor Shots

파이프라인은 모든 촬영에 대해 동일합니다. 즉, Step 및 Step 속성에 대한 모든 수정 사항은 모든 촬영에 영향을 미치며 모든 촬영에서 작동해야 합니다. 촬영 사이에 변경되는 것은 입력 이미지(카메라 피사체 위치)와 일부 외부적으로 제어되는 파이프라인 및 스테이지 속성뿐입니다.