Auto Start 모드 설명
Auto Start 모드란?
• 일반적인 검사 시스템의 경우, 스캔을 위한 물체 감지를 위해 근접 센서를 사용하는 것이 일반적입니다.
• 하지만 경우에 따라 근접 센서를 사용하지 못하는 경우, 3D 센서 내부에서 물체를 감지하는 기능을 사용할 수 있습니다.
• Auto Start 모드는 자동저으로 물체를 감지하고 이미지 취득을 트리거하여 전체 물체를 스캔합니다.
• 또한, 시작 트리거 이전에 캡처된 히스토리 버퍼(History Buffer) 데이터를 획득하여 완전한 스캔을 보증하는 옵션이 있습니다.
Auto Start 모드 동작 원리
• AOI 내에 물체가 인식될 때까지 3D 스캔을 대기합니다.
하지만 물체 인식을 위한 데이터 취득은 계속됩니다.
• AOI 내에 물체가 인식되면 본격적인 3D 스캔이 시작됩니다.
• AOI 내의 물체를 인식하기 위한 파라미터 설정이 필요합니다.
2. Auto Start 모드 적용 과정
Auto Start 모드 적용 과정 - AOI
• cxExplorer에서 물체가 보이는 조건으로 2D Profile 이미지를 취득합니다.
• 좌측 상단의 아이콘을 클릭하여 AOI Rectangle을 지정하고, 아이콘을 클릭하여 AOI를 설정합니다.
Auto Start 모드 적용 과정 - SequencerMode
• SequencerMode를 Auto Start로 설정합니다.
• SequencerMode를 Auto Start로 설정해야, 이와 관련된 모든 파라미터에 접근이 가능합니다.
Auto Start 모드 적용 과정 - AutoStartThreshold
• Auto Start 조건이 충족되는 라인 위치를 정의합니다.
• 해당 파라미터는 AbsolutePosition 값에 따라 계산 방법이 달라집니다.
-> AbsolutePosition 은 CameraControls > ModeAndAlgorithmControls 에 있습니다.
• AutoStartThreshold 계산 예시는 다음과 같습니다.
-> 설정한 AOI 정보가 다음과 같을 때
* AoiHeight : 50
* AoiOffsetY : 800
-> AbsolutePosition 값에 따라 다음과 같이 계산됩니다.
* AutoStartThreshold = 800 + 50/2 = 825 (AbsolutePosition : TURE)
* AutoStartThreshold = 50/2 = 25 (AbsolutePosition : FALSE)
Auto Start 모드 적용 과정 - AutoStartNumPixel
• 레이저 위치 외에도, 충족되는 유효한 레이저 위치의 수를 정의합니다.
• 캡처 된 각 프로파일의 위치 값이 AutoStartNumPixel의 수를 초과하지 않는 한, 센서는 시작 트리거가 생성되지 않습니다.
Auto Start 모드 적용 과정 - Column Evaluation Mask
• 유효한 센서 열과 제외되어야 하는 센서 열을 정의합니다.
• 적용 예시는 다음과 같습니다.
-> 0~2047 중 500~1500 Column만 유효 열로 설정하고 싶을 때.
* ColRangeStart : 500, ColRangeEnd : 1500, ColRangeEnableCommand 실행
* ColRangeStart : 0, ColRangeEnd : 499, ColRangeDisableCommand 실행
* ColRangeStart : 1501, ColRangeEnd : 2047, ColRangeDisableCommand 실행
* ColRangeAvtivate 실행
Auto Start 모드 적용 과정 - AutoStartOption
• 레이저 라인 위치의 유효 범위를 정의합니다.
• 옵션에 따라 위, 아래 방향으로 레이저 라인을 인식합니다.
* PosLessThanAtuoStartThreshold
* PosGreaterThanAtuoStartThreshold
Auto Start 모드 적용 과정 - AutoStartBufferOption
• 시작 트리거가 시작되기 전에 미리 취득된 데이터를 얻을지 정의합니다.
• 다음의 옵션이 제공됩니다.
* none
* HistoryBuffer
• 3D 모드에서 AT 제품은 3개의 내부 버퍼를 사용하여 프로파일을 동시에 취득하고, 3D 프레임을 PC로 전송합니다. HistoryBuffer는 이 버퍼들 중 하나입니다.
• 설정된 옵션에 따라 첫 번째 프레임(Buff#1)이 버려질 수 있습니다.
• HistoryBuffer의 크기는 제한되어 있으며, 버퍼가 가득 차면 가장 오래된 데이터를 덮어쓰기 시작합니다.
• 또한, HistoryBuffer와 함께 청크(Chunk) 모드를 사용해야 합니다.
-> 청크 모드의 사용 방법은 cx_cam_chunk_test 예제 코드를 참고하세요
• HistoryBuffer의 청크 데이터에는 실제 유효한 Y 크기가 포함되어 있습니다.
-> sizeYReal : 유효한 프로파일 수
• 예제 코드를 실행하면 아래와 같이 실제 유효한 Y 크기를 얻을 수 있습니다.
• 다시 정리하면, HistoryBuffer 를 사용하여 트리거 된 직전 이미지를 얻을 수 있습니다.
• 하지만, 실제 유효한 Y 크기를 얻어 추출하고, 트리거 된 직후 이미지와 병합(merge) 작업이 필요합니다.