JP2017127176A - モータ制御装置 - Google Patents

モータ制御装置 Download PDF

Info

Publication number
JP2017127176A
JP2017127176A JP2016055450A JP2016055450A JP2017127176A JP 2017127176 A JP2017127176 A JP 2017127176A JP 2016055450 A JP2016055450 A JP 2016055450A JP 2016055450 A JP2016055450 A JP 2016055450A JP 2017127176 A JP2017127176 A JP 2017127176A
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.)
Granted
Application number
JP2016055450A
Other languages
English (en)
Other versions
JP6665610B2 (ja
Inventor
和也 沼崎
Kazuya Numazaki
和也 沼崎
向井 康晴
Yasuharu Mukai
康晴 向井
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/zh
Publication of JP2017127176A publication Critical patent/JP2017127176A/ja
Application granted granted Critical
Publication of JP6665610B2 publication Critical patent/JP6665610B2/ja
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)

Abstract

【課題】電動モータを用いて所定部材(制御対象物)の位置を制御するモータ制御装置であって、位置偏差、速度偏差をより低減することが可能なモータ制御装置を提供する。【解決手段】速度フィードフォワード制御部は、入力された上位指令加速度を速度側加速度出力として出力する速度側加速度入力部と、入力された上位指令速度を速度側速度出力として出力する速度側速度入力部と、限定速度範囲を分割した複数の速度範囲の境界となる複数の境界速度に対応させて用意されて上位指令速度と対応する箇所より速度側境界速度出力を出力する複数の速度側境界速度入力部と、各入力部からの出力である速度側第1出力のそれぞれに対応する複数の速度側第1学習重みを速度偏差に応じて変更する速度側第1重み学習部と、速度側第1出力と速度側第1学習重みとを乗算した複数の速度側第1乗算値を加算して第2仮指令電流として出力する速度側出力部と、を有する。【選択図】図17

Description

本発明は、例えば工作機械やロボット等において、電動モータを用いて、テーブルやアーム等の所定部材(制御対象物)の位置を制御するモータ制御装置に関する。
例えば特許文献1には、モータの位置検出値を位置指令値に追従させる、モータによる位置制御装置が開示されている。当該位置制御装置は、速度規範指令値を出力する速度規範モデルと、速度規範指令値と実際の速度との偏差に応じて制御量(電流指令値)を求める速度制御器(速度フィードバック部)と、速度フィードフォワード出力信号を出力する速度フィードフォワード部と、を有している。さらに、当該位置制御装置は、位置規範指令値を出力する位置規範モデルと、位置規範指令値と実際の位置との偏差に応じて制御量(速度指令値)を求める位置制御器(位置フィードバック部)と、位置フィードフォワード出力信号を出力する位置フィードフォワード部と、を有している。なお、位置フィードフォワード部への入力は、位置規範モデルに入力される位置指令値が入力され、速度フィードフォワード部への入力は、速度規範モデルに入力される速度指令値が入力されている。
また例えば特許文献2には、制御対象に対して、位置指令により位置制御を行い、力指令により力制御を行う、組み込み知能コントローラが開示されている。また、位置制御系のファジィ・ニューラルネットワークと、力制御系のファジィ・ニューラルネットワークと、位置と力のハイブリッド/コンプライアンス制御により位置制御と力制御を連続的に切り換える切換部と、を備えている。
特開2009−303432号公報 特開2014−6566号公報
特許文献1に記載された位置制御装置は、制御対象のモデルである位置規範モデルと速度規範モデルが必要であり、静止摩擦等のモデル化が困難なシステムに適用することは非常に困難である。また、速度フィードフォワード部への入力が速度指令値であり、工作機械やロボット等の精度への影響が大きな位置偏差や速度偏差を効果的に低減できない可能性がある。
また特許文献2に記載された組み込み知能コントローラは、位置制御だけでなく力制御も必要とする産業用ロボットの組立作業等において、位置制御と力制御の切り換えをスムーズに行うためにファジィ・ニューラルネットワークを利用している。しかし、制御が複雑であり、工作機械のテーブルや、ロボットのアーム等の所定部材の位置をより高精度に制御する制御システムへの適用は困難である。
本発明は、このような点に鑑みて創案されたものであり、電動モータを用いて所定部材(制御対象物)の位置を制御するモータ制御装置であって、位置偏差、速度偏差をより低減することが可能なモータ制御装置を提供することを課題とする。
上記課題を解決するため、本発明に係るモータ制御装置は、次の手段をとる。まず、本発明の第1の発明は、制御対象物の位置を移動させる電動モータと、当該電動モータに関する位置を検出する位置検出手段と、を用いて前記制御対象物の位置を制御するモータ制御装置であって、前記電動モータに対する指令位置と、前記位置検出手段からの検出信号に基づいた実際の位置である実位置と、の偏差である位置偏差を演算する位置偏差演算部と、前記位置偏差に応じてフィードバック制御して第1仮指令速度を出力する位置フィードバック制御部と、前記電動モータに対する下位指令速度であって前記第1仮指令速度を含む前記下位指令速度と、前記位置検出手段からの検出信号に基づいた実際の速度である実速度と、の偏差である速度偏差を演算する速度偏差演算部と、前記速度偏差に応じてフィードバック制御して第1仮指令電流を出力する速度フィードバック制御部と、前記下位指令速度とは異なる速度である上位指令速度に応じてフィードフォワード制御して第2仮指令電流を出力する速度フィードフォワード制御部と、前記第1仮指令電流と前記第2仮指令電流とを加算して指令電流を出力する電流加算演算部と、前記指令電流に基づいて電動モータへの駆動電流を出力する電流出力部と、を有する。そして、前記速度フィードフォワード制御部は、上位指令加速度が入力され、入力された前記上位指令加速度を速度側加速度出力として出力する速度側加速度入力部と、前記上位指令速度が入力され、入力された前記上位指令速度を速度側速度出力として出力する速度側速度入力部と、前記上位指令速度の速度範囲に対して限定した限定速度範囲を、予め設定した隣り合う複数の速度範囲毎に分割し、分割したそれぞれの前記速度範囲の境界となる速度である複数の境界速度に対応させて用意され、前記上位指令速度が入力され、前記上位指令速度と対応する箇所より速度側境界速度出力を出力する複数の速度側境界速度入力部と、前記速度側加速度出力、前記速度側速度出力、複数の前記速度側境界速度出力、である速度側第1出力のそれぞれに対応する複数の速度側第1学習重みを、前記速度偏差に応じて変更する速度側第1重み学習部と、前記速度側第1出力のそれぞれと、当該速度側第1出力のそれぞれに対応する前記速度側第1学習重みと、を乗算した複数の速度側第1乗算値を加算して前記第2仮指令電流として出力する速度側出力部と、を有している、モータ制御装置である。
次に、本発明の第2の発明は、制御対象物の位置を移動させる電動モータと、当該電動モータに関する位置を検出する位置検出手段と、を用いて前記制御対象物の位置を制御するモータ制御装置であって、前記電動モータに対する指令位置と、前記位置検出手段からの検出信号に基づいた実際の位置である実位置と、の偏差である位置偏差を演算する位置偏差演算部と、前記位置偏差に応じてフィードバック制御して第1仮指令速度を出力する位置フィードバック制御部と、前記電動モータに対する下位指令速度であって前記第1仮指令速度を含む前記下位指令速度と、前記位置検出手段からの検出信号に基づいた実際の速度である実速度と、の偏差である速度偏差を演算する速度偏差演算部と、前記速度偏差に応じてフィードバック制御して第1仮指令電流を出力する速度フィードバック制御部と、前記下位指令速度とは異なる速度である上位指令速度に応じてフィードフォワード制御して第2仮指令電流を出力する速度フィードフォワード制御部と、前記第1仮指令電流と前記第2仮指令電流とを加算して指令電流を出力する電流加算演算部と、前記指令電流に基づいて電動モータへの駆動電流を出力する電流出力部と、を有する。そして、前記速度フィードフォワード制御部は、前記上位指令速度が入力され、入力された前記上位指令速度が正の場合に速度側正速度出力値を出力し、入力された前記上位指令速度が負の場合に速度側負速度出力値を出力する速度側正負速度発火部と、前記上位指令速度の速度範囲に対して限定した限定速度範囲を、予め設定した隣り合う複数の速度範囲毎に分割し、分割したそれぞれの前記速度範囲の境界となる速度である複数の境界速度を有し、前記上位指令速度が入力され、複数の前記境界速度のうち前記上位指令速度との速度差が所定速度差以内の前記境界速度から、前記速度差に基づいた速度側境界速度出力値を出力する速度側境界速度発火部と、上位指令加速度が入力され、入力された前記上位指令加速度を速度側加速度出力として出力する速度側加速度入力部と、前記速度側正速度出力値が入力され、入力された前記速度側正速度出力値を速度側正速度出力として出力する速度側正速度入力部と、前記速度側負速度出力値が入力され、入力された前記速度側負速度出力値を速度側負速度出力として出力する速度側負速度入力部と、複数の前記境界速度に対応させて用意され、前記速度側境界速度出力値が入力され、入力された前記速度側境界速度出力値を速度側境界速度出力として出力する複数の速度側境界速度入力部と、前記速度側加速度出力、前記速度側正速度出力、前記速度側負速度出力、複数の前記速度側境界速度出力、である速度側第1出力のそれぞれに対応する複数の速度側第1学習重みを、前記速度偏差に応じて変更する速度側第1重み学習部と、前記速度側第1出力のそれぞれと、当該速度側第1出力のそれぞれに対応する前記速度側第1学習重みと、を乗算した複数の速度側第1乗算値を加算して前記第2仮指令電流として出力する速度側出力部と、を有している、モータ制御装置である。
また、本発明の第3の発明は、上記第2の発明に係るモータ制御装置であって、前記上位指令速度に応じてフィードフォワード制御して第2仮指令速度を出力する位置フィードフォワード制御部と、前記第1仮指令速度と前記第2仮指令速度とを加算して前記下位指令速度を出力する速度加算演算部と、を有する。そして、前記位置フィードフォワード制御部は、前記上位指令速度が入力され、入力された前記上位指令速度が正の場合に位置側正速度出力値を出力し、入力された前記上位指令速度が負の場合に位置側負速度出力値を出力する位置側正負速度発火部と、複数の前記境界速度を有し、前記上位指令速度が入力され、複数の前記境界速度のうち前記上位指令速度との速度差が所定速度差以内の前記境界速度から、前記速度差に基づいた位置側境界速度出力値を出力する位置側境界速度発火部と、前記上位指令加速度が入力され、入力された前記上位指令加速度を位置側加速度出力として出力する位置側加速度入力部と、前記位置側正速度出力値が入力され、入力された前記位置側正速度出力値を位置側正速度出力として出力する位置側正速度入力部と、前記位置側負速度出力値が入力され、入力された前記位置側負速度出力値を位置側負速度出力として出力する位置側負速度入力部と、複数の前記境界速度に対応させて用意され、前記位置側境界速度出力値が入力され、入力された前記位置側境界速度出力値を位置側境界速度出力として出力する複数の位置側境界速度入力部と、前記位置側加速度出力、前記位置側正速度出力、前記位置側負速度出力、複数の前記位置側境界速度出力、である位置側第1出力のそれぞれに対応する複数の位置側第1学習重みを、前記位置偏差に応じて変更する位置側第1重み学習部と、前記位置側第1出力のそれぞれと、当該位置側第1出力のそれぞれに対応する前記位置側第1学習重みと、を乗算した複数の位置側第1乗算値を加算して前記第2仮指令速度として出力する位置側出力部と、を有している、モータ制御装置である。
また、本発明の第4の発明は、制御対象物の位置を移動させる電動モータと、当該電動モータに関する位置を検出する位置検出手段と、を用いて前記制御対象物の位置を制御するモータ制御装置であって、前記電動モータに対する指令位置と、前記位置検出手段からの検出信号に基づいた実際の位置である実位置と、の偏差である位置偏差を演算する位置偏差演算部と、前記位置偏差に応じてフィードバック制御して第1仮指令速度を出力する位置フィードバック制御部と、前記電動モータに対する下位指令速度であって前記第1仮指令速度を含む前記下位指令速度と、前記位置検出手段からの検出信号に基づいた実際の速度である実速度と、の偏差である速度偏差を演算する速度偏差演算部と、前記速度偏差に応じてフィードバック制御して第1仮指令電流を出力する速度フィードバック制御部と、前記下位指令速度とは異なる速度である上位指令速度に応じてフィードフォワード制御して第2仮指令電流を出力する速度フィードフォワード制御部と、前記第1仮指令電流と前記第2仮指令電流とを加算して指令電流を出力する電流加算演算部と、前記指令電流に基づいて電動モータへの駆動電流を出力する電流出力部と、を有する。そして、前記速度フィードフォワード制御部は、前記上位指令速度が入力され、入力された前記上位指令速度が正の場合に速度側正速度出力値を出力し、入力された前記上位指令速度が負の場合に速度側負速度出力値を出力する速度側正負速度発火部と、前記上位指令速度の速度範囲に対して限定した限定速度範囲を、予め設定した隣り合う複数の速度範囲毎に分割し、分割したそれぞれの前記速度範囲の境界となる速度である複数の境界速度を有し、前記上位指令速度が入力され、複数の前記境界速度のうち前記上位指令速度との速度差が所定速度差以内の前記境界速度から、前記速度差に基づいた速度側境界速度出力値を出力する速度側境界速度発火部と、上位指令加速度が入力され、入力された前記上位指令加速度を、予め用意された複数の速度側演算部のそれぞれに向けて速度側加速度出力として出力する速度側加速度入力部と、前記速度側正速度出力値が入力され、入力された前記速度側正速度出力値を、複数の前記速度側演算部のそれぞれに向けて速度側正速度出力として出力する速度側正速度入力部と、前記速度側負速度出力値が入力され、入力された前記速度側負速度出力値を、複数の前記速度側演算部のそれぞれに向けて速度側負速度出力として出力する速度側負速度入力部と、複数の前記境界速度に対応させて用意され、前記速度側境界速度出力値が入力され、入力された前記速度側境界速度出力値を、複数の前記速度側演算部のそれぞれに向けて速度側境界速度出力として出力する複数の速度側境界速度入力部と、複数の前記速度側加速度出力、複数の前記速度側正速度出力、複数の前記速度側負速度出力、複数の前記速度側境界速度出力、である速度側第1出力のそれぞれに対応する複数の速度側第1学習重みを、前記速度偏差に応じて変更する速度側第1重み学習部と、前記速度側第1出力のそれぞれと、当該速度側第1出力のそれぞれに対応する前記速度側第1学習重みと、を乗算した複数の速度側第1乗算値を加算して速度側第2出力として出力する複数の前記速度側演算部と、前記速度側第2出力のそれぞれに対応する複数の速度側第2学習重みを、前記速度偏差に応じて変更する速度側第2重み学習部と、前記速度側第2出力のそれぞれと、当該速度側第2出力のそれぞれに対応する前記速度側第2学習重みと、を乗算した複数の速度側第2乗算値を加算して前記第2仮指令電流として出力する速度側出力部と、を有している、モータ制御装置である。
また、本発明の第5の発明は、上記第4の発明に係るモータ制御装置であって、前記上位指令速度に応じてフィードフォワード制御して第2仮指令速度を出力する位置フィードフォワード制御部と、前記第1仮指令速度と前記第2仮指令速度とを加算して前記下位指令速度を出力する速度加算演算部と、を有する。そして、前記位置フィードフォワード制御部は、前記上位指令速度が入力され、入力された前記上位指令速度が正の場合に位置側正速度出力値を出力し、入力された前記上位指令速度が負の場合に位置側負速度出力値を出力する位置側正負速度発火部と、複数の前記境界速度を有し、前記上位指令速度が入力され、複数の前記境界速度のうち前記上位指令速度との速度差が所定速度差以内の前記境界速度から、前記速度差に基づいた位置側境界速度出力値を出力する位置側境界速度発火部と、前記上位指令加速度が入力され、入力された前記上位指令加速度を、予め用意された複数の位置側演算部のそれぞれに向けて位置側加速度出力として出力する位置側加速度入力部と、前記位置側正速度出力値が入力され、入力された前記位置側正速度出力値を、複数の前記位置側演算部のそれぞれに向けて位置側正速度出力として出力する位置側正速度入力部と、前記位置側負速度出力値が入力され、入力された前記位置側負速度出力値を、複数の前記位置側演算部のそれぞれに向けて位置側負速度出力として出力する位置側負速度入力部と、複数の前記境界速度に対応させて用意され、前記位置側境界速度出力値が入力され、入力された前記位置側境界速度出力値を、複数の前記位置側演算部のそれぞれに向けて位置側境界速度出力として出力する複数の位置側境界速度入力部と、複数の前記位置側加速度出力、複数の前記位置側正速度出力、複数の前記位置側負速度出力、複数の前記位置側境界速度出力、である位置側第1出力のそれぞれに対応する複数の位置側第1学習重みを、前記位置偏差に応じて変更する位置側第1重み学習部と、前記位置側第1出力のそれぞれと、当該位置側第1出力のそれぞれに対応する前記位置側第1学習重みと、を乗算した複数の位置側第1乗算値を加算して位置側第2出力として出力する複数の前記位置側演算部と、前記位置側第2出力のそれぞれに対応する複数の位置側第2学習重みを、前記位置偏差に応じて変更する位置側第2重み学習部と、前記位置側第2出力のそれぞれと、当該位置側第2出力のそれぞれに対応する前記位置側第2学習重みと、を乗算した複数の位置側第2乗算値を加算して前記第2仮指令速度として出力する位置側出力部と、を有している、モータ制御装置である。
また、本発明の第6の発明は、上記第1の発明〜第5の発明のいずれか1つに係るモータ制御装置であって、速度と、前記制御対象物の位置を移動させる際の摩擦を含む所定の物理現象と、の関係を示す速度・物理現象特性であって、非線形特性とみなされる前記限定速度範囲を、部分的に線形特性とみなすことが可能なそれぞれの前記速度範囲に分割し、分割したそれぞれの前記速度範囲の境界となる速度が、前記境界速度として設定されている、モータ制御装置である。
また、本発明の第7の発明は、上記第2の発明〜第5の発明のいずれか1つに係るモータ制御装置であって、前記速度側境界速度発火部は、予め設定された速度の幅を広がり幅とする所定の分布関数を有しており、入力された前記上位指令速度と前記境界速度との前記速度差だけ前記分布関数の中央から離れた速度に対応する分布確率を、前記分布関数を用いてそれぞれの前記境界速度に対して求め、求めた前記分布確率がゼロでない前記境界速度に対してのみ発火して、前記上位指令速度が正の場合は求めた前記分布確率に基づいた正の値を、前記上位指令速度が負の場合は求めた前記分布確率に基づいた負の値を、発火した前記境界速度に対応する前記速度側境界速度出力値として出力する、モータ制御装置である。
また、本発明の第8の発明は、上記第3の発明または第5の発明に係るモータ制御装置であって、前記位置側境界速度発火部は、予め設定された速度の幅を広がり幅とする所定の分布関数を有しており、入力された前記上位指令速度と前記境界速度との前記速度差だけ前記分布関数の中央から離れた速度に対応する分布確率を、前記分布関数を用いてそれぞれの前記境界速度に対して求め、求めた前記分布確率がゼロでない前記境界速度に対してのみ発火して、前記上位指令速度が正の場合は求めた前記分布確率に基づいた正の値を、前記上位指令速度が負の場合は求めた前記分布確率に基づいた負の値を、発火した前記境界速度に対応する前記位置側境界速度出力値として出力する、モータ制御装置である。
第1の発明では、複数の速度範囲毎に速度側境界速度入力部と、速度側第1学習重みを用意し、上位指令速度に対応する速度側境界速度入力部から出力する速度側境界速度出力に速度側第1学習重みを乗算し、それを速度フィードフォワード制御部の指令電流に反映させ、速度偏差が少なくなる方向に速度側第1学習重みを変更する学習を実行している。このように、上位指令速度と速度偏差に応じて、複数の速度範囲毎に速度側第1学習重みを変更しているので、あらゆる速度に対して速度偏差が少ないモータ制御装置を提供できる。
第2の発明では、複数の速度範囲毎に速度側境界速度発火部と、速度側境界速度入力部と、速度側第1学習重みを用意し、上位指令速度に対応する速度側境界速度発火部の複数の境界速度を発火させて複数の速度側境界速度入力部から速度側境界速度出力を出力させる。また各速度側境界速度出力は、上位指令速度と境界速度との速度差に応じた出力となり、複数の速度側境界速度出力にそれぞれ速度側第1学習重みを乗算し、これらの和を速度フィードフォワード制御部の指令電流として反映させ、速度偏差が少なくなる方向に速度側第1学習重みを変更する学習を実行している。このように、上位指令速度と速度偏差に応じて、複数の速度範囲毎に速度側第1学習重みを変更し、しかも1つの上位指令速度に対して複数の速度側境界速度出力を出力する。また各速度側境界速度出力は上位指令速度と境界速度との速度差に応じた出力であり、複数の速度側境界速度出力にそれぞれ速度側第1学習重みを乗算し、これらの和から得られる値は、第1の発明に比べて速度の連続性があり、あらゆる速度に対してより速度偏差が少ないモータ制御装置を提供できる。
第3の発明では、位置フィードフォワード制御部に、第2の発明の速度フィードフォワード制御部と同じ構成を適用し、上位指令速度と位置偏差に応じて、位置フィードフォワード制御部の位置側第1学習重みを学習するので、あらゆる速度に対してより速度偏差、位置偏差が少ないモータ制御装置を提供できる。
第2の発明の速度フィードフォワード制御部は、各入力部と、速度側第1重み学習部と、速度側出力部とを有するパーセプトロンであり、第4の発明の速度フィードフォワード制御部は、各入力部と、速度側第1重み学習部と、速度側演算部と、速度側第2重み学習部と、速度側出力部とを有するニューラルネットワークである。複数の入力部からの出力にそれぞれ重みを乗算し、それらの和の組み合わせパターンは、パーセプトロンに比べてニューラルネットワークの方が多彩であるので、第2の発明に比べて、あらゆる速度に対してより速度偏差が少ないモータ制御装置を提供できる。
第3の発明の位置フィードフォワード制御部は、各入力部と、位置側第1重み学習部と、位置側出力部とを有するパーセプトロンであり、第5の発明の位置フィードフォワード制御部は、各入力部と、位置側第1重み学習部と、位置側演算部と、位置側第2重み学習部と、位置側出力部とを有するニューラルネットワークである。複数の入力部からの出力にそれぞれ重みを乗算し、それらの和の組み合わせパターンは、パーセプトロンに比べてニューラルネットワークの方が多彩であるので、第3の発明に比べて、あらゆる速度に対してより速度偏差、位置偏差が少ないモータ制御装置を提供できる。
第6の発明では、複数の速度範囲を、摩擦を含む所定の物理現象が速度に対して非線形となる速度範囲に適用したので、摩擦を含む所定の物理現象の有無にも係わらず、速度偏差が少ないモータ制御装置を提供できる。
第7の発明によれば、上位指令速度に応じて位置が変化するとともに複数の速度範囲に跨る分布関数を使用し、各速度側境界速度出力は境界速度上の分布関数の値から求められているので、より速度の連続性があり、あらゆる速度に対してより速度偏差が少ないモータ制御装置を提供できる。
第8の発明によれば、上位指令速度に応じて位置が変化するとともに複数の速度範囲に跨る分布関数を使用し、各位置側境界速度出力は境界速度上の分布関数の値から求められているので、より速度の連続性があり、あらゆる速度に対してより速度偏差、位置偏差が少ないモータ制御装置を提供できる。
第1の実施の形態のモータ制御装置を適用したロボットの外観の例を説明する図である。 第1、第3の実施の形態のモータ制御装置の全体構成の例を説明する図である。 第1の実施の形態であって、図2における速度フィードフォワード制御部の内部構成を説明する概念図である。 静止摩擦特性と粘性摩擦特性を含む(合成)摩擦特性(全体としては非線形特性)の例と、境界速度の設定方法を説明する図である。 上位指令速度Vv>0かつ境界速度V11<上位指令速度Vv<境界速度V12の場合の例において、速度側正負速度発火部と速度側境界速度発火部からの発火状態の例を説明する図である。 上位指令速度Vv>0かつ境界速度V12<上位指令速度Vv<境界速度V13の場合の例において、速度側正負速度発火部と速度側境界速度発火部からの発火状態の例を説明する図である。 上位指令速度Vv<0かつ境界速度−V02<上位指令速度Vv<境界速度−V01の場合の例において、速度側正負速度発火部と速度側境界速度発火部からの発火状態の例を説明する図である。 上位指令速度Vv<0かつ境界速度−V03<上位指令速度Vv<境界速度−V02の場合の例において、速度側正負速度発火部と速度側境界速度発火部からの発火状態の例を説明する図である。 第1の実施の形態であって、図2における位置フィードフォワード制御部の内部構成を説明する概念図である。 上位指令速度Vp>0かつ境界速度V11<上位指令速度Vp<境界速度V12の場合の例において、位置側正負速度発火部と位置側境界速度発火部からの発火状態の例を説明する図である。 上位指令速度Vp<0かつ境界速度−V02<上位指令速度Vp<境界速度−V01の場合の例において、位置側正負速度発火部と位置側境界速度発火部からの発火状態の例を説明する図である。 従来の制御にて発生した位置偏差の例を説明する図である。 第1の実施の形態の制御にて発生した位置偏差の例(従来に対する本願の効果)を説明する図である。 第2、第4の実施の形態のモータ制御装置の全体構成の例を説明する図である。 第3の実施の形態であって、図2における速度フィードフォワード制御部の内部構成を説明する概念図である。 第3の実施の形態であって、図2における位置フィードフォワード制御部の内部構成を説明する概念図である。 第5、第6、第7の実施の形態であって、図14における速度フィードフォワード制御部の内部構成を説明する概念図である。 第5の実施の形態において、上位指令速度Vv>0かつ境界速度V12<上位指令速度Vv<境界速度V13の場合の例において、速度側境界速度入力部H[m]の発火状態の例を説明する図である。 第5の実施の形態において、上位指令速度Vv<0かつ境界速度−V03<上位指令速度Vv<境界速度−V02の場合の例において、速度側境界速度入力部H[m]の発火状態の例を説明する図である。 第6の実施の形態において、上位指令速度Vv>0かつ境界速度V12<上位指令速度Vv<境界速度V13の場合の例において、速度側境界速度入力部H[m]の発火状態の例を説明する図である。 第6の実施の形態において、上位指令速度Vv<0かつ境界速度−V03<上位指令速度Vv<境界速度−V02の場合の例において、速度側境界速度入力部H[m]の発火状態の例を説明する図である。 第7の実施の形態において、上位指令速度Vv>0かつ境界速度V12<上位指令速度Vv<境界速度V13の場合の例において、速度側境界速度入力部H[m]の発火状態の例を説明する図である。 第7の実施の形態において、上位指令速度Vv<0かつ境界速度−V03<上位指令速度Vv<境界速度−V02の場合の例において、速度側境界速度入力部H[m]の発火状態の例を説明する図である。
以下、本発明の実施の形態を、図面を用いて順に説明する。なおX軸、Y軸、Z軸が記載されている図では、X軸とY軸とZ軸は互いに直交している。
●●[第1の実施の形態(図1〜図11)]
第1の実施の形態のモータ制御装置92Uについて、図1に示すロボットを制御する制御装置を例として説明する。図1に示すロボットは、ベース91、第1旋回部92、第1揺動部93、第2旋回部94、第2揺動部95等を有している。
ベース91には、エンコーダ91E(角度検出手段であり、位置検出手段としても使用できる)を有する電動モータ91Mが設けられている。電動モータ91Mは、モータ制御装置91Uからの駆動電流に基づいて、ベース91に対して第1旋回部92を旋回させる。またモータ制御装置91Uは、エンコーダ91Eからの検出信号に基づいて、第1旋回部92の旋回角度θ1を検出する。
第1旋回部92には、エンコーダ92E(角度検出手段であり、位置検出手段としても使用できる)を有する電動モータ92Mが設けられている。電動モータ92Mは、モータ制御装置92Uからの駆動電流に基づいて、第1旋回部92に対して第1揺動部93を揺動させる。またモータ制御装置92Uは、エンコーダ92Eからの検出信号に基づいて、第1揺動部93の揺動角度θ2を検出する。
第1揺動部93には、エンコーダ93E(角度検出手段であり、位置検出手段としても使用できる)を有する電動モータ93Mが設けられている。電動モータ93Mは、モータ制御装置93Uからの駆動電流に基づいて、第1揺動部93に対して第2旋回部94を旋回させる。またモータ制御装置93Uは、エンコーダ93Eからの検出信号に基づいて、第2旋回部94の旋回角度θ3を検出する。
第2旋回部94には、エンコーダ94E(角度検出手段であり、位置検出手段としても使用できる)を有する電動モータ94Mが設けられている。電動モータ94Mは、モータ制御装置94Uからの駆動電流に基づいて、第2旋回部94に対して第2揺動部95を揺動させる。またモータ制御装置94Uは、エンコーダ94Eからの検出信号に基づいて、第2揺動部95の揺動角度θ4を検出する。
そして、ロボット制御装置60より、モータ制御装置91Uへθ1回りの指令位置が送信され、モータ制御装置92Uへθ2回りの指令位置が送信され、モータ制御装置93Uへθ3回りの指令位置が送信され、モータ制御装置94Uへθ4回りの指令位置が送信されるようになっている。
以下、電動モータ92Mを例として、電動モータ92Mを制御するモータ制御装置92Uについて、図2〜図11を用いて説明する。なお、電動モータ91M、93M、94Mのそれぞれを制御するモータ制御装置91U、93U、94Uも同様であり、これらについては説明を省略する。
●[電動モータ92Mを制御するモータ制御装置92Uの構成(図2)]
図2に示すように、電動モータ92Mを制御するモータ制御装置92Uは、指令位置10inと実位置27outが入力されて下位指令速度15outを出力する第1制御部41と、下位指令速度15outと指令位置10inと実位置27outが入力されて指令電流25outを出力する第2制御部42と、指令電流25outが入力されて電動モータ92Mを駆動する駆動電流31outを出力する電流出力部43と、を有している。なお、指令位置は、この場合、指令角度と同じであり、現在の位置(角度)は、エンコーダ92Eからの検出信号に基づいて検出される。
●[第1制御部41の構成(図2)]
第1制御部41は、位置偏差演算部10、位置フィードバック制御部11、位置側入力速度演算部12、位置側入力加速度演算部13、位置フィードフォワード制御部14、速度加算演算部15等を有している。
位置偏差演算部10は、電動モータ92Mに対する指令位置10in(この場合、指令(回転)角度)と、当該電動モータ92Mに関する位置(この場合、電動モータ92Mの出力軸の回転角度)の実際の位置である実位置27out(エンコーダ92Eからの検出信号に基づいた実際の位置)と、が入力され、指令位置10inと実位置27outの偏差である位置偏差10outを演算して出力する。なお、実位置27outは、エンコーダ92Eからの検出信号から求められる。なお、電動モータ92Mと第1揺動部93との間に、減速比aの減速機構が存在する場合は、制御対象物である第1揺動部93の指令位置にa倍した値が、電動モータ92Mの指令位置10inとなる。
位置フィードバック制御部11は、位置偏差10outが入力され、入力された位置偏差10outに応じてフィードバック制御して、第1仮指令速度11outを出力する。位置フィードバック制御部11は、いわゆるPID制御である比例項(P)、積分項(I)、微分項(D)、の少なくとも1つを有し、第1仮指令速度11outを出力する。なお、PID制御は既存の制御と同様であるので、詳細な説明は省略する。
位置側入力速度演算部12は、指令位置10inが(入力位置(この場合、回転角度)として)入力され、指令位置10inの時間に応じた変化に基づいた速度(この場合、回転角速度)である入力速度12out(位置側速度に相当)を出力する。
位置側入力加速度演算部13は、入力速度12outが入力され、入力速度12outの時間に応じた変化に基づいた加速度(この場合、回転角加速度)である入力加速度13out(位置側加速度に相当)を出力する。
位置フィードフォワード制御部14は、入力速度12out(位置側速度)、入力加速度13out(位置側加速度)、位置偏差10out、が入力され、これらの入力に応じてフィードフォワード制御して、第2仮指令速度14outを出力する。位置フィードフォワード制御部14は、重み学習機能付きネットワークで構成されており、詳細については後述する。
速度加算演算部15は、第1仮指令速度11outと第2仮指令速度14outが入力され、第1仮指令速度11outと第2仮指令速度14outを加算した下位指令速度15out(この場合、指令旋回角速度)を出力する。
●[第2制御部42の構成(図2)]
第2制御部42は、速度偏差演算部20、速度フィードバック制御部21、速度側入力速度演算部22、速度側入力加速度演算部23、速度フィードフォワード制御部24、電流加算演算部25、実速度演算部28等を有している。
速度偏差演算部20は、下位指令速度15outと、電動モータ92Mの出力軸の実際の速度(この場合、回転角速度)である実速度28out(エンコーダ92Eからの検出信号に基づいた実際の速度)と、が入力され、下位指令速度15outと実速度28outの偏差である速度偏差20outを演算して出力する。なお、実速度28outは、実速度演算部28によって、エンコーダ92Eからの検出信号に応じた実位置27out(この場合、実回転角)の時間に応じた変化から求められる。実速度演算部28は、実位置27outが入力され、実速度28outを出力する。
速度フィードバック制御部21は、速度偏差20outが入力され、入力された速度偏差20outに応じてフィードバック制御して、第1仮指令電流21outを出力する。速度フィードバック制御部21は、いわゆるPID制御である比例項(P)、積分項(I)、微分項(D)、の少なくとも1つを有し、第1仮指令電流21outを出力する。なお、PID制御は既存の制御と同様であるので、詳細な説明は省略する。
速度側入力速度演算部22は、指令位置10inが(入力位置(この場合、回転角度)として)入力され、指令位置10inの時間に応じた変化に基づいた速度(この場合、回転角速度)である入力速度22out(速度側速度に相当)を出力する。
速度側入力加速度演算部23は、入力速度22outが入力され、入力速度22outの時間に応じた変化に基づいた加速度(この場合、回転角加速度)である入力加速度23out(速度側加速度に相当)を出力する。
速度フィードフォワード制御部24は、入力速度22out(速度側速度)、入力加速度23out(速度側加速度)、速度偏差20out、が入力され、これらの入力に応じてフィードフォワード制御して、第2仮指令電流24outを出力する。速度フィードフォワード制御部24は、重み学習機能付きネットワークで構成されており、詳細については後述する。
電流加算演算部25は、第1仮指令電流21outと第2仮指令電流24outが入力され、第1仮指令電流21outと第2仮指令電流24outを加算した指令電流25outを出力する。
●[電流出力部43の構成(図2)]
電流出力部43は、電流偏差演算部30、電流フィードバック制御部31等を有している。
電流偏差演算部30は、指令電流25outと、実際に出力している電流である駆動電流31out(実電流)と、が入力され、指令電流25outと駆動電流31out(実電流)の偏差である電流偏差30outを演算して出力する。
電流フィードバック制御部31は、電流偏差30outが入力され、入力された電流偏差30outに応じてフィードバック制御して、電動モータ91Mを駆動する駆動電流31outを出力する。電流フィードバック制御部31は、いわゆるPID制御である比例項(P)、積分項(I)、微分項(D)、の少なくとも1つを有し、駆動電流31outを出力する。なお、PID制御は既存の制御と同様であるので、詳細な説明は省略する。
●[速度フィードフォワード制御部24の重み学習機能付きネットワークの構成(図3)]
次に図3を用いて、速度フィードフォワード制御部24内の重み学習機能付きネットワークについて説明する。速度フィードフォワード制御部24のほうが、位置フィードフォワード制御部14よりも位置偏差の低減への影響が大きいので、まず速度フィードフォワード制御部24を説明する。速度フィードフォワード制御部24は、入力処理部241と、単純パーセプトロン242と、を有している。入力処理部241は、速度側正負速度発火部24E、速度側境界速度発火部24F、を有している。単純パーセプトロン242は、入力層24A、速度側第1重み学習部24G、出力層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と記載する。
●[入力処理部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の値)を出力する。
速度側境界速度発火部24Fには、上位指令速度Vvが入力されている。速度側境界速度発火部24Fは、上位指令速度Vvの速度の範囲に対して限定した限定速度範囲を、予め設定した隣り合う複数の速度範囲毎に分割した際の、速度範囲毎の境界となる速度である複数の境界速度(−V0n〜V1n)を有している(図4参照)。そして速度側境界速度発火部24Fは、入力された上位指令速度Vvとの速度差が所定速度差以内の境界速度から、当該速度差に基づいた速度側境界速度出力値を出力する。なお、限定速度範囲、速度範囲、境界速度、速度側境界速度出力値については、図4〜図8を用いて説明する。
●[限定速度範囲と速度範囲と境界速度について(図4)]
次に図4を用いて、限定速度範囲と速度範囲と境界速度(−V0n〜V1n)について説明する。電動モータ92Mを用いて第1揺動部93(図1参照)を揺動させる場合、各部の摩擦(電動モータ92Mの内部の摩擦や、第1揺動部93と第1旋回部92との摩擦等)によって位置偏差が生ずる。そして摩擦力は、主に静止摩擦と粘性摩擦が合成された合成摩擦で表され、速度に応じて摩擦力は変化する。
図4は、電動モータ92Mに対する上位指令速度Vvの大きさと、制御対象物の位置を移動させる際の所定の物理現象(この場合、摩擦)と、の関係を示す速度・物理現象特性を示しており、横軸は速度(上位指令速度Vv)を示し、縦軸は摩擦力を示している。また図4中において一点鎖線にて示す特性は静止摩擦特性を示しており、二点鎖線にて示す特性は粘性摩擦特性を示し、太実線にて示す特性は静止摩擦特性と粘性摩擦特性とを合成した合成摩擦特性を示している。
速度が正の領域では、静止摩擦特性は速度がゼロの近傍から増加するに従って徐々に減少する特性を示し、粘性摩擦特性は速度がゼロの近傍から増加するに従って徐々に増加する特性を示している。そして速度が正の領域では、合成摩擦特性は、速度=V1n(所定正速度に相当)を境界として、速度がV1n以下の領域(かつ速度>0)では非線形特性とみなされ、速度がV1nより大きい領域では線形特性とみなすことができる。従って、速度が正の領域では、合成摩擦特性は全体としては非線形特性とみなされる。
速度が負の領域では、静止摩擦特性は速度がゼロの近傍から減少するに従って徐々に増加する特性を示し、粘性摩擦特性は速度がゼロの近傍から減少するに従って徐々に減少する特性を示している。そして速度が負の領域では、合成摩擦特性は、速度=−V0n(所定負速度に相当)を境界として、速度が−V0n以上の領域(かつ速度<0)では非線形特性とみなされ、速度が−V0n未満の領域では線形特性とみなすことができる。従って、速度が負の領域では、合成摩擦特性は全体としては非線形特性とみなされる。なお、図4の例は、速度がV1n以上の領域の合成摩擦特性の傾きよりも、速度が−V0n未満の領域の合成摩擦特性の傾きの方が、やや緩やかとなっている例を示している。また図4の例は、速度がV11からV15の領域の合成摩擦特性の曲率よりも、速度が−V05から−V01の領域の合成摩擦特性の曲率の方が、小さくなっている(曲がり具合が緩くなっている)例を示している。従って、図4の例に示すように、速度・摩擦力特性(合成摩擦特性)は、速度が正(>0)の領域と、速度が負(<0)の領域で、点対称にならない。なお状況によっては、速度・摩擦力特性(合成摩擦特性)が、速度が正の領域と、速度が負の領域とで点対称となる場合があり、この場合は、速度の正負を考慮しないで、全部正として扱ってもよい。
合成摩擦特性は全体としては非線形特性であるためモデル化が困難であり、従来のニューラルネットワークを用いた速度フィードフォワード制御では、適切に位置偏差を低減することができない。そこで本願では、非線形特性の合成摩擦特性を、線形特性とみなすことが可能な速度範囲毎に分割することで、速度範囲毎に線形特性とみなし、適切に位置偏差を低減することを可能としている。つまり、非線形特性の合成摩擦特性を、線形特性とみなすことが可能な速度範囲毎に分割し、分割した速度範囲毎(線形特性毎)に、後述する重み学習を行うことで、あらゆる速度において位置偏差を低減することを可能としている。
そこで、図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(ゼロ)に近い値に設定されている。
速度が負(<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の動作について説明する。
●[速度側正負速度発火部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(ゼロ)とみなす。
図5の例の場合、上位指令速度Vv>0であるので、速度側正負速度発火部24Eは、速度側正速度入力部K[2]に対応しているVv(>0)が発火して上位指令速度Vvを出力する。従って、速度側正速度入力部K[2]には、速度側正速度入力値として上位指令速度Vvが入力され、速度側正速度入力部K[2]は、入力された速度側正速度入力値を、速度側正速度出力として出力する。なお図5の例において、速度側正負速度発火部24Eにおける速度側負速度入力部K[3]に対応しているVv(<0)は発火しない。従って、速度側負速度入力部K[3]には、何も入力されず、速度側負速度入力部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の値に応じて、発火する境界速度の数が変わる。
図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が、隣り合う境界速度の中央となる値であることを意味している。
図6の例の場合、上位指令速度Vv>0であるので、速度側正負速度発火部24Eは、速度側正速度入力部K[2]に対応しているVv(>0)が発火して上位指令速度Vvを出力する。従って、速度側正速度入力部K[2]には、速度側正速度入力値として上位指令速度Vvが入力され、速度側正速度入力部K[2]は、入力された速度側正速度入力値を、速度側正速度出力として出力する。なお図6の例において、速度側正負速度発火部24Eにおける速度側負速度入力部K[3]に対応しているVv(<0)は発火しない。従って、速度側負速度入力部K[3]には、何も入力されず、速度側負速度入力部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]は何も出力しない。
図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(ゼロ)とみなす。
図7の例の場合、上位指令速度Vv<0であるので、速度側正負速度発火部24Eは、速度側負速度入力部K[3]に対応しているVv(<0)が発火して上位指令速度Vvを出力する。従って、速度側負速度入力部K[3]には、速度側負速度入力値として上位指令速度Vvが入力され、速度側負速度入力部K[3]は、入力された速度側負速度入力値を、速度側負速度出力として出力する。なお図7の例において、速度側正負速度発火部24Eにおける速度側正速度入力部K[2]に対応しているVv(>0)は発火しない。従って、速度側正速度入力部K[2]には、何も入力されず、速度側正速度入力部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の値に応じて、発火する境界速度の数が変わる。
図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(ゼロ)である。
図8の例の場合、上位指令速度Vv<0であるので、速度側正負速度発火部24Eは、速度側負速度入力部K[3]に対応しているVv(<0)が発火して上位指令速度Vvを出力する。従って、速度側負速度入力部K[3]には、速度側負速度入力値として上位指令速度Vvが入力され、速度側負速度入力部K[3]は、入力された速度側負速度入力値を、速度側負速度出力として出力する。なお図8の例において、速度側正負速度発火部24Eにおける速度側正速度入力部K[2]に対応しているVv(>0)は発火しない。従って、速度側正速度入力部K[2]には、何も入力されず、速度側正速度入力部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]は何も出力しない。
●[単純パーセプトロン242における入力層24Aについて(図3)]
図3に示すように、重み学習機能付きネットワークの単純パーセプトロン242における入力層24Aは、速度側加速度入力部K[1]、速度側正速度入力部K[2]、速度側負速度入力部K[3]、速度側境界速度入力部K[4]〜K[j+n]、を有している。
速度側加速度入力部K[1]は、上位指令加速度αvが入力され、入力された上位指令加速度αvを、速度側加速度出力として出力する。
速度側正速度入力部K[2]は、上述したように、速度側正負速度発火部24EのVv(>0)が発火した場合に、上位指令速度Vvである速度側正速度出力値が入力され、入力された速度側正速度出力値を、速度側正速度出力として出力する。また速度側負速度入力部K[3]は、上述したように、速度側正負速度発火部24EのVv(<0)が発火した場合に、上位指令速度Vvである速度側負速度出力値が入力され、入力された速度側負速度出力値を、速度側負速度出力として出力する。
速度側境界速度入力部K[4]〜K[j+n]は、複数の境界速度−V0n〜V1nに対応させて用意されている。そして速度側境界速度入力部K[4]〜K[j+n]は、上述したように、速度側境界速度発火部24Fにおいて発火した境界速度から速度側境界速度出力値が入力され、入力された速度側境界速度出力値を、速度側境界速度出力として出力する。そして、各入力部K[1]〜K[j+n]から出力される速度側加速度出力、速度側正速度出力、速度側負速度出力、速度側境界速度出力を、まとめて速度側第1出力24L1とする。
●[単純パーセプトロン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]のそれぞれを乗算する乗算機能を有している。
速度側第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]については学習しない。
そして速度側第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]を出力する。
●[単純パーセプトロン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乗算値。
●[位置フィードフォワード制御部14の重み学習機能付きネットワークの構成(図9)]
次に図9を用いて、位置フィードフォワード制御部14内の重み学習機能付きネットワークについて説明する。速度フィードフォワード制御部24と同様に、位置フィードフォワード制御部14は、入力処理部141と、単純パーセプトロン142と、を有している。入力処理部141は、位置側正負速度発火部14E、位置側境界速度発火部14F、を有している。単純パーセプトロン142は、入力層14A、位置側第1重み学習部14G、出力層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と記載する。
●[入力処理部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の値)を出力する。
位置側境界速度発火部14Fには、上位指令速度Vpが入力されている。位置側境界速度発火部14Fは、上位指令速度Vpの速度の範囲に対して限定した限定速度範囲を、予め設定した隣り合う複数の速度範囲毎に分割した際の、速度範囲毎の境界となる速度である複数の境界速度(−V0n〜V1n)を有している(図4参照)。そして位置側境界速度発火部14Fは、入力された上位指令速度Vpとの速度差が所定速度差以内の境界速度から、当該速度差に基づいた位置側境界速度出力値を出力する。なお、限定速度範囲、速度範囲、境界速度、速度側境界速度出力値については、すでに図4〜図8を用いて説明した内容と同じであるので、説明を省略する。
図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]は何も出力しない。
また図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の値に応じて、発火する境界速度の数が変わる。
図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]は何も出力しない。
また図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の値に応じて、発火する境界速度の数が変わる。
●[単純パーセプトロン142における入力層14Aについて(図9)]
図9に示すように、重み学習機能付きネットワークの単純パーセプトロン142における入力層14Aは、位置側加速度入力部J[1]、位置側正速度入力部J[2]、位置側負速度入力部J[3]、位置側境界速度入力部J[4]〜J[j+n]、を有している。
位置側加速度入力部J[1]は、上位指令加速度αpが入力され、入力された上位指令加速度αpを、位置側加速度出力として出力する。
位置側正速度入力部J[2]は、上述したように、位置側正負速度発火部14EのVp(>0)が発火した場合に、上位指令速度Vpである位置側正速度出力値が入力され、入力された位置側正速度出力値を、位置側正速度出力として出力する。また位置側負速度入力部J[3]は、上述したように、位置側正負速度発火部14EのVp(<0)が発火した場合に、上位指令速度Vpである位置側負速度出力値が入力され、入力された位置側負速度出力値を、位置側負速度出力として出力する。
位置側境界速度入力部J[4]〜J[j+n]は、複数の境界速度−V0n〜V1nに対応させて用意されている。そして位置側境界速度入力部J[4]〜J[j+n]は、上述したように、位置側境界速度発火部14Fにおいて発火した境界速度から位置側境界速度出力値が入力され、入力された位置側境界速度出力値を、位置側境界速度出力として出力する。そして、各入力部J[1]〜J[j+n]から出力される位置側加速度出力、位置側正速度出力、位置側負速度出力、位置側境界速度出力を、まとめて位置側第1出力14L1とする。
●[単純パーセプトロン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]のそれぞれを乗算する乗算機能を有している。
位置側第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]については学習しない。
そして位置側第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]を出力する。
●[単純パーセプトロン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乗算値。
以上、第1の実施の形態では、全体としては非線形特性を有する特性を、線形特性とみなすことが可能となる複数の領域(この場合、速度範囲毎の領域)に分割し、入力された物理量(この場合、上位指令速度Vv、上位指令速度Vp)に応じた領域を用いて演算することで、位置偏差をより低減することができる。なお図12は、上記の領域分割を行わない従来の制御、かつ重み(速度側第1学習重み、位置側第1学習重み)を学習しなかった場合、における位置偏差(誤差)の発生状態の例を示している。また図13は、本第1の実施の形態の制御(上記の領域分割あり、かつ速度側第1学習重み、位置側第1学習重み、の学習あり)を行った場合、における位置偏差の発生状態の例を示している。どちらも横軸は時間であり、縦軸はエンコーダと指令位置との偏差(誤差)を示している。図12と図13を比較すれば明らかなように、本第1の実施の形態の制御では、従来と比較して、位置偏差(誤差)を大幅に低減することができる。
●●[第2の実施の形態(図14)]
次に図14を用いて、モータ制御装置92Uの第2の実施の形態について説明する。図14に示す第2の実施の形態のモータ制御装置は、図2に示す第1の実施の形態のモータ制御装置に対して、位置フィードフォワード制御部14、位置側入力速度演算部12、位置側入力加速度演算部13、速度加算演算部15、が省略されている点が異なり、他は同じである。以下、相違点について主に説明する。なお、位置フィードバック制御部11から出力される第1仮指令速度11outは、そのまま下位指令速度15outとなって速度偏差演算部20に入力される。
図14に示す第2の実施の形態のモータ制御装置では、図2に示す第1の実施の形態のモータ制御装置における位置フィードフォワード制御部14と、位置フィードフォワード制御部14への入力(位置側入力速度演算部12、位置側入力加速度演算部13)と出力(速度加算演算部15)が省略されている。従って、第2の実施の形態のモータ制御装置による制御のほうが、第1の実施の形態のモータ制御装置による制御よりも若干、位置偏差が増える。しかし、発明者の実験の結果、位置フィードフォワード制御部による位置偏差の低減よりも、速度フィードフォワード制御部による位置偏差の低減のほうが支配的であることがわかり、例えば図1の例に示すロボットの制御であれば、位置フィードフォワード制御部を省略しても、位置偏差を充分低減できていることがわかった。つまり、例えばロボットの制御であれば、位置フィードフォワード制御部(及び位置フィードフォワード制御部への入出力部)を省略しても、期待するレベルまで位置偏差を低減させることができる。この場合、モータ制御装置の処理負荷を軽減することができる。
●●[第3の実施の形態(図15、図16)]
次に、モータ制御装置92Uの第3の実施の形態について説明する。第3の実施の形態では、モータ制御装置の全体構成は第1の実施の形態と同じく図2に示すものであるが、速度フィードフォワード制御部24の内部構成は図15に示すものであり、位置フィードフォワード制御部14の内部構成は図16に示すものである点が異なる。
●[速度フィードフォワード制御部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つに限定されるものではない。
●[ニューラルネットワーク243における入力層24Aについて(図15)]
図15に示すように、ニューラルネットワーク243における入力層24Aは、速度側加速度入力部K[1]、速度側正速度入力部K[2]、速度側負速度入力部K[3]、速度側境界速度入力部K[4]〜K[j+n]、を有している点は第1の実施の形態(図3参照)と同じである。ただし、各入力部からの出力が第1の実施の形態とは異なる。
速度側加速度入力部K[1]は、上位指令加速度αvが入力され、入力された上位指令加速度αvを、予め用意された複数の速度側演算部N[1]〜N[3]のそれぞれに向けて速度側加速度出力として出力する。
速度側正速度入力部K[2]は、速度側正負速度発火部24EのVv(>0)が発火した場合に、上位指令速度Vvである速度側正速度出力値が入力され、入力された速度側正速度出力値を、予め用意された複数の速度側演算部N[1]〜N[3]のそれぞれに向けて速度側正速度出力として出力する。また速度側負速度入力部K[3]は、速度側正負速度発火部24EのVv(<0)が発火した場合に、上位指令速度Vvである速度側負速度出力値が入力され、入力された速度側負速度出力値を、予め用意された複数の速度側演算部N[1]〜N[3]のそれぞれに向けて速度側負速度出力として出力する。
速度側境界速度入力部K[4]〜K[j+n]は、複数の境界速度−V0n〜V1nに対応させて用意されている。そして速度側境界速度入力部K[4]〜K[j+n]は、速度側境界速度発火部24Fにおいて発火した境界速度から速度側境界速度出力値が入力され、入力された速度側境界速度出力値を、予め用意された複数の速度側演算部N[1]〜N[3]のそれぞれに向けて速度側境界速度出力として出力する。そして、各入力部K[1]〜K[j+n]から出力される速度側加速度出力、速度側正速度出力、速度側負速度出力、速度側境界速度出力を、まとめて速度側第1出力24L1とする。
●[ニューラルネットワーク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]が対応付けられている。
同様に、速度側加速度入力部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]が対応付けられている。
同様に、速度側加速度入力部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]が対応付けられている。
速度側第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学習重みを乗算する乗算機能を有している。
速度側第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学習重みについては学習しない。
そして速度側第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]を出力する。
●[ニューラルネットワーク243における中間層24Bについて(図15)]
中間層24Bは、速度側演算部N[1]〜N[3]を有している。なお、速度側演算部の数は3つに限定されるものではない。
速度側演算部N[1]は、各入力部K[1]〜K[j+n]から自身(速度側演算部N[1])に向けて出力された速度側第1出力のそれぞれと、当該速度側第1出力のそれぞれに対応する速度側第1学習重み(U[s][1])と、を乗算した複数の速度側第1乗算値を加算して速度側第2出力として出力層24Cに向けて出力する。
速度側演算部N[2]は、各入力部K[1]〜K[j+n]から自身(速度側演算部N[2])に向けて出力された速度側第1出力のそれぞれと、当該速度側第1出力のそれぞれに対応する速度側第1学習重み(U[s][2])と、を乗算した複数の速度側第1乗算値を加算して速度側第2出力として出力層24Cに向けて出力する。
速度側演算部N[3]は、各入力部K[1]〜K[j+n]から自身(速度側演算部N[3])に向けて出力された速度側第1出力のそれぞれと、当該速度側第1出力のそれぞれに対応する速度側第1学習重み(U[s][3])と、を乗算した複数の速度側第1乗算値を加算して速度側第2出力として出力層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]のそれぞれを乗算する乗算機能を有している。
速度側第2重み学習部24Hは、速度偏差20outに応じて、速度側第2学習重みY[1]〜Y[3]の各値が、所定の評価関数に対して最適値に近づくように変更(学習)する。例えば速度側第2重み学習部24Hは、横軸が速度側第2学習重み、縦軸が速度偏差の2乗となる評価関数を用いて、速度偏差の2乗が小さくなるように、速度側第2学習重みの値を変更(学習)する。なお評価関数は、重み毎に用意されている。
そして速度側第2重み学習部24Hは、入力された速度側第2出力24L2のそれぞれに、対応する速度側第2学習重みY[1]〜Y[3]を乗算した速度側第2乗算値24M2を出力する。
●[ニューラルネットワーク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乗算値。
●[位置フィードフォワード制御部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つに限定されるものではない。
●[ニューラルネットワーク143における入力層14Aについて(図16)]
図16に示すように、ニューラルネットワーク143における入力層14Aは、位置側加速度入力部J[1]、位置側正速度入力部J[2]、位置側負速度入力部J[3]、位置側境界速度入力部J[4]〜J[j+n]、を有している点は第1の実施の形態(図9参照)と同じである。ただし、各入力部からの出力が第1の実施の形態とは異なる。
位置側加速度入力部J[1]は、上位指令加速度αpが入力され、入力された上位指令加速度αpを、予め用意された複数の位置側演算部M[1]〜M[3]のそれぞれに向けて位置側加速度出力として出力する。
位置側正速度入力部J[2]は、位置側正負速度発火部14EのVp(>0)が発火した場合に、上位指令速度Vpである位置側正速度出力値が入力され、入力された位置側正速度出力値を、予め用意された複数の位置側演算部M[1]〜M[3]のそれぞれに向けて位置側正速度出力として出力する。また位置側負速度入力部J[3]は、位置側正負速度発火部14EのVp(<0)が発火した場合に、上位指令速度Vpである位置側負速度出力値が入力され、入力された位置側負速度出力値を、予め用意された複数の位置側演算部M[1]〜M[3]のそれぞれに向けて位置側負速度出力として出力する。
位置側境界速度入力部J[4]〜J[j+n]は、複数の境界速度−V0n〜V1nに対応させて用意されている。そして位置側境界速度入力部J[4]〜J[j+n]は、位置側境界速度発火部14Fにおいて発火した境界速度から位置側境界速度出力値が入力され、入力された位置側境界速度出力値を、予め用意された複数の位置側演算部M[1]〜M[3]のそれぞれに向けて位置側境界速度出力として出力する。そして、各入力部J[1]〜J[j+n]から出力される位置側加速度出力、位置側正速度出力、位置側負速度出力、位置側境界速度出力を、まとめて位置側第1出力14L1とする。
●[ニューラルネットワーク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]が対応付けられている。
同様に、位置側加速度入力部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]が対応付けられている。
同様に、位置側加速度入力部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]が対応付けられている。
位置側第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学習重みを乗算する乗算機能を有している。
位置側第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学習重みについては学習しない。
そして位置側第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]を出力する。
●[ニューラルネットワーク143における中間層14Bについて(図16)]
中間層14Bは、位置側演算部M[1]〜M[3]を有している。なお、位置側演算部の数は3つに限定されるものではない。
位置側演算部M[1]は、各入力部J[1]〜J[j+n]から自身(位置側演算部M[1])に向けて出力された位置側第1出力のそれぞれと、当該位置側第1出力のそれぞれに対応する位置側第1学習重み(W[s][1])と、を乗算した複数の位置側第1乗算値を加算して位置側第2出力として出力層14Cに向けて出力する。
位置側演算部M[2]は、各入力部J[1]〜J[j+n]から自身(位置側演算部M[2])に向けて出力された位置側第1出力のそれぞれと、当該位置側第1出力のそれぞれに対応する位置側第1学習重み(W[s][2])と、を乗算した複数の位置側第1乗算値を加算して位置側第2出力として出力層14Cに向けて出力する。
位置側演算部M[3]は、各入力部J[1]〜J[j+n]から自身(位置側演算部M[3])に向けて出力された位置側第1出力のそれぞれと、当該位置側第1出力のそれぞれに対応する位置側第1学習重み(W[s][3])と、を乗算した複数の位置側第1乗算値を加算して位置側第2出力として出力層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]のそれぞれを乗算する乗算機能を有している。
位置側第2重み学習部14Hは、位置偏差10outに応じて、位置側第2学習重みX[1]〜X[3]の各値が、所定の評価関数に対して最適値に近づくように変更(学習)する。例えば位置側第2重み学習部14Hは、横軸が位置側第2学習重み、縦軸が位置偏差の2乗となる評価関数を用いて、位置偏差の2乗が小さくなるように、位置側第2学習重みの値を変更(学習)する。なお評価関数は、重み毎に用意されている。
そして位置側第2重み学習部14Hは、入力された位置側第2出力14L2のそれぞれに、対応する位置側第2学習重みX[1]〜X[3]を乗算した位置側第2乗算値14M2を出力する。
●[ニューラルネットワーク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乗算値。
以上、第3の実施の形態は、第1の実施の形態に対して、中間層24B、中間層14B、速度側第2重み学習部24H、位置側第2重み学習部14Hが追加されているとともに、速度側第1重み学習部24G及び位置側第1重み学習部14Gの重みの数が増加されてパーセプトロンからニューラルネットワークに変わっており、複数の入力部からの出力にそれぞれ重みを乗算し、それらの和の組み合わせパターンは、パーセプトロンに比べてニューラルネットワークの方が多彩であるので、第1の実施の形態よりも、速度偏差、位置偏差をより低減することができる。
●●[第4の実施の形態(図14)]
次に、モータ制御装置92Uの第4の実施の形態について説明する。第4の実施の形態のモータ制御装置は、図14に示すように、図2に示す第3の実施の形態のモータ制御装置に対して、位置フィードフォワード制御部14、位置側入力速度演算部12、位置側入力加速度演算部13、速度加算演算部15、が省略されている点が異なり、他は同じである。以下、相違点について主に説明する。なお、位置フィードバック制御部11から出力される第1仮指令速度11outは、そのまま下位指令速度15outとなって速度偏差演算部20に入力される。
図14に示す第4の実施の形態のモータ制御装置では、図2に示す第3の実施の形態のモータ制御装置における位置フィードフォワード制御部14と、位置フィードフォワード制御部14への入力(位置側入力速度演算部12、位置側入力加速度演算部13)と出力(速度加算演算部15)が省略されている。従って、第4の実施の形態のモータ制御装置による制御のほうが、第3の実施の形態のモータ制御装置による制御よりも若干、位置偏差が増える。しかし、発明者の実験の結果、位置フィードフォワード制御部による位置偏差の低減よりも、速度フィードフォワード制御部による位置偏差の低減のほうが支配的であることがわかり、例えば図1の例に示すロボットの制御であれば、位置フィードフォワード制御部を省略しても、位置偏差を充分低減できていることがわかった。つまり、例えばロボットの制御であれば、位置フィードフォワード制御部(及び位置フィードフォワード制御部への入出力部)を省略しても、期待するレベルまで位置偏差を低減させることができる。この場合、モータ制御装置の処理負荷を軽減することができる。
●●[第5の実施の形態(図14、図17〜図19)]
次に、モータ制御装置92Uの第5の実施の形態について説明する。第5の実施の形態のモータ制御装置は、図14及び図3に示す第2の実施の形態のモータ制御装置に対して、速度フィードフォワード制御部24の内部構成が、図3に示す構成から図17に示す構成に変更されている点が異なる。また第5の実施の形態では、速度フィードフォワード制御部24の内部構成における速度側境界速度入力部の機能が、第2の実施の形態とは異なる。特に、入力された上位指令速度Vvに対する発火状態が、図18及び図19の例に示すように、図5〜図8の例に示す第2の実施の形態とは異なっている。
●[速度フィードフォワード制御部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]に変更されている点が相違している。以下、相違点について主に説明する。
●[単純パーセプトロン242Aにおける入力層24AAについて(図17)]
図17に示すように、単純パーセプトロン242Aの入力層24AAは、速度側加速度入力部H[1]、速度側速度入力部H[2]、速度側境界速度入力部H[4]〜H[j+(n−1)]、を有している。
速度側加速度入力部H[1]は、上位指令加速度αvが入力され、入力された上位指令加速度αvを、速度側加速度出力として出力する。速度側加速度入力部H[1]の機能は、第1及び第2の実施の形態における速度側加速度入力部K[1]の機能と同じである。
速度側速度入力部H[2]は、上位指令速度Vvが入力され、入力された上位指令速度Vvを、速度側速度出力として出力する。速度側速度入力部H[2]は、第1及び第2の実施の形態の速度側正速度入力部K[2]と速度側負速度入力部K[3]に対して、速度が正の場合と負の場合とで区別されていない点が異なる。
速度側境界速度入力部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では省略されている)の速度範囲に対応している。
●[単純パーセプトロン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)を含む(黒丸にて表示)。
図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)]のそれぞれは、速度側境界速度出力を出力するか否かを判断する機能と、速度側境界速度出力の値を演算する機能と、を有している。
また図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)を含まない(白丸にて表示)。
図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)]のそれぞれは、速度側境界速度出力を出力するか否かを判断する機能と、速度側境界速度出力の値を演算する機能と、を有している。
第5の実施の形態のモータ制御装置の単純パーセプトロン242A(図17参照)では、第2の実施の形態のモータ制御装置の単純パーセプトロン242(図3参照)における入力処理部241の機能を入力層24AAに統合して入力処理部241を省略している。また、第2の実施の形態の速度側正速度入力部K[2]と速度側負速度入力部K[3]を、速度側速度入力部H[2]に統合している。従って、第5の実施の形態のモータ制御装置は、第2の実施の形態のモータ制御装置と比較して、構成が簡略化されており、処理負荷が軽減されている。第2の実施の形態は、複数の境界速度発火部を発火させることで、複数の境界速度入力部から複数の境界速度出力値を出力することができ、速度の連続性があり、あらゆる速度に対して速度偏差が少ない。これに対し、第5の実施の形態は、1つの境界速度入力部から1つの境界速度出力値を出力することしかできないので、速度の不連続性が生じ、構成が簡単になる反面、速度偏差がやや悪くなりやすい。
●●[第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に置き換えられている点が異なる)。以下、相違点について主に説明する。
●[単純パーセプトロン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)を含まない(白丸にて表示)。
図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)]のそれぞれは、速度側境界速度出力を出力するか否かを判断する機能と、速度側境界速度出力の値を演算する機能と、を有している。
また図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)を含む(黒丸にて表示)。
図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)]のそれぞれは、速度側境界速度出力を出力するか否かを判断する機能と、速度側境界速度出力の値を演算する機能と、を有している。
第6の実施の形態のモータ制御装置の単純パーセプトロン242A(図17参照)では、第5の実施の形態と同様に、第2の実施の形態のモータ制御装置の単純パーセプトロン242(図3参照)における入力処理部241の機能を入力層24AAに統合して入力処理部241を省略している。また、第2の実施の形態の速度側正速度入力部K[2]と速度側負速度入力部K[3]を、速度側速度入力部H[2]に統合している。従って、第6の実施の形態のモータ制御装置は、第5の実施の形態と同様、第2の実施の形態のモータ制御装置と比較して、構成が簡略化されており、処理負荷が軽減されている。また第6の実施の形態は、第5の実施の形態と同様に、1つの境界速度入力部から1つの境界速度出力値を出力することしかできないので、速度の不連続性が生じ、構成が簡単になる反面、速度偏差がやや悪くなりやすい。
●●[第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に置き換えられている点が異なる)。以下、相違点について主に説明する。
●[単純パーセプトロン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)を含む(黒丸にて表示)。
図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)]のそれぞれは、速度側境界速度出力を出力するか否かを判断する機能と、速度側境界速度出力の値を演算する機能と、を有している。
また図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)を含まない(白丸にて表示)。
図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)]のそれぞれは、速度側境界速度出力を出力するか否かを判断する機能と、速度側境界速度出力の値を演算する機能と、を有している。
第7の実施の形態のモータ制御装置の単純パーセプトロン242A(図17参照)では、第5の実施の形態と同様に、第2の実施の形態のモータ制御装置の単純パーセプトロン242(図3参照)における入力処理部241の機能を入力層24AAに統合して入力処理部241を省略している。また、第2の実施の形態の速度側正速度入力部K[2]と速度側負速度入力部K[3]を、速度側速度入力部H[2]に統合している。従って、第7の実施の形態のモータ制御装置は、第5の実施の形態と同様、第2の実施の形態のモータ制御装置と比較して、構成が簡略化されており、処理負荷が軽減されている。また第7の実施の形態は、第5の実施の形態と同様に、1つの境界速度入力部から1つの境界速度出力値を出力することしかできないので、速度の不連続性が生じ、構成が簡単になる反面、速度偏差がやや悪くなりやすい。
本発明のモータ制御装置92Uは、本実施の形態にて説明した構成や、速度フィードフォワード制御部の構成や、位置フィードフォワード制御部の構成等に限定されるものではなく、本発明の要旨を変更しない範囲で種々の変更、追加、削除が可能である。
本実施の形態の説明では、上位指令速度Vv(上位指令速度Vp)を速度側入力速度演算部22(位置側入力速度演算部12)から指令位置を元に出力したが、他の実施の形態として、ロボット制御装置60より直接出力してもよい。また、本実施の形態の説明では、上位指令加速度αv(上位指令加速度αp)を速度側入力加速度演算部23(位置側入力加速度演算部13)から上位指令速度Vv(上位指令速度Vp)を元に出力したが、他の実施の形態として、ロボット制御装置60より直接出力してもよい。
本実施の形態の説明では、速度側境界速度発火部24F、位置側境界速度発火部14Fにて、所定の分布関数として正規分布関数を用いる例を説明した。しかし、分布関数を用いる場合、正規分布関数に限定されず、種々の分布関数を用いることができる。同様に、第5〜第7の実施の形態にて説明した関数A、B、Cも、第5〜第7の実施の形態にて説明した関数A、B、Cに限定されず、種々の関数を用いることができる。
本実施の形態にて説明したモータ制御装置は、ロボットに限定されず、種々の機器における所定部材の位置を制御するモータ制御装置に適用することが可能である。
また、以上(≧)、以下(≦)、より大きい(>)、未満(<)等は、等号を含んでも含まなくてもよい。
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 上位指令加速度

Claims (8)

  1. 制御対象物の位置を移動させる電動モータと、当該電動モータに関する位置を検出する位置検出手段と、を用いて前記制御対象物の位置を制御するモータ制御装置であって、
    前記電動モータに対する指令位置と、前記位置検出手段からの検出信号に基づいた実際の位置である実位置と、の偏差である位置偏差を演算する位置偏差演算部と、
    前記位置偏差に応じてフィードバック制御して第1仮指令速度を出力する位置フィードバック制御部と、
    前記電動モータに対する下位指令速度であって前記第1仮指令速度を含む前記下位指令速度と、前記位置検出手段からの検出信号に基づいた実際の速度である実速度と、の偏差である速度偏差を演算する速度偏差演算部と、
    前記速度偏差に応じてフィードバック制御して第1仮指令電流を出力する速度フィードバック制御部と、
    前記下位指令速度とは異なる速度である上位指令速度に応じてフィードフォワード制御して第2仮指令電流を出力する速度フィードフォワード制御部と、
    前記第1仮指令電流と前記第2仮指令電流とを加算して指令電流を出力する電流加算演算部と、
    前記指令電流に基づいて電動モータへの駆動電流を出力する電流出力部と、を有し、
    前記速度フィードフォワード制御部は、
    上位指令加速度が入力され、入力された前記上位指令加速度を速度側加速度出力として出力する速度側加速度入力部と、
    前記上位指令速度が入力され、入力された前記上位指令速度を速度側速度出力として出力する速度側速度入力部と、
    前記上位指令速度の速度範囲に対して限定した限定速度範囲を、予め設定した隣り合う複数の速度範囲毎に分割し、分割したそれぞれの前記速度範囲の境界となる速度である複数の境界速度に対応させて用意され、前記上位指令速度が入力され、前記上位指令速度と対応する箇所より速度側境界速度出力を出力する複数の速度側境界速度入力部と、
    前記速度側加速度出力、前記速度側速度出力、複数の前記速度側境界速度出力、である速度側第1出力のそれぞれに対応する複数の速度側第1学習重みを、前記速度偏差に応じて変更する速度側第1重み学習部と、
    前記速度側第1出力のそれぞれと、当該速度側第1出力のそれぞれに対応する前記速度側第1学習重みと、を乗算した複数の速度側第1乗算値を加算して前記第2仮指令電流として出力する速度側出力部と、を有している、
    モータ制御装置。
  2. 制御対象物の位置を移動させる電動モータと、当該電動モータに関する位置を検出する位置検出手段と、を用いて前記制御対象物の位置を制御するモータ制御装置であって、
    前記電動モータに対する指令位置と、前記位置検出手段からの検出信号に基づいた実際の位置である実位置と、の偏差である位置偏差を演算する位置偏差演算部と、
    前記位置偏差に応じてフィードバック制御して第1仮指令速度を出力する位置フィードバック制御部と、
    前記電動モータに対する下位指令速度であって前記第1仮指令速度を含む前記下位指令速度と、前記位置検出手段からの検出信号に基づいた実際の速度である実速度と、の偏差である速度偏差を演算する速度偏差演算部と、
    前記速度偏差に応じてフィードバック制御して第1仮指令電流を出力する速度フィードバック制御部と、
    前記下位指令速度とは異なる速度である上位指令速度に応じてフィードフォワード制御して第2仮指令電流を出力する速度フィードフォワード制御部と、
    前記第1仮指令電流と前記第2仮指令電流とを加算して指令電流を出力する電流加算演算部と、
    前記指令電流に基づいて電動モータへの駆動電流を出力する電流出力部と、を有し、
    前記速度フィードフォワード制御部は、
    前記上位指令速度が入力され、入力された前記上位指令速度が正の場合に速度側正速度出力値を出力し、入力された前記上位指令速度が負の場合に速度側負速度出力値を出力する速度側正負速度発火部と、
    前記上位指令速度の速度範囲に対して限定した限定速度範囲を、予め設定した隣り合う複数の速度範囲毎に分割し、分割したそれぞれの前記速度範囲の境界となる速度である複数の境界速度を有し、前記上位指令速度が入力され、複数の前記境界速度のうち前記上位指令速度との速度差が所定速度差以内の前記境界速度から、前記速度差に基づいた速度側境界速度出力値を出力する速度側境界速度発火部と、
    上位指令加速度が入力され、入力された前記上位指令加速度を速度側加速度出力として出力する速度側加速度入力部と、
    前記速度側正速度出力値が入力され、入力された前記速度側正速度出力値を速度側正速度出力として出力する速度側正速度入力部と、
    前記速度側負速度出力値が入力され、入力された前記速度側負速度出力値を速度側負速度出力として出力する速度側負速度入力部と、
    複数の前記境界速度に対応させて用意され、前記速度側境界速度出力値が入力され、入力された前記速度側境界速度出力値を速度側境界速度出力として出力する複数の速度側境界速度入力部と、
    前記速度側加速度出力、前記速度側正速度出力、前記速度側負速度出力、複数の前記速度側境界速度出力、である速度側第1出力のそれぞれに対応する複数の速度側第1学習重みを、前記速度偏差に応じて変更する速度側第1重み学習部と、
    前記速度側第1出力のそれぞれと、当該速度側第1出力のそれぞれに対応する前記速度側第1学習重みと、を乗算した複数の速度側第1乗算値を加算して前記第2仮指令電流として出力する速度側出力部と、を有している、
    モータ制御装置。
  3. 請求項2に記載のモータ制御装置であって、
    前記上位指令速度に応じてフィードフォワード制御して第2仮指令速度を出力する位置フィードフォワード制御部と、
    前記第1仮指令速度と前記第2仮指令速度とを加算して前記下位指令速度を出力する速度加算演算部と、を有し、
    前記位置フィードフォワード制御部は、
    前記上位指令速度が入力され、入力された前記上位指令速度が正の場合に位置側正速度出力値を出力し、入力された前記上位指令速度が負の場合に位置側負速度出力値を出力する位置側正負速度発火部と、
    複数の前記境界速度を有し、前記上位指令速度が入力され、複数の前記境界速度のうち前記上位指令速度との速度差が所定速度差以内の前記境界速度から、前記速度差に基づいた位置側境界速度出力値を出力する位置側境界速度発火部と、
    前記上位指令加速度が入力され、入力された前記上位指令加速度を位置側加速度出力として出力する位置側加速度入力部と、
    前記位置側正速度出力値が入力され、入力された前記位置側正速度出力値を位置側正速度出力として出力する位置側正速度入力部と、
    前記位置側負速度出力値が入力され、入力された前記位置側負速度出力値を位置側負速度出力として出力する位置側負速度入力部と、
    複数の前記境界速度に対応させて用意され、前記位置側境界速度出力値が入力され、入力された前記位置側境界速度出力値を位置側境界速度出力として出力する複数の位置側境界速度入力部と、
    前記位置側加速度出力、前記位置側正速度出力、前記位置側負速度出力、複数の前記位置側境界速度出力、である位置側第1出力のそれぞれに対応する複数の位置側第1学習重みを、前記位置偏差に応じて変更する位置側第1重み学習部と、
    前記位置側第1出力のそれぞれと、当該位置側第1出力のそれぞれに対応する前記位置側第1学習重みと、を乗算した複数の位置側第1乗算値を加算して前記第2仮指令速度として出力する位置側出力部と、を有している、
    モータ制御装置。
  4. 制御対象物の位置を移動させる電動モータと、当該電動モータに関する位置を検出する位置検出手段と、を用いて前記制御対象物の位置を制御するモータ制御装置であって、
    前記電動モータに対する指令位置と、前記位置検出手段からの検出信号に基づいた実際の位置である実位置と、の偏差である位置偏差を演算する位置偏差演算部と、
    前記位置偏差に応じてフィードバック制御して第1仮指令速度を出力する位置フィードバック制御部と、
    前記電動モータに対する下位指令速度であって前記第1仮指令速度を含む前記下位指令速度と、前記位置検出手段からの検出信号に基づいた実際の速度である実速度と、の偏差である速度偏差を演算する速度偏差演算部と、
    前記速度偏差に応じてフィードバック制御して第1仮指令電流を出力する速度フィードバック制御部と、
    前記下位指令速度とは異なる速度である上位指令速度に応じてフィードフォワード制御して第2仮指令電流を出力する速度フィードフォワード制御部と、
    前記第1仮指令電流と前記第2仮指令電流とを加算して指令電流を出力する電流加算演算部と、
    前記指令電流に基づいて電動モータへの駆動電流を出力する電流出力部と、を有し、
    前記速度フィードフォワード制御部は、
    前記上位指令速度が入力され、入力された前記上位指令速度が正の場合に速度側正速度出力値を出力し、入力された前記上位指令速度が負の場合に速度側負速度出力値を出力する速度側正負速度発火部と、
    前記上位指令速度の速度範囲に対して限定した限定速度範囲を、予め設定した隣り合う複数の速度範囲毎に分割し、分割したそれぞれの前記速度範囲の境界となる速度である複数の境界速度を有し、前記上位指令速度が入力され、複数の前記境界速度のうち前記上位指令速度との速度差が所定速度差以内の前記境界速度から、前記速度差に基づいた速度側境界速度出力値を出力する速度側境界速度発火部と、
    上位指令加速度が入力され、入力された前記上位指令加速度を、予め用意された複数の速度側演算部のそれぞれに向けて速度側加速度出力として出力する速度側加速度入力部と、
    前記速度側正速度出力値が入力され、入力された前記速度側正速度出力値を、複数の前記速度側演算部のそれぞれに向けて速度側正速度出力として出力する速度側正速度入力部と、
    前記速度側負速度出力値が入力され、入力された前記速度側負速度出力値を、複数の前記速度側演算部のそれぞれに向けて速度側負速度出力として出力する速度側負速度入力部と、
    複数の前記境界速度に対応させて用意され、前記速度側境界速度出力値が入力され、入力された前記速度側境界速度出力値を、複数の前記速度側演算部のそれぞれに向けて速度側境界速度出力として出力する複数の速度側境界速度入力部と、
    複数の前記速度側加速度出力、複数の前記速度側正速度出力、複数の前記速度側負速度出力、複数の前記速度側境界速度出力、である速度側第1出力のそれぞれに対応する複数の速度側第1学習重みを、前記速度偏差に応じて変更する速度側第1重み学習部と、
    前記速度側第1出力のそれぞれと、当該速度側第1出力のそれぞれに対応する前記速度側第1学習重みと、を乗算した複数の速度側第1乗算値を加算して速度側第2出力として出力する複数の前記速度側演算部と、
    前記速度側第2出力のそれぞれに対応する複数の速度側第2学習重みを、前記速度偏差に応じて変更する速度側第2重み学習部と、
    前記速度側第2出力のそれぞれと、当該速度側第2出力のそれぞれに対応する前記速度側第2学習重みと、を乗算した複数の速度側第2乗算値を加算して前記第2仮指令電流として出力する速度側出力部と、を有している、
    モータ制御装置。
  5. 請求項4に記載のモータ制御装置であって、
    前記上位指令速度に応じてフィードフォワード制御して第2仮指令速度を出力する位置フィードフォワード制御部と、
    前記第1仮指令速度と前記第2仮指令速度とを加算して前記下位指令速度を出力する速度加算演算部と、を有し、
    前記位置フィードフォワード制御部は、
    前記上位指令速度が入力され、入力された前記上位指令速度が正の場合に位置側正速度出力値を出力し、入力された前記上位指令速度が負の場合に位置側負速度出力値を出力する位置側正負速度発火部と、
    複数の前記境界速度を有し、前記上位指令速度が入力され、複数の前記境界速度のうち前記上位指令速度との速度差が所定速度差以内の前記境界速度から、前記速度差に基づいた位置側境界速度出力値を出力する位置側境界速度発火部と、
    前記上位指令加速度が入力され、入力された前記上位指令加速度を、予め用意された複数の位置側演算部のそれぞれに向けて位置側加速度出力として出力する位置側加速度入力部と、
    前記位置側正速度出力値が入力され、入力された前記位置側正速度出力値を、複数の前記位置側演算部のそれぞれに向けて位置側正速度出力として出力する位置側正速度入力部と、
    前記位置側負速度出力値が入力され、入力された前記位置側負速度出力値を、複数の前記位置側演算部のそれぞれに向けて位置側負速度出力として出力する位置側負速度入力部と、
    複数の前記境界速度に対応させて用意され、前記位置側境界速度出力値が入力され、入力された前記位置側境界速度出力値を、複数の前記位置側演算部のそれぞれに向けて位置側境界速度出力として出力する複数の位置側境界速度入力部と、
    複数の前記位置側加速度出力、複数の前記位置側正速度出力、複数の前記位置側負速度出力、複数の前記位置側境界速度出力、である位置側第1出力のそれぞれに対応する複数の位置側第1学習重みを、前記位置偏差に応じて変更する位置側第1重み学習部と、
    前記位置側第1出力のそれぞれと、当該位置側第1出力のそれぞれに対応する前記位置側第1学習重みと、を乗算した複数の位置側第1乗算値を加算して位置側第2出力として出力する複数の前記位置側演算部と、
    前記位置側第2出力のそれぞれに対応する複数の位置側第2学習重みを、前記位置偏差に応じて変更する位置側第2重み学習部と、
    前記位置側第2出力のそれぞれと、当該位置側第2出力のそれぞれに対応する前記位置側第2学習重みと、を乗算した複数の位置側第2乗算値を加算して前記第2仮指令速度として出力する位置側出力部と、を有している、
    モータ制御装置。
  6. 請求項1〜5のいずれか一項に記載のモータ制御装置であって、
    速度と、前記制御対象物の位置を移動させる際の摩擦を含む所定の物理現象と、の関係を示す速度・物理現象特性であって、非線形特性とみなされる前記限定速度範囲を、部分的に線形特性とみなすことが可能なそれぞれの前記速度範囲に分割し、分割したそれぞれの前記速度範囲の境界となる速度が、前記境界速度として設定されている、
    モータ制御装置。
  7. 請求項2〜5のいずれか一項に記載のモータ制御装置であって、
    前記速度側境界速度発火部は、
    予め設定された速度の幅を広がり幅とする所定の分布関数を有しており、
    入力された前記上位指令速度と前記境界速度との前記速度差だけ前記分布関数の中央から離れた速度に対応する分布確率を、前記分布関数を用いてそれぞれの前記境界速度に対して求め、求めた前記分布確率がゼロでない前記境界速度に対してのみ発火して、前記上位指令速度が正の場合は求めた前記分布確率に基づいた正の値を、前記上位指令速度が負の場合は求めた前記分布確率に基づいた負の値を、発火した前記境界速度に対応する前記速度側境界速度出力値として出力する、
    モータ制御装置。
  8. 請求項3または5に記載のモータ制御装置であって、
    前記位置側境界速度発火部は、
    予め設定された速度の幅を広がり幅とする所定の分布関数を有しており、
    入力された前記上位指令速度と前記境界速度との前記速度差だけ前記分布関数の中央から離れた速度に対応する分布確率を、前記分布関数を用いてそれぞれの前記境界速度に対して求め、求めた前記分布確率がゼロでない前記境界速度に対してのみ発火して、前記上位指令速度が正の場合は求めた前記分布確率に基づいた正の値を、前記上位指令速度が負の場合は求めた前記分布確率に基づいた負の値を、発火した前記境界速度に対応する前記位置側境界速度出力値として出力する、
    モータ制御装置。

JP2016055450A 2016-01-08 2016-03-18 モータ制御装置 Active JP6665610B2 (ja)

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 (zh) 2016-01-08 2017-01-04 电动机控制装置

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 true JP2017127176A (ja) 2017-07-20
JP6665610B2 JP6665610B2 (ja) 2020-03-13

Family

ID=59365362

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016055450A Active JP6665610B2 (ja) 2016-01-08 2016-03-18 モータ制御装置

Country Status (2)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019204495A (ja) * 2018-03-23 2019-11-28 ザ・ボーイング・カンパニーTheBoeing Company 位置と速度のフィードバック制御のためのシステム及び方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200042952A (ko) * 2017-11-02 2020-04-24 미쓰비시덴키 가부시키가이샤 캘리브레이션 장치, 캘리브레이션 방법 및 제어 장치
CN110815233B (zh) * 2019-11-28 2020-12-08 北京云迹科技有限公司 机器人驱动方法、装置、存储介质及机器人
CN115993854B (zh) * 2023-03-21 2024-05-10 上海果纳半导体技术有限公司 一种smif开合器控制方法、装置及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6629089B1 (en) * 2000-09-29 2003-09-30 Cirrus Logic, Inc. Artificial neural network voice coil motor controller
CN1795697A (zh) * 2003-04-09 2006-06-28 塔特公司 用于btsc兼容系数的倒数索引查找
US8310178B2 (en) * 2009-02-27 2012-11-13 Canon Kabushiki Kaisha Motor control apparatus and image forming apparatus
CN102354146B (zh) * 2011-07-22 2013-05-01 江俊逢 一种运动控制系统及其位置控制方法
CN102723911A (zh) * 2012-06-22 2012-10-10 温丙彦 太阳能电池板伺服电机控制器
CN104228937B (zh) * 2014-08-26 2017-02-01 苏州市职业大学 一种工业车辆用双模控制电子转向系统
CN105094165B (zh) * 2015-08-24 2017-06-16 华中科技大学 一种基于Stewart主动平台的振动抑制方法
CN105180944B (zh) * 2015-09-17 2017-12-19 哈尔滨工程大学 一种船体侧滑速度误差判定补偿方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019204495A (ja) * 2018-03-23 2019-11-28 ザ・ボーイング・カンパニーTheBoeing Company 位置と速度のフィードバック制御のためのシステム及び方法
JP7418962B2 (ja) 2018-03-23 2024-01-22 ザ・ボーイング・カンパニー 位置と速度のフィードバック制御のためのシステム及び方法

Also Published As

Publication number Publication date
CN106961235B (zh) 2021-06-25
CN106961235A (zh) 2017-07-18
JP6665610B2 (ja) 2020-03-13

Similar Documents

Publication Publication Date Title
JP6128767B2 (ja) ロボット制御装置、及びロボット制御方法
JP2017127176A (ja) モータ制御装置
Soltani et al. Design artificial nonlinear controller based on computed torque like controller with tunable gain
Ouyang et al. Contour tracking control in position domain
JP6604198B2 (ja) モータ制御装置
US10507585B2 (en) Robot system that displays speed
Erdős et al. Optimized joint motion planning for redundant industrial robots
Zebin et al. Modeling and Control of a Two-link Flexible Manipulator using Fuzzy Logic and Genetic Optimization Techniques.
Hüseyinoğlu et al. Dynamic model and control of 2-dof robotic arm
JP6021478B2 (ja) ロボット制御装置、及びロボット制御方法
JP2017213631A (ja) ロボットアーム制御装置、ロボットアーム制御方法、およびプログラム
JP2008194760A (ja) ロボットアーム、及びその制御方法
Zouari et al. Adaptive backstepping control for a single-link flexible robot manipulator driven DC motor
EP3190471B1 (en) Motor control device
JP2009274180A (ja) ロボット動作計画方法及び装置
Du Plessis et al. An optimally re-configurable planar Gough–Stewart machining platform
Chen et al. Obstacle avoidance path planning strategy for robot arm based on fuzzy logic
Cherdchoosilpa et al. MIMO controller design for a parallel manipulator system: A practitioner's approach
JP2009113147A (ja) ロボット及びロボット制御方法
Hadoune et al. Fuzzy-PID tracking control of a ball and plate system using a 6 Degrees-of-Freedom parallel robot
JP4483440B2 (ja) モーション制御装置
JP7444588B2 (ja) 軌道生成装置、自動位置制御装置および軌道生成方法
Paing et al. Real-Time Modification of a Spline-Based Time-Optimal Motion Trajectory with Load-Sway Reduction for Rotary Cranes
Rebelo et al. Performance analysis of time-delay bilateral teleoperation using impedance-controlled slaves
Kodandaramu et al. Dynamic Obstacle Avoidance in Cobots with Multiple Random Moving Obstacles

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