동기화된 이미지 획득
머신 비전의 많은 고 정밀도 어플리케이션들은 동시에 프레임들을 캡쳐하기 위해 다수의 카메라들을 필요로 합니다. 이 어플리케이션 노트는, 이러한 어플리케이션들에서 사용하기 위해 다수의 IDS uEye 카메라를 동기화하는 데 사용할 수 있는 방법들을 개괄적으로 설명합니다.
다수의 카메라들의 캡쳐를 동기화하는 세 가지 주요 방법들이 있습니다. 첫 번째 방법은 소프트웨어 트리거를 사용합니다; 두 번째 방법은 하드웨어 트리거와 외부 트리거 신호를 사용합니다; 그리고 세 번째 방법은, 한 그룹의 카메라들을 하드웨어로 트리거하기 위해 하나의 카메라의 디지털 출력을 사용합니다.
소프트웨어 트리거
소프트웨어 트리거 방법은 어떠한 추가적인 하드웨어 설정도 요구하지 않습니다. PC에 uEye 카메라들을 간단히 연결하세요. USB 2 uEye XS 및 USB 3 uEye XC를 제외한 모든 uEye 카메라들은, 소프트웨어 트리거 모드에 액세스할 수 있습니다. 운영체제의 특성으로 인해, 소프트웨어 트리거 모드는 소프트웨어 명령과 이미지 캡처의 시작 사이에 정확히 가늠할 수 없는 지연을 갖습니다. 10개의 밀리세컨드(10s of milliseconds) 이상의 정밀도가 필요한 어플리케이션들은 이하의 다른 방법들 중에서 하나를 사용해야 합니다.
설정에 대한 자세한 내용은, Windows 시스템상에 IDS Software Suite와 함께 설치된 uEye MultiCam Demo를 참조하세요.
하드웨어 트리거
이 방법은 하우징을 구비한 USB 2 uEye XS, USB 3 uEye XC 및 USB/USB 3 uEye LE를 제외한 모든 uEye 카메라들에 사용될 수 있습니다. 하드웨어 트리거의 사용은 설정하기 쉽지만, 최대의 외부 하드웨어가 필요합니다. uEye 매뉴얼에서 여러분의 카메라 모델에 대한 전기적 사양의 적절한 트리거 배선도를 참조하세요.
하드웨어 트리거 설정을 테스트하려면, uEye Cockpit을 사용하세요. 프로그램의 개별 예시들의 모든 카메라들을 열고, 도구 모음의 버튼을 사용하여 카메라들을 '연속 트리거'모드로 설정하세요.
속성 창(렌치 아이콘:)을 열고, '트리거' 탭으로 이동하세요. 모드를 "소프트웨어"로부터 "하강 에지(Falling edge)"로 변경하세요.
SDK에서 트리거 모드를 어떻게 설정할지에 대한 안내는 uEye SimpleTrigger 예시 및 uEye 매뉴얼: is_IO를 참조하세요.
마스터/슬레이브 하드웨어 트리거
이 옵션에서, 모든 카메라들은 트리거 모드에서 사용되도록 설정됩니다. 그런 다음, 플래시 입력 또는 GPIO가 모든 카메라들을 동시에 트리거하도록 설정됩니다.
도면에서, 마스터 카메라의 플래시 출력은 마스터 카메라와 슬레이브 카메라들을 동시에 트리거하는데 사용됩니다. 핀들과 사용 가능한 출력들은 여러분이 보유한 카메라 모델에 따라 다릅니다. 특정 카메라에 대한 추가적 설명은 uEye 매뉴얼의 전기적 사양을 참조하세요.
마스터/슬레이브 하드웨어 설정을 테스트하기 위해, uEye Cockpit을 사용하세요. 프로그램의 개별 예시들의 모든 카메라들을 열고, 도구 모음의 버튼을 사용하여 카메라들을 '연속 트리거'모드로 설정하세요.
다음으로, 속성 창(렌치 아이콘: )을 열고, '트리거' 탭으로 이동하세요. 모드를 "소프트웨어"로부터 "하강 에지(Falling edge)"로 변경하세요.
모든 카메라들은 프레임 획득을 중지해야 합니다. 이제, "속성"에서 "입력/출력" 탭으로 스위칭합니다. 플래시 출력 그룹 박스 하에서, 출력을 "일정하게 높음(Constant high)"으로 변경한 다음 "일정하게 낮음(Constant low)"으로 변경합니다. 이것은 모든 카메라들을 트리거시키는 하강 에지를 생성합니다. 캡쳐된 새로운 프레임을 보세요.
특정 카메라에서 PWM을 사용할 수 있다면, 소프트웨어에서 플래시를 높음/낮음으로 수동으로 토글링(toggling)하는 대신에, 이 출력을 트리거 신호 소스로 사용할 수 있습니다. 추가 정보는uEye 매뉴얼 "펄스-폭 변조 사용" 페이지를 참조하세요.
SDK에서 복사하려면, 트리거 모드(예: uEye SimpleTrigger)를 사용하는 예시를 따르십시오. “is_IO” 명령을 사용하여, 출력을 "일정하게 높음"로 스위칭하세요. 그리고, 카메라를 트리거하고 싶을 때, 출력을 "일정하게 낮음"으로 스위칭하여 하강 신호 에지를 생성합니다. 다시 말하면, 코드 상에서 높은&낮은 신호를 보내는 대신에 PWM이 사용될 수 있습니다.
대역폭에 대한 영향
다수의 카메라들을 동기화하면 인터페이스 대역폭에 상당한 부담이 된다는 것을 유의하세요. USB 2.0은 다수의 고해상도 카메라들을 동기화하는 데 권장되지 않습니다. GigE 및 USB 3.0이 더 적합합니다. USB 3.0은 사용 가능한 최대의 대역폭을 가지며, GigE uEye 카메라들은 내부 버퍼를 사용하여 이미지들의 전송을 지연시킬 수 있습니다.
추가 정보는 IDS 지원 팀에 문의하세요:http://kr.ids-imaging.com/support.html