KR20210137536A - 모터 제어 방법, 모터의 제어 모델의 변환 방법, 모터 제어 시스템, 모터의 제어 모델의 변환 시스템 및 모터의 제어 모델의 변환 프로그램 - Google Patents

모터 제어 방법, 모터의 제어 모델의 변환 방법, 모터 제어 시스템, 모터의 제어 모델의 변환 시스템 및 모터의 제어 모델의 변환 프로그램 Download PDF

Info

Publication number
KR20210137536A
KR20210137536A KR1020217032770A KR20217032770A KR20210137536A KR 20210137536 A KR20210137536 A KR 20210137536A KR 1020217032770 A KR1020217032770 A KR 1020217032770A KR 20217032770 A KR20217032770 A KR 20217032770A KR 20210137536 A KR20210137536 A KR 20210137536A
Authority
KR
South Korea
Prior art keywords
model
input
motor
nodes
node
Prior art date
Application number
KR1020217032770A
Other languages
English (en)
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 KR20210137536A publication Critical patent/KR20210137536A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/0004Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control
    • H02P23/0018Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control using neural networks
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P29/00Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D13/00Control of linear speed; Control of angular speed; Control of acceleration or deceleration, e.g. of a prime mover
    • G05D13/62Control of linear speed; Control of angular speed; Control of acceleration or deceleration, e.g. of a prime mover characterised by the use of electric means, e.g. use of a tachometric dynamo, use of a transducer converting an electric value into a displacement
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P21/00Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
    • H02P21/0003Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control
    • H02P21/0014Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control using neural networks
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P31/00Arrangements for regulating or controlling electric motors not provided for in groups H02P1/00 - H02P5/00, H02P7/00 or H02P21/00 - H02P29/00
    • 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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Control Of Electric Motors In General (AREA)

Abstract

모터 제어 방법은, 모터의 상태를 나타내는 1 이상의 제어량 또는 목표값을, 1 이상의 노드층에 입력값으로서 입력하고, 1 이상의 노드층의 각각에서 연산함으로써, 모터의 제어에 사용되는 1 이상의 조작량을 출력하고, 1 이상의 조작량에 의해 모터를 제어한다. 1 이상의 노드층은, 각각 병렬로 연산을 실행하는 복수의 노드를 갖는다. 복수의 노드의 각각은, 입력값에 대하여 노드마다 규정된 계수를 승산하고, 승산 후의 값을 입력 변수로 하는 노드마다 규정된 함수에 의해 연산함으로써, 출력값을 결정한다.

Description

모터 제어 방법, 모터의 제어 모델의 변환 방법, 모터 제어 시스템, 모터의 제어 모델의 변환 시스템 및 모터의 제어 모델의 변환 프로그램
본 개시는, 모터 제어 방법, 모터의 제어 모델의 변환 방법, 모터 제어 시스템, 모터의 제어 모델의 변환 시스템 및 모터의 제어 모델의 변환 프로그램에 관한 것이다. 보다 상세하게는, 본 개시는, 모터의 1 이상의 제어량 또는 목표값에 기초하여 모터를 제어하는 모터 제어 방법, 모터의 제어 모델의 변환 방법, 모터 제어 시스템, 모터의 제어 모델의 변환 시스템 및 모터의 제어 모델의 변환 프로그램에 관한 것이다.
특허문헌 1에는, 서보 모터의 제어계가 개시되어 있다. 이 서보 모터의 제어계는, 위치 폐루프 제어계 및 속도 폐루프 제어계 중 적어도 하나를 구비한다. 위치 폐루프 제어계는, 서보 모터로부터 검출되는 회전 위치 정보와, 컨트롤러로부터 보내지는 회전 위치 지령과의 오차가 작아지도록, 서보 모터에 구동 지령을 보낸다. 속도 폐루프 제어계는, 도입한 회전 위치 정보를 미분하여 구해지는 회전 속도 정보와, 컨트롤러로부터 보내지는 회전 속도 지령의 오차가 작아지도록 서보 모터에 구동 지령을 보낸다.
일본 특허 공개 평6-319284호 공보
본 개시는, 모터를 제어하기 위한 지령에 대한 응답 시간의 단축을 도모할 수 있는 모터 제어 방법, 모터의 제어 모델의 변환 방법, 모터 제어 시스템, 모터의 제어 모델의 변환 시스템 및 모터의 제어 모델의 변환 프로그램을 제공하는 것을 목적으로 한다.
본 개시의 일 형태에 관한 모터 제어 방법은, 모터의 상태를 나타내는 1 이상의 제어량 또는 목표값을, 1 이상의 노드층에 입력값으로서 입력하고, 1 이상의 노드층의 각각에서 연산함으로써, 모터의 제어에 사용되는 1 이상의 조작량을 출력하고, 1 이상의 조작량에 의해 모터를 제어한다. 1 이상의 노드층은, 각각 병렬로 연산을 실행하는 복수의 노드를 갖는다. 복수의 노드의 각각은, 입력값에 대하여 노드마다 규정된 계수를 승산하고, 승산 후의 값을 입력 변수로 하는 노드마다 규정된 함수에 의해 연산함으로써, 출력값을 결정한다.
본 개시의 일 형태에 관한 모터의 제어 모델의 변환 방법은, 제1 연산 모델을 제2 연산 모델로 변환하는 변환 방법이다. 제1 연산 모델은, 모터의 상태를 나타내는 1 이상의 제어량 또는 목표값을 입력으로 하여, 1 이상의 전달 함수 또는 상태 방정식을 사용한 연산에 의해, 모터의 제어에 사용되는 1 이상의 조작량을 출력한다. 제2 연산 모델은, 1 이상의 제어량 또는 목표값을 입력으로 하여, 각각 병렬로 연산을 실행하는 복수의 노드를 갖는 1 이상의 노드층의 각각에서 연산하여, 1 이상의 조작량을 출력한다. 이 변환 방법은, 제1 연산 모델을 제2 연산 모델로 변환하는 과정에 있어서, 복수의 노드의 각각에 대해서, 1 이상의 전달 함수 또는 상태 방정식에 기초하여, 노드에 대한 입력값에 대하여 승산되는 계수와, 승산 후의 값을 입력 변수로 하는 함수를 결정한다.
본 개시의 일 형태에 관한 모터 제어 시스템은, 입력부와, 연산부를 구비한다. 입력부에는, 모터의 상태를 나타내는 1 이상의 제어량 또는 목표값이 입력값으로서 입력된다. 연산부는, 각각 병렬로 연산을 실행하는 복수의 노드를 갖는 1 이상의 노드층을 포함하고, 입력값에 기초하여 연산함으로써, 모터의 제어에 사용되는 1 이상의 조작량을 출력한다. 복수의 노드의 각각은, 입력값에 대하여 노드마다 규정된 계수를 승산하고, 승산 후의 값을 입력 변수로 하는 노드마다 규정된 함수에 의해 연산한다.
본 개시의 일 형태에 관한 모터의 제어 모델의 변환 시스템은, 모델 입력부와, 변환부를 구비한다. 모델 입력부에는, 제1 연산 모델이 입력된다. 변환부는, 제1 연산 모델을 제2 연산 모델로 변환하여 출력한다. 제1 연산 모델은, 모터의 상태를 나타내는 1 이상의 제어량 또는 목표값을 입력으로 하여, 1 이상의 전달 함수 또는 상태 방정식을 사용한 연산에 의해, 모터의 제어에 사용되는 1 이상의 조작량을 출력한다. 제2 연산 모델은, 1 이상의 제어량 또는 목표값을 입력으로 하여, 각각 병렬로 연산을 실행하는 복수의 노드를 갖는 1 이상의 노드층의 각각에서 연산하여, 1 이상의 조작량을 출력한다. 변환부는, 제1 연산 모델을 제2 연산 모델로 변환하는 과정에 있어서, 복수의 노드의 각각에 대해서, 1 이상의 전달 함수 또는 상태 방정식에 기초하여, 노드에 대한 입력값에 대하여 승산되는 계수와, 승산 후의 값을 입력 변수로 하는 함수를 결정한다.
본 개시의 일 형태에 관한 모터의 제어 모델의 변환 프로그램은, 1 이상의 프로세서에, 제1 연산 모델을 제2 연산 모델로 변환하는 변환 처리를 실행시키기 위한 변환 프로그램이다. 제1 연산 모델은, 모터의 상태를 나타내는 1 이상의 제어량 또는 목표값을 입력으로 하여, 1 이상의 전달 함수 또는 상태 방정식을 사용한 연산에 의해, 모터의 제어에 사용되는 1 이상의 조작량을 출력한다. 제2 연산 모델은, 1 이상의 제어량 또는 목표값을 입력으로 하여, 각각 병렬로 연산을 실행하는 복수의 노드를 갖는 1 이상의 노드층의 각각에서 연산하여, 1 이상의 조작량을 출력한다. 변환 처리는, 제1 연산 모델을 제2 연산 모델로 변환하는 과정에 있어서, 복수의 노드의 각각에 대해서, 1 이상의 전달 함수 또는 상태 방정식에 기초하여, 노드에 대한 입력값에 대하여 승산되는 계수와, 승산 후의 값을 입력 변수로 하는 함수를 결정하는 처리를 포함한다.
본 개시는, 모터를 제어하기 위한 지령에 대한 응답 시간의 단축을 도모할 수 있다고 하는 이점이 있다.
도 1은 본 개시의 실시 형태에 따른 모터 제어 시스템의 개요를 도시하는 블록도이다.
도 2는 본 개시의 실시 형태에 따른 모터의 제어 모델의 변환 시스템의 개요를 도시하는 블록도이다.
도 3은 본 개시의 실시 형태에 따른 모터의 제어 모델의 변환 시스템에 있어서 변환 대상으로 되는 제1 연산 모델의 일례를 나타내는 블록선도이다.
도 4는 본 개시의 실시 형태에 따른 모터의 제어 모델의 변환 시스템에 있어서 제1 연산 모델을 변환한 제2 연산 모델의 일례를 나타내는 개요도이다.
도 5는 본 개시의 실시 형태에 따른 모터 제어 시스템의 동작을 나타내는 흐름도이다.
도 6은 본 개시의 실시 형태에 따른 모터의 제어 모델의 변환 시스템의 동작을 나타내는 흐름도이다.
도 7은 본 개시의 실시 형태에 따른 모터의 제어 모델의 변환 시스템의 제1 연산 모델을 변환한 제1 변환 모델의 일례를 나타내는 블록선도이다.
도 8은 본 개시의 실시 형태에 따른 모터의 제어 모델의 변환 시스템의 제1 변환 모델을 변환한 제2 변환 모델의 일례를 나타내는 블록선도이다.
도 9는 1 이상의 전달 함수로 표시되는 제1 연산 모델의 일례를 나타내는 블록선도이다.
도 10은 본 개시의 실시 형태에 따른 모터의 제어 모델의 변환 시스템의 제1 연산 모델을 변환한 제2 연산 모델의 일례를 나타내는 개요도이다.
도 11은 1 이상의 상태 방정식으로 표시되는 제1 연산 모델의 일례를 나타내는 블록선도이다.
도 12는 본 개시의 실시 형태에 따른 모터의 제어 모델의 변환 시스템에 있어서 제1 연산 모델을 변환한 제2 연산 모델의 일례를 나타내는 개요도이다.
도 13은 본 개시의 실시 형태에 따른 모터의 제어 모델의 변환 시스템에 있어서, 비선형 함수를 포함하는 제1 연산 모델을 제2 연산 모델로 변환하는 경우의 일례를 나타내는 개요도이다.
(실시 형태)
(1) 개요
도 1은, 본 개시의 실시 형태에 따른 모터 제어 시스템의 개요를 도시하는 블록도이다. 본 실시 형태의 모터 제어 방법은, 도 1에 도시한 바와 같이, 예를 들어 마이크로컨트롤러 등을 갖는 1 이상의 프로세서에 의해, 모터(3)를 서보 제어하는 방법이다. 보다 구체적으로는, 본 실시 형태의 모터 제어 방법은, 학습 완료된 뉴럴 네트워크가 아니라, 뉴럴 네트워크를 모의한 의사적인 뉴럴 네트워크를 사용하여, 1 이상의 프로세서에 의해 모터(3)를 서보 제어하는 방법이다. 본 실시 형태의 모터 제어 방법에서는, 모터(3)의 상태를 나타내는 1 이상의 제어량 V1 또는 목표값 V2를, 1 이상의 노드층 L1에 입력한다. 모터 제어 방법에서는, 1 이상의 노드층 L1의 각각에서 연산함으로써, 모터(3)의 제어에 사용되는 1 이상의 조작량 V3을 출력한다. 상기의 1 이상의 노드층 L1에서의 연산은, 1 이상의 프로세서로 프로그램을 실행함으로써 실현될 수 있다.
본 개시에서 말하는 「제어량」은, 모터(3)의 제어 대상에 속하는 양 중에서, 그것을 제어하는 것이 목적으로 되어 있는 양이다. 제어량 V1은, 예를 들어 모터(3)의 회전 위치(회전 각도), 또는 모터(3)의 회전 속도 등을 포함할 수 있다. 본 개시에서 말하는 「목표값」은, 제어량이 그 값을 취하도록 목표로서 부여되는 양이다. 「목표값」은, 바꿔 말하면, 모터(3)의 제어량 V1이 추종해야 할 값이며, 예를 들어 외부로부터 부여되는 지령값이다. 목표값 V2는, 예를 들어 모터(3)의 회전 위치(회전 속도)의 지령값, 또는 모터(3)의 회전 속도 지령값 등을 포함할 수 있다. 본 개시에서 말하는 「조작량」은, 제어계에 있어서, 모터(3)의 제어량 V1을 제어하기 위해 제어 대상에 추가하는 양이다. 조작량 V3은, 예를 들어 모터(3)의 토크, 모터(3)가 갖는 코일에 흐르는 전류, 또는 전류를 제어하는 인가 전압 등을 포함할 수 있다.
1 이상의 노드층 L1은, 각각 병렬로 연산을 실행하는 복수의 노드 N1을 갖고 있다. 복수의 노드 N1의 각각은, 입력값에 대하여, 계수 w0 및 함수 f1을 사용한 연산을 실행함으로써, 출력값을 결정한다. 계수 w0은, 노드 N1마다 규정되어 있고, 입력값에 대하여 승산된다. 함수 f1은, 노드 N1마다 규정되어 있고, 입력값에 계수 w0을 승산한 승산 후의 값을 입력 변수로 한다. 예를 들어, 임의의 노드 N1에 대해서, 입력값을 「x」, 계수 w0을 「a」로 나타내면, 입력 변수는 「ax」로 나타내어진다. 그리고, 출력값을 「y」로 나타내면, 출력값은, 「y=f(ax)」로 나타내어진다.
여기서, 임의의 노드층 L1에 있어서, 이 노드층 L1에 포함되는 복수의 노드 N1은, 병렬로 연산을 실행한다. 바꿔 말하면, 복수의 노드층 L1이 존재하는 경우, 복수의 노드층 L1 전체에 포함되는 모든 노드 N1이 병렬로 연산을 실행하는 것이 아니며, 복수의 노드층 L1의 각각에 있어서, 노드층 L1에 포함되는 복수의 노드 N1이 병렬로 연산을 실행한다. 일례로서, 제1 노드층과 제2 노드층이 존재하는 경우, 제1 노드층에 포함되는 복수의 노드 N1이 병렬로 연산을 실행한다. 그리고, 제2 노드층에 포함되는 복수의 노드 N1은, 예를 들어 제1 노드층에서의 연산 결과를 받아, 병렬로 연산을 실행한다.
상술한 바와 같이, 본 실시 형태에서는, 1 이상의 제어량 V1 또는 목표값 V2에 대하여, 1 이상의 노드층 L1의 각각에서 복수의 노드 N1이 병렬로 연산을 실행함으로써, 1 이상의 조작량 V3을 출력한다. 이 때문에, 본 실시 형태에서는, 1 이상의 제어량 V1 또는 목표값 V2에 대하여 축차적으로 연산하는 경우와 비교하여, 1 이상의 제어량 V1 또는 목표값 V2를 입력하고 나서 1 이상의 조작량 V3을 출력할 때까지의 시간의 단축을 도모할 수 있다. 즉, 모터(3)를 제어하기 위한 지령에 대한 응답 시간의 단축을 도모할 수 있다고 하는 이점이 있다.
(2) 상세
이하, 본 실시 형태의 모터 제어 시스템(1)에 대해서 상세하게 설명한다. 또한, 이하, 본 실시 형태의 모터(3)의 제어 모델의 변환 시스템(2)에 대해서 상세하게 설명한다. 이하의 설명에서는, 특별히 언급이 없는 한, 모터(3)의 제어 모델의 변환 시스템(2)을 단순히 「변환 시스템(2)」이라고 말한다.
(2.1) 모터 제어 시스템
모터 제어 시스템(1)은 도 1에 도시한 바와 같이, 입력부(11)와, 연산부(12)를 구비하고 있다. 연산부(12)는, 일례로서, 멀티 코어 CPU(Central Processing Unit), GPU(Graphics Processing Unit) 또는 FPGA(Field-Programmable Gate Array) 등의 병렬 처리에 적합한 1 이상의 프로세서에 의해 실현될 수 있다. 입력부(11)는 상기의 1 이상의 프로세서의 입력 인터페이스에 의해 실현될 수 있다.
입력부(11)에는, 모터(3)의 상태를 나타내는 1 이상의 제어량 V1 또는 목표값 V2가 입력값으로서 입력된다. 본 실시 형태에서는, 제어량 V1로서, 모터(3)의 회전 위치 θ2(이하, 단순히 「회전 위치 θ2」라고 말함)가 입력부(11)에 입력된다. 즉, 본 실시 형태에서는, 제어량 V1은, 적어도 모터(3)의 위치 정보(회전 위치 θ2)를 포함한다. 회전 위치 θ2는, 일례로서, 모터(3)에 비치된 리졸버 또는 로터리 인코더에 의해 검출된다. 또한, 본 실시 형태에서는, 목표값 V2로서, 모터(3)의 회전 위치 θ2의 목표값 θ1(이하, 단순히 「위치 목표값 θ1」이라고 말함)이 입력된다. 위치 목표값 θ1은, 일례로서, 모터(3)의 제어용 컨트롤러로부터 입력부(11)로 부여된다.
연산부(12)는 1 이상(도 1에서는 복수)의 노드층 L1을 포함하고 있다. 1 이상의 노드층 L1은, 각각 병렬로 연산을 실행하는 복수의 노드 N1을 갖고 있다. 연산부(12)는 입력부(11)에 입력된 입력값에 기초하여, 1 이상의 노드층 L1의 각각에서 연산함으로써, 모터(3)의 제어에 사용되는 1 이상의 조작량 V3을 출력한다. 본 실시 형태에서는, 조작량 V3은, 모터(3)의 토크 목표값(지령값) τ이다. 모터(3)의 토크 목표값 τ는, 바꿔 말하면, 모터(3)가 갖는 여자 코일에 흐르는 전류의 목표값이다. 이하의 설명에서는, 특별히 언급이 없는 한, 모터(3)의 토크 목표값 τ를 「토크 목표값 τ」라고 한다.
각 노드층 L1에 있어서, 복수의 노드 N1의 각각은, 입력값에 대하여 노드 N1마다 규정된 계수 w0을 승산하고, 승산 후의 값을 입력 변수로 하는 노드 N1마다 규정된 함수 f1에 의해 연산함으로써, 출력값을 결정한다.
이하에서는, 연산부(12)에서 사용되는, 1 이상의 노드층 L1을 포함하는 연산 모델을 「제2 연산 모델 M2」라고 한다. 보다 상세하게는, 제2 연산 모델 M2는, 1 이상의 제어량 V1 또는 목표값 V2를 입력으로 하여, 각각 병렬로 연산을 실행하는 복수의 노드 N1을 갖는 1 이상의 노드층 L1의 각각에서 연산하여, 1 이상의 조작량 V3을 출력한다. 즉, 연산부(12)는 제2 연산 모델 M2를 사용하여, 입력부(11)에 입력된 제어량 V1 및 목표값 V2로부터 조작량 V3을 구하여, 모터(3)(상세하게는, 모터(3)의 드라이버)로 출력한다. 그리고, 모터(3)의 드라이버가, 조작량 V3에 따라서 모터(3)를 제어한다. 이렇게 하여, 제어량 V1이 목표값 V2에 추종하도록 모터(3)가 제어된다. 본 실시 형태라면, 회전 위치 θ2가, 위치 목표값 θ1에 추종하도록 모터(3)가 제어된다.
(2.2) 변환 시스템
본 실시 형태의 모터 제어 시스템(1)의 연산부(12)에서 사용되는 제2 연산 모델 M2는, 변환 시스템(2)에서 제1 연산 모델 M1을 변환함으로써 얻어진다. 제1 연산 모델 M1은, 기존의 모터(3)의 제어 알고리즘이며, 예를 들어 1 이상의 전달 함수 TF1을 사용한 제어 블록으로 표시된다. 즉, 제1 연산 모델 M1은, 모터(3)의 상태를 나타내는 1 이상의 제어량 V1 또는 목표값 V2를 입력으로 하여, 1 이상의 전달 함수 TF1 또는 상태 방정식을 사용한 연산을 행하고, 모터(3)의 제어에 사용되는 1 이상의 조작량 V3을 출력한다. 본 실시 형태에서는, 변환 시스템(2)은 기존의 모터(3)의 연속계의 제어 알고리즘인 제1 연산 모델 M1을, 병렬 연산 처리를 실행하는 제2 연산 모델 M2로 변환 가능하다.
변환 시스템(2)은 도 2에 도시한 바와 같이, 모델 입력부(21)와, 변환부(22)를 구비하고 있다. 변환부(22)는, 1 이상의 프로세서에 의해 실현될 수 있다. 또한, 모델 입력부(21)은 상기의 1 이상의 프로세서의 입력 인터페이스에 의해 실현될 수 있다.
모델 입력부(21)에는, 제1 연산 모델 M1이 입력된다. 일례로서, 모델 입력부(21)에는, 변환부(22)에 있어서의 1 이상의 프로세서에 의해 실행되는 수식 처리 소프트웨어로 취급 가능한 소스 코드로서, 제1 연산 모델 M1이 입력된다.
변환부(22)는 모델 입력부(21)에 입력되는 제1 연산 모델 M1을 제2 연산 모델 M2로 변환하여 출력한다. 본 실시 형태에서는, 변환부(22)는 「(3.2) 변환 시스템의 동작」에서 상세하게 설명한 바와 같이, 제1 연산 모델 M1을 제1 변환 모델 M11(도 7 참조), 제2 변환 모델 M12(도 8 참조)의 차례로 변환한 후에, 제2 변환 모델 M12를 제2 연산 모델 M2로 변환한다.
변환부(22)는, 제1 연산 모델 M1을 제2 연산 모델 M2로 변환하는 과정에 있어서, 복수의 노드 N1의 각각에 대해서, 1 이상의 전달 함수 TF1 또는 상태 방정식에 기초하여, 노드 N1에 대한 입력값에 대하여 승산되는 계수 w0과, 승산 후의 값을 입력 변수로 하는 함수 f1을 결정한다.
바꿔 말하면, 모터(3)의 제어 모델의 변환 방법은, 제1 연산 모델 M1을 제2 연산 모델 M2로 변환하는 과정에 있어서, 복수의 노드 N1의 각각에 대해서, 1 이상의 전달 함수 TF1 또는 상태 방정식에 기초하여, 노드 N1에 대한 입력값에 대하여 승산되는 계수 w0과, 승산 후의 값을 입력 변수로 하는 함수 f1을 결정한다. 이하의 설명에서는, 특별히 언급이 없는 한, 모터(3)의 제어 모델의 변환 방법을 단순히 「변환 방법」이라고 한다.
(2.3) 제1 연산 모델
이하, 제1 연산 모델 M1의 구체예에 대해서 도 3을 사용하여 설명한다. 도 3은, 본 개시의 실시 형태에 따른 모터의 제어 모델의 변환 시스템(2)에 있어서 변환 대상으로 되는 제1 연산 모델 M1의 일례를 나타내는 블록선도이다. 도 3에 도시하는 제1 연산 모델 M1은, 모터(3)의 회전 위치 θ2의 P 제어와, 모터(3)의 회전 속도 PI 제어를 포함하는 캐스케이드 구성의 연속계의 제어 블록이다. 제1 연산 모델 M1에는, 목표값 V2로서의 위치 목표값 θ1과, 제어량 V1로서의 회전 위치 θ2가 입력된다. 제1 연산 모델 M1은, 조작량 V3으로서의 토크 목표값 τ와, 위치 목표값 θ1과 회전 위치 θ2의 차인 편차 e를 출력한다. 편차 e는, 제1 연산 모델 M1에 의한 모터(3)의 회전 위치의 추종성을 평가하기 위해 사용된다.
구체적으로는, 제1 연산 모델 M1은, 제1 처리 P1 내지 제9 처리 P9를 포함하고 있다. 제1 처리 P1은, 위치 목표값 θ1로부터 회전 위치 θ2를 감함으로써 제1 연산값 CV1(즉, 편차 e)을 구하는 처리이다. 제2 처리 P2는, 위치 목표값 θ1을 미분한 결과로 속도 피드 포워드 게인 Kvff를 곱함으로써 제2 연산값 CV2를 구하는 처리이다. 도 3에 있어서, 「s」는 라플라스 변환에 있어서의 미분 요소를 나타내고 있다. 제3 처리 P3은, 제1 연산값 CV1(편차 e)에 위치 루프 게인 Kp를 곱함으로써 제3 연산값 CV3을 구하는 처리이다. 제4 처리 P4는, 회전 위치 θ2를 미분함으로써, 모터(3)의 회전 속도에 상당하는 제4 연산값 CV4를 구하는 처리이다.
제5 처리 P5는, 모터(3)의 회전 속도 목표값에 상당하는 제2 연산값 CV2 및 제3 연산값 CV3의 합으로부터, 모터(3)의 회전 속도에 상당하는 제4 연산값 CV4를 감함으로써 제5 연산값 CV5를 구하는 처리이다. 제6 처리 P6은, 제5 연산값 CV5에 속도 루프 게인 Kv를 곱함으로써 제6 연산값 CV6을 구하는 처리이다. 제7 처리 P7은, 제6 연산값 CV6을 속도 루프 적분 시상수 Ti로 제산한 값을 적분함으로써 제7 연산값 CV7을 구하는 처리이다. 도 3에 있어서, 「1/s」는 라플라스 변환에 있어서의 적분 요소를 나타내고 있다. 제8 처리 P8은, 제6 연산값 CV6에 제7 연산값 CV7을 가함으로써 제8 연산값 CV8을 구하는 처리이다. 제9 처리 P9는, 제8 연산값 CV8을, 토크 필터 시상수 Tf를 갖는 1차 지연 필터를 통하여 평활화함으로써, 토크 목표값 τ에 상당하는 제9 연산값 CV9를 구하는 처리이다. 도 3에 있어서, 「1/ (1+Tf·s)」는 라플라스 변환에 있어서의 1차 지연 요소를 나타내고 있다.
제1 연산 모델 M1에서는, 제3 처리 P3을 실행하는 데 있어서는, 제1 처리 P1을 실행함으로써, 제1 연산값 CV1(편차 e)을 사전에 구한다. 제5 처리 P5를 실행 하는 데 있어서는, 제2 처리 P2 내지 제4 처리 P4를 실행함으로써, 제2 연산값 CV2 내지 제4 연산값 CV4를 사전에 구한다. 또한, 제2 처리 P2, 제3 처리 P3 및 제4 처리 P4를 실행하는 순번은, 이 차례로 제한하지 않는다. 제8 처리 P8을 실행하는 데 있어서는, 제6 처리 P6 및 제7 처리 P7을 실행함으로써, 제6 연산값 CV6 및 제7 연산값 CV7을 사전에 구한다. 또한, 제6 처리 P6 및 제7 처리 P7을 실행하는 순번은, 반대이어도 된다. 제9 처리 P9를 실행하는 데 있어서는, 제8 처리 P8을 실행함으로써, 제8 연산값 CV8을 사전에 구한다. 이와 같이, 제1 연산 모델 M1에서는, 제1 처리 P1 내지 제9 처리 P9를 축차 처리에 의해 실행한다.
(2.4) 제2 연산 모델
이하, 제2 연산 모델 M2의 구체예에 대해서 도 4를 사용하여 설명한다. 도 4는, 본 개시의 실시 형태에 따른 모터의 제어 모델의 변환 시스템(2)에 있어서 제1 연산 모델 M1을 변환한 제2 연산 모델 M2의 일례를 나타내는 개요도이다. 도 4에 도시하는 제2 연산 모델 M2는, 복수(여기서는, 4개)의 노드층 L1을 갖고 있다. 복수의 노드층 L1은, 2개의 입력 노드 Ni1, Ni2를 갖는 입력층 L11과, 2개의 출력 노드 No1, No2를 갖는 출력층 L12를 포함한다. 복수의 노드층 L1은, 6개의 은닉 노드 Nh1 내지 Nh6을 갖는 은닉층 L13과, 4개의 컨텍스트 노드 Nc1 내지 Nc4를 갖는 컨텍스트층 L14를 포함한다.
입력 노드 Ni1, Ni2에는, 각각 제어량 V1로서의 회전 위치 θ2와, 목표값으로서의 위치 목표값 θ1이 입력된다. 입력 노드 Ni1, Ni2는, 각각 입력값(위치 목표값 θ1 및 회전 위치 θ2)을 그대로 출력한다. 출력 노드 No1, No2는, 각각 노드의 계산 결과를 조작량(토크 목표값 τ 및 편차 e)으로서 출력한다.
은닉 노드 Nh1 내지 Nh4는, 각각 입력 노드 Ni1, Ni2 및 컨텍스트 노드 Nc1 내지 Nc4에 대응하는 노드이다. 은닉 노드 Nh1 내지 Nh4는, 「(3.2) 변환 시스템의 동작」에서 후술하는 바와 같이, 각각 입력값에 「z-1」을 곱하여 출력한다. 은닉 노드 Nh5, Nh6은, 각각 입력 노드 Ni1, Ni2에 대응하는 노드이다. 은닉 노드 Nh5, Nh6은, 모두 입력 노드 Ni1의 출력값인 위치 목표값 θ1에 계수를 곱한 값과, 입력 노드 Ni2의 출력값인 회전 위치 θ2에 계수를 곱한 값을 가산하고, 가산한 값을 그대로 출력한다.
컨텍스트 노드 Nc1 내지 Nc4는, 각각 은닉 노드 Nh1 내지 Nh4의 출력값을, 다음에 은닉 노드 Nh1 내지 Nh4가 출력할 때까지 유지하고, 유지한 값을 출력한다. 즉, 컨텍스트 노드 Nc1 내지 Nc4는, 각각 과거(여기서는, 1 샘플링 시간 전)의 은닉 노드 Nh1 내지 Nh4의 출력값을 출력한다. 즉, 본 실시 형태에서는, 1 이상의 노드층 L1 중 적어도 하나의 노드층 L1(컨텍스트층 L14)이 갖는 노드 N1(컨텍스트 노드 Nc1 내지 Nc4)은 다른 노드(은닉 노드 Nh1 내지 Nh4)의 과거의 출력값을 입력값으로 한다.
입력 노드 Ni1, Ni2, 은닉 노드 Nh1 내지 Nh6, 출력 노드 No1, No2 및 컨텍스트 노드 Nc1 내지 Nc4 각각의 노드간의 계수 w1 내지 w23에 대해서는, 후술하는 「(3.2) 변환 시스템의 동작」에서 상세하게 설명한다. 또한, 이하의 설명에서는, 계수 w1 내지 w23을 구별하지 않는 경우, 단순히 「계수 w0」이라고 말한다.
(3) 동작
(3.1) 모터 제어 시스템의 동작
이하, 모터 제어 시스템(1)의 동작, 바꿔 말하면 모터 제어 방법에 대해서, 주로 도 5 및 도 7을 사용하여 설명한다. 도 5는, 본 개시의 실시 형태에 따른 모터 제어 시스템의 동작을 나타내는 흐름도이다. 도 7은, 본 개시의 실시 형태에 따른 모터의 제어 모델의 변환 시스템(2)의 제1 연산 모델 M1을 변환한 제1 변환 모델의 일례를 나타내는 블록선도이다. 먼저, 입력부(11)에 제어량 V1(여기서는, 회전 위치 θ2) 및 목표값 V2(여기서는, 위치 목표값 θ1)가 입력됨으로써, 제2 연산 모델 M2의 입력 노드 Ni1, Ni2에 각각 제어량 V1 및 목표값 V2가 입력된다(스텝 S11). 은닉 노드 Nh1 내지 Nh6에는, 각각 입력 노드 Ni1, Ni2의 출력값에 계수 w0을 승산한 값이 입력된다(스텝 S12). 또한, 은닉 노드 Nh1 내지 Nh4에는, 각각 컨텍스트 노드 Nc1 내지 Nc4의 출력값에 계수 w0을 승산한 값이 입력된다(스텝 S12).
컨텍스트 노드 Nc1 내지 Nc4에는, 각각 은닉 노드 Nh1 내지 Nh4의 출력값이 입력된다(스텝 S13). 이에 의해, 컨텍스트 노드 Nc1 내지 Nc4는, 각각 과거의 은닉 노드 Nh1 내지 Nh4의 출력값을 유지하게 된다. 또한, 출력 노드 No1, No2에는, 각각 은닉 노드 Nh1 내지 Nh6의 출력값에 계수 w0을 승산한 값이 입력된다(스텝 S14).
다음에, 출력 노드 No1, No2가, 각각 입력값을 그대로 출력함으로써, 제2 연산 모델 M2는, 조작량 V3(여기서는, 토크 목표값 τ) 및 편차 e를 출력한다(스텝 S15). 모터(3)의 드라이버가, 조작량 V3에 따라서 모터(3)를 제어함으로써, 제어량 V1이 목표값 V2에 추종하도록 모터(3)가 제어된다.
상술한 바와 같이, 본 실시 형태의 모터 제어 시스템(1) 및 모터 제어 방법에서는, 1 이상의 제어량 V1 또는 목표값 V2에 대하여, 1 이상의 노드층 L1의 각각에서 복수의 노드 N1이 병렬로 연산을 실행함으로써, 1 이상의 조작량 V3을 출력한다. 이 때문에, 본 실시 형태에서는, 1 이상의 제어량 V1 또는 목표값 V2에 대하여 축차적으로 연산하는 경우와 비교하여, 1 이상의 제어량 V1 또는 목표값 V2를 입력하고 나서 1 이상의 조작량 V3을 출력할 때까지의 시간의 단축을 도모할 수 있다. 즉, 모터(3)를 제어하기 위한 지령에 대한 응답 시간의 단축을 도모할 수 있다라고 하는 이점이 있다.
(3.2) 변환 시스템의 동작
이하, 변환 시스템(2)의 동작, 바꿔 말하면 변환 방법에 대해서, 주로 도 3, 4, 6 내지 8을 사용하여 설명한다. 도 6은, 본 개시의 실시 형태에 따른 모터의 제어 모델의 변환 시스템(2)의 동작을 나타내는 흐름도이다. 도 8은, 본 개시의 실시 형태에 따른 모터의 제어 모델의 변환 시스템(2)의 제1 변환 모델을 변환한 제2 변환 모델의 일례를 나타내는 블록선도이다. 먼저, 모델 입력부(21)에 제1 연산 모델 M1이 입력되면(스텝 S21), 변환부(22)는 제1 연산 모델 M1을 제1 변환 모델 M11로 변환하는 처리를 실행한다(스텝 S22). 즉, 변환부(22)는 연속계의 제어 알고리즘인 제1 연산 모델 M1을, 이산계의 제어 알고리즘인 제1 변환 모델 M11로 변환한다. 구체적으로는, 변환부(22)는 제1 연산 모델 M1의 제1 처리 P1 내지 제9 처리 P9 중, 미분 요소, 적분 요소 및 1차 지연 요소 등, 라플라스 변환으로 표시되는 전달 함수 TF1을, z 변환으로 표시되는 전달 함수 TF1로 변환한다. 이에 의해, 변환부(22)는 제1 연산 모델 M1을 제1 변환 모델 M11로 변환한다.
본 실시 형태에서는, 제1 연산 모델 M1의 제2 처리 P2 및 제4 처리 P4에 있어서의 미분 요소는, 1차 근사를 사용한 z 변환에 의해, 하기의 식 (1)로 표시된다. 제1 연산 모델 M1의 제7 처리 P7에 있어서의 적분 요소는, 1차 근사를 사용한 z 변환에 의해, 하기의 식 (2)로 표시된다. 제1 연산 모델 M1의 제9 처리 P9에 있어서의 1차 지연 요소는, 쌍 1차 변환에 의해, 하기의 식 (3)으로 표시된다. 식 (1) 내지 (3)에 있어서, 「Ts」는, 샘플링 주기를 나타내고 있고, 「z-1」은, 1 샘플링 시간의 지연을 나타내는 지연 소자를 나타내고 있다.
[수학식 1]
Figure pct00001
상기의 변환에 의해, 제1 연산 모델 M1은, 도 7에 도시하는 제1 변환 모델 M11로 변환된다. 구체적으로는, 제1 변환 모델 M11에 있어서의 제2 처리 P2, 제4 처리 P4, 제7 처리 P7 및 제9 처리 P9는, 각각 하기의 식 (4) 내지 (7)로 표시된다. 이하에 나타내는 식에 있어서, 「θ1」 및 「θ2」은, 각각 위치 목표값 θ1 및 회전 위치 θ2를 나타내고 있다. 또한, 이하에 나타내는 식에 있어서, 「v2」, 「v4」, 「v6」내지「v9」는, 각각 제2 연산값 CV2, 제4 연산값 CV4, 제6 연산값 CV6 내지 제9 연산값 CV9를 나타내고 있다. 또한, 이하에 나타내는 식에 있어서, 「a1」, 「b0」 및 「b1」은, 각각 샘플링 주기 Ts 및 토크 필터 시상수 Tf로 표시되는 상수를 간략화한 상수이다.
[수학식 2]
Figure pct00002
다음에, 변환부(22)는 제1 변환 모델 M11을 도 8에 도시하는 제2 변환 모델 M12로 변환하는 처리를 실행한다(스텝 S23). 구체적으로는, 변환부(22)는 제2 처리 P2, 제4 처리 P4, 제7 처리 P7 및 제9 처리 P9의 각각에 있어서, 지연 소자 「z-1」을 은닉층 L13의 은닉 노드 Nh1 내지 Nh4로 치환하는 처리를 실행한다.
변환부(22)는 제2 변환 모델 M12를 도 4에 도시하는 제2 연산 모델 M2로 변환하는 처리를 실행한다(스텝 S24). 구체적으로는, 변환 시스템(2)은 제1 연산 모델 M1에 대한 2개의 입력값인 위치 목표값 θ1 및 회전 위치 θ2를, 각각 입력층의 2개의 입력 노드 Ni1, Ni2로 변환한다. 또한, 변환 시스템(2)은 제1 연산 모델 M1로부터의 2개의 출력값인 토크 목표값 τ 및 편차 e를, 각각 출력층의 2개의 출력 노드 No1, No2로 변환한다.
변환부(22)는 제2 변환 모델 M12에 기초하여, 입력 노드 Ni1, Ni2, 은닉 노드 Nh1 내지 Nh6, 출력 노드 No1, No2 및 컨텍스트 노드 Nc1 내지 Nc4 각각의 노드 N1 사이의 계수 w0을 구한다. 계수 w0은, 제2 변환 모델 M12에 있어서, 2개의 노드 N1 사이를 도면 중에 나타내는 화살표의 방향을 따르면서 유향변의 가중치를 승산 및 가산함으로써, 산출하는 것이 가능하다.
제2 연산 모델 M2에 있어서의 각 노드 N1 사이의 계수 w0을, 식 (8) 내지 (30)에 열거한다. 이하에 나타내는 식에 있어서, 「h1」 내지 「h6」은, 각각 은닉 노드 Nh1 내지 Nh6의 출력값을 나타내고 있다. 이하에 나타내는 식에 있어서, 「c1」 내지 「c4」는, 각각 컨텍스트 노드 Nc1 내지 Nc4의 출력값을 나타내고 있다. 이하에 나타내는 식에 있어서, 「τ」 및 「e」는, 각각 토크 목표값 τ 및 편차 e를 나타내고 있다.
계수 w1 내지 w5는, 각각 입력 노드 Ni1과 은닉 노드 Nh1, Nh3, Nh4, Nh5, Nh6 사이의 계수이다. 계수 w1 내지 w5는, 식 (8) 내지 (12)로 표시된다.
[수학식 3]
Figure pct00003
계수 w6 내지 w10은, 각각 입력 노드 Ni2와 은닉 노드 Nh2, Nh3, Nh4, Nh5, Nh6 사이의 계수이다. 계수 w6 내지 w10은, 식 (13) 내지 (17)로 표시된다.
[수학식 4]
Figure pct00004
계수 w11, w12는, 각각 컨텍스트 노드 Nc1과 은닉 노드 Nh3, Nh4 사이의 계수이다. 계수 w11, w12는, 식 (18), (19)로 표시된다.
[수학식 5]
Figure pct00005
계수 w13, w14는, 각각 컨텍스트 노드 Nc2와 은닉 노드 Nh3, Nh4 사이의 계수이다. 계수 w13, w14는, 식 (20), (21)로 표시된다.
[수학식 6]
Figure pct00006
계수 w15, w16은, 각각 컨텍스트 노드 Nc3과 은닉 노드 Nh3, Nh4 사이의 계수이다. 계수 w15, w16은, 식 (22), (23)으로 표시된다.
[수학식 7]
Figure pct00007
계수 w17은, 컨텍스트 노드 Nc4와 은닉 노드 Nh4 사이의 계수이다. 계수 w17은, 식 (24)로 표시된다.
[수학식 8]
Figure pct00008
계수 w18 내지 w22는, 각각 은닉 노드 Nh1 내지 Nh4와 출력 노드 No1 사이의 계수이다. 계수 w18 내지 w22는, 식 (25) 내지 (29)로 표시된다.
[수학식 9]
Figure pct00009
그리고, 계수 w23은, 은닉 노드 Nh6과 출력 노드 No2 사이의 계수이다. 계수 w23은, 식 (30)으로 표시된다.
[수학식 10]
Figure pct00010
이와 같이, 변환부(22)는 제1 연산 모델 M1을 제2 연산 모델 M2로 변환하는 과정에 있어서, 이하의 처리를 실행한다. 즉, 변환부(22)는 제1 연산 모델 M1에서의 1 이상의 전달 함수 TF1 또는 상태 방정식의 과거의 상태 개수와, 입력과 출력의 접속 관계에 기초하여, 복수의 노드 N1의 개수 및 복수의 노드 N1의 각각의 계수 w0을 결정한다. 본 개시에서 말하는 전달 함수 TF1의 과거의 상태 개수는, 지연 소자 「z-1」의 개수에 상당한다. 본 개시에서 말하는 상태 방정식의 과거의 상태 개수는, 상태 변수의 요소의 수에 상당한다. 바꿔 말하면, 모터(3)의 제어 모델의 변환 방법은, 제1 연산 모델 M1을 제2 연산 모델 M2로 변환하는 과정에 있어서, 이하의 방법을 포함한다. 즉, 이 방법은, 제1 연산 모델 M1에서의 1 이상의 전달 함수 TF1 또는 상태 방정식의 과거의 상태 개수와, 입력과 출력의 접속 관계에 기초하여, 복수의 노드 N1의 개수 및 복수의 노드 N1의 각각의 계수 w0을 결정한다.
변환부(22)는 상기와 같이 하여 제1 연산 모델 M1을 변환함으로써 얻어지는 제2 연산 모델 M2를 출력한다(스텝 S25).
여기까지의 변환 시스템(2)의 동작 설명에서는, 제1 연산 모델 M1로서 모터 제어 시스템에서 일반적으로 사용되고 있는 기지의 위치 제어계를 사용했지만, 보다 일반적인 전달 함수 또는 상태 방정식의 조합을 제1 연산 모델 M1로 하는 것도 가능하다.
이하, 변환부(22)의 일반화의 예로서, 1 이상의 전달 함수 TF1로 표시되는 제1 연산 모델 M1을 제2 연산 모델 M2로 변환하는 방법의 일례에 대해서 도 9 및 도 10을 사용하여 설명한다. 도 9는, 1 이상의 전달 함수로 표시되는 제1 연산 모델 M1의 일례를 나타내는 블록선도이다. 도 10은, 본 개시의 실시 형태에 따른 모터의 제어 모델의 변환 시스템(2)의 제1 연산 모델 M1을 변환한 제2 연산 모델의 일례를 나타내는 개요도이다.
제1 연산 모델 M1을 이산형의 전달 함수로 하면, 입력을 「u(z)」, 출력을 「y(z)」, 전달 함수 TF1을 「G(z)」로 하여, 이들의 관계는 식 (31)로 표시된다.
간단한 예로서, 전달 함수 TF1을 분자 및 분모의 차수가 1인 1차의 전달 함수로 한 경우, 전달 함수 TF1은, 식 (32)로 표시된다. 이하에 나타내는 식에 있어서, 「a1」, 「b0」 및 「b1」은 각각 상수, 「z-1」은, 1 샘플링 시간의 지연을 나타내는 지연 소자를 나타내고 있다.
[수학식 11]
Figure pct00011
식 (31) 및 식 (32)에 기초하여, 출력 「y(z)」와 입력 「u(z)」의 관계는, 식 (33)에 의해 표시된다.
[수학식 12]
Figure pct00012
식 (33)에 기초하여, 제1 연산 모델 M1은, 도 9에 도시하는 블록선도로 나타내는 것이 가능하다. 도 10에 도시한 바와 같이, 제1 연산 모델 M1에 있어서의 입력 「u(z)」, 출력 「y(z)」 및 지연 소자 「z-1」은, 각각 제2 연산 모델 M2에 있어서의 입력 노드 Ni11, 출력 노드 No11 및 은닉 노드 Nh11로 치환하는 것이 가능하다. 도 10에 있어서, 컨텍스트 노드 Nc11은, 과거의 은닉 노드 Nh11의 출력값을 유지하는 노드이다.
도 9에 도시하는 제1 연산 모델 M1에 기초하여, 각 노드 N1 사이의 계수 w24 내지 w27이 구해진다. 계수 w24 내지 w27은, 각각 제1 연산 모델 M1에 있어서, 2개의 노드 N1 사이를 도면 중에 나타내는 화살표의 방향을 따르면서 유향변의 가중치를 승산 및 가산함으로써, 산출하는 것이 가능하다. 본 예에서는, 계수 w24, w25, w26, w27은, 각각 「1」, 「b0」, 「b1」, 「-a1」이다. 이상과 같이 하여, 1 이상의 전달 함수 TF1로 표시되는 제1 연산 모델 M1을 제2 연산 모델 M2로 변환하는 것이 가능하다.
전달 함수 TF1이 분자 및 분모의 차수가 2인 2차의 전달 함수인 경우도, 상기와 마찬가지로, 지연 소자 「z-1」을 은닉 노드로 치환하는 변환을 정의하는 것이 가능하다. 이 경우, 식 (32)에 있어서, 분자에 계수 「b2」의 2차의 항 「(z-1)2」와, 분모에 계수 「a2」의 2차의 항 「(z-1)2」를 추가하면 된다. 여기서, 「(z-1)2」는, 2 샘플링 시간의 지연을 나타내는 지연 소자를 나타내고 있다. 전달 함수 TF1이 3차 이상이 고차원의 전달 함수인 경우도, 식 (32)에 상기와 마찬가지로 다다음의 항을 추가함으로써, 지연 소자 「z-1」을 은닉 노드로 치환하는 변환을 정의하는 것이 가능하다.
이하에, 변환부(22)의 일반화 또 하나의 예로서, 1 이상의 상태 방정식으로 표시되는 제1 연산 모델 M1을 제2 연산 모델 M2로 변환하는 방법에 대해서 도 11 및 도 12를 사용하여 설명한다. 도 11은, 1 이상의 상태 방정식으로 표시되는 제1 연산 모델의 일례를 나타내는 블록선도이다. 도 12는, 본 개시의 실시 형태에 따른 모터의 제어 모델의 변환 시스템(2)에 있어서 제1 연산 모델을 변환한 제2 연산 모델의 일례를 나타내는 개요도이다. 제1 연산 모델 M1을 이산형의 상태 방정식으로 하면, 입력을 「u(n)」, 출력을 「y(n)」, 상태 변수를 「x(n)」으로 하여, 이들의 관계는 식 (34) 및 식 (35)로 표시된다.
간단한 예로서, 상태 방정식을 입력수 및 출력수가 1개, 상태 변수가 2개인 상태 방정식으로 한 경우, 식 (34)에 있어서, 「A」가 2×2 행렬(식 (36) 참조), 「B」가 2×1 행렬(식 (37) 참조)이 된다. 식 (35)에 있어서, 「C」는 1×2 행렬(식 (38) 참조), 「D」는 1×1 행렬(식 (39) 참조)이 된다. 상태 변수 「x(n)」은, 2×1 행렬로 표시된다(식 (40) 참조). 즉, 본 예에서는, 상태 변수 「x(n)」은, 2개의 요소를 포함하고 있다.
[수학식 13]
Figure pct00013
식 (34) 및 식 (35)에 기초하여, 제1 연산 모델 M1은, 도 11에 도시하는 블록선도로 나타내는 것이 가능하다. 도 12에 도시한 바와 같이, 제1 연산 모델 M1에 있어서의 입력 「u(n)」, 출력 「y(n)」 및 상태 변수 「x(n)」의 요소는, 각각 제2 연산 모델 M2에 있어서의 입력 노드 Ni21, 출력 노드 No21 및 은닉 노드 Nh21, Nh22로 치환하는 것이 가능하다. 도 12에 있어서, 컨텍스트 노드 Nc21, Nc22는, 각각 과거의 은닉 노드 Nh21, Nh22의 출력값을 유지하는 노드이다.
도 11에 도시하는 제1 연산 모델 M1에 기초하여, 각 노드 N1 사이의 계수 w28 내지 w36이 구해진다. 계수 w28 내지 w36은, 각각 제1 연산 모델 M1에 있어서, 2개의 노드 N1 사이를 도면 중에 나타내는 화살표의 방향을 따르면서 유향변의 가중치를 승산 및 가산함으로써, 산출하는 것이 가능하다. 본 예에서는, 계수 w28, w29, w30, w31, w32는, 각각 「b1」, 「b2」, 「d」, 「c1」, 「c2」이다. 또한, 계수 w33, w34, w35, w36은, 각각 「a11」, 「a21」, 「a12」, 「a22」이다. 이상과 같이 하여, 1 이상의 상태 방정식으로 표시되는 제1 연산 모델 M1을 제2 연산 모델 M2로 변환하는 것이 가능하다.
또한, 상태 방정식이 입력수 또는 출력수가 2개 이상, 또는 상태 변수가 2개이외인 경우에서도, 상기와 마찬가지로, 상태 변수 「x(n)」의 요소를 은닉 노드로 치환하는 변환을 정의하는 것이 가능하다. 이 경우, 식 (34) 내지 (40)에 있어서, 입력 「u(n)」, 출력 「y(n)」 및 상태 변수 「x(n)」의 차수를 맞추고, 이들에 맞춰서 행렬 「A」, 「B」, 「C」, 「D」의 각각의 차수를 변경하면 된다.
본 실시 형태에서는, 입력 노드 Ni1, Ni2의 수는, 제1 연산 모델 M1에 입력되는 파라미터(제어량 V1 및 목표값 V2)의 수에 기초하여 결정된다. 또한, 출력 노드 No1, No2의 수는, 제1 연산 모델 M1로부터 출력되는 파라미터(조작량 V3 및 편차 e)의 수에 기초하여 결정된다. 또한, 은닉 노드 Nh1 내지 Nh6의 수는, 제1 연산 모델 M1에서의 1 이상의 전달 함수 TF1 또는 상태 방정식의 과거의 상태 개수에 기초하여 결정된다. 또한, 컨텍스트 노드 Nc1 내지 Nc4의 수는, 지연 소자 「z-1」을 포함하는 전달 함수 TF1의 수에 기초하여 결정된다. 노드 N1 사이의 계수 w0은, 제2 변환 모델 M12에 있어서, 2개의 노드 N1 사이를 도면 중에 나타내는 화살표의 방향을 따르면서 유향변의 가중치를 승산 및 가산함으로써, 산출하는 것이 가능하다.
상술한 바와 같이, 변환 시스템(2) 및 그 변환 방법은, 제1 연산 모델 M1에 기초하여, 제2 연산 모델 M2의 입력 노드 Ni1, Ni2, 은닉 노드 Nh1 내지 Nh6, 컨텍스트 노드 Nc1 내지 Nc4 및 출력 노드 No1, No2의 각각의 수를 결정한다. 변환 시스템(2) 및 그 변환 방법은, 제1 연산 모델 M1에 기초하여, 제2 연산 모델 M2의 각 노드 N1 사이의 계수 w0을 산출한다. 이에 의해, 변환 시스템(2) 및 그 변환 방법은, 기존의 모터(3)의 제어 알고리즘인 제1 연산 모델 M1을, 병렬 연산 처리를 실행하는 제2 연산 모델 M2로 변환하는 것이 가능하다. 이 때문에, 본 실시 형태의 변환 시스템(2) 및 변환 방법에는, 예를 들어 이하와 같은 이점이 있다.
일반적으로, 학습 완료 모델을 구축하는 경우, 입력층, 은닉층 및 출력층의 각각의 뉴런의 수, 그리고 뉴런간의 접속 관계 등의 뉴럴 네트워크의 구조와, 각 뉴런에서 사용되는 활성화 함수의 조합을 시행 착오로 결정한다. 뉴런간의 가중 계수에 대해서는, 오차 역 전파법(백 프로퍼게이션)에 의해 기계 학습하는 것이 일반적이다. 즉, 학습 완료 모델을 구축하기 위해서는, 기계 학습이 필요하다. 기계 학습에는 방대한 양의 데이터(빅 데이터)와 학습 시간이 필요하게 된다.
이에 반해, 본 실시 형태의 변환 시스템(2) 및 변환 방법에서는, 기존의 모터(3)의 제어 알고리즘(제1 연산 모델 M1)을 학습 완료 모델에 근사한 제2 연산 모델 M2로 변환하고 있다. 이 때문에, 본 실시 형태에서는, 기계 학습을 행할 필요가 없으므로, 빅 데이터 및 학습 시간을 요하지 않고, 학습 완료 모델에 근사한 연산 모델을 구축할 수 있다고 하는 이점이 있다.
또한, 본 실시 형태에서는, 제2 연산 모델 M2를 기초로 하여, 모터(3) 제어 의 한층 더한 정밀도의 향상을 구하여 기계 학습을 행하는 것도 가능하다. 이 경우, 백지의 상태로부터 기계 학습을 행할 필요가 없으므로, 기계 학습에 의한 결과를 빨리 얻기 쉽다고 하는 이점이 있다.
또한, 본 실시 형태에서는, 기계 학습의 결과로서 얻어지는 가중 계수를, 기존의 모터(3)의 제어 알고리즘의 파라미터로 치환할 수 있다. 이 때문에, 본 실시 형태에서는, 기계 학습을 행한 경우에, 기계 학습의 결과를 기존의 모터(3)의 제어 알고리즘에 비춰서 해석하기 쉽다고 하는 이점이 있다.
또한, 본 실시 형태에서는, 기존의 모터(3)의 제어 알고리즘을 기초로 한 신규한 제어 알고리즘을 개발한 경우에서도, 제2 연산 모델 M2에 노드 N1을 부가함으로써, 신규 알고리즘에 대응한 연산 모델을 구축하기 쉽다고 하는 이점이 있다.
(4) 변형예
상술한 실시 형태는, 본 개시의 다양한 실시 형태의 하나에 지나지 않는다. 상술한 실시 형태는, 본 개시의 목적을 달성할 수 있으면, 설계 등에 따라서 다양한 변경이 가능하다. 모터 제어 시스템(1)과 마찬가지의 기능은, 컴퓨터 프로그램, 또는 컴퓨터 프로그램을 기록한 비일시적 기록 매체 등으로 구현화되어도 된다. 모터(3)의 제어 모델의 변환 시스템(2)과 마찬가지의 기능은, 컴퓨터 프로그램, 또는 컴퓨터 프로그램을 기록한 비일시적 기록 매체 등으로 구현화되어도 된다.
일 형태에 관한 모터(3)의 제어 모델의 변환 프로그램(이하, 단순히 「변환 프로그램」이라고도 함)은 1 이상의 프로세서에, 제1 연산 모델 M1을 제2 연산 모델 M2로 변환하는 변환 처리를 실행시키기 위한 변환 프로그램이다. 제1 연산 모델 M1은, 모터(3)의 상태를 나타내는 1 이상의 제어량 V1 또는 목표값 V2를 입력으로 하여, 1 이상의 전달 함수 TF1 또는 상태 방정식을 사용한 연산에 의해, 모터(3)의 제어에 사용되는 1 이상의 조작량 V3을 출력한다. 제2 연산 모델 M2는, 1 이상의 제어량 V1 또는 목표값 V2를 입력으로 하여, 각각 병렬로 연산을 실행하는 복수의 노드 N1을 갖는 1 이상의 노드층 L1의 각각에서 연산하여, 1 이상의 조작량 V3을 출력한다. 변환 처리는, 제1 연산 모델 M1을 제2 연산 모델 M2로 변환하는 과정에 있어서, 복수의 노드 N1의 각각에 대해서, 1 이상의 전달 함수 TF1 또는 상태 방정식에 기초하여, 노드 N1에 대한 입력값에 대하여 승산되는 계수 w1과, 승산 후의 값을 입력 변수로 하는 함수 f1을 결정하는 처리를 포함한다.
변환 프로그램에서는, 변환 처리는, 제1 연산 모델 M1을 제2 연산 모델 M2로 변환하는 과정에 있어서, 이하의 처리를 포함한다. 즉, 이 처리는, 제1 연산 모델 M1에서의 1 이상의 전달 함수 TF1 또는 상태 방정식의 과거의 상태 개수와, 입력과 출력의 접속 관계에 기초하여, 복수의 노드 N1의 개수 및 복수의 노드 N1의 각각의 계수 w1을 결정한다.
이하, 상술한 실시 형태의 변형예를 열거한다. 이하에 설명하는 변형예는, 적절히 조합하여 적용 가능하다.
본 개시에 있어서의 모터 제어 시스템(1)(또는 변환 시스템(2))은 컴퓨터 시스템을 포함하고 있다. 컴퓨터 시스템은, 하드웨어로서의 프로세서 및 메모리를 주 구성으로 한다. 컴퓨터 시스템의 메모리에 기록된 프로그램을 프로세서가 실행함으로써, 본 개시에 있어서의 모터 제어 시스템(1)(또는 변환 시스템(2))으로서의 기능이 실현된다. 프로그램은, 컴퓨터 시스템의 메모리에 미리 기록되어도 되고, 전기 통신 회선을 통하여 제공되어도 되고, 컴퓨터 시스템에서 판독 가능한 메모리 카드, 광학 디스크, 하드 디스크 드라이브 등의 비일시적 기록 매체에 기록되어 제공되어도 된다. 컴퓨터 시스템의 프로세서는, 반도체 집적 회로(IC, Integrated Circuit) 또는 대규모 집적 회로(LSI, Large Scale Integration)를 포함하는 1 내지 복수의 전자 회로로 구성된다. 여기서 말하는 IC 또는 LSI 등의 집적 회로는, 집적의 정도에 의해 부르는 법이 다르고, 시스템 LSI, VLSI(Very Large Scale Integration), 또는 ULSI(Ultra Large Scale Integration)라고 불리는 집적 회로를 포함한다. 또한, LSI의 제조 후에 프로그램되는, FPGA(Field Programmable Gate Array), 또는 LSI 내부의 접합 관계의 재구성 또는 LSI 내부의 회로 구획의 재구성이 가능한 논리 디바이스에 대해서도, 프로세서로서 채용할 수 있다. 복수의 전자 회로는, 1개의 칩에 집약 되어 있어도 되고, 복수의 칩에 분산해서 마련되어 있어도 된다. 복수의 칩은, 1개의 장치에 집약되어 있어도 되고, 복수의 장치에 분산하여 마련되어 있어도 된다. 여기서 말하는 컴퓨터 시스템은, 1 이상의 프로세서 및 1 이상의 메모리를 갖는 마이크로컨트롤러를 포함한다. 따라서, 마이크로컨트롤러에 대해서도, 반도체 집적 회로 또는 대규모 집적 회로를 포함하는 1 내지 복수의 전자 회로로 구성된다.
또한, 모터 제어 시스템(1)(또는 변환 시스템(2))에 있어서의 복수의 기능이, 1개의 하우징 내에 집약되어 있는 것은 모터 제어 시스템(1)(또는 변환 시스템(2))에 필수적인 구성은 아니다. 즉, 모터 제어 시스템(1)(또는 변환 시스템(2))의 구성 요소는, 복수의 하우징에 분산하여 마련되어 있어도 된다. 또한, 모터 제어 시스템(1)(또는 변환 시스템(2))의 적어도 일부의 기능이 클라우드(클라우드 컴퓨팅) 등에 의해 실현되어도 된다.
또한, 제2 연산 모델 M2에 포함되는 복수의 노드 N1 중 1개 이상의 노드 N1에 있어서, 함수 f1은, 비선형 함수이어도 된다. 도 13은, 본 개시의 실시 형태에 따른 모터의 제어 모델의 변환 시스템에 있어서, 비선형 함수를 포함하는 제1 연산 모델을 제2 연산 모델로 변환하는 경우의 일례를 나타내는 개요도이다. 예를 들어 도 13에 도시한 바와 같이, 제1 연산 모델 M1이, 입력 데이터 A1을 입력 변수로 하는 sign 함수(부호 함수)의 출력값에, 마찰 계수 K를 곱함으로써 출력 데이터 B1을 얻는 처리를 갖는다고 가정한다. 여기서, 입력 데이터 A1은 모터(3)의 속도에 상당하고, 출력 데이터 B1은 마찰 토크에 상당한다.
이 경우, 제2 연산 모델 M2에 있어서, 상기의 처리는, 3개의 노드 N1(제1 노드 N11, 제2 노드 N12 및 제3 노드 N13)에 의해 표현된다. 제1 노드 N11은, 입력 데이터 A1을 입력값으로 하고, 입력값을 그대로 출력한다. 제2 노드 N12에서는, 함수 f1로서 스텝 함수 f11이 규정되어 있다. 제3 노드 N13은, 입력값을 그대로 출력하는 노드이며, 출력 데이터 B1을 출력값으로 한다. 제1 노드 N11과 제2 노드 N12 사이의 계수 w37은 「1」이며, 제2 노드 N12와 제3 노드 N13 사이의 계수 w38은 「K」이다. 이와 같이, 제1 연산 모델 M1에 있어서의 비선형 함수(여기서는, sign 함수)를 포함하는 처리는, 함수 f1로서 비선형 함수(여기서는, 스텝 함수)가 규정된 노드 N1을 사용한 제2 연산 모델 M2로 변환하는 것이 가능하다.
또한, 제1 연산 모델 M1은, 복수의 제어 알고리즘으로 구분되어 있어도 된다. 이 경우, 변환 시스템(2) 및 변환 방법은, 복수의 제어 알고리즘의 각각에 대하여 제2 연산 모델 M2에 대한 변환을 행하면 된다.
또한, 제2 연산 모델 M2에 있어서, 은닉층 L13은 1층에 한정되지 않고, 복수의 층이어도 된다. 제2 연산 모델 M2에 있어서, 컨텍스트층 L14는 1층에 한정되지 않고, 복수의 층이어도 된다.
(정리)
이상 서술한 바와 같이 제1 형태에 관한 모터 제어 방법은, 모터(3)의 상태를 나타내는 1 이상의 제어량 V1 또는 목표값 V2를, 1 이상의 노드층 L1에 입력값으로서 입력하고, 1 이상의 노드층 L1의 각각에서 연산함으로써, 모터(3)의 제어에 사용되는 1 이상의 조작량 V3을 출력하고, 1 이상의 조작량에 의해 모터를 제어 출력한다. 1 이상의 노드층 L1은, 각각 병렬로 연산을 실행하는 복수의 노드 N1을 갖는다. 복수의 노드 N1의 각각은, 입력값에 대하여 노드 N1마다 규정된 계수 w0을 승산하고, 승산 후의 값을 입력 변수로 하는 노드 N1마다 규정된 함수 f1에 의해 연산함으로써, 출력값을 결정한다.
이 양태에 의하면, 모터(3)를 제어하기 위한 지령에 대한 응답 시간의 단축을 도모할 수 있다고 하는 이점이 있다.
제2 형태에 관한 모터 제어 방법에서는, 제1 양태에 있어서, 1 이상의 노드층 L1 중 적어도 하나의 노드층 L1이 갖는 노드 N1은, 1 이상의 노드층 L1 중 다른 노드 N1의 과거 출력값을 입력값으로 한다.
이 양태에 의하면, 피드백 제어의 정밀도를 향상시키기 쉽다고 하는 이점이 있다.
제3 형태에 관한 모터 제어 방법에서는, 제1 또는 제2 양태에 있어서, 함수 f1은, 비선형 함수이다.
이 양태에 의하면, 함수 f1이 선형 함수인 경우와 비교하여, 모터(3)의 제어 자유도를 향상시키기 쉽다고 하는 이점이 있다.
제4 형태에 관한 모터 제어 방법에서는, 제1 내지 제3 중 어느 하나의 양태에 있어서, 1 이상의 제어량 V1은, 적어도 모터(3)의 위치 정보를 포함한다.
이 양태에 의하면, 모터(3)의 위치를 원하는 위치로 제어하기 위해 요하는 시간의 단축을 도모할 수 있다고 하는 이점이 있다.
제5 형태에 관한 모터(3)의 제어 모델의 변환 방법은, 제1 연산 모델 M1을 제2 연산 모델 M2로 변환하는 변환 방법이다. 제1 연산 모델 M1은, 모터(3)의 상태를 나타내는 1 이상의 제어량 V1 또는 목표값 V2를 입력으로 하여, 1 이상의 전달 함수 또는 상태 방정식을 사용한 연산에 의해, 모터(3)의 제어에 사용되는 1 이상의 조작량 V3을 출력한다. 제2 연산 모델 M2는, 1 이상의 제어량 V1 또는 목표값 V2를 입력으로 하여, 각각 병렬로 연산을 실행하는 복수의 노드 N1을 갖는 1 이상의 노드층 L1의 각각에서 연산하여, 1 이상의 조작량 V3을 출력한다. 이 변환 방법은, 제1 연산 모델 M1을 제2 연산 모델 M2로 변환하는 과정에 있어서, 복수의 노드 N1의 각각에 대해서, 1 이상의 전달 함수 또는 상태 방정식에 기초하여, 노드 N1에 대한 입력값에 대하여 승산되는 계수 w0과, 승산 후의 값을 입력 변수로 하는 함수 f1을 결정한다.
이 양태에 의하면, 변환 후의 제2 연산 모델 M2를 사용함으로써, 모터(3)를 제어하기 위한 지령에 대한 응답 시간의 단축을 도모할 수 있다고 하는 이점이 있다.
제6 형태에 관한 모터(3)의 제어 모델의 변환 방법에서는, 제5 양태에 있어서, 제1 연산 모델 M1을 제2 연산 모델 M2로 변환하는 과정에 있어서, 이하의 방법을 포함한다. 즉, 이 방법은, 제1 연산 모델 M1에서의 1 이상의 전달 함수 TF1 또는 상태 방정식의 과거의 상태 개수와, 입력과 출력의 접속 관계에 기초하여, 복수의 노드 N1의 개수 및 복수의 노드 N1의 각각의 계수 w0을 결정한다.
이 양태에 의하면, 제1 연산 모델 M1을 제2 연산 모델 M2로 변환하는 과정의 간략화를 도모하기 쉽다고 하는 이점이 있다.
제7 형태에 관한 모터 제어 시스템(1)은 입력부(11)와, 연산부(12)를 구비한다. 입력부(11)에는, 모터(3)의 상태를 나타내는 1 이상의 제어량 V1 또는 목표값 V2가 입력값으로서 입력된다. 연산부(12)는 각각 병렬로 연산을 실행하는 복수의 노드 N1을 갖는 1 이상의 노드층 L1을 포함하고, 입력값에 기초하여 연산함으로써, 모터(3)의 제어에 사용되는 1 이상의 조작량 V3을 출력한다. 복수의 노드 N1의 각각은, 입력값에 대하여 노드 N1마다 규정된 계수 w0을 승산하고, 승산 후의 값을 입력 변수로 하는 노드 N1마다 규정된 함수 f1에 의해 연산한다.
이 양태에 의하면, 모터(3)를 제어하기 위한 지령에 대한 응답 시간의 단축을 도모할 수 있다고 하는 이점이 있다.
제8 형태에 관한 모터(3)의 제어 모델의 변환 시스템(2)은 모델 입력부(21)와, 변환부(22)를 구비한다. 모델 입력부(21)에는, 제1 연산 모델 M1이 입력된다. 변환부(22)는 제1 연산 모델 M1을 제2 연산 모델 M2로 변환하여 출력한다. 제1 연산 모델 M1은, 모터(3)의 상태를 나타내는 1 이상의 제어량 V1 또는 목표값 V2를 입력으로 하여, 1 이상의 전달 함수 TF1 또는 상태 방정식을 사용한 연산에 의해, 모터(3)의 제어에 사용되는 1 이상의 조작량 V3을 출력한다. 제2 연산 모델 M2는, 1 이상의 제어량 V1 또는 목표값 V2를 입력으로 하여, 각각 병렬로 연산을 실행하는 복수의 노드 N1을 갖는 1 이상의 노드층 L1의 각각에서 연산하여, 1 이상의 조작량 V3을 출력한다. 변환부(22)는 제1 연산 모델 M1을 제2 연산 모델 M2로 변환하는 과정에 있어서, 복수의 노드 N1의 각각에 대해서, 1 이상의 전달 함수 TF1 또는 상태 방정식에 기초하여, 노드 N1에 대한 입력값에 대하여 승산되는 계수 w0과, 승산 후의 값을 입력 변수로 하는 함수 f1을 결정한다.
이 양태에 의하면, 변환 후의 제2 연산 모델 M2를 사용함으로써 모터(3)를 제어하기 위한 지령에 대한 응답 시간의 단축을 도모할 수 있다고 하는 이점이 있다.
제9 형태에 관한 모터(3)의 제어 모델의 변환 시스템(2)에서는, 제8 양태에 있어서, 변환부(22)는 제1 연산 모델 M1을 제2 연산 모델 M2로 변환하는 과정에 있어서, 이하의 처리를 실행한다. 즉, 변환부(22)는 제1 연산 모델 M1에서의 1 이상의 전달 함수 TF1 또는 상태 방정식의 과거의 상태 개수와, 입력과 출력의 접속 관계에 기초하여, 복수의 노드 N1의 개수 및 복수의 노드 N1의 각각의 계수 w0을 결정한다.
이 양태에 의하면, 제1 연산 모델 M1을 제2 연산 모델 M2로 변환하는 과정의 간략화를 도모하기 쉽다고 하는 이점이 있다.
제10 형태에 관한 모터(3)의 제어 모델의 변환 프로그램은, 1 이상의 프로세서에, 제1 연산 모델 M1을 제2 연산 모델 M2로 변환하는 변환 처리를 실행시키기 위한 변환 프로그램이다. 제1 연산 모델 M1은, 모터(3)의 상태를 나타내는 1 이상의 제어량 V1 또는 목표값 V2를 입력으로 하여, 1 이상의 전달 함수 TF1 또는 상태 방정식을 사용한 연산에 의해, 모터(3)의 제어에 사용되는 1 이상의 조작량 V3을 출력한다. 제2 연산 모델 M2는, 1 이상의 제어량 V1 또는 목표값 V2를 입력으로 하여, 각각 병렬로 연산을 실행하는 복수의 노드 N1을 갖는 1 이상의 노드층 L1의 각각에서 연산하여, 1 이상의 조작량 V3을 출력한다. 변환 처리는, 제1 연산 모델 M1을 제2 연산 모델 M2로 변환하는 과정에 있어서, 이하의 처리를 포함한다. 즉, 변환 처리는, 복수의 노드 N1의 각각에 대해서, 1 이상의 전달 함수 TF1 또는 상태 방정식에 기초하여, 노드 N1에 대한 입력값에 대하여 승산되는 계수 w0과, 승산 후의 값을 입력 변수로 하는 함수 f1을 결정하는 처리를 포함한다.
이 양태에 의하면, 변환 후의 제2 연산 모델 M2를 사용함으로써 모터(3)를 제어하기 위한 지령에 대한 응답 시간의 단축을 도모할 수 있다고 하는 이점이 있다.
제11 형태에 관한 모터(3)의 제어 모델의 변환 프로그램에서는, 제10 양태에 있어서, 변환 처리는, 제1 연산 모델 M1을 제2 연산 모델 M2로 변환하는 과정에 있어서, 이하의 처리를 포함한다. 즉, 이 처리는, 제1 연산 모델 M1에서의 1 이상의 전달 함수 TF1 또는 상태 방정식의 과거의 상태 개수와, 입력과 출력의 접속 관계에 기초하여, 복수의 노드 N1의 개수 및 복수의 노드 N1의 각각의 계수 w0을 결정한다.
이 양태에 의하면, 제1 연산 모델 M1을 제2 연산 모델 M2로 변환하는 과정의 간략화를 도모하기 쉽다고 하는 이점이 있다.
제2 내지 제4 형태에 관한 구성에 대해서는, 모터 제어 방법에 필수적인 구성이 아니라, 적절히 생략 가능하다. 또한, 제6 형태에 관한 구성에 대해서는, 모터(3)의 제어 모델의 변환 방법에 필수적인 구성이 아니라, 적절히 생략 가능하다. 또한, 제9 형태에 관한 구성에 대해서는, 모터(3)의 제어 모델의 변환 시스템(2)에 필수적인 구성이 아니라, 적절히 생략 가능하다. 또한, 제11 형태에 관한 구성에 대해서는, 모터(3)의 제어 모델의 변환 프로그램에 필수적인 구성이 아니라, 적절히 생략 가능하다.
1 : 모터 제어 시스템
11 : 입력부
12 : 연산부
2 : 변환 시스템
21 : 모델 입력부
22 : 변환부
3 : 모터
f1 : 함수
L1 : 노드층
M1 : 제1 연산 모델
M2 : 제2 연산 모델
N1 : 노드
TF1 : 전달 함수
V1 : 제어량
V2 : 목표값
V3 : 조작량
w0 : 계수

Claims (11)

  1. 모터의 상태를 나타내는 1 이상의 제어량 또는 목표값을, 1 이상의 노드층에 입력값으로서 입력하고,
    상기 1 이상의 노드층의 각각에서 연산함으로써, 상기 모터의 제어에 사용되는 1 이상의 조작량을 출력하고, 상기 1 이상의 조작량에 의해 상기 모터를 제어하는 모터 제어 방법이며,
    상기 1 이상의 노드층은, 각각 병렬로 연산을 실행하는 복수의 노드를 갖고,
    상기 복수의 노드의 각각은, 상기 입력값에 대하여 노드마다 규정된 계수를 승산하고, 승산 후의 값을 입력 변수로 하는 노드마다 규정된 함수에 의해 연산함으로써, 출력값을 결정하는,
    모터 제어 방법.
  2. 제1항에 있어서,
    상기 1 이상의 노드층 중 적어도 하나의 노드층이 갖는 노드는, 상기 1 이상의 노드층 중 다른 노드의 과거 출력값을 입력값으로 하는, 모터 제어 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 함수는, 비선형 함수인, 모터 제어 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 1 이상의 제어량은, 적어도 상기 모터의 위치 정보를 포함하는, 모터 제어 방법.
  5. 제1 연산 모델을 제2 연산 모델로 변환하는, 모터의 제어 모델의 변환 방법이며,
    상기 제1 연산 모델은, 상기 모터의 상태를 나타내는 1 이상의 제어량 또는 목표값을 입력으로 하여, 1 이상의 전달 함수 또는 상태 방정식을 사용한 연산에 의해, 상기 모터의 제어에 사용되는 1 이상의 조작량을 출력하고,
    상기 제2 연산 모델은, 상기 1 이상의 제어량 또는 목표값을 입력으로 하여, 각각 병렬로 연산을 실행하는 복수의 노드를 갖는 1 이상의 노드층의 각각에서 연산하여, 상기 1 이상의 조작량을 출력하고,
    상기 제1 연산 모델을 상기 제2 연산 모델로 변환하는 과정에 있어서, 상기 복수의 노드의 각각에 대해서, 상기 1 이상의 전달 함수 또는 상태 방정식에 기초하여, 상기 노드에 대한 입력값에 대하여 승산되는 계수와, 승산 후의 값을 입력 변수로 하는 함수를 결정하는,
    모터의 제어 모델의 변환 방법.
  6. 제5항에 있어서,
    상기 제1 연산 모델을 상기 제2 연산 모델로 변환하는 과정에 있어서, 상기 제1 연산 모델에서의 상기 1 이상의 전달 함수 또는 상태 방정식의 과거의 상태 개수와, 상기 입력과 상기 출력의 접속 관계에 기초하여, 상기 복수의 노드의 개수 및 상기 복수의 노드의 각각의 상기 계수를 결정하는, 모터 제어 모델의 변환 방법.
  7. 모터의 상태를 나타내는 1 이상의 제어량 또는 목표값이 입력값으로서 입력되는 입력부와,
    각각 병렬로 연산을 실행하는 복수의 노드를 갖는 1 이상의 노드층을 포함하고, 상기 입력값에 기초하여 연산함으로써, 상기 모터의 제어에 사용되는 1 이상의 조작량을 출력하는 연산부를 구비하고,
    상기 복수의 노드의 각각은, 상기 입력값에 대하여 노드마다 규정된 계수를 승산하고, 승산 후의 값을 입력 변수로 하는 노드마다 규정된 함수에 의해 연산하는,
    모터 제어 시스템.
  8. 제1 연산 모델이 입력되는 모델 입력부와,
    상기 제1 연산 모델을 제2 연산 모델로 변환하여 출력하는 변환부를 구비하고,
    상기 제1 연산 모델은, 모터의 상태를 나타내는 1 이상의 제어량 또는 목표값을 입력으로 하여, 1 이상의 전달 함수 또는 상태 방정식을 사용한 연산에 의해, 상기 모터의 제어에 사용되는 1 이상의 조작량을 출력하고,
    상기 제2 연산 모델은, 상기 1 이상의 제어량 또는 목표값을 입력으로 하여, 각각 병렬로 연산을 실행하는 복수의 노드를 갖는 1 이상의 노드층의 각각에서 연산하여, 상기 1 이상의 조작량을 출력하고,
    상기 변환부는, 상기 제1 연산 모델을 상기 제2 연산 모델로 변환하는 과정에 있어서, 상기 복수의 노드의 각각에 대해서, 상기 1 이상의 전달 함수 또는 상태 방정식에 기초하여, 노드에 대한 입력값에 대하여 승산되는 계수와, 승산 후의 값을 입력 변수로 하는 함수를 결정하는,
    모터의 제어 모델의 변환 시스템.
  9. 제8항에 있어서,
    상기 변환부는, 상기 제1 연산 모델을 상기 제2 연산 모델로 변환하는 과정에 있어서, 상기 제1 연산 모델에서의 상기 1 이상의 전달 함수 또는 상태 방정식의 과거의 상태 개수와, 입력과 출력의 접속 관계에 기초하여, 상기 복수의 노드의 개수 및 상기 복수의 노드의 각각의 상기 계수를 결정하는, 모터 제어 모델의 변환 시스템.
  10. 1 이상의 프로세서에,
    제1 연산 모델을 제2 연산 모델로 변환하는 변환 처리를 실행시키기 위한 변환 프로그램이며,
    상기 제1 연산 모델은, 모터의 상태를 나타내는 1 이상의 제어량 또는 목표값을 입력으로 하여, 1 이상의 전달 함수 또는 상태 방정식을 사용한 연산에 의해, 상기 모터의 제어에 사용되는 1 이상의 조작량을 출력하고,
    상기 제2 연산 모델은, 상기 1 이상의 제어량 또는 목표값을 입력으로 하여, 각각 병렬로 연산을 실행하는 복수의 노드를 갖는 1 이상의 노드층의 각각에서 연산하여, 상기 1 이상의 조작량을 출력하고,
    상기 변환 처리는, 상기 제1 연산 모델을 상기 제2 연산 모델로 변환하는 과정에 있어서, 상기 복수의 노드의 각각에 대해서, 상기 1 이상의 전달 함수 또는 상태 방정식에 기초하여, 노드에 대한 입력값에 대하여 승산되는 계수와, 승산 후의 값을 입력 변수로 하는 함수를 결정하는 처리를 포함하는,
    모터의 제어 모델의 변환 프로그램.
  11. 제10항에 있어서,
    상기 변환 처리는, 상기 제1 연산 모델을 상기 제2 연산 모델로 변환하는 과정에 있어서, 상기 제1 연산 모델에서의 상기 1 이상의 전달 함수 또는 상태 방정식의 과거의 상태 개수와, 입력과 출력의 접속 관계에 기초하여, 상기 복수의 노드의 개수 및 상기 복수의 노드의 각각의 상기 계수를 결정하는 처리를 포함하는, 모터 제어 모델의 변환 프로그램.
KR1020217032770A 2019-03-19 2020-01-06 모터 제어 방법, 모터의 제어 모델의 변환 방법, 모터 제어 시스템, 모터의 제어 모델의 변환 시스템 및 모터의 제어 모델의 변환 프로그램 KR20210137536A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019051810 2019-03-19
JPJP-P-2019-051810 2019-03-19
PCT/JP2020/000077 WO2020188956A1 (ja) 2019-03-19 2020-01-06 モータ制御方法、モータの制御モデルの変換方法、モータ制御システム、モータの制御モデルの変換システム、及びモータの制御モデルの変換プログラム

Publications (1)

Publication Number Publication Date
KR20210137536A true KR20210137536A (ko) 2021-11-17

Family

ID=72519776

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217032770A KR20210137536A (ko) 2019-03-19 2020-01-06 모터 제어 방법, 모터의 제어 모델의 변환 방법, 모터 제어 시스템, 모터의 제어 모델의 변환 시스템 및 모터의 제어 모델의 변환 프로그램

Country Status (6)

Country Link
US (1) US11682999B2 (ko)
EP (1) EP3944489B1 (ko)
JP (1) JP7407353B2 (ko)
KR (1) KR20210137536A (ko)
CN (1) CN113574795A (ko)
WO (1) WO2020188956A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06319284A (ja) 1992-12-10 1994-11-15 Matsushita Electric Ind Co Ltd サーボモータの制御パラメータ調整装置及び調整方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5475291A (en) 1992-12-10 1995-12-12 Matsushita Electric Industrial Co., Ltd. Adjustment device for adjusting control parameters of a servo motor and an adjustment method therefor
JPH06266404A (ja) 1993-03-12 1994-09-22 Toshiba Corp 非線形対象制御システム及び同システム構築用ニューラルネットワークの学習システム
JP3302566B2 (ja) 1996-06-18 2002-07-15 核燃料サイクル開発機構 複数の制御原理を用いる制御システム
DE102004011015A1 (de) * 2004-03-02 2005-09-15 Brose Fahrzeugteile Gmbh & Co. Kg, Coburg Verfahren zum Überwachen der Verstellbewegung eines von einer Antriebseinrichtung angetriebenen Bauteils
JP2005267039A (ja) 2004-03-17 2005-09-29 Fuji Heavy Ind Ltd 制御システム、生成モジュール、および制御方法
CN101917150B (zh) * 2010-06-24 2012-06-20 江苏大学 永磁同步电机模糊神经网络广义逆鲁棒控制器及构造方法
CN201928221U (zh) * 2011-01-20 2011-08-10 江苏大学 一种无轴承同步磁阻电机神经网络广义逆解耦控制器
JP2013069094A (ja) * 2011-09-22 2013-04-18 Azbil Corp 制御方法および制御装置
WO2015021016A1 (en) * 2013-08-05 2015-02-12 Board Of Trustees Of The University Of Alabama Systems, methods and devices for vector control of permanent magnet synchronous machines using artificial neural networks
US20150278641A1 (en) * 2014-03-27 2015-10-01 Qualcomm Incorporated Invariant object representation of images using spiking neural networks
JP6672896B2 (ja) * 2016-03-04 2020-03-25 セイコーエプソン株式会社 モーター駆動回路、印刷装置及び半導体装置
JP6832498B2 (ja) * 2017-04-25 2021-02-24 株式会社安川電機 システムおよび評価装置ならびに評価方法
CN108777556B (zh) * 2018-06-29 2022-03-18 江苏大学 两电机调速系统的无模型自适应鲁棒解耦控制方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06319284A (ja) 1992-12-10 1994-11-15 Matsushita Electric Ind Co Ltd サーボモータの制御パラメータ調整装置及び調整方法

Also Published As

Publication number Publication date
JP7407353B2 (ja) 2024-01-04
US11682999B2 (en) 2023-06-20
JPWO2020188956A1 (ko) 2020-09-24
EP3944489B1 (en) 2024-07-03
WO2020188956A1 (ja) 2020-09-24
EP3944489A4 (en) 2022-05-04
CN113574795A (zh) 2021-10-29
EP3944489A1 (en) 2022-01-26
US20220166364A1 (en) 2022-05-26

Similar Documents

Publication Publication Date Title
Adhyaru et al. Bounded robust control of nonlinear systems using neural network–based HJB solution
de la Sen Quadratic stability and stabilization of switched dynamic systems with uncommensurate internal point delays
Orłowska-Kowalska et al. Adaptive neurocontrollers for drive systems: Basic concepts, theory and applications
Diveev et al. Machine-made synthesis of stabilization system by modified cartesian genetic programming
Ryu et al. Multilateral teleoperation over communication time delay using the time-domain passivity approach
Vázquez et al. Decentralized Identification and Control in Real‐Time of a Robot Manipulator via Recurrent Wavelet First‐Order Neural Network
Ławryńczuk Nonlinear Predictive Control Using Wiener Models
Mou et al. Disturbance rejection sliding mode control for robots and learning design
KR20210137536A (ko) 모터 제어 방법, 모터의 제어 모델의 변환 방법, 모터 제어 시스템, 모터의 제어 모델의 변환 시스템 및 모터의 제어 모델의 변환 프로그램
Wang et al. A composite control framework of safety satisfaction and uncertainties compensation for constrained time-varying nonlinear MIMO systems
Kong et al. A generalized varying-parameter recurrent neural network for super solution of quadratic programming problem
Rios et al. Recurrent high order neural observer for discrete-time non-linear systems with unknown time-delay
Cheng Self-structuring fuzzy-neural backstepping control with a B-spline-based compensator
Boncalo et al. Configurable hardware accelerator architecture for a takagi-sugeno fuzzy controller
Dong et al. A novel ADP based model-free predictive control
Mattera et al. Optimal data-driven control of manufacturing processes using reinforcement learning: an application to wire arc additive manufacturing
Trunov Vector indicator as a tool of recurrent artificial neuron net for processing data
Aksoy et al. On adaptive output feedback control robotic manipulators with online disturbance estimation
Grof et al. Convex hull manipulation based control performance optimization: case study of impedance model with feedback delay
Attia et al. Decentralized Suboptimal State Feedback Integral Tracking Control Design for Coupled Linear Time‐Varying Systems
Goran et al. Robust nonlinear control of two links robot manipulator and computing maximum load
Hartono et al. Design of Electric Power Steering System Identification and Control for Autonomous Vehicles Based on Artificial Neural Network
Chaber Fast nonlinear model predictive control algorithm with neural approximation for embedded systems: Preliminary results
Tarasova et al. Neuroprocessor automatic control system of the module SEMS
Huang et al. Non-Fragile Observer-Based Adaptive Integral Sliding Mode Control for a Class of TS Fuzzy Descriptor Systems With Unmeasurable Premise Variables