Spinnaker SDK: 머신비전을 위해 제작된 API 라이브러리

엔지니어는 광범위한 Teledyne GigE 및 USB3 영역 스캔 카메라가 지원되는 Spinnaker를 통해 비전 어플리케이션을 위한 소프트웨어 솔루션을 빠르게 개발할 수 있습니다. 사용자는 카메라를 완전히 조정할 수 있는 옵션의 Spinnaker를 통해 이미지 파이프라인의 모든 레이어를 관리할 수 있습니다. 또한 Spinnaker는 향후에 코드 재컴파일링 없이 동적으로 컴퓨터에 로딩하여 추가할 수 있는 카메라 기능이 있어서 시스템을 미래에도 사용할 수 있습니다.

SpinView GUI

SpinView GUI.PNG

직관적 인터페이스의 Spinnakers SpinView GUI는 사용자가 모든 카메라를 조정할 수 있습니다. 사용자는 코드 작성 없이 SpinView 데모 어플리케이션을 통해 모든 카메라 기능을 탐색하고 평가할 수 있습니다.  개발자는 시간을 들일 필요 없이 비전 시스템이 무엇을 할 수 있는지 빠르게 이해할 수 있습니다.

SpinView는 Teledyne 카메라의 이미지 획득을 용이하게 해주는 다양한 기능을 제공합니다. 사용자는 Spinnaker의 단순한 프레임워크를 활용하여 같은 날에 개념 입증 데모를 작성할 수 있습니다. 원활한 작동을 위해 사용자가 자신의 컴퓨터 프로세서(CPU)나 그래픽 카드(GPU)를 활용해서 디스플레이를 렌더링할 수 있습니다. 이렇게 하면 Spinnaker는 사용 가능한 하드웨어에 적응하고 사용 중인 시스템에 관계 없이 원활한 작동을 보장합니다.

추가 기능:

디스크에 이미지 저장

디스크에 동영상 녹화

히스토그램 및 크로스헤어 표시

맞춤 설정 가능 레이아웃

기능 검색

맞춤 설정 가능 로깅

기존 프로젝트 구축

Spinnaker를 통해 Teledyne은 개발이 용이해지도록 설계된 단순하고 직관적인 API를 제공합니다. C++, C#, C, VB.NET, Python 2.7, Python 3.10, ActiveX 및 DirectShow 지원으로 개발자는 자신에게 가장 편하거나 어플리케이션에 가장 적합한 프로그래밍 언어를 사용해서 어플리케이션을 구축할 수 있습니다. 배우기 쉬운 API로 간편하게 코드를 디버깅하고 문제를 해결하십시오.

SDK를 처음 사용하는 개발자는 예제 코드 활용을 통해 다양한 기능을 사용하는 방법에 대한 지침을 얻을 수 있습니다. 예제는 다양한 시나리오에서 SDK를 사용하는 방법을 설명하여 개발자가 SDK를 자신의 프로젝트에 적용하는 방법을 이해하도록 돕습니다.

다양한 카메라 옵션

Wide Range of Camera Options.png

비전 시스템이 커지거나 새로운 카메라가 도입될 때 Spinnaker는 다양한 영상 솔루션을 계속 지원하기 때문에 안심할 수 있습니다. 지원되는 카메라의 인터페이스는 USB3, 1GigE, 5GigE 및 10GigE를 포함합니다. 향후 추가 지원과 함께 Blackfly S, Firefly S, Genie Nano, Lt Series, Forge 및 Oryx 같은 모델도 여기에 포함됩니다.

머신 비전 카메라 포트폴리오 전반에 걸친 이러한 지속적 지원은 개발자가 어플리케이션을 창출하고 향후 업그레이드를 위해 어플리케이션을 계속 재사용할 수 있게 합니다. 또한 시스템의 유연성은 개발자가 시간이 흐르고 비전 시스템의 카메라를 업그레이드하거나 교체할 때 몇 개의 카메라 모델을 수반하는 복잡한 프로젝트를 창출할 수 있도록 서로 다른 카메라로 확대되며, 이는 어플리케이션이 앞으로 몇 년간 새 하드웨어와 호환될 것임을 보장합니다. 따라서 엔지니어는 비전 솔루션을 개발할 때 개발 리소스 낭비에 대한 걱정 없이 미래를 보장하기 위한 한번의 투자를 할 수 있습니다.

어플리케이션 도구

 

Application Tools.PNG

개발자는 Spinnaker의 광범위한 시각화 및 디버깅 도구를 통해 다양한 비전 어플리케이션의 시스템을 문제해결하고 최적화할 수 있습니다. Teledyne은 최신 버전 AdapterConfig 도구를 통해 5GigE 및 10GigE 카메라를 포함한 Teledyne의 다양한 제품 라인 전체에 걸쳐 손쉬운 GigE 카메라 설정을 제공합니다. 이 프로세스는 각각의 GigE 카메라로 플러그앤플레이 경험을 자동으로 제공하며, 예측할 수 없는 컴퓨터 동작 가능성을 줄이도록 각각의 카메라를 최적화할 수 있습니다.

DriverInstaller 도구는 사용자가 Teledyne 드라이버와 타사 드라이버 간에 바꿀 수 있는 유연성을 제공합니다. 이를 통해 시스템 통합자는 여러 타사 지원 소프트웨어 솔루션을 사용할 수 있는 한편 Teledyne 소프트웨어에도 쉽게 액세스할 수 있습니다. 특정 소프트웨어를 이용하는 이 도구 시스템은 여전히 기존 도구를 유지하는 동시에 Spinnaker를 사용하기 위해 사용자의 시스템을 업데이트할 수도 있습니다.

추가 도구에는 결함 픽셀을 바로잡기 위한 SpinPixelCorrection이 포함되며 디버깅하는 시간을 줄여주는 Logging 도구, Linux 시스템용 소켓 매개변수를 최적화하기 위한 GigE Network Tweaking 도구가 있습니다.

OS 지원

Teledyne은 Spinnaker의 통합 용이성을 보장하기 위해 다양한 운영 체제에 대한 지원을 우선 처리합니다. 지원되는 운영 체제는 Ubuntu 22.04, Windows 10, MacOS 및 Linux ARM이 있습니다. Teledyne 비전 시스템의 여러 사용자는 다양한 어플리케이션을 가지고 있기 때문에 다수의 플랫폼 전체에 걸친 지원은 개발자가 산업 표준과 널리 호환되고 유연한 어플리케이션을 구축할 수 있게 합니다.

 

사용자는 서로 다른 운영 체제를 활용하는 다양한 시스템을 가지고 있을 것이기 때문에 Teledyne은 어플리케이션의 요구에 가장 적합한 운영 체제에서 실행할 수 있는 Spinnaker를 개발했습니다. 또한 사용자는 자신의 어플리케이션에 있는 여러 시스템을 사용할 수 있으며, Spinnaker가 네트워크 전체에 걸쳐 협력할 수 있게 설계되었고 여러 머신에서 자신의 Teledyne 비전 솔루션이 작동한다는 것을 신뢰할 수 있습니다.

몇 분 내에 코딩 시작

비전 시스템에는 여러 부분이 있습니다. 어떤 시스템에 복잡성이 추가되면 통합을 위해 추가적인 시간이 필요하게 될 수 있습니다. Spinnaker의 주요 목표는 개발 중에 소요되는 시간을 줄이기 위해 효율적인 업무 환경을 창출하는 것이었습니다.

원활한 Spinnaker 통합을 보장하기 위해 Teledyne은 익숙한 Visual Studio 환경에 대한 플러그인을 용이하게 했습니다. 카메라 설정이나 nodemap 이름을 기억할 필요 없이 Visual Basic 개발을 시작하십시오. 코딩을 하는 동안 기능 이름을 예측하기 위해 intellisence를 활용하십시오.

T2IR 지원

Trigger-to-Image Reliability(T2IR)는 신뢰할 수 있는 검사 시스템을 위해 소프트웨어와 하드웨어 기능을 결합한 틀입니다. T2IR을 통해 Teledyne 카메라 사용자는 Spinnaker를 사용하는 동안 시스템이 예측 가능하게 작동할 것임을 신뢰할 수 있습니다. 카메라와 컴퓨터 시스템 간 연결의 최적화는 이미지를 획득하는 동안 발생할 수 있는 여러 일반적인 오류를 사전에 방지할 수 있습니다.

비전 시스템이 더 정교해져 시스템 성능 모니터링에서 중요성이 더욱 높아질 수 있습니다. T2IR을 사용하는 시스템은 통제되는 방식으로 예외를 관리할 수 있습니다. 문제가 발생하면 Teledyne은 도구 디버깅과 추적을 제공하여 빠른 문제해결을 보장합니다. Device and Stream Diagnostics를 통해 패킷 손실이 어디에서 발생하는지 식별하는 것은 신속한 디버깅을 위한 방법입니다. Spinnaker에 기본으로 이미 포함되어 있는, 쉽게 구성 가능한 파일을 통해 디버깅 메시지를 지정된 디렉토리에 직접 로깅하여 중요한 데이터를 안전한 장소에 보관하십시오.

사용자에게 이벤트를 알리고 리소스 집약적 폴링 코드를 제거하는 Events Handling 기능을 통해 코드를 최적화하십시오. Buffer Management 기능으로 호스트 장치의 부담을 방지하십시오. 카메라와 호스트 버퍼의 정확한 제어를 통해 이미지를 유지하고 전송할 수 있습니다. 또한 이미지 캡처는 카메라가 새 프레임을 캡처할 기회가 있을 때마다 호스트와 통신하여 손실 프레임을 예방하는 Frame Trigger Wait 기능을 통해 최적화할 수 있습니다.   T2IR은 이러한 강력한 도구를 통해 전반적인 어플리케이션 응답을 개선하는 한편 고장 시간을 줄일 수 있습니다.

GigE Multiplicity

추가 업데이트는 GigE Multiplicity라는 T2IR의 새 레이어 하에서 Spinnaker 3.0 릴리스에 포함되었습니다. 이들 기능은 하나의 비전 시스템 내에서 다수의 GigE 카메라를 최적화하도록 설계되었으며

주요 기능 중 하나는 Multicore GigE Optimizer입니다. 이 기능은 여러 프로세서 코어 전체에 걸쳐 GigE 네트워크 트래픽을 분산시켜 시스템이 트래픽을 보다 효율적으로 처리할 수 있게 합니다. Multicore GigE Optimizer는 네트워크 전체에 걸쳐 대량의 데이터가 전송될 때 시스템 과부하를 막는 데 도움을 줄 수 있습니다.

호스트 장치의 리소스 활용을 개선하기 위해 트래픽을 다수의 CPU 코어 전체에 걸쳐 관리합니다. 각각의 코어는 트래픽 스트림의 서로 다른 부분에서 작동할 수 있습니다. T2IR의 일부분으로, 네트워크 트래픽이 느려지고 있는 시기에 대한 텍스트 및 시각적 표시의 로깅은 예측 불가능한 동작을 해결하고 추가적인 병목 가능성을 막습니다.

확장성은 여러 머신비전 시스템의 중요한 요소입니다. 필요에 따라 시스템을 확장할 수 있는 Multicore GigE Optimizer는 트래픽 부하가 증가할 때에도 압도되지 않고 이를 유지할 수 있습니다. 이 기능은 추가적 네트워크 트래픽 관리를 위해 시스템에 새 카메라를 추가하고 미사용 코어를 따로 남겨두는 등 운영에서 중요한 역할을 합니다.