비쥬얼 호밍 - Helsparrow/OpenpnpDocs_KR GitHub Wiki

뭡니까 이게?

캡처 중인 모든 위치가 기계 설정 프로세스 초기에 참조되기 때문에, 안정적인 좌표계를 갖는 것이 매우 중요합니다. 좌표계가 변경/전환될 때마다 이러한 저장된 모든 위치가 종종 유효하지 않게 되어 공들여 다시 복구해야 합니다.

Visual Homing(시각적 호밍)을 사용하면 기계의 X축과 Y축을 기계 테이블 상의 fuducial으로 참조할 수 있습니다. 특히 기계를 수정하고 최적화하는 동안에는 축 엔드 스위치보다 더 안정적인 기준이 되는 경우가 많습니다. 축 리미트 스위치는 헤드가 부딪힐 때 가해지는 온도와 힘에 따라 변할 수 있는 다양한 위치에서 트리거합니다. 즉 기계 헤드의 이동 범위에 대한 부정확한 경계를 제공합니다. 라이트플레이서 축 제한 스위치 기준 기계 베드에 영구적으로 부착하면 정확한 위치를 알 수 있습니다. 기계의 시야 공간이 리미트 스위치의 퍼지 부정확도를 초과하기 때문에 기계는 기계 이동 범위와 함께 헤드에 장착된 카메라와 함께 기준을 정확하게 위치시킬 수 있는 수단을 제공합니다. 카메라 스위치와 제한 스위치의 이러한 조합은 기계에서 정확하게 반복 가능한 기준점을 만들 수 있습니다. 이 접근법에 의해 제공되는 정밀도는 시각적 호밍이라고 하며 많은 PnP 기계의 특징입니다. 다음은 OpenPnP가 시각적 호밍을 지원하는 방법과 당신의 기계를 위해 그것을 구현하는 방법입니다.

Fiducial 장착

표준 fiducial은 어두운 지면에 있는 밝은 1mm 직경의 둥근 표시입니다. 새로운 OpenPnP 버전에서는 다음 섹션에 표시된 문제 및 솔루션 마법사 설정에서 실제로 중요한 것은 둥글고 선명한 윤곽선이며, 내부/외부 색상 및 아주 작은 직경입니다.

링크된 PDF를 간단히 인쇄할 수 있습니다. 고품질 무광 사진 용지 또는 이와 유사한 용지를 사용하시기를 권합니다:

또는 여분의 PCB에서 fiducial을 잘라낼 수 있습니다. 다른 사용자는 밝은 지면(직경 1.5mm)에서 얇고 검은색 플라스틱 캐리어 테이프의 스프로킷 구멍을 영리하게 사용했습니다. 기점이 꽤 평평한지 확인하고 구멍, 핀 등과 같은 깊은 "3D" 구조를 사용하지 마세요.

fiducial은 "영구적으로" 설치될 필요가 있습니다. 장치가 향후에 수정될 가능성이 거의 없는 위치를 선택하십시오. 중앙 위치는 기계 전체의 규모 오류를 절반으로 줄이기 때문에 이상적입니다.

중요: 기준점은 PCB 표면과 동일한 Z 레벨에 장착되어야 합니다. 이렇게 하면 카메라가 약간 기울어져도 문제가 되지 않습니다.

이상적으로는 기계의 모든 관련 위치가 동일한 Z 평면과 어느 정도의 높이에 있어야 합니다. 예를 들어, 피더는 이 Z 좌표 근처에서 부품을 선택할 수 있도록 "하강"되어야 합니다. 하지만 이 원칙이 완벽하게 지켜지지 않더라도 걱정하지 마십시오. OpenPnP는 오류를 보상할 수 있는 풍부하고 성장하는 보정 시스템을 가지고 있습니다.

문제 및 솔루션 마법사 사용

문제 및 솔루션 마법사를 사용하여 비쥬얼 호밍을 설정합니다. 필요한 기본 사항에 대한 환견설정 후, 올바른 순서로 제공됩니다.

visual-homing-issues-and-solutions

나중에 다시 방문하고 모든 장비 위치를 처음부터 설정하려는 ⚠ 절대적 확신 ⚠ 이 있는 경우 다음과 같이 진행하십시오.

Machine Setup / Heads / H1로 이동합니다. 호밍 방법을 **없음*으로 설정합니다. 적용을 누릅니다. 문제 및 솔루션 마법사로 이동한 후 Find Issues & Solutions를 누릅니다. 그러면 비쥬얼 호밍 솔루션이 나타납니다(위의 애니메이션 참조). 지침을 따릅니다.

다음 지침은 수동 설정을 위한 것입니다.

Fiducial 부품 생성

표준 OpenPnP 설치에서 시작한 경우 이미 기준 패키지 'FIDUCIAL-1X2'가 정의되어 있습니다. 그렇지 않으면 다음 설정으로 생성합니다:

Fiducial Package

그런 다음 'FIDUCIAL-HOME'이라는 부품이 이미 있는지 확인합니다. 그렇지 않으면 패키지를 기반으로 하나를 만듭니다"

FIDUCIAL-HOME

비쥬얼 호밍 설정하기

마지막 단계에서는 기계 헤드로 이동하여 Visual Homing을 설정합니다. 구현된 두 가지 방법이 있습니다:

  • 새로운 방법, 새 기계에 적합.

  • 좌표계를 보존하기 위해 기존 기계와의 호환성을 유지하는 것을 목표로 하는 레거시 방법.


주의: 모든 것을 처음부터 다시 시작해야 한다는 확신이 없다면 이전 시스템에서 새 방법으로 전환하려는 유혹에 빠지지 마십시오! 아래에 새로운 방법을 마이그레이션하기 위한 가이드가 있습니다.


새롭게 설정하는 기계를 위한 방법

기본 작동 이론: 비쥬얼 호밍이 수행되기 전에 컨트롤러는 이미 축의 엔드스탑 스위치에 의해 기계적으로 호밍됩니다(일부 사용자는 헤드를 수동으로 배치하기도 함). 이제 좌표계가 이미 거의 맞아야 합니다. Visual Homing은 좌표계를 보다 정확하게 고정하는 데만 사용됩니다.

Visual Homing

Homing Fiducial은 OpenPnP 좌표에서 기계의 fiducial을 찾습니다. 기준점으로 간단히 조깅하고 캡처 버튼을 사용하여 캡처할 수 있습니다.

Capture Fiducial

기준 좌표를 기준 위치에 대략적으로 해당하는 "둥근" 숫자로 수동으로 설정할 수도 있습니다. 기계적으로 홈이 지정된(캡처된) 좌표에서 몇 밀리미터 이내에 있어야 합니다.

새로운 방법을 사용하면 비직각도 보상과 같은 축 변환이 앞뒤로 적절하게 처리된다는 것을 확신할 수 있습니다. 그러나 당연히 비직각도 보상은 원점 기준점이 캡처되기 이전에 구성되어야 합니다.

Homing Method 은 fiducial을 기준으로 좌표계를 재설정하는 방법을 결정합니다.

Homing Method

  • None: 비쥬얼 호밍을 끕니다.

  • ResetToFiducialLocation: 새로 설정한 기계에 이 방법을 사용하십시오. 컴퓨터 비전이 fiducial을 고정한 후 기계 위치가 호밍 Fiducial 위치로 재설정됩니다. 즉, 이론적(반올림) 기준점 위치와 실제 기계 위치가 일치하도록 만들어집니다.

  • ResetToHomeLocation: 새로 설정한 기계에는 이 방법을 사용하지 마세요.

Visual Test 버튼은 비쥬얼 호밍를 실제로 수행하지 않고 즉, 기계 좌표계에 영향을 주지 않고 시각적 원점 복귀를 테스트하는 데 사용할 수 있습니다. 카메라를 fiducial 중앙에 완벽하게 배치합니다.

Visual Home 버튼은 비쥬얼 호밍을 수행하여 좌표계를 재설정합니다.

새로운 Homing Fiducial Location 사용

다른 위치에서 새 기준점을 사용하려면 다음 절차를 따르십시오:

  1. ⚠ 현재 레거시 ResetToHomeLocation 메서드가 설정되어 있는 경우 이 작업을 수행 하지 마십시오! 이 경우 아래에서 추가 절차를 대신 사용하세요.
  2. 기존의 호밍 fiducial을 물리적으로 온전한 상태로 두십시오.
  3. 원하는 새 지점, PCB 표면과 동일한 Z 레벨, 이상적으로는 X와 Y의 중앙 위치에 기점을 장착합니다(에서 설명).
  4. 새로운 OpenPnP 세션을 시작합니다.
  5. 전체 기계 호밍을 수행합니다. 홈 위치 좌표로 이동할 때 이전 비쥬얼 호밍이 성공했고 이전 호밍 fiducial이 십자선에 완벽하게 위치하는지 확인하세요.
  6. 기계가 여전히 홈에 있는 동안 다음 단계를 수행합니다. 방해하지 마세요!
  7. 새로운 호밍 fiducial으로 조깅하고 Visual Test를 눌러 카메라를 중앙에 완벽하게 맞춥니다.
  8. 일반적인 파란색 카메라 버튼을 사용하여 호밍 fiducial 위치를 캡처합니다. 적용을 누릅니다.
  9. 전체 기계 호밍를 테스트합니다. 이제 fiducial을 사용해야 합니다.
  10. File / Save Configuration을 수행하여 새 fiducial이 제대로 저장되었는지 확인합니다.
  11. 새 fiducial을 성공적으로 사용한 몇 번의 세션 후에 원하는 경우 기존 fiducial을 물리적으로 제거하셔도 좋습니다.

Method for old Machines

Basic Operation Theory: Before visual homing is performed, the controller is already mechanically homed by end-switches on the axes (some users also position the head manually). The coordinate system can be anything. Visual Homing will completely redefine the coordinate system to the Home Coordinate set on the X and Y axes. Axis transformations are not accounted for.

NOTE: you should never change these setting for an existing machine. The following is just intended to understand what has been migrated automatically from previous versions of OpenPnP 2.0. There is a guide to convert to the new method below.

Visual Homing OLD

Homing Fiducial locates the fiducial on the machine. The coordinate cannot be captured safely because the coordinate system after mechanical homing can be completely different. As this is for existing machines, it is not elaborated further. Use the new method if you really need to redefine the fiducial location.

Homing Method determines how the coordinate system is reset, relative to the fiducial.

Homing Method OLD

  • None: Switches off visual homing.

  • ResetToFiducialLocation: do not use this method for an already set up machine that has ResetToHomeLocation!

  • ResetToHomeLocation: after mechanical homing, OpenPnP will move the camera to the Fiducial Location using the mechanical coordinate system. Computer Vision will then pin the fiducial down precisely. Afterwards this location is reset to the X and Y axis Home Coordinates. See the Machine Axis Controller Settings for how to set the Homing Coordinate. These are raw coordinates so axis transformations such as Non-Squareness Compensation will not be applied, the coordinates may therefore appear differently in OpenPnP's DRO.

Migrate to new ResetToFiducialLocation Method

This is a procedure to "migrate" from the old ResetToHomeLocation method to the new ResetToFiducialLocation method, without losing any coordinates you already captured. It assumes you also want to establish a new homing fiducial at a more ideal location. It is a delicate, manual procedure, that unfortunately cannot be automated in the general case.

  1. This works easily, if your fiducial was very near the electro-mechanical homing coordinates. Otherwise it will get more complicated, see the last few steps.

  2. This is delicate: follow this carefully!

  3. Leave your existing old homing fiducial physically intact (important!).

  4. Mount a new fiducial, on the same Z level as the PCB surface, and ideally in a central location, both in X and Y (as described above).

  5. Start a fresh OpenPnP session.

  6. Perform a full machine homing. Make sure the visual homing was successful and your old homing fiducial is perfectly in the cross-hairs, when you move to the home location coordinates.

  7. While the machine is still homed that way, do the following steps. Don't interrupt this!

  8. Set Homing Method on the head to ResetToFiducialLocation, press Apply.

  9. Jog to the new homing fiducial, press Visual Test to center the camera perfectly.

  10. Capture the new Homing Fiducial location using the usual blue camera button. Press Apply.

  11. Test a full machine homing. It should now use the new fiducial and the modern ResetToFiducialLocation method. If this works out, you're already done.


  12. If it does not find the new fiducial, then your former ResetToHomingLocation configuration had a fiducial location that did not match the homing location at all, perhaps due to a home-to-max config, large retract, or something. The electro-mechanically homed coordinate system is too different from the visually homed one. You need to figure out the shift in X/Y.

  13. Alternative A: if you have the TinyG, set the home coordinates on the X, Y Axes in OpenPnP to correspond to the visually homed coordinate system (compensate for the shift in X/Y). Then delete (empty) your existing HOME_COMMAND and let Issues and Solutions generate a new dynamic one. This new HOME_COMMAND will then automatically establish an electro-mechanically homed coordinate system that roughly corresponds to the visually homed coordinate system.

  14. Alternative B: in our controller's config (e.g. Smoothieware config.txt), set the X, Y home coordinates to roughly correspond to the visually homed coordinate system (compensate for the shift in X/Y).

  15. Alternative C: Add G-code to your HOME_COMMAND to roughly move the camera over the old homing fiducial using coordinates of the electro-mechanically homed machine coordinate system and then reset this position to the visually homed coordinate system, something like this:

    ... ; existing homing sequence
    G1 X10 Y650 ; move roughly over the old fiducial (but use your raw old fiducial coordinates!)
    G92 X0 Y0 ; reset to old home coordinates (but use your old home coordinates!)
    
  16. Retry from step 11.


Advanced Motion Control Topics

Motion Control

Machine Axes

General