KR102536763B1 - 인공 지능을 위한 프로그래밍가능 로직 제어기-기반 모듈식 가속 모듈 - Google Patents

인공 지능을 위한 프로그래밍가능 로직 제어기-기반 모듈식 가속 모듈 Download PDF

Info

Publication number
KR102536763B1
KR102536763B1 KR1020217008029A KR20217008029A KR102536763B1 KR 102536763 B1 KR102536763 B1 KR 102536763B1 KR 1020217008029 A KR1020217008029 A KR 1020217008029A KR 20217008029 A KR20217008029 A KR 20217008029A KR 102536763 B1 KR102536763 B1 KR 102536763B1
Authority
KR
South Korea
Prior art keywords
data values
module
data
technology
machine learning
Prior art date
Application number
KR1020217008029A
Other languages
English (en)
Other versions
KR20210043672A (ko
Inventor
하이코 클라우슨
Original Assignee
지멘스 악티엔게젤샤프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 지멘스 악티엔게젤샤프트 filed Critical 지멘스 악티엔게젤샤프트
Publication of KR20210043672A publication Critical patent/KR20210043672A/ko
Application granted granted Critical
Publication of KR102536763B1 publication Critical patent/KR102536763B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41835Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by programme execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1103Special, intelligent I-O processor, also plc can only access via processor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13166Program intelligent I-O separate from main plc
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15109Intelligent interface is much faster than main plc

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Programmable Controllers (AREA)

Abstract

제어기 시스템은 CPU 모듈, 하나 이상의 기술 모듈들, 및 백플레인 버스를 포함한다. CPU 모듈은 제어 프로그램을 실행하는 프로세서를 포함한다. 기술 모듈들은, (a) 하나 이상의 머신 러닝 모델들에 관련된 입력 데이터 값들을 수신하고, 그리고 (b) 하나 이상의 출력 데이터 값들을 생성하기 위해 입력 데이터 값들에 머신 러닝 모델들을 적용하도록 구성된 인공 지능(AI) 가속기 프로세서를 포함한다. 백플레인 버스는 CPU 모듈과 기술 모듈들을 연결시킨다. 기술 모듈들은 백플레인 버스를 통해 출력 데이터 값들을 프로세서에 전달하고, 프로세서는 제어 프로그램의 실행 동안 출력 데이터 값들을 사용한다.

Description

인공 지능을 위한 프로그래밍가능 로직 제어기-기반 모듈식 가속 모듈
[1] 본 발명은 일반적으로, 프로그래밍가능 로직 제어기들(programmable logic controller; PLC) 및 다른 제어 시스템(system)들에서 이용될 수 있는 AI 가속 모듈(module), 및 그에 관련된 방법들, 시스템들, 및 장치들에 관한 것이다. 개시된 기술은, 예컨대 고속 입력들을 생성하는 다수의 디바이스(device)들 및 프로그래밍가능 제어기들이 사용되는 다양하고 복잡한 공장 환경들에 적용될 수 있다.
[2] 4차 산업 혁명은 디지털(digital) 혁명을 기반으로 하며, 인공 지능(AI), 로봇공학(robotics), 사물 인터넷(internet of things; IoT) 등을 포함하는 많은 신생 기술들에 의해 정의된다. 목표는 새로운 레벨(level)의 애플리케이션(application)들을 가능하게 하는 것이며, 시스템들은 그의 환경의 변화들에 유연하게 되고, 셋업(setup) 또는 동작에 대해 더 적은 인력을 요구하고, 그에 따라 비용들을 절약한다. 예컨대, 하나의 애플리케이션에서, 이동식 로봇(robot)들은 필요에 따라 하나의 머신(machine)으로부터 다른 머신으로 공작물들을 전달할 수 있다. 머신이 고장나면, 시스템들은 다음의 필요한 작업을 이행할 수 있는 다른 시스템으로 공작물들을 자동으로 전달한다. 전체 작업흐름은 적시 전달을 가능하게 하도록 최적화된다. 다른 애플리케이션에서, 카메라(camera)들은 프로세스(process), 예컨대 페이스트(paste)가 전도체에 부착되는 것을 모니터링(monitor)할 수 있다. 비정상적인 입자들, 간극들 또는 다른 문제들이 검출되면, 이러한 정보는 지속적인 최적화를 위해 프로세스 제어부로 피드백(feed back)된다. 또 다른 애플리케이션에서, 로봇은 빈(bin)으로부터 알려지지 않은 적대적(adversarial) 물체들을 선정할 필요가 있다. 이것은 물체들의 3D 컴퓨터-보조 설계(computer-aided design; CAD) 드로잉(drawing)들 없이 그리고 리프로그래밍(reprogramming) 없이 신뢰할 수 있게 달성되어야 한다. 그러한 애플리케이션들은, 예컨대 제품들의 세트(set)를 상자에 넣어 고객에게 전달하기 위해 창고들에서 요구된다.
[3] 이들 모든 애플리케이션들은, 그들이 고속 데이터(data) 분석을 위해 최신 기술이 요구된다는 공통점을 갖는다. 예컨대, 빈 선정 애플리케이션은 3D 클라우드 포인트 카메라(cloud point camera) 입력에 기반하는 DexNet로 지칭되는 뉴럴 네트워크(neural network)를 사용하여 달성될 수 있다. 페이스트 증착의 모니터링은 적외선 카메라 입력에 기반하는 신규한 알고리즘(algorithm)들에 의해 달성될 수 있다. 이동식 로봇 애플리케이션은 그의 환경을 내비게이팅(navigate)하기 위해 LIDAR들 및 카메라들과 같은 다수의 센서(sensor) 입력들을 요구한다. 상태 모니터링 또는 예측 유지보수와 같은 다른 애플리케이션들은 오디오(audio), 진동, 또는 다른 고속 입력들을 요구할 것이다.
[4] 높은 대역폭 입력 데이터 및 진보된 알고리즘들의 사용에 부가하여, 이들 모든 애플리케이션들은 그 애플리케이션들이 그들의 환경의 변화들에 실시간으로 반응하도록 요구된다는 공통점을 갖는다. 따라서, 컴퓨테이션(computation)은, 예컨대 클라우드 인프라구조(infrastructure) 내부보다는 디바이스에서 수행되어야 한다. 또한, 산업에서 대부분의 이산 및 프로세스 제어는 제어를 위한 프로그래밍가능 로직 제어기(PLC)들을 요구한다. PLC는, 출력 디바이스들의 상태를 제어하기 위해 입력 디바이스들의 상태에 대한 데이터를 지속적으로 수집하는 소프트웨어(software)를 실행하도록 구성된 특수화된 컴퓨터 제어 시스템이다. PLC는 통상적으로 3개의 주요 컴포넌트(component)들, 즉 프로세서(processor)(휘발성 메모리(memory)를 포함할 수 있음), 애플리케이션 프로그램(program)을 포함하는 휘발성 메모리, 및 자동화 시스템에서 다른 디바이스들에 연결하기 위한 하나 이상의 입력/출력(I/O) 포트(port)들을 포함한다. PLC들은 가혹하거나 위험한 환경들에서의 신뢰할 수 있는 동작을 가능하게 하고, 실시간 보장들을 제공하며, 중복성 및 페일세이프(failsafe) 개념들을 가능하게 한다. 제조 환경에 대한 PLC들의 광범위한 사용 및 최적화를 고려할 때, 솔루션(solution)이 PLC들과 잘 통합되는 것이 중요하다.
[5] 종래의 PLC들은 이들 문제들을 해결하기 위해 진보된 알고리즘들을 수행하거나 충분한 컴퓨팅 리소스(computing resource)들을 제공하도록 설계되지 않는다. 또한, AI-기반 애플리케이션들은 종종 하나의 애플리케이션에 매우 고유하게 적합하다. 즉, 성능 요건들에 따라 스케일링(scale)되고 상이한 도메인(domain)들(예컨대, 비디오(video), 오디오, 진동, 스펙트럼 이미지(spectral image)들 등)에 특정한 알고리즘들을 가능하게 할 수 있는 매우 유연한 솔루션이 요구된다. 게다가, AI 알고리즘들의 가속은 이용가능한 제어 전략들과의 신뢰할 수 있는 통합을 가능하게 하기 위해 PLC 프로그램과 동기화될 필요가 있다. 현장의 PLC들의 큰 시장을 고려할 때, 디바이스들이 개조될 수 있고, 잘 설정된 도구들, 이를테면 지멘스의 총 통합 자동화(Siemens Total Integrated Automation; TIA) 포털(Portal)이 프로그래밍(programming)을 위해 사용될 수 있는 것이 또한 중요하다. 그렇지 않으면, 대부분의 현재 고객들은 이들 신규한 기술들을 그들의 생산에 통합하는 데 어려움들을 겪을 것이다.
[6] 본 발명의 실시예들은, 프로그래밍가능 로직 제어기들(PLC) 및 다른 제어 시스템들에서 이용될 수 있는 AI 가속 모듈에 관련된 방법들, 시스템들, 및 장치들을 제공함으로써 위의 단점들 및 결함들 중 하나 이상을 해결하고 극복한다.
[7] 본 발명의 일부 실시예들에 따르면, 제어기 시스템은 CPU 모듈, 하나 이상의 기술 모듈들, 및 백플레인 버스(backplane bus)를 포함한다. CPU 모듈은 제어 프로그램을 실행하는 프로세서를 포함한다. 기술 모듈들은, (a) 하나 이상의 머신 러닝 모델(machine learning model)들에 관련된 입력 데이터 값들을 수신하고, 그리고 (b) 하나 이상의 출력 데이터 값들을 생성하기 위해 입력 데이터 값들에 머신 러닝 모델들을 적용하도록 구성된 AI 가속기 프로세서를 포함한다. 백플레인 버스는 CPU 모듈과 기술 모듈들을 연결시킨다. 기술 모듈들은 백플레인 버스를 통해 출력 데이터 값들을 프로세서에 전달하고, 프로세서는 제어 프로그램의 실행 동안 출력 데이터 값들을 사용한다.
[8] 다른 실시예들에 따르면, CPU 모듈 및 기술 모듈을 포함하는 제어기 시스템 내에서 머신 러닝 모델을 실행하기 위한 방법은, 기술 모듈에 의해, 제어기 시스템 외부의 디바이스들에 의해 발생된 데이터에 기반하여 하나 이상의 입력 데이터 값들을 생성하는 단계를 포함한다. 기술 모듈 내의 AI 가속기는 하나 이상의 출력 데이터 값들을 생성하기 위해 입력 데이터 값들에 하나 이상의 머신 러닝 모델들을 적용한다. 기술 모듈은, CPU 모듈과 기술 모듈을 연결시키는 백플레인에 출력 데이터 값들을 기입하고, CPU 모듈은 백플레인으로부터 출력 데이터 값들을 판독한다. 일단 출력 데이터 값들이 수신되면, CPU 모듈은 출력 데이터 값들을 이용하는 애플리케이션 프로그램을 실행한다.
[9] 본 발명의 다른 실시예에 따르면, 제어 시스템을 프로그래밍하기 위한 방법은, 자동화 프로그램을 프로그래밍하기 위한 블록-기반(block-based) 편집기를 포함하는 그래픽 사용자 인터페이스(graphical user interface; GUI)를 디스플레이(display)하는 단계를 포함한다. 머신 러닝 모델의 시각적 표현은 하나 이상의 사용자 커맨드(command)들에 기반하여 GUI에 디스플레이된 기능 블록에 삽입된다. 머신 러닝 모델의 입력들 및 출력들을 정의하는, 머신 러닝 모델의 유형 서명이 식별된다. 기능 블록의 입력들 및 출력들은 머신 러닝 모델의 입력들 및 출력들에 기반하여 자동으로 정의된다. 입력 소스(input source)는 기능 블록의 입력들 중 적어도 하나에 연결되고, 기능 블록의 출력들은 부가적인 기능 블록에 연결된다. 기능 블록은 제어 시스템에 의해 실행가능한 코드(code)를 생성하도록 컴파일링(compile)된다.
[10] 본 발명의 다른 실시예들에 따르면, 제어기 시스템은 CPU 모듈, 하나 이상의 기술 모듈들, 및 CPU 모듈과 기술 모듈들 사이에서 데이터를 교환하는 인터페이스 모듈을 포함한다. CPU 모듈은 제어 프로그램을 실행하는 프로세서를 포함한다. 기술 모듈들은, (a) 하나 이상의 디바이스들에 관련된 입력 데이터 값들을 수신하고, 그리고 (b) 하나 이상의 출력 데이터 값들을 생성하기 위해 입력 데이터 값들에 하나 이상의 머신 러닝 모델들을 적용하도록 구성된 AI 가속기 프로세서를 포함한다. 기술 모듈들은 인터페이스 모듈들을 통해 출력 데이터 값들을 프로세서에 전달하고, 프로세서는 제어 프로그램의 실행 동안 출력 데이터 값들을 사용한다.
[11] 본 발명의 다른 실시예에 따르면, 제어기 시스템은, 제1 제어 프로그램을 실행하는 프로세서를 포함하는 CPU 모듈 및 하나 이상의 기술 모듈들을 포함한다. 각각의 기술 모듈은, 하나 이상의 디바이스들에 관련된 입력 데이터 값들을 수신하고, 그리고 하나 이상의 출력 데이터 값들을 생성하기 위해 입력 데이터 값들에 하나 이상의 머신 러닝 모델들을 적용하도록 구성된 인공 지능(AI) 가속기 프로세서를 포함한다. AI 가속기 프로세서는 출력 데이터 값들에 기반하여 디바이스들에 대한 제어 명령들을 생성하기 위해 제2 제어 프로그램을 실행한다. 제어 명령들은 제1 데이터 레이트(data rate)로 기술 모듈의 하나 이상의 입력/출력 포트들을 통해 디바이스들에 송신된다. 상태 메시지(message)들은 제1 데이터 레이트보다 느린 제2 데이터 레이트로 백플레인 버스 또는 인터페이스 모듈을 통해 CPU 모듈에 송신된다.
[12] 본 발명의 부가적인 특징들 및 장점들은 첨부 도면들을 참조하여 진행되는 예시적인 실시예들의 다음의 상세한 설명으로부터 명백해질 것이다.
[13] 본 발명의 전술된 및 다른 양상들은 첨부 도면들과 관련하여 판독될 때 다음의 상세한 설명으로부터 가장 잘 이해된다. 본 발명을 예시하려는 목적을 위해, 현재 선호되는 실시예들이 도면들에 도시되어 있지만, 본 발명이 개시된 특정 방편들로 제한되지 않는다는 것을 이해한다. 도면들에는 다음 도면들이 포함된다.
[14] 도 1은 일부 실시예들에 따른 예시적인 제어기 시스템을 예시한다.
[15] 도 2는 일부 실시예들에 따른, CPU 모듈 및 기술 모듈을 포함하는 제어기 시스템 내에서 머신 러닝 모델을 실행하기 위한 방법을 도시한다.
[16] 도 3은 일부 실시예들에 따른, 제어 시스템을 프로그래밍하기 위한 작업흐름을 예시한다.
[17] AI 애플리케이션들에 대한 PLC-기반 가속 모듈에 관련된 시스템들, 방법들, 및 장치들이 본 명세서에 설명된다. 더 일반적으로, 본 명세서에 설명되는 기법들은, 제어기 시스템의 섀시(chassis)에 직접 통합될 수 있는 컴퓨팅 모듈을 사용하여 디바이스 레벨에서 AI 가속을 위한 하드웨어 플랫폼(hardware platform)(본 명세서에서 "기술 모듈"로 지칭됨)을 가능하게 한다. 이러한 기술 모듈은, PLC 내에서 직접 머신 러닝을 실행하는 것을 용이하게 하여; 고속 입력들이, 직접적으로 그리고 다른 입력 모듈들로부터의 데이터 또는 PLC 변수들과 공동으로 최소의 오버헤드(overhead)로, 프로세싱(process)되게 허용해서, 제어 환경을 수정하기 위한 AI-기반 판단들을 행하는 AI 가속기 프로세서를 포함한다.
[18] 도 1은 일부 실시예들에 따른 예시적인 제어기 시스템(100)을 예시한다. 용어 "제어기 시스템"은 PLC들 뿐만 아니라 PLC들과 유사한 기능을 갖는 다른 디지털 제어 컴퓨터들 둘 모두를 포함하도록 의도된다. 간단히, 제어 시스템(100)은 CPU 모듈(110) 및 3개의 기술 모듈들(115, 120, 및 125)을 포함한다. 모듈들(110, 115, 120, 125) 각각은 백플레인 버스(130)를 통해 연결된다. 전체 제어기 시스템(100)은 섀시(105)에 하우징(house)된다. 일반적으로, 본 명세서에 설명되는 기법들은 당업계에 알려진 임의의 모듈식(modular) 제어기 시스템을 사용하여 구현될 수 있다. 예컨대, 일 실시예에서, 제어기 시스템은 SIMATIC ET 200SP이다.
[19] 당업계에서 일반적으로 이해되는 바와 같이, 백플레인 버스(130)는 모듈들(110, 115, 120, 125) 사이에서 데이터를 전달하기 위한 내부 데이터 버스이다. 백플레인 버스(130)를 생성하기 위해 다양한 기법들이 사용될 수 있다. 예컨대, 일 실시예에서, 백플레인 버스(130)는 섀시(105)의 일부이고, 섀시는 모듈들(110, 115, 120, 125)이 백플레인 버스(130)에 연결되게 허용하는 복수의 플러그(plug)들(도 1에 도시되지 않음)을 포함한다. 다른 실시예들에서, 모듈들(110, 115, 120, 125) 각각은 백플레인 버스(130)를 형성하는 상호연결 플러그들(도 1에 도시되지 않음)을 포함한다.
[20] CPU 모듈(110)은 "스캔 사이클(scan cycle)"로 지칭되는 일련의 동작들을 수행하는 프로세서를 포함한다. 먼저, 입력들은, 예컨대 백플레인 버스(130), 또는 "프로세스 이미지"로 지칭되는 CPU 모듈(110) 내의 메모리의 영역으로부터 판독된다. 다음으로, 본 명세서에서 "제어 프로그램"으로 지칭되는 실행가능 애플리케이션은 로직을 입력들에 적용하고 디바이스들(135, 140, 145)에 대한 하나 이상의 제어 명령들을 생성하도록 실행된다. 이어서, 제어 명령들 및 임의의 다른 출력들은 적절한 경우, 디바이스들(135, 140, 145) 및/또는 백플레인 버스(130)에 기입된다.
[21] 각각의 기술 모듈(115, 120, 및 125)은 인공 지능(AI) 가속기 프로세서(115A, 120A, 및 125A), 및 디바이스들(135, 140, 145)에 대한 직접적인 연결을 용이하게 하는 입력/출력 포트들(115C, 120C, 125C)(예컨대, 네트워크 포트들, USB, CAN, 아날로그(analog) 입력들, 충전 입력들 등)의 세트를 포함한다. 디바이스들(135, 140, 145)은 고속 입력들, 이를테면 예컨대, 이미지들, 비디오들, 오디오 신호들, 진동 센서 값들 등을 기술 모듈들(115, 120, 및 125)에 제공한다. 입력들이 항상 고속이지는 않을 수 있다는 것을 유의해야 한다. 예컨대, 비디오는 초당 몇 프레임(frame)들만을 갖지만, 데이터 레이트는 여전히 매우 높다. 이것은, 많은 상대적으로 느리게(예컨대, 30 Hz) 변화하는 센서 신호들(예컨대, 각각의 픽셀(pixel))을 포함하는 측정에 대한 단지 하나의 예일 뿐이다. 또한, 일부 예시들에서, 기술 모듈(들)은 높은 처리량 정보와 느린 데이터를, 이를테면 비디오 스트림(video stream)과 머신 상태를 결합할 수 있다. 머신 상태(예컨대 RPM)는 CPU 모듈(110) 또는 다른 입력 모듈로부터 백플레인 버스(130)를 통해 판독될 수 있다.
[22] 각각의 AI 가속기 프로세서(115A, 120A, 125A)는 (예컨대, 백플레인 버스(130) 또는 입력/출력 포트들(115C, 120C, 125C)을 통해) 하나 이상의 디바이스들(135, 140, 145)에 관련된 입력 데이터 값들을 수신하도록 구성된다. 일단 이들 입력 데이터 값들이 수신되면, 각각의 AI 가속기 프로세서(115A, 120A, 125A)는 머신 러닝 모델을 실행한다. 머신 러닝 모델은, 입력/출력 포트들(115C, 120C, 125C), 백플레인 버스(130), 또는 당업계에 알려진 다른 기법들(예컨대, SD 카드(card))을 사용하여 기술 모듈들(115, 120, 및 125)에 업로딩(upload)될 수 있다.
[23] 일부 실시예들에서, 각각의 기술 모듈은, 디바이스들(135, 140, 145)로부터 수신된 데이터에 기반하여 머신 러닝 모델들에 대한 입력 데이터 값들을 생성하도록 구성된 프리-프로세싱(pre-processing) 컴포넌트(115B, 120B, 및 125B)를 더 포함한다. 일부 예시들에서, 디바이스로부터의 원시(raw) 입력이 머신 러닝 모델들에 대한 입력 데이터 값들로서 직접 사용될 수 있다. 그러나, 다른 예시들에서, 각각의 프리-프로세싱 컴포넌트(115B, 120B, 및 125B)는 데이터를 변환하기 위한 규칙들 또는 기능들의 세트를 사용할 수 있다. 예컨대, 원시 아날로그 신호는 입력으로서 사용될 수 있는 시계열 데이터를 제공하도록 샘플링(sample)될 수 있다. 원시 아날로그 시계열 신호는 정의된 시간 기간으로부터 스펙트로그램(spectrogram)으로 변환될 수 있다. 스펙트로그램 표현은 길이가 1초인 원시 신호들로부터 절반의 중첩 윈도우(window)들에 대해 0.5초마다 생성될 수 있다. 이들 스펙트로그램들은 머신 러닝 모델에 대한 입력일 수 있다.
[24] 특정한 디바이스로부터의 데이터를 변환하기 위한 규칙들 또는 기능들은 설치 이전에 각각의 디바이스 상에 미리-로딩(pre-load)될 수 있다. 대안적으로, 규칙들 또는 기능들은 필요에 따라 동적으로 로딩(load)될 수 있다. 예컨대, 일 실시예에서, 기술 모듈의 네트워킹 포트(networking port)들을 통해 특정한 디바이스를 연결시키는 것에 응답하여, 기술 모듈은 제어기 시스템(100)에 로컬(local)인 또는 그로부터 외부에 있는 데이터 소스로부터 그 특정한 디바이스로부터의 데이터를 변환하기 위한 규칙들 또는 기능을 리트리브(retrieve)할 수 있다.
[25] 각각의 AI 가속기 프로세서(115A, 120A, 및 125A)는 하나 이상의 출력 데이터 값들을 생성하기 위해 입력 데이터 값들에 하나 이상의 머신 러닝 모델들을 적용한다. 일단 생성되면, 기술 모듈들(115, 120, 및 125)은 백플레인 버스(130)를 통해 출력 데이터 값들을 CPU 모듈(110)에 전달하고, CPU 모듈(110) 내의 프로세서는 제어 프로그램의 실행 동안 출력 데이터 값들을 사용한다.
[26] 일반적으로, 당업계에 알려진 임의의 AI 가속기 프로세서가 제어기 시스템에서 사용될 수 있다. 예컨대, 일 실시예에서, 각각의 AI 가속기 프로세서(115A, 120A, 125A)는 인텔 미리아드 X(Intel Myriad X)이다. AI 가속기 프로세서(115A, 120A, 및 125A)는, 높은 대역폭이지만 저전력 동작을 위해 최적화된 아키텍처(architecture)를 사용한다. 예컨대, 일부 실시예들에서, 칩(chip) 메모리 내에서의 데이터 전달을 최소화함으로써 또는 뉴럴 네트워크 컴퓨테이션들에서 많이 사용되는 행렬 곱셈을 가속화함으로써 가속화되는 아키텍처가 이용된다. 다른 실시예들에서, 뉴럴 네트워크 프리미티브(primitive)들 및 공통 데이터 프리프로세싱(preprocess) 기능들이 하드웨어로 구현된다. 이는, GPU-기반 가속과 같은 일반적인 대안적 구현과 비교하여 더 낮은 전력 프로파일(profile)에서 고성능의 동작들을 허용한다. 예컨대, 비교적, 엔비디아 테그라 X2(NVIDIAs Tegra X2)는 약 1TOPS로 수행되지만, 수동 냉각 제어기 시스템에서 실용적이지 않은 최대 15W를 사용한다. 일부 실시예들에서, 각각의 AI 가속기 프로세서(115A, 120A, 및 125A)는 또한, 추가된 애플리케이션 유연성을 위해 2개의 LEON CPU들 및 16개의 SHAVE 벡터(vector) 프로세서들을 포함한다. 즉, 각각의 AI 가속기 프로세서(115A, 120A, 및 125A)는 (예컨대, USB 또는 이더넷(Ethernet)으로부터의) 데이터 획득, 프리프로세싱, 머신 러닝, 및 제어기 시스템의 백플레인 버스(130)로의 출력으로부터 프로세싱 파이프라인(pipeline)을 유연하게 구현하는 데 필요한 모든 것을 갖는다. 위에서 설명된 예가 미리아드 X 프로세서에 관련되지만; 본 명세서에 설명된 기법들이 임의의 특정한 유형의 AI 가속기에 제한되지 않는다는 것을 유의해야 한다. 이러한 유연성은 또한, 뉴럴 네트워크들 이외의 머신 러닝 모델들, 이를테면 지원 벡터 머신, 랜덤 포레스트(random forest), 은닉 마르코프 모델(markov model)들, 주 컴포넌트 분석, 및 당업계에 일반적으로 알려진 다른 것들의 배포를 가능하게 한다.
[27] 각각의 AI 가속기 프로세서(115A, 120A, 125A)가 백플레인 버스(130)를 통해 직접 연결된다는 사실은, 머신 러닝 모델들의 출력이 제어기 시스템(100)에서 동기식으로 사용가능하다는 장점을 갖는다. 즉, 백플레인 버스(130)의 매 사이클마다, 현재 출력 값들이 공유되어 프로세스 제어를 위해 사용될 수 있다. 또한, 이러한 포맷(format)을 고려할 때, 기술 모듈(115, 120, 125)은 프로세스 필드 네트(Process Field Net; PROFINET)와 같은 다른 인터페이스로 백플레인 정보를 옮기는 인터페이스 모듈의 사용에 의해, 전부는 아니지만 대부분의 다른 제어 시스템들에 부착될 수 있다. 즉, 이러한 인터페이스를 통해 통신할 수 있고 기술 모듈과 통신하기 위한 인터페이스 설명을 갖는 임의의 제어기가 모듈을 이용할 수 있다.
[28] 도 1의 예가 3개의 기술 모듈들(115, 120, 125)이 사용되고 있다는 것을 도시하지만, 일반적으로, 기술 모듈들의 수는, 예컨대 애플리케이션에 대해 요구되는 고속 입력들의 수 또는 프로세싱 전력에 기반하여 요구되는 대로 증가 또는 감소될 수 있다. 부가적으로, 다수의 기술 모듈들이 이용되는 경우, 각각의 기술 모듈은 상이한 작업에 전용될 수 있다. 예컨대, 기술 모듈(115)은 광 검출 및 레인징(Light Detection and Ranging; LIDAR) 입력을 프로세싱할 수 있고, 기술 모듈(120)은 진동 신호를 프로세싱할 수 있으며, 기술 모듈(125)은 포인트 클라우드 3D 카메라로부터의 데이터를 프로세싱할 수 있다. 기술 모듈들(115, 120)로부터의 처음 2개의 입력들의 결과들은 기술 모듈(125)과 공유될 수 있고, 특정한 시나리오(scenario)를 인식하기 위해 프로세싱에 포함될 수 있다. 따라서, 호스팅(hosting) 제어기 시스템의 성능 제한들 없이 복잡하고 부담이 큰 애플리케이션들을 생성하는 것이 가능하다. 예컨대, 30개의 입력/출력 모듈들을 이용하여 이미 프로세스를 제어하고 있는 제어기 시스템에 그러한 모듈들을 추가하는 것이 심지어 가능하다. 따라서, 사용자들은 고성능 입력들의 머신 러닝 분석을 사용하여 부가적인 애플리케이션들에 대한 이용가능한 설치들을 사용할 수 있다. 이는 배포 위험들, 부가적인 케이블링(cabling), 설치 비용들 등을 제한한다.
[29] 도 1을 계속 참조하면, 일부 실시예들에서, 출력 값들은 입력/출력 포트들(115C, 120C, 및 125C)을 통해 디바이스들(135, 140, 145)에 전달될 수 있다. 다른 실시예들에서, AI 가속기 프로세서(115A, 120A, 및 125A)는 출력 값들에 기반하여 하나 이상의 제어 명령들을 도출하는 데 사용될 수 있으며; 이어서, 이들 출력 명령들은 입력/출력 포트들(115C, 120C, 및 125C)을 통해 디바이스들(135, 140, 145)에 전달될 수 있다. 일 실시예에서, 입력/출력 포트들(115C, 120C, 및 125C) 각각은 입력 데이터 값들을 개개의 기술 모듈에 전달하기 위한 입력 포트 및 출력 데이터 값들로부터 도출된 제어 명령들을 디바이스들(135, 140, 및 145) 중 하나에 전달하기 위한 출력 포트를 포함한다. 입력 및 출력 포트들은 동일한 네트워킹 프로토콜(protocol) 또는 상이한 프로토콜들을 사용할 수 있다. 예컨대, 일 실시예에서, 입력 포트는 디바이스와 기술 모듈 사이의 USB 연결에 대응하는 반면, 출력 포트는 디바이스와 기술 모듈 사이의 이더넷 연결에 대응한다.
[30] 고속 입력들로부터의 이러한 압축은 제어기 시스템의 비교적 저속의 백플레인 연결과 함께 복잡한 컴퓨테이션의 사용을 가능하게 한다. 이러한 접근법의 장점들은, 높은 대역폭 데이터가 제어기 시스템(100)의 리소스들을 로딩하지 않고, 복잡한 신호 프로세싱과 같은 작업들(예컨대, 카메라 피드(feed)들에 기반한 물체 인식 및 추적)이 수행될 수 있고, 결과들이 제어기 시스템(100)의 백플레인 버스(130)를 통해 제어기 시스템(100)에 동기식으로 이용가능하고, 메모리와 같은 리소스 요건들이 백플레인 버스(130)의 공유된 메모리로 제한되며, 기술 모듈들(115, 120, 125)이 기존의 제어기 시스템들에 용이하게 통합되어, 그에 따라 용이한 개조를 허용할 수 있다는 것이다. 백플레인 버스(130)에 대한 대안으로서, 기술 모듈들(115, 120, 125)은, PROFINET(예컨대, PROFINET 인터페이스 모듈들 또는 PROFIBUS 인터페이스 모듈들)를 통한 데이터의 교환을 허용하는 표준 인터페이스 모듈을 통해 임의의 다른 유형의 제어기 시스템에 연결될 수 있다.
[31] 도 1에 도시된 설계의 하나의 장점은 상이한 유형들의 센서들이 연결 및 프로세싱될 수 있다는 것이다. 즉, 시장에서의 현재 시스템들(예컨대, 스마트(smart) 카메라들, 드론(drone)들, 디지털 컴패니언(digital companion)들 등)의 경우, 단일 양식 또는 애플리케이션만이 해결되는 반면, 제안된 설계의 경우, USB, 이더넷 또는 백플레인 연결을 이용하는 임의의 데이터 발생 시스템이 입력들로서 사용될 수 있고, 애플리케이션들이 맞춤화될 수 있다. 상이한 양식(예컨대, 열 비전(thermal vision))이 바람직하거나 또는 상이한 카메라 판매사가 방폭 환경(explosion proof environment)에서의 사용과 같은 부가적인 요건들을 충족시키는 카메라를 판매하면, 제한된 기능의 AI-인에이블(AI-enabled) 디바이스들을 사용하는 것은 일반적으로 가능하지 않다. 표준 산업 인터페이스들을 통해 플러그 앤 플레이(plug and play) 연결, 이를테면 USB 비전 및 이더넷 비전을 가능하게 함으로써, 도 1에 도시된 설계는 유연하고, 고객이 미래에도 사용할 수 있다. 즉, 오리지널(original) 카메라가 더 이상 이용가능하지 않거나 또는 더 좋거나 더 저렴한 모델이 시장에 등장하면, 사용자는, 시스템을 리프로그래밍할 필요 없이 단지 이를 플러그 인(plug in)하기만 하면 될 수 있다(알고리즘들은 사용된 뉴럴 네트워크의 예상되는 입력 포맷에 입력을 자동으로 크기조절하도록 셋업될 수 있다). 또한, 접근법은 혼합된 데이터(예컨대, USB를 통한 카메라 입력), 백플레인을 통한 제어 파라미터(parameter), 및 이더넷을 통한 공유된 플랜트(plant) 변수들의 동기식 프로세싱을 허용한다.
[32] 도 2는 일부 실시예들에 따른, CPU 모듈 및 기술 모듈을 포함하는 제어기 시스템 내에서 머신 러닝 모델을 실행하기 위한 방법을 도시한다. 단계들(205 내지 210)에서 시작하여, 하나 이상의 머신 러닝 모델들에 대한 입력 데이터 값들은 제어기 시스템 외부의 디바이스들에 의해 발생된 데이터에 기반하여 생성된다. 더 구체적으로, 단계(205)에서, 기술 모듈은, 예컨대 각각의 모듈 상에 포함된 입력/출력 포트들을 사용하여, 디바이스들에 의해 발생된 데이터를 판독한다(도 1 참조). 이어서, 단계(210)에서, 기술 모듈은 일련의 규칙들 또는 기능들을 사용하여 머신 러닝 모델들에 대한 입력 데이터 값들로 데이터를 변환하기 위해 그 데이터를 프리-프로세싱한다.
[33] 도 2를 계속 참조하면, 단계(215)에서, 기술 모듈 내의 AI 가속기는 하나 이상의 출력 데이터 값들을 생성하기 위해 입력 데이터 값들에 머신 러닝 모델들을 적용한다. 다음으로, 단계(220)에서, 기술 모듈은 CPU 모듈과 기술 모듈을 연결시키는 백플레인에 출력 데이터 값들을 기입한다(도 1 참조). 단계(225)에서, CPU 모듈은 백플레인으로부터 출력 데이터 값들을 판독한다. 다음으로, 단계(230)에서, CPU 모듈은 출력 데이터 값들을 이용하는 애플리케이션 프로그램을 실행한다. 이어서, 애플리케이션 프로그램은 디바이스들을 제어하기 위해 출력 데이터 값들을 사용할 수 있다. 도 2의 예에서, 단계(235)에서, CPU 모듈은 출력 데이터 값들에 기반하여 디바이스들에 대한 하나 이상의 제어 명령들을 생성하고, 단계(240)에서, 이들 제어 명령들은 디바이스들에 전달된다.
[34] 제어기 시스템들에 대한 높은 처리량 입력들의 실시간 분석을 가능하게 하는 것에 부가하여, 일부 실시예들에서, 고속 제어를 위해 기술 모듈을 사용하는 것이 가능하다. 예컨대, 입력들은 기술 모듈의 하나의 입력/출력 포트(예컨대, USB 인터페이스)를 통해 제공될 수 있으며, 제어 파라미터 또는 다른 출력은 다른 입력/출력 포트(예컨대, 이더넷 인터페이스)를 통해 구동될 수 있다. 기술 모듈이 제어기 시스템의 백플레인을 통해 흐르도록 모든 출력들에게 요구하지는 않으므로, 고속 제어 애플리케이션들이 요구되면, 백플레인 사이클보다 더 빠르게 반응하는 것이 가능하다. 이러한 경우, 제어 애플리케이션은, 그것이 디바이스들에게 직접 제어 명령들을 제공하도록 기술 모듈 내에 완전히 포함될 것이다. 이어서, 기술 모듈은 단지, 예컨대 메타데이터(metadata) 또는 상태의 교환을 위해 더 낮은 주파수로 제어기 시스템의 다른 모듈들과 단지 정보만을 교환할 수 있다. 하나의 가능한 애플리케이션은, 이동하는 공작물의 정확한 위치에 관해 통지하기 위해 180 Hz의 720p 비디오를 분석하는 미리아드 X 칩의 하드웨어 가속된 스테레오(stereo) 비전 깊이 추출을 사용할 수 있다.
[35] 도 3은 일부 실시예들에 따른, 제어 시스템을 프로그래밍하기 위한 작업흐름을 예시한다. 이러한 작업흐름은 지멘스의 완전 통합된 자동화(Totally Integrated Automation; TIA) 포털과 같은 GUI를 사용하여 PLC 및 AI 애플리케이션들에 대한 단일형 프로그래밍 프레임워크(framework)를 이용한다. AI 및 제어기 애플리케이션들의 최신 통합은 개방형 제어기에서 맞춤형으로 구현되거나 외부 하드웨어(예컨대, 스마트 센서 입력들 또는 GPU 가속 외부 머신들)를 사용할 수 있다. 따라서, 대부분 맞춤형 셋업들을 유발하는 상이한 프로그래밍 및 통합 프레임워크가 요구된다. 셋업의 복잡도는 단일 프로그래밍 프레임워크를 통해 AI 및 제어기 애플리케이션들의 배포를 가능하게 함으로써 상당히 감소된다. 또한, 프레임워크가 리소스들에 대한 단일형 제어를 가지므로, 기능들의 조합보다는 단일 프로그래밍 프레임워크를 사용할 때 성능이 개선될 수 있다. 예컨대, 상이한 도구들에서 달리 프로세싱될 양상들에 의해 사용되는 변수들에 대해 하나의 메모리 위치만이 할당되어야 한다. 이는 불필요한 데이터 복사 및 메모리 할당들을 제한하며, 이는 프로세싱 시간을 절약한다.
[36] 도 3을 계속 참조하면, 그래픽 사용자 인터페이스(GUI)가 호스트(host) 컴퓨터 상에 디스플레이된다. 이러한 GUI는 자동화 프로그램을 프로그래밍하기 위한 블록-기반 편집기를 포함한다. 제1 단계에서, 프로그래머(programmer)는 GUI에서 비어있는 AI 기능 블록을 생성한다. 본 명세서에서 사용된 바와 같이, 용어 "AI 기능 블록"은 머신 러닝 모델에 대한 참조의 포함을 지원할 수 있는 기능 블록을 지칭한다. 따라서, 하나 이상의 표준 기능 블록들이 그러한 기능을 지원할 수 있다면, 그 표준 기능 블록들이 이용될 수 있으며; 그렇지 않으면, 맞춤형 AI 기능 블록이 사용될 수 있다.
[37] 프로그래머는, GUI에 디스플레이된 기능 블록으로 머신 러닝 모델의 시각적 표현을 삽입하는 것을 초래하는 하나 이상의 커맨드들을 제공한다. 예컨대, 일 실시예에서, 프로그래머는 시각적 표현을 기능 블록으로 드래그(drag)한다. 예시된 예에서, 이것은 텐서플로우(Tensorflow) 모델의 형태로 행해지지만; 다른 모델 프레임워크들, 예컨대 카페(Caffe) 또는 체이너(Chainer)가 사용될 수 있다.
[38] 다음으로, 머신 러닝 모델의 유형 서명이 결정된다. 이러한 유형 서명은 머신 러닝 모델의 입력들 및 출력들을 정의한다. 이는, 예컨대 머신 러닝 모델 그 자체의 코드를 분석하거나 머신 러닝 모델과 연관된 메타데이터를 사용함으로써 수행될 수 있다. 머신 러닝 모델의 입력들 및 출력들에 기반하여, 입력들 및 출력들에 기반한 기능 블록의 입력들 및 출력들이 정의된다. 도 3의 예에서, 160×160 픽셀 크기의 요구되는 이미지 입력 및 사람들 사이를 구별할 수 있는 특성 특징과 같은 출력들을 초래할 시에 비어있는 AI 기능 블록을 자동으로 파라미터화(parameterize)하는 데 사용되는, 요구되는 입력들 및 출력들에 관한 정보를 머신 러닝 모델이 포함한다고 가정된다.
[39] 다음으로, 프로그래머는 입력 소스를 연결시키고 파라미터화할 필요가 있다. 예컨대, USB 카메라 드라이버(driver)가 선택될 필요가 있고, 기록된 이미지는 사용된 뉴럴 네트워크에 의해 예상되는 바와 같이 프리프로세싱될 필요가 있다. 이러한 애플리케이션에서, 카메라는 초당 60 프레임들의 16 비트(bit) 해상도 이미지들을 기록하도록 세팅(setting)되고, 평균 값이 이미지로부터 차감되고, 이미지는 160×160 포인트 크기로 스케일링되고, 그 이미지는 화이트닝(whiten)되며, RGB 컬러(color) 방식을 사용한다. 카메라 드라이버 및 모든 프리프로세싱은 AI 기능 블록에서의 머신 러닝 모델의 실행 뿐만 아니라 기술 모듈에 대해 수행된다. 이어서, 실시간으로 업데이트(update)되는 이미지 특징이 백플레인을 통해 제어기로 전파된다. 제어기 시스템에서, 이러한 값은 최우측의 기능 블록에서 예시된 바와 같이 이미지들의 데이터베이스(database)와 비교된다. 현재 이미지 특징에 가장 가까운 스코어(score)를 갖는 데이터베이스의 이미지가 가장 가능성 있는 검출된 후보이다. 그러나, 제어기는 또한, 결과를 검출로서 수용하기 위해 특징들 사이의 최대 허용된 차이를 표현하는 임계치를 제공한다. 스코어 차이에 기반하여, 데이터베이스 내의 특정한 사용자가 현재 카메라를 향하고 있는 확률이 컴퓨팅된다. 이러한 확률 및 사용자의 ID는 제어기 애플리케이션에 의해 출력되며, (예컨대, 사용자 인터페이스 세팅들을 파라미터화하기 위해) 제어기 시스템에 의해 실행되는 제어 애플리케이션의 추가적인 부분들에서 사용될 수 있다. 일단 모든 연결들이 만들어지면, 기능 블록은 기술 모듈에 의해 실행가능한 코드를 생성하도록 컴파일링될 수 있다. 이어서, 코드가 (예컨대, 백플레인 버스 또는 기술 모듈 상의 입력 포트들을 통해) 기술 모듈에 배포될 수 있다.
[40] 후속하는 단락들에서, 기술 모듈의 다양한 이점들이 더 상세히 설명된다. 먼저, 본 명세서에 설명된 기술 모듈은 진보된 신호 프로세싱 및 높은 대역폭 입력들의 분석의 표준 제어기 시스템들로의 직접적인 통합을 허용한다. 이는 반응 사이클 시간 및 그에 따른 제어 성능을 상당히 개선시킨다. 또한, 제2 판매사로부터 어떠한 맞춤형 하드웨어도 요구되지 않으며, 따라서 통합, 셋업 및 유지보수를 단순화한다. 마지막으로, 새로운 애플리케이션들이 AI 개념들을 사용하여 제어기 시스템에서 인에이블링(enable)된다.
[41] 기술 모듈들은 또한, 다수의 모듈들을 추가함으로써 제어기에 대한 오버헤드를 추가하지 않으면서 AI 가속 성능을 제공한다. 종래의 접근법들은 개방형 제어기에 PCIe 카드를 삽입하는 것을 요구할 것이다. 더 많은 성능이 필요하면, 더 성능이 좋은 PCIe 카드가 선택될 것이다. 대안적으로, AI 코프로세서(coprocessor)가 특정 제어기 버전(version)에 포함될 것이다. 모든 데이터 획득 및 프리프로세싱이 제어기 CPU에 의해 처리될 필요가 있을 것이며, 따라서 그의 성능에 잠재적으로 영향을 준다. 또한, 제어기가 PCIe를 통해 공급할 수 있는 지원되는 전력 등급에서 실현가능한 제한된 확장 카드들이 존재한다. 고성능 카드들은 능동 냉각을 요구하며, 이어서 그 능동 냉각은 부품의 수명 및 환경 온도 정격(temperature rating)에 영향을 준다. 부가적인 기술 모듈들을 플러깅(plug)함으로써, 인터페이스들(예컨대, USB 및 이더넷)의 수와 함께 성능이 확장된다. 또한, 모든 데이터 획득 및 프리프로세싱이 모듈들 상에서 행해지며, 따라서 제어기의 성능에 최소로 영향을 준다. 소비된 전력은 넓은 영역에 걸쳐 수동적으로 소산되며, 부가적인 전력 공급이 필요하면, 그것은 별개의 전력 모듈들에 의해 제공될 수 있다. 이는 본 명세서에 설명된 기술 모듈들을 최신 접근법들보다 훨씬 더 유연하고, 효율적이며, 스케일러블(scalable)하게 만든다. 또한, 그것은 제어기 시스템 내에서 팬(fan)들의 베어링(bearing)들 및 집중된 열 소스들에 부정적인 영향을 줄 진동들 및 높은 환경 온도들을 갖는 거친 산업 환경들에서의 사용을 허용한다.
[42] 본 명세서에 설명된 기술 모듈은 다중-소스 및 다중-양식 데이터의 중앙집중식 디바이스 레벨 분석을 용이하게 한다. PLC들 및 다른 제어기 시스템들은 현재 플랜트 데이터에 대한 백본(backbone) 플랫폼이다. 카메라 또는 진동 스트림들과 같은 고속 입력들을 플랜트 데이터와 결합하는 것은, 예컨대 머신의 동작 상태를 고려하기 위해 많은 애플리케이션들에서 중요하거나 심지어 요구된다. 다른 애플리케이션들은 현재 판독치들을 프로세스의 상태와 연관시키기 위해, 3D 거리 정보를 위한 LIDAR, 현재 표면 온도 분포를 측정하기 위한 열화상 카메라, 및 플랜트 제어 변수들과 같은 다수의 양식 입력들을 요구한다. 이는, 백플레인 버스를 통해 플랜트 파라미터들을 공유하고, 예컨대 USB를 통해 카메라 입력들을 기록하는 기술 모듈에서 자연스럽게 구현된다. 이러한 접근법은 고객 사이트(site)에서 셋업을 단순화하며, 따라서 비용들을 감소시키고, 새로운 애플리케이션들의 출시 시간(time to market)을 감소시키고, 솔루션의 유지보수성을 개선시킨다.
[43] 본 명세서에 설명된 기술 모듈의 플러그 앤 플레이 양상은 현재 사용중인 제어기 시스템들에 대한 AI 특징들의 개조를 허용한다. 예컨대, 기술 모듈은 전부는 아니지만 대부분의 제어기 시스템들에 의해 사용되는 백플레인 연결의 표준들을 따른다. 프로그램을 기술 모듈에 업로딩한 이후, 기술 모듈은 제어기 시스템으로부터의 특수화된 드라이버 요건들 없이 동작한다. 즉, 예시적인 ET200SP 기술 모듈이 임의의 ET200SP 제어기에 부착될 수 있다. 게다가, 기술 모듈은 표준 인터페이스 모듈을 사용하여 PROFINET을 통해 다른 제어기들에 연결될 수 있다. 이러한 특징은, AI 기능을 추가하고 싶어하는 고객이 그들의 인프라구조에 대한 상당한 변화들을 요구하지 않으므로 고객들에 대한 비용들을 감소시킨다. 또한, 솔루션 제공자들은 AI 애플리케이션을 맞춤화하고, 기술 모듈 상에서 이를 배포하며, 설치 소프트웨어를 배송하기보다는 하드웨어 디바이스와 공동으로 솔루션을 판매할 수 있다. 따라서, 기술 모듈은, 최종 고객 측에서 AI 지식을 요구하지 않는 명확한 미리 정의된 작업에 대해 구성될 수 있다.
[44] 기술 모듈은 전용 제어기를 요구하지 않으면서 AI 특징들의 분산된 작은 크기 가속을 허용한다. AI 기술 모듈은 표준 모듈들(예컨대, PROFINET 인터페이스 모듈)과 페어링(pair)되어 배포될 수 있다. 이러한 조합은 작은 크기를 가지며, 다수의 시스템들이 플랜트 전반에 걸쳐 분산될 수 있다. 예컨대, 이들 조합들 중 하나는, 모든 AI 모듈들에 연결되는 하나의 제어기를 통해 모든 로봇들이 제어되는 동안 로봇 프로세스를 시각적으로 모니터링하기 위해 설비 내의 각각의 로봇에 위치될 수 있다. 이러한 셋업은 전체 배포의 구현 및 유지보수 비용들을 감소시킨다.
[45] 기술 모듈은 제어 파라미터들과의 AI 입력들의 동기식 사용을 용이하게 한다. AI 가속을 위한 백플레인-기반 기술 모듈의 사용은, 기술 모듈의 출력이 제어기의 다른 입력들 및 출력들과 동기화되어 공유되는 것을 자연스럽게 가능하게 한다. 이는 제어 시스템의 제어 사이클에 AI 결과들을 신뢰할 수 있게 포함시키는 데 중요하다. 예컨대, 프로세스의 비전 기반 분석을 위해 외부 가속기를 사용할 대안적인 솔루션들은, 예컨대 결과들을 버퍼링(buffer)할 수 있으며, 따라서, 플랜트 파라미터들 및 비전 분석의 부적합성을 야기하고, 이는 잘못된 결론들 및 제어 세팅들을 유발할 수 있다. 클록(clock)들을 동기화시키거나 시스템들 사이에서 부가적인 타이밍(timing) 신호들을 교환하기 위해 부가적인 노력들이 취해질 필요가 있다. 동시성(synchronicity)의 양상이 신뢰할 수 있고 반복가능한 성능을 위해 중요하다.
[46] 시스템의 다른 모듈들로부터 분리된 기술 모듈은 프로세싱이 물리적으로 확산되게 허용하며, 더 낮은 전력 소비는 뜨거운 환경들에서의 수동 냉각 및 애플리케이션을 가능하게 한다. 하드웨어에서 메인(main) 전력 소비 알고리즘들(예컨대, 뉴럴 네트워크 프리미티브들)을 구현하는 AI 가속기 프로세서의 사용은 약 2W의 저전력 소비로 고성능을 가능하게 한다. 결국, 이는 수동 냉각을 이용한 기술 모듈에서의 배포를 가능하게 한다. 더 높은 성능을 위해, 다수의 기술 모듈들이 결합될 수 있다. 모듈들 각각이 열을 소산시키기 위한 정의된 물리적 풋프린트(footprint)를 가지므로, 다수의 가속기들을 추가할 때, 어떠한 능동 냉각도 필요하지 않다. 또한, 다수의 모듈들의 헤드(head)가 넓은 영역에 걸쳐 물리적으로 분산되므로, 어떠한 핫스팟(hotspot)들도 존재하지 않으며, 시스템은 더 높은 환경 온도 환경에서 사용될 수 있다. 이러한 특징은, 제어기 섀시 내에서 더 높은 성능의 단일 중심 칩을 이용하는 일반적인 접근법과 비교하여, 고정된 환경 온도에서 더 높은 성능을 가능하게 한다.
[47] 다양한 양상들 및 실시예들이 본 명세서에 개시되었지만, 다른 양상들 및 실시예들은 당업자들에게 명백할 것이다. 본 명세서에 개시된 다양한 양상들 및 실시예들은 예시의 목적들을 위한 것이고 제한하도록 의도되지 않으며, 실제 범위 및 사상은 다음의 청구항들에 의해 표시된다.
[48] 본 명세서에서 사용된 바와 같이, 실행가능 애플리케이션은, 예컨대 사용자 커맨드 또는 입력에 대한 응답으로 운영 체제, 콘텍스트(context) 데이터 획득 시스템 또는 다른 정보 프로세싱 시스템의 기능들과 같은 미리 결정된 기능들을 구현하기 위해 프로세서를 조정하기 위한 코드 또는 머신 판독가능 명령들을 포함한다. 실행가능 절차는 하나 이상의 특정한 프로세스들을 수행하기 위한 코드 또는 머신 판독가능 명령의 세그먼트(segment), 서브-루틴(sub-routine), 또는 실행가능 애플리케이션의 코드 또는 일부의 다른 별개의 섹션(section)이다. 이들 프로세스들은 입력 데이터 및/또는 파라미터들을 수신하는 것, 수신된 입력 데이터에 대한 동작들을 수행하는 것 및/또는 수신된 입력 파라미터들에 대한 응답으로 기능들을 수행하는 것, 및 결과적인 출력 데이터 및/또는 파라미터들을 제공하는 것을 포함할 수 있다.
[49] 본 명세서에서 사용된 바와 같이, 그래픽 사용자 인터페이스(GUI)는, 디스플레이 프로세서에 의해 생성되고 프로세서 또는 다른 디바이스와의 사용자 상호작용 및 연관된 데이터 획득 및 프로세싱 기능들을 가능하게 하는 하나 이상의 디스플레이 이미지들을 포함한다. GUI는 또한 실행가능 절차 또는 실행가능 애플리케이션을 포함한다. 실행가능 절차 또는 실행가능 애플리케이션은 GUI 디스플레이 이미지들을 표현하는 신호들을 생성하도록 디스플레이 프로세서를 조정한다. 이들 신호들은 사용자가 보기 위한 이미지를 디스플레이하는 디스플레이 디바이스에 공급된다. 프로세서는, 실행가능 절차 또는 실행가능 애플리케이션의 제어 하에서, 입력 디바이스들로부터 수신된 신호들에 대한 응답으로 GUI 디스플레이 이미지들을 조작한다. 이러한 방식으로, 사용자는 입력 디바이스들을 사용하여 디스플레이 이미지와 상호작용할 수 있으며, 이는 프로세서 또는 다른 디바이스와의 사용자 상호작용을 가능하게 한다.
[50] 본 명세서의 기능들 및 프로세스 단계들은 사용자 커맨드에 대한 응답으로 전체적으로 또는 부분적으로 또는 자동으로 수행될 수 있다. 자동으로 수행되는 활동(단계를 포함함)은, 활동의 사용자 직접 개시 없이 하나 이상의 실행가능 명령들 또는 디바이스 동작에 대한 응답으로 수행된다.
[51] 도면들의 시스템 및 프로세스들은 배타적이지 않다. 동일한 목적들을 달성하기 위해 본 발명의 원리들에 따라 다른 시스템들, 프로세스들 및 메뉴(menu)들이 도출될 수 있다. 본 발명이 특정한 실시예들을 참조하여 설명되었지만, 본 명세서에 도시되고 설명된 실시예들 및 변형들이 단지 예시의 목적들을 위한 것이라는 것을 이해할 것이다. 현재 설계에 대한 수정들은 본 발명의 범위를 벗어나지 않으면서 당업자들에 의해 구현될 수 있다. 본 명세서에 설명된 바와 같이, 다양한 시스템들, 서브시스템(subsystem)들, 에이전트(agent)들, 관리자들 및 프로세스들은 하드웨어 컴포넌트들, 소프트웨어 컴포넌트들, 및/또는 이들의 조합들을 사용하여 구현될 수 있다. 본 명세서의 어떠한 청구항 엘리먼트(element)도, 그 엘리먼트가 "하기 위한 수단"이라는 어구를 사용하여 명시적으로 언급되지 않으면, 35 U.S.C. 112(f)의 조항들 하에서 해석되지 않을 것이다.

Claims (20)

  1. 제어기 시스템으로서,
    제어 프로그램을 실행하는 프로세서를 포함하는 CPU 모듈;
    (a) 하나 이상의 머신 러닝 모델(machine learning model)들에 관련된 입력 데이터 값들을 수신하고 ― 상기 입력 데이터 값들은 하나 이상의 디바이스들에 의해 발생된 데이터로부터 생성되고, 상기 데이터는 라이다(LIDAR) 데이터, 이미지 데이터, 비디오 데이터, 오디오 신호 데이터, 또는 진동 센서 데이터 중 적어도 하나를 포함함 ―, 그리고 (b) 상기 입력 데이터 값들에 상기 머신 러닝 모델들을 적용하여, 상기 입력 데이터 값들의 머신 러닝 분석의 결과로서 하나 이상의 출력 데이터 값들을 생성하도록 구성된 인공 지능(AI) 가속기 프로세서를 포함하는 하나 이상의 기술 모듈들; 및
    상기 CPU 모듈과 상기 기술 모듈들을 연결시키는 백플레인 버스(backplane bus)를 포함하고,
    상기 기술 모듈들은 상기 백플레인 버스를 통해 상기 출력 데이터 값들을 상기 프로세서에 전달하고, 상기 프로세서는 상기 제어 프로그램의 실행 동안 상기 출력 데이터 값들을 사용하는,
    제어기 시스템.
  2. 제1항에 있어서,
    상기 출력 데이터 값들은 상기 백플레인 버스를 통해, 하나 이상의 부가적인 입력들 또는 출력들과 동기식으로 스캔 사이클(scan cycle)에 따라 상기 제어 프로그램에 전달되는,
    제어기 시스템.
  3. 제1항에 있어서,
    각각의 기술 모듈은 상기 디바이스들에 대한 직접적인 연결을 용이하게 하는 하나 이상의 입력/출력 포트(port)들을 포함하는,
    제어기 시스템.
  4. 제3항에 있어서,
    각각의 기술 모듈은, 상기 하나 이상의 디바이스들에 의해 발생된 상기 데이터에 기반하여 상기 머신 러닝 모델들에 대한 상기 입력 데이터 값들을 생성하도록 구성된 프리-프로세싱 컴포넌트(pre-processing component)를 더 포함하는,
    제어기 시스템.
  5. 제4항에 있어서,
    각각의 디바이스에 대한 입력/출력 포트들은, 상기 디바이스에 의해 발생된 데이터를 상기 기술 모듈에 전달하기 위한 입력 포트 및 상기 출력 데이터 값들로부터 도출된 제어 명령들을 상기 디바이스에 전달하기 위한 출력 포트를 포함하는,
    제어기 시스템.
  6. 제5항에 있어서,
    상기 입력 포트는 상기 디바이스와 상기 기술 모듈 사이의 USB 연결에 대응하는,
    제어기 시스템.
  7. 제5항에 있어서,
    상기 출력 포트는 상기 디바이스와 상기 기술 모듈 사이의 이더넷(Ethernet) 연결에 대응하는,
    제어기 시스템.
  8. 제1항에 있어서,
    상기 CPU 모듈 및 상기 기술 모듈들을 상기 백플레인 버스에 연결시키기 위한 복수의 플러그(plug)들을 포함하는 섀시(chassis)를 더 포함하는,
    제어기 시스템.
  9. 제1항에 있어서,
    상기 CPU 모듈 및 상기 기술 모듈들 각각은 상기 백플레인 버스를 형성하는 상호연결 플러그들을 포함하는,
    제어기 시스템.
  10. CPU 모듈 및 기술 모듈을 포함하는 제어기 시스템 내에서 머신 러닝 모델을 실행하기 위한 방법으로서,
    상기 기술 모듈에 의해, 상기 제어기 시스템 외부의 디바이스들에 의해 발생된 데이터에 기반하여 하나 이상의 입력 데이터 값들을 생성하는 단계 ― 상기 데이터는 라이다(LIDAR) 데이터, 이미지 데이터, 비디오 데이터, 오디오 신호 데이터, 또는 진동 센서 데이터 중 적어도 하나를 포함함 ―;
    상기 기술 모듈 내의 AI 가속기에 의해, 상기 입력 데이터 값들에 하나 이상의 머신 러닝 모델들을 적용하여, 상기 입력 데이터 값들의 머신 러닝 분석의 결과로서 하나 이상의 출력 데이터 값들을 생성하는 단계;
    상기 기술 모듈에 의해, 상기 CPU 모듈과 상기 기술 모듈을 연결시키는 백플레인에 상기 출력 데이터 값들을 기입하는 단계; 및
    상기 CPU 모듈에 의해, 상기 백플레인으로부터 상기 출력 데이터 값들을 판독하는 단계; 및
    상기 CPU 모듈에 의해, 상기 출력 데이터 값들을 이용하는 애플리케이션(application) 프로그램을 실행하는 단계를 포함하는,
    머신 러닝 모델을 실행하기 위한 방법.
  11. 제10항에 있어서,
    상기 애플리케이션 프로그램은 상기 디바이스들을 제어하기 위해 상기 출력 데이터 값들을 사용하는,
    머신 러닝 모델을 실행하기 위한 방법.
  12. 제10항에 있어서,
    상기 입력 데이터 값들은,
    상기 기술 모듈에 의해, 상기 제어기 시스템 외부의 상기 디바이스들에 의해 발생된 상기 데이터를 판독하고; 그리고
    상기 기술 모듈에 의해, 일련의 규칙들 또는 기능들을 사용하여 상기 데이터를 상기 입력 데이터 값들로 변환함으로써,
    생성되는,
    머신 러닝 모델을 실행하기 위한 방법.
  13. 제10항에 있어서,
    상기 기술 모듈에 의해, 상기 출력 데이터 값들에 기반하여 상기 디바이스들에 대한 하나 이상의 제어 명령들을 생성하는 단계; 및
    상기 기술 모듈에 의해, 상기 제어 명령들을 상기 디바이스들에 전달하는 단계를 더 포함하는,
    머신 러닝 모델을 실행하기 위한 방법.
  14. 제10항에 있어서,
    상기 CPU 모듈에 의해, 상기 출력 데이터 값들에 기반하여 상기 디바이스들에 대한 하나 이상의 제어 명령들을 생성하는 단계; 및
    상기 CPU 모듈에 의해, 상기 제어 명령들을 상기 디바이스들에 전달하는 단계를 더 포함하는,
    머신 러닝 모델을 실행하기 위한 방법.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 제어기 시스템으로서,
    제어 프로그램을 실행하는 프로세서를 포함하는 CPU 모듈;
    (a) 하나 이상의 디바이스들에 관련된 입력 데이터 값들을 수신하고 ― 상기 입력 데이터 값들은 상기 하나 이상의 디바이스들에 의해 발생된 데이터로부터 생성되고, 상기 데이터는 라이다(LIDAR) 데이터, 이미지 데이터, 비디오 데이터, 오디오 신호 데이터, 또는 진동 센서 데이터 중 적어도 하나를 포함함 ―, 그리고 (b) 상기 입력 데이터 값들에 하나 이상의 머신 러닝 모델들을 적용하여, 상기 입력 데이터 값들의 머신 러닝 분석의 결과로서 하나 이상의 출력 데이터 값들을 생성하도록 구성된 인공 지능(AI) 가속기 프로세서를 포함하는 하나 이상의 기술 모듈들; 및
    상기 CPU 모듈과 상기 기술 모듈들 사이에서 데이터를 교환하는 인터페이스 모듈을 포함하며,
    상기 기술 모듈들은 상기 인터페이스 모듈들을 통해 상기 출력 데이터 값들을 상기 프로세서에 전달하고, 상기 프로세서는 상기 제어 프로그램의 실행 동안 상기 출력 데이터 값들을 사용하는,
    제어기 시스템.
  20. 제어기 시스템으로서,
    제1 제어 프로그램을 실행하는 프로세서를 포함하는 CPU 모듈;
    인공 지능(AI) 가속기 프로세서를 포함하는 하나 이상의 기술 모듈들을 포함하고,
    상기 AI 가속기 프로세서는,
    하나 이상의 디바이스들에 관련된 입력 데이터 값들을 수신하고 ― 상기 입력 데이터 값들은 상기 하나 이상의 디바이스들에 의해 발생된 데이터로부터 생성되고, 상기 데이터는 라이다(LIDAR) 데이터, 이미지 데이터, 오디오 신호 데이터, 또는 진동 센서 데이터 중 적어도 하나를 포함함 ―,
    상기 입력 데이터 값들에 하나 이상의 머신 러닝 모델들을 적용하여, 상기 입력 데이터 값들의 머신 러닝 분석의 결과로서 하나 이상의 출력 데이터 값들을 생성하고,
    상기 출력 데이터 값들에 기반하여 상기 디바이스들에 대한 하나 이상의 제어 명령들을 생성하도록 제2 제어 프로그램을 실행하고,
    제1 데이터 레이트(data rate)로 상기 기술 모듈의 하나 이상의 입력/출력 포트들을 통해 상기 디바이스들에 상기 제어 명령들을 송신하며, 그리고
    상기 제1 데이터 레이트보다 느린 제2 데이터 레이트로 백플레인 버스 또는 인터페이스 모듈을 통해 상태 메시지들을 상기 CPU 모듈에 송신하도록
    구성되고,
    상기 기술 모듈들은 상기 백플레인 버스 또는 상기 인터페이스 모듈을 통해 상기 출력 데이터 값들을 상기 CPU 모듈에 전달하고, 상기 CPU 모듈은 상기 제1 제어 프로그램의 실행 동안 상기 출력 데이터 값들을 사용하는,
    제어기 시스템.
KR1020217008029A 2018-08-20 2018-08-20 인공 지능을 위한 프로그래밍가능 로직 제어기-기반 모듈식 가속 모듈 KR102536763B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2018/047030 WO2020040721A1 (en) 2018-08-20 2018-08-20 Programmable logic controller-based modular acceleration module for artificial intelligence

Publications (2)

Publication Number Publication Date
KR20210043672A KR20210043672A (ko) 2021-04-21
KR102536763B1 true KR102536763B1 (ko) 2023-05-26

Family

ID=63643052

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217008029A KR102536763B1 (ko) 2018-08-20 2018-08-20 인공 지능을 위한 프로그래밍가능 로직 제어기-기반 모듈식 가속 모듈

Country Status (5)

Country Link
US (1) US20210263493A1 (ko)
EP (1) EP3814854A1 (ko)
JP (1) JP7216190B2 (ko)
KR (1) KR102536763B1 (ko)
WO (1) WO2020040721A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020142110A1 (en) * 2018-12-31 2020-07-09 Intel Corporation Securing systems employing artificial intelligence
EP4141722A1 (de) * 2021-08-27 2023-03-01 Siemens Aktiengesellschaft Sicheres betreiben einer industriellen steuerungsvorrichtung zusammen mit einem ai-modul
EP4293443A1 (de) * 2022-06-15 2023-12-20 Schneider Electric Industries SAS Verfahren zum integrieren eines funktionsblocks mit künstlicher intelligenz

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005182785A (ja) * 2003-12-09 2005-07-07 Microsoft Corp グラフィックス処理ユニットを使用して機械学習技術の処理を速め、最適化するシステムおよび方法
JP2017033040A (ja) * 2015-07-28 2017-02-09 ファナック株式会社 Plcプログラムの最適化機能を備えた制御装置及び機械学習器

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60166006U (ja) * 1984-04-11 1985-11-05 光洋電子工業株式会社 プログラマブルコントロ−ラ
ATE157180T1 (de) * 1992-12-08 1997-09-15 Siemens Ag Modular aufgebautes steuerungssystem mit einer intelligenten untereinheit
DE9218421U1 (de) * 1992-12-08 1994-02-10 Siemens Ag Modular aufgebautes Steuerungssystem mit einer intelligenten Untereinheit
JP4796346B2 (ja) * 2004-07-28 2011-10-19 ルネサスエレクトロニクス株式会社 マイクロコンピュータ
US20080313228A1 (en) * 2007-06-15 2008-12-18 Rockwell Automation Technologies, Inc. Controller log and log aggregation
US7668613B2 (en) 2007-09-28 2010-02-23 Rockwell Automation Technologies, Inc. MES appliance integrated with control modules
US9946244B2 (en) * 2014-08-25 2018-04-17 Siemens Aktiengesellschaft Intelligent programmable logic controller
JP2017097718A (ja) * 2015-11-26 2017-06-01 株式会社リコー 識別処理装置、識別システム、識別処理方法、およびプログラム
CN109076192B (zh) * 2016-02-29 2022-04-05 优鲁格斯股份有限公司 行星尺度分析系统
JP6834446B2 (ja) * 2016-12-14 2021-02-24 オムロン株式会社 制御システム、制御プログラムおよび制御方法
US11063916B1 (en) * 2017-08-01 2021-07-13 Amazon Technologies, Inc. Facility control service

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005182785A (ja) * 2003-12-09 2005-07-07 Microsoft Corp グラフィックス処理ユニットを使用して機械学習技術の処理を速め、最適化するシステムおよび方法
JP2017033040A (ja) * 2015-07-28 2017-02-09 ファナック株式会社 Plcプログラムの最適化機能を備えた制御装置及び機械学習器

Also Published As

Publication number Publication date
KR20210043672A (ko) 2021-04-21
CN112585544A (zh) 2021-03-30
EP3814854A1 (en) 2021-05-05
JP2021534506A (ja) 2021-12-09
JP7216190B2 (ja) 2023-01-31
WO2020040721A1 (en) 2020-02-27
US20210263493A1 (en) 2021-08-26

Similar Documents

Publication Publication Date Title
Ardanza et al. Sustainable and flexible industrial human machine interfaces to support adaptable applications in the Industry 4.0 paradigm
KR102536763B1 (ko) 인공 지능을 위한 프로그래밍가능 로직 제어기-기반 모듈식 가속 모듈
CN111077867A (zh) 基于数字孪生的航空发动机装配质量动态仿真方法和装置
CN113319462B (zh) 一种基于边云协同的焊接机器人管控方法和装置
Yu et al. Edge intelligence-driven digital twin of CNC system: Architecture and deployment
CN114428487A (zh) 自动化控制装置、系统、方法
Elkaseer et al. Approaches to a practical implementation of industry 4.0
CN113566864A (zh) 一种基于5g和边缘计算的分布式机器视觉系统
CN113821009B (zh) 一种边缘控制器和质量检测系统
KR20220097299A (ko) 인공 지능 기반 실시간 음성인식 원격 협업 방법 및 그 시스템
US11883947B2 (en) Machine learning enabled visual servoing with dedicated hardware acceleration
CN116127821A (zh) 一种运维数据的三维可视化呈现方法及平台
CN113310897A (zh) 基于5g算法的ai视觉检测系统应用
CN111360813B (zh) 一种基于边缘云服务的多机器人控制器
Gobinath An overview of industry 4.0 technologies and benefits and challenges that incurred while adopting It
CN112585544B (zh) 用于人工智能的基于可编程逻辑控制器的模块化加速模块
Wei et al. Predictive maintenance system for production line equipment based on digital twin and augmented reality
Liu et al. Research on real-time monitoring technology of equipment based on augmented reality
Balakera et al. Iiot network system from data collection to cyber-physical system transmission under the industry 5.0 era
CN115989504A (zh) 硬件加速器上的大规模矩阵运算
EP3657277A1 (en) Extension device for an automation device
Grilo et al. Computer Vision in Industrial Automation and Mobile Robots
CN114967588B (zh) 基于嵌入式ai计算机的plc数据管理与控制系统及方法
Hu et al. The product quality inspection scheme based on software-defined edge intelligent controller in industrial internet of things
JP2008234394A (ja) プログラマブルコントローラの高速化方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant