JP6665610B2 - Motor control device - Google Patents

Motor control device Download PDF

Info

Publication number
JP6665610B2
JP6665610B2 JP2016055450A JP2016055450A JP6665610B2 JP 6665610 B2 JP6665610 B2 JP 6665610B2 JP 2016055450 A JP2016055450 A JP 2016055450A JP 2016055450 A JP2016055450 A JP 2016055450A JP 6665610 B2 JP6665610 B2 JP 6665610B2
Authority
JP
Japan
Prior art keywords
speed
output
boundary
input
command
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2016055450A
Other languages
Japanese (ja)
Other versions
JP2017127176A (en
Inventor
和也 沼崎
和也 沼崎
向井 康晴
康晴 向井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JTEKT Corp
Original Assignee
JTEKT Corp
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 JTEKT Corp filed Critical JTEKT Corp
Priority to US15/393,792 priority Critical patent/US9859829B2/en
Priority to EP17150316.2A priority patent/EP3190471B1/en
Priority to CN201710004967.0A priority patent/CN106961235B/en
Publication of JP2017127176A publication Critical patent/JP2017127176A/en
Application granted granted Critical
Publication of JP6665610B2 publication Critical patent/JP6665610B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H02P29/00Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors
    • 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
    • H02P2205/00Indexing scheme relating to controlling arrangements characterised by the control loops
    • H02P2205/07Speed loop, i.e. comparison of the motor speed with a speed reference

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Control Of Electric Motors In General (AREA)
  • Control Of Multiple Motors (AREA)

Description

本発明は、例えば工作機械やロボット等において、電動モータを用いて、テーブルやアーム等の所定部材(制御対象物)の位置を制御するモータ制御装置に関する。   The present invention relates to a motor control device that controls the position of a predetermined member (control target) such as a table or an arm using an electric motor in, for example, a machine tool or a robot.

例えば特許文献1には、モータの位置検出値を位置指令値に追従させる、モータによる位置制御装置が開示されている。当該位置制御装置は、速度規範指令値を出力する速度規範モデルと、速度規範指令値と実際の速度との偏差に応じて制御量(電流指令値)を求める速度制御器(速度フィードバック部)と、速度フィードフォワード出力信号を出力する速度フィードフォワード部と、を有している。さらに、当該位置制御装置は、位置規範指令値を出力する位置規範モデルと、位置規範指令値と実際の位置との偏差に応じて制御量(速度指令値)を求める位置制御器(位置フィードバック部)と、位置フィードフォワード出力信号を出力する位置フィードフォワード部と、を有している。なお、位置フィードフォワード部への入力は、位置規範モデルに入力される位置指令値が入力され、速度フィードフォワード部への入力は、速度規範モデルに入力される速度指令値が入力されている。   For example, Patent Document 1 discloses a motor-based position control device that causes a motor position detection value to follow a position command value. The position control device includes: a speed reference model that outputs a speed reference command value; a speed controller (speed feedback unit) that obtains a control amount (current command value) according to a deviation between the speed reference command value and the actual speed; And a speed feedforward section for outputting a speed feedforward output signal. Further, the position control device includes a position reference model that outputs a position reference command value, and a position controller (position feedback unit) that obtains a control amount (speed command value) according to a deviation between the position reference command value and the actual position. ), And a position feedforward section for outputting a position feedforward output signal. The input to the position feedforward unit is a position command value input to the position reference model, and the input to the speed feedforward unit is a speed command value input to the speed reference model.

また例えば特許文献2には、制御対象に対して、位置指令により位置制御を行い、力指令により力制御を行う、組み込み知能コントローラが開示されている。また、位置制御系のファジィ・ニューラルネットワークと、力制御系のファジィ・ニューラルネットワークと、位置と力のハイブリッド/コンプライアンス制御により位置制御と力制御を連続的に切り換える切換部と、を備えている。   Further, for example, Patent Literature 2 discloses an embedded intelligent controller that performs position control on a control target by a position command and performs force control by a force command. It also includes a fuzzy neural network for a position control system, a fuzzy neural network for a force control system, and a switching unit for continuously switching between position control and force control by hybrid position / force control.

特開2009−303432号公報JP 2009-303432 A 特開2014−6566号公報JP 2014-6566 A

特許文献1に記載された位置制御装置は、制御対象のモデルである位置規範モデルと速度規範モデルが必要であり、静止摩擦等のモデル化が困難なシステムに適用することは非常に困難である。また、速度フィードフォワード部への入力が速度指令値であり、工作機械やロボット等の精度への影響が大きな位置偏差や速度偏差を効果的に低減できない可能性がある。   The position control device described in Patent Document 1 requires a position reference model and a speed reference model, which are models to be controlled, and is very difficult to apply to a system in which modeling of static friction or the like is difficult. . In addition, the input to the speed feedforward section is a speed command value, and there is a possibility that a position deviation or a speed deviation that greatly affects the accuracy of a machine tool, a robot, or the like cannot be effectively reduced.

また特許文献2に記載された組み込み知能コントローラは、位置制御だけでなく力制御も必要とする産業用ロボットの組立作業等において、位置制御と力制御の切り換えをスムーズに行うためにファジィ・ニューラルネットワークを利用している。しかし、制御が複雑であり、工作機械のテーブルや、ロボットのアーム等の所定部材の位置をより高精度に制御する制御システムへの適用は困難である。   Further, the built-in intelligent controller described in Patent Literature 2 is a fuzzy neural network for smoothly switching between position control and force control in an industrial robot assembling work that requires not only position control but also force control. I use. However, the control is complicated, and it is difficult to apply to a control system that controls the position of a predetermined member such as a table of a machine tool or an arm of a robot with higher accuracy.

本発明は、このような点に鑑みて創案されたものであり、電動モータを用いて所定部材(制御対象物)の位置を制御するモータ制御装置であって、位置偏差、速度偏差をより低減することが可能なモータ制御装置を提供することを課題とする。   The present invention has been made in view of such a point, and is a motor control device that controls the position of a predetermined member (control object) using an electric motor, and further reduces a position deviation and a speed deviation. It is an object of the present invention to provide a motor control device that can perform the control.

上記課題を解決するため、本発明に係るモータ制御装置は、次の手段をとる。まず、本発明の第1の発明は、制御対象物の位置を移動させる電動モータと、当該電動モータに関する位置を検出する位置検出手段と、を用いて前記制御対象物の位置を制御するモータ制御装置であって、前記電動モータに対する指令位置と、前記位置検出手段からの検出信号に基づいた実際の位置である実位置と、の偏差である位置偏差を演算する位置偏差演算部と、前記位置偏差に応じてフィードバック制御して第1仮指令速度を出力する位置フィードバック制御部と、前記電動モータに対する下位指令速度であって前記第1仮指令速度を含む前記下位指令速度と、前記位置検出手段からの検出信号に基づいた実際の速度である実速度と、の偏差である速度偏差を演算する速度偏差演算部と、前記速度偏差に応じてフィードバック制御して第1仮指令電流を出力する速度フィードバック制御部と、前記下位指令速度とは異なる速度である上位指令速度に応じてフィードフォワード制御して第2仮指令電流を出力する速度フィードフォワード制御部と、前記第1仮指令電流と前記第2仮指令電流とを加算して指令電流を出力する電流加算演算部と、前記指令電流に基づいて電動モータへの駆動電流を出力する電流出力部と、を有する。そして、前記速度フィードフォワード制御部は、上位指令加速度が入力され、入力された前記上位指令加速度を速度側加速度出力として出力する速度側加速度入力部と、前記上位指令速度が入力され、入力された前記上位指令速度を速度側速度出力として出力する速度側速度入力部と、前記上位指令速度の速度範囲に対して限定した限定速度範囲を、予め設定した隣り合う複数の速度範囲毎に分割し、分割したそれぞれの前記速度範囲の境界となる速度である複数の境界速度に対応させて用意され、前記上位指令速度が入力され、前記上位指令速度と対応する箇所より速度側境界速度出力を出力する複数の速度側境界速度入力部と、前記速度側加速度出力、前記速度側速度出力、複数の前記速度側境界速度出力、である速度側第1出力のそれぞれに対応する複数の速度側第1学習重みを、前記速度偏差に応じて変更する速度側第1重み学習部と、前記速度側第1出力のそれぞれと、当該速度側第1出力のそれぞれに対応する前記速度側第1学習重みと、を乗算した複数の速度側第1乗算値を加算して前記第2仮指令電流として出力する速度側出力部と、を有している、モータ制御装置である。   In order to solve the above problems, a motor control device according to the present invention employs the following means. First, a first invention of the present invention is a motor control for controlling the position of the control object using an electric motor for moving the position of the control object and position detecting means for detecting a position related to the electric motor. A position deviation calculation unit that calculates a position deviation that is a deviation between a command position for the electric motor and an actual position that is an actual position based on a detection signal from the position detection unit; A position feedback control unit that performs feedback control according to the deviation to output a first provisional command speed; a lower command speed that is a lower command speed for the electric motor and includes the first provisional command speed; A speed deviation calculation unit that calculates a speed deviation that is a difference between the actual speed that is the actual speed based on the detection signal from the control unit and feedback control according to the speed deviation. A speed feedback control unit that outputs a first provisional command current, a speed feedforward control unit that performs feedforward control according to an upper command speed that is different from the lower command speed and outputs a second provisional command current, A current addition operation unit that outputs the command current by adding the first temporary command current and the second temporary command current; and a current output unit that outputs a drive current to the electric motor based on the command current. Have. The speed feedforward control unit receives a higher-order command input, and outputs a speed-side acceleration input unit that outputs the input higher-order command acceleration as a speed-side acceleration output; and the higher-order command speed is input and input. A speed-side speed input unit that outputs the higher-order command speed as a speed-side speed output, and a limited speed range limited to a speed range of the higher-order command speed is divided into a plurality of preset adjacent speed ranges, The upper command speed is provided corresponding to a plurality of boundary speeds that are the boundaries of the divided speed ranges, and the higher command speed is input, and a speed-side boundary speed output is output from a portion corresponding to the higher command speed. A plurality of speed-side boundary speed inputs, and a speed-side first output that is the speed-side acceleration output, the speed-side speed output, and the speed-side boundary speed outputs; A plurality of speed-side first learning weights corresponding to the speed-side first weight learning unit, which changes the plurality of speed-side first learning weights according to the speed deviation, each of the speed-side first outputs, and each of the speed-side first outputs. A speed-side output unit that adds a plurality of speed-side first multiplied values multiplied by the corresponding speed-side first learning weight and outputs the sum as the second provisional command current. It is.

次に、本発明の第2の発明は、制御対象物の位置を移動させる電動モータと、当該電動モータに関する位置を検出する位置検出手段と、を用いて前記制御対象物の位置を制御するモータ制御装置であって、前記電動モータに対する指令位置と、前記位置検出手段からの検出信号に基づいた実際の位置である実位置と、の偏差である位置偏差を演算する位置偏差演算部と、前記位置偏差に応じてフィードバック制御して第1仮指令速度を出力する位置フィードバック制御部と、前記電動モータに対する下位指令速度であって前記第1仮指令速度を含む前記下位指令速度と、前記位置検出手段からの検出信号に基づいた実際の速度である実速度と、の偏差である速度偏差を演算する速度偏差演算部と、前記速度偏差に応じてフィードバック制御して第1仮指令電流を出力する速度フィードバック制御部と、前記下位指令速度とは異なる速度である上位指令速度に応じてフィードフォワード制御して第2仮指令電流を出力する速度フィードフォワード制御部と、前記第1仮指令電流と前記第2仮指令電流とを加算して指令電流を出力する電流加算演算部と、前記指令電流に基づいて電動モータへの駆動電流を出力する電流出力部と、を有する。そして、前記速度フィードフォワード制御部は、前記上位指令速度が入力され、入力された前記上位指令速度が正の場合に速度側正速度出力値を出力し、入力された前記上位指令速度が負の場合に速度側負速度出力値を出力する速度側正負速度発火部と、前記上位指令速度の速度範囲に対して限定した限定速度範囲を、予め設定した隣り合う複数の速度範囲毎に分割し、分割したそれぞれの前記速度範囲の境界となる速度である複数の境界速度を有し、前記上位指令速度が入力され、複数の前記境界速度のうち前記上位指令速度との速度差が所定速度差以内の前記境界速度から、前記速度差に基づいた速度側境界速度出力値を出力する速度側境界速度発火部と、上位指令加速度が入力され、入力された前記上位指令加速度を速度側加速度出力として出力する速度側加速度入力部と、前記速度側正速度出力値が入力され、入力された前記速度側正速度出力値を速度側正速度出力として出力する速度側正速度入力部と、前記速度側負速度出力値が入力され、入力された前記速度側負速度出力値を速度側負速度出力として出力する速度側負速度入力部と、複数の前記境界速度に対応させて用意され、前記速度側境界速度出力値が入力され、入力された前記速度側境界速度出力値を速度側境界速度出力として出力する複数の速度側境界速度入力部と、前記速度側加速度出力、前記速度側正速度出力、前記速度側負速度出力、複数の前記速度側境界速度出力、である速度側第1出力のそれぞれに対応する複数の速度側第1学習重みを、前記速度偏差に応じて変更する速度側第1重み学習部と、前記速度側第1出力のそれぞれと、当該速度側第1出力のそれぞれに対応する前記速度側第1学習重みと、を乗算した複数の速度側第1乗算値を加算して前記第2仮指令電流として出力する速度側出力部と、を有している、モータ制御装置である。   Next, a second invention of the present invention provides a motor for controlling the position of the control object using an electric motor for moving the position of the control object and position detecting means for detecting a position related to the electric motor. A control device, a position deviation calculation unit that calculates a position deviation that is a deviation between a command position for the electric motor and an actual position that is an actual position based on a detection signal from the position detection unit; A position feedback control unit that performs a feedback control according to a position deviation to output a first provisional command speed; a lower command speed that is a lower command speed for the electric motor and includes the first provisional command speed; A speed deviation calculating unit that calculates a speed deviation that is a difference between an actual speed that is an actual speed based on a detection signal from the means, and feedback control according to the speed deviation. A speed feedback control unit that outputs a first provisional command current, a speed feedforward control unit that performs feedforward control according to an upper command speed that is different from the lower command speed and outputs a second provisional command current, A current addition operation unit that outputs the command current by adding the first temporary command current and the second temporary command current; and a current output unit that outputs a drive current to the electric motor based on the command current. Have. The speed feedforward control unit receives the upper command speed, outputs a speed-side positive speed output value when the input higher command speed is positive, and the input higher command speed is negative. In the case, the speed-side positive / negative speed firing unit that outputs the speed-side negative speed output value, and a limited speed range limited to the speed range of the upper command speed, is divided into a plurality of adjacent speed ranges set in advance, It has a plurality of boundary speeds that are boundaries between the divided speed ranges, the upper command speed is input, and a speed difference between the upper command speed and the plurality of boundary speeds is within a predetermined speed difference. A speed-side boundary speed firing unit that outputs a speed-side boundary speed output value based on the speed difference from the boundary speed, and a higher-order command acceleration is input, and the input higher-order command acceleration is output as a speed-side acceleration output. A speed-side positive speed input unit that receives and outputs the speed-side normal speed output value as a speed-side normal speed output; and A speed-side negative speed output value is input, and a speed-side negative speed input unit that outputs the input speed-side negative speed output value as a speed-side negative speed output, and is provided corresponding to a plurality of the boundary speeds, A plurality of speed-side boundary speed input units for receiving a speed-side boundary speed output value and outputting the input speed-side boundary speed output value as a speed-side boundary speed output; the speed-side acceleration output; and the speed-side positive speed A plurality of speed-side first learning weights corresponding to each of the speed-side first outputs, which are output, the speed-side negative speed output, and the plurality of speed-side boundary speed outputs, according to the speed deviation; A first weight learning unit; A plurality of speed-side first multiplied values obtained by multiplying each of the speed-side first outputs and the speed-side first learning weight corresponding to each of the speed-side first outputs are added, and the second provisional command is obtained. A speed-side output unit that outputs a current.

また、本発明の第3の発明は、上記第2の発明に係るモータ制御装置であって、前記上位指令速度に応じてフィードフォワード制御して第2仮指令速度を出力する位置フィードフォワード制御部と、前記第1仮指令速度と前記第2仮指令速度とを加算して前記下位指令速度を出力する速度加算演算部と、を有する。そして、前記位置フィードフォワード制御部は、前記上位指令速度が入力され、入力された前記上位指令速度が正の場合に位置側正速度出力値を出力し、入力された前記上位指令速度が負の場合に位置側負速度出力値を出力する位置側正負速度発火部と、複数の前記境界速度を有し、前記上位指令速度が入力され、複数の前記境界速度のうち前記上位指令速度との速度差が所定速度差以内の前記境界速度から、前記速度差に基づいた位置側境界速度出力値を出力する位置側境界速度発火部と、前記上位指令加速度が入力され、入力された前記上位指令加速度を位置側加速度出力として出力する位置側加速度入力部と、前記位置側正速度出力値が入力され、入力された前記位置側正速度出力値を位置側正速度出力として出力する位置側正速度入力部と、前記位置側負速度出力値が入力され、入力された前記位置側負速度出力値を位置側負速度出力として出力する位置側負速度入力部と、複数の前記境界速度に対応させて用意され、前記位置側境界速度出力値が入力され、入力された前記位置側境界速度出力値を位置側境界速度出力として出力する複数の位置側境界速度入力部と、前記位置側加速度出力、前記位置側正速度出力、前記位置側負速度出力、複数の前記位置側境界速度出力、である位置側第1出力のそれぞれに対応する複数の位置側第1学習重みを、前記位置偏差に応じて変更する位置側第1重み学習部と、前記位置側第1出力のそれぞれと、当該位置側第1出力のそれぞれに対応する前記位置側第1学習重みと、を乗算した複数の位置側第1乗算値を加算して前記第2仮指令速度として出力する位置側出力部と、を有している、モータ制御装置である。   Further, a third invention of the present invention is the motor control device according to the second invention, wherein the position feedforward control section for performing feedforward control according to the upper command speed and outputting a second provisional command speed. A speed addition operation unit that adds the first provisional command speed and the second provisional command speed to output the lower command speed. The position feed forward control unit outputs the position-side positive speed output value when the upper command speed is input, and the input upper command speed is positive, and the input higher command speed is negative. A position-side positive / negative speed firing unit that outputs a position-side negative speed output value, and a plurality of the boundary speeds, the higher-order command speed is input, and a speed with the upper-order command speed among the plurality of the boundary speeds A position-side boundary speed firing unit that outputs a position-side boundary speed output value based on the speed difference from the boundary speed whose difference is within a predetermined speed difference, and the higher-order command acceleration is input; A position-side acceleration input unit that outputs the position-side normal speed output value, and a position-side normal speed input that outputs the position-side normal speed output value as a position-side normal speed output. Unit, the position-side negative speed output value is input, the position-side negative speed input unit that outputs the input position-side negative speed output value as a position-side negative speed output, and a plurality of the boundary speeds. Prepared, the position-side boundary speed output value is input, a plurality of position-side boundary speed input units that output the input position-side boundary speed output value as a position-side boundary speed output, and the position-side acceleration output, A plurality of position-side first learning weights corresponding to each of the position-side first speed outputs, the position-side negative speed outputs, the position-side boundary speed outputs, and the position-side first outputs, according to the position deviation. A position-side first weight learning unit to be changed; and a plurality of position-side first weights obtained by multiplying each of the position-side first outputs and the position-side first learning weight corresponding to each of the position-side first outputs. The multiplied value is added and the second temporary It has a position side output section that outputs a decree speed, a motor control device.

また、本発明の第4の発明は、制御対象物の位置を移動させる電動モータと、当該電動モータに関する位置を検出する位置検出手段と、を用いて前記制御対象物の位置を制御するモータ制御装置であって、前記電動モータに対する指令位置と、前記位置検出手段からの検出信号に基づいた実際の位置である実位置と、の偏差である位置偏差を演算する位置偏差演算部と、前記位置偏差に応じてフィードバック制御して第1仮指令速度を出力する位置フィードバック制御部と、前記電動モータに対する下位指令速度であって前記第1仮指令速度を含む前記下位指令速度と、前記位置検出手段からの検出信号に基づいた実際の速度である実速度と、の偏差である速度偏差を演算する速度偏差演算部と、前記速度偏差に応じてフィードバック制御して第1仮指令電流を出力する速度フィードバック制御部と、前記下位指令速度とは異なる速度である上位指令速度に応じてフィードフォワード制御して第2仮指令電流を出力する速度フィードフォワード制御部と、前記第1仮指令電流と前記第2仮指令電流とを加算して指令電流を出力する電流加算演算部と、前記指令電流に基づいて電動モータへの駆動電流を出力する電流出力部と、を有する。そして、前記速度フィードフォワード制御部は、前記上位指令速度が入力され、入力された前記上位指令速度が正の場合に速度側正速度出力値を出力し、入力された前記上位指令速度が負の場合に速度側負速度出力値を出力する速度側正負速度発火部と、前記上位指令速度の速度範囲に対して限定した限定速度範囲を、予め設定した隣り合う複数の速度範囲毎に分割し、分割したそれぞれの前記速度範囲の境界となる速度である複数の境界速度を有し、前記上位指令速度が入力され、複数の前記境界速度のうち前記上位指令速度との速度差が所定速度差以内の前記境界速度から、前記速度差に基づいた速度側境界速度出力値を出力する速度側境界速度発火部と、上位指令加速度が入力され、入力された前記上位指令加速度を、予め用意された複数の速度側演算部のそれぞれに向けて速度側加速度出力として出力する速度側加速度入力部と、前記速度側正速度出力値が入力され、入力された前記速度側正速度出力値を、複数の前記速度側演算部のそれぞれに向けて速度側正速度出力として出力する速度側正速度入力部と、前記速度側負速度出力値が入力され、入力された前記速度側負速度出力値を、複数の前記速度側演算部のそれぞれに向けて速度側負速度出力として出力する速度側負速度入力部と、複数の前記境界速度に対応させて用意され、前記速度側境界速度出力値が入力され、入力された前記速度側境界速度出力値を、複数の前記速度側演算部のそれぞれに向けて速度側境界速度出力として出力する複数の速度側境界速度入力部と、複数の前記速度側加速度出力、複数の前記速度側正速度出力、複数の前記速度側負速度出力、複数の前記速度側境界速度出力、である速度側第1出力のそれぞれに対応する複数の速度側第1学習重みを、前記速度偏差に応じて変更する速度側第1重み学習部と、前記速度側第1出力のそれぞれと、当該速度側第1出力のそれぞれに対応する前記速度側第1学習重みと、を乗算した複数の速度側第1乗算値を加算して速度側第2出力として出力する複数の前記速度側演算部と、前記速度側第2出力のそれぞれに対応する複数の速度側第2学習重みを、前記速度偏差に応じて変更する速度側第2重み学習部と、前記速度側第2出力のそれぞれと、当該速度側第2出力のそれぞれに対応する前記速度側第2学習重みと、を乗算した複数の速度側第2乗算値を加算して前記第2仮指令電流として出力する速度側出力部と、を有している、モータ制御装置である。   According to a fourth aspect of the present invention, there is provided a motor control for controlling the position of the control target using an electric motor for moving the position of the control target, and position detecting means for detecting a position related to the electric motor. A position deviation calculation unit that calculates a position deviation that is a deviation between a command position for the electric motor and an actual position that is an actual position based on a detection signal from the position detection unit; A position feedback control unit that performs feedback control according to the deviation to output a first provisional command speed; a lower command speed that is a lower command speed for the electric motor and includes the first provisional command speed; A speed deviation calculation unit that calculates a speed deviation that is a difference between the actual speed that is the actual speed based on the detection signal from the control unit and feedback control according to the speed deviation. A speed feedback control unit that outputs a first provisional command current, a speed feedforward control unit that performs feedforward control according to an upper command speed that is different from the lower command speed and outputs a second provisional command current, A current addition operation unit that outputs the command current by adding the first temporary command current and the second temporary command current; and a current output unit that outputs a drive current to the electric motor based on the command current. Have. The speed feedforward control unit receives the upper command speed, outputs a speed-side positive speed output value when the input higher command speed is positive, and the input higher command speed is negative. In the case, the speed-side positive / negative speed firing unit that outputs the speed-side negative speed output value, and a limited speed range limited to the speed range of the upper command speed, is divided into a plurality of adjacent speed ranges set in advance, It has a plurality of boundary speeds that are boundaries between the divided speed ranges, the upper command speed is input, and a speed difference between the upper command speed and the plurality of boundary speeds is within a predetermined speed difference. From the boundary speed, a speed-side boundary speed firing unit that outputs a speed-side boundary speed output value based on the speed difference, and a higher-order command acceleration is input, and the input higher-order command acceleration is prepared in advance. A speed-side acceleration input unit that outputs a speed-side acceleration output toward each of the number of speed-side calculation units, and the speed-side normal speed output value is input, and the input speed-side normal speed output value is divided into a plurality of A speed-side positive speed input unit that outputs a speed-side positive speed output toward each of the speed-side calculation units, and the speed-side negative speed output value is input, and the input speed-side negative speed output value is a plurality of values. A speed-side negative speed input unit that outputs as a speed-side negative speed output toward each of the speed-side calculation units, and is prepared in correspondence with a plurality of the boundary speeds, and the speed-side boundary speed output value is input; The input speed-side boundary speed output value, a plurality of speed-side boundary speed input units that output as a speed-side boundary speed output toward each of the plurality of speed-side calculation units, and a plurality of the speed-side acceleration outputs, More than one A plurality of speed-side first learning weights corresponding to each of the speed-side first outputs, which are a degree-side positive speed output, a plurality of the speed-side negative speed outputs, a plurality of the speed-side boundary speed outputs, to the speed deviation. A speed-side first weight learning unit that changes in accordance with each of the speed-side first outputs; and a plurality of speed-side weights obtained by multiplying each of the speed-side first outputs by the speed-side first learning weight corresponding to each of the speed-side first outputs. A plurality of speed-side arithmetic units for adding the first multiplied value and outputting as a speed-side second output; and a plurality of speed-side second learning weights corresponding to each of the speed-side second outputs, to the speed deviation. A speed-side second weight learning unit that changes in accordance with each of the speed-side second outputs, and a plurality of speed-side weights obtained by multiplying each of the speed-side second outputs by the speed-side second learning weight corresponding to each of the speed-side second outputs. The second multiplied value is added as the second provisional command current. And a speed-side output unit for outputting.

また、本発明の第5の発明は、上記第4の発明に係るモータ制御装置であって、前記上位指令速度に応じてフィードフォワード制御して第2仮指令速度を出力する位置フィードフォワード制御部と、前記第1仮指令速度と前記第2仮指令速度とを加算して前記下位指令速度を出力する速度加算演算部と、を有する。そして、前記位置フィードフォワード制御部は、前記上位指令速度が入力され、入力された前記上位指令速度が正の場合に位置側正速度出力値を出力し、入力された前記上位指令速度が負の場合に位置側負速度出力値を出力する位置側正負速度発火部と、複数の前記境界速度を有し、前記上位指令速度が入力され、複数の前記境界速度のうち前記上位指令速度との速度差が所定速度差以内の前記境界速度から、前記速度差に基づいた位置側境界速度出力値を出力する位置側境界速度発火部と、前記上位指令加速度が入力され、入力された前記上位指令加速度を、予め用意された複数の位置側演算部のそれぞれに向けて位置側加速度出力として出力する位置側加速度入力部と、前記位置側正速度出力値が入力され、入力された前記位置側正速度出力値を、複数の前記位置側演算部のそれぞれに向けて位置側正速度出力として出力する位置側正速度入力部と、前記位置側負速度出力値が入力され、入力された前記位置側負速度出力値を、複数の前記位置側演算部のそれぞれに向けて位置側負速度出力として出力する位置側負速度入力部と、複数の前記境界速度に対応させて用意され、前記位置側境界速度出力値が入力され、入力された前記位置側境界速度出力値を、複数の前記位置側演算部のそれぞれに向けて位置側境界速度出力として出力する複数の位置側境界速度入力部と、複数の前記位置側加速度出力、複数の前記位置側正速度出力、複数の前記位置側負速度出力、複数の前記位置側境界速度出力、である位置側第1出力のそれぞれに対応する複数の位置側第1学習重みを、前記位置偏差に応じて変更する位置側第1重み学習部と、前記位置側第1出力のそれぞれと、当該位置側第1出力のそれぞれに対応する前記位置側第1学習重みと、を乗算した複数の位置側第1乗算値を加算して位置側第2出力として出力する複数の前記位置側演算部と、前記位置側第2出力のそれぞれに対応する複数の位置側第2学習重みを、前記位置偏差に応じて変更する位置側第2重み学習部と、前記位置側第2出力のそれぞれと、当該位置側第2出力のそれぞれに対応する前記位置側第2学習重みと、を乗算した複数の位置側第2乗算値を加算して前記第2仮指令速度として出力する位置側出力部と、を有している、モータ制御装置である。   According to a fifth aspect of the present invention, there is provided the motor control device according to the fourth aspect, wherein the position feed-forward control unit outputs a second provisional command speed by performing feed-forward control according to the upper command speed. A speed addition operation unit that adds the first provisional command speed and the second provisional command speed to output the lower command speed. The position feed forward control unit outputs the position-side positive speed output value when the upper command speed is input, and the input upper command speed is positive, and the input higher command speed is negative. A position-side positive / negative speed firing unit that outputs a position-side negative speed output value, and a plurality of the boundary speeds, the higher-order command speed is input, and a speed with the upper-order command speed among the plurality of the boundary speeds A position-side boundary speed firing unit that outputs a position-side boundary speed output value based on the speed difference from the boundary speed whose difference is within a predetermined speed difference, and the higher-order command acceleration is input; A position-side acceleration input unit that outputs a position-side acceleration output value to each of a plurality of position-side operation units prepared in advance, and the position-side normal speed output value to which the position-side normal speed output value is input. A position-side positive speed input unit that outputs a force value as a position-side positive speed output toward each of the plurality of position-side operation units, and the position-side negative speed output value that is input, and the input position-side negative speed output value is input. A position-side negative speed input unit that outputs a speed output value as a position-side negative speed output toward each of the plurality of position-side calculation units; and a position-side negative speed input unit that is prepared in correspondence with the plurality of the boundary speeds. An output value is input, a plurality of position-side boundary speed input units that output the input position-side boundary speed output values as position-side boundary speed outputs toward each of the plurality of position-side operation units, A plurality of position-side second outputs corresponding to the position-side first outputs, which are the position-side acceleration output, the plurality of position-side positive speed outputs, the plurality of position-side negative speed outputs, and the plurality of position-side boundary speed outputs. 1 learning weight, A position-side first weight learning unit that changes in accordance with the deviation, a plurality of values obtained by multiplying each of the position-side first outputs and the position-side first learning weight corresponding to each of the position-side first outputs. A plurality of position-side arithmetic units for adding the position-side first multiplied values and outputting the same as a position-side second output; and a plurality of position-side second learning weights corresponding to each of the position-side second outputs, A position-side second weight learning unit that changes in accordance with the position deviation; a plurality of values obtained by multiplying each of the position-side second outputs by the position-side second learning weight corresponding to each of the position-side second outputs; And a position-side output unit that adds the position-side second multiplied value and outputs the sum as the second provisional command speed.

また、本発明の第6の発明は、上記第1の発明〜第5の発明のいずれか1つに係るモータ制御装置であって、速度と、前記制御対象物の位置を移動させる際の摩擦を含む所定の物理現象と、の関係を示す速度・物理現象特性であって、非線形特性とみなされる前記限定速度範囲を、部分的に線形特性とみなすことが可能なそれぞれの前記速度範囲に分割し、分割したそれぞれの前記速度範囲の境界となる速度が、前記境界速度として設定されている、モータ制御装置である。   According to a sixth aspect of the present invention, there is provided the motor control device according to any one of the first to fifth aspects, wherein the speed and the friction at the time of moving the position of the controlled object are changed. And a speed / physical phenomenon characteristic indicating a relationship between the limited speed range which is regarded as a non-linear characteristic, and divided into the respective speed ranges which can be partially regarded as a linear characteristic. And a speed that is a boundary between the divided speed ranges is set as the boundary speed.

また、本発明の第7の発明は、上記第2の発明〜第5の発明のいずれか1つに係るモータ制御装置であって、前記速度側境界速度発火部は、予め設定された速度の幅を広がり幅とする所定の分布関数を有しており、入力された前記上位指令速度と前記境界速度との前記速度差だけ前記分布関数の中央から離れた速度に対応する分布確率を、前記分布関数を用いてそれぞれの前記境界速度に対して求め、求めた前記分布確率がゼロでない前記境界速度に対してのみ発火して、前記上位指令速度が正の場合は求めた前記分布確率に基づいた正の値を、前記上位指令速度が負の場合は求めた前記分布確率に基づいた負の値を、発火した前記境界速度に対応する前記速度側境界速度出力値として出力する、モータ制御装置である。   Further, a seventh invention of the present invention is the motor control device according to any one of the second invention to the fifth invention, wherein the speed-side boundary speed firing section has a predetermined speed. A distribution function having a predetermined distribution function having a spread width, and a distribution probability corresponding to a speed apart from the center of the distribution function by the speed difference between the input higher-order command speed and the boundary speed, Determined for each of the boundary velocities using a distribution function, the determined distribution probability is fired only for the non-zero boundary speed, and based on the determined distribution probability when the upper command speed is positive. A motor control device that outputs a positive value, a negative value based on the distribution probability obtained when the upper command speed is negative, as the speed-side boundary speed output value corresponding to the boundary speed at which the ignition occurred. It is.

また、本発明の第8の発明は、上記第3の発明または第5の発明に係るモータ制御装置であって、前記位置側境界速度発火部は、予め設定された速度の幅を広がり幅とする所定の分布関数を有しており、入力された前記上位指令速度と前記境界速度との前記速度差だけ前記分布関数の中央から離れた速度に対応する分布確率を、前記分布関数を用いてそれぞれの前記境界速度に対して求め、求めた前記分布確率がゼロでない前記境界速度に対してのみ発火して、前記上位指令速度が正の場合は求めた前記分布確率に基づいた正の値を、前記上位指令速度が負の場合は求めた前記分布確率に基づいた負の値を、発火した前記境界速度に対応する前記位置側境界速度出力値として出力する、モータ制御装置である。   Further, an eighth invention of the present invention is the motor control device according to the third invention or the fifth invention, wherein the position-side boundary speed firing section increases the width of the preset speed to the expanded width. Having a predetermined distribution function, and a distribution probability corresponding to a velocity separated from the center of the distribution function by the velocity difference between the input higher-order command velocity and the boundary velocity, using the distribution function. For each of the boundary velocities, fire only for the boundary speed for which the obtained distribution probability is not zero, and when the upper command speed is positive, a positive value based on the obtained distribution probability is calculated. A motor control device that outputs a negative value based on the obtained distribution probability as the position-side boundary speed output value corresponding to the fired boundary speed when the upper command speed is negative.

第1の発明では、複数の速度範囲毎に速度側境界速度入力部と、速度側第1学習重みを用意し、上位指令速度に対応する速度側境界速度入力部から出力する速度側境界速度出力に速度側第1学習重みを乗算し、それを速度フィードフォワード制御部の指令電流に反映させ、速度偏差が少なくなる方向に速度側第1学習重みを変更する学習を実行している。このように、上位指令速度と速度偏差に応じて、複数の速度範囲毎に速度側第1学習重みを変更しているので、あらゆる速度に対して速度偏差が少ないモータ制御装置を提供できる。   In the first invention, a speed-side boundary speed input unit and a speed-side first learning weight are prepared for each of a plurality of speed ranges, and a speed-side boundary speed output output from the speed-side boundary speed input unit corresponding to the upper command speed. Is multiplied by the speed-side first learning weight, the result is reflected on the command current of the speed feedforward control unit, and learning is performed in which the speed-side first learning weight is changed in a direction in which the speed deviation decreases. As described above, since the speed-side first learning weight is changed for each of the plurality of speed ranges in accordance with the upper command speed and the speed deviation, it is possible to provide a motor control device with a small speed deviation for all speeds.

第2の発明では、複数の速度範囲毎に速度側境界速度発火部と、速度側境界速度入力部と、速度側第1学習重みを用意し、上位指令速度に対応する速度側境界速度発火部の複数の境界速度を発火させて複数の速度側境界速度入力部から速度側境界速度出力を出力させる。また各速度側境界速度出力は、上位指令速度と境界速度との速度差に応じた出力となり、複数の速度側境界速度出力にそれぞれ速度側第1学習重みを乗算し、これらの和を速度フィードフォワード制御部の指令電流として反映させ、速度偏差が少なくなる方向に速度側第1学習重みを変更する学習を実行している。このように、上位指令速度と速度偏差に応じて、複数の速度範囲毎に速度側第1学習重みを変更し、しかも1つの上位指令速度に対して複数の速度側境界速度出力を出力する。また各速度側境界速度出力は上位指令速度と境界速度との速度差に応じた出力であり、複数の速度側境界速度出力にそれぞれ速度側第1学習重みを乗算し、これらの和から得られる値は、第1の発明に比べて速度の連続性があり、あらゆる速度に対してより速度偏差が少ないモータ制御装置を提供できる。   In the second invention, a speed-side boundary speed firing unit, a speed-side boundary speed input unit, and a speed-side first learning weight are prepared for each of a plurality of speed ranges, and a speed-side boundary speed firing unit corresponding to a higher-order command speed is provided. Are fired to output a speed-side boundary speed output from the plurality of speed-side boundary speed input units. Each speed-side boundary speed output is an output corresponding to the speed difference between the higher-order command speed and the boundary speed. A plurality of speed-side boundary speed outputs are multiplied by the speed-side first learning weights, respectively, and the sum of the outputs is multiplied by the speed feed. The learning is performed by changing the speed-side first learning weight in a direction in which the speed deviation is reduced by reflecting the command current of the forward control unit. As described above, the speed-side first learning weight is changed for each of the plurality of speed ranges in accordance with the upper command speed and the speed deviation, and a plurality of speed-side boundary speed outputs are output for one upper command speed. Each speed-side boundary speed output is an output corresponding to a speed difference between a higher-order command speed and a boundary speed, and is obtained by multiplying a plurality of speed-side boundary speed outputs by speed-side first learning weights, respectively, and obtaining a sum of these. The value has a continuity of speed as compared with the first invention, and it is possible to provide a motor control device having a smaller speed deviation with respect to all speeds.

第3の発明では、位置フィードフォワード制御部に、第2の発明の速度フィードフォワード制御部と同じ構成を適用し、上位指令速度と位置偏差に応じて、位置フィードフォワード制御部の位置側第1学習重みを学習するので、あらゆる速度に対してより速度偏差、位置偏差が少ないモータ制御装置を提供できる。   In the third invention, the same configuration as that of the speed feedforward control unit of the second invention is applied to the position feedforward control unit, and the position side first position of the position feedforward control unit is controlled according to the upper command speed and the position deviation. Since the learning weights are learned, it is possible to provide a motor control device with less speed deviation and position deviation for all speeds.

第2の発明の速度フィードフォワード制御部は、各入力部と、速度側第1重み学習部と、速度側出力部とを有するパーセプトロンであり、第4の発明の速度フィードフォワード制御部は、各入力部と、速度側第1重み学習部と、速度側演算部と、速度側第2重み学習部と、速度側出力部とを有するニューラルネットワークである。複数の入力部からの出力にそれぞれ重みを乗算し、それらの和の組み合わせパターンは、パーセプトロンに比べてニューラルネットワークの方が多彩であるので、第2の発明に比べて、あらゆる速度に対してより速度偏差が少ないモータ制御装置を提供できる。   The speed feedforward control unit of the second invention is a perceptron having each input unit, a speed-side first weight learning unit, and a speed-side output unit, and the speed feedforward control unit of the fourth invention has This is a neural network having an input unit, a speed-side first weight learning unit, a speed-side operation unit, a speed-side second weight learning unit, and a speed-side output unit. The outputs from the plurality of input units are each multiplied by a weight, and the combination pattern of the sum is more varied in the neural network than in the perceptron. A motor control device with a small speed deviation can be provided.

第3の発明の位置フィードフォワード制御部は、各入力部と、位置側第1重み学習部と、位置側出力部とを有するパーセプトロンであり、第5の発明の位置フィードフォワード制御部は、各入力部と、位置側第1重み学習部と、位置側演算部と、位置側第2重み学習部と、位置側出力部とを有するニューラルネットワークである。複数の入力部からの出力にそれぞれ重みを乗算し、それらの和の組み合わせパターンは、パーセプトロンに比べてニューラルネットワークの方が多彩であるので、第3の発明に比べて、あらゆる速度に対してより速度偏差、位置偏差が少ないモータ制御装置を提供できる。   A position feedforward control unit according to a third invention is a perceptron having each input unit, a position-side first weight learning unit, and a position-side output unit, and the position feedforward control unit according to the fifth invention includes: This is a neural network having an input unit, a position-side first weight learning unit, a position-side operation unit, a position-side second weight learning unit, and a position-side output unit. The outputs from the plurality of input units are each multiplied by a weight, and the combination pattern of the sum is more versatile in the neural network than in the perceptron. It is possible to provide a motor control device with small speed deviation and position deviation.

第6の発明では、複数の速度範囲を、摩擦を含む所定の物理現象が速度に対して非線形となる速度範囲に適用したので、摩擦を含む所定の物理現象の有無にも係わらず、速度偏差が少ないモータ制御装置を提供できる。   In the sixth aspect, the plurality of speed ranges are applied to a speed range in which a predetermined physical phenomenon including friction is non-linear with respect to the speed. And a motor control device with less noise.

第7の発明によれば、上位指令速度に応じて位置が変化するとともに複数の速度範囲に跨る分布関数を使用し、各速度側境界速度出力は境界速度上の分布関数の値から求められているので、より速度の連続性があり、あらゆる速度に対してより速度偏差が少ないモータ制御装置を提供できる。   According to the seventh aspect, a distribution function that varies in position according to a higher-order command speed and spans a plurality of speed ranges is used, and each speed-side boundary speed output is obtained from a value of the distribution function on the boundary speed. Therefore, it is possible to provide a motor control device having more speed continuity and a smaller speed deviation for all speeds.

第8の発明によれば、上位指令速度に応じて位置が変化するとともに複数の速度範囲に跨る分布関数を使用し、各位置側境界速度出力は境界速度上の分布関数の値から求められているので、より速度の連続性があり、あらゆる速度に対してより速度偏差、位置偏差が少ないモータ制御装置を提供できる。   According to the eighth aspect, the position changes according to the upper command speed and the distribution function spanning a plurality of speed ranges is used, and each position-side boundary speed output is obtained from the value of the distribution function on the boundary speed. As a result, it is possible to provide a motor control device that has more continuity of speed and has less speed deviation and position deviation for all speeds.

第1の実施の形態のモータ制御装置を適用したロボットの外観の例を説明する図である。FIG. 2 is a diagram illustrating an example of an external appearance of a robot to which the motor control device according to the first embodiment is applied. 第1、第3の実施の形態のモータ制御装置の全体構成の例を説明する図である。FIG. 3 is a diagram illustrating an example of an overall configuration of a motor control device according to the first and third embodiments. 第1の実施の形態であって、図2における速度フィードフォワード制御部の内部構成を説明する概念図である。FIG. 4 is a conceptual diagram illustrating an internal configuration of a speed feedforward control unit in FIG. 2 according to the first embodiment. 静止摩擦特性と粘性摩擦特性を含む(合成)摩擦特性(全体としては非線形特性)の例と、境界速度の設定方法を説明する図である。FIG. 9 is a diagram illustrating an example of (synthetic) friction characteristics including a static friction characteristic and a viscous friction characteristic (non-linear characteristics as a whole) and a method of setting a boundary speed. 上位指令速度Vv>0かつ境界速度V11<上位指令速度Vv<境界速度V12の場合の例において、速度側正負速度発火部と速度側境界速度発火部からの発火状態の例を説明する図である。FIG. 11 is a diagram illustrating an example of a firing state from a speed-side positive / negative speed firing portion and a speed-side boundary speed firing portion in an example where upper command speed Vv> 0 and boundary speed V11 <higher command speed Vv <boundary speed V12. . 上位指令速度Vv>0かつ境界速度V12<上位指令速度Vv<境界速度V13の場合の例において、速度側正負速度発火部と速度側境界速度発火部からの発火状態の例を説明する図である。FIG. 11 is a diagram illustrating an example of a firing state from a speed-side positive / negative speed firing unit and a speed-side boundary speed firing unit in an example where upper command speed Vv> 0 and boundary speed V12 <upper command speed Vv <boundary speed V13. . 上位指令速度Vv<0かつ境界速度−V02<上位指令速度Vv<境界速度−V01の場合の例において、速度側正負速度発火部と速度側境界速度発火部からの発火状態の例を説明する図である。FIG. 4 is a diagram for explaining an example of a firing state from a speed-side positive / negative speed firing portion and a speed-side boundary speed firing portion in an example where upper command speed Vv <0 and boundary speed −V02 <upper command speed Vv <boundary speed−V01. It is. 上位指令速度Vv<0かつ境界速度−V03<上位指令速度Vv<境界速度−V02の場合の例において、速度側正負速度発火部と速度側境界速度発火部からの発火状態の例を説明する図である。FIG. 4 is a diagram illustrating an example of a firing state from a speed-side positive / negative speed firing unit and a speed-side boundary speed firing unit in an example where upper command speed Vv <0 and boundary speed −V03 <upper command speed Vv <boundary speed−V02. It is. 第1の実施の形態であって、図2における位置フィードフォワード制御部の内部構成を説明する概念図である。FIG. 3 is a conceptual diagram illustrating an internal configuration of a position feedforward control unit in FIG. 2 according to the first embodiment. 上位指令速度Vp>0かつ境界速度V11<上位指令速度Vp<境界速度V12の場合の例において、位置側正負速度発火部と位置側境界速度発火部からの発火状態の例を説明する図である。FIG. 9 is a diagram illustrating an example of a firing state from a position-side positive / negative speed firing unit and a position-side boundary speed firing unit in an example where upper command speed Vp> 0 and boundary speed V11 <upper command speed Vp <boundary speed V12. . 上位指令速度Vp<0かつ境界速度−V02<上位指令速度Vp<境界速度−V01の場合の例において、位置側正負速度発火部と位置側境界速度発火部からの発火状態の例を説明する図である。FIG. 4 is a diagram for explaining an example of a firing state from a position-side positive / negative speed firing unit and a position-side boundary speed firing unit in an example where upper command speed Vp <0 and boundary speed −V02 <upper command speed Vp <boundary speed−V01. It is. 従来の制御にて発生した位置偏差の例を説明する図である。FIG. 9 is a diagram illustrating an example of a position deviation generated by conventional control. 第1の実施の形態の制御にて発生した位置偏差の例(従来に対する本願の効果)を説明する図である。FIG. 7 is a diagram illustrating an example of a position deviation generated by the control of the first embodiment (effect of the present application over the related art). 第2、第4の実施の形態のモータ制御装置の全体構成の例を説明する図である。FIG. 9 is a diagram illustrating an example of an overall configuration of a motor control device according to second and fourth embodiments. 第3の実施の形態であって、図2における速度フィードフォワード制御部の内部構成を説明する概念図である。FIG. 13 is a conceptual diagram illustrating an internal configuration of a speed feedforward control unit in FIG. 2 according to a third embodiment. 第3の実施の形態であって、図2における位置フィードフォワード制御部の内部構成を説明する概念図である。FIG. 13 is a conceptual diagram illustrating an internal configuration of a position feedforward control unit in FIG. 2 according to a third embodiment. 第5、第6、第7の実施の形態であって、図14における速度フィードフォワード制御部の内部構成を説明する概念図である。FIG. 15 is a conceptual diagram illustrating an internal configuration of a speed feedforward control unit in FIG. 14 according to the fifth, sixth, and seventh embodiments. 第5の実施の形態において、上位指令速度Vv>0かつ境界速度V12<上位指令速度Vv<境界速度V13の場合の例において、速度側境界速度入力部H[m]の発火状態の例を説明する図である。In the fifth embodiment, an example of the ignition state of the speed-side boundary speed input unit H [m] in the case where the upper command speed Vv> 0 and the boundary speed V12 <the higher command speed Vv <the boundary speed V13 will be described. FIG. 第5の実施の形態において、上位指令速度Vv<0かつ境界速度−V03<上位指令速度Vv<境界速度−V02の場合の例において、速度側境界速度入力部H[m]の発火状態の例を説明する図である。In the fifth embodiment, in a case where the upper command speed Vv <0 and the boundary speed −V03 <the higher command speed Vv <the boundary speed −V02, an example of an ignition state of the speed-side boundary speed input unit H [m]. FIG. 第6の実施の形態において、上位指令速度Vv>0かつ境界速度V12<上位指令速度Vv<境界速度V13の場合の例において、速度側境界速度入力部H[m]の発火状態の例を説明する図である。In the sixth embodiment, an example of the ignition state of the speed-side boundary speed input unit H [m] in the case where the upper command speed Vv> 0 and the boundary speed V12 <the higher command speed Vv <the boundary speed V13 will be described. FIG. 第6の実施の形態において、上位指令速度Vv<0かつ境界速度−V03<上位指令速度Vv<境界速度−V02の場合の例において、速度側境界速度入力部H[m]の発火状態の例を説明する図である。In the sixth embodiment, in the case where the upper command speed Vv <0 and the boundary speed −V03 <the higher command speed Vv <the boundary speed −V02, an example of the firing state of the speed-side boundary speed input unit H [m] FIG. 第7の実施の形態において、上位指令速度Vv>0かつ境界速度V12<上位指令速度Vv<境界速度V13の場合の例において、速度側境界速度入力部H[m]の発火状態の例を説明する図である。In the seventh embodiment, an example of the ignition state of the speed-side boundary speed input unit H [m] in the case of the upper command speed Vv> 0 and the boundary speed V12 <the higher command speed Vv <the boundary speed V13 will be described. FIG. 第7の実施の形態において、上位指令速度Vv<0かつ境界速度−V03<上位指令速度Vv<境界速度−V02の場合の例において、速度側境界速度入力部H[m]の発火状態の例を説明する図である。In the seventh embodiment, in a case where the upper command speed Vv <0 and the boundary speed −V03 <the higher command speed Vv <the boundary speed −V02, an example of a firing state of the speed-side boundary speed input unit H [m]. FIG.

以下、本発明の実施の形態を、図面を用いて順に説明する。なおX軸、Y軸、Z軸が記載されている図では、X軸とY軸とZ軸は互いに直交している。   Hereinafter, embodiments of the present invention will be sequentially described with reference to the drawings. In the figures in which the X, Y, and Z axes are described, the X, Y, and Z axes are orthogonal to each other.

●●[第1の実施の形態(図1〜図11)]
第1の実施の形態のモータ制御装置92Uについて、図1に示すロボットを制御する制御装置を例として説明する。図1に示すロボットは、ベース91、第1旋回部92、第1揺動部93、第2旋回部94、第2揺動部95等を有している。
●● [First Embodiment (FIGS. 1 to 11)]
A motor control device 92U according to the first embodiment will be described using a control device for controlling the robot shown in FIG. 1 as an example. The robot shown in FIG. 1 includes a base 91, a first turning section 92, a first swing section 93, a second swing section 94, a second swing section 95, and the like.

ベース91には、エンコーダ91E(角度検出手段であり、位置検出手段としても使用できる)を有する電動モータ91Mが設けられている。電動モータ91Mは、モータ制御装置91Uからの駆動電流に基づいて、ベース91に対して第1旋回部92を旋回させる。またモータ制御装置91Uは、エンコーダ91Eからの検出信号に基づいて、第1旋回部92の旋回角度θ1を検出する。   The base 91 is provided with an electric motor 91M having an encoder 91E (which is an angle detecting means and can also be used as a position detecting means). The electric motor 91M turns the first turning portion 92 with respect to the base 91 based on the drive current from the motor control device 91U. Further, the motor control device 91U detects the turning angle θ1 of the first turning portion 92 based on the detection signal from the encoder 91E.

第1旋回部92には、エンコーダ92E(角度検出手段であり、位置検出手段としても使用できる)を有する電動モータ92Mが設けられている。電動モータ92Mは、モータ制御装置92Uからの駆動電流に基づいて、第1旋回部92に対して第1揺動部93を揺動させる。またモータ制御装置92Uは、エンコーダ92Eからの検出信号に基づいて、第1揺動部93の揺動角度θ2を検出する。   The first turning section 92 is provided with an electric motor 92M having an encoder 92E (which is an angle detecting means and can also be used as a position detecting means). The electric motor 92M swings the first swing unit 93 with respect to the first turning unit 92 based on the drive current from the motor control device 92U. Further, the motor control device 92U detects the swing angle θ2 of the first swing unit 93 based on the detection signal from the encoder 92E.

第1揺動部93には、エンコーダ93E(角度検出手段であり、位置検出手段としても使用できる)を有する電動モータ93Mが設けられている。電動モータ93Mは、モータ制御装置93Uからの駆動電流に基づいて、第1揺動部93に対して第2旋回部94を旋回させる。またモータ制御装置93Uは、エンコーダ93Eからの検出信号に基づいて、第2旋回部94の旋回角度θ3を検出する。   The first swing unit 93 is provided with an electric motor 93M having an encoder 93E (which is an angle detecting means and can also be used as a position detecting means). The electric motor 93 </ b> M causes the first swing unit 93 to swing the second swing unit 94 based on the drive current from the motor control device 93 </ b> U. Further, motor control device 93U detects a turning angle θ3 of second turning portion 94 based on a detection signal from encoder 93E.

第2旋回部94には、エンコーダ94E(角度検出手段であり、位置検出手段としても使用できる)を有する電動モータ94Mが設けられている。電動モータ94Mは、モータ制御装置94Uからの駆動電流に基づいて、第2旋回部94に対して第2揺動部95を揺動させる。またモータ制御装置94Uは、エンコーダ94Eからの検出信号に基づいて、第2揺動部95の揺動角度θ4を検出する。   The second turning section 94 is provided with an electric motor 94M having an encoder 94E (which is an angle detecting means and can also be used as a position detecting means). The electric motor 94M swings the second swing unit 95 with respect to the second turning unit 94 based on the drive current from the motor control device 94U. Further, the motor control device 94U detects the swing angle θ4 of the second swing portion 95 based on the detection signal from the encoder 94E.

そして、ロボット制御装置60より、モータ制御装置91Uへθ1回りの指令位置が送信され、モータ制御装置92Uへθ2回りの指令位置が送信され、モータ制御装置93Uへθ3回りの指令位置が送信され、モータ制御装置94Uへθ4回りの指令位置が送信されるようになっている。   Then, the command position around θ1 is transmitted from the robot control device 60 to the motor control device 91U, the command position around θ2 is transmitted to the motor control device 92U, and the command position around θ3 is transmitted to the motor control device 93U. The command position around θ4 is transmitted to the motor control device 94U.

以下、電動モータ92Mを例として、電動モータ92Mを制御するモータ制御装置92Uについて、図2〜図11を用いて説明する。なお、電動モータ91M、93M、94Mのそれぞれを制御するモータ制御装置91U、93U、94Uも同様であり、これらについては説明を省略する。   Hereinafter, a motor control device 92U that controls the electric motor 92M will be described using the electric motor 92M as an example with reference to FIGS. Note that the motor controllers 91U, 93U, and 94U that control the electric motors 91M, 93M, and 94M, respectively, are similar, and description thereof is omitted.

●[電動モータ92Mを制御するモータ制御装置92Uの構成(図2)]
図2に示すように、電動モータ92Mを制御するモータ制御装置92Uは、指令位置10inと実位置27outが入力されて下位指令速度15outを出力する第1制御部41と、下位指令速度15outと指令位置10inと実位置27outが入力されて指令電流25outを出力する第2制御部42と、指令電流25outが入力されて電動モータ92Mを駆動する駆動電流31outを出力する電流出力部43と、を有している。なお、指令位置は、この場合、指令角度と同じであり、現在の位置(角度)は、エンコーダ92Eからの検出信号に基づいて検出される。
● [Configuration of motor control device 92U for controlling electric motor 92M (FIG. 2)]
As shown in FIG. 2, the motor control device 92U that controls the electric motor 92M includes a first control unit 41 that receives a command position 10in and an actual position 27out and outputs a lower command speed 15out, a lower command speed 15out, and a command. The second control unit 42 receives the position 10in and the actual position 27out and outputs a command current 25out, and has a current output unit 43 that receives the command current 25out and outputs a drive current 31out for driving the electric motor 92M. are doing. In this case, the command position is the same as the command angle, and the current position (angle) is detected based on a detection signal from the encoder 92E.

●[第1制御部41の構成(図2)]
第1制御部41は、位置偏差演算部10、位置フィードバック制御部11、位置側入力速度演算部12、位置側入力加速度演算部13、位置フィードフォワード制御部14、速度加算演算部15等を有している。
● [Configuration of First Control Unit 41 (FIG. 2)]
The first control unit 41 includes a position deviation calculation unit 10, a position feedback control unit 11, a position-side input speed calculation unit 12, a position-side input acceleration calculation unit 13, a position feedforward control unit 14, a speed addition calculation unit 15, and the like. are doing.

位置偏差演算部10は、電動モータ92Mに対する指令位置10in(この場合、指令(回転)角度)と、当該電動モータ92Mに関する位置(この場合、電動モータ92Mの出力軸の回転角度)の実際の位置である実位置27out(エンコーダ92Eからの検出信号に基づいた実際の位置)と、が入力され、指令位置10inと実位置27outの偏差である位置偏差10outを演算して出力する。なお、実位置27outは、エンコーダ92Eからの検出信号から求められる。なお、電動モータ92Mと第1揺動部93との間に、減速比aの減速機構が存在する場合は、制御対象物である第1揺動部93の指令位置にa倍した値が、電動モータ92Mの指令位置10inとなる。   The position deviation calculator 10 calculates the command position 10in (in this case, the command (rotation) angle) for the electric motor 92M and the actual position of the position (in this case, the rotation angle of the output shaft of the electric motor 92M) for the electric motor 92M. (The actual position based on the detection signal from the encoder 92E) is input, and a position deviation 10out which is a deviation between the command position 10in and the actual position 27out is calculated and output. Note that the actual position 27out is obtained from a detection signal from the encoder 92E. If a speed reduction mechanism with a reduction ratio a exists between the electric motor 92M and the first swinging portion 93, the value multiplied by a to the command position of the first swinging portion 93, which is the control target, is: It becomes the command position 10in of the electric motor 92M.

位置フィードバック制御部11は、位置偏差10outが入力され、入力された位置偏差10outに応じてフィードバック制御して、第1仮指令速度11outを出力する。位置フィードバック制御部11は、いわゆるPID制御である比例項(P)、積分項(I)、微分項(D)、の少なくとも1つを有し、第1仮指令速度11outを出力する。なお、PID制御は既存の制御と同様であるので、詳細な説明は省略する。   The position feedback control unit 11 receives the position deviation 10out, performs feedback control according to the input position deviation 10out, and outputs the first provisional command speed 11out. The position feedback control unit 11 has at least one of a proportional term (P), an integral term (I), and a differential term (D), which is so-called PID control, and outputs a first provisional command speed 11out. Since the PID control is the same as the existing control, a detailed description is omitted.

位置側入力速度演算部12は、指令位置10inが(入力位置(この場合、回転角度)として)入力され、指令位置10inの時間に応じた変化に基づいた速度(この場合、回転角速度)である入力速度12out(位置側速度に相当)を出力する。   The position-side input speed calculator 12 receives the commanded position 10in (as the input position (in this case, the rotation angle)) and calculates the speed (in this case, the rotation angular speed) based on the time-dependent change of the commanded position 10in. An input speed of 12 out (corresponding to the position-side speed) is output.

位置側入力加速度演算部13は、入力速度12outが入力され、入力速度12outの時間に応じた変化に基づいた加速度(この場合、回転角加速度)である入力加速度13out(位置側加速度に相当)を出力する。   The position-side input acceleration calculation unit 13 receives the input speed 12out and calculates an input acceleration 13out (corresponding to the position-side acceleration) which is an acceleration (in this case, a rotational angular acceleration) based on a change of the input speed 12out with time. Output.

位置フィードフォワード制御部14は、入力速度12out(位置側速度)、入力加速度13out(位置側加速度)、位置偏差10out、が入力され、これらの入力に応じてフィードフォワード制御して、第2仮指令速度14outを出力する。位置フィードフォワード制御部14は、重み学習機能付きネットワークで構成されており、詳細については後述する。   The position feedforward control unit 14 receives the input speed 12out (position-side speed), the input acceleration 13out (position-side acceleration), and the position deviation 10out, and performs feedforward control according to these inputs to perform the second provisional command. Output speed 14out. The position feed forward control unit 14 is configured by a network with a weight learning function, and will be described later in detail.

速度加算演算部15は、第1仮指令速度11outと第2仮指令速度14outが入力され、第1仮指令速度11outと第2仮指令速度14outを加算した下位指令速度15out(この場合、指令旋回角速度)を出力する。   The speed addition calculation unit 15 receives the first provisional command speed 11out and the second provisional command speed 14out, and adds the first provisional command speed 11out and the second provisional command speed 14out to the lower command speed 15out (in this case, command turning). Angular velocity).

●[第2制御部42の構成(図2)]
第2制御部42は、速度偏差演算部20、速度フィードバック制御部21、速度側入力速度演算部22、速度側入力加速度演算部23、速度フィードフォワード制御部24、電流加算演算部25、実速度演算部28等を有している。
● [Configuration of Second Control Unit 42 (FIG. 2)]
The second control unit 42 includes a speed deviation calculation unit 20, a speed feedback control unit 21, a speed-side input speed calculation unit 22, a speed-side input acceleration calculation unit 23, a speed feedforward control unit 24, a current addition calculation unit 25, and an actual speed. It has an operation unit 28 and the like.

速度偏差演算部20は、下位指令速度15outと、電動モータ92Mの出力軸の実際の速度(この場合、回転角速度)である実速度28out(エンコーダ92Eからの検出信号に基づいた実際の速度)と、が入力され、下位指令速度15outと実速度28outの偏差である速度偏差20outを演算して出力する。なお、実速度28outは、実速度演算部28によって、エンコーダ92Eからの検出信号に応じた実位置27out(この場合、実回転角)の時間に応じた変化から求められる。実速度演算部28は、実位置27outが入力され、実速度28outを出力する。   The speed deviation calculator 20 calculates the lower order command speed 15out, the actual speed 28out (actual speed based on the detection signal from the encoder 92E), which is the actual speed of the output shaft of the electric motor 92M (in this case, the rotational angular speed). , And calculates and outputs a speed deviation 20out which is a deviation between the lower command speed 15out and the actual speed 28out. The actual speed 28out is obtained by the actual speed calculator 28 from the time-dependent change of the actual position 27out (in this case, the actual rotation angle) according to the detection signal from the encoder 92E. The actual speed calculator 28 receives the actual position 27out and outputs an actual speed 28out.

速度フィードバック制御部21は、速度偏差20outが入力され、入力された速度偏差20outに応じてフィードバック制御して、第1仮指令電流21outを出力する。速度フィードバック制御部21は、いわゆるPID制御である比例項(P)、積分項(I)、微分項(D)、の少なくとも1つを有し、第1仮指令電流21outを出力する。なお、PID制御は既存の制御と同様であるので、詳細な説明は省略する。   The speed feedback control unit 21 receives the speed deviation 20out, performs feedback control according to the input speed deviation 20out, and outputs a first provisional command current 21out. The speed feedback control unit 21 has at least one of a proportional term (P), an integral term (I), and a differential term (D), which is so-called PID control, and outputs a first provisional command current 21out. Since the PID control is the same as the existing control, a detailed description is omitted.

速度側入力速度演算部22は、指令位置10inが(入力位置(この場合、回転角度)として)入力され、指令位置10inの時間に応じた変化に基づいた速度(この場合、回転角速度)である入力速度22out(速度側速度に相当)を出力する。   The speed-side input speed calculator 22 receives the command position 10in (as the input position (in this case, the rotation angle)) and calculates the speed (the rotation angular speed in this case) based on the time-dependent change of the command position 10in. Outputs the input speed 22out (corresponding to the speed side speed).

速度側入力加速度演算部23は、入力速度22outが入力され、入力速度22outの時間に応じた変化に基づいた加速度(この場合、回転角加速度)である入力加速度23out(速度側加速度に相当)を出力する。   The speed-side input acceleration calculator 23 receives the input speed 22out, and calculates an input acceleration 23out (corresponding to the speed-side acceleration) which is an acceleration (in this case, a rotational angular acceleration) based on a change of the input speed 22out with time. Output.

速度フィードフォワード制御部24は、入力速度22out(速度側速度)、入力加速度23out(速度側加速度)、速度偏差20out、が入力され、これらの入力に応じてフィードフォワード制御して、第2仮指令電流24outを出力する。速度フィードフォワード制御部24は、重み学習機能付きネットワークで構成されており、詳細については後述する。   The speed feedforward control unit 24 receives an input speed 22out (speed-side speed), an input acceleration 23out (speed-side acceleration), and a speed deviation 20out, and performs feedforward control according to these inputs to perform the second provisional command. Outputs current 24out. The speed feedforward control unit 24 is configured by a network with a weight learning function, and will be described later in detail.

電流加算演算部25は、第1仮指令電流21outと第2仮指令電流24outが入力され、第1仮指令電流21outと第2仮指令電流24outを加算した指令電流25outを出力する。   The current addition calculation unit 25 receives the first provisional command current 21out and the second provisional command current 24out, and outputs a command current 25out obtained by adding the first provisional command current 21out and the second provisional command current 24out.

●[電流出力部43の構成(図2)]
電流出力部43は、電流偏差演算部30、電流フィードバック制御部31等を有している。
● [Configuration of current output unit 43 (FIG. 2)]
The current output unit 43 includes a current deviation calculation unit 30, a current feedback control unit 31, and the like.

電流偏差演算部30は、指令電流25outと、実際に出力している電流である駆動電流31out(実電流)と、が入力され、指令電流25outと駆動電流31out(実電流)の偏差である電流偏差30outを演算して出力する。   The current deviation calculator 30 receives the command current 25out and the driving current 31out (actual current) that is the current that is actually output, and outputs a current that is a deviation between the command current 25out and the driving current 31out (actual current). The deviation 30out is calculated and output.

電流フィードバック制御部31は、電流偏差30outが入力され、入力された電流偏差30outに応じてフィードバック制御して、電動モータ91Mを駆動する駆動電流31outを出力する。電流フィードバック制御部31は、いわゆるPID制御である比例項(P)、積分項(I)、微分項(D)、の少なくとも1つを有し、駆動電流31outを出力する。なお、PID制御は既存の制御と同様であるので、詳細な説明は省略する。   The current feedback controller 31 receives the current deviation 30out, performs feedback control according to the input current deviation 30out, and outputs a driving current 31out for driving the electric motor 91M. The current feedback control unit 31 has at least one of a proportional term (P), an integral term (I), and a differential term (D), which is so-called PID control, and outputs a drive current 31out. Since the PID control is the same as the existing control, a detailed description is omitted.

●[速度フィードフォワード制御部24の重み学習機能付きネットワークの構成(図3)]
次に図3を用いて、速度フィードフォワード制御部24内の重み学習機能付きネットワークについて説明する。速度フィードフォワード制御部24のほうが、位置フィードフォワード制御部14よりも位置偏差の低減への影響が大きいので、まず速度フィードフォワード制御部24を説明する。速度フィードフォワード制御部24は、入力処理部241と、単純パーセプトロン242と、を有している。入力処理部241は、速度側正負速度発火部24E、速度側境界速度発火部24F、を有している。単純パーセプトロン242は、入力層24A、速度側第1重み学習部24G、出力層24C、を有している。
● [Configuration of Network with Weight Learning Function of Speed Feedforward Control Unit 24 (FIG. 3)]
Next, a network with a weight learning function in the speed feedforward control unit 24 will be described with reference to FIG. Since the speed feedforward control unit 24 has a greater effect on reducing the position deviation than the position feedforward control unit 14, the speed feedforward control unit 24 will be described first. The speed feedforward control unit 24 has an input processing unit 241 and a simple perceptron 242. The input processing unit 241 includes a speed-side positive / negative speed firing unit 24E and a speed-side boundary speed firing unit 24F. The simple perceptron 242 has an input layer 24A, a speed-side first weight learning unit 24G, and an output layer 24C.

なお、図3に示す速度フィードフォワード制御部24に入力される速度(入力速度22out)は、図2に示すように、ロボット制御装置60からの指令位置10inを微分して求めているが、指令位置10inの微分から求めることなく、種々の位置に関する情報を微分して求めてもよいし、ロボット制御装置60からの指令速度を用いてもよい。このため、以降では、図3に示す速度フィードフォワード制御部24に入力される速度を、入力速度22outではなく、(下位指令速度15outとは異なる)上位指令速度Vvと記載する。同様に、図3に示す速度フィードフォワード制御部24に入力される加速度(入力加速度23out)は、図2に示すように、ロボット制御装置60からの指令位置10inを2回微分して求めているが、指令位置10inの2回微分から求めることなく、種々の位置に関する情報を2回微分して求めてもよいし、ロボット制御装置60からの指令速度を微分して求めてもよい。このため、以降では、図3に示す速度フィードフォワード制御部24に入力される加速度を、入力加速度23outではなく、上位指令加速度αvと記載する。   The speed (input speed 22out) input to the speed feedforward control unit 24 shown in FIG. 3 is obtained by differentiating the command position 10in from the robot controller 60 as shown in FIG. Instead of calculating from the differentiation of the position 10in, information on various positions may be obtained by differentiating, or a command speed from the robot controller 60 may be used. For this reason, hereinafter, the speed input to the speed feedforward control unit 24 shown in FIG. 3 will be referred to as the upper command speed Vv (different from the lower command speed 15out) instead of the input speed 22out. Similarly, the acceleration (input acceleration 23out) input to the speed feedforward control unit 24 shown in FIG. 3 is obtained by differentiating the command position 10in from the robot control device 60 twice as shown in FIG. May be obtained by differentiating the information on various positions twice, or by differentiating the command speed from the robot control device 60, without obtaining it from the twice differentiation of the command position 10in. For this reason, hereinafter, the acceleration input to the speed feedforward control unit 24 shown in FIG. 3 is described as the higher-order command acceleration αv instead of the input acceleration 23out.

●[入力処理部241について(図3〜図8)]
速度側正負速度発火部24Eには、上位指令速度Vvが入力されている。速度側正負速度発火部24Eは、入力された上位指令速度Vvが正(>0)の場合に、「Vv(>0)」の側が発火して「Vv(<0)」の側は発火せず、速度側正速度入力部K[2]へ、速度側正速度出力値(値は上位指令速度Vvの値)を出力する。また速度側正負速度発火部24Eは、入力された上位指令速度Vvが負(<0)の場合に、「Vv(<0)」の側が発火して「Vv(>0)」の側は発火せず、速度側負速度入力部K[3]へ、速度側負速度出力値(値は上位指令速度Vvの値)を出力する。
● [About the input processing unit 241 (FIGS. 3 to 8)]
The higher-order command speed Vv is input to the speed-side positive / negative speed firing unit 24E. The speed-side positive / negative speed firing unit 24E ignites the “Vv (> 0)” side and ignites the “Vv (<0)” side when the input upper command speed Vv is positive (> 0). Instead, it outputs the speed-side positive speed output value (the value is the value of the upper command speed Vv) to the speed-side positive speed input unit K [2]. The speed-side positive / negative speed firing unit 24E fires on the side of “Vv (<0)” and fires on the side of “Vv (> 0)” when the input upper command speed Vv is negative (<0). Instead, it outputs the speed-side negative speed output value (the value is the value of the higher-order command speed Vv) to the speed-side negative speed input unit K [3].

速度側境界速度発火部24Fには、上位指令速度Vvが入力されている。速度側境界速度発火部24Fは、上位指令速度Vvの速度の範囲に対して限定した限定速度範囲を、予め設定した隣り合う複数の速度範囲毎に分割した際の、速度範囲毎の境界となる速度である複数の境界速度(−V0n〜V1n)を有している(図4参照)。そして速度側境界速度発火部24Fは、入力された上位指令速度Vvとの速度差が所定速度差以内の境界速度から、当該速度差に基づいた速度側境界速度出力値を出力する。なお、限定速度範囲、速度範囲、境界速度、速度側境界速度出力値については、図4〜図8を用いて説明する。   The higher-order command speed Vv is input to the speed-side boundary speed firing unit 24F. The speed-side boundary speed firing unit 24F serves as a boundary for each speed range when the limited speed range limited to the speed range of the upper command speed Vv is divided into a plurality of adjacent speed ranges set in advance. It has a plurality of boundary velocities (-V0n to V1n) as velocities (see FIG. 4). Then, the speed-side boundary speed firing section 24F outputs a speed-side boundary speed output value based on the speed difference from a boundary speed whose speed difference from the input higher-order command speed Vv is within a predetermined speed difference. The limited speed range, speed range, boundary speed, and speed-side boundary speed output value will be described with reference to FIGS.

●[限定速度範囲と速度範囲と境界速度について(図4)]
次に図4を用いて、限定速度範囲と速度範囲と境界速度(−V0n〜V1n)について説明する。電動モータ92Mを用いて第1揺動部93(図1参照)を揺動させる場合、各部の摩擦(電動モータ92Mの内部の摩擦や、第1揺動部93と第1旋回部92との摩擦等)によって位置偏差が生ずる。そして摩擦力は、主に静止摩擦と粘性摩擦が合成された合成摩擦で表され、速度に応じて摩擦力は変化する。
● [Limited speed range, speed range, and boundary speed (Fig. 4)]
Next, the limited speed range, the speed range, and the boundary speed (-V0n to V1n) will be described with reference to FIG. When the first rocking portion 93 (see FIG. 1) is rocked by using the electric motor 92M, the friction of each portion (the friction inside the electric motor 92M and the friction between the first rocking portion 93 and the first turning portion 92). Due to friction, etc.). The frictional force is mainly represented by a combined friction of the static friction and the viscous friction, and the frictional force changes according to the speed.

図4は、電動モータ92Mに対する上位指令速度Vvの大きさと、制御対象物の位置を移動させる際の所定の物理現象(この場合、摩擦)と、の関係を示す速度・物理現象特性を示しており、横軸は速度(上位指令速度Vv)を示し、縦軸は摩擦力を示している。また図4中において一点鎖線にて示す特性は静止摩擦特性を示しており、二点鎖線にて示す特性は粘性摩擦特性を示し、太実線にて示す特性は静止摩擦特性と粘性摩擦特性とを合成した合成摩擦特性を示している。   FIG. 4 shows speed / physical phenomenon characteristics showing the relationship between the magnitude of the upper command speed Vv for the electric motor 92M and a predetermined physical phenomenon (in this case, friction) when moving the position of the control object. The horizontal axis represents the speed (upper command speed Vv), and the vertical axis represents the frictional force. In FIG. 4, the characteristics indicated by the dashed line indicate the static friction characteristics, the characteristics indicated by the two-dot chain line indicate the viscous friction characteristics, and the characteristics indicated by the thick solid line indicate the static friction characteristics and the viscous friction characteristics. Fig. 9 shows the synthesized friction characteristics that have been synthesized.

速度が正の領域では、静止摩擦特性は速度がゼロの近傍から増加するに従って徐々に減少する特性を示し、粘性摩擦特性は速度がゼロの近傍から増加するに従って徐々に増加する特性を示している。そして速度が正の領域では、合成摩擦特性は、速度=V1n(所定正速度に相当)を境界として、速度がV1n以下の領域(かつ速度>0)では非線形特性とみなされ、速度がV1nより大きい領域では線形特性とみなすことができる。従って、速度が正の領域では、合成摩擦特性は全体としては非線形特性とみなされる。   In the region where the speed is positive, the static friction characteristic shows a characteristic that gradually decreases as the speed increases from near zero, and the viscous friction characteristic shows a characteristic that gradually increases as the speed increases from near zero. . In the region where the speed is positive, the synthetic friction characteristic is regarded as a non-linear characteristic in the region where the speed is equal to or less than V1n (corresponding to the predetermined positive speed) and the speed is equal to or lower than V1n (and speed> 0). In a large area, it can be regarded as a linear characteristic. Therefore, in the region where the speed is positive, the synthetic friction characteristic is regarded as a non-linear characteristic as a whole.

速度が負の領域では、静止摩擦特性は速度がゼロの近傍から減少するに従って徐々に増加する特性を示し、粘性摩擦特性は速度がゼロの近傍から減少するに従って徐々に減少する特性を示している。そして速度が負の領域では、合成摩擦特性は、速度=−V0n(所定負速度に相当)を境界として、速度が−V0n以上の領域(かつ速度<0)では非線形特性とみなされ、速度が−V0n未満の領域では線形特性とみなすことができる。従って、速度が負の領域では、合成摩擦特性は全体としては非線形特性とみなされる。なお、図4の例は、速度がV1n以上の領域の合成摩擦特性の傾きよりも、速度が−V0n未満の領域の合成摩擦特性の傾きの方が、やや緩やかとなっている例を示している。また図4の例は、速度がV11からV15の領域の合成摩擦特性の曲率よりも、速度が−V05から−V01の領域の合成摩擦特性の曲率の方が、小さくなっている(曲がり具合が緩くなっている)例を示している。従って、図4の例に示すように、速度・摩擦力特性(合成摩擦特性)は、速度が正(>0)の領域と、速度が負(<0)の領域で、点対称にならない。なお状況によっては、速度・摩擦力特性(合成摩擦特性)が、速度が正の領域と、速度が負の領域とで点対称となる場合があり、この場合は、速度の正負を考慮しないで、全部正として扱ってもよい。   In the negative speed region, the static friction characteristic shows a characteristic that gradually increases as the speed decreases from near zero, and the viscous friction characteristic shows a characteristic that gradually decreases as the speed decreases from near zero. . Then, in the region where the speed is negative, the synthetic friction characteristic is regarded as a non-linear characteristic in the region where the speed is equal to or higher than −V0n (and speed <0), with the boundary of speed = −V0n (corresponding to a predetermined negative speed). In a region less than -V0n, it can be regarded as a linear characteristic. Therefore, in the region where the speed is negative, the synthetic friction characteristic is regarded as a non-linear characteristic as a whole. In addition, the example of FIG. 4 shows an example in which the slope of the combined friction characteristic in the region where the speed is less than -V0n is slightly gentler than the slope of the combined friction characteristic in the region where the speed is V1n or more. I have. In the example of FIG. 4, the curvature of the combined friction characteristics in the region where the speed is −V05 to −V01 is smaller than the curvature of the combined friction characteristics in the region where the speed is V11 to V15 (the degree of bending is small). (Loose). Therefore, as shown in the example of FIG. 4, the speed / frictional force characteristics (synthetic friction characteristics) are not point-symmetric in a region where the speed is positive (> 0) and in a region where the speed is negative (<0). Depending on the situation, the speed / frictional force characteristics (synthetic friction characteristics) may be point-symmetric between a region where the speed is positive and a region where the speed is negative. In this case, the sign of the speed is not considered. , May be treated as positive.

合成摩擦特性は全体としては非線形特性であるためモデル化が困難であり、従来のニューラルネットワークを用いた速度フィードフォワード制御では、適切に位置偏差を低減することができない。そこで本願では、非線形特性の合成摩擦特性を、線形特性とみなすことが可能な速度範囲毎に分割することで、速度範囲毎に線形特性とみなし、適切に位置偏差を低減することを可能としている。つまり、非線形特性の合成摩擦特性を、線形特性とみなすことが可能な速度範囲毎に分割し、分割した速度範囲毎(線形特性毎)に、後述する重み学習を行うことで、あらゆる速度において位置偏差を低減することを可能としている。   Since the synthetic friction characteristic is a nonlinear characteristic as a whole, it is difficult to model it, and the position deviation cannot be appropriately reduced by the speed feedforward control using the conventional neural network. Therefore, in the present application, the composite friction characteristic of the non-linear characteristic is divided for each speed range that can be regarded as a linear characteristic, so that it is regarded as a linear characteristic for each speed range, and the position deviation can be appropriately reduced. . In other words, the composite friction characteristic of the non-linear characteristic is divided into speed ranges that can be regarded as linear characteristics, and weight learning described later is performed for each of the divided speed ranges (for each linear characteristic), so that the position can be determined at any speed. It is possible to reduce the deviation.

そこで、図4に示す合成摩擦特性において、速度が正(>0)の領域にて、非線形特性とみなされる速度V1n以下かつ速度>0の領域である限定速度範囲を、部分的に線形特性とみなすことが可能な速度範囲毎の領域に分割する。例えば図4の例では、速度(V11)〜速度(V12)の領域、速度(V12)〜速度(V13)の領域、速度(V13)〜速度(V14)の領域等に分割する。各領域の速度範囲内では、合成摩擦特性は直線状であり、線形特性とみなすことができる。この各領域の速度範囲の境界となる各速度を、境界速度V11〜V1nとして設定する。そして、線形特性とみなすことができる速度領域と、非線形特性とみなされる速度領域と、の境界となる正の側の境界速度V1nを所定正速度V1nとする。従って、速度が正の領域については、非線形特性とみなされる所定正速度以下の領域である限定速度範囲において、正の側のそれぞれの境界速度(V11〜V1n)が設定されている。例えば、合成摩擦特性の曲率が比較的大きな部分では速度範囲を狭く(例えば境界速度V13と境界速度V14の速度範囲)して、合成摩擦促成の曲率が比較的小さな部分では速度範囲を広く(例えば境界速度V11と境界速度V12の速度範囲)している。つまり、各境界速度の間隔は、不等間隔である。これにより、各速度範囲内では、合成摩擦特性が直線状となり、各速度範囲内において線形特性とみなすことができる(以下の速度が負の場合も同様)。なお、速度=0(ゼロ)の場合については、合成摩擦特性の値を特定できないので、境界速度V11(>0)は、0(ゼロ)ではないが、0(ゼロ)に近い値に設定されている。   Therefore, in the synthetic friction characteristics shown in FIG. 4, in the region where the speed is positive (> 0), the limited speed range in which the speed is less than V1n and the speed is greater than 0, which is regarded as the non-linear characteristic, is partially changed to the linear characteristic. It is divided into regions for each speed range that can be considered. For example, in the example of FIG. 4, the region is divided into a region of speed (V11) to speed (V12), a region of speed (V12) to speed (V13), a region of speed (V13) to speed (V14), and the like. Within the speed range of each region, the resultant friction characteristics are linear and can be regarded as linear characteristics. The speeds at the boundaries of the speed ranges of the respective areas are set as boundary speeds V11 to V1n. The boundary speed V1n on the positive side, which is the boundary between the speed region that can be considered as a linear characteristic and the speed region that is considered as a non-linear characteristic, is defined as a predetermined positive speed V1n. Therefore, in the region where the speed is positive, the boundary speeds (V11 to V1n) on the positive side are set in the limited speed range which is a region equal to or lower than the predetermined positive speed which is regarded as a non-linear characteristic. For example, in a portion where the curvature of the synthetic friction characteristic is relatively large, the speed range is narrow (for example, the speed range of the boundary speed V13 and the boundary speed V14), and in a portion where the curvature of the synthetic friction forcing is relatively small, the speed range is wide (for example, (Velocity range of boundary speed V11 and boundary speed V12). That is, the intervals between the boundary velocities are unequal. As a result, within each speed range, the resultant friction characteristics become linear, and can be regarded as linear characteristics within each speed range (the same applies when the following speeds are negative). In the case where the speed is 0 (zero), the value of the synthetic friction characteristic cannot be specified. Therefore, the boundary speed V11 (> 0) is not 0 (zero) but is set to a value close to 0 (zero). ing.

速度が負(<0)の領域についても同様に、非線形特性とみなされる速度−V1n以上かつ速度<0の領域である限定速度範囲を、部分的に線形特性とみなすことが可能な速度範囲毎の領域に分割する。例えば図4の例では、速度(−V05)〜速度(V−04)の領域、速度(−V04)〜速度(−V03)の領域、速度(−V03)〜速度(−V02)の領域等に分割する。各領域の速度範囲内では、合成摩擦特性は直線状であり、線形特性とみなすことができる。この各領域の速度範囲の境界となる各速度を、境界速度−V01〜−V0nとして設定する。そして、線形特性とみなすことができる速度領域と、非線形特性とみなされる速度領域と、の境界となる負の側の境界速度−V0nを所定負速度−V0nとする。従って、速度が負の領域については、非線形特性とみなされる所定負速度以上の領域である限定速度範囲において、負の側のそれぞれの境界速度(−V01〜−V0n)が設定されている。なお、速度=0(ゼロ)の場合については、合成摩擦特性の値を特定できないので、境界速度−V01(<0)は、0(ゼロ)ではないが、0(ゼロ)に近い値に設定されている。次に図5〜図8を用いて、速度側正負速度発火部24E及び速度側境界速度発火部24Fの動作について説明する。   Similarly, in the region where the speed is negative (<0), the limited speed range in which the speed is −V1n or more and the speed is less than 0, which is regarded as the non-linear characteristic, is set for each speed range in which the linear characteristic can be partially considered. Divided into regions. For example, in the example of FIG. 4, a region of speed (−V05) to speed (V-04), a region of speed (−V04) to speed (−V03), a region of speed (−V03) to speed (−V02), and the like. Divided into Within the speed range of each region, the resultant friction characteristics are linear and can be regarded as linear characteristics. The speeds at the boundaries of the speed ranges of the respective regions are set as boundary speeds -V01 to -V0n. The boundary speed −V0n on the negative side, which is the boundary between the speed region that can be considered as a linear characteristic and the speed region that is considered as a non-linear characteristic, is defined as a predetermined negative speed −V0n. Therefore, in the region where the speed is negative, the boundary speeds (-V01 to -V0n) on the negative side are set in the limited speed range that is a region equal to or higher than the predetermined negative speed regarded as the non-linear characteristic. In the case of speed = 0 (zero), since the value of the synthetic friction characteristic cannot be specified, the boundary speed −V01 (<0) is not 0 (zero), but is set to a value close to 0 (zero). Have been. Next, the operation of the speed-side positive / negative speed firing unit 24E and the speed-side boundary speed firing unit 24F will be described with reference to FIGS.

●[速度側正負速度発火部24Eと速度側境界速度発火部24Fの動作(図5〜図8)]
図5は、上位指令速度Vv>0かつV11<上位指令速度Vv<V12の場合の例を示している。そして図5の上段の例に示すように、横軸が速度(上位指令速度、境界速度)、縦軸が速度側境界速度出力値となる座標を用意し、広がり幅Nwの速度方向の幅を有する所定の分布関数N(例えば正規分布関数)を予め設定する。そして、分布関数Nの頂部Ncの横軸方向の値が、上位指令速度Vvとなるように分布関数Nを配置する。なお、分布関数Nは、頂部Ncの縦軸方向の値は1.0である。図5の上段の例では、境界速度V11に対する分布関数Nの値が0.8であり、境界速度V12に対する分布関数Nの値が0.6である例を示している。なお、境界速度V11、V12以外の境界速度については、分布関数Nの範囲を外れているので、すべて0(ゼロ)である。なお、図5の上段の図において、境界速度−V01は分布関数Nの範囲内にあるように見える。しかし、図5の例は上位指令速度Vv>0の場合であるので、上位指令速度Vv<0の場合の境界速度−V01〜−V0nを、上位指令速度Vv>0の場合の分布関数の範囲外とみなし、すべて0(ゼロ)とみなす。
● [Operation of the speed-side positive / negative speed firing unit 24E and the speed-side boundary speed firing unit 24F (FIGS. 5 to 8)]
FIG. 5 shows an example in the case where the upper command speed Vv> 0 and V11 <the higher command speed Vv <V12. Then, as shown in the upper example of FIG. 5, coordinates are prepared such that the horizontal axis is the speed (upper command speed, boundary speed) and the vertical axis is the speed-side boundary speed output value, and the width of the spread width Nw in the speed direction is determined. A predetermined distribution function N (for example, a normal distribution function) is set in advance. Then, the distribution function N is arranged such that the value in the horizontal axis direction of the top Nc of the distribution function N becomes the upper command speed Vv. The value of the distribution function N in the vertical axis direction of the top Nc is 1.0. 5 shows an example in which the value of the distribution function N for the boundary speed V11 is 0.8, and the value of the distribution function N for the boundary speed V12 is 0.6. Note that the boundary velocities other than the boundary velocities V11 and V12 are all 0 (zero) because they are out of the range of the distribution function N. In the upper part of FIG. 5, the boundary speed −V01 appears to be within the range of the distribution function N. However, since the example of FIG. 5 is a case where the upper command speed Vv> 0, the boundary speeds −V01 to −V0n when the upper command speed Vv <0 is set and the range of the distribution function when the upper command speed Vv> 0 is satisfied. It is regarded as outside and all are regarded as 0 (zero).

図5の例の場合、上位指令速度Vv>0であるので、速度側正負速度発火部24Eは、速度側正速度入力部K[2]に対応しているVv(>0)が発火して上位指令速度Vvを出力する。従って、速度側正速度入力部K[2]には、速度側正速度入力値として上位指令速度Vvが入力され、速度側正速度入力部K[2]は、入力された速度側正速度入力値を、速度側正速度出力として出力する。なお図5の例において、速度側正負速度発火部24Eにおける速度側負速度入力部K[3]に対応しているVv(<0)は発火しない。従って、速度側負速度入力部K[3]には、何も入力されず、速度側負速度入力部K[3]は何も出力しない。   In the case of the example of FIG. 5, since the upper command speed Vv> 0, the speed-side positive / negative speed firing unit 24E fires Vv (> 0) corresponding to the speed-side positive speed input unit K [2]. The upper command speed Vv is output. Accordingly, the upper command speed Vv is input as the speed-side positive speed input value to the speed-side positive speed input unit K [2], and the input speed-side normal speed input value is input to the speed-side positive speed input unit K [2]. The value is output as the speed-side positive speed output. In the example of FIG. 5, Vv (<0) corresponding to the speed-side negative speed input unit K [3] in the speed-side positive / negative speed firing unit 24E does not fire. Therefore, nothing is input to the speed-side negative speed input unit K [3], and nothing is output from the speed-side negative speed input unit K [3].

また図5の例の場合、速度側境界速度発火部24Fは、速度側境界速度入力部K[j+1]、K[j+2]に対応している境界速度V11、V12が発火する。つまり、図5の上段の図において、各境界速度と上位指令速度との各速度差が、所定速度差以内(広がり幅Nw/2以内)の境界速度に対して、境界速度と上位指令速度Vvとの速度差と分布関数Nとに基づいた速度側境界速度出力値が出力される。図5の例では、速度側境界速度発火部24Fにおいて、発火した境界速度V11から0.8が出力され、発火した境界速度V12から0.6が出力される。従って、速度側境界速度入力部K[j+1]には0.8が入力され、速度側境界速度入力部K[j+1]は入力された速度側境界速度出力値(この場合、0.8)を速度側境界速度出力として出力する。また速度側境界速度入力部K[j+2]には0.6が入力され、速度側境界速度入力部K[j+2]は入力された速度側境界速度出力値(この場合、0.6)を速度側境界速度出力として出力する。なお図5の例において、速度側境界速度発火部24Fにおける境界速度−V0n、−V01、V13、V14、V15、V1nは発火しないので、速度側境界速度入力部K[4]、K[j]、K[j+3]、K[j+4]、K[j+5]、K[j+n]には、何も入力されず、速度側境界速度入力部K[4]、K[j]、K[j+3]、K[j+4]、K[j+5]、K[j+n]は何も出力しない。なお、各境界速度は、等間隔でなく不等間隔で並んでいるので、図5及び図6に示すように、上位指令速度Vvの値に応じて、発火する境界速度の数が変わる。   In the case of the example in FIG. 5, the speed-side boundary speed firing unit 24F fires the boundary speeds V11 and V12 corresponding to the speed-side boundary speed input units K [j + 1] and K [j + 2]. That is, in the upper diagram of FIG. 5, each speed difference between each boundary speed and the upper command speed is equal to or less than the boundary speed within the predetermined speed difference (within the spread width Nw / 2). Then, a speed-side boundary speed output value based on the speed difference between the speed and the distribution function N is output. In the example of FIG. 5, the speed-side boundary speed firing section 24F outputs 0.8 from the fired boundary speed V11 and outputs 0.6 from the fired boundary speed V12. Therefore, 0.8 is input to the speed-side boundary speed input unit K [j + 1], and the speed-side boundary speed input unit K [j + 1] outputs the input speed-side boundary speed output value (0.8 in this case). Output as speed-side boundary speed output. Further, 0.6 is input to the speed-side boundary speed input unit K [j + 2], and the speed-side boundary speed input unit K [j + 2] converts the input speed-side boundary speed output value (0.6 in this case) to the speed. Output as side boundary speed output. In the example of FIG. 5, since the boundary speeds -V0n, -V01, V13, V14, V15, and V1n in the speed-side boundary speed firing unit 24F do not fire, the speed-side boundary speed input units K [4] and K [j]. , K [j + 3], K [j + 4], K [j + 5], K [j + n], nothing is input, and the speed-side boundary speed input sections K [4], K [j], K [j + 3], K [j + 4], K [j + 5] and K [j + n] do not output anything. Since the boundary speeds are arranged not at equal intervals but at irregular intervals, as shown in FIGS. 5 and 6, the number of boundary speeds to be fired changes according to the value of the upper command speed Vv.

図6は、上位指令速度Vv>0かつV12<上位指令速度Vv<V13の場合の例を示している。そして図6の上段の例に示すように、(図5と同様に)横軸が速度(上位指令速度、境界速度)、縦軸が速度側境界速度出力値となる座標を用意し、広がり幅Nwの速度方向の幅を有する所定の分布関数N(例えば正規分布関数)を予め設定する。そして、分布関数Nの頂部Ncの横軸方向の値が、上位指令速度Vvとなるように分布関数Nを配置する。なお、分布関数Nは、頂部Ncの縦軸方向の値は1.0である。図6の上段の例では、境界速度V12に対する分布関数Nの値が0.1であり、境界速度V13に対する分布関数Nの値が0.9であり、境界速度V14に対する分布関数Nの値が0.3である例を示している。なお、境界速度V12、V13、V14以外の境界速度については、分布関数Nの範囲を外れているので、すべて0(ゼロ)である。なお、上位指令速度Vv>0の場合であるので、上位指令速度Vv<0の場合の境界速度−V01〜−V0nは、すべて0(ゼロ)である。図5及び図6に示したように、上位指令速度Vvと境界速度との速度差が大きいと、その境界速度に対する分布関数Nの値が小さくなる。逆に、上位指令速度Vvと境界速度との速度差が小さいと、その境界速度に対する分布関数Nの値が大きくなる。隣り合う境界速度のそれぞれに対する分布関数Nの値が同じ値の場合は、上位指令速度Vvが、隣り合う境界速度の中央となる値であることを意味している。   FIG. 6 shows an example in the case where the upper command speed Vv> 0 and V12 <the upper command speed Vv <V13. Then, as shown in the example in the upper part of FIG. 6, coordinates are prepared such that the horizontal axis is the speed (upper command speed, boundary speed) and the vertical axis is the speed-side boundary speed output value (similar to FIG. 5). A predetermined distribution function N (for example, a normal distribution function) having a width in the speed direction of Nw is set in advance. Then, the distribution function N is arranged such that the value in the horizontal axis direction of the top Nc of the distribution function N becomes the upper command speed Vv. The value of the distribution function N in the vertical axis direction of the top Nc is 1.0. 6, the value of the distribution function N for the boundary speed V12 is 0.1, the value of the distribution function N for the boundary speed V13 is 0.9, and the value of the distribution function N for the boundary speed V14 is An example of 0.3 is shown. The boundary velocities other than the boundary velocities V12, V13, and V14 are all 0 (zero) because they are out of the range of the distribution function N. Since the upper command speed Vv> 0, the boundary speeds -V01 to -V0n in the case of the upper command speed Vv <0 are all 0 (zero). As shown in FIGS. 5 and 6, when the speed difference between the upper command speed Vv and the boundary speed is large, the value of the distribution function N with respect to the boundary speed becomes small. Conversely, when the speed difference between the upper command speed Vv and the boundary speed is small, the value of the distribution function N with respect to the boundary speed increases. When the value of the distribution function N for each of the adjacent boundary speeds is the same, this means that the upper command speed Vv is a value that is the center of the adjacent boundary speeds.

図6の例の場合、上位指令速度Vv>0であるので、速度側正負速度発火部24Eは、速度側正速度入力部K[2]に対応しているVv(>0)が発火して上位指令速度Vvを出力する。従って、速度側正速度入力部K[2]には、速度側正速度入力値として上位指令速度Vvが入力され、速度側正速度入力部K[2]は、入力された速度側正速度入力値を、速度側正速度出力として出力する。なお図6の例において、速度側正負速度発火部24Eにおける速度側負速度入力部K[3]に対応しているVv(<0)は発火しない。従って、速度側負速度入力部K[3]には、何も入力されず、速度側負速度入力部K[3]は何も出力しない。   In the example of FIG. 6, since the upper command speed Vv> 0, the speed-side positive / negative speed firing unit 24E fires Vv (> 0) corresponding to the speed-side positive speed input unit K [2]. The upper command speed Vv is output. Accordingly, the upper command speed Vv is input as the speed-side positive speed input value to the speed-side positive speed input unit K [2], and the input speed-side normal speed input value is input to the speed-side positive speed input unit K [2]. The value is output as the speed-side positive speed output. In the example of FIG. 6, Vv (<0) corresponding to the speed-side negative speed input unit K [3] in the speed-side positive / negative speed firing unit 24E does not fire. Therefore, nothing is input to the speed-side negative speed input unit K [3], and nothing is output from the speed-side negative speed input unit K [3].

また図6の例の場合、速度側境界速度発火部24Fは、速度側境界速度入力部K[j+2]、K[j+3]、K[j+4]に対応している境界速度V12、V13、V14が発火する。つまり、図6の上段の図において、各境界速度と上位指令速度との各速度差が、所定速度差以内(広がり幅Nw/2以内)の境界速度に対して、境界速度と上位指令速度Vvとの速度差、すなわち分布関数Nに基づいた速度側境界速度出力値が出力される。図6の例では、速度側境界速度発火部24Fにおいて、発火した境界速度V12から0.1が出力され、発火した境界速度V13から0.9が出力され、発火した境界速度V14から0.3が出力される。従って、速度側境界速度入力部K[j+2]には0.1が入力され、速度側境界速度入力部K[j+2]は入力された速度側境界速度出力値(この場合、0.1)を速度側境界速度出力として出力する。また速度側境界速度入力部K[j+3]には0.9が入力され、速度側境界速度入力部K[j+3]は入力された速度側境界速度出力値(この場合、0.9)を速度側境界速度出力として出力する。また速度側境界速度入力部K[j+4]には0.3が入力され、速度側境界速度入力部K[j+4]は入力された速度側境界速度出力値(この場合、0.3)を速度側境界速度出力として出力する。なお図6の例において、速度側境界速度発火部24Fにおける境界速度−V0n、−V01、V11、V15、V1nは発火しないので、速度側境界速度入力部K[4]、K[j]、K[j+1]、K[j+5]、K[j+n]には、何も入力されず、速度側境界速度入力部K[4]、K[j]、K[j+1]、K[j+5]、K[j+n]は何も出力しない。   In the example of FIG. 6, the speed-side boundary speed firing section 24F includes boundary speeds V12, V13, and V14 corresponding to the speed-side boundary speed input sections K [j + 2], K [j + 3], and K [j + 4]. set a fire. That is, in the upper diagram of FIG. 6, each speed difference between each boundary speed and the upper command speed is equal to or less than the boundary speed within the predetermined speed difference (within the spread width Nw / 2). , That is, a speed-side boundary speed output value based on the distribution function N is output. In the example of FIG. 6, in the speed-side boundary speed firing section 24F, 0.1 is output from the lit boundary speed V12, 0.9 is output from the lit boundary speed V13, and 0.3 is output from the lit boundary speed V14. Is output. Accordingly, 0.1 is input to the speed-side boundary speed input unit K [j + 2], and the speed-side boundary speed input unit K [j + 2] receives the input speed-side boundary speed output value (0.1 in this case). Output as speed-side boundary speed output. Further, 0.9 is input to the speed-side boundary speed input unit K [j + 3], and the speed-side boundary speed input unit K [j + 3] converts the input speed-side boundary speed output value (in this case, 0.9) to the speed. Output as side boundary speed output. Further, 0.3 is input to the speed-side boundary speed input unit K [j + 4], and the speed-side boundary speed input unit K [j + 4] outputs the input speed-side boundary speed output value (0.3 in this case) to the speed. Output as side boundary speed output. In the example of FIG. 6, since the boundary speeds -V0n, -V01, V11, V15, and V1n in the speed-side boundary speed firing unit 24F do not fire, the speed-side boundary speed input units K [4], K [j], K Nothing is input to [j + 1], K [j + 5] and K [j + n], and the speed-side boundary speed input sections K [4], K [j], K [j + 1], K [j + 5], K [ j + n] does not output anything.

図7は、上位指令速度Vv<0かつ−V02<上位指令速度Vv<−V01の場合の例を示している。そして図5の上段と同様、図7の上段の例に示すように、横軸が速度(上位指令速度)、縦軸が速度側境界速度出力値となる座標を用意し、広がり幅Nwの速度方向の幅を有する所定の分布関数N(例えば正規分布関数)を予め設定する。ただし、上位指令速度Vv<0であるので、分布関数Nを下方に向かって凸となるように配置する。そして、分布関数Nの頂部Ncの横軸方向の値が、上位指令速度Vvとなるように分布関数Nを配置する。なお、分布関数Nは、頂部Ncの縦軸方向の値は−1.0である。図7の上段の例では、境界速度−V02に対する分布関数Nの値が−0.7であり、境界速度−V01に対する分布関数Nの値が−0.5である例を示している。なお、境界速度−V02、−V01以外の境界速度については、分布関数Nの範囲を外れているので、すべて0(ゼロ)である。なお、図7の上段の図において、境界速度V11は分布関数Nの範囲内にあるように見える。しかし、図7の例は上位指令速度Vv<0の場合であるので、上位指令速度Vv>0の場合の境界速度V11〜V1nを、上位指令速度Vv<0の場合の分布関数の範囲外とみなし、すべて0(ゼロ)とみなす。   FIG. 7 shows an example in the case where the upper command speed Vv <0 and -V02 <the upper command speed Vv <-V01. As in the upper part of FIG. 5, as shown in the example of the upper part of FIG. 5, coordinates are prepared such that the horizontal axis is the speed (upper command speed) and the vertical axis is the speed-side boundary speed output value. A predetermined distribution function N (for example, a normal distribution function) having a width in the direction is set in advance. However, since the upper command speed Vv <0, the distribution function N is arranged so as to be convex downward. Then, the distribution function N is arranged such that the value in the horizontal axis direction of the top Nc of the distribution function N becomes the upper command speed Vv. The value of the distribution function N in the vertical axis direction of the top Nc is -1.0. 7 shows an example in which the value of the distribution function N for the boundary speed -V02 is -0.7, and the value of the distribution function N for the boundary speed -V01 is -0.5. The boundary velocities other than the boundary velocities -V02 and -V01 are all 0 (zero) because they are out of the range of the distribution function N. In the upper part of FIG. 7, the boundary velocity V11 appears to be within the range of the distribution function N. However, since the example of FIG. 7 is the case of the upper command speed Vv <0, the boundary speeds V11 to V1n in the case of the upper command speed Vv> 0 are set outside the range of the distribution function in the case of the upper command speed Vv <0. All, 0 (zero).

図7の例の場合、上位指令速度Vv<0であるので、速度側正負速度発火部24Eは、速度側負速度入力部K[3]に対応しているVv(<0)が発火して上位指令速度Vvを出力する。従って、速度側負速度入力部K[3]には、速度側負速度入力値として上位指令速度Vvが入力され、速度側負速度入力部K[3]は、入力された速度側負速度入力値を、速度側負速度出力として出力する。なお図7の例において、速度側正負速度発火部24Eにおける速度側正速度入力部K[2]に対応しているVv(>0)は発火しない。従って、速度側正速度入力部K[2]には、何も入力されず、速度側正速度入力部K[2]は何も出力しない。   In the case of the example of FIG. 7, since the upper command speed Vv <0, the speed-side positive / negative speed firing unit 24E fires Vv (<0) corresponding to the speed-side negative speed input unit K [3]. The upper command speed Vv is output. Therefore, the higher-order command speed Vv is input to the speed-side negative speed input unit K [3] as the speed-side negative speed input value, and the speed-side negative speed input unit K [3] receives the input speed-side negative speed input. The value is output as the speed side negative speed output. In the example of FIG. 7, Vv (> 0) corresponding to the speed-side positive speed input unit K [2] in the speed-side positive / negative speed firing unit 24E does not fire. Therefore, nothing is input to the speed-side positive speed input unit K [2], and nothing is output from the speed-side normal speed input unit K [2].

また図7の例の場合、速度側境界速度発火部24Fは、速度側境界速度入力部K[j−1]、K[j]に対応している境界速度−V02、−V01が発火する。つまり、図7の上段の図において、各境界速度と上位指令速度との各速度差が、所定速度差以内(広がり幅Nw/2以内)の境界速度に対して、境界速度と上位指令速度Vvとの速度差、すなわち分布関数Nに基づいた速度側境界速度出力値が出力される。図7の例では、速度側境界速度発火部24Fにおいて、発火した境界速度−V02から−0.7が出力され、発火した境界速度−V01から−0.5が出力される。従って、速度側境界速度入力部K[j−1]には−0.7が入力され、速度側境界速度入力部K[j−1]は入力された速度側境界速度出力値(この場合、−0.7)を速度側境界速度出力として出力する。また速度側境界速度入力部K[j]には−0.5が入力され、速度側境界速度入力部K[j]は入力された速度側境界速度出力値(この場合、−0.5)を速度側境界速度出力として出力する。なお図7の例において、速度側境界速度発火部24Fにおける境界速度−V0n、−V05、−V04、−V03、V11、V1nは発火しないので、速度側境界速度入力部K[4]、K[j−4]、K[j−3]、K[j−2]、K[j+1]、K[j+n]には、何も入力されず、速度側境界速度入力部K[4]、K[j−4]、K[j−3]、K[j−2]、K[j+1]、K[j+n]は何も出力しない。なお、各境界速度は、等間隔でなく不等間隔で並んでいるので、図7及び図8に示すように、上位指令速度Vvの値に応じて、発火する境界速度の数が変わる。   In the case of the example in FIG. 7, the speed-side boundary speed firing unit 24F fires the boundary speeds -V02 and -V01 corresponding to the speed-side boundary speed input units K [j-1] and K [j]. That is, in the upper diagram of FIG. 7, each speed difference between each boundary speed and the upper command speed is equal to or less than the boundary speed within the predetermined speed difference (within the spread width Nw / 2). , That is, a speed-side boundary speed output value based on the distribution function N is output. In the example of FIG. 7, the speed-side boundary speed firing section 24F outputs -0.7 from the lit boundary speed -V02 and -0.5 from the lit boundary speed -V01. Accordingly, -0.7 is input to the speed-side boundary speed input unit K [j-1], and the speed-side boundary speed input unit K [j-1] receives the input speed-side boundary speed output value (in this case, -0.7) is output as the speed-side boundary speed output. The speed-side boundary speed input unit K [j] receives -0.5, and the speed-side boundary speed input unit K [j] receives the input speed-side boundary speed output value (-0.5 in this case). Is output as the speed-side boundary speed output. In the example of FIG. 7, since the boundary speeds -V0n, -V05, -V04, -V03, V11, and V1n in the speed-side boundary speed firing unit 24F do not fire, the speed-side boundary speed input units K [4] and K [ Nothing is input to j-4], K [j-3], K [j-2], K [j + 1], K [j + n], and the speed-side boundary speed input units K [4], K [ j-4], K [j-3], K [j-2], K [j + 1], K [j + n] do not output anything. Since the boundary speeds are arranged at irregular intervals instead of at equal intervals, as shown in FIGS. 7 and 8, the number of boundary speeds to be fired changes according to the value of the upper command speed Vv.

図8は、上位指令速度Vv<0かつ−V03<上位指令速度Vv<−V02の場合の例を示している。そして図8の上段の例に示すように、(図7と同様に)横軸が速度(上位指令速度、境界速度)、縦軸が速度側境界速度出力値となる座標を用意し、広がり幅Nwの速度方向の幅を有する所定の分布関数N(例えば正規分布関数)を予め設定する。ただし、上位指令速度Vv<0であるので、分布関数Nを下方に向かって凸となるように配置する。そして、分布関数Nの頂部Ncの横軸方向の値が、上位指令速度Vvとなるように分布関数Nを配置する。なお、分布関数Nは、頂部Ncの縦軸方向の値は−1.0である。図8の上段の例では、境界速度−V04に対する分布関数Nの値が−0.1であり、境界速度−V03に対する分布関数Nの値が−0.7であり、境界速度−V02に対する分布関数Nの値が−0.3である例を示している。なお、境界速度−V04、−V03、−V02以外の境界速度については、分布関数Nの範囲を外れているので、すべて0(ゼロ)である。なお、上位指令速度Vv<0の場合であるので、上位指令速度Vv>0の場合の境界速度V11〜V1nは、すべて0(ゼロ)である。   FIG. 8 shows an example in the case where the upper command speed Vv <0 and -V03 <the upper command speed Vv <-V02. Then, as shown in the upper example of FIG. 8, coordinates are prepared such that the horizontal axis is the speed (upper command speed, boundary speed) and the vertical axis is the speed-side boundary speed output value (similar to FIG. 7). A predetermined distribution function N (for example, a normal distribution function) having a width in the speed direction of Nw is set in advance. However, since the upper command speed Vv <0, the distribution function N is arranged so as to be convex downward. Then, the distribution function N is arranged such that the value in the horizontal axis direction of the top Nc of the distribution function N becomes the upper command speed Vv. The value of the distribution function N in the vertical axis direction of the top Nc is -1.0. In the example shown in the upper part of FIG. 8, the value of the distribution function N for the boundary speed -V04 is -0.1, the value of the distribution function N for the boundary speed -V03 is -0.7, and the distribution for the boundary speed -V02. An example in which the value of the function N is -0.3 is shown. The boundary velocities other than the boundary velocities -V04, -V03, and -V02 are all 0 (zero) because they are out of the range of the distribution function N. Since the upper command speed Vv <0, the boundary speeds V11 to V1n when the upper command speed Vv> 0 are all 0 (zero).

図8の例の場合、上位指令速度Vv<0であるので、速度側正負速度発火部24Eは、速度側負速度入力部K[3]に対応しているVv(<0)が発火して上位指令速度Vvを出力する。従って、速度側負速度入力部K[3]には、速度側負速度入力値として上位指令速度Vvが入力され、速度側負速度入力部K[3]は、入力された速度側負速度入力値を、速度側負速度出力として出力する。なお図8の例において、速度側正負速度発火部24Eにおける速度側正速度入力部K[2]に対応しているVv(>0)は発火しない。従って、速度側正速度入力部K[2]には、何も入力されず、速度側正速度入力部K[2]は何も出力しない。   In the example of FIG. 8, since the upper command speed Vv <0, the speed-side positive / negative speed firing unit 24E fires Vv (<0) corresponding to the speed-side negative speed input unit K [3]. The upper command speed Vv is output. Therefore, the higher-order command speed Vv is input to the speed-side negative speed input unit K [3] as the speed-side negative speed input value, and the speed-side negative speed input unit K [3] receives the input speed-side negative speed input. The value is output as the speed side negative speed output. In the example of FIG. 8, Vv (> 0) corresponding to the speed-side positive speed input unit K [2] in the speed-side positive / negative speed firing unit 24E does not fire. Therefore, nothing is input to the speed-side positive speed input unit K [2], and nothing is output from the speed-side normal speed input unit K [2].

また図8の例の場合、速度側境界速度発火部24Fは、速度側境界速度入力部K[j−3]、K[j−2]、K[j−1]に対応している境界速度−V04、−V03、−V02が発火する。つまり、図8の上段の図において、各境界速度と上位指令速度との各速度差が、所定速度差以内(広がり幅Nw/2以内)の境界速度に対して、境界速度と上位指令速度Vvとの速度差、すなわち分布関数Nに基づいた速度側境界速度出力値が出力される。図8の例では、速度側境界速度発火部24Fにおいて、発火した境界速度−V04から−0.1が出力され、発火した境界速度−V03から−0.7が出力され、発火した境界速度−V02から−0.3が出力される。従って、速度側境界速度入力部K[j−3]には−0.1が入力され、速度側境界速度入力部K[j−3]は入力された速度側境界速度出力値(この場合、−0.1)を速度側境界速度出力として出力する。また速度側境界速度入力部K[j−2]には−0.7が入力され、速度側境界速度入力部K[j−2]は入力された速度側境界速度出力値(この場合、−0.7)を速度側境界速度出力として出力する。また速度側境界速度入力部K[j−1]には−0.3が入力され、速度側境界速度入力部K[j−1]は入力された速度側境界速度出力値(この場合、−0.3)を速度側境界速度出力として出力する。なお図8の例において、速度側境界速度発火部24Fにおける境界速度−V0n、−V05、−V01、V11、V1nは発火しないので、速度側境界速度入力部K[4]、K[j−4]、K[j]、K[j+1]、K[j+n]には、何も入力されず、速度側境界速度入力部K[4]、K[j−4]、K[j]、K[j+1]、K[j+n]は何も出力しない。   In the case of the example in FIG. 8, the speed-side boundary speed firing unit 24F is a boundary speed corresponding to the speed-side boundary speed input units K [j-3], K [j-2], and K [j-1]. -V04, -V03, and -V02 fire. That is, in the upper diagram of FIG. 8, each speed difference between each boundary speed and the upper command speed is equal to or less than the boundary speed within the predetermined speed difference (within the spread width Nw / 2). , That is, a speed-side boundary speed output value based on the distribution function N is output. In the example of FIG. 8, in the speed-side boundary speed firing section 24F, −0.1 is output from the lit boundary speed −V04, −0.7 is output from the lit boundary speed −V03, and the lit boundary speed − -0.3 is output from V02. Therefore, -0.1 is input to the speed-side boundary speed input unit K [j-3], and the speed-side boundary speed input unit K [j-3] receives the input speed-side boundary speed output value (in this case, -0.1) is output as the speed-side boundary speed output. Further, -0.7 is input to the speed-side boundary speed input unit K [j-2], and the input speed-side boundary speed output value (in this case,- 0.7) is output as the speed-side boundary speed output. The speed-side boundary speed input unit K [j-1] receives -0.3, and the speed-side boundary speed input unit K [j-1] outputs the input speed-side boundary speed output value (in this case,- 0.3) is output as the speed-side boundary speed output. In the example of FIG. 8, since the boundary speeds -V0n, -V05, -V01, V11, and V1n in the speed-side boundary speed firing unit 24F do not fire, the speed-side boundary speed input units K [4] and K [j-4]. , K [j], K [j + 1], K [j + n], nothing is input, and the speed-side boundary speed input sections K [4], K [j-4], K [j], K [ j + 1] and K [j + n] do not output anything.

●[単純パーセプトロン242における入力層24Aについて(図3)]
図3に示すように、重み学習機能付きネットワークの単純パーセプトロン242における入力層24Aは、速度側加速度入力部K[1]、速度側正速度入力部K[2]、速度側負速度入力部K[3]、速度側境界速度入力部K[4]〜K[j+n]、を有している。
● [Input layer 24A in simple perceptron 242 (FIG. 3)]
As shown in FIG. 3, the input layer 24A in the simple perceptron 242 of the network with the weight learning function includes a speed-side acceleration input unit K [1], a speed-side positive speed input unit K [2], and a speed-side negative speed input unit K. [3], and a speed-side boundary speed input unit K [4] to K [j + n].

速度側加速度入力部K[1]は、上位指令加速度αvが入力され、入力された上位指令加速度αvを、速度側加速度出力として出力する。   The speed-side acceleration input unit K [1] receives the higher-order command acceleration αv, and outputs the input higher-order command acceleration αv as a speed-side acceleration output.

速度側正速度入力部K[2]は、上述したように、速度側正負速度発火部24EのVv(>0)が発火した場合に、上位指令速度Vvである速度側正速度出力値が入力され、入力された速度側正速度出力値を、速度側正速度出力として出力する。また速度側負速度入力部K[3]は、上述したように、速度側正負速度発火部24EのVv(<0)が発火した場合に、上位指令速度Vvである速度側負速度出力値が入力され、入力された速度側負速度出力値を、速度側負速度出力として出力する。   As described above, when Vv (> 0) of the speed-side positive / negative speed firing unit 24E is fired, the speed-side positive speed input value Kv is input to the speed-side positive speed output unit K [2]. Then, the input speed-side normal speed output value is output as the speed-side normal speed output. Further, as described above, when Vv (<0) of the speed-side positive / negative speed firing unit 24E is fired, the speed-side negative speed output value that is the upper command speed Vv is output to the speed-side negative speed input unit K [3]. The input speed side negative speed output value is output as a speed side negative speed output.

速度側境界速度入力部K[4]〜K[j+n]は、複数の境界速度−V0n〜V1nに対応させて用意されている。そして速度側境界速度入力部K[4]〜K[j+n]は、上述したように、速度側境界速度発火部24Fにおいて発火した境界速度から速度側境界速度出力値が入力され、入力された速度側境界速度出力値を、速度側境界速度出力として出力する。そして、各入力部K[1]〜K[j+n]から出力される速度側加速度出力、速度側正速度出力、速度側負速度出力、速度側境界速度出力を、まとめて速度側第1出力24L1とする。   The speed-side boundary speed input units K [4] to K [j + n] are prepared corresponding to a plurality of boundary speeds -V0n to V1n. As described above, the speed-side boundary speed input units K [4] to K [j + n] receive the speed-side boundary speed output values from the boundary speeds fired in the speed-side boundary speed firing unit 24F, and input the speeds. The side boundary speed output value is output as the speed side boundary speed output. The speed-side acceleration output, the speed-side positive speed output, the speed-side negative speed output, and the speed-side boundary speed output output from each of the input units K [1] to K [j + n] are collectively output as the speed-side first output 24L1. And

●[単純パーセプトロン242における速度側第1重み学習部24Gについて(図3)]
速度側第1重み学習部24Gは、速度側加速度入力部K[1]に対応付けられた速度側第1学習重みU[1]、速度側正速度入力部K[2]に対応付けられた速度側第1学習重みU[2]、速度側負速度入力部K[3]に対応付けられた速度側第1学習重みU[3]、速度側境界速度入力部K[4]〜K[j+n]のそれぞれに対応付けられた速度側第1学習重みU[4]〜U[j+n]、を記憶する記憶機能を有している。また、速度側第1重み学習部24Gは、速度偏差20outに基づいて速度側第1学習重みU[1]〜U[j+n]を変更(学習)する変更機能を有している。また、速度側第1重み学習部24Gは、入力された速度側第1出力24L1のそれぞれに、速度側第1学習重みU[1]〜U[j+n]のそれぞれを乗算する乗算機能を有している。
● [About the speed-side first weight learning unit 24G in the simple perceptron 242 (FIG. 3)]
The speed-side first weight learning unit 24G is associated with the speed-side first learning weight U [1] associated with the speed-side acceleration input unit K [1] and the speed-side positive speed input unit K [2]. The speed-side first learning weight U [2], the speed-side first learning weight U [3] associated with the speed-side negative speed input unit K [3], and the speed-side boundary speed input units K [4] to K [ j + n], and has a storage function of storing the speed-side first learning weights U [4] to U [j + n] associated with each of them. The speed-side first weight learning unit 24G has a changing function of changing (learning) the speed-side first learning weights U [1] to U [j + n] based on the speed deviation 20out. The speed-side first weight learning unit 24G has a multiplication function of multiplying each of the input speed-side first outputs 24L1 by each of the speed-side first learning weights U [1] to U [j + n]. ing.

速度側第1重み学習部24Gは、速度偏差20outに応じて、速度側第1学習重みU[1]〜U[j+n]の各値が、所定の評価関数に対して最適値に近づくように変更(学習)する。例えば速度側第1重み学習部24Gは、横軸が速度側第1学習重み、縦軸が速度偏差の2乗となる評価関数を用いて、速度偏差の2乗が小さくなるように、速度側第1学習重みの値を変更(学習)する。なお評価関数は、重み毎に用意されている。なお、図5の例に示す上位指令速度Vvが入力された場合、速度側第1重み学習部24Gは、出力された速度側第1出力24L1に対応している速度側第1学習重みU[1]、U[2]、U[j+2]、U[j+3]を学習し、出力されなかった速度側第1出力24L1に対応している速度側第1学習重みU[3]〜U[j+1]、U[j+4]〜U[j+n]については学習しない。   The speed-side first weight learning unit 24G adjusts the speed-side first learning weights U [1] to U [j + n] in accordance with the speed deviation 20out so as to approach an optimum value for a predetermined evaluation function. Change (learn). For example, the speed-side first weight learning unit 24G uses the evaluation function whose horizontal axis is the speed-side first learning weight and whose vertical axis is the square of the speed deviation, so that the square of the speed deviation becomes small. The value of the first learning weight is changed (learned). An evaluation function is prepared for each weight. When the higher command speed Vv shown in the example of FIG. 5 is input, the speed-side first weight learning unit 24G outputs the speed-side first learning weight U [corresponding to the output speed-side first output 24L1. 1], U [2], U [j + 2], and U [j + 3], and the speed-side first learning weights U [3] to U [j + 1] corresponding to the speed-side first outputs 24L1 not output. ], U [j + 4] to U [j + n] are not learned.

そして速度側第1重み学習部24Gは、入力された速度側第1出力24L1のそれぞれに、対応する速度側第1学習重みU[1]〜U[j+n]を乗算した速度側第1乗算値24M1を出力する。例えば、図5の例に示す上位指令速度Vvが入力された場合、速度側第1重み学習部24Gは、αv*U[1]と、Vv*U[2]と、0.8*U[j+1]と、0.6*U[j+2]を出力する。また例えば図7の例に示す上位指令速度Vvが入力された場合、速度側第1重み学習部24Gは、αv*U[1]と、Vv*U[3]と、−0.7*U[j−1]と、−0.5*U[j]を出力する。   Then, the speed-side first weight learning unit 24G multiplies each of the input speed-side first outputs 24L1 by the corresponding speed-side first learning weights U [1] to U [j + n]. 24M1 is output. For example, when the upper command speed Vv shown in the example of FIG. 5 is input, the speed-side first weight learning unit 24G outputs αv * U [1], Vv * U [2], and 0.8 * U [ j + 1] and 0.6 * U [j + 2]. Further, for example, when the higher-order command speed Vv shown in the example of FIG. 7 is input, the speed-side first weight learning unit 24G outputs αv * U [1], Vv * U [3], and −0.7 * U. [J-1] and -0.5 * U [j] are output.

●[単純パーセプトロン242における出力層24Cについて(図3)]
出力層24Cは、速度側出力部Q[1]を有している。速度側出力部Q[1]は、以下の(11)〜(14)の各速度側第1乗算値を加算した値を、所定の関数(例えばシグモイド関数)で変換し、変換した値を第2仮指令電流24outとして出力する。なお、速度側出力部Q[1]は、シグモイド関数の利用を省略して第2仮指令電流24outを出力することも可能である。
(11)速度側加速度入力部K[1]から出力された速度側加速度出力(αv)に、速度側第1学習重みU[1]を乗算した速度側第1乗算値(αv*U[1])。
(12)速度側正速度入力部K[2]から速度側正速度出力が出力された場合に、速度側正速度出力(Vv)に、速度側第1学習重みU[2]を乗算した速度側第1乗算値(Vv*U[2])。
(13)速度側負速度入力部K[3]から速度側負速度出力が出力された場合に、速度側負速度出力(Vv)に、速度側第1学習重みU[3]を乗算した速度側第1乗算値(Vv*U[3])。
(14)速度側境界速度入力部K[4]〜K[j+n]の中から出力された速度側境界速度出力に、対応する速度側第1学習重み(U[4]〜U[j+n])を乗算した速度側第1乗算値。
● [Output layer 24C in simple perceptron 242 (FIG. 3)]
The output layer 24C has a speed-side output section Q [1]. The speed-side output unit Q [1] converts a value obtained by adding each of the following speed-side first multiplication values of (11) to (14) by a predetermined function (for example, a sigmoid function), and converts the converted value to a fourth value. Output as 2 temporary command currents 24out. The speed-side output unit Q [1] can output the second provisional command current 24out without using the sigmoid function.
(11) A first speed-side multiplication value (αv * U [1) obtained by multiplying the speed-side acceleration output (αv) output from the speed-side acceleration input unit K [1] by the first speed-side learning weight U [1]. ]).
(12) When the speed-side positive speed output (Vv) is output from the speed-side positive speed input unit K [2], the speed obtained by multiplying the speed-side positive speed output (Vv) by the speed-side first learning weight U [2]. Side first multiplication value (Vv * U [2]).
(13) When the speed-side negative speed output is output from the speed-side negative speed input unit K [3], the speed obtained by multiplying the speed-side negative speed output (Vv) by the speed-side first learning weight U [3]. Side first multiplication value (Vv * U [3]).
(14) Speed-side first learning weights (U [4] to U [j + n]) corresponding to the speed-side boundary speed outputs output from the speed-side boundary speed input units K [4] to K [j + n]. Is the speed-side first multiplied value multiplied by.

●[位置フィードフォワード制御部14の重み学習機能付きネットワークの構成(図9)]
次に図9を用いて、位置フィードフォワード制御部14内の重み学習機能付きネットワークについて説明する。速度フィードフォワード制御部24と同様に、位置フィードフォワード制御部14は、入力処理部141と、単純パーセプトロン142と、を有している。入力処理部141は、位置側正負速度発火部14E、位置側境界速度発火部14F、を有している。単純パーセプトロン142は、入力層14A、位置側第1重み学習部14G、出力層14C、を有している。
● [Configuration of network with weight learning function of position feedforward control unit 14 (FIG. 9)]
Next, a network with a weight learning function in the position feedforward control unit 14 will be described with reference to FIG. Like the velocity feedforward control unit 24, the position feedforward control unit 14 includes an input processing unit 141 and a simple perceptron 142. The input processing unit 141 has a position-side positive / negative speed firing unit 14E and a position-side boundary speed firing unit 14F. The simple perceptron 142 has an input layer 14A, a position-side first weight learning unit 14G, and an output layer 14C.

なお、図9に示す位置フィードフォワード制御部14に入力される速度(入力速度12out)は、図2に示すように、ロボット制御装置60からの指令位置10inを微分して求めているが、指令位置10inの微分から求めることなく、種々の位置に関する情報を微分して求めてもよいし、ロボット制御装置60からの指令速度を用いてもよい。このため、以降では、図9に示す位置フィードフォワード制御部14に入力される速度を、入力速度12outではなく、(下位指令速度15outとは異なる)上位指令速度Vpと記載する。同様に、図9に示す位置フィードフォワード制御部14に入力される加速度(入力加速度13out)は、図2に示すように、ロボット制御装置60からの指令位置10inを2回微分して求めているが、指令位置10inの2回微分から求めることなく、種々の位置に関する情報を2回微分して求めてもよいし、ロボット制御装置60からの指令速度を微分して求めてもよい。このため、以降では、図9に示す位置フィードフォワード制御部14に入力される加速度を、入力加速度13outではなく、上位指令加速度αpと記載する。   Note that the speed (input speed 12out) input to the position feedforward control unit 14 shown in FIG. 9 is obtained by differentiating the command position 10in from the robot controller 60 as shown in FIG. Instead of calculating from the differentiation of the position 10in, information on various positions may be obtained by differentiating, or a command speed from the robot controller 60 may be used. Therefore, hereinafter, the speed input to the position feedforward control unit 14 shown in FIG. 9 will be described as the upper command speed Vp (different from the lower command speed 15out) instead of the input speed 12out. Similarly, the acceleration (input acceleration 13out) input to the position feedforward control unit 14 shown in FIG. 9 is obtained by differentiating the command position 10in from the robot control device 60 twice as shown in FIG. May be obtained by differentiating the information on various positions twice, or by differentiating the command speed from the robot control device 60, without obtaining it from the twice differentiation of the command position 10in. For this reason, hereinafter, the acceleration input to the position feedforward control unit 14 shown in FIG. 9 is described as the upper command acceleration αp instead of the input acceleration 13out.

●[入力処理部141について(図9〜図11)]
位置側正負速度発火部14Eには、上位指令速度Vpが入力されている。位置側正負速度発火部14Eは、入力された上位指令速度Vpが正(>0)の場合に、「Vp(>0)」の側が発火して「Vp(<0)」の側は発火せず、位置側正速度入力部J[2]へ、位置側正速度出力値(値は上位指令速度Vpの値)を出力する。また位置側正負速度発火部14Eは、入力された上位指令速度Vpが負(<0)の場合に、「Vp(<0)」の側が発火して「Vp(>0)」の側は発火せず、位置側負速度入力部J[3]へ、位置側負速度出力値(値は上位指令速度Vpの値)を出力する。
● [Input processing unit 141 (FIGS. 9 to 11)]
The upper command speed Vp is input to the position-side positive / negative speed firing unit 14E. The position-side positive / negative speed firing unit 14E fires on the side of “Vp (> 0)” and fires on the side of “Vp (<0)” when the input upper command speed Vp is positive (> 0). Instead, it outputs the position-side positive speed output value (the value is the value of the upper command speed Vp) to the position-side normal speed input unit J [2]. The position-side positive / negative speed firing unit 14E fires on the side of “Vp (<0)” and fires on the side of “Vp (> 0)” when the input upper command speed Vp is negative (<0). Instead, it outputs the position-side negative speed output value (the value is the value of the higher-order command speed Vp) to the position-side negative speed input unit J [3].

位置側境界速度発火部14Fには、上位指令速度Vpが入力されている。位置側境界速度発火部14Fは、上位指令速度Vpの速度の範囲に対して限定した限定速度範囲を、予め設定した隣り合う複数の速度範囲毎に分割した際の、速度範囲毎の境界となる速度である複数の境界速度(−V0n〜V1n)を有している(図4参照)。そして位置側境界速度発火部14Fは、入力された上位指令速度Vpとの速度差が所定速度差以内の境界速度から、当該速度差に基づいた位置側境界速度出力値を出力する。なお、限定速度範囲、速度範囲、境界速度、速度側境界速度出力値については、すでに図4〜図8を用いて説明した内容と同じであるので、説明を省略する。   The upper command speed Vp is input to the position-side boundary speed firing section 14F. The position-side boundary speed firing section 14F serves as a boundary for each speed range when the limited speed range limited to the speed range of the higher-order command speed Vp is divided into a plurality of preset adjacent speed ranges. It has a plurality of boundary velocities (-V0n to V1n) as velocities (see FIG. 4). The position-side boundary speed firing unit 14F outputs a position-side boundary speed output value based on the speed difference from the boundary speed at which the speed difference from the input higher-order command speed Vp is within a predetermined speed difference. The limited speed range, the speed range, the boundary speed, and the speed-side boundary speed output value are the same as those already described with reference to FIGS.

図10の例は、図5の例の上位指令速度Vvを上位指令速度Vpと置き換え、速度側正負速度発火部24Eを位置側正負速度発火部14Eに置き換え、速度側境界速度発火部24Fを位置側境界速度発火部14Fに置き換えたものである。図10の例では、上位指令速度Vp>0であるので、位置側正負速度発火部14Eは、位置側正速度入力部J[2]に対応しているVp(>0)が発火して上位指令速度Vpを出力する。従って、位置側正速度入力部J[2]には、位置側正速度入力値として上位指令速度Vpが入力され、位置側正速度入力部J[2]は、入力された位置側正速度入力値を、位置側正速度出力として出力する。なお図10の例において、位置側正負速度発火部14Eにおける位置側負速度入力部J[3]に対応しているVp(<0)は発火しない。従って、位置側負速度入力部J[3]には、何も入力されず、位置側負速度入力部J[3]は何も出力しない。   In the example of FIG. 10, the upper command speed Vv of the example of FIG. 5 is replaced with the upper command speed Vp, the speed-side positive / negative speed firing unit 24E is replaced with the position-side positive / negative speed firing unit 14E, and the speed-side boundary speed firing unit 24F is positioned. It is replaced with the side boundary speed firing section 14F. In the example of FIG. 10, since the upper command speed Vp> 0, the position-side positive / negative speed firing unit 14E fires the Vp (> 0) corresponding to the position-side positive speed input unit J [2], and the higher position. The command speed Vp is output. Therefore, the upper command speed Vp is input to the position-side positive speed input unit J [2] as the position-side positive speed input value, and the position-side normal speed input unit J [2] receives the input position-side normal speed input. The value is output as the position-side positive speed output. In the example of FIG. 10, Vp (<0) corresponding to the position-side negative speed input unit J [3] in the position-side positive / negative speed firing unit 14E does not fire. Therefore, nothing is input to the position side negative speed input section J [3], and nothing is output from the position side negative speed input section J [3].

また図10の例では、位置側境界速度発火部14Fは、位置側境界速度入力部J[j+1]、J[j+2]に対応している境界速度V12、V13が発火する。つまり、図10の上段の図において、各境界速度と上位指令速度との各速度差が、所定速度差以内(広がり幅Nw/2以内)の境界速度に対して、境界速度と上位指令速度Vpとの速度差、すなわち分布関数Nに基づいた位置側境界速度出力値が出力される。図10の例では、位置側境界速度発火部14Fにおいて、発火した境界速度V11から0.8が出力され、発火した境界速度V12から0.6が出力される。従って、位置側境界速度入力部J[j+1]には0.8が入力され、位置側境界速度入力部J[j+1]は入力された位置側境界速度出力値(この場合、0.8)を位置側境界速度出力として出力する。また位置側境界速度入力部J[j+2]には0.6が入力され、位置側境界速度入力部J[j+2]は入力された位置側境界速度出力値(この場合、0.6)を位置側境界速度出力として出力する。なお図10の例において、位置側境界速度発火部14Fにおける境界速度−V0n、−V01、V13、V14、V15、V1nは発火しないので、位置側境界速度入力部J[4]、J[j]、J[j+3]、J[j+4]、J[j+5]、J[j+n]には、何も入力されず、位置側境界速度入力部J[4]、J[j]、J[j+3]、J[j+4]、J[j+5]、J[j+n]は何も出力しない。なお、各境界速度は、等間隔でなく不等間隔で並んでいるので、上位指令速度Vpの値に応じて、発火する境界速度の数が変わる。   In the example of FIG. 10, the position-side boundary speed firing unit 14F fires boundary speeds V12 and V13 corresponding to the position-side boundary speed input units J [j + 1] and J [j + 2]. That is, in the upper diagram of FIG. 10, each speed difference between each boundary speed and the upper command speed is equal to or less than the boundary speed within the predetermined speed difference (within the spread width Nw / 2). , That is, a position-side boundary speed output value based on the distribution function N is output. In the example of FIG. 10, the position-side boundary speed firing section 14F outputs 0.8 from the fired boundary speed V11 and outputs 0.6 from the fired boundary speed V12. Therefore, 0.8 is input to the position-side boundary speed input unit J [j + 1], and the position-side boundary speed input unit J [j + 1] outputs the input position-side boundary speed output value (0.8 in this case). Output as position-side boundary speed output. Further, 0.6 is input to the position-side boundary speed input unit J [j + 2], and the position-side boundary speed input unit J [j + 2] sets the input position-side boundary speed output value (0.6 in this case) to the position. Output as side boundary speed output. In the example of FIG. 10, since the boundary velocities -V0n, -V01, V13, V14, V15, and V1n in the position-side boundary speed firing unit 14F do not fire, the position-side boundary speed input units J [4] and J [j]. , J [j + 3], J [j + 4], J [j + 5], J [j + n], nothing is input, and the position-side boundary speed input units J [4], J [j], J [j + 3], J [j + 4], J [j + 5], and J [j + n] do not output anything. Since the boundary speeds are arranged at irregular intervals, not at equal intervals, the number of firing boundary speeds changes according to the value of the upper command speed Vp.

図11の例は、図7の例の上位指令速度Vvを上位指令速度Vpと置き換え、速度側正負速度発火部24Eを位置側正負速度発火部14Eに置き換え、速度側境界速度発火部24Fを位置側境界速度発火部14Fに置き換えたものである。図11の例では、上位指令速度Vp<0であるので、位置側正負速度発火部14Eは、位置側負速度入力部J[3]に対応しているVp(<0)が発火して上位指令速度Vpを出力する。従って、位置側負速度入力部J[3]には、位置側負速度入力値として上位指令速度Vpが入力され、位置側負速度入力部J[3]は、入力された位置側負速度入力値を、位置側負速度出力として出力する。なお図11の例において、位置側正負速度発火部14Eにおける位置側正速度入力部J[2]に対応しているVp(>0)は発火しない。従って、位置側正速度入力部J[2]には、何も入力されず、位置側正速度入力部J[2]は何も出力しない。   In the example of FIG. 11, the upper command speed Vv of the example of FIG. 7 is replaced with the upper command speed Vp, the speed-side positive / negative speed firing unit 24E is replaced with the position-side positive / negative speed firing unit 14E, and the speed-side boundary speed firing unit 24F is positioned. It is replaced with the side boundary speed firing section 14F. In the example of FIG. 11, since the upper command speed Vp <0, the position-side positive / negative speed firing unit 14E fires the Vp (<0) corresponding to the position-side negative speed input unit J [3], and the upper position. The command speed Vp is output. Therefore, the upper command speed Vp is input to the position-side negative speed input unit J [3] as the position-side negative speed input value, and the position-side negative speed input unit J [3] receives the input position-side negative speed input. The value is output as the position side negative speed output. In the example of FIG. 11, Vp (> 0) corresponding to the position-side positive speed input unit J [2] in the position-side positive / negative speed firing unit 14E does not fire. Therefore, nothing is input to the position-side positive speed input unit J [2], and nothing is output from the position-side normal speed input unit J [2].

また図11の例では、位置側境界速度発火部14Fは、位置側境界速度入力部J[j−1]、J[j]に対応している境界速度−V02、−V01が発火する。つまり、図11の上段の図において、各境界速度と上位指令速度との各速度差が、所定速度差以内(広がり幅Nw/2以内)の境界速度に対して、境界速度と上位指令速度Vpとの速度差、すなわち分布関数Nに基づいた位置側境界速度出力値が出力される。図11の例では、位置側境界速度発火部14Fにおいて、発火した境界速度−V02から−0.7が出力され、発火した境界速度−V01から−0.5が出力される。従って、位置側境界速度入力部J[j−1]には−0.7が入力され、位置側境界速度入力部J[j−1]は入力された位置側境界速度出力値(この場合、−0.7)を位置側境界速度出力として出力する。また位置側境界速度入力部J[j]には−0.5が入力され、位置側境界速度入力部J[j]は入力された位置側境界速度出力値(この場合、−0.5)を位置側境界速度出力として出力する。なお図11の例において、位置側境界速度発火部14Fにおける境界速度−V0n、−V05、−V04、−V03、V11、V1nは発火しないので、位置側境界速度入力部J[4]、J[j−4]、J[j−3]、J[j−2]、J[j+1]、J[j+n]には、何も入力されず、位置側境界速度入力部J[4]、J[j−4]、J[j−3]、J[j−2]、J[j+1]、J[j+n]は何も出力しない。なお、各境界速度は、等間隔でなく不等間隔で並んでいるので、上位指令速度Vpの値に応じて、発火する境界速度の数が変わる。   In the example of FIG. 11, the position-side boundary speed firing unit 14F fires the boundary velocities -V02 and -V01 corresponding to the position-side boundary speed input units J [j-1] and J [j]. That is, in the upper diagram of FIG. 11, each speed difference between each boundary speed and the upper command speed is equal to or less than the boundary speed within the predetermined speed difference (within the spread width Nw / 2). , That is, a position-side boundary speed output value based on the distribution function N is output. In the example of FIG. 11, the position-side boundary speed firing section 14F outputs -0.7 from the fired boundary speed -V02 and -0.5 from the fired boundary speed -V01. Therefore, -0.7 is input to the position-side boundary speed input unit J [j-1], and the position-side boundary speed input unit J [j-1] outputs the input position-side boundary speed output value (in this case, -0.7) is output as the position-side boundary speed output. The position-side boundary speed input unit J [j] receives -0.5, and the position-side boundary speed input unit J [j] receives the input position-side boundary speed output value (-0.5 in this case). Is output as the position-side boundary speed output. In the example of FIG. 11, the boundary velocities -V0n, -V05, -V04, -V03, V11, and V1n in the position-side boundary speed firing unit 14F do not fire, so the position-side boundary speed input units J [4] and J [ Nothing is input to j-4], J [j-3], J [j-2], J [j + 1], J [j + n], and the position-side boundary speed input units J [4], J [ j-4], J [j-3], J [j-2], J [j + 1], and J [j + n] do not output anything. Since the boundary speeds are arranged at irregular intervals, not at equal intervals, the number of firing boundary speeds changes according to the value of the upper command speed Vp.

●[単純パーセプトロン142における入力層14Aについて(図9)]
図9に示すように、重み学習機能付きネットワークの単純パーセプトロン142における入力層14Aは、位置側加速度入力部J[1]、位置側正速度入力部J[2]、位置側負速度入力部J[3]、位置側境界速度入力部J[4]〜J[j+n]、を有している。
● [Input layer 14A in simple perceptron 142 (FIG. 9)]
As shown in FIG. 9, the input layer 14A in the simple perceptron 142 of the network with the weight learning function includes a position-side acceleration input unit J [1], a position-side positive speed input unit J [2], and a position-side negative speed input unit J. [3], and a position-side boundary speed input unit J [4] to J [j + n].

位置側加速度入力部J[1]は、上位指令加速度αpが入力され、入力された上位指令加速度αpを、位置側加速度出力として出力する。   The position-side acceleration input unit J [1] receives the higher-order command acceleration αp, and outputs the input higher-order command acceleration αp as a position-side acceleration output.

位置側正速度入力部J[2]は、上述したように、位置側正負速度発火部14EのVp(>0)が発火した場合に、上位指令速度Vpである位置側正速度出力値が入力され、入力された位置側正速度出力値を、位置側正速度出力として出力する。また位置側負速度入力部J[3]は、上述したように、位置側正負速度発火部14EのVp(<0)が発火した場合に、上位指令速度Vpである位置側負速度出力値が入力され、入力された位置側負速度出力値を、位置側負速度出力として出力する。   As described above, when Vp (> 0) of the position-side positive / negative speed firing unit 14E fires, the position-side positive speed output value Jp, which is the upper command speed Vp, is input to the position-side positive speed input unit J [2]. Then, the input position-side normal speed output value is output as the position-side normal speed output. Further, as described above, when Vp (<0) of the position-side positive / negative speed firing unit 14E is fired, the position-side negative speed output value that is the higher-order command speed Vp is output to the position-side negative speed input unit J [3]. The input position-side negative speed output value is output as a position-side negative speed output.

位置側境界速度入力部J[4]〜J[j+n]は、複数の境界速度−V0n〜V1nに対応させて用意されている。そして位置側境界速度入力部J[4]〜J[j+n]は、上述したように、位置側境界速度発火部14Fにおいて発火した境界速度から位置側境界速度出力値が入力され、入力された位置側境界速度出力値を、位置側境界速度出力として出力する。そして、各入力部J[1]〜J[j+n]から出力される位置側加速度出力、位置側正速度出力、位置側負速度出力、位置側境界速度出力を、まとめて位置側第1出力14L1とする。   The position side boundary speed input units J [4] to J [j + n] are prepared corresponding to a plurality of boundary speeds -V0n to V1n. As described above, the position-side boundary speed input units J [4] to J [j + n] input the position-side boundary speed output values from the boundary speeds fired in the position-side boundary speed firing unit 14F, and input the input position. The side boundary speed output value is output as the position side boundary speed output. The position-side acceleration output, the position-side positive speed output, the position-side negative speed output, and the position-side boundary speed output output from each of the input units J [1] to J [j + n] are collectively obtained as the position-side first output 14L1. And

●[単純パーセプトロン142における位置側第1重み学習部14Gについて(図9)]
位置側第1重み学習部14Gは、位置側加速度入力部J[1]に対応付けられた位置側第1学習重みW[1]、位置側正速度入力部J[2]に対応付けられた位置側第1学習重みW[2]、位置側負速度入力部J[3]に対応付けられた位置側第1学習重みW[3]、位置側境界速度入力部J[4]〜J[j+n]のそれぞれに対応付けられた位置側第1学習重みW[4]〜W[j+n]、を記憶する記憶機能を有している。また、位置側第1重み学習部14Gは、位置偏差10outに基づいて位置側第1学習重みW[1]〜W[j+n]を変更(学習)する変更機能を有している。また、位置側第1重み学習部14Gは、入力された位置側第1出力14L1のそれぞれに、位置側第1学習重みW[1]〜W[j+n]のそれぞれを乗算する乗算機能を有している。
● [Position-side first weight learning unit 14G in simple perceptron 142 (FIG. 9)]
The position-side first weight learning unit 14G is associated with the position-side first learning weight W [1] associated with the position-side acceleration input unit J [1] and the position-side positive speed input unit J [2]. Position-side first learning weight W [2], position-side first learning weight W [3] associated with position-side negative speed input unit J [3], position-side boundary speed input units J [4] to J [ j + n], and has a storage function of storing the position-side first learning weights W [4] to W [j + n] associated with the respective ones of [j + n]. The position-side first weight learning unit 14G has a changing function of changing (learning) the position-side first learning weights W [1] to W [j + n] based on the position deviation 10out. The position-side first weight learning unit 14G has a multiplication function of multiplying each of the input position-side first outputs 14L1 by each of the position-side first learning weights W [1] to W [j + n]. ing.

位置側第1重み学習部14Gは、位置偏差10outに応じて、位置側第1学習重みW[1]〜W[j+n]の各値が、所定の評価関数に対して最適値に近づくように変更(学習)する。例えば位置側第1重み学習部14Gは、横軸が位置側第1学習重み、縦軸が位置偏差の2乗となる評価関数を用いて、位置偏差の2乗が小さくなるように、位置側第1学習重みの値を変更(学習)する。なお評価関数は、重み毎に用意されている。なお、図10の例に示す上位指令速度Vpが入力された場合、位置側第1重み学習部14Gは、出力された位置側第1出力14L1に対応している位置側第1学習重みW[1]、W[2]、W[j+2]、W[j+3]を学習し、出力されなかった位置側第1出力14L1に対応している位置側第1学習重みW[3]〜W[j+1]、W[j+4]〜W[j+n]については学習しない。   The position-side first weight learning unit 14G adjusts the position-side first learning weights W [1] to W [j + n] in accordance with the position deviation 10out so as to approach an optimum value for a predetermined evaluation function. Change (learn). For example, the position-side first weight learning unit 14G uses an evaluation function in which the horizontal axis represents the position-side first learning weight and the vertical axis represents the square of the position deviation, and reduces the position-side square to reduce the square of the position deviation. The value of the first learning weight is changed (learned). An evaluation function is prepared for each weight. When the upper command speed Vp shown in the example of FIG. 10 is input, the position-side first weight learning unit 14G outputs the position-side first learning weight W [corresponding to the output position-side first output 14L1. 1], W [2], W [j + 2], W [j + 3], and the position-side first learning weights W [3] to W [j + 1] corresponding to the position-side first outputs 14L1 that have not been output. ] And W [j + 4] to W [j + n] are not learned.

そして位置側第1重み学習部14Gは、入力された位置側第1出力14L1のそれぞれに、対応する位置側第1学習重みW[1]〜W[j+n]を乗算した位置側第1乗算値14M1を出力する。例えば、図10の例に示す上位指令速度Vpが入力された場合、位置側第1重み学習部14Gは、αp*W[1]と、Vp*W[2]と、0.8*W[j+1]と、0.6*W[j+2]を出力する。また例えば図11の例に示す上位指令速度Vpが入力された場合、位置側第1重み学習部14Gは、αp*W[1]と、Vp*W[3]と、−0.7*W[j−1]と、−0.5*W[j]を出力する。   Then, the position-side first weight learning unit 14G multiplies each of the input position-side first outputs 14L1 by a corresponding position-side first learning weight W [1] to W [j + n]. 14M1 is output. For example, when the upper command speed Vp shown in the example of FIG. 10 is input, the position-side first weight learning unit 14G outputs αp * W [1], Vp * W [2], and 0.8 * W [ j + 1] and 0.6 * W [j + 2]. Further, for example, when the higher-order command speed Vp shown in the example of FIG. 11 is input, the position-side first weight learning unit 14G outputs αp * W [1], Vp * W [3], and −0.7 * W. [J-1] and -0.5 * W [j] are output.

●[単純パーセプトロン242における出力層14Cについて(図9)]
出力層14Cは、位置側出力部P[1]を有している。位置側出力部P[1]は、以下の(11)〜(14)の各位置側第1乗算値を加算した値を、所定の関数(例えばシグモイド関数)で変換し、変換した値を第2仮指令速度14outとして出力する。なお、位置側出力部P[1]は、シグモイド関数の利用を省略して第2仮指令速度14outを出力することも可能である。
(11)位置側加速度入力部J[1]から出力された位置側加速度出力(αp)に、位置側第1学習重みW[1]を乗算した位置側第1乗算値(αp*W[1])。
(12)位置側正速度入力部J[2]から位置側正速度出力が出力された場合に、位置側正速度出力(Vp)に、位置側第1学習重みW[2]を乗算した位置側第1乗算値(Vp*W[2])。
(13)位置側負速度入力部J[3]から位置側負速度出力が出力された場合に、位置側負速度出力(Vp)に、位置側第1学習重みW[3]を乗算した位置側第1乗算値(Vp*W[3])。
(14)位置側境界速度入力部J[4]〜J[j+n]の中から出力された位置側境界速度出力に、対応する位置側第1学習重み(W[4]〜W[j+n])を乗算した位置側第1乗算値。
● [Output layer 14C in simple perceptron 242 (FIG. 9)]
The output layer 14C has a position-side output unit P [1]. The position-side output unit P [1] converts a value obtained by adding the following position-side first multiplication values of (11) to (14) by a predetermined function (for example, a sigmoid function), and converts the converted value to a first value. Output as 2 temporary command speeds 14out. The position-side output unit P [1] can output the second provisional command speed 14out without using the sigmoid function.
(11) A position-side first multiplication value (αp * W [1) obtained by multiplying the position-side acceleration output (αp) output from the position-side acceleration input unit J [1] by the position-side first learning weight W [1]. ]).
(12) The position obtained by multiplying the position-side positive speed output (Vp) by the position-side first learning weight W [2] when the position-side normal speed output is output from the position-side normal speed input unit J [2]. Side first multiplication value (Vp * W [2]).
(13) When the position-side negative speed output is output from the position-side negative speed input unit J [3], the position obtained by multiplying the position-side negative speed output (Vp) by the position-side first learning weight W [3]. Side first multiplication value (Vp * W [3]).
(14) Position-side first learning weights (W [4] to W [j + n]) corresponding to the position-side boundary speed outputs output from the position-side boundary speed input units J [4] to J [j + n]. Is the position-side first multiplied value.

以上、第1の実施の形態では、全体としては非線形特性を有する特性を、線形特性とみなすことが可能となる複数の領域(この場合、速度範囲毎の領域)に分割し、入力された物理量(この場合、上位指令速度Vv、上位指令速度Vp)に応じた領域を用いて演算することで、位置偏差をより低減することができる。なお図12は、上記の領域分割を行わない従来の制御、かつ重み(速度側第1学習重み、位置側第1学習重み)を学習しなかった場合、における位置偏差(誤差)の発生状態の例を示している。また図13は、本第1の実施の形態の制御(上記の領域分割あり、かつ速度側第1学習重み、位置側第1学習重み、の学習あり)を行った場合、における位置偏差の発生状態の例を示している。どちらも横軸は時間であり、縦軸はエンコーダと指令位置との偏差(誤差)を示している。図12と図13を比較すれば明らかなように、本第1の実施の形態の制御では、従来と比較して、位置偏差(誤差)を大幅に低減することができる。   As described above, in the first embodiment, a characteristic having nonlinear characteristics as a whole is divided into a plurality of regions (in this case, regions for each speed range) which can be regarded as linear characteristics, and the input physical quantity (In this case, the position deviation can be further reduced by performing the calculation using the area corresponding to the upper command speed Vv and the upper command speed Vp). FIG. 12 shows a state of occurrence of a position deviation (error) in the conventional control in which the above-described region division is not performed and when the weights (the speed-side first learning weight and the position-side first learning weight) are not learned. An example is shown. FIG. 13 shows the occurrence of a position deviation when the control of the first embodiment (the above-described region division is performed and the speed-side first learning weight and the position-side first learning weight are performed) is performed. 9 shows an example of a state. In each case, the horizontal axis represents time, and the vertical axis represents the deviation (error) between the encoder and the command position. As is clear from a comparison between FIG. 12 and FIG. 13, the control of the first embodiment can greatly reduce the position deviation (error) as compared with the conventional control.

●●[第2の実施の形態(図14)]
次に図14を用いて、モータ制御装置92Uの第2の実施の形態について説明する。図14に示す第2の実施の形態のモータ制御装置は、図2に示す第1の実施の形態のモータ制御装置に対して、位置フィードフォワード制御部14、位置側入力速度演算部12、位置側入力加速度演算部13、速度加算演算部15、が省略されている点が異なり、他は同じである。以下、相違点について主に説明する。なお、位置フィードバック制御部11から出力される第1仮指令速度11outは、そのまま下位指令速度15outとなって速度偏差演算部20に入力される。
●● [Second embodiment (FIG. 14)]
Next, a motor control device 92U according to a second embodiment will be described with reference to FIG. The motor control device according to the second embodiment shown in FIG. 14 is different from the motor control device according to the first embodiment shown in FIG. 2 in that the position feedforward control unit 14, the position-side input speed calculation unit 12, the position The difference is that the side input acceleration calculation unit 13 and the speed addition calculation unit 15 are omitted, and the others are the same. Hereinafter, differences will be mainly described. Note that the first provisional command speed 11out output from the position feedback control unit 11 is directly input to the speed deviation calculation unit 20 as the lower command speed 15out.

図14に示す第2の実施の形態のモータ制御装置では、図2に示す第1の実施の形態のモータ制御装置における位置フィードフォワード制御部14と、位置フィードフォワード制御部14への入力(位置側入力速度演算部12、位置側入力加速度演算部13)と出力(速度加算演算部15)が省略されている。従って、第2の実施の形態のモータ制御装置による制御のほうが、第1の実施の形態のモータ制御装置による制御よりも若干、位置偏差が増える。しかし、発明者の実験の結果、位置フィードフォワード制御部による位置偏差の低減よりも、速度フィードフォワード制御部による位置偏差の低減のほうが支配的であることがわかり、例えば図1の例に示すロボットの制御であれば、位置フィードフォワード制御部を省略しても、位置偏差を充分低減できていることがわかった。つまり、例えばロボットの制御であれば、位置フィードフォワード制御部(及び位置フィードフォワード制御部への入出力部)を省略しても、期待するレベルまで位置偏差を低減させることができる。この場合、モータ制御装置の処理負荷を軽減することができる。   In the motor control device according to the second embodiment shown in FIG. 14, the position feedforward control unit 14 and the input (position) to the position feedforward control unit 14 in the motor control device according to the first embodiment shown in FIG. The side input speed calculation unit 12, the position side input acceleration calculation unit 13) and the output (speed addition calculation unit 15) are omitted. Therefore, the control by the motor control device of the second embodiment slightly increases the position deviation compared to the control by the motor control device of the first embodiment. However, as a result of the experiment by the inventor, it was found that the reduction of the position deviation by the velocity feedforward control unit was more dominant than the reduction of the position deviation by the position feedforward control unit. For example, the robot shown in the example of FIG. With the control described above, it was found that the position deviation was sufficiently reduced even if the position feedforward control unit was omitted. That is, for example, in the case of robot control, the position deviation can be reduced to an expected level even if the position feedforward control unit (and the input / output unit to the position feedforward control unit) is omitted. In this case, the processing load on the motor control device can be reduced.

●●[第3の実施の形態(図15、図16)]
次に、モータ制御装置92Uの第3の実施の形態について説明する。第3の実施の形態では、モータ制御装置の全体構成は第1の実施の形態と同じく図2に示すものであるが、速度フィードフォワード制御部24の内部構成は図15に示すものであり、位置フィードフォワード制御部14の内部構成は図16に示すものである点が異なる。
●● [Third Embodiment (FIGS. 15 and 16)]
Next, a third embodiment of the motor control device 92U will be described. In the third embodiment, the overall configuration of the motor control device is the same as that of the first embodiment shown in FIG. 2, but the internal configuration of the speed feedforward control unit 24 is that shown in FIG. The difference is that the internal configuration of the position feedforward control unit 14 is as shown in FIG.

●[速度フィードフォワード制御部24の構成(図15)]
次に図15を用いて、第3の実施の形態における速度フィードフォワード制御部24内の構成について説明する。速度フィードフォワード制御部24のほうが、位置フィードフォワード制御部14よりも位置偏差の低減への影響が大きいので、まず速度フィードフォワード制御部24を説明する。速度フィードフォワード制御部24は、入力処理部241と、ニューラルネットワーク243と、を有している。なお、入力処理部241は、第1の実施の形態の入力処理部241(図3参照)と同じであるので説明を省略する。また、上位指令速度Vv、上位指令加速度αvも第1の実施の形態(図3参照)と同じであるので説明を省略する。ニューラルネットワーク243は、入力層24A、速度側第1重み学習部24G、中間層24B、速度側第2重み学習部24H、出力層24C、を有している。なお第3の実施の形態では、中間層24Bとして、3つの速度側演算部N[1]〜N[3]を有する例を説明するが、速度側演算部の数は3つに限定されるものではない。
● [Configuration of Speed Feedforward Control Unit 24 (FIG. 15)]
Next, a configuration inside the speed feedforward control unit 24 according to the third embodiment will be described with reference to FIG. Since the speed feedforward control unit 24 has a greater effect on reducing the position deviation than the position feedforward control unit 14, the speed feedforward control unit 24 will be described first. The speed feedforward control unit 24 has an input processing unit 241 and a neural network 243. Note that the input processing unit 241 is the same as the input processing unit 241 of the first embodiment (see FIG. 3), and thus the description is omitted. Further, the upper command speed Vv and the upper command acceleration αv are the same as those in the first embodiment (see FIG. 3), and thus the description is omitted. The neural network 243 has an input layer 24A, a speed-side first weight learning unit 24G, an intermediate layer 24B, a speed-side second weight learning unit 24H, and an output layer 24C. In the third embodiment, an example in which the intermediate layer 24B includes three speed-side calculation units N [1] to N [3] will be described. However, the number of speed-side calculation units is limited to three. Not something.

●[ニューラルネットワーク243における入力層24Aについて(図15)]
図15に示すように、ニューラルネットワーク243における入力層24Aは、速度側加速度入力部K[1]、速度側正速度入力部K[2]、速度側負速度入力部K[3]、速度側境界速度入力部K[4]〜K[j+n]、を有している点は第1の実施の形態(図3参照)と同じである。ただし、各入力部からの出力が第1の実施の形態とは異なる。
● [Input layer 24A in neural network 243 (FIG. 15)]
As shown in FIG. 15, the input layer 24A in the neural network 243 includes a speed-side acceleration input unit K [1], a speed-side positive speed input unit K [2], a speed-side negative speed input unit K [3], and a speed-side The point having the boundary speed input sections K [4] to K [j + n] is the same as in the first embodiment (see FIG. 3). However, the output from each input unit is different from that of the first embodiment.

速度側加速度入力部K[1]は、上位指令加速度αvが入力され、入力された上位指令加速度αvを、予め用意された複数の速度側演算部N[1]〜N[3]のそれぞれに向けて速度側加速度出力として出力する。   The speed-side acceleration input unit K [1] receives the higher-order command acceleration αv and sends the input higher-order command acceleration αv to each of the plurality of speed-side arithmetic units N [1] to N [3] prepared in advance. And output it as the speed-side acceleration output.

速度側正速度入力部K[2]は、速度側正負速度発火部24EのVv(>0)が発火した場合に、上位指令速度Vvである速度側正速度出力値が入力され、入力された速度側正速度出力値を、予め用意された複数の速度側演算部N[1]〜N[3]のそれぞれに向けて速度側正速度出力として出力する。また速度側負速度入力部K[3]は、速度側正負速度発火部24EのVv(<0)が発火した場合に、上位指令速度Vvである速度側負速度出力値が入力され、入力された速度側負速度出力値を、予め用意された複数の速度側演算部N[1]〜N[3]のそれぞれに向けて速度側負速度出力として出力する。   The speed-side positive speed input unit K [2] receives and inputs the speed-side positive speed output value, which is the upper command speed Vv, when Vv (> 0) of the speed-side positive / negative speed firing unit 24E fires. The speed-side positive speed output value is output as a speed-side normal speed output to each of the plurality of speed-side arithmetic units N [1] to N [3] prepared in advance. The speed-side negative speed input unit K [3] receives and inputs the speed-side negative speed output value, which is the upper command speed Vv, when Vv (<0) of the speed-side positive / negative speed firing unit 24E fires. The speed-side negative speed output value is output as a speed-side negative speed output to each of the plurality of speed-side arithmetic units N [1] to N [3] prepared in advance.

速度側境界速度入力部K[4]〜K[j+n]は、複数の境界速度−V0n〜V1nに対応させて用意されている。そして速度側境界速度入力部K[4]〜K[j+n]は、速度側境界速度発火部24Fにおいて発火した境界速度から速度側境界速度出力値が入力され、入力された速度側境界速度出力値を、予め用意された複数の速度側演算部N[1]〜N[3]のそれぞれに向けて速度側境界速度出力として出力する。そして、各入力部K[1]〜K[j+n]から出力される速度側加速度出力、速度側正速度出力、速度側負速度出力、速度側境界速度出力を、まとめて速度側第1出力24L1とする。   The speed-side boundary speed input units K [4] to K [j + n] are prepared corresponding to a plurality of boundary speeds -V0n to V1n. The speed-side boundary speed input units K [4] to K [j + n] receive speed-side boundary speed output values from the boundary speeds fired in the speed-side boundary speed firing unit 24F, and the input speed-side boundary speed output values. Is output as a speed-side boundary speed output to each of a plurality of speed-side calculation units N [1] to N [3] prepared in advance. The speed-side acceleration output, the speed-side positive speed output, the speed-side negative speed output, and the speed-side boundary speed output output from each of the input units K [1] to K [j + n] are collectively output as the speed-side first output 24L1. And

●[ニューラルネットワーク243における速度側第1重み学習部24Gについて(図15)]
速度側加速度入力部K[1]から速度側演算部N[1]に出力される速度側第1出力には、速度側第1学習重みU[1][1](U[s][1])が対応付けられている。速度側正速度入力部K[2]から速度側演算部N[1]に出力される速度側第1出力には、速度側第1学習重みU[2][1](U[s][1])が対応付けられている。速度側負速度入力部K[3]から速度側演算部N[1]に出力される速度側第1出力には、速度側第1学習重みU[3][1](U[s][1])が対応付けられている。速度側境界速度入力部K[4]〜K[j+n]から速度側演算部N[1]に出力される速度側第1出力には、速度側第1学習重みU[4][1]〜U[j+n][1](U[s][1])が対応付けられている。このように、速度側演算部N[1]に向けて出力される各速度側第1出力には、速度側第1学習重みU[s][1]が対応付けられている。
● [About the speed-side first weight learning unit 24G in the neural network 243 (FIG. 15)]
A speed-side first learning weight U [1] [1] (U [s] [1] is added to the speed-side first output output from the speed-side acceleration input unit K [1] to the speed-side operation unit N [1]. ]) Are associated. The speed-side first output that is output from the speed-side positive speed input unit K [2] to the speed-side operation unit N [1] includes a speed-side first learning weight U [2] [1] (U [s] [ 1]). A speed-side first learning weight U [3] [1] (U [s] [) is output from the speed-side negative speed input unit K [3] to the speed-side operation unit N [1]. 1]). The speed-side first outputs output from the speed-side boundary speed input units K [4] to K [j + n] to the speed-side operation unit N [1] include speed-side first learning weights U [4] [1]-. U [j + n] [1] (U [s] [1]) is associated therewith. As described above, the speed-side first learning weight U [s] [1] is associated with each speed-side first output that is output to the speed-side operation unit N [1].

同様に、速度側加速度入力部K[1]から速度側演算部N[2]に出力される速度側第1出力には、速度側第1学習重みU[1][2](U[s][2])が対応付けられている。速度側正速度入力部K[2]から速度側演算部N[2]に出力される速度側第1出力には、速度側第1学習重みU[2][2](U[s][2])が対応付けられている。速度側負速度入力部K[3]から速度側演算部N[2]に出力される速度側第1出力には、速度側第1学習重みU[3][2](U[s][2])が対応付けられている。速度側境界速度入力部K[4]〜K[j+n]から速度側演算部N[2]に出力される速度側第1出力には、速度側第1学習重みU[4][2]〜U[j+n][2](U[s][2])が対応付けられている。このように、速度側演算部N[2]に向けて出力される各速度側第1出力には、速度側第1学習重みU[s][2]が対応付けられている。   Similarly, a speed-side first learning weight U [1] [2] (U [s]) is added to the speed-side first output output from the speed-side acceleration input unit K [1] to the speed-side operation unit N [2]. ] [2]). A speed-side first learning weight U [2] [2] (U [s] [is input to the speed-side first output output from the speed-side positive speed input unit K [2] to the speed-side operation unit N [2]. 2]). The speed-side first output output from the speed-side negative speed input unit K [3] to the speed-side operation unit N [2] includes a speed-side first learning weight U [3] [2] (U [s] [ 2]). The speed-side first outputs output from the speed-side boundary speed input units K [4] to K [j + n] to the speed-side operation unit N [2] include speed-side first learning weights U [4] [2]-. U [j + n] [2] (U [s] [2]) is associated therewith. Thus, the speed-side first learning weight U [s] [2] is associated with each speed-side first output that is output to the speed-side operation unit N [2].

同様に、速度側加速度入力部K[1]から速度側演算部N[3]に出力される速度側第1出力には、速度側第1学習重みU[1][3](U[s][3])が対応付けられている。速度側正速度入力部K[2]から速度側演算部N[3]に出力される速度側第1出力には、速度側第1学習重みU[2][3](U[s][3])が対応付けられている。速度側負速度入力部K[3]から速度側演算部N[3]に出力される速度側第1出力には、速度側第1学習重みU[3][3](U[s][3])が対応付けられている。速度側境界速度入力部K[4]〜K[j+n]から速度側演算部N[3]に出力される速度側第1出力には、速度側第1学習重みU[4][3]〜U[j+n][3](U[s][3])が対応付けられている。このように、速度側演算部N[3]に向けて出力される各速度側第1出力には、速度側第1学習重みU[s][3]が対応付けられている。   Similarly, the speed-side first learning weight U [1] [3] (U [s ] [3]). The speed-side first output outputted from the speed-side positive speed input unit K [2] to the speed-side operation unit N [3] includes speed-side first learning weights U [2] [3] (U [s] [ 3]). The speed-side first output outputted from the speed-side negative speed input unit K [3] to the speed-side operation unit N [3] includes a speed-side first learning weight U [3] [3] (U [s] [ 3]). The speed-side first outputs output from the speed-side boundary speed input units K [4] to K [j + n] to the speed-side operation unit N [3] include speed-side first learning weights U [4] [3]-. U [j + n] [3] (U [s] [3]) is associated therewith. Thus, the speed-side first learning weight U [s] [3] is associated with each speed-side first output that is output to the speed-side operation unit N [3].

速度側第1重み学習部24Gは、これらの速度側第1学習重みU[s][1]、U[s][2]、U[s][3]、を記憶する記憶機能を有している。また、速度側第1重み学習部24Gは、速度偏差20outに基づいて速度側第1学習重みU[s][1]、U[s][2]、U[s][3]を変更(学習)する変更機能を有している。また、速度側第1重み学習部24Gは、入力された速度側第1出力24L1のそれぞれに、対応する速度側第1学習重みを乗算する乗算機能を有している。   The speed-side first weight learning unit 24G has a storage function of storing these speed-side first learning weights U [s] [1], U [s] [2], and U [s] [3]. ing. The speed-side first weight learning unit 24G changes the speed-side first learning weights U [s] [1], U [s] [2], and U [s] [3] based on the speed deviation 20out ( Learning). The speed-side first weight learning unit 24G has a multiplication function of multiplying each of the input speed-side first outputs 24L1 by the corresponding speed-side first learning weight.

速度側第1重み学習部24Gは、速度偏差20outに応じて、速度側第1学習重みU[s][1]、U[s][2]、U[s][3]の各値が、所定の評価関数に対して最適値に近づくように変更(学習)する。例えば速度側第1重み学習部24Gは、横軸が速度側第1学習重み、縦軸が速度偏差の2乗となる評価関数を用いて、速度偏差の2乗が小さくなるように、速度側第1学習重みの値を変更(学習)する。なお評価関数は、重み毎に用意されている。なお、図5の例に示す上位指令速度Vvが入力された場合、速度側第1重み学習部24Gは、出力された速度側第1出力に対応している速度側第1学習重みU[1][1]〜U[1][3]、U[2][1]〜U[2][3]、U[j+2][1]〜U[j+2][3]、U[j+3][1]〜U[j+3][3]のみを学習し、出力されなかった他の速度側第1出力に対応する速度側第1学習重みについては学習しない。   The speed-side first weight learning unit 24G adjusts the values of the speed-side first learning weights U [s] [1], U [s] [2], and U [s] [3] according to the speed deviation 20out. Is changed (learned) so as to approach an optimum value for a predetermined evaluation function. For example, the speed-side first weight learning unit 24G uses the evaluation function whose horizontal axis is the speed-side first learning weight and whose vertical axis is the square of the speed deviation, so that the square of the speed deviation becomes small. The value of the first learning weight is changed (learned). An evaluation function is prepared for each weight. When the higher command speed Vv shown in the example of FIG. 5 is input, the speed-side first weight learning unit 24G outputs the speed-side first learning weight U [1] corresponding to the output speed-side first output. ] [1] to U [1] [3], U [2] [1] to U [2] [3], U [j + 2] [1] to U [j + 2] [3], U [j + 3] [ 1] to U [j + 3] [3], and does not learn the speed-side first learning weights corresponding to the other speed-side first outputs that have not been output.

そして速度側第1重み学習部24Gは、出力された速度側第1出力のそれぞれに、対応する速度側第1学習重みを乗算した速度側第1乗算値24M1を出力する。例えば、図5の例に示す上位指令速度Vvが入力された場合、速度側第1重み学習部24Gは、αv*U[1][1]〜αv*U[1][3]と、Vv*U[2][1]〜Vv*U[2][3]と、0.8*U[j+1][1]〜0.8*U[j+1][3]と、0.6*U[j+2][1]〜0.6*U[j+2][3]を出力する。また例えば図7の例に示す上位指令速度Vvが入力された場合、速度側第1重み学習部24Gは、αv*U[1][1]〜αv*U[1][3]と、Vv*U[3][1]〜Vv*U[3][3]と、−0.7*U[j−1][1]〜―0.7*U[j−1][3]と、−0.5*U[j][1]〜―0.5*U[j][3]を出力する。   Then, the speed-side first weight learning unit 24G outputs a speed-side first multiplied value 24M1 obtained by multiplying each of the output speed-side first outputs by the corresponding speed-side first learning weight. For example, when the higher-order command speed Vv shown in the example of FIG. 5 is input, the speed-side first weight learning unit 24G outputs αv * U [1] [1] to αv * U [1] [3] and Vv * U [2] [1] to Vv * U [2] [3] and 0.8 * U [j + 1] [1] to 0.8 * U [j + 1] [3] and 0.6 * U [J + 2] [1] to 0.6 * U [j + 2] [3] are output. Also, for example, when the higher-order command speed Vv shown in the example of FIG. 7 is input, the speed-side first weight learning unit 24G outputs αv * U [1] [1] to αv * U [1] [3] and Vv * U [3] [1] to Vv * U [3] [3] and -0.7 * U [j-1] [1] to -0.7 * U [j-1] [3] , -0.5 * U [j] [1] to -0.5 * U [j] [3].

●[ニューラルネットワーク243における中間層24Bについて(図15)]
中間層24Bは、速度側演算部N[1]〜N[3]を有している。なお、速度側演算部の数は3つに限定されるものではない。
● [About the intermediate layer 24B in the neural network 243 (FIG. 15)]
The middle layer 24B has speed-side calculation units N [1] to N [3]. It should be noted that the number of speed-side arithmetic units is not limited to three.

速度側演算部N[1]は、各入力部K[1]〜K[j+n]から自身(速度側演算部N[1])に向けて出力された速度側第1出力のそれぞれと、当該速度側第1出力のそれぞれに対応する速度側第1学習重み(U[s][1])と、を乗算した複数の速度側第1乗算値を加算して速度側第2出力として出力層24Cに向けて出力する。   The speed-side operation unit N [1] outputs each of the speed-side first outputs output from each of the input units K [1] to K [j + n] to itself (the speed-side operation unit N [1]). A plurality of speed-side first multiplication values obtained by multiplying a speed-side first learning weight (U [s] [1]) corresponding to each of the speed-side first outputs are added, and the output layer is output as a speed-side second output. Output to 24C.

速度側演算部N[2]は、各入力部K[1]〜K[j+n]から自身(速度側演算部N[2])に向けて出力された速度側第1出力のそれぞれと、当該速度側第1出力のそれぞれに対応する速度側第1学習重み(U[s][2])と、を乗算した複数の速度側第1乗算値を加算して速度側第2出力として出力層24Cに向けて出力する。   The speed-side operation unit N [2] outputs each of the speed-side first outputs output from each of the input units K [1] to K [j + n] to itself (the speed-side operation unit N [2]). A plurality of speed-side first multiplied values obtained by multiplying a speed-side first learning weight (U [s] [2]) corresponding to each of the speed-side first outputs are added to form an output layer as a speed-side second output. Output to 24C.

速度側演算部N[3]は、各入力部K[1]〜K[j+n]から自身(速度側演算部N[3])に向けて出力された速度側第1出力のそれぞれと、当該速度側第1出力のそれぞれに対応する速度側第1学習重み(U[s][3])と、を乗算した複数の速度側第1乗算値を加算して速度側第2出力として出力層24Cに向けて出力する。   The speed-side operation unit N [3] outputs each of the speed-side first outputs output from each of the input units K [1] to K [j + n] to itself (the speed-side operation unit N [3]). A plurality of speed-side first multiplication values obtained by multiplying a speed-side first learning weight (U [s] [3]) corresponding to each of the speed-side first outputs are added to form an output layer as a speed-side second output. Output to 24C.

●[ニューラルネットワーク243における速度側第2重み学習部24Hについて(図15)]
速度側第2重み学習部24Hは、速度側演算部N[1]に対応付けられた速度側第2学習重みY[1]、速度側演算部N[2]に対応付けられた速度側第2学習重みY[2]、速度側演算部N[3]に対応付けられた速度側第2学習重みY[3]、を記憶する記憶機能を有している。また、速度側第2重み学習部24Hは、速度偏差20outに基づいて速度側第2学習重みY[1]〜Y[3]を変更(学習)する変更機能を有している。また、速度側第2重み学習部24Hは、入力された速度側第2出力24L2のそれぞれに、速度側第2学習重みY[1]〜Y[3]のそれぞれを乗算する乗算機能を有している。
● [About the speed-side second weight learning unit 24H in the neural network 243 (FIG. 15)]
The speed-side second weight learning unit 24H includes a speed-side second learning weight Y [1] associated with the speed-side arithmetic unit N [1], and a speed-side second learning weight Y [1] associated with the speed-side arithmetic unit N [2]. It has a storage function of storing the 2 learning weights Y [2] and the speed-side second learning weights Y [3] associated with the speed-side operation unit N [3]. The speed-side second weight learning unit 24H has a changing function of changing (learning) the speed-side second learning weights Y [1] to Y [3] based on the speed deviation 20out. The speed-side second weight learning unit 24H has a multiplication function of multiplying each of the input speed-side second outputs 24L2 by each of the speed-side second learning weights Y [1] to Y [3]. ing.

速度側第2重み学習部24Hは、速度偏差20outに応じて、速度側第2学習重みY[1]〜Y[3]の各値が、所定の評価関数に対して最適値に近づくように変更(学習)する。例えば速度側第2重み学習部24Hは、横軸が速度側第2学習重み、縦軸が速度偏差の2乗となる評価関数を用いて、速度偏差の2乗が小さくなるように、速度側第2学習重みの値を変更(学習)する。なお評価関数は、重み毎に用意されている。   The speed-side second weight learning unit 24H adjusts the speed-side second learning weights Y [1] to Y [3] in accordance with the speed deviation 20out so as to approach an optimum value for a predetermined evaluation function. Change (learn). For example, the speed-side second weight learning unit 24H uses an evaluation function in which the horizontal axis represents the speed-side second learning weight and the vertical axis represents the square of the speed deviation, and reduces the speed-side square to reduce the square of the speed deviation. The value of the second learning weight is changed (learned). An evaluation function is prepared for each weight.

そして速度側第2重み学習部24Hは、入力された速度側第2出力24L2のそれぞれに、対応する速度側第2学習重みY[1]〜Y[3]を乗算した速度側第2乗算値24M2を出力する。   The speed-side second weight learning section 24H multiplies each of the input speed-side second outputs 24L2 by a corresponding speed-side second learning weight Y [1] to Y [3]. 24M2 is output.

●[ニューラルネットワーク243における出力層24Cについて(図15)]
出力層24Cは、速度側出力部Q[1]を有している。速度側出力部Q[1]は、以下の(11)〜(13)の各速度側第2乗算値を加算した値を、所定の関数(例えばシグモイド関数)で変換し、変換した値を第2仮指令電流24outとして出力する。なお、速度側出力部Q[1]は、シグモイド関数の利用を省略して第2仮指令電流24outを出力することも可能である。
(11)速度側演算部N[1]から出力された速度側第2出力に、速度側第2学習重みY[1]を乗算した速度側第2乗算値。
(12)速度側演算部N[2]から出力された速度側第2出力に、速度側第2学習重みY[2]を乗算した速度側第2乗算値。
(13)速度側演算部N[3]から出力された速度側第2出力に、速度側第2学習重みY[3]を乗算した速度側第2乗算値。
● [Output layer 24C in neural network 243 (FIG. 15)]
The output layer 24C has a speed-side output section Q [1]. The speed-side output unit Q [1] converts a value obtained by adding the following speed-side second multiplication values of (11) to (13) by a predetermined function (for example, a sigmoid function), and converts the converted value to a fourth value. Output as 2 temporary command currents 24out. The speed-side output unit Q [1] can output the second provisional command current 24out without using the sigmoid function.
(11) A speed-side second multiplied value obtained by multiplying the speed-side second output output from the speed-side operation unit N [1] by the speed-side second learning weight Y [1].
(12) A speed-side second multiplied value obtained by multiplying the speed-side second output output from the speed-side operation unit N [2] by the speed-side second learning weight Y [2].
(13) A speed-side second multiplied value obtained by multiplying the speed-side second output output from the speed-side operation unit N [3] by the speed-side second learning weight Y [3].

●[位置フィードフォワード制御部14の構成(図16)]
次に図16を用いて、第3の実施の形態における位置フィードフォワード制御部14内の構成について説明する。位置フィードフォワード制御部14は、入力処理部141と、ニューラルネットワーク143と、を有している。なお、入力処理部141は、第1の実施の形態の入力処理部141(図9参照)と同じであるので説明を省略する。また、上位指令速度Vp、上位指令加速度αpも第1の実施の形態(図9参照)と同じであるので説明を省略する。ニューラルネットワーク143は、入力層14A、位置側第1重み学習部14G、中間層14B、位置側第2重み学習部14H、出力層14C、を有している。なお第3の実施の形態では、中間層14Bとして、3つの位置側演算部M[1]〜M[3]を有する例を説明するが、位置側演算部の数は3つに限定されるものではない。
● [Configuration of position feed forward control unit 14 (FIG. 16)]
Next, the configuration inside the position feedforward control unit 14 in the third embodiment will be described with reference to FIG. The position feedforward control unit 14 has an input processing unit 141 and a neural network 143. Note that the input processing unit 141 is the same as the input processing unit 141 of the first embodiment (see FIG. 9), and thus the description is omitted. Further, the upper command speed Vp and the upper command acceleration αp are the same as those in the first embodiment (see FIG. 9), and thus the description is omitted. The neural network 143 has an input layer 14A, a position-side first weight learning unit 14G, an intermediate layer 14B, a position-side second weight learning unit 14H, and an output layer 14C. In the third embodiment, an example will be described in which the intermediate layer 14B includes three position-side operation units M [1] to M [3], but the number of position-side operation units is limited to three. Not something.

●[ニューラルネットワーク143における入力層14Aについて(図16)]
図16に示すように、ニューラルネットワーク143における入力層14Aは、位置側加速度入力部J[1]、位置側正速度入力部J[2]、位置側負速度入力部J[3]、位置側境界速度入力部J[4]〜J[j+n]、を有している点は第1の実施の形態(図9参照)と同じである。ただし、各入力部からの出力が第1の実施の形態とは異なる。
● [Input layer 14A in neural network 143 (FIG. 16)]
As shown in FIG. 16, the input layer 14A in the neural network 143 includes a position-side acceleration input unit J [1], a position-side positive speed input unit J [2], a position-side negative speed input unit J [3], and a position-side negative speed input unit J [3]. The point having the boundary speed input units J [4] to J [j + n] is the same as in the first embodiment (see FIG. 9). However, the output from each input unit is different from that of the first embodiment.

位置側加速度入力部J[1]は、上位指令加速度αpが入力され、入力された上位指令加速度αpを、予め用意された複数の位置側演算部M[1]〜M[3]のそれぞれに向けて位置側加速度出力として出力する。   The position-side acceleration input unit J [1] receives the higher-order command acceleration αp and sends the input higher-order command acceleration αp to each of the plurality of position-side arithmetic units M [1] to M [3] prepared in advance. And output it as the position-side acceleration output.

位置側正速度入力部J[2]は、位置側正負速度発火部14EのVp(>0)が発火した場合に、上位指令速度Vpである位置側正速度出力値が入力され、入力された位置側正速度出力値を、予め用意された複数の位置側演算部M[1]〜M[3]のそれぞれに向けて位置側正速度出力として出力する。また位置側負速度入力部J[3]は、位置側正負速度発火部14EのVp(<0)が発火した場合に、上位指令速度Vpである位置側負速度出力値が入力され、入力された位置側負速度出力値を、予め用意された複数の位置側演算部M[1]〜M[3]のそれぞれに向けて位置側負速度出力として出力する。   When the Vp (> 0) of the position-side positive / negative speed firing unit 14E fires, the position-side positive speed input unit J [2] receives and inputs the position-side positive speed output value that is the higher-order command speed Vp. The position-side positive speed output value is output as a position-side normal speed output to each of the plurality of position-side arithmetic units M [1] to M [3] prepared in advance. When the position-side positive / negative speed firing unit 14E fires Vp (<0), the position-side negative speed input unit J [3] receives and inputs the position-side negative speed output value that is the upper command speed Vp. The position-side negative speed output value is output as a position-side negative speed output to each of the plurality of position-side arithmetic units M [1] to M [3] prepared in advance.

位置側境界速度入力部J[4]〜J[j+n]は、複数の境界速度−V0n〜V1nに対応させて用意されている。そして位置側境界速度入力部J[4]〜J[j+n]は、位置側境界速度発火部14Fにおいて発火した境界速度から位置側境界速度出力値が入力され、入力された位置側境界速度出力値を、予め用意された複数の位置側演算部M[1]〜M[3]のそれぞれに向けて位置側境界速度出力として出力する。そして、各入力部J[1]〜J[j+n]から出力される位置側加速度出力、位置側正速度出力、位置側負速度出力、位置側境界速度出力を、まとめて位置側第1出力14L1とする。   The position side boundary speed input units J [4] to J [j + n] are prepared corresponding to a plurality of boundary speeds -V0n to V1n. The position-side boundary speed input units J [4] to J [j + n] receive position-side boundary speed output values from the boundary speeds fired in the position-side boundary speed firing unit 14F, and the input position-side boundary speed output values. Is output as a position-side boundary speed output to each of the plurality of position-side arithmetic units M [1] to M [3] prepared in advance. The position-side acceleration output, the position-side positive speed output, the position-side negative speed output, and the position-side boundary speed output output from each of the input units J [1] to J [j + n] are collectively obtained as the position-side first output 14L1. And

●[ニューラルネットワーク143における位置側第1重み学習部14Gについて(図16)]
位置側加速度入力部J[1]から位置側演算部M[1]に出力される位置側第1出力には、位置側第1学習重みW[1][1](W[s][1])が対応付けられている。位置側正速度入力部J[2]から位置側演算部M[1]に出力される位置側第1出力には、位置側第1学習重みW[2][1](W[s][1])が対応付けられている。位置側負速度入力部J[3]から位置側演算部M[1]に出力される位置側第1出力には、位置側第1学習重みW[3][1](W[s][1])が対応付けられている。位置側境界速度入力部J[4]〜J[j+n]から位置側演算部M[1]に出力される位置側第1出力には、位置側第1学習重みW[4][1]〜W[j+n][1](W[s][1])が対応付けられている。このように、位置側演算部M[1]に向けて出力される各位置側第1出力には、位置側第1学習重みW[s][1]が対応付けられている。
● [Position-side first weight learning unit 14G in neural network 143 (FIG. 16)]
The position-side first output that is output from the position-side acceleration input unit J [1] to the position-side operation unit M [1] includes a position-side first learning weight W [1] [1] (W [s] [1] ]) Are associated. The position-side first learning weight W [2] [1] (W [s] [) is output to the position-side first output output from the position-side positive speed input unit J [2] to the position-side operation unit M [1]. 1]). Position-side first learning weights W [3] [1] (W [s] [) are output from the position-side negative speed input unit J [3] to the position-side operation unit M [1]. 1]). Position side first learning weights W [4] [1] to position side first outputs that are output from the position side boundary velocity input units J [4] to J [j + n] to the position side calculation unit M [1]. W [j + n] [1] (W [s] [1]) is associated. Thus, the position-side first learning weight W [s] [1] is associated with each position-side first output that is output to the position-side operation unit M [1].

同様に、位置側加速度入力部J[1]から位置側演算部M[2]に出力される位置側第1出力には、位置側第1学習重みW[1][2](W[s][2])が対応付けられている。位置側正速度入力部J[2]から位置側演算部M[2]に出力される位置側第1出力には、位置側第1学習重みW[2][2](W[s][2])が対応付けられている。位置側負速度入力部J[3]から位置側演算部M[2]に出力される位置側第1出力には、位置側第1学習重みW[3][2](W[s][2])が対応付けられている。位置側境界速度入力部J[4]〜J[j+n]から位置側演算部M[2]に出力される位置側第1出力には、位置側第1学習重みW[4][2]〜W[j+n][2](W[s][2])が対応付けられている。このように、位置側演算部M[2]に向けて出力される各位置側第1出力には、位置側第1学習重みW[s][2]が対応付けられている。   Similarly, the position-side first learning weight W [1] [2] (W [s]) is output to the position-side first output output from the position-side acceleration input unit J [1] to the position-side operation unit M [2]. ] [2]). The position-side first output that is output from the position-side positive speed input unit J [2] to the position-side operation unit M [2] includes a position-side first learning weight W [2] [2] (W [s] [ 2]). The position-side first output that is output from the position-side negative speed input unit J [3] to the position-side operation unit M [2] includes a position-side first learning weight W [3] [2] (W [s] [ 2]). Position-side first learning weights W [4] [2] to position-side first outputs output from the position-side boundary speed input units J [4] to J [j + n] to the position-side operation unit M [2] are provided. W [j + n] [2] (W [s] [2]) is associated. As described above, the position-side first learning weight W [s] [2] is associated with each position-side first output that is output to the position-side operation unit M [2].

同様に、位置側加速度入力部J[1]から位置側演算部M[3]に出力される位置側第1出力には、位置側第1学習重みW[1][3](W[s][3])が対応付けられている。位置側正速度入力部J[2]から位置側演算部M[3]に出力される位置側第1出力には、位置側第1学習重みW[2][3](W[s][3])が対応付けられている。位置側負速度入力部J[3]から位置側演算部M[3]に出力される位置側第1出力には、位置側第1学習重みW[3][3](W[s][3])が対応付けられている。位置側境界速度入力部J[4]〜J[j+n]から位置側演算部M[3]に出力される位置側第1出力には、位置側第1学習重みW[4][3]〜W[j+n][3](W[s][3])が対応付けられている。このように、位置側演算部M[3]に向けて出力される各位置側第1出力には、位置側第1学習重みW[s][3]が対応付けられている。   Similarly, the position-side first learning weight W [1] [3] (W [s]) is output to the position-side first output output from the position-side acceleration input unit J [1] to the position-side operation unit M [3]. ] [3]). The position-side first output that is output from the position-side positive speed input unit J [2] to the position-side operation unit M [3] includes a position-side first learning weight W [2] [3] (W [s] [ 3]). A position-side first learning weight W [3] [3] (W [s] [) is output to the position-side first output output from the position-side negative speed input unit J [3] to the position-side operation unit M [3]. 3]). The position-side first outputs output from the position-side boundary speed input units J [4] to J [j + n] to the position-side operation unit M [3] include position-side first learning weights W [4] [3] to W [j + n] [3] (W [s] [3]) is associated therewith. As described above, the position-side first learning weight W [s] [3] is associated with each position-side first output that is output toward the position-side operation unit M [3].

位置側第1重み学習部14Gは、これらの位置側第1学習重みW[s][1]、W[s][2]、W[s][3]、を記憶する記憶機能を有している。また、位置側第1重み学習部14Gは、位置偏差10outに基づいて位置側第1学習重みW[s][1]、W[s][2]、W[s][3]を変更(学習)する変更機能を有している。また、位置側第1重み学習部14Gは、入力された位置側第1出力14L1のそれぞれに、対応する位置側第1学習重みを乗算する乗算機能を有している。   The position-side first weight learning unit 14G has a storage function of storing these position-side first learning weights W [s] [1], W [s] [2], and W [s] [3]. ing. The position-side first weight learning unit 14G changes the position-side first learning weights W [s] [1], W [s] [2], and W [s] [3] based on the position deviation 10out ( Learning). The position-side first weight learning unit 14G has a multiplication function of multiplying each of the input position-side first outputs 14L1 by the corresponding position-side first learning weight.

位置側第1重み学習部14Gは、位置偏差10outに応じて、位置側第1学習重みW[s][1]、W[s][2]、W[s][3]の各値が、所定の評価関数に対して最適値に近づくように変更(学習)する。例えば位置側第1重み学習部14Gは、横軸が位置側第1学習重み、縦軸が位置偏差の2乗となる評価関数を用いて、位置偏差の2乗が小さくなるように、位置側第1学習重みの値を変更(学習)する。なお評価関数は、重み毎に用意されている。なお、図10の例に示す上位指令速度Vpが入力された場合、位置側第1重み学習部14Gは、出力された位置側第1出力に対応している位置側第1学習重みW[1][1]〜W[1][3]、W[2][1]〜W[2][3]、W[j+2][1]〜W[j+2][3]、W[j+3][1]〜W[j+3][3]のみを学習し、出力されなかった他の位置側第1出力に対応する位置側第1学習重みについては学習しない。   The position-side first weight learning unit 14G sets the position-side first learning weights W [s] [1], W [s] [2], and W [s] [3] in accordance with the position deviation 10out. Is changed (learned) so as to approach an optimum value for a predetermined evaluation function. For example, the position-side first weight learning unit 14G uses an evaluation function in which the horizontal axis represents the position-side first learning weight and the vertical axis represents the square of the position deviation, and reduces the position-side square to reduce the square of the position deviation. The value of the first learning weight is changed (learned). An evaluation function is prepared for each weight. When the higher command speed Vp shown in the example of FIG. 10 is input, the position-side first weight learning unit 14G outputs the position-side first learning weight W [1] corresponding to the output position-side first output. ] [1] to W [1] [3], W [2] [1] to W [2] [3], W [j + 2] [1] to W [j + 2] [3], W [j + 3] [ 1] to W [j + 3] [3], and does not learn the position-side first learning weights corresponding to the other position-side first outputs that have not been output.

そして位置側第1重み学習部14Gは、出力された位置側第1出力のそれぞれに、対応する位置側第1学習重みを乗算した位置側第1乗算値14M1を出力する。例えば、図10の例に示す上位指令速度Vpが入力された場合、位置側第1重み学習部14Gは、αp*W[1][1]〜αp*W[1][3]と、Vp*W[2][1]〜Vp*W[2][3]と、0.8*W[j+1][1]〜0.8*W[j+1][3]と、0.6*W[j+2][1]〜0.6*W[j+2][3]を出力する。また例えば図11の例に示す上位指令速度Vpが入力された場合、位置側第1重み学習部14Gは、αp*W[1][1]〜αp*W[1][3]と、Vp*W[3][1]〜Vp*W[3][3]と、−0.7*W[j−1][1]〜―0.7*W[j−1][3]と、−0.5*W[j][1]〜―0.5*W[j][3]を出力する。   Then, the position-side first weight learning unit 14G outputs a position-side first multiplied value 14M1 obtained by multiplying each of the output position-side first outputs by the corresponding position-side first learning weight. For example, when the higher-order command speed Vp shown in the example of FIG. 10 is input, the position-side first weight learning unit 14G outputs αp * W [1] [1] to αp * W [1] [3] and Vp * W [2] [1] to Vp * W [2] [3], 0.8 * W [j + 1] [1] to 0.8 * W [j + 1] [3], and 0.6 * W [J + 2] [1] to 0.6 * W [j + 2] [3] are output. Further, for example, when the higher-order command speed Vp shown in the example of FIG. 11 is input, the position-side first weight learning unit 14G determines αp * W [1] [1] to αp * W [1] [3] and Vp * W [3] [1] to Vp * W [3] [3] and -0.7 * W [j-1] [1] to -0.7 * W [j-1] [3] , -0.5 * W [j] [1] to -0.5 * W [j] [3].

●[ニューラルネットワーク143における中間層14Bについて(図16)]
中間層14Bは、位置側演算部M[1]〜M[3]を有している。なお、位置側演算部の数は3つに限定されるものではない。
● [About the intermediate layer 14B in the neural network 143 (FIG. 16)]
The intermediate layer 14B has position-side operation units M [1] to M [3]. Note that the number of position-side operation units is not limited to three.

位置側演算部M[1]は、各入力部J[1]〜J[j+n]から自身(位置側演算部M[1])に向けて出力された位置側第1出力のそれぞれと、当該位置側第1出力のそれぞれに対応する位置側第1学習重み(W[s][1])と、を乗算した複数の位置側第1乗算値を加算して位置側第2出力として出力層14Cに向けて出力する。   The position-side operation unit M [1] outputs each of the position-side first outputs output from each of the input units J [1] to J [j + n] toward itself (the position-side operation unit M [1]), and A plurality of position-side first multiplied values obtained by multiplying the position-side first learning weights (W [s] [1]) corresponding to the position-side first outputs are added to form an output layer as a position-side second output. Output to 14C.

位置側演算部M[2]は、各入力部J[1]〜J[j+n]から自身(位置側演算部M[2])に向けて出力された位置側第1出力のそれぞれと、当該位置側第1出力のそれぞれに対応する位置側第1学習重み(W[s][2])と、を乗算した複数の位置側第1乗算値を加算して位置側第2出力として出力層14Cに向けて出力する。   The position-side operation unit M [2] outputs each of the position-side first outputs output from each of the input units J [1] to J [j + n] to itself (the position-side operation unit M [2]). A plurality of position-side first multiplication values obtained by multiplying a position-side first learning weight (W [s] [2]) corresponding to each of the position-side first outputs are added to form an output layer as a position-side second output. Output to 14C.

位置側演算部M[3]は、各入力部J[1]〜J[j+n]から自身(位置側演算部M[3])に向けて出力された位置側第1出力のそれぞれと、当該位置側第1出力のそれぞれに対応する位置側第1学習重み(W[s][3])と、を乗算した複数の位置側第1乗算値を加算して位置側第2出力として出力層14Cに向けて出力する。   The position-side operation unit M [3] outputs each of the position-side first outputs output from each of the input units J [1] to J [j + n] toward itself (the position-side operation unit M [3]). A plurality of position-side first multiplication values obtained by multiplying the position-side first learning weights (W [s] [3]) respectively corresponding to the position-side first outputs are added to form an output layer as a position-side second output. Output to 14C.

●[ニューラルネットワーク143における位置側第2重み学習部14Hについて(図16)]
位置側第2重み学習部14Hは、位置側演算部M[1]に対応付けられた位置側第2学習重みX[1]、位置側演算部M[2]に対応付けられた位置側第2学習重みX[2]、位置側演算部M[3]に対応付けられた位置側第2学習重みX[3]、を記憶する記憶機能を有している。また、位置側第2重み学習部14Hは、位置偏差10outに基づいて位置側第2学習重みX[1]〜X[3]を変更(学習)する変更機能を有している。また、位置側第2重み学習部14Hは、入力された位置側第2出力14L2のそれぞれに、位置側第2学習重みX[1]〜X[3]のそれぞれを乗算する乗算機能を有している。
● [Position-side second weight learning unit 14H in neural network 143 (FIG. 16)]
The position-side second weight learning unit 14H includes a position-side second learning weight X [1] associated with the position-side operation unit M [1] and a position-side second weighting unit X [1] associated with the position-side operation unit M [2]. It has a storage function of storing the second learning weight X [2] and the position-side second learning weight X [3] associated with the position-side operation unit M [3]. The position-side second weight learning unit 14H has a changing function of changing (learning) the position-side second learning weights X [1] to X [3] based on the position deviation 10out. The position-side second weight learning unit 14H has a multiplication function of multiplying each of the input position-side second outputs 14L2 by each of the position-side second learning weights X [1] to X [3]. ing.

位置側第2重み学習部14Hは、位置偏差10outに応じて、位置側第2学習重みX[1]〜X[3]の各値が、所定の評価関数に対して最適値に近づくように変更(学習)する。例えば位置側第2重み学習部14Hは、横軸が位置側第2学習重み、縦軸が位置偏差の2乗となる評価関数を用いて、位置偏差の2乗が小さくなるように、位置側第2学習重みの値を変更(学習)する。なお評価関数は、重み毎に用意されている。   The position-side second weight learning unit 14H adjusts each of the position-side second learning weights X [1] to X [3] in accordance with the position deviation 10out so as to approach an optimum value for a predetermined evaluation function. Change (learn). For example, the position-side second weight learning unit 14H uses the evaluation function in which the horizontal axis indicates the position-side second learning weight and the vertical axis indicates the square of the position deviation, and reduces the position-side square to reduce the square of the position deviation. The value of the second learning weight is changed (learned). An evaluation function is prepared for each weight.

そして位置側第2重み学習部14Hは、入力された位置側第2出力14L2のそれぞれに、対応する位置側第2学習重みX[1]〜X[3]を乗算した位置側第2乗算値14M2を出力する。   The position-side second weight learning unit 14H multiplies each of the input position-side second outputs 14L2 by a corresponding position-side second learning weight X [1] to X [3]. 14M2 is output.

●[ニューラルネットワーク143における出力層14Cについて(図16)]
出力層14Cは、位置側出力部P[1]を有している。位置側出力部P[1]は、以下の(11)〜(13)の各位置側第2乗算値を加算した値を、所定の関数(例えばシグモイド関数)で変換し、変換した値を第2仮指令速度14outとして出力する。なお、位置側出力部P[1]は、シグモイド関数の利用を省略して第2仮指令速度14outを出力することも可能である。
(11)位置側演算部M[1]から出力された位置側第2出力に、位置側第2学習重みX[1]を乗算した位置側第2乗算値。
(12)位置側演算部M[2]から出力された位置側第2出力に、位置側第2学習重みX[2]を乗算した位置側第2乗算値。
(13)位置側演算部M[3]から出力された位置側第2出力に、位置側第2学習重みX[3]を乗算した位置側第2乗算値。
● [About output layer 14C in neural network 143 (FIG. 16)]
The output layer 14C has a position-side output unit P [1]. The position-side output unit P [1] converts a value obtained by adding each of the following position-side second multiplication values of (11) to (13) by a predetermined function (for example, a sigmoid function), and converts the converted value to a fourth value. Output as 2 temporary command speeds 14out. The position-side output unit P [1] can output the second provisional command speed 14out without using the sigmoid function.
(11) A position-side second multiplied value obtained by multiplying the position-side second output output from the position-side operation unit M [1] by the position-side second learning weight X [1].
(12) A position-side second multiplied value obtained by multiplying the position-side second output output from the position-side operation unit M [2] by the position-side second learning weight X [2].
(13) The position-side second multiplied value obtained by multiplying the position-side second output output from the position-side operation unit M [3] by the position-side second learning weight X [3].

以上、第3の実施の形態は、第1の実施の形態に対して、中間層24B、中間層14B、速度側第2重み学習部24H、位置側第2重み学習部14Hが追加されているとともに、速度側第1重み学習部24G及び位置側第1重み学習部14Gの重みの数が増加されてパーセプトロンからニューラルネットワークに変わっており、複数の入力部からの出力にそれぞれ重みを乗算し、それらの和の組み合わせパターンは、パーセプトロンに比べてニューラルネットワークの方が多彩であるので、第1の実施の形態よりも、速度偏差、位置偏差をより低減することができる。   As described above, in the third embodiment, the intermediate layer 24B, the intermediate layer 14B, the speed-side second weight learning unit 24H, and the position-side second weight learning unit 14H are added to the first embodiment. At the same time, the number of weights of the speed-side first weight learning unit 24G and the position-side first weight learning unit 14G has been increased to change from a perceptron to a neural network, and outputs from a plurality of input units are multiplied by weights, respectively. Since the neural network has a wider variety of combination patterns of the sum than the perceptron, the speed deviation and the position deviation can be further reduced as compared with the first embodiment.

●●[第4の実施の形態(図14)]
次に、モータ制御装置92Uの第4の実施の形態について説明する。第4の実施の形態のモータ制御装置は、図14に示すように、図2に示す第3の実施の形態のモータ制御装置に対して、位置フィードフォワード制御部14、位置側入力速度演算部12、位置側入力加速度演算部13、速度加算演算部15、が省略されている点が異なり、他は同じである。以下、相違点について主に説明する。なお、位置フィードバック制御部11から出力される第1仮指令速度11outは、そのまま下位指令速度15outとなって速度偏差演算部20に入力される。
●● [Fourth Embodiment (FIG. 14)]
Next, a fourth embodiment of the motor control device 92U will be described. As shown in FIG. 14, the motor control device according to the fourth embodiment differs from the motor control device according to the third embodiment shown in FIG. 2 in that a position feedforward control unit 14, a position-side input speed calculation unit 12, the position-side input acceleration calculator 13 and the speed addition calculator 15 are omitted, and the other components are the same. Hereinafter, differences will be mainly described. Note that the first provisional command speed 11out output from the position feedback control unit 11 is directly input to the speed deviation calculation unit 20 as the lower command speed 15out.

図14に示す第4の実施の形態のモータ制御装置では、図2に示す第3の実施の形態のモータ制御装置における位置フィードフォワード制御部14と、位置フィードフォワード制御部14への入力(位置側入力速度演算部12、位置側入力加速度演算部13)と出力(速度加算演算部15)が省略されている。従って、第4の実施の形態のモータ制御装置による制御のほうが、第3の実施の形態のモータ制御装置による制御よりも若干、位置偏差が増える。しかし、発明者の実験の結果、位置フィードフォワード制御部による位置偏差の低減よりも、速度フィードフォワード制御部による位置偏差の低減のほうが支配的であることがわかり、例えば図1の例に示すロボットの制御であれば、位置フィードフォワード制御部を省略しても、位置偏差を充分低減できていることがわかった。つまり、例えばロボットの制御であれば、位置フィードフォワード制御部(及び位置フィードフォワード制御部への入出力部)を省略しても、期待するレベルまで位置偏差を低減させることができる。この場合、モータ制御装置の処理負荷を軽減することができる。   In the motor control device according to the fourth embodiment shown in FIG. 14, the position feedforward control unit 14 and the input (position) to the position feedforward control unit 14 in the motor control device according to the third embodiment shown in FIG. The side input speed calculation unit 12, the position side input acceleration calculation unit 13) and the output (speed addition calculation unit 15) are omitted. Therefore, the control by the motor control device of the fourth embodiment slightly increases the position deviation compared to the control by the motor control device of the third embodiment. However, as a result of the experiment by the inventor, it was found that the reduction of the position deviation by the velocity feedforward control unit was more dominant than the reduction of the position deviation by the position feedforward control unit. For example, the robot shown in the example of FIG. With the control described above, it was found that the position deviation was sufficiently reduced even if the position feedforward control unit was omitted. That is, for example, in the case of robot control, the position deviation can be reduced to an expected level even if the position feedforward control unit (and the input / output unit to the position feedforward control unit) is omitted. In this case, the processing load on the motor control device can be reduced.

●●[第5の実施の形態(図14、図17〜図19)]
次に、モータ制御装置92Uの第5の実施の形態について説明する。第5の実施の形態のモータ制御装置は、図14及び図3に示す第2の実施の形態のモータ制御装置に対して、速度フィードフォワード制御部24の内部構成が、図3に示す構成から図17に示す構成に変更されている点が異なる。また第5の実施の形態では、速度フィードフォワード制御部24の内部構成における速度側境界速度入力部の機能が、第2の実施の形態とは異なる。特に、入力された上位指令速度Vvに対する発火状態が、図18及び図19の例に示すように、図5〜図8の例に示す第2の実施の形態とは異なっている。
●● [Fifth Embodiment (FIGS. 14, 17 to 19)]
Next, a fifth embodiment of the motor control device 92U will be described. The motor control device according to the fifth embodiment is different from the motor control device according to the second embodiment illustrated in FIGS. 14 and 3 in that the internal configuration of the speed feedforward control unit 24 is different from the configuration illustrated in FIG. The difference is that the configuration is changed to the configuration shown in FIG. In the fifth embodiment, the function of the speed-side boundary speed input unit in the internal configuration of the speed feedforward control unit 24 is different from that of the second embodiment. In particular, as shown in the examples of FIGS. 18 and 19, the firing state with respect to the input higher command speed Vv is different from that of the second embodiment shown in the examples of FIGS.

●[速度フィードフォワード制御部24の重み学習機能付きネットワークの構成(図17)]
図17に示すように、第5の実施の形態における速度フィードフォワード制御部24は、単純パーセプトロン242Aを有している。そして単純パーセプトロン242Aは、入力層24AA、速度側第1重み学習部24G、出力層24Cを有している。なお、速度側第1重み学習部24Gと出力層24Cの機能は、第1及び第2の実施の形態にて説明した機能と同じであるので、速度側第1重み学習部24Gと出力層24Cについては説明を省略する。図17に示す第5の実施の形態の速度フィードフォワード制御部は、図3に示す第1及び第2の実施の形態の速度フィードフォワード制御部における入力処理部241が省略され、速度側境界速度入力部K[m]が速度側境界速度入力部H[m]に変更されている点が相違している。以下、相違点について主に説明する。
● [Configuration of Network with Weight Learning Function of Speed Feedforward Control Unit 24 (FIG. 17)]
As shown in FIG. 17, the speed feedforward control unit 24 according to the fifth embodiment has a simple perceptron 242A. The simple perceptron 242A has an input layer 24AA, a speed-side first weight learning unit 24G, and an output layer 24C. Since the functions of the speed-side first weight learning unit 24G and the output layer 24C are the same as those described in the first and second embodiments, the speed-side first weight learning unit 24G and the output layer 24C are used. The description of is omitted. The speed feedforward control unit according to the fifth embodiment shown in FIG. 17 does not include the input processing unit 241 in the speed feedforward control units according to the first and second embodiments shown in FIG. The difference is that the input unit K [m] is changed to a speed-side boundary speed input unit H [m]. Hereinafter, differences will be mainly described.

●[単純パーセプトロン242Aにおける入力層24AAについて(図17)]
図17に示すように、単純パーセプトロン242Aの入力層24AAは、速度側加速度入力部H[1]、速度側速度入力部H[2]、速度側境界速度入力部H[4]〜H[j+(n−1)]、を有している。
● [Input layer 24AA in simple perceptron 242A (FIG. 17)]
As shown in FIG. 17, the input layer 24AA of the simple perceptron 242A includes a speed-side acceleration input unit H [1], a speed-side speed input unit H [2], and a speed-side boundary speed input unit H [4] to H [j +]. (N-1)].

速度側加速度入力部H[1]は、上位指令加速度αvが入力され、入力された上位指令加速度αvを、速度側加速度出力として出力する。速度側加速度入力部H[1]の機能は、第1及び第2の実施の形態における速度側加速度入力部K[1]の機能と同じである。   The speed-side acceleration input unit H [1] receives the higher-order command acceleration αv, and outputs the input higher-order command acceleration αv as a speed-side acceleration output. The function of the speed-side acceleration input unit H [1] is the same as the function of the speed-side acceleration input unit K [1] in the first and second embodiments.

速度側速度入力部H[2]は、上位指令速度Vvが入力され、入力された上位指令速度Vvを、速度側速度出力として出力する。速度側速度入力部H[2]は、第1及び第2の実施の形態の速度側正速度入力部K[2]と速度側負速度入力部K[3]に対して、速度が正の場合と負の場合とで区別されていない点が異なる。   The speed-side speed input unit H [2] receives the higher-order command speed Vv, and outputs the input higher-order command speed Vv as a speed-side speed output. The speed-side speed input unit H [2] has a positive speed compared to the speed-side positive speed input unit K [2] and the speed-side negative speed input unit K [3] of the first and second embodiments. The difference is that no distinction is made between the case and the negative case.

速度側境界速度入力部H[4]〜H[j+(n−1)]は、図4に示す複数の境界速度に対応させて用意されている。図4の例において速度範囲は、境界速度−V0n〜−V0(n−1)の速度範囲・・境界速度−V02〜−V01の速度範囲、境界速度V11〜V12の速度範囲・・境界速度V1(n−1)〜V1nの速度範囲、が有り、速度側境界速度入力部H[4]〜H[j+(n−1)]は、これらの複数の境界速度に対応させて用意されている。そして速度側境界速度入力部H[4]〜H[j+(n−1)]のそれぞれには、上位指令速度Vvが入力され、入力された上位指令速度Vvと対応する箇所となる速度側境界速度入力部より速度側境界速度出力を出力する。そして、各入力部H[1]、H[2]、H[4]〜H[j+(n−1)]から出力される速度側加速度出力、速度側速度出力、速度側境界速度出力を、まとめて速度側第1出力24L1とする。なお、図17における速度側境界速度入力部H[4]は、図4に示す境界速度−V0n〜−V0(n−1)(−V0(n−1)は図4では省略されている)の速度範囲に対応している。また図17における速度側境界速度入力部H[j−1]は、図4に示す境界速度−V03〜−V02の速度範囲に対応し、速度側境界速度入力部H[j+2]は、図4に示す境界速度V12〜V13の速度範囲に対応している。また図17における速度側境界速度入力部H[j+(n−1)]は、図4に示す境界速度V1(n−1)〜V1n(V1(n−1)は図4では省略されている)の速度範囲に対応している。   The speed-side boundary speed input units H [4] to H [j + (n-1)] are prepared corresponding to a plurality of boundary speeds shown in FIG. In the example of FIG. 4, the speed range is a speed range of boundary speeds -V0n to -V0 (n-1), a speed range of boundary speeds -V02 to -V01, a speed range of boundary speeds V11 to V12, and a speed range of boundary speed V1. There are speed ranges (n-1) to V1n, and the speed-side boundary speed input units H [4] to H [j + (n-1)] are prepared corresponding to these plural boundary speeds. . Each of the speed-side boundary speed input units H [4] to H [j + (n-1)] receives a higher-order command speed Vv, and a speed-side boundary corresponding to the input higher-order command speed Vv. The speed-side boundary speed output is output from the speed input section. The speed-side acceleration output, the speed-side speed output, and the speed-side boundary speed output output from each of the input units H [1], H [2], H [4] to H [j + (n-1)] are calculated as follows: Collectively, the speed-side first output 24L1 is used. Note that the speed-side boundary speed input unit H [4] in FIG. 17 includes boundary speeds −V0n to −V0 (n−1) illustrated in FIG. 4 (−V0 (n−1) is omitted in FIG. 4). Speed range. The speed-side boundary speed input unit H [j-1] in FIG. 17 corresponds to the speed range of the boundary speeds -V03 to -V02 shown in FIG. 4, and the speed-side boundary speed input unit H [j + 2] corresponds to FIG. Corresponds to the speed range of the boundary speeds V12 to V13. In the speed-side boundary speed input unit H [j + (n-1)] in FIG. 17, boundary speeds V1 (n-1) to V1n (V1 (n-1) shown in FIG. 4 are omitted in FIG. ) Speed range.

●[単純パーセプトロン242Aにおける入力層24AAの速度側境界速度入力部H[4]〜H[j+(n−1)]の発火状態の例(図18、図19)]
図18は、入力された上位指令速度Vvが正(>0)、かつ境界速度V12<上位指令速度Vv<境界速度V13の例であって、それぞれの速度範囲がそれぞれ関数Aを有している例を示している。図18における上段のグラフにおいて、横軸をX軸、縦軸をY軸とした場合、関数Aは、その関数Aが属する速度範囲内において、(X、Y)=(下限境界速度、0)の位置と、(X、Y)=(上限境界速度、1.0)の位置と、を結ぶ直線比例関数であり、(下限境界速度、0)を含まず、(上限境界速度、1.0)を含む。例えば境界速度V12〜境界速度V13の速度範囲における関数Aは、(下限の境界速度V12、0)を含まず(白丸にて表示)、(上限の境界速度V13、1.0)を含む(黒丸にて表示)。
[Example of firing state of velocity side boundary velocity input units H [4] to H [j + (n-1)] of input layer 24AA in simple perceptron 242A (FIGS. 18 and 19)]
FIG. 18 is an example in which the input upper command speed Vv is positive (> 0) and the boundary speed V12 <the higher command speed Vv <the boundary speed V13, and each speed range has a function A. An example is shown. In the upper graph in FIG. 18, when the horizontal axis is the X axis and the vertical axis is the Y axis, the function A is (X, Y) = (lower boundary speed, 0) within the speed range to which the function A belongs. Is a linear proportional function connecting the position of (X, Y) = (upper limit boundary speed, 1.0), not including (lower limit boundary speed, 0), and (upper limit boundary speed, 1.0). )including. For example, the function A in the speed range from the boundary speed V12 to the boundary speed V13 does not include (the lower limit boundary speed V12, 0) (displayed by a white circle), but includes (the upper limit boundary speed V13, 1.0) (the black circle). Displayed at).

図18の例は、上位指令速度Vvが正(>0)、かつ境界速度V12<上位指令速度Vv<境界速度V13であって、上位指令速度Vvに対応する関数A(境界速度V12〜V13の速度範囲の関数A)の値が、0.6である例を示している。この場合、図18に示すように、上位指令速度Vvに対応する箇所である境界速度V12〜V13の速度範囲に対応している速度側境界速度入力部H[j+2]が、速度側境界速度出力=0.6を、速度側境界速度出力として出力する。また、上位指令速度Vvに対応していない箇所である境界速度V11〜V12の速度範囲に対応している速度側境界速度入力部H[j+1]、同様に上位指令速度Vvに対応していない速度側境界速度入力部H[j+3]〜H[j+(n−1)]は、何も出力しない。また図18は上位指令速度Vvが正(>0)の場合の例であるので、上位指令速度Vvが負(<0)の場合に対応する速度側境界速度入力部H[4]〜H[j]も、何も出力しない。なお、例えば上位指令速度Vv=V13の場合は、境界速度V12〜V13の速度範囲に対応する速度側境界速度入力部H[j+2]が、速度側境界速度出力として1.0を出力し、上位指令速度Vv=V12の場合は、境界速度V11〜V12の速度範囲に対応する速度側境界速度入力部H[j+1]が、速度側境界速度出力として1.0を出力する。このように速度側境界速度入力部H[4]〜H[j+(n−1)]のそれぞれは、速度側境界速度出力を出力するか否かを判断する機能と、速度側境界速度出力の値を演算する機能と、を有している。   In the example of FIG. 18, the upper command speed Vv is positive (> 0), the boundary speed V12 <the higher command speed Vv <the boundary speed V13, and the function A corresponding to the higher command speed Vv (the boundary speed V12 to V13 An example is shown in which the value of the speed range function A) is 0.6. In this case, as shown in FIG. 18, the speed-side boundary speed input unit H [j + 2] corresponding to the speed range of the boundary speeds V12 to V13, which is a portion corresponding to the upper command speed Vv, outputs the speed-side boundary speed output. = 0.6 is output as the speed-side boundary speed output. A speed-side boundary speed input unit H [j + 1] corresponding to the speed range of the boundary speeds V11 to V12, which is a portion not corresponding to the upper command speed Vv, and similarly, a speed not corresponding to the upper command speed Vv. The side boundary speed input units H [j + 3] to H [j + (n-1)] do not output anything. FIG. 18 shows an example in which the upper command speed Vv is positive (> 0). Therefore, the speed-side boundary speed input units H [4] to H [4] corresponding to the case where the upper command speed Vv is negative (<0). j] does not output anything. For example, when the upper command speed Vv = V13, the speed-side boundary speed input unit H [j + 2] corresponding to the speed range of the boundary speeds V12 to V13 outputs 1.0 as the speed-side boundary speed output, and When the command speed Vv = V12, the speed-side boundary speed input unit H [j + 1] corresponding to the speed range of the boundary speeds V11 to V12 outputs 1.0 as the speed-side boundary speed output. As described above, each of the speed-side boundary speed input units H [4] to H [j + (n-1)] has a function of determining whether or not to output a speed-side boundary speed output, and a function of determining whether to output the speed-side boundary speed output. And a function of calculating a value.

また図19は、入力された上位指令速度Vvが負(<0)、かつ境界速度−V03<上位指令速度Vv<境界速度−V02の例であって、それぞれの速度範囲がそれぞれ関数Aを有している例を示している。図19における上段のグラフにおいて、横軸をX軸、縦軸をY軸とした場合、関数Aは、その関数Aが属する速度範囲内において、(X、Y)=(下限境界速度、−1.0)の位置と、(X、Y)=(上限境界速度、0)の位置と、を結ぶ直線比例関数であり、(下限境界速度、−1.0)を含み、(上限境界速度、0)を含まない。例えば境界速度−V03〜境界速度−V02の速度範囲における関数Aは、(下限の境界速度−V03、−1.0)を含み(黒丸にて表示)、(上限の境界速度−V02、0)を含まない(白丸にて表示)。   FIG. 19 shows an example in which the input upper command speed Vv is negative (<0) and the boundary speed −V03 <upper command speed Vv <boundary speed−V02, and each speed range has a function A. An example is shown. In the upper graph in FIG. 19, when the horizontal axis is the X axis and the vertical axis is the Y axis, the function A is (X, Y) = (lower limit boundary speed, −1) within the speed range to which the function A belongs. .0) and a position of (X, Y) = (upper boundary speed, 0), which is a linear proportional function, including (lower boundary speed, −1.0), and (upper boundary speed, 0) is not included. For example, the function A in the speed range from the boundary speed -V03 to the boundary speed -V02 includes (lower boundary speed -V03, -1.0) (displayed by a black circle), and (upper boundary speed -V02, 0). Not included (indicated by white circles).

図19の例は、上位指令速度Vvが負(<0)、かつ境界速度−V03<上位指令速度Vv<境界速度−V02であって、上位指令速度Vvに対応する関数A(境界速度−V03〜−V02の速度範囲の関数A)の値が、−0.3である例を示している。この場合、図19に示すように、上位指令速度Vvに対応する箇所である境界速度−V03〜−V02の速度範囲に対応している速度側境界速度入力部H[j−1]が、速度側境界速度出力=−0.3を、速度側境界速度出力として出力する。また、上位指令速度Vvに対応していない箇所である境界速度−V0n〜V0(n−1)の速度範囲〜境界速度−V04〜−V03の速度範囲に対応している速度側境界速度入力部H[4]〜H[j−2]、同様に上位指令速度Vvに対応していない速度側境界速度入力部H[j]は、何も出力しない。また図19は上位指令速度Vvが負(<0)の場合の例であるので、上位指令速度Vvが正(>0)の場合に対応する速度側境界速度入力部H[j+1]〜H[j+(n−1)]も、何も出力しない。なお、例えば上位指令速度Vv=−V03の場合は、境界速度−V03〜−V02の速度範囲に対応する速度側境界速度入力部H[j−1]が、速度側境界速度出力として−1.0を出力し、上位指令速度Vv=−V02の場合は、境界速度−V02〜−V01の速度範囲に対応する速度側境界速度入力部H[j]が、速度側境界速度出力として−1.0を出力する。このように速度側境界速度入力部H[4]〜H[j+(n−1)]のそれぞれは、速度側境界速度出力を出力するか否かを判断する機能と、速度側境界速度出力の値を演算する機能と、を有している。   In the example of FIG. 19, the upper command speed Vv is negative (<0), the boundary speed −V03 <the higher command speed Vv <the boundary speed −V02, and the function A (boundary speed −V03) corresponding to the higher command speed Vv is satisfied. An example is shown in which the value of the function A) in the speed range of -V02 is -0.3. In this case, as shown in FIG. 19, the speed-side boundary speed input unit H [j-1] corresponding to the speed range of the boundary speeds -V03 to -V02, which is a portion corresponding to the upper command speed Vv, The side boundary speed output = −0.3 is output as the speed side boundary speed output. Also, a speed-side boundary speed input unit corresponding to a speed range from the boundary speed -V0n to V0 (n-1) to a speed range from the boundary speed -V04 to -V03, which is a portion not corresponding to the upper command speed Vv. H [4] to H [j-2], similarly, the speed-side boundary speed input unit H [j] that does not correspond to the upper command speed Vv does not output anything. FIG. 19 shows an example in which the upper command speed Vv is negative (<0). Therefore, the speed-side boundary speed input units H [j + 1] to H [j] corresponding to the case where the upper command speed Vv is positive (> 0). j + (n-1)] also does not output anything. For example, when the upper command speed Vv = -V03, the speed-side boundary speed input unit H [j-1] corresponding to the speed range of the boundary speeds -V03 to -V02 outputs -1. 0, and when the upper command speed Vv = −V02, the speed-side boundary speed input unit H [j] corresponding to the speed range of the boundary speeds −V02 to −V01 outputs −1. Outputs 0. As described above, each of the speed-side boundary speed input units H [4] to H [j + (n-1)] has a function of determining whether or not to output a speed-side boundary speed output, and a function of determining whether to output the speed-side boundary speed output. And a function of calculating a value.

第5の実施の形態のモータ制御装置の単純パーセプトロン242A(図17参照)では、第2の実施の形態のモータ制御装置の単純パーセプトロン242(図3参照)における入力処理部241の機能を入力層24AAに統合して入力処理部241を省略している。また、第2の実施の形態の速度側正速度入力部K[2]と速度側負速度入力部K[3]を、速度側速度入力部H[2]に統合している。従って、第5の実施の形態のモータ制御装置は、第2の実施の形態のモータ制御装置と比較して、構成が簡略化されており、処理負荷が軽減されている。第2の実施の形態は、複数の境界速度発火部を発火させることで、複数の境界速度入力部から複数の境界速度出力値を出力することができ、速度の連続性があり、あらゆる速度に対して速度偏差が少ない。これに対し、第5の実施の形態は、1つの境界速度入力部から1つの境界速度出力値を出力することしかできないので、速度の不連続性が生じ、構成が簡単になる反面、速度偏差がやや悪くなりやすい。   In the simple perceptron 242A (see FIG. 17) of the motor control device according to the fifth embodiment, the function of the input processing unit 241 in the simple perceptron 242 (see FIG. 3) of the motor control device according to the second embodiment is defined by an input layer. 24AA, and the input processing unit 241 is omitted. Further, the speed-side positive speed input unit K [2] and the speed-side negative speed input unit K [3] of the second embodiment are integrated into the speed-side speed input unit H [2]. Therefore, the motor control device according to the fifth embodiment has a simplified configuration and a reduced processing load as compared with the motor control device according to the second embodiment. The second embodiment can output a plurality of boundary speed output values from a plurality of boundary speed input portions by igniting a plurality of boundary speed firing portions. On the other hand, the speed deviation is small. On the other hand, in the fifth embodiment, since only one boundary speed output value can be output from one boundary speed input unit, the discontinuity of the speed occurs and the configuration is simplified, but the speed deviation is reduced. It is easy to get a little worse.

●●[第6の実施の形態(図14、図17、図20、図21)]
次に、モータ制御装置92Uの第6の実施の形態について説明する。第6の実施の形態のモータ制御装置は、第5の実施の形態と同様に、図14及び図3に示す第2の実施の形態のモータ制御装置に対して、速度フィードフォワード制御部24の内部構成が、図3に示す構成から図17に示す構成に変更されている点が異なる。また第6の実施の形態では、速度フィードフォワード制御部24の内部構成における速度側境界速度入力部の機能が異なっており、入力された上位指令速度Vvに対する発火状態が、図20及び図21の例に示すように、図18及び図19の例に示す第5の実施の形態とは異なっている(関数Aが関数Bに置き換えられている点が異なる)。以下、相違点について主に説明する。
●● [Sixth Embodiment (FIGS. 14, 17, 20, and 21)]
Next, a sixth embodiment of the motor control device 92U will be described. The motor control device according to the sixth embodiment differs from the motor control device according to the second embodiment shown in FIGS. 14 and 3 in that the speed feedforward control unit 24 is different from the motor control device according to the fifth embodiment. The difference is that the internal configuration is changed from the configuration shown in FIG. 3 to the configuration shown in FIG. Further, in the sixth embodiment, the function of the speed-side boundary speed input unit in the internal configuration of the speed feedforward control unit 24 is different, and the firing state for the input upper command speed Vv is different from that of FIGS. As shown in the example, the fifth embodiment is different from the fifth embodiment shown in the examples of FIGS. 18 and 19 (the difference is that the function A is replaced by the function B). Hereinafter, differences will be mainly described.

●[単純パーセプトロン242Aにおける入力層24AAの速度側境界速度入力部H[4]〜H[j+(n−1)]の発火状態の例(図20、図21)]
図20は、入力された上位指令速度Vvが正(>0)、かつ境界速度V12<上位指令速度Vv<境界速度V13の例であって、それぞれの速度範囲がそれぞれ関数Bを有している例を示している。図20における上段のグラフにおいて、横軸をX軸、縦軸をY軸とした場合、関数Bは、その関数Bが属する速度範囲内において、(X、Y)=(下限境界速度、1.0)の位置と、(X、Y)=(上限境界速度、0)の位置と、を結ぶ直線比例関数であり、(下限境界速度、1.0)を含み、(上限境界速度、0)を含まない。例えば境界速度V12〜境界速度V13の速度範囲における関数Bは、(下限の境界速度V12、1.0)を含み(黒丸にて表示)、(上限の境界速度V13、0)を含まない(白丸にて表示)。
[Example of firing state of velocity side boundary velocity input units H [4] to H [j + (n-1)] of input layer 24AA in simple perceptron 242A (FIGS. 20 and 21)]
FIG. 20 is an example in which the input upper command speed Vv is positive (> 0) and the boundary speed V12 <the higher command speed Vv <the boundary speed V13, and each speed range has a function B. An example is shown. In the upper graph in FIG. 20, when the horizontal axis is the X axis and the vertical axis is the Y axis, the function B is (X, Y) = (lower limit boundary speed, 1...) Within the speed range to which the function B belongs. A linear proportional function connecting the position of (0) and the position of (X, Y) = (upper boundary speed, 0), including (lower boundary speed, 1.0), and (upper boundary speed, 0) Not included. For example, the function B in the speed range from the boundary speed V12 to the boundary speed V13 includes (lower boundary speed V12, 1.0) (displayed as a black circle) and does not include (upper boundary speed V13, 0) (open circle). Displayed at).

図20の例は、上位指令速度Vvが正(>0)、かつ境界速度V12<上位指令速度Vv<境界速度V13であって、上位指令速度Vvに対応する関数B(境界速度V12〜V13の速度範囲の関数B)の値が、0.4である例を示している。この場合、図20に示すように、上位指令速度Vvに対応する箇所である境界速度V12〜V13の速度範囲に対応している速度側境界速度入力部H[j+2]が、速度側境界速度出力=0.4を、速度側境界速度出力として出力する。また、上位指令速度Vvに対応していない箇所である境界速度V11〜V12の速度範囲に対応している速度側境界速度入力部H[j+1]、同様に上位指令速度Vvに対応していない速度側境界速度入力部H[j+3]〜H[j+(n−1)]は、何も出力しない。また図20は上位指令速度Vvが正(>0)の場合の例であるので、上位指令速度Vvが負(<0)の場合に対応する速度側境界速度入力部H[4]〜H[j]も、何も出力しない。なお、例えば上位指令速度Vv=V12の場合は、境界速度V12〜V13の速度範囲に対応する速度側境界速度入力部H[j+2]が、速度側境界速度出力として1.0を出力し、上位指令速度Vv=V13の場合は、境界速度V13〜V14の速度範囲に対応する速度側境界速度入力部H[j+3]が、速度側境界速度出力として1.0を出力する。このように速度側境界速度入力部H[4]〜H[j+(n−1)]のそれぞれは、速度側境界速度出力を出力するか否かを判断する機能と、速度側境界速度出力の値を演算する機能と、を有している。   In the example of FIG. 20, the upper command speed Vv is positive (> 0), the boundary speed V12 <the upper command speed Vv <the boundary speed V13, and the function B corresponding to the upper command speed Vv (the boundary speed V12 to V13 An example is shown in which the value of the speed range function B) is 0.4. In this case, as shown in FIG. 20, the speed-side boundary speed input unit H [j + 2] corresponding to the speed range of the boundary speeds V12 to V13, which is a portion corresponding to the upper command speed Vv, outputs the speed-side boundary speed output. = 0.4 is output as the speed-side boundary speed output. A speed-side boundary speed input unit H [j + 1] corresponding to the speed range of the boundary speeds V11 to V12, which is a portion not corresponding to the upper command speed Vv, and similarly, a speed not corresponding to the upper command speed Vv. The side boundary speed input units H [j + 3] to H [j + (n-1)] do not output anything. FIG. 20 shows an example in which the upper command speed Vv is positive (> 0). Therefore, the speed-side boundary speed input units H [4] to H [4] corresponding to the case where the upper command speed Vv is negative (<0). j] does not output anything. For example, when the upper command speed Vv = V12, the speed-side boundary speed input unit H [j + 2] corresponding to the speed range of the boundary speeds V12 to V13 outputs 1.0 as the speed-side boundary speed output, and When the command speed Vv = V13, the speed-side boundary speed input unit H [j + 3] corresponding to the speed range of the boundary speeds V13 to V14 outputs 1.0 as the speed-side boundary speed output. As described above, each of the speed-side boundary speed input units H [4] to H [j + (n-1)] has a function of determining whether or not to output a speed-side boundary speed output, and a function of determining whether to output the speed-side boundary speed output. And a function of calculating a value.

また図21は、入力された上位指令速度Vvが負(<0)、かつ境界速度−V03<上位指令速度Vv<境界速度−V02の例であって、それぞれの速度範囲がそれぞれ関数Bを有している例を示している。図21における上段のグラフにおいて、横軸をX軸、縦軸をY軸とした場合、関数Bは、その関数Bが属する速度範囲内において、(X、Y)=(下限境界速度、0)の位置と、(X、Y)=(上限境界速度、−1.0)の位置と、を結ぶ直線比例関数であり、(下限境界速度、0)を含まず、(上限境界速度、−1.0)を含む。例えば境界速度−V03〜境界速度−V02の速度範囲における関数Bは、(下限の境界速度−V03、0)を含まず(白丸にて表示)、(上限の境界速度−V02、−1.0)を含む(黒丸にて表示)。   FIG. 21 is an example in which the input upper command speed Vv is negative (<0) and the boundary speed −V03 <the higher command speed Vv <the boundary speed −V02, and each speed range has a function B. An example is shown. In the upper graph in FIG. 21, when the horizontal axis is the X axis and the vertical axis is the Y axis, the function B is (X, Y) = (lower limit boundary speed, 0) within the speed range to which the function B belongs. Is a linear proportional function connecting the position of (X, Y) = (upper limit boundary speed, −1.0), not including (lower limit boundary speed, 0), and (upper limit boundary speed, −1). .0). For example, the function B in the speed range from the boundary speed -V03 to the boundary speed -V02 does not include (lower limit boundary speed -V03, 0) (displayed by a white circle), and (upper limit boundary speed -V02, -1.0). ) (Indicated by black circles).

図21の例は、上位指令速度Vvが負(<0)、かつ境界速度−V03<上位指令速度Vv<境界速度−V02であって、上位指令速度Vvに対応する関数B(境界速度−V03〜−V02の速度範囲の関数B)の値が、−0.7である例を示している。この場合、図21に示すように、上位指令速度Vvに対応する箇所である境界速度−V03〜−V02の速度範囲に対応している速度側境界速度入力部H[j−1]が、速度側境界速度出力=−0.7を、速度側境界速度出力として出力する。また、上位指令速度Vvに対応していない箇所である境界速度−V0n〜V0(n−1)の速度範囲〜境界速度−V04〜−V03の速度範囲に対応している速度側境界速度入力部H[4]〜H[j−2]、同様に上位指令速度Vvに対応していない速度側境界速度入力部H[j]は、何も出力しない。また図21は上位指令速度Vvが負(<0)の場合の例であるので、上位指令速度Vvが正(>0)の場合に対応する速度側境界速度入力部H[j+1]〜H[j+(n−1)]も、何も出力しない。なお、例えば上位指令速度Vv=−V02の場合は、境界速度−V03〜−V02の速度範囲に対応する速度側境界速度入力部H[j−1]が、速度側境界速度出力として−1.0を出力し、上位指令速度Vv=−V03の場合は、境界速度−V04〜−V03の速度範囲に対応する速度側境界速度入力部H[j−2]が、速度側境界速度出力として−1.0を出力する。このように速度側境界速度入力部H[4]〜H[j+(n−1)]のそれぞれは、速度側境界速度出力を出力するか否かを判断する機能と、速度側境界速度出力の値を演算する機能と、を有している。   In the example of FIG. 21, the upper command speed Vv is negative (<0), the boundary speed −V03 <the upper command speed Vv <the boundary speed −V02, and the function B (boundary speed −V03) corresponding to the upper command speed Vv is satisfied. An example is shown in which the value of the function B) in the speed range of -V02 is -0.7. In this case, as shown in FIG. 21, the speed-side boundary speed input unit H [j-1] corresponding to the speed range of the boundary speeds -V03 to -V02, which is a portion corresponding to the upper command speed Vv, The side boundary speed output = −0.7 is output as the speed side boundary speed output. Also, a speed-side boundary speed input unit corresponding to a speed range from the boundary speed -V0n to V0 (n-1) to a speed range from the boundary speed -V04 to -V03, which is a portion not corresponding to the upper command speed Vv. H [4] to H [j-2], similarly, the speed-side boundary speed input unit H [j] that does not correspond to the upper command speed Vv does not output anything. FIG. 21 shows an example in which the upper command speed Vv is negative (<0). Therefore, the speed-side boundary speed input units H [j + 1] to H [j] corresponding to the case where the upper command speed Vv is positive (> 0). j + (n-1)] also does not output anything. For example, when the upper command speed Vv = -V02, the speed-side boundary speed input unit H [j-1] corresponding to the speed range of the boundary speeds -V03 to -V02 outputs -1. 0, and when the upper command speed Vv = -V03, the speed-side boundary speed input unit H [j-2] corresponding to the speed range of the boundary speeds -V04 to -V03 is used as the speed-side boundary speed output. 1.0 is output. As described above, each of the speed-side boundary speed input units H [4] to H [j + (n-1)] has a function of determining whether or not to output a speed-side boundary speed output, and a function of determining whether to output the speed-side boundary speed output. And a function of calculating a value.

第6の実施の形態のモータ制御装置の単純パーセプトロン242A(図17参照)では、第5の実施の形態と同様に、第2の実施の形態のモータ制御装置の単純パーセプトロン242(図3参照)における入力処理部241の機能を入力層24AAに統合して入力処理部241を省略している。また、第2の実施の形態の速度側正速度入力部K[2]と速度側負速度入力部K[3]を、速度側速度入力部H[2]に統合している。従って、第6の実施の形態のモータ制御装置は、第5の実施の形態と同様、第2の実施の形態のモータ制御装置と比較して、構成が簡略化されており、処理負荷が軽減されている。また第6の実施の形態は、第5の実施の形態と同様に、1つの境界速度入力部から1つの境界速度出力値を出力することしかできないので、速度の不連続性が生じ、構成が簡単になる反面、速度偏差がやや悪くなりやすい。   In the simple perceptron 242A (see FIG. 17) of the motor control device according to the sixth embodiment, similarly to the fifth embodiment, the simple perceptron 242 (see FIG. 3) of the motor control device according to the second embodiment. Are integrated into the input layer 24AA, and the input processing unit 241 is omitted. Further, the speed-side positive speed input unit K [2] and the speed-side negative speed input unit K [3] of the second embodiment are integrated into the speed-side speed input unit H [2]. Therefore, the motor control device of the sixth embodiment has a simplified configuration and a reduced processing load as compared with the motor control device of the second embodiment, as in the fifth embodiment. Have been. Further, in the sixth embodiment, as in the fifth embodiment, only one boundary speed output value can be output from one boundary speed input unit. At the same time, the speed deviation is likely to be slightly worse.

●●[第7の実施の形態(図14、図17、図22、図23)]
次に、モータ制御装置92Uの第7の実施の形態について説明する。第7の実施の形態のモータ制御装置は、第5の実施の形態と同様に、図14及び図3に示す第2の実施の形態のモータ制御装置に対して、速度フィードフォワード制御部24の内部構成が、図3に示す構成から図17に示す構成に変更されている点が異なる。また第7の実施の形態では、速度フィードフォワード制御部24の内部構成における速度側境界速度入力部の機能が異なっており、入力された上位指令速度Vvに対する発火状態が、図22及び図23の例に示すように、図18及び図19の例に示す第5の実施の形態とは異なっている(関数Aが関数Cに置き換えられている点が異なる)。以下、相違点について主に説明する。
●● [Seventh Embodiment (FIGS. 14, 17, 22, and 23)]
Next, a seventh embodiment of the motor control device 92U will be described. The motor control device according to the seventh embodiment differs from the motor control device according to the second embodiment shown in FIGS. The difference is that the internal configuration is changed from the configuration shown in FIG. 3 to the configuration shown in FIG. Further, in the seventh embodiment, the function of the speed-side boundary speed input unit in the internal configuration of the speed feedforward control unit 24 is different, and the firing state with respect to the input upper command speed Vv is shown in FIGS. As shown in the example, the fifth embodiment is different from the fifth embodiment shown in the examples of FIGS. 18 and 19 (the difference is that the function A is replaced by the function C). Hereinafter, differences will be mainly described.

●[単純パーセプトロン242Aにおける入力層24AAの速度側境界速度入力部H[4]〜H[j+(n−1)]の発火状態の例(図22、図23)]
図22は、入力された上位指令速度Vvが正(>0)、かつ境界速度V12<上位指令速度Vv<境界速度V13の例であって、それぞれの速度範囲がそれぞれ関数Cを有している例を示している。図22における上段のグラフにおいて、横軸をX軸、縦軸をY軸とした場合、関数Cは、その関数Bが属する速度範囲内において、(X、Y)=(下限境界速度、0)の位置と、(X、Y)=(下限境界速度と上限境界速度との中央、1.0)の位置と、(X、Y)=(上限境界速度、0)の位置と、を順に結んだ二等辺三角形状(ただし底辺を除く)の関数であり、(下限境界速度、0)を含まず、(上限境界速度、0)を含む。例えば境界速度V12〜境界速度V13の速度範囲における関数Cは、(下限の境界速度V12、0)を含まず(白丸にて表示)、(上限の境界速度V13、0)を含む(黒丸にて表示)。
[Example of firing state of velocity side boundary velocity input units H [4] to H [j + (n-1)] of input layer 24AA in simple perceptron 242A (FIGS. 22 and 23)]
FIG. 22 is an example in which the input upper command speed Vv is positive (> 0) and the boundary speed V12 <the higher command speed Vv <the boundary speed V13, and each speed range has a function C. An example is shown. In the upper graph in FIG. 22, when the horizontal axis is the X axis and the vertical axis is the Y axis, the function C is (X, Y) = (lower limit boundary speed, 0) within the speed range to which the function B belongs. , The position of (X, Y) = (the center of the lower boundary speed and the upper boundary speed, 1.0), and the position of (X, Y) = (upper boundary speed, 0) are sequentially connected. It is a function of an isosceles triangular shape (excluding the base), not including (lower boundary speed, 0) but including (upper boundary speed, 0). For example, the function C in the speed range from the boundary speed V12 to the boundary speed V13 does not include (lower limit boundary speed V12, 0) (displayed by a white circle), but includes (upper limit boundary speed V13, 0) (black circles). display).

図22の例は、上位指令速度Vvが正(>0)、かつ境界速度V12<上位指令速度Vv<境界速度V13であって、上位指令速度Vvに対応する関数C(境界速度V12〜V13の速度範囲の関数C)の値が、0.8である例を示している。この場合、図22に示すように、上位指令速度Vvに対応する箇所である境界速度V12〜V13の速度範囲に対応している速度側境界速度入力部H[j+2]が、速度側境界速度出力=0.8を、速度側境界速度出力として出力する。また、上位指令速度Vvに対応していない箇所である境界速度V11〜V12の速度範囲に対応している速度側境界速度入力部H[j+1]、同様に上位指令速度Vvに対応していない速度側境界速度入力部H[j+3]〜H[j+(n−1)]は、何も出力しない。また図22は上位指令速度Vvが正(>0)の場合の例であるので、上位指令速度Vvが負(<0)の場合に対応する速度側境界速度入力部H[4]〜H[j]も、何も出力しない。なお、例えば上位指令速度Vv=V13の場合は、境界速度V12〜V13の速度範囲に対応する速度側境界速度入力部H[j+2]が、速度側境界速度出力として0を出力し、上位指令速度Vv=V12の場合は、境界速度V11〜V12の速度範囲に対応する速度側境界速度入力部H[j+1]が、速度側境界速度出力として0を出力する。このように速度側境界速度入力部H[4]〜H[j+(n−1)]のそれぞれは、速度側境界速度出力を出力するか否かを判断する機能と、速度側境界速度出力の値を演算する機能と、を有している。   In the example of FIG. 22, the upper command speed Vv is positive (> 0), the boundary speed V12 <the upper command speed Vv <the boundary speed V13, and the function C corresponding to the higher command speed Vv (the boundary speed V12 to V13 An example in which the value of the speed range function C) is 0.8 is shown. In this case, as shown in FIG. 22, the speed-side boundary speed input unit H [j + 2] corresponding to the speed range of the boundary speeds V12 to V13, which is a location corresponding to the higher command speed Vv, outputs the speed-side boundary speed output. = 0.8 is output as the speed-side boundary speed output. A speed-side boundary speed input unit H [j + 1] corresponding to the speed range of the boundary speeds V11 to V12, which is a portion not corresponding to the upper command speed Vv, and similarly, a speed not corresponding to the upper command speed Vv. The side boundary speed input units H [j + 3] to H [j + (n-1)] do not output anything. FIG. 22 shows an example in which the upper command speed Vv is positive (> 0). Therefore, the speed-side boundary speed input units H [4] to H [4] corresponding to the case where the upper command speed Vv is negative (<0). j] does not output anything. For example, when the upper command speed Vv = V13, the speed-side boundary speed input unit H [j + 2] corresponding to the speed range of the boundary speeds V12 to V13 outputs 0 as the speed-side boundary speed output, and outputs the higher command speed. When Vv = V12, the speed-side boundary speed input unit H [j + 1] corresponding to the speed range of the boundary speeds V11 to V12 outputs 0 as the speed-side boundary speed output. As described above, each of the speed-side boundary speed input units H [4] to H [j + (n-1)] has a function of determining whether or not to output a speed-side boundary speed output, and a function of determining whether to output the speed-side boundary speed output. And a function of calculating a value.

また図23は、入力された上位指令速度Vvが負(<0)、かつ境界速度−V03<上位指令速度Vv<境界速度−V02の例であって、それぞれの速度範囲がそれぞれ関数Cを有している例を示している。図23における上段のグラフにおいて、横軸をX軸、縦軸をY軸とした場合、関数Cは、その関数Cが属する速度範囲内において、(X、Y)=(下限境界速度、0)の位置と、(X、Y)=(下限境界速度と上限境界速度との中央、−1.0)の位置と、(X、Y)=(上限境界速度、0)の位置と、を順に結んだ二等辺三角形状(ただし底辺を除く)の関数であり、(下限境界速度、0)を含み、(上限境界速度、0)を含まない。例えば境界速度−V03〜境界速度−V02の速度範囲における関数Cは、(下限の境界速度−V03、0)を含み(黒丸にて表示)、(上限の境界速度−V02、0)を含まない(白丸にて表示)。   FIG. 23 shows an example in which the input upper command speed Vv is negative (<0) and the boundary speed −V03 <upper command speed Vv <boundary speed−V02, and each speed range has a function C. An example is shown. In the upper graph in FIG. 23, when the horizontal axis is the X axis and the vertical axis is the Y axis, the function C is (X, Y) = (lower boundary speed, 0) within the speed range to which the function C belongs. , The position of (X, Y) = (the center of the lower boundary speed and the upper boundary speed, −1.0), and the position of (X, Y) = (upper boundary speed, 0) in order. This is a function of a connected isosceles triangle (excluding the base), including (lower boundary speed, 0) and not (upper boundary speed, 0). For example, the function C in the speed range from the boundary speed −V03 to the boundary speed −V02 includes (lower boundary speed −V03, 0) (displayed by a black circle) and does not include (upper boundary speed −V02, 0). (Indicated by white circles).

図23の例は、上位指令速度Vvが負(<0)、かつ境界速度−V03<上位指令速度Vv<境界速度−V02であって、上位指令速度Vvに対応する関数C(境界速度−V03〜−V02の速度範囲の関数C)の値が、−0.6である例を示している。この場合、図23に示すように、上位指令速度Vvに対応する箇所である境界速度−V03〜−V02の速度範囲に対応している速度側境界速度入力部H[j−1]が、速度側境界速度出力=−0.6を、速度側境界速度出力として出力する。また、上位指令速度Vvに対応していない箇所である境界速度−V0n〜V0(n−1)の速度範囲〜境界速度−V04〜−V03の速度範囲に対応している速度側境界速度入力部H[4]〜H[j−2]、同様に上位指令速度Vvに対応していない速度側境界速度入力部H[j]は、何も出力しない。また図23は上位指令速度Vvが負(<0)の場合の例であるので、上位指令速度Vvが正(>0)の場合に対応する速度側境界速度入力部H[j+1]〜H[j+(n−1)]も、何も出力しない。なお、例えば上位指令速度Vv=−V03の場合は、境界速度−V03〜−V02の速度範囲に対応する速度側境界速度入力部H[j−1]が、速度側境界速度出力として0を出力し、上位指令速度Vv=−V02の場合は、境界速度−V02〜−V01の速度範囲に対応する速度側境界速度入力部H[j]が、速度側境界速度出力として0を出力する。このように速度側境界速度入力部H[4]〜H[j+(n−1)]のそれぞれは、速度側境界速度出力を出力するか否かを判断する機能と、速度側境界速度出力の値を演算する機能と、を有している。   In the example of FIG. 23, the upper command speed Vv is negative (<0), the boundary speed −V03 <the upper command speed Vv <the boundary speed −V02, and the function C corresponding to the upper command speed Vv (the boundary speed −V03). An example is shown in which the value of the function C) in the speed range of -V02 is -0.6. In this case, as shown in FIG. 23, the speed-side boundary speed input unit H [j-1] corresponding to the speed range of the boundary speeds -V03 to -V02, which is a portion corresponding to the higher command speed Vv, The side boundary speed output = −0.6 is output as the speed side boundary speed output. Also, a speed-side boundary speed input unit corresponding to a speed range from the boundary speed -V0n to V0 (n-1) to a speed range from the boundary speed -V04 to -V03, which is a portion not corresponding to the upper command speed Vv. H [4] to H [j-2], similarly, the speed-side boundary speed input unit H [j] that does not correspond to the upper command speed Vv does not output anything. FIG. 23 shows an example in which the upper command speed Vv is negative (<0). Therefore, the speed-side boundary speed input units H [j + 1] to H [j] corresponding to the case where the upper command speed Vv is positive (> 0). j + (n-1)] also does not output anything. For example, when the upper command speed Vv = -V03, the speed-side boundary speed input unit H [j-1] corresponding to the speed range of the boundary speeds -V03 to -V02 outputs 0 as the speed-side boundary speed output. When the upper command speed Vv = -V02, the speed-side boundary speed input unit H [j] corresponding to the speed range of the boundary speeds -V02 to -V01 outputs 0 as the speed-side boundary speed output. As described above, each of the speed-side boundary speed input units H [4] to H [j + (n-1)] has a function of determining whether or not to output a speed-side boundary speed output, and a function of determining whether to output the speed-side boundary speed output. And a function of calculating a value.

第7の実施の形態のモータ制御装置の単純パーセプトロン242A(図17参照)では、第5の実施の形態と同様に、第2の実施の形態のモータ制御装置の単純パーセプトロン242(図3参照)における入力処理部241の機能を入力層24AAに統合して入力処理部241を省略している。また、第2の実施の形態の速度側正速度入力部K[2]と速度側負速度入力部K[3]を、速度側速度入力部H[2]に統合している。従って、第7の実施の形態のモータ制御装置は、第5の実施の形態と同様、第2の実施の形態のモータ制御装置と比較して、構成が簡略化されており、処理負荷が軽減されている。また第7の実施の形態は、第5の実施の形態と同様に、1つの境界速度入力部から1つの境界速度出力値を出力することしかできないので、速度の不連続性が生じ、構成が簡単になる反面、速度偏差がやや悪くなりやすい。   In the simple perceptron 242A of the motor control device of the seventh embodiment (see FIG. 17), similarly to the fifth embodiment, the simple perceptron 242 of the motor control device of the second embodiment (see FIG. 3). Are integrated into the input layer 24AA, and the input processing unit 241 is omitted. Further, the speed-side positive speed input unit K [2] and the speed-side negative speed input unit K [3] of the second embodiment are integrated into the speed-side speed input unit H [2]. Therefore, the motor control device of the seventh embodiment has a simplified configuration and a reduced processing load as compared with the motor control device of the second embodiment, as in the fifth embodiment. Have been. In the seventh embodiment, as in the fifth embodiment, only one boundary speed output value can be output from one boundary speed input unit. At the same time, the speed deviation is likely to be slightly worse.

本発明のモータ制御装置92Uは、本実施の形態にて説明した構成や、速度フィードフォワード制御部の構成や、位置フィードフォワード制御部の構成等に限定されるものではなく、本発明の要旨を変更しない範囲で種々の変更、追加、削除が可能である。   The motor control device 92U of the present invention is not limited to the configuration described in the present embodiment, the configuration of the speed feedforward control unit, the configuration of the position feedforward control unit, and the like. Various changes, additions, and deletions are possible within a range not changed.

本実施の形態の説明では、上位指令速度Vv(上位指令速度Vp)を速度側入力速度演算部22(位置側入力速度演算部12)から指令位置を元に出力したが、他の実施の形態として、ロボット制御装置60より直接出力してもよい。また、本実施の形態の説明では、上位指令加速度αv(上位指令加速度αp)を速度側入力加速度演算部23(位置側入力加速度演算部13)から上位指令速度Vv(上位指令速度Vp)を元に出力したが、他の実施の形態として、ロボット制御装置60より直接出力してもよい。   In the description of the present embodiment, the upper command speed Vv (upper command speed Vp) is output from the speed-side input speed calculator 22 (the position-side input speed calculator 12) based on the command position. May be directly output from the robot control device 60. Further, in the description of the present embodiment, the upper command acceleration αv (upper command acceleration αp) is obtained from the speed-side input acceleration calculator 23 (position-side input acceleration calculator 13) based on the upper command speed Vv (upper command speed Vp). However, as another embodiment, it may be directly output from the robot control device 60.

本実施の形態の説明では、速度側境界速度発火部24F、位置側境界速度発火部14Fにて、所定の分布関数として正規分布関数を用いる例を説明した。しかし、分布関数を用いる場合、正規分布関数に限定されず、種々の分布関数を用いることができる。同様に、第5〜第7の実施の形態にて説明した関数A、B、Cも、第5〜第7の実施の形態にて説明した関数A、B、Cに限定されず、種々の関数を用いることができる。   In the description of the present embodiment, an example in which a normal distribution function is used as the predetermined distribution function in the speed-side boundary speed firing unit 24F and the position-side boundary speed firing unit 14F has been described. However, when using a distribution function, various distribution functions can be used without being limited to the normal distribution function. Similarly, the functions A, B, and C described in the fifth to seventh embodiments are not limited to the functions A, B, and C described in the fifth to seventh embodiments. Functions can be used.

本実施の形態にて説明したモータ制御装置は、ロボットに限定されず、種々の機器における所定部材の位置を制御するモータ制御装置に適用することが可能である。   The motor control device described in the present embodiment is not limited to a robot, and can be applied to a motor control device that controls the position of a predetermined member in various devices.

また、以上(≧)、以下(≦)、より大きい(>)、未満(<)等は、等号を含んでも含まなくてもよい。   Above (≧), below (≦), greater than (>), less than (<) and the like may or may not include an equal sign.

10 位置偏差演算部
10in 指令位置
10out 位置偏差
11 位置フィードバック制御部
11out 第1仮指令速度
12 位置側入力速度演算部
12out 入力速度(位置側速度)
13 位置側入力加速度演算部
13out 入力加速度(位置側加速度)
14 位置フィードフォワード制御部
14out 第2仮指令速度
141 入力処理部
142、142A 単純パーセプトロン
143 ニューラルネットワーク
14A、14AA 入力層
14B 中間層
14C 出力層
14E 位置側正負速度発火部
14F 位置側境界速度発火部
14G 位置側第1重み学習部
14H 位置側第2重み学習部
14L1 位置側第1出力
14L2 位置側第2出力
14M1 位置側第1乗算値
14M2 位置側第2乗算値
15 速度加算演算部
15out 下位指令速度
20 速度偏差演算部
20out 速度偏差
21 速度フィードバック制御部
21out 第1仮指令電流
22 速度側入力速度演算部
22out 入力速度(速度側速度)
23 速度側入力加速度演算部
23out 入力加速度(速度側加速度)
24 速度フィードフォワード制御部
24out 第2仮指令電流
241 入力処理部
242、242A 単純パーセプトロン
243 ニューラルネットワーク
24A、24AA 入力層
24B 中間層
24C 出力層
24E 速度側正負速度発火部
24F 速度側境界速度発火部
24G 速度側第1重み学習部
24H 速度側第2重み学習部
24L1 速度側第1出力
24L2 速度側第2出力
24M1 速度側第1乗算値
24M2 速度側第2乗算値
25 電流加算演算部
25out 指令電流
27out 実位置
28 実速度演算部
28out 実速度
30 電流偏差演算部
30out 電流偏差
31 電流フィードバック制御部
31out 駆動電流
60 ロボット制御装置
90 ロボット
91U〜94U モータ制御装置
92M 電動モータ
92E エンコーダ(位置検出手段(角度検出手段))
H[1] 速度側加速度入力部
H[2] 速度側速度入力部
H[4]〜H[j+(n−1)] 速度側境界速度入力部
J[1] 位置側加速度入力部
J[2] 位置側正速度入力部
J[3] 位置側負速度入力部
J[4]〜J[j+n] 位置側境界速度入力部
K[1] 速度側加速度入力部
K[2] 速度側正速度入力部
K[3] 速度側負速度入力部
K[4]〜K[j+n] 速度側境界速度入力部
M[1]〜M[3] 位置側演算部
N[1]〜N[3] 速度側演算部
N 分布関数
U[1]、U[2]、U[3]、U[4]〜U[j+n] 速度側第1学習重み
U[s][1]、U[s][2]、U[s][3] 速度側第1学習重み
W[1]、W[2]、W[3]、W[4]〜W[j+n] 位置側第1学習重み
W[s][1]、W[s][2]、W[s][3] 位置側第1学習重み
X[1]〜X[3] 位置側第2学習重み
Y[1]〜Y[3] 速度側第2学習重み
−V0n、−V05、−V04、−V03、−V02、−V01 境界速度
V11、V12、V13、V14、V15、V1n 境界速度
Vv、Vp 上位指令速度
αv、αp 上位指令加速度
Reference Signs List 10 position deviation calculation unit 10in command position 10out position deviation 11 position feedback control unit 11out first provisional command speed 12 position side input speed calculation unit 12out input speed (position side speed)
13 Position-side input acceleration calculator 13out Input acceleration (position-side acceleration)
14 Position feed forward control unit 14out Second provisional command speed 141 Input processing unit 142, 142A Simple perceptron 143 Neural network 14A, 14AA Input layer 14B Middle layer 14C Output layer 14E Position-side positive / negative speed firing unit 14F Position-side boundary speed firing unit 14G Position-side first weight learning unit 14H Position-side second weight learning unit 14L1 Position-side first output 14L2 Position-side second output 14M1 Position-side first multiplication value 14M2 Position-side second multiplication value 15 Speed addition calculation unit 15out Lower-order command speed Reference Signs List 20 speed deviation calculation unit 20out speed deviation 21 speed feedback control unit 21out first provisional command current 22 speed side input speed calculation unit 22out input speed (speed side speed)
23 Speed side input acceleration calculator 23out Input acceleration (speed side acceleration)
24 Speed feed forward control unit 24out Second provisional command current 241 Input processing unit 242, 242A Simple perceptron 243 Neural network 24A, 24AA Input layer 24B Middle layer 24C Output layer 24E Speed side positive / negative speed firing unit 24F Speed side boundary speed firing unit 24G Speed-side first weight learning unit 24H Speed-side second weight learning unit 24L1 Speed-side first output 24L2 Speed-side second output 24M1 Speed-side first multiplication value 24M2 Speed-side second multiplication value 25 Current addition operation unit 25out Command current 27out Actual position 28 Actual speed calculator 28out Actual speed 30 Current deviation calculator 30out Current deviation 31 Current feedback controller 31out Drive current 60 Robot controller 90 Robot 91U to 94U Motor controller 92M Electric motor 92E Encoder (position detecting means ( Degree detection means))
H [1] Speed side acceleration input unit H [2] Speed side speed input unit H [4] to H [j + (n-1)] Speed side boundary speed input unit J [1] Position side acceleration input unit J [2 ] Position-side positive speed input section J [3] Position-side negative speed input section J [4] to J [j + n] Position-side boundary speed input section K [1] Speed-side acceleration input section K [2] Speed-side positive speed input Section K [3] Speed side negative speed input section K [4] to K [j + n] Speed side boundary speed input section M [1] to M [3] Position side calculation section N [1] to N [3] Speed side Calculation unit N Distribution function U [1], U [2], U [3], U [4] to U [j + n] Speed-side first learning weight U [s] [1], U [s] [2] , U [s] [3] Speed-side first learning weight W [1], W [2], W [3], W [4] to W [j + n] Position-side first learning weight W [s] [1 ], W [s] [2] , W [s] [3] Position-side first learning weight X [1] to X [3] Position-side second learning weight Y [1] to Y [3] Speed-side second learning weight −V0n, −V05, -V04, -V03, -V02, -V01 Boundary speed V11, V12, V13, V14, V15, V1n Boundary speed Vv, Vp Upper command speed αv, αp Upper command acceleration

Claims (8)

制御対象物の位置を移動させる電動モータと、当該電動モータに関する位置を検出する位置検出手段と、を用いて前記制御対象物の位置を制御するモータ制御装置であって、
前記電動モータに対する指令位置と、前記位置検出手段からの検出信号に基づいた実際の位置である実位置と、の偏差である位置偏差を演算する位置偏差演算部と、
前記位置偏差に応じてフィードバック制御して第1仮指令速度を出力する位置フィードバック制御部と、
前記電動モータに対する下位指令速度であって前記第1仮指令速度を含む前記下位指令速度と、前記位置検出手段からの検出信号に基づいた実際の速度である実速度と、の偏差である速度偏差を演算する速度偏差演算部と、
前記速度偏差に応じてフィードバック制御して第1仮指令電流を出力する速度フィードバック制御部と、
前記下位指令速度とは異なる速度である上位指令速度に応じてフィードフォワード制御して第2仮指令電流を出力する速度フィードフォワード制御部と、
前記第1仮指令電流と前記第2仮指令電流とを加算して指令電流を出力する電流加算演算部と、
前記指令電流に基づいて電動モータへの駆動電流を出力する電流出力部と、を有し、
前記速度フィードフォワード制御部は、
上位指令加速度が入力され、入力された前記上位指令加速度を速度側加速度出力として出力する速度側加速度入力部と、
前記上位指令速度が入力され、入力された前記上位指令速度を速度側速度出力として出力する速度側速度入力部と、
前記上位指令速度の速度範囲に対して限定した限定速度範囲を、予め設定した隣り合う複数の速度範囲毎に分割し、分割したそれぞれの前記速度範囲の境界となる速度である複数の境界速度に対応させて用意され、前記上位指令速度が入力され、前記上位指令速度と対応する箇所より速度側境界速度出力を出力する複数の速度側境界速度入力部と、
前記速度側加速度出力、前記速度側速度出力、複数の前記速度側境界速度出力、である速度側第1出力のそれぞれに対応する複数の速度側第1学習重みを、前記速度偏差に応じて変更する速度側第1重み学習部と、
前記速度側第1出力のそれぞれと、当該速度側第1出力のそれぞれに対応する前記速度側第1学習重みと、を乗算した複数の速度側第1乗算値を加算して前記第2仮指令電流として出力する速度側出力部と、を有している、
モータ制御装置。
An electric motor that moves the position of the control target, and a position detection unit that detects a position related to the electric motor, a motor control device that controls the position of the control target using a motor control device,
A position deviation calculation unit that calculates a position deviation that is a deviation between a command position for the electric motor and an actual position that is an actual position based on a detection signal from the position detection unit;
A position feedback control unit that performs a feedback control according to the position deviation to output a first provisional command speed;
A speed deviation that is a deviation between the lower command speed that is the lower command speed for the electric motor, including the first provisional command speed, and the actual speed that is the actual speed based on the detection signal from the position detection unit. A speed deviation calculation unit for calculating
A speed feedback control unit that performs a feedback control according to the speed deviation to output a first provisional command current;
A speed feedforward control unit that performs feedforward control according to an upper command speed that is different from the lower command speed and outputs a second provisional command current;
A current addition operation unit that outputs the command current by adding the first provisional command current and the second provisional command current;
A current output unit that outputs a drive current to the electric motor based on the command current,
The speed feedforward control unit includes:
A higher-order command acceleration is input, a speed-side acceleration input unit that outputs the input higher-order command acceleration as a speed-side acceleration output,
A speed-side speed input unit to which the higher-order command speed is input and that outputs the input higher-order command speed as a speed-side speed output;
The limited speed range limited to the speed range of the upper command speed is divided into a plurality of adjacent speed ranges that are set in advance, and a plurality of boundary speeds that are boundaries between the divided speed ranges are obtained. A plurality of speed-side boundary speed input units, which are prepared in correspondence with each other, wherein the higher-order command speed is input, and outputs a speed-side boundary speed output from a location corresponding to the higher-order command speed,
A plurality of speed-side first learning weights corresponding to each of the speed-side first outputs, which are the speed-side acceleration output, the speed-side speed output, and the plurality of speed-side boundary speed outputs, are changed according to the speed deviation. A speed-side first weight learning unit,
A plurality of speed-side first multiplied values obtained by multiplying each of the speed-side first outputs and the speed-side first learning weight corresponding to each of the speed-side first outputs are added to obtain the second provisional command. A speed-side output unit that outputs current.
Motor control device.
制御対象物の位置を移動させる電動モータと、当該電動モータに関する位置を検出する位置検出手段と、を用いて前記制御対象物の位置を制御するモータ制御装置であって、
前記電動モータに対する指令位置と、前記位置検出手段からの検出信号に基づいた実際の位置である実位置と、の偏差である位置偏差を演算する位置偏差演算部と、
前記位置偏差に応じてフィードバック制御して第1仮指令速度を出力する位置フィードバック制御部と、
前記電動モータに対する下位指令速度であって前記第1仮指令速度を含む前記下位指令速度と、前記位置検出手段からの検出信号に基づいた実際の速度である実速度と、の偏差である速度偏差を演算する速度偏差演算部と、
前記速度偏差に応じてフィードバック制御して第1仮指令電流を出力する速度フィードバック制御部と、
前記下位指令速度とは異なる速度である上位指令速度に応じてフィードフォワード制御して第2仮指令電流を出力する速度フィードフォワード制御部と、
前記第1仮指令電流と前記第2仮指令電流とを加算して指令電流を出力する電流加算演算部と、
前記指令電流に基づいて電動モータへの駆動電流を出力する電流出力部と、を有し、
前記速度フィードフォワード制御部は、
前記上位指令速度が入力され、入力された前記上位指令速度が正の場合に速度側正速度出力値を出力し、入力された前記上位指令速度が負の場合に速度側負速度出力値を出力する速度側正負速度発火部と、
前記上位指令速度の速度範囲に対して限定した限定速度範囲を、予め設定した隣り合う複数の速度範囲毎に分割し、分割したそれぞれの前記速度範囲の境界となる速度である複数の境界速度を有し、前記上位指令速度が入力され、複数の前記境界速度のうち前記上位指令速度との速度差が所定速度差以内の前記境界速度から、前記速度差に基づいた速度側境界速度出力値を出力する速度側境界速度発火部と、
上位指令加速度が入力され、入力された前記上位指令加速度を速度側加速度出力として出力する速度側加速度入力部と、
前記速度側正速度出力値が入力され、入力された前記速度側正速度出力値を速度側正速度出力として出力する速度側正速度入力部と、
前記速度側負速度出力値が入力され、入力された前記速度側負速度出力値を速度側負速度出力として出力する速度側負速度入力部と、
複数の前記境界速度に対応させて用意され、前記速度側境界速度出力値が入力され、入力された前記速度側境界速度出力値を速度側境界速度出力として出力する複数の速度側境界速度入力部と、
前記速度側加速度出力、前記速度側正速度出力、前記速度側負速度出力、複数の前記速度側境界速度出力、である速度側第1出力のそれぞれに対応する複数の速度側第1学習重みを、前記速度偏差に応じて変更する速度側第1重み学習部と、
前記速度側第1出力のそれぞれと、当該速度側第1出力のそれぞれに対応する前記速度側第1学習重みと、を乗算した複数の速度側第1乗算値を加算して前記第2仮指令電流として出力する速度側出力部と、を有している、
モータ制御装置。
An electric motor that moves the position of the control target, and a position detection unit that detects a position related to the electric motor, a motor control device that controls the position of the control target using a motor control device,
A position deviation calculation unit that calculates a position deviation that is a deviation between a command position for the electric motor and an actual position that is an actual position based on a detection signal from the position detection unit;
A position feedback control unit that performs a feedback control according to the position deviation to output a first provisional command speed;
A speed deviation that is a deviation between the lower command speed that is the lower command speed for the electric motor, including the first provisional command speed, and the actual speed that is the actual speed based on the detection signal from the position detection unit. A speed deviation calculation unit for calculating
A speed feedback control unit that performs a feedback control according to the speed deviation to output a first provisional command current;
A speed feedforward control unit that performs feedforward control according to an upper command speed that is different from the lower command speed and outputs a second provisional command current;
A current addition operation unit that outputs the command current by adding the first provisional command current and the second provisional command current;
A current output unit that outputs a drive current to the electric motor based on the command current,
The speed feedforward control unit includes:
The upper command speed is input, and outputs a speed-side positive speed output value when the input upper command speed is positive, and outputs a speed-side negative speed output value when the input higher command speed is negative. Speed side positive / negative speed firing part,
The limited speed range limited to the speed range of the higher-order command speed is divided into a plurality of adjacent speed ranges set in advance, and a plurality of boundary speeds that are boundaries between the divided speed ranges are obtained. The upper command speed is input, and a speed difference from the upper command speed among the plurality of boundary speeds is the boundary speed within a predetermined speed difference, and a speed-side boundary speed output value based on the speed difference is provided. An output speed-side boundary speed firing section,
A higher-order command acceleration is input, a speed-side acceleration input unit that outputs the input higher-order command acceleration as a speed-side acceleration output,
A speed-side positive speed output unit to which the speed-side normal speed output value is input and that outputs the input speed-side normal speed output value as a speed-side normal speed output;
A speed-side negative speed input unit that receives the speed-side negative speed output value and outputs the input speed-side negative speed output value as a speed-side negative speed output;
A plurality of speed-side boundary speed input units that are prepared corresponding to a plurality of the boundary speeds, receive the speed-side boundary speed output value, and output the input speed-side boundary speed output value as a speed-side boundary speed output. When,
A plurality of speed-side first learning weights corresponding to each of the speed-side first outputs, which are the speed-side acceleration output, the speed-side positive speed output, the speed-side negative speed output, and the plurality of speed-side boundary speed outputs. A speed-side first weight learning unit that changes in accordance with the speed deviation;
A plurality of speed-side first multiplied values obtained by multiplying each of the speed-side first outputs and the speed-side first learning weight corresponding to each of the speed-side first outputs are added to obtain the second provisional command. A speed-side output unit that outputs current.
Motor control device.
請求項2に記載のモータ制御装置であって、
前記上位指令速度に応じてフィードフォワード制御して第2仮指令速度を出力する位置フィードフォワード制御部と、
前記第1仮指令速度と前記第2仮指令速度とを加算して前記下位指令速度を出力する速度加算演算部と、を有し、
前記位置フィードフォワード制御部は、
前記上位指令速度が入力され、入力された前記上位指令速度が正の場合に位置側正速度出力値を出力し、入力された前記上位指令速度が負の場合に位置側負速度出力値を出力する位置側正負速度発火部と、
複数の前記境界速度を有し、前記上位指令速度が入力され、複数の前記境界速度のうち前記上位指令速度との速度差が所定速度差以内の前記境界速度から、前記速度差に基づいた位置側境界速度出力値を出力する位置側境界速度発火部と、
前記上位指令加速度が入力され、入力された前記上位指令加速度を位置側加速度出力として出力する位置側加速度入力部と、
前記位置側正速度出力値が入力され、入力された前記位置側正速度出力値を位置側正速度出力として出力する位置側正速度入力部と、
前記位置側負速度出力値が入力され、入力された前記位置側負速度出力値を位置側負速度出力として出力する位置側負速度入力部と、
複数の前記境界速度に対応させて用意され、前記位置側境界速度出力値が入力され、入力された前記位置側境界速度出力値を位置側境界速度出力として出力する複数の位置側境界速度入力部と、
前記位置側加速度出力、前記位置側正速度出力、前記位置側負速度出力、複数の前記位置側境界速度出力、である位置側第1出力のそれぞれに対応する複数の位置側第1学習重みを、前記位置偏差に応じて変更する位置側第1重み学習部と、
前記位置側第1出力のそれぞれと、当該位置側第1出力のそれぞれに対応する前記位置側第1学習重みと、を乗算した複数の位置側第1乗算値を加算して前記第2仮指令速度として出力する位置側出力部と、を有している、
モータ制御装置。
The motor control device according to claim 2, wherein
A position feedforward control unit that performs feedforward control according to the higher-order command speed and outputs a second provisional command speed;
A speed addition operation unit that adds the first provisional command speed and the second provisional command speed to output the lower command speed,
The position feed forward control unit includes:
The upper command speed is input, and outputs a position-side positive speed output value when the input higher command speed is positive, and outputs a position-side negative speed output value when the input higher command speed is negative. Positive / negative velocity firing part
A plurality of the boundary speeds, wherein the upper command speed is input, and a speed difference between the plurality of the boundary speeds and the upper command speed is within a predetermined speed difference. A position-side boundary speed firing section that outputs a side boundary speed output value;
A position-side acceleration input unit that receives the higher-order command acceleration and outputs the input higher-order command acceleration as a position-side acceleration output;
The position-side positive speed output unit that receives the position-side normal speed output value and outputs the input position-side normal speed output value as a position-side normal speed output,
A position-side negative speed input unit that receives the position-side negative speed output value and outputs the input position-side negative speed output value as a position-side negative speed output;
A plurality of position-side boundary speed input units which are prepared in correspondence with a plurality of the boundary speeds, receive the position-side boundary speed output values, and output the input position-side boundary speed output values as position-side boundary speed outputs; When,
A plurality of position-side first learning weights corresponding to the position-side first outputs, which are the position-side acceleration output, the position-side positive speed output, the position-side negative speed output, and the plurality of the position-side boundary speed outputs. A position-side first weight learning unit that changes in accordance with the position deviation;
A plurality of position-side first multiplication values obtained by multiplying each of the position-side first outputs and the position-side first learning weights corresponding to each of the position-side first outputs are added, and the second provisional command is obtained. A position-side output unit that outputs a speed.
Motor control device.
制御対象物の位置を移動させる電動モータと、当該電動モータに関する位置を検出する位置検出手段と、を用いて前記制御対象物の位置を制御するモータ制御装置であって、
前記電動モータに対する指令位置と、前記位置検出手段からの検出信号に基づいた実際の位置である実位置と、の偏差である位置偏差を演算する位置偏差演算部と、
前記位置偏差に応じてフィードバック制御して第1仮指令速度を出力する位置フィードバック制御部と、
前記電動モータに対する下位指令速度であって前記第1仮指令速度を含む前記下位指令速度と、前記位置検出手段からの検出信号に基づいた実際の速度である実速度と、の偏差である速度偏差を演算する速度偏差演算部と、
前記速度偏差に応じてフィードバック制御して第1仮指令電流を出力する速度フィードバック制御部と、
前記下位指令速度とは異なる速度である上位指令速度に応じてフィードフォワード制御して第2仮指令電流を出力する速度フィードフォワード制御部と、
前記第1仮指令電流と前記第2仮指令電流とを加算して指令電流を出力する電流加算演算部と、
前記指令電流に基づいて電動モータへの駆動電流を出力する電流出力部と、を有し、
前記速度フィードフォワード制御部は、
前記上位指令速度が入力され、入力された前記上位指令速度が正の場合に速度側正速度出力値を出力し、入力された前記上位指令速度が負の場合に速度側負速度出力値を出力する速度側正負速度発火部と、
前記上位指令速度の速度範囲に対して限定した限定速度範囲を、予め設定した隣り合う複数の速度範囲毎に分割し、分割したそれぞれの前記速度範囲の境界となる速度である複数の境界速度を有し、前記上位指令速度が入力され、複数の前記境界速度のうち前記上位指令速度との速度差が所定速度差以内の前記境界速度から、前記速度差に基づいた速度側境界速度出力値を出力する速度側境界速度発火部と、
上位指令加速度が入力され、入力された前記上位指令加速度を、予め用意された複数の速度側演算部のそれぞれに向けて速度側加速度出力として出力する速度側加速度入力部と、
前記速度側正速度出力値が入力され、入力された前記速度側正速度出力値を、複数の前記速度側演算部のそれぞれに向けて速度側正速度出力として出力する速度側正速度入力部と、
前記速度側負速度出力値が入力され、入力された前記速度側負速度出力値を、複数の前記速度側演算部のそれぞれに向けて速度側負速度出力として出力する速度側負速度入力部と、
複数の前記境界速度に対応させて用意され、前記速度側境界速度出力値が入力され、入力された前記速度側境界速度出力値を、複数の前記速度側演算部のそれぞれに向けて速度側境界速度出力として出力する複数の速度側境界速度入力部と、
複数の前記速度側加速度出力、複数の前記速度側正速度出力、複数の前記速度側負速度出力、複数の前記速度側境界速度出力、である速度側第1出力のそれぞれに対応する複数の速度側第1学習重みを、前記速度偏差に応じて変更する速度側第1重み学習部と、
前記速度側第1出力のそれぞれと、当該速度側第1出力のそれぞれに対応する前記速度側第1学習重みと、を乗算した複数の速度側第1乗算値を加算して速度側第2出力として出力する複数の前記速度側演算部と、
前記速度側第2出力のそれぞれに対応する複数の速度側第2学習重みを、前記速度偏差に応じて変更する速度側第2重み学習部と、
前記速度側第2出力のそれぞれと、当該速度側第2出力のそれぞれに対応する前記速度側第2学習重みと、を乗算した複数の速度側第2乗算値を加算して前記第2仮指令電流として出力する速度側出力部と、を有している、
モータ制御装置。
An electric motor that moves the position of the control target, and a position detection unit that detects a position related to the electric motor, a motor control device that controls the position of the control target using a motor control device,
A position deviation calculation unit that calculates a position deviation that is a deviation between a command position for the electric motor and an actual position that is an actual position based on a detection signal from the position detection unit;
A position feedback control unit that performs a feedback control according to the position deviation to output a first provisional command speed;
A speed deviation that is a deviation between the lower command speed that is the lower command speed for the electric motor, including the first provisional command speed, and the actual speed that is the actual speed based on the detection signal from the position detection unit. A speed deviation calculation unit for calculating
A speed feedback control unit that performs a feedback control according to the speed deviation to output a first provisional command current;
A speed feedforward control unit that performs feedforward control according to an upper command speed that is different from the lower command speed and outputs a second provisional command current;
A current addition operation unit that outputs the command current by adding the first provisional command current and the second provisional command current;
A current output unit that outputs a drive current to the electric motor based on the command current,
The speed feedforward control unit includes:
The upper command speed is input, and outputs a speed-side positive speed output value when the input upper command speed is positive, and outputs a speed-side negative speed output value when the input higher command speed is negative. Speed side positive / negative speed firing part,
The limited speed range limited to the speed range of the higher-order command speed is divided into a plurality of adjacent speed ranges set in advance, and a plurality of boundary speeds that are boundaries between the divided speed ranges are obtained. The upper command speed is input, and a speed difference from the upper command speed among the plurality of boundary speeds is the boundary speed within a predetermined speed difference, and a speed-side boundary speed output value based on the speed difference is provided. An output speed-side boundary speed firing section,
A higher-order command acceleration is input, the input higher-order command acceleration, a speed-side acceleration input unit that outputs as a speed-side acceleration output toward each of a plurality of speed-side calculation units prepared in advance,
A speed-side positive speed output unit to which the speed-side normal speed output value is input, and that the input speed-side normal speed output value is output as a speed-side normal speed output toward each of the plurality of speed-side arithmetic units; ,
The speed-side negative speed output value is input, and the input speed-side negative speed output value is output as a speed-side negative speed output toward each of the plurality of speed-side operation units. ,
The speed-side boundary speed output value is provided corresponding to a plurality of the boundary speeds, the speed-side boundary speed output value is input, and the input speed-side boundary speed output value is converted into a speed-side boundary A plurality of speed-side boundary speed input units for outputting as speed output;
A plurality of speeds corresponding to each of the plurality of speed-side acceleration outputs, the plurality of speed-side positive speed outputs, the plurality of speed-side negative speed outputs, and the plurality of speed-side boundary speed outputs; A speed-side first weight learning unit that changes the first side learning weight according to the speed deviation;
A plurality of speed-side first multiplied values obtained by multiplying each of the speed-side first outputs and the speed-side first learning weight corresponding to each of the speed-side first outputs are added to generate a speed-side second output. A plurality of speed-side arithmetic units that output as
A speed-side second weight learning unit that changes a plurality of speed-side second learning weights corresponding to each of the speed-side second outputs in accordance with the speed deviation;
A plurality of speed-side second multiplied values obtained by multiplying each of the speed-side second outputs and the speed-side second learning weight corresponding to each of the speed-side second outputs are added, and the second provisional command is obtained. A speed-side output unit that outputs current.
Motor control device.
請求項4に記載のモータ制御装置であって、
前記上位指令速度に応じてフィードフォワード制御して第2仮指令速度を出力する位置フィードフォワード制御部と、
前記第1仮指令速度と前記第2仮指令速度とを加算して前記下位指令速度を出力する速度加算演算部と、を有し、
前記位置フィードフォワード制御部は、
前記上位指令速度が入力され、入力された前記上位指令速度が正の場合に位置側正速度出力値を出力し、入力された前記上位指令速度が負の場合に位置側負速度出力値を出力する位置側正負速度発火部と、
複数の前記境界速度を有し、前記上位指令速度が入力され、複数の前記境界速度のうち前記上位指令速度との速度差が所定速度差以内の前記境界速度から、前記速度差に基づいた位置側境界速度出力値を出力する位置側境界速度発火部と、
前記上位指令加速度が入力され、入力された前記上位指令加速度を、予め用意された複数の位置側演算部のそれぞれに向けて位置側加速度出力として出力する位置側加速度入力部と、
前記位置側正速度出力値が入力され、入力された前記位置側正速度出力値を、複数の前記位置側演算部のそれぞれに向けて位置側正速度出力として出力する位置側正速度入力部と、
前記位置側負速度出力値が入力され、入力された前記位置側負速度出力値を、複数の前記位置側演算部のそれぞれに向けて位置側負速度出力として出力する位置側負速度入力部と、
複数の前記境界速度に対応させて用意され、前記位置側境界速度出力値が入力され、入力された前記位置側境界速度出力値を、複数の前記位置側演算部のそれぞれに向けて位置側境界速度出力として出力する複数の位置側境界速度入力部と、
複数の前記位置側加速度出力、複数の前記位置側正速度出力、複数の前記位置側負速度出力、複数の前記位置側境界速度出力、である位置側第1出力のそれぞれに対応する複数の位置側第1学習重みを、前記位置偏差に応じて変更する位置側第1重み学習部と、
前記位置側第1出力のそれぞれと、当該位置側第1出力のそれぞれに対応する前記位置側第1学習重みと、を乗算した複数の位置側第1乗算値を加算して位置側第2出力として出力する複数の前記位置側演算部と、
前記位置側第2出力のそれぞれに対応する複数の位置側第2学習重みを、前記位置偏差に応じて変更する位置側第2重み学習部と、
前記位置側第2出力のそれぞれと、当該位置側第2出力のそれぞれに対応する前記位置側第2学習重みと、を乗算した複数の位置側第2乗算値を加算して前記第2仮指令速度として出力する位置側出力部と、を有している、
モータ制御装置。
The motor control device according to claim 4, wherein
A position feedforward control unit that performs feedforward control according to the higher-order command speed and outputs a second provisional command speed;
A speed addition operation unit that adds the first provisional command speed and the second provisional command speed to output the lower command speed,
The position feed forward control unit includes:
The upper command speed is input, and outputs a position-side positive speed output value when the input higher command speed is positive, and outputs a position-side negative speed output value when the input higher command speed is negative. Positive / negative velocity firing part
A plurality of the boundary speeds, wherein the upper command speed is input, and a speed difference between the plurality of the boundary speeds and the upper command speed is within a predetermined speed difference. A position-side boundary speed firing section that outputs a side boundary speed output value;
The upper-order command acceleration is input, a position-side acceleration input unit that outputs the input higher-order command acceleration as a position-side acceleration output toward each of a plurality of position-side calculation units prepared in advance,
The position-side normal speed output value is input, and the input position-side normal speed output value is output as a position-side normal speed output toward each of the plurality of position-side calculation units. ,
The position-side negative speed output unit receives the position-side negative speed output value, and outputs the input position-side negative speed output value as a position-side negative speed output toward each of the plurality of position-side operation units. ,
The position-side boundary speed output value is provided corresponding to a plurality of the boundary speeds, and the input position-side boundary speed output value is input to each of the plurality of position-side operation units. A plurality of position-side boundary speed input units that output as a speed output;
A plurality of positions corresponding to each of the position-side first outputs, which are a plurality of the position-side acceleration outputs, a plurality of the position-side positive speed outputs, a plurality of the position-side negative speed outputs, and a plurality of the position-side boundary speed outputs. A position-side first weight learning unit that changes a side first learning weight according to the position deviation;
A plurality of position-side first multiplied values obtained by multiplying each of the position-side first outputs and the position-side first learning weight corresponding to each of the position-side first outputs are added to obtain a position-side second output. A plurality of the position-side calculation units that output as
A position-side second weight learning unit that changes a plurality of position-side second learning weights corresponding to each of the position-side second outputs according to the position deviation;
A plurality of position-side second multiplied values obtained by multiplying each of the position-side second outputs and the position-side second learning weights corresponding to each of the position-side second outputs are added to obtain the second provisional command. A position-side output unit that outputs a speed.
Motor control device.
請求項1〜5のいずれか一項に記載のモータ制御装置であって、
速度と、前記制御対象物の位置を移動させる際の摩擦を含む所定の物理現象と、の関係を示す速度・物理現象特性であって、非線形特性とみなされる前記限定速度範囲を、部分的に線形特性とみなすことが可能なそれぞれの前記速度範囲に分割し、分割したそれぞれの前記速度範囲の境界となる速度が、前記境界速度として設定されている、
モータ制御装置。
The motor control device according to any one of claims 1 to 5,
Speed, a predetermined physical phenomenon including friction at the time of moving the position of the control target, a speed-physical phenomenon characteristics showing the relationship between the limited speed range considered as non-linear characteristics, partially Divided into each of the speed ranges that can be regarded as linear characteristics, the speed that is the boundary of each of the divided speed ranges is set as the boundary speed,
Motor control device.
請求項2〜5のいずれか一項に記載のモータ制御装置であって、
前記速度側境界速度発火部は、
予め設定された速度の幅を広がり幅とする所定の分布関数を有しており、
入力された前記上位指令速度と前記境界速度との前記速度差だけ前記分布関数の中央から離れた速度に対応する分布確率を、前記分布関数を用いてそれぞれの前記境界速度に対して求め、求めた前記分布確率がゼロでない前記境界速度に対してのみ発火して、前記上位指令速度が正の場合は求めた前記分布確率に基づいた正の値を、前記上位指令速度が負の場合は求めた前記分布確率に基づいた負の値を、発火した前記境界速度に対応する前記速度側境界速度出力値として出力する、
モータ制御装置。
A motor control device according to any one of claims 2 to 5,
The speed-side boundary speed firing section,
It has a predetermined distribution function that makes the width of the speed set in advance a spread width,
A distribution probability corresponding to a speed separated from the center of the distribution function by the speed difference between the input upper command speed and the boundary speed is obtained for each of the boundary speeds by using the distribution function, and is obtained. Further, the distribution probability is fired only for the boundary speed that is not zero, a positive value based on the distribution probability obtained when the upper command speed is positive, and a positive value based on the distribution probability obtained when the upper command speed is negative. A negative value based on the distribution probability is output as the speed-side boundary speed output value corresponding to the boundary speed that fired,
Motor control device.
請求項3または5に記載のモータ制御装置であって、
前記位置側境界速度発火部は、
予め設定された速度の幅を広がり幅とする所定の分布関数を有しており、
入力された前記上位指令速度と前記境界速度との前記速度差だけ前記分布関数の中央から離れた速度に対応する分布確率を、前記分布関数を用いてそれぞれの前記境界速度に対して求め、求めた前記分布確率がゼロでない前記境界速度に対してのみ発火して、前記上位指令速度が正の場合は求めた前記分布確率に基づいた正の値を、前記上位指令速度が負の場合は求めた前記分布確率に基づいた負の値を、発火した前記境界速度に対応する前記位置側境界速度出力値として出力する、
モータ制御装置。

The motor control device according to claim 3 or 5,
The position-side boundary speed firing section,
It has a predetermined distribution function that makes the width of the speed set in advance a spread width,
A distribution probability corresponding to a speed separated from the center of the distribution function by the speed difference between the input upper command speed and the boundary speed is obtained for each of the boundary speeds by using the distribution function, and is obtained. Further, the distribution probability is fired only for the boundary speed that is not zero, a positive value based on the distribution probability obtained when the upper command speed is positive, and a positive value based on the distribution probability obtained when the upper command speed is negative. A negative value based on the distribution probability is output as the position-side boundary speed output value corresponding to the boundary speed that fired,
Motor control device.

JP2016055450A 2016-01-08 2016-03-18 Motor control device Active JP6665610B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US15/393,792 US9859829B2 (en) 2016-01-08 2016-12-29 Motor control device
EP17150316.2A EP3190471B1 (en) 2016-01-08 2017-01-04 Motor control device
CN201710004967.0A CN106961235B (en) 2016-01-08 2017-01-04 Motor control device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016002484 2016-01-08
JP2016002484 2016-01-08

Publications (2)

Publication Number Publication Date
JP2017127176A JP2017127176A (en) 2017-07-20
JP6665610B2 true JP6665610B2 (en) 2020-03-13

Family

ID=59365362

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016055450A Active JP6665610B2 (en) 2016-01-08 2016-03-18 Motor control device

Country Status (2)

Country Link
JP (1) JP6665610B2 (en)
CN (1) CN106961235B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200042952A (en) * 2017-11-02 2020-04-24 미쓰비시덴키 가부시키가이샤 Calibration device, calibration method and control device
US10913550B2 (en) * 2018-03-23 2021-02-09 The Boeing Company System and method for position and speed feedback control
CN110815233B (en) * 2019-11-28 2020-12-08 北京云迹科技有限公司 Robot driving method, device, storage medium and robot
CN115993854B (en) * 2023-03-21 2024-05-10 上海果纳半导体技术有限公司 SMIF (SMIF) open-close device control method, SMIF open-close device control device and storage medium

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3062606B2 (en) * 1993-07-16 2000-07-12 株式会社日立製作所 Adaptive controller using neural network
US6629089B1 (en) * 2000-09-29 2003-09-30 Cirrus Logic, Inc. Artificial neural network voice coil motor controller
JP2003061377A (en) * 2001-08-17 2003-02-28 Yaskawa Electric Corp Motor control apparatus with auto-tuning function
AU2003224895A1 (en) * 2003-04-09 2004-11-26 Arris International, Inc. Reciprocal index lookup for btsc compatible coefficients
US8310178B2 (en) * 2009-02-27 2012-11-13 Canon Kabushiki Kaisha Motor control apparatus and image forming apparatus
CN102354146B (en) * 2011-07-22 2013-05-01 江俊逢 Motion control system and position control method thereof
CN102723911A (en) * 2012-06-22 2012-10-10 温丙彦 Server motor controller of solar panel
CN104228937B (en) * 2014-08-26 2017-02-01 苏州市职业大学 Dual-mode control electronic power steering system for industrial vehicle
CN105094165B (en) * 2015-08-24 2017-06-16 华中科技大学 A kind of vibration suppressing method based on Stewart active platforms
CN105180944B (en) * 2015-09-17 2017-12-19 哈尔滨工程大学 A kind of hull slipspeed error judges compensation method

Also Published As

Publication number Publication date
JP2017127176A (en) 2017-07-20
CN106961235A (en) 2017-07-18
CN106961235B (en) 2021-06-25

Similar Documents

Publication Publication Date Title
JP6665610B2 (en) Motor control device
CN108942924B (en) Model uncertainty mechanical arm motion control method based on multilayer neural network
Le et al. 3D cooperative control of tower cranes using robust adaptive techniques
JP6128767B2 (en) Robot control apparatus and robot control method
Soltani et al. Design artificial nonlinear controller based on computed torque like controller with tunable gain
JP6517567B2 (en) Servo motor control device and collision detection method
US5285377A (en) Control apparatus structuring system
Kaitwanidvilai et al. Robust loop shaping–fuzzy gain scheduling control of a servo-pneumatic system using particle swarm optimization approach
Yagiz et al. Robust control of a spatial robot using fuzzy sliding modes
KR102275302B1 (en) RBFNN Based Decentralized Adaptive Tracking Control Using PSO for an Uncertain Electrically Driven Robot System with Input Saturation
Da et al. Fuzzy neural networks for direct adaptive control
Franch et al. Differential Flatness of a Class of $ n $-DOF Planar Manipulators Driven by 1 or 2 Actuators
Zebin et al. Modeling and Control of a Two-link Flexible Manipulator using Fuzzy Logic and Genetic Optimization Techniques.
JP2016008925A (en) Vehicle speed command production system and vehicle speed command production method
Zouari et al. Adaptive backstepping control for a single-link flexible robot manipulator driven DC motor
JP6021478B2 (en) Robot control apparatus and robot control method
JP2017213631A (en) Robot arm control device, robot arm control method, and program
EP3190471B1 (en) Motor control device
Jafari et al. A biologically-inspired intelligent controller for distributed velocity control of multiple electro-hydraulic servo-systems
JP2019109598A (en) Control system
Henmi et al. Nonlinear control of the underactuated two-link manipulator using the sliding-mode type partial linearisation method
Kim et al. Weighted hybrid admittance-impedance control with human intention based stiffness estimation for human-robot interaction
Jamil et al. A new approach of active compliance control via fuzzy logic control for multifingered robot hand
Tarokh et al. Adaptive fuzzy force control of manipulators with unknown environment parameters
Cherdchoosilpa et al. MIMO controller design for a parallel manipulator system: A practitioner's approach

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200203

R150 Certificate of patent or registration of utility model

Ref document number: 6665610

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150