Beckhoff, TwinCAT Vision: 기능과 편의성의 진화는 계속된다 제어 시스템을 위한 정교하면서도 원활하게 통합이 된 이미지 처리
최교식 2021-07-09 18:16:06

 

 

실시간 실행 및 다중코어 기능의 결합을 통해 TwinCAT Vision은 제어 시스템과의 상호운용에 있어서 최고의 성능을 제공한다. © Beckhoff Automation

 

 

환경설정부터 프로그래밍과 실시간 구동에 이르기까지, TwinCAT Vision을 통해 이미지 처리가 자동화 기술에 완전히 통합된다. TwinCAT Vision은 처음부터 BeckhoffPC 기반 제어 시스템에 원활히 구축될 수 있도록 개발됐다. 따라서 지금 이 시점에도 지속적으로 진화하고 있으며, 특히 새로운 업계의 요구사항을 염두에 두고 있다. 현재 시점에서는 다른 TwinCAT 제품 및 특성과의 통합 작업 외에도 더불어 기능과 편의성 향상에 초점을 두고 있다.

 

 

Beckhoff Automation, TwinCAT Vision 제품 매니저, Michael Busch © Beckhoff Automation

 

 

TwinCAT Vision은 기본적인 자동화 기술에 이미지 처리를 원활하면서도 간편하게 통합시켜준다. 이에 따라 사용자는 카메라를 구성 후 설정하고 TwinCAT Engineering에서 카메라에 대한 기하학적 보정을 직접 진행할 수 있으며, 특별히 프로그래밍 언어를 배우지 않아도 IEC 61131-3을 통해 이미지 처리에 대한 프로그래밍이 가능하다. 나아가서 PLC는 이미지 처리를 통해 얻는 결과에 직접 반응할 수도 있는데, 사실상 다음 라인에 있는 제어 코드를 이용해서 해당 작업이 이루어진다.

 

고정밀도의 동기화

 

이미지 처리 알고리즘을 TwinCAT의 실시간 환경에서 가동하면 PLC, 모션제어, 부품 측정 뿐만 아니라 비전 알고리즘이 모두 동일한 사이클 타임에서 작동하게 된다. 다시 말하면, 서로 간에 동기화가 긴밀하게 이루어지기 때문에 사용자는 결정적인 이점을 갖게 된다고 할 수 있다. 이는 비실시간 어플리케이션과 실시간 PLC, 모션제어 또는 측정용 어플리케이션 간 통신 관리의 필요성이 없다는 것을 의미하므로, 통신상의 오버헤드와 지터로 인한 일반적인 지연 현상을 피할 수 있다.

이미지 처리를 PLC와 통합하면 또 다른 이점이 있는데, PLC 프로그래머는 이미지 처리 알고리즘이 보내온 결과를 마치 아날로그 센서로부터 온 결과인 것처럼 직접 처리할 수 있다. 예를 들어, PLC 프로그래머가 이미지에서 감지된 물체가 둥글면, 디지털 출력을 참으로 설정하라.”는 명령을 프로그래밍할 수도 있다. 뿐만 아니라, PLC에 있으면서 친숙한 모든 디버깅 기능을 사용할 수도 있다. 따라서 프로그래머는 본인이 변수를 모니터링하고 있는 것처럼, 처리 플로우에서 언제든지 이미지를 보여줄 수 있다. 이미지가 여러 단계에 걸쳐서 처리되는 경우에는 각 단계에서 만들어지는 이미지를 Visual Studio에 직접 나타낼 수 있다. 이를 통해, 테스트 알고리즘과 설정이 매우 신속하면서도 쉬워진다. 프로그래머는 관심 영역이나 역치를 조정하는 것과 같은 파라미터의 변경 작업을 온라인에서 할 수 있으며, 그에 따른 영향을 직접 관찰할 수 있다. 프로그래머가 일반적으로 사용하고 있는 온라인 변경 능력을 사용하면 PLC가 작동 중일 때에 전체 기능과 테스트 루틴을 교환하는 것까지도 가능하며, 이런 점은 이미지 처리를 아주 빠르게 시작하고 최적화하는데 도움이 된다. 또한 PLC에 있는 펑션블록을 사용하거나, 카메라 도우미(오프라인으로 진행한 카메라 작업을 현상 또는 분석 정보를 최적화한 후 해당 결과를 기계에 다시 로드해주는 도우미)를 통해 이미지를 저장할 수 있다.

EtherCAT의 분산 클럭을 사용하면 머신비전의 어플리케이션에 의해 이용되는 외부 디바이스들도 탁월한 정밀도로 동기화할 수 있다. 대부분의 카메라에는 디지털 트리거 입력 디바이스가 장착되어 있다. EtherCAT 터미널, , EL2596 EtherCAT LED strobe control terminal의 디지털 출력을 통해 디지털 트리거 입력 디바이스를 제어하는 경우, 이미지 캡처를 작동시켜 특정 컨베이어 벨트 위치에 맞게 정확하게 조정할 수 있다. 동시에 EL2596을 통해 타이밍과 공정의 흐름 측면에서 조명을 정밀하게 제어할 수 있다.

 

 

TwinCAT Vision은 윤곽 및 컬러 인식, 물체의 감지, PLC 프로그래밍에서 보통 사용가능한 종류의 측정 기능을 포함한다. © Beckhoff Automation

 

 

그래픽 편집기를 통해 편의성 더욱 향상

 

Init 커맨드는 TwinCAT Vision의 중요한 기본 특징이다. 이 커맨드는 EtherCAT 모듈과 함께 사용이 되는 시작 목록과 아주 유사하게 카메라 구성 설정을 저장하는 역할을 함으로써 카메라 사용자 설정과는 별개의 독립적인 솔루션을 제공한다. 이와 같이 Init 커맨드는 어떤 카메라가 연결되더라도 파라미터가 해당 카메라에 항상 일관되게 할당되도록 만들어주는 쉬운 방법을 제공한다. 그렇지만 이제 Init 커맨드 그래픽 편집기에서 이 커맨드들을 보면서 쉽게 편집할 수 있고, Init 커맨드를 사용해서 작업을 할 때 편의성이 크게 향상되었다.

새로운 Init 커맨드 편집기는 카메라의 초기화 파라미터를 시각화해주고, 선택, 선택 취소, 순서 변경, 대체 사용자 설정 선택, IP 설정과 같은 다양한 편집 옵션들을 제공한다. 이 편집기는 변경된 레지스터 값과 레지스터 값의 차이도 명확하게 보여준다.

 

추가 기능, 드라이버와 TwinCAT의 연결성

 

새로운 버전이 출시될 때마다 TwinCAT Vision의 성능도 확장되며, 그에 대한 여러 가지 예시들은 아래와 같다.

CLAHE (Contrast Limited Adaptive Histogram Equalization): 상황에 맞추어 이미지의 대비를 키워주는 이 기능은 이미지를 이제 파라미터를 중심으로 하여, 더 작은 영역으로 분할하는 작업을 지원한다. 이 기능에서는 이미지를 보다 작은 구역들로 제한함으로써 보다 나은 결과가 만들어지는데, 특히 매우 밝은 부분과 매우 어두운 부분이 함께 있는 이미지에서 보다 나은 결과가 만들어진다.

Matching: 새로운 기능을 사용해서 핵심 결과를 여과하고 호모그래피 행렬을 직접 계산할 수 있다. 이 기능을 사용하면 회전형 물체를 감지해서 시각화할 때 정밀도가 높아진다.

Connected Components: 바이너리 이미지에서 인접 영역을 찾을 때 이 기능을 사용한다. 또한 이 기능을 통해 질량 중심을 직접 찾게 되며 픽셀의 수 및 감싸고 있는 사각형을 계산할 수 있다. 이는 연결된 구성 요소 기능이 상이한 계산 알고리즘을 기반으로 하는 블롭(blob) 기능에 대한 대안을 의미한다.

GeneralizedHoughBallard: 대체 역할을 하는 이 매칭 기능은 바이너리 그라디언트 이미지에서 직선과 원을 감지할 때 매우 강력한 방법인 허프(Hough) 변환을 기반으로 한다.

 

확장된 기능에는 새로운 저장 유형과 다양한 추가 계산 옵션도 포함되어 있다.

 

TwinCAT Vision의 경우에 다음 출시 버전에서는 여러 사항들 중에서 CX20x2 임베디드 PC를 통해 지원되는 10 GigE 이더넷 기능 사용을 위한 새로운 드라이버가 제공된다. TwinCAT ScopeTwinCAT Analytics의 신규 버전이 출시됨에 따라, Scope ServerAnalytics Logger를 사용해서 이미지 데이터를 캡처해서 저장하고 전송할 수 있다. TwinCAT Analytics Logger를 사용하면 MQTT를 통해 이미지 데이터를 클라우드 플랫폼으로 전송하는 것도 가능하다. 나아가서 새롭게 제공되는 이미지 도표 유형을 이용해서 최적화된 이미지를 TwinCAT Scope View에서 보여줄 수 있다.

 

Init 커맨드 그래픽 편집기의 새로운 환경설정 기능을 통해 TwinCAT Vision이 갖고 있는 뛰어난 편의성이 더욱 향상된다. © Beckhoff Automation

 

 

비전별 제어를 통한 시각화

 

Vision HMI Control의 신규 버전이 출시됨에 따라, TwinCAT HMI 시각화 솔루션을 통해 이미지 처리를 최신 HTML 기반의 사용자 인터페이스에 원활하게 포함시킬 수도 있다. 이번 출시 버전에는 아래 사항들을 지원하는 확장된 이미지 표시 제어 기능이 포함되어 있다.

다수의 이미지 변수를 직접 연결하고, 표시된 이미지 사이에서 쉽게 전환하는 기능

이미지 새로 고침을 중지시키고 최종 캡처본에 대해 자세한 분석을 하기 위해, 이미지를 고정하는 기능

이미지의 상세 사항을 보다 정밀하게 보기 위해 (터치 동작, 마우스 입력, 특정 값의 직접 입력을 통해) 비전 제어부 내에서의 이미지 크기를 조정 및 이동하는 기능

직접 사용 가능한 제어 요소를 갖고 있는 툴바를 표시하는 기능(. 이미지 선택, 크기 조정, 형상 생성, 이미지 새로 고침의 고정, 표시된 이미지 내려받기)방향 선택의 기능(수평 또는 수직)

이미지의 크기, 픽셀의 좌표, 컬러 값, 형상 데이터와 같은 현재 시점의 세부사항과 값을 보여주는 정보 표시 바를 표시하는 기능

수정 가능한 위치와 크기를 가진 형상(, , 사각형, 타원형, 다각형)을 그리는 기능. 이는 크기, 면적, 좌표를 결정하고 기타 여러 사항들 중에서 관심 영역을 설정하기 위해 사용

카메라와 공작물을 설정하고 위치를 잡기 위해 그래픽(십자 기호, 사각형, )이나 중첩 이미지를 표시하는 기능

 

이런 제어가 줄 수 있는 편리함이 없다면, 사용자는 다른 요소의 도움을 받아 이 기능들을 만들고 코딩하는 과정에서 많은 시간을 소요할 수밖에 없다. 광범위한 JavaScript 프로그래밍은 물론 기타 다수의 별도 제어 기능을 포함하고 있는 새로운 이미지 제어 기능을 통해 상기 기능들을 온전하고도 손쉽게 설정할 수 있는 형태로 만들 수 있다.

 

또한, Vision HMI 패키지의 컬러 제어 기능에서는 다음의 특징을 제공한다.

컬러의 값을 입력하고 표시하기 위한 세 가지 옵션(브라우저의 텍스트 상자, 슬라이더, 컬러 입력 요소)

채널 수, 값의 범위, 사용 가능한 제어의 유연한 구성 및 편집 기능

회색조(gray scale), RGB, HSV와 같은 다양한 컬러 포맷 간 변환 기능

 

컬러 제어 기능에는 JavaScript 프로그래밍은 물론 기타 다양한 제어 기능도 포함된다. 컬러 제어 기능을 4중 배열 변수에 연결 시켜서 PLC에서 컬러 필터를 직접 편집할 수도 있다. 또한 이미지 처리 작업을 제어 어플리케이션에 통합시킬 때 사용자는 이를 통해 시간을 절약하고 엔지니어링 관련 노력을 줄일 수 있다.

 

 

 

향후 추가될 기능 미리 보기

 

BeckhoffTwinCAT Vision을 지속적으로 개선, 발전시킬 것이다. 사용자들이 원한다면 PLC 없이도 C++ 모듈만을 이용해서 프로그래밍이 가능하도록 C++ 코딩에 맞게 비전 라이브러리를 조정하고 최적화할 것이다. 이를 통해 사용자들이 자신들의 알고리즘을 C++로 코딩하는 작업과 TwinCAT Vision의 기능을 사용해서 이를 강화하는 작업을 보다 쉽게 효율적으로 진행할 수 있다. 더불어 이미지 처리에서 머신러닝의 사용을 유도하고, 다중코어를 지원하는 유닉스 호환 운영 체제인 TwinCAT/BSD에서 머신 비전 기능을 사용할 수 있게 만들기 위해 계획하고 있다.

 

 

저자:

Beckhoff Automation, TwinCAT Vision 제품 매니저, Michael Busch

 

연락처:

Beckhoff Automation Co., Ltd.

www.beckhoff.com/kr

info-kr@beckhoff.com

 

 

 

링크:

www.beckhoff.com/twincat-vision

 

디지털여기에 news@yeogie.com <저작권자 @ 여기에. 무단전재 - 재배포금지>