머신비전 표준 사양의 호환성을 조합하는 방법
IDS
1. 머신비전 표준
머신비전 표준의 등장으로 업계는 전례 없는 방식으로 동참하게 되었다. 지난 10년 동안, 이것은 GenICam, GigE Vision 및 USB3 Vision의 형태로 표준화된 함수 이름과 정의된 범위의 기능을 가진 산업용 카메라를 사용하기 위한 일반적인 인터페이스를 만들었다. 이를 통해 개발 비용 절감을 목표로 머신비전 애플리케이션의 카메라에 대한 설계 단계를 간소화하고 단축해야 한다. 기기의 호환성과 완벽한 플러그 앤 플레이 기능은 항상 주요 기능으로 강조된다.
그러나 ‘이들이 애플리케이션을 구현하는 데 중요한 요소인가? 혹은 올바른 방법으로 모든 애플리케이션을 위한 완전히 일반적인 솔루션일까?’는 경우에 따라 다르다. 성공적인 애플리케이션을 만들려면 제조업체 호환성이 중요한 장점일 수 있다. 물론 이 장점을 유지하는 것은 충족되어야 하지만, 애플리케이션을 설정할 때만 정의되는 조건과 관련되어 있다는 것이 분명하다.
대조적으로 ‘비전 표준’의 사양을 준수하는 머신비전 구성 요소의 개발은 이전보다 많은 애플리케이션에서 사용하는 데 충분히 중요하다. 따라서 제조업체의 경우, 원하는 목표는 표준 비전 프로토콜을 사용하여 자동으로 달성되는 ‘향상된 호환성’이 되는 경향이 있다.
AIA(Global Association for Vision Information, 세계 비전 정보 협회)와 EMVA(European Machine Vision Association, 유럽 기계 비전 협회)의 표준화는 머신비전 환경에서 인터페이스의 혼란을 끝내는 중요한 단계다. 그럼에도 표준을 통해 제조업체는 SFNC(Standard Feature Naming Convention) 밖에서 추가 기능을 구현할 수 있는 충분한 범위를 제공하므로, 공급자는 차별화할 수 있다(구현 품질). 이러한 제조업체 고유의 기능 세트를 사용하는 경우 소프트웨어 개조 없이 제조업체 변경이 불가능할 수 있다.
프로그래밍 인터페이스 측면에서도 독점적인 방법은 비전 표준의 일부가 아닌 편리한 기능을 통합함으로써 GenICam보다 훨씬 더 높은 수준의 사용자 편의성을 제공한다. 산업용 카메라 제조업체는 이것을 알고 있으므로 표준화된 인터페이스에 기반을 두지만 자체 프로그래밍 인터페이스를 제공하기도 한다.
이러한 ‘독점적인 표준’이 사용되거나 표준 인터페이스가 독점적으로 사용되어야 하는 경우에도 여전히 애플리케이션은 제조업체 간에 호환될까?
2. 표준화된 시스템의 세부 사항
애플리케이션의 요구 사항과 목표를 효과적으로 구현하려면 일반 시스템 솔루션의 중요한 세부 사항을 알고 올바른 수준으로 사용해야 한다.
시스템 구조
GigE Vision 또는 USB3 Vision 인터페이스가 장착된 현재의 머신비전 표준 카메라가 제조업체별 소프트웨어 패키지 없이 ‘작동’하더라도 필수적인 시스템 아키텍처가 반드시 유지되고 시스템에 있어야 한다.
하드웨어 수준은 카메라 데이터 전송을 위한 기존 기술과 연결 방법, 그리고 통신 프로토콜(예: USB, 기가비트 이더넷)에 기반을 둔다. 장치 소프트웨어 (드라이버 및 사용자 공간 라이브러리)는 카메라의 전송 채널과 사용자 애플리케이션 간의 통신을 위해 API를 사용한다.
GenCam을 기반으로 시스템 아키텍처의 여러 인터페이스에 표준화가 이루어져 머신비전 표준 카메라 사용을 위한 명확하고 정의된 수많은 시작점이 만들어졌다.
N을 1로 그리고 1을 N으로 바꿈
사용자 애플리케이션과 장치 소프트웨어 간의 통신 링크로 GenICam(카메라 용 일반 인터페이스)을 사용하면 다수의 제조업체별 프로그래밍 인터페이스가 일반적으로 적용되는 단일 인터페이스로 제한된다. GenICam은 제조업체와 전송 프로토콜 전반의 모든 카메라 기능에 대한 액세스를 추상화한다. GenICam은 설명 언어다. 사용할 수 있는 기능은 스스로 알지 못하는 사이에 쓸 수 있도록 제공된다. 따라서 모든 카메라 모델과 함께 변경되거나 펌웨어 업데이트로 확장할 수 있는 기능과 관련된 애플리케이션에 이상적이다.
전송 레벨에서 GigE Vision 및 USB3 Vision과 같은 프로토콜의 도입은 카메라 펌웨어 측면에서 재고가 필요하다는 것을 의미한다. AIA 회원이 정의한 표준화된 전송 프로토콜을 사용하는 카메라는 장치 소프트웨어의 표준 언어를 사용한다. 이것은 카메라 펌웨어, 전송 프로토콜, 그리고 장치 소프트웨어 간의 엄격한 연관을 없애준다. 이 카메라는 단일 제조업체의 소프트웨어와 독립적이다.
독립이 새로운 기회를 가져다 준다
비전과 호환되는 카메라는 이제 제조업체에 독립적인 ‘GenTL(Generic Transport Layer)’로 작동할 수 있다.
GenAPI(Generic Application Programming Interface)를 사용하면 카메라의 표준 호환 XML 파일을 분석하여 사용할 수 있는 카메라 기능을 나열하고 구성할 수 있다. 이 파일의 내용은 GenICam 사양의 GenAPI 모듈에 정의된 구문을 사용하여 구현된 모든 카메라 기능을 설명한다(함수 이름, 매개변수 목록, 확장 정보, 기능 설명). 애플리케이션에서 기능에 관해 표시할 도구 설명도 XML 파일에 설명되어 있다. 카메라가 자체 프로그래밍 설명서를 제공한다고 말할 수 있다.
GenICam SFNC에 정의된 표준 기능 혹은 한 제조업체에서만 제공되는 특수 ‘사용자 지정 기능’을 처리하든 상관없지만 표준을 준수하여 구현된다.
기술적으로 하드웨어와 소프트웨어의 제조업체 독립적 협력은 표준에 의해 정의되며 ‘바람직한’ 것으로 간주된다. 그러나 카메라만 100% 독립적이다. 일부 제조업체의 GenICam 제작자는 사용자에게 협조하고 싶은 카메라를 알려주는 것처럼 보인다. 이것은 때로 사용자들에게 약간의 비호환성을 가져올 수 있다.
독립성은 자동으로 카메라 제조업체와 사용자 모두에게 새로운 가능성을 제공한다(예: 하드웨어와 소프트웨어 릴리스 분리). 새 카메라 모델, 혹은 새 카메라 펌웨어는 카메라를 작동시키는데 호스트 소프트웨어의 수정, 문서화, 그리고 게시가 필요하지 않으므로 훨씬 짧은 시간 내에 제공된다.
마찬가지로, 호스트 소프트웨어 혹은 다른 모델과 독립적으로 개별 카메라 모델에 대한 업데이트를 훨씬 쉽고 빠르게 완료할 수 있다. EMVA 조직의 구성원은 표준 호환 소프트웨어를 사용하여 제조업체별 업데이트 패키지로 비전 카메라를 업데이트하는 방법을 정의하는 업데이트 사양을 이미 마련하고 있다. GenICam 표준에 대한 추가 업데이트 모듈 사양은 나중에 2017년 여름에 출시될 예정이다.
독립성으로 인해 플랫폼 호환성이 자동으로 향상된다. 카메라는 GigE Vision이나 USB3 Vision과 같은 표준 전송 프로토콜을 통해 전송 계층을 포함하여 표준 준수 제조업체 독립 소프트웨어가 있는 모든 플랫폼과 운영 체제에서 실행할 수 있다. 비록 그것이 같은 회사에서 나오지 않더라도, 이 독립성은 ‘상호 교환성’의 기초다.
모든 GenTL이 동일한 것은 아니다
GenTL은 확실히 동일하지 않다. 카메라와 사용자 애플리케이션(그림 1의 흰색 요소 참조)에 대한 표준화된 인터페이스가 있고, 실제로 이미지 획득을 포함하여 장치 식별과 주소 지정을 담당하기 위한 용도로만 쓰일 뿐이므로 필요하지 않다. 모든 비전 카메라와 호환되도록 해야 한다.
표준화된 GenTL은 HALCON과 같은 머신비전 라이브러리에 매우 유용하며 모든 제조업체의 비전 카메라에 개방되어 있다. 이 기능의 장점은 제조업체별 타사 라이브러리를 설치하지 않고도 모든 카메라에서 완벽한 플러그 앤 플레이 기능을 사용할 수 있다는 것이다. 이러한 이유로 MVTec 개발자들은 HALCON에 특수 제조사 소프트웨어 없이 비전 호환 카메라를 사용할 수 있는 전용 제조업체 간 호환 GenTL(그림 3 참조)을 장착했다.
카메라 제조업체의 경우 표준 사양에도 불구하고 자체 GenTL을 사용하면 고객에게 자체 카메라와 ‘최적’으로 상호 작용하고 제조업체 지원이 적용되는 소프트웨어 구성 요소를 고객에게 제공할 수 있다. 이는 머신비전 애플리케이션에서 카메라 문제가 발생할 경우 중요하게 대두된다. MV 라이브러리, GenTL, 그리고 카메라가 각각 다른 제조업체에서 제공되는 경우 누구에게 책임이 있을까? 이 질문은 모든 구성 요소가 동일한 제조업체 출신이라면 절대로 발생하지 않는다.
3. 카메라 획일성?
표준을 따르는 카메라는 동일한 프로토콜을 사용하여 데이터를 전달하고 전송하며 정의된 표준 기능을 제공한다.
카메라와 호스트 간의 이해를 돕기 위해 다른 드라이버 소프트웨어가 필요했던 곳에서는 하나의 ‘언어’만 필요하다. 각 제조업체가 자신의 방식으로 일하던 곳에서는 오늘날 인터페이스와 함께 정의된 사양을 준수하는 카메라 기능을 구현한다. 모든 사용자는 이러한 추세의 이점을 누린다. 제조 회사는 어떻게 여전히 차별화할 수 있을까? 표준화된 카메라는 성공을 위해 매우 중요한 수많은 구성 요소로 구성된 복잡한 제품이다.
하우징(안정성, 치수, 재료, 무게, 커넥터, 광학, 액세서리), 전자 장치(EMC 거동, 간섭 거동, 과열, 메모리, 성능, 서비스 수명), 그리고 소프트웨어(센서 지식, 기능 구현, 모듈화, 유지 보수, 지원) 등이 있다. 전반적인 패키지는 애플리케이션에서 사용하기에 여전히 중요하다.
비전 카메라를 신속하고 쉽게 위임할 수 있는 완벽한 소프트웨어 지원은 비전을 새로 도입하거나 전환하는 사람들을 위한 선택 기준이다. IDS사(Imaging Development Systems GmbH)는 항상 고객에게 자사 제품에 대한 편한 패키지를 제공하고 있다.
설치가 끝나면 편리한 카메라 평가를 위한 그래픽 인터페이스가 있는 IDS Vision 조종실 외에 제조업체 고유의 GenTL도 사용할 수 있다. 따라서 시장에 나와있는 모든 표준 호환 머신비전 라이브러리와 완벽하게 호환된다. 비전 구성 요소의 가능한 호환성에도 불구하고 이러한 종류의 올인원 패키지는 카메라 하드웨어에서 고객 애플리케이션에 이르기까지 완벽한 제조 지원을 포함하기 때문에 머신비전 프로젝트의 중요한 이점이다.
4. 시작하기가 쉬운가?
가장 쉬운 방법은 HALCON, LabView, Cognex VisionPro와 같은 표준 호환 머신비전 소프트웨어를 사용하여 비전 표준 구성 요소부터 시작하는 것이다.
많은 유명한 머신비전 소프트웨어 패키지가 이제 제조업체 고유의 소프트웨어 없이 비전 카메라를 실제로 교체하는 것을 입증하는 자체 GenTL 제공 업체와 함께 완성되었다. 제조업체의 GenTL을 사용하여 카메라를 통합하기 위해 이러한 머신비전 소프트웨어 패키지 중 일부에는 해당 GenICam 커넥터가 있다.
머신비전 소프트웨어 제조업체는 표준화의 모든 이점을 활용하고 있다. 사용자는 프로그래밍 작업 없이 카메라 비전 시스템과 카메라를 즉시 통합할 수 있다. 사용자는 관련 머신비전 프레임 워크용 동적 GUI를 사용하여 표준 인터페이스와만 접촉한다. 본질적으로 사용자 친화적이고 그래픽적이며 독점적인 인터페이스로, 사용자가 가능한 한 쉽게 만들 수 있다.
그러나 모든 타사 머신비전 회사가 해당 GenTL 업체를 제공하지는 않는다. 이것은 플러그 앤 플레이의 약속을 다소 흐리게 만든다. 두 번째 방법을 선택하고 처음부터 자신의 애플리케이션을 개발하는 사람은 추가 작업을 기대할 수 있다. 그러면 프로그래밍 인터페이스로 포커스가 이동한다. 이 경우 애플리케이션을 구현하는 데 다른 요소가 중요하다.
GenICam을 사용하는 일반 프로그래밍은 매우 엄격하고 복잡한 원칙으로 인해 매우 힘들 수 있다. 각 사건을 정확히 처리하기 위해서는 카메라 매개변수를 변경하기 전에 먼저 각 기능과 각 값의 범위를 물어봐야 한다. 각 GenICam 구성 요소에 대해 필터링 되지 않은 액세스는 매우 원초적이며 이러한 원칙에 대한 심층적인 이해가 필요하다. 특정 장치에 대해 빠른 진행을 원하고 복잡한 옵션에 관심이 없는 경우 간단하게 요약된 API로 요약해야 한다. 이러한 사용자는 전적으로 ‘독점’ 접근 방식을 선택해야 하므로 비전 표준으로 달성한 모든 이점을 놓칠 수 있을까?
5. 독점 표준
정의된 인터페이스로 인해 비전 표준 카메라를 한 가지 이상의 방법으로 사용할 수 있다.
보조 기능, 또는 편의 기능이라고도 하는 편의 기능의 사용은 개발자를 지원하기 위해 독점 프로그래밍 인터페이스에서 널리 사용되는 디자인 개념이다. 코드를 단순화하고 원자 함수 호출을 선택적으로 캡슐화하여 코드를 명확하게 만든다. 따라서 ‘정의된’ 목표는 적은 수의 함수 호출로 훨씬 빠르고 쉽게 얻을 수 있다.
카메라에 대한 이러한 종류의 ‘독점적인 API’가 표준에 따라 작동하면 고객 애플리케이션에 대한 추가 액세스 옵션일 수도 있다. 독점적인 수준의 제조업체가 자체 장치에 대한 필터링을 통합하지 않는 한 이 접근 방식이 제조업체 간 애플리케이션에서의 사용을 방지해야 하는 이유가 없다.
HALCON과 같은 머신비전 라이브러리용 독점 GUI는 이 정확한 접근 방식을 따른다. HALCON은 자체 사용자 인터페이스와 함께 비전 표준을 사용한다. 따라서 프로그래밍 인터페이스를 간소화하여 고객에게 이익을 제공할 수 있다.
6. 애플리케이션이 중요하다
표준 인터페이스의 사용은 다른 카메라와 다양한 기능을 포함하는 응용 프로그램에 이점이 된다. 예를 들어, USB3 Vision, 또는 GigE Vision과 같은 다른 전송 기술을 사용하는 표준 카메라의 혼합된 작동은 GenICam 인터페이스를 사용하는 표준화된 통신으로 인해 훨씬 쉽다. 애플리케이션은 이러한 장치별 기능에 대해 알 필요가 없으며 따라서 모든 표준 호환 장치와 호환된다.
완전히 동적인 GUI는 추가 프로그래밍 작업 없이 비전 카메라에 대한 연결과 기능 범위를 제공한다. 사용자, 또는 머신비전 운전자를 위한 실제 작업은 해당 애플리케이션의 카메라 조정을 즉시 시작할 수 있다.
애플리케이션에 GenTL이 포함되어 있는 경우, 새 카메라를 통합하기 위해 제조업체별 소프트웨어를 설치하지 않아도 된다. 머신비전 카메라 제조업체의 경우 비전 표준은 상호 호환성의 잠재성뿐만 아니라 개발된 표준 호환 응용 프로그램과의 향상된 호환성을 의미한다.
그러나 비전 표준의 USPs(Universal Selling Propositions, 보편적 판매 제안)가 부차적인 시장에서 고객 애플리케이션의 안정적인 비율이 남아 있다. 이 사용자는 포괄적인 제조업체 지원을 제공하는 간단한 인터페이스와 함께 특수 카메라를 신속하게 사용하고, 필요할 경우 유연하게 해당 애플리케이션에 맞게 조정할 수 있다.
궁극적으로 결정은 항상 제조업체와 제조업체가 어떤 인터페이스와 장치를 사용하여 성공한 ‘비전 시장에서 최고의 사용자 경험’을 제공하는지에 대한 고객과 애플리케이션에 달려 있다.
자료 제공: IDS(www.ids-imaging.com)






