JPH0699373A - ロボット制御装置 - Google Patents

ロボット制御装置

Info

Publication number
JPH0699373A
JPH0699373A JP27668092A JP27668092A JPH0699373A JP H0699373 A JPH0699373 A JP H0699373A JP 27668092 A JP27668092 A JP 27668092A JP 27668092 A JP27668092 A JP 27668092A JP H0699373 A JPH0699373 A JP H0699373A
Authority
JP
Japan
Prior art keywords
robot
target position
matrix
neural network
learning
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.)
Pending
Application number
JP27668092A
Other languages
English (en)
Inventor
Katsuhiro Komuro
克弘 小室
Takao Yoneda
孝夫 米田
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.)
Toyoda Koki KK
Original Assignee
Toyoda Koki KK
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 Toyoda Koki KK filed Critical Toyoda Koki KK
Priority to JP27668092A priority Critical patent/JPH0699373A/ja
Priority to EP93115114A priority patent/EP0589394A1/en
Priority to US08/123,997 priority patent/US5555347A/en
Publication of JPH0699373A publication Critical patent/JPH0699373A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Manipulator (AREA)
  • Feedback Control In General (AREA)
  • Control Of Position Or Direction (AREA)

Abstract

(57)【要約】 【目的】 ロボットの運用中にも一定周期で自動的にニ
ューラルネットワークの学習を行い得るロボット制御装
置を提供する。 【構成】 目標位置マトリクスMm入力部515に保持
されたロボットの目標位置マトリクスMmに対応するロ
ボットの関節角ベクトルΘaを座標逆変換fa演算部5
03が算出し、この関節角ベクトルΘaを基にロボット
制御部511がロボット10を制御する。そして、ロボ
ット先端位置自動測定装置51が該ロボット制御部51
1により制御されたロボットの位置を測定し、補正マト
リクスΔMm演算部515がこの測定された位置と前記
ロボットの目標位置マトリクスMmとから目標位置を補
正するための補正マトリクスΔMmを算出する。そし
て、ニューラルネットワーク509に、関節角ベクトル
Θaを入力データとし、補正マトリクスΔMmを教師デ
ータとした学習をロボット制御装置の運用中にも予め設
定された頻度で行わせる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ニューラルネットワー
クの出力によりロボットの位置補正を行うロボット制御
装置に関し、特に、ニューラルネットワークの学習をロ
ボットの制御開始後も定期的に行うロボット制御装置に
関する。
【0002】
【従来の技術】産業用ロボットにおける絶対位置決め誤
差は、機械加工誤差、組付け誤差、熱歪等によるロボッ
トアームの寸法の誤差と、自重等による各関節のたわみ
等が原因となっている。従来の産業用ロボットの制御
は、ロボットアームの先端の目標とする位置マトリクス
Mmを求め、この目標位置マトリクスMmを、誤差を考
慮した逆変換関数faにより逆変換してロボットの各関
節の制御目標となる関節角ベクトルΘaを求め、各関節
を、この関節角ベクトルΘaを基に動作させロボットを
制御していた。
【0003】
【発明が解決しようとする課題】上述のように、従来、
目標位置マトリクスMmを誤差を考慮して逆変換を行い
制御目標となる関節角ベクトルΘaを求めているが、全
ての誤差要因を考慮してロボットの座標変換を行おうと
すると座標変換が複雑になり、また、ロボットアームの
先端の位置・姿勢から各関節角を求める所謂逆変換は、
数値解析法を用いており、演算量が多くなり解を求める
ことが困難である。このために、従来のロボット制御装
置は、考慮する誤差要因を限定して補正を行っていた。
しかし、誤差要因を限定したことに起因する位置決め誤
差が生じた。このために、本発明者は、ロボット制御装
置に、ニューラルネットワークを用いて、従来考慮し得
なかった誤差誘因に対応することを案出したが、このニ
ューラルネットワークを用いる場合、ロボット制御装置
の一台一台について学習を行わねばならず、非常に手間
がかかるという問題が生じる。
【0004】また、従来のロボット制御装置において
は、ロボットの経年変化により新たな誤差が生じ、使用
に伴い位置決め誤差が大きくなるという問題がある。こ
の新たに生じた誤差に対応するためには、改めて誤差測
定を行い、その誤差に応じて位置の補正を行わねばなら
ず、大変な労力を必要とした。
【0005】本発明は、上記課題を解決するために成さ
れたもので、その目的とするところは、ニューラルネッ
トワークの学習を自動的に行い得ると共に、ロボット運
用中にも一定周期でニューラルネットワークの学習を行
い得るロボット制御装置を提供することにある。
【0006】
【課題を解決するための手段】上記課題を解決するため
の発明の構成は、ロボットの目標位置を保持する目標位
置保持手段と、前記目標位置に対応するロボットの制御
目標値を算出する制御目標値算出手段と、前記制御目標
値を基にロボットを制御する制御手段と、前記制御手段
により制御されたロボットの位置を測定する測定手段
と、前記ロボットの目標位置と、それに基づき制御され
た位置を測定した前記測定位置から目標位置を補正する
ための補正量を算出する補正量算出手段と、目標位置を
補正する補正量を出力するニューラルネットワークと、
前記ニューラルネットワークに前記ロボットの目標位置
又は制御目標値を入力データとし、前記補正量算出手段
により算出された補正量を教師データとする学習を、ロ
ボットの制御の開始後も予め設定された頻度で行わせる
ニューラルネットワーク学習手段とからなることを特徴
とする。
【0007】
【作用】上記の手段によれば、目標位置保持手段に保持
されたロボットの目標位置に対応するロボットの制御目
標値を制御目標値算出手段が算出し、この制御目標値を
基に制御手段がロボットを制御する。そして、測定手段
が該制御手段により制御されたロボットの位置を測定
し、補正量算出手段が、この測定された前記測定位置と
前記ロボットの目標位置とから目標位置を補正するため
の補正量を算出する。更に、ニューラルネットワーク学
習手段が、制御目標値に対応する補正量を出力するニュ
ーラルネットワークに、前記制御目標値を入力データと
し、前記算出された補正量を教師データとする学習をロ
ボットの制御開始後も予め設定された周期で行わせる。
【0008】
【実施例】以下に、本実施例に係るロボット制御装置を
図を参照して説明する。先ず、本実施例のロボット制御
装置により制御される6関節を有するロボット10につ
いて、図1を参照して説明する。ロボット10は、ベー
ス13に固定された脚柱12に取り付けられた、コラム
14と、第1アーム15と、第2アーム16と、第3ア
ーム17と、フインガ19とから構成され、第1関節
a、第2関節b、第3関節c、第4関節d、第5関節
e、第6関節fにより、6自由度で自在にフインガ19
の位置及び姿勢を制御できるよう構成されている。この
ロボット10には、レーザ光線により非接触でロボット
10の先端位置を測定するための3次元位置測定装置1
8が設けられ、そして、この3次元位置測定装置18か
らのレーザ光を反射させるための図示しないミラーがフ
ィンガ19に取り付けられ、後述するロボット先端位置
自動測定装置からの指令に基づき、ロボット10の先端
位置を測定するようになっている。
【0009】次に、ロボット10を制御する本実施例の
ロボット制御装置の構成を図2を参照して説明する。ロ
ボット10の位置の演算及び制御を行うCPU11に
は、制御指令を入力するオペレーティングボックス27
及び操作盤26と、制御情報を記憶する外部記憶装置2
9と、後で詳述するROM20と、RAM30とが接続
されている。更に、CPU11には、第1関節aを制御
する1軸サーボ制御部40a乃至第6関節を制御する6
軸サーボ制御部40fが接続され、該CPU11は、前
述の操作盤26等の周辺装置からの入力に応じて、該1
軸サーボ制御部40a乃至6軸サーボ制御部40fに制
御指令を発する。これに応じて各サーボ制御部(40a
〜40f)は、サーボモータM1乃至M6を回動させ、
第1関節a乃至第6関節fを動かすことによりロボット
10を駆動する。各サーボモータM1乃至M6の動き
は、エンコーダE1乃至E6により各々のサーボ制御部
に帰還される。CPU11には、更に、前述した3次元
位置測定装置18を作動させてロボット10の先端位置
を自動的に測定し、測定データをCPU11に入力する
ロボット先端位置自動測定装置51と、ロボットの位置
制御の際に誤差要因となる温度、荷重等の誤差要因項目
を自動的に測定する誤差要因項目自動測定装置52とが
接続されている。この誤差要因項目自動測定装置52
は、荷重をサーボモータM1乃至M6の電流値から推定
するようになっている。
【0010】次に、本実施例の補正の考え方を、ロボッ
ト制御装置による制御の説明に先立ち説明する。従来の
産業用ロボットの制御は、ロボットアームの先端の目標
とする位置マトリクスMmを求め、この目標位置マトリ
クスMmを、誤差を考慮した逆変換関数faにより、逆
変換してロボットの各関節の制御目標となる関節角ベク
トルΘaを求め、これを基にロボットを制御していた。
関節角ベクトルΘaを基に制御されたロボットアーム先
端の位置マトリクスMaは、すべての誤差が反映される
実際の順変換関数gtにより関節角ベクトルΘaを順変
換することにより求められる。
【数1】 ここで、Mm:目標とする位置マトリクス fa:誤差を限定して考慮した逆変換関数 Θa:制御目標値となる関節角ベクトル gt:すべての誤差が反映される実際の順変換関数 Ma:Θaを基に制御されたロボットアーム先端の位置
マトリクス
【0011】ここでは、誤差要因を限定して考慮した逆
変換関数faにより求めた関節角ベクトルΘaを基に、
ロボットを制御しているが、実際に制御されたロボット
の位置マトリクスMaには、考慮できなかった誤差分が
含まれるため、この誤差分がロボット制御装置の制御誤
差となった。即ち、実際の位置マトリクスMaを規定す
る順変換関数gtには考慮できなかった誤差分が含ま
れ、逆変換関数faによる逆変換と順変換関数gtによ
る順変換とにより生ずる差が誤差となり、これが制御さ
れたロボットアームの位置マトリクスMaと、目標位置
マトリクスMmとの位置誤差になっていた。
【0012】これに対して本実施例では、式1に示す制
御されたロボットアームの位置マトリクスMaが、目標
とする位置マトリクスMmに等しくなるように、目標位
置マトリクスMmを誤差量(必要な補正量)である補正
マトリクスΔMmで補正し、この補正された目標位置マ
トリクスMm' に基づきロボット10を制御する。この
補正の考え方について以下更に詳細に説明する。
【0013】先ず、逆変換関数faによる逆変換と順変
換関数gtによる順変換とにより生じる誤差量が必要な
補正量に相当すると考え、逆変換関数faによる逆変換
と順変換関数gtによる順変換とを補正マトリクスΔM
mと置くと、式1は次式で表すことができる。
【数2】 Mm・ΔMm=Ma 式2 そして、式2から誤差量(補正マトリクス)ΔMmは次
式で表される。
【数3】ΔMm=Mm-1・Ma 式3 ここで、誤差量(補正マトリクス)ΔMmの逆行列ΔM
-1を必要な補正量と考え、目標位置マトリクスMmに
この補正量ΔMm-1を掛けたもの(Mm・ΔMm-1)を
補正された目標位置マトリクスMm' と置き、これを式
1に代入すると次式を求めることができる。
【数4】 ここで、Mm' :目標位置マトリクスMmに補正量ΔM
-1を掛け補正した目標位置マトリクス Θa' :補正された目標位置マトリクスMm' に基づく
制御目標となる関節角ベクトル Ma' :関節角ベクトルΘa' を基に制御されたロボッ
トアーム先端の位置マトリクス
【0014】上述したように、逆変換関数faによる逆
変換と順変換関数gtによる順変換とを誤差量(補正マ
トリクス)ΔMmとし、Mm' =Mm・ΔMm-1である
ので、式4は次式と近似していると考えることができ
る。
【数5】 Mm・ΔMm-1・ΔMm≒Ma' 式5 従って、次式が成立する。
【数6】Mm ≒ Ma' 式6 式6に示すように、目標位置マトリクスMmに補正量Δ
Mm-1を掛け補正した目標位置マトリクスMm' を基に
制御目標となる関節角ベクトルΘa' を求め、Θa' を
基に制御したロボットアーム先端の位置マトリクスM
a' は、目標位置マトリクスMmに略等しい。
【0015】本実施例は、上記補正理論に基づきニュー
ラルネットワークに関節角ベクトルΘaと補正マトリク
スΔMmとの関係を学習させ、ニューラルネットワーク
に関節角ベクトルΘaを入力すると補正マトリクスΔM
mが出力されるようにし、この補正マトリクスΔMmを
基に目標位置マトリクスMmを補正し、この補正された
値によりロボットの位置制御を行う。先ず、本実施例に
係るロボット制御装置のニューラルネットワークへの学
習を、CPU11の演算処理の概要をブロック図にした
図5と、この処理の流れをフローチャートにした図3、
図4とを参照して説明する。本実施例では、図3のフロ
ーチャートに示すようにロボット制御装置によるロボッ
ト制御の開始に先立ち先ずニューラルネットワークに学
習を行わせ、そして更に、図4のフローチャートに示す
ようにロボット制御装置の通常の運用中にも周期的に学
習を行わせる。最初に図3及び図5を参照して、初回の
ニューラルネットワークへの学習を説明する。先ず、C
PU11は、記憶装置に記憶されている目標位置マトリ
クスMmをm個〔Mm1 ,Mm2 ,・・・Mmm 〕入力
し(ステップ301)、これを目標位置マトリクスMm
入力部501に保持させる。ステップ302で、第1番
目の目標位置マトリクスMm1 がセットされ、そして、
座標逆変換fa演算部503で、逆変換関数faによ
り、誤差要因として荷重及び温度を考慮し、目標位置マ
トリクスMm1 に対応するロボットの各関節の関節角ベ
クトルΘa1 を演算する(ステップ303)。
【0016】次に、この関節角ベクトルΘa1 を基に、
ロボット制御部511でロボット10を動作させる(ス
テップ304)。この動作終了後に、CPU11は、前
述のロボット先端位置自動測定装置51に動作指令を発
してロボットアームの実際の先端位置マトリクスMa1
を測定する(ステップ305)。そして、補正マトリク
スΔMm演算部515で、目標位置マトリクスMm1
逆行列を求めると共に、この逆行列と該先端位置マトリ
クスMa1 とから前述した式3(ΔMm=Mm-1・M
a)を用いて、補正マトリクスΔMm1 を求める(ステ
ップ306)。他方、この測定によるデータの蓄積と共
に、CPU11は、前述の誤差要因項目自動測定装置5
2を駆動して、温度、荷重等の誤差要因項目を測定する
(ステップ307)。そして、ステップ308におい
て、ニューラルネットワークの学習に用いるための目標
位置マトリクスMm1 に関する一組のデータとして、座
標逆変換fa演算部503で求められたロボットの各関
節の関節角ベクトルΘa1を関節角ベクトルΘa保持部
505に、補正マトリクスΔMm演算部515で求めら
れた補正マトリクスΔMm1 を補正マトリクスΔMm保
持部517に、誤差要因項目自動測定装置52で求めら
れた誤差要因項目(荷重、温度等)を誤差要因項目保持
部507に保持する。次に、判断ステップ309で、目
標位置マトリクスMm1 からMmm までのm個全てにつ
いてデータの蓄積がなされたかが、i=mか否かにより
判断される、ここでは、i=1であるので、判断ステッ
プ309がNoとなり、ステップ311へ移行し、iの
値が1加算されて、ステップ303へ戻り、次の目標位
置マトリクスMm2 についてのデータの蓄積が行われ
る。一方、目標位置マトリクスMmm までのm個全てに
ついてデータの蓄積がなされると(判断ステップ309
がYes)、ステップ310へ移行し、上述したステッ
プ308で蓄積された関節角ベクトルΘa〔Θa1 ,Θ
2 ,・・・Θam 〕と誤差要因項目とを入力データと
し、補正マトリクスΔMm〔ΔMm1 ,ΔMm2 ,・・
・ΔMmm 〕を教師データとする学習をニューラルネッ
トワーク509に行わせ、ニューラルネットワーク50
9に関節角ベクトルΘaに対する補正マトリクスΔMm
の関係を学ばせる。このステップ310のニューラルネ
ットワーク509への学習については、後で更に詳細に
説明する。次に、図4及び図5を参照して、ロボット制
御装置の通常の運用中に周期的に行われるニューラルネ
ットワークへの学習を説明する。先ず、CPU11は、
ロボット10の運用回数が、学習を行う回数として設定
されているCに達したか否かを、運用回数を計数してい
るカウンタの値がCであるか否かで判断する(判断ステ
ップ401)。カウンタ値がCでない場合(判断ステッ
プ401がNo)は、ステップ402へ移行し、カウン
タに1を加え、通常サイクルの運転を開始する(ステッ
プ410)。他方、カウンタ値がCに達した場合(判断
ステップ401がYes)は、ステップ403へ移行
し、カウンタをクリアし、以下の学習ステップへ移行す
る。先ず、記憶装置に記憶されている目標位置マトリク
スMmをn個〔Mm1 ,Mm2,・・・Mmn 〕選択し
(ステップ404)、これを目標位置マトリクスMm入
力部501に保持させる。そして、図3において説明し
たステップ303からステップ308までの処理をn回
実行し、目標位置マトリクス〔Mm1 ,Mm2 ,・・・
Mmn 〕に対する関節角ベクトルΘa〔Θa1 ,Θ
2 ,・・・Θan 〕と、補正マトリクスΔMm〔ΔM
1 ,ΔMm2 ,・・・ΔMmn 〕と、誤差要因項目と
を蓄積する(ステップ405)。
【0017】次に、補正マトリクスΔMm〔ΔMm1
ΔMm2 ,・・・ΔMmm 〕を前回までのデータと比較
し、これが、予め設定された値よりも大きく変化してい
るかを検討する(判断ステップ406)。前回までのデ
ータに対して変化が大きな場合(判断ステップ406が
Yes)は、ロボット10又はロボット制御装置に何ら
かの異常が生じていると考えられるので、ステップ40
8で異常を報知する。一方、変化が小さく適正な範囲内
であれば(判断ステップ406がNo)、ステップ40
7の処理に進み、ここでは前回までの学習データに加え
て、上述したステップ405で蓄積された関節角ベクト
ルΘa〔Θa1 ,Θa2 ,・・・Θan〕と誤差要因項
目とを入力データとし、補正マトリクスΔMm〔ΔMm
1 ,ΔMm2 ,・・・ΔMmn 〕を教師データとする再
学習をニューラルネットワーク509に行わせる。その
後、通常のサイクルの運用を開始する(ステップ40
9)。
【0018】次に、本実施例に係るロボット制御装置
の、上記の学習が完了したニューラルネットワーク50
9を用いる制御を、CPU11による演算の概要を示す
図6のブロック図を参照して説明する。先ず、目標位置
マトリクスMm演算部601で、ロボット10を動かす
目標位置の位置マトリクスMmを演算する。そして、第
1座標逆変換fa演算部603で、誤差要因として荷重
及び温度を考慮し、逆変換関数faを用いてロボット1
0の各関節の関節角ベクトルΘaを求める。
【0019】次に、第1座標逆変換fa演算部603で
求められたロボット10の各関節の関節角ベクトルΘa
を、関節角ベクトルΘa保持部605に保持すると共
に、この時のロボット制御の誤差要因となる荷重、温度
等を誤差要因項目保持部607へ保持させる。そして、
この関節角ベクトルΘaと誤差要因項目とをニューラル
ネットワーク509へ入力して、該関節角ベクトルΘa
及びこの時の誤差要因に対する補正マトリクスΔMmを
取得し、これを補正マトリクスΔMm保持部617に保
持させる。そして、目標位置補正部619で、補正マト
リクスΔMm保持部617に保持された補正マトリクス
ΔMmの逆行列ΔMm-1を求め、これを目標位置マトリ
クス演算部601で求められた目標位置マトリクスMm
に掛けることにより、補正された目標位置マトリクスM
m’(Mm’=Mm・ΔMm-1)を求める。最後に、第
2座標逆変換fa演算部621で、補正された目標位置
マトリクスMm’を基に、誤差要因として荷重及び温度
を考慮し、逆変換関数faを用いてロボット10の第1
関節a乃至第6関節fの関節角ベクトルΘa’を求め
る。そして、位置制御部623が、求められた関節角ベ
クトルΘa’を基に、前述した1軸サーボ制御部40a
乃至6軸サーボ制御部40fに指令を発し、これに応じ
て1軸サーボ制御部40a乃至6軸サーボ制御部40f
がサーボモータM1乃至M6を駆動することにより第1
関節a乃至第6関節fが動かされ、ロボット10の位置
及び姿勢の制御が行われる。
【0020】本実施例では、ニューラルネットワーク5
09に学習させる際に、目標位置マトリクスMmから関
節角ベクトルΘaを求め、この関節角ベクトルΘaをニ
ューラルネットワーク509に与え、関節角ベクトルΘ
a算出の基礎とした目標位置マトリクスMmに対する補
正量(補正マトリクスΔMm)を得るようにしたため、
目標位置マトリクスから直接補正マトリクスを得るよう
にした構成と比較して学習が簡単である利点がある。更
に、この実施例では、関節角ベクトルΘaをニューラル
ネットワークに与え補正マトリクスΔMmを得るように
したため誤差要因を減らすことが可能となった。これ
は、目標位置マトリクスMmに対する関節角ベクトルΘ
aは複数存在するため、目標位置マトリクスを直接ニュ
ーラルネットワークに与えると、複数存在する関節角ベ
クトルΘaが誤差要因となるのに対して、本実施例では
関節角ベクトルΘaをニューラルネットワークに与えて
おり、この関節角ベクトルΘaによる決まるロボットの
先端位置は1つだからである。
【0021】次に、前述した本実施例に係るロボット制
御装置のニューラルネットワーク509の学習及びこれ
による演算について更に詳細に説明する。 1.ニューラルネットワークの構成、 本実施例のニューラルネットワークは、図2に示すCP
U11、ROM20、RAM30から成るコンピュータ
システムで構成されている。ROM20には入力データ
と教師データの蓄積を管理する制御プログラムの記憶さ
れた制御プログラム領域21と、ニューラルネットワー
クの演算プログラムの記憶されたニューラルネットワー
ク領域22と、ニューラルネットワークに学習させるた
めのプログラムの記憶された学習プログラム領域23と
が形成されている。また、RAM30には、図5に関連
して前述した関節角ベクトルΘa保持部505に蓄積さ
れた関節角ベクトルΘaと、誤差要因項目保持部507
に蓄積された温度、荷重等の誤差項目を入力データとし
て記憶する入力データ記憶領域31と、同様に補正マト
リクスΔMm保持部517に蓄積された補正マトリクス
ΔMmを教師データとして記憶する教師データ記憶領域
32と、ニューラルネットワークの結合係数を記憶する
結合係数記憶領域33とが形成されている。
【0022】2.ニューラルネットワーク 本実施例のニューラルネットワーク509は、図7に示
すように、入力層LIと出力層L0と中間層LMの3層
構造に構成されている。入力層LIはe個の入力素子を
有し、出力層L0はg個の出力素子を有し、中間層LM
はh個の出力素子を有している。
【0023】多層構造のニューラルネットワークは、一
般的に、次の演算を行う装置として定義される。第i層
の第j番目の素子の出力Oi j は、次式で演算される。
但し、i≧2である。
【数7】 Oi j =f(Ii j ) 式7
【数8】
【数9】 f(x) =1/{1+exp(-x)} 式9
【0024】但し、Vi j は第i層の第j番目の演算素
子のバイアス、Wi-1 k, i j は、第i−1層の第k番目
の素子と第i層の第j番目の素子各の結合係数、O1 j
は第1層の第j番目の素子の出力値を表す。即ち、第1
層であるから演算を行うことなく、そのまま入力を出力
するので、入力層(第1層)の第j番目の素子の入力値
でもある。
【0025】次に、図7に示す3層構造のニューラルネ
ットワーク509の具体的な演算手順について、図8を
参照して説明する。各層の演算は、RAM30の結合係
数記憶領域33に記憶されている結合係数を参照しつ
つ、ROM20のニューラルネットワーク領域22に記
憶されたプログラムを実行することによって行われる。
ステップ100において、中間層(第2層)の第j番目
の素子は、入力層(第1層)の各素子からの出力値O1
j (第1層の入力データ)を入力して、式8を層番号と
第1層の素子数を用いて具体化した次式の積和演算を行
う。
【数10】
【0026】次に、ステップ102において、次式によ
り、式10の入力値の積和関数値のシグモンド関数によ
り、中間層(第2層)の各素子の出力が演算される。第
2層の第j番目の素子の出力値は次式で演算される。
【数11】 O2 j =f(I2 j )=1/{1+exp( −I2 j ) } 式11 この出力値O2 j は出力層(第3層)の各素子の入力値
となる。
【0027】次に、このステップ104において、出力
層(第3層)の各素子の入力値の積和演算が実行され
る。
【数12】 次に、ステップ106において、式11と同様にシグモ
ンド関数により、出力層の各素子の出力値O3 j が演算
される。
【数13】 O3 j =f(I3 j )=1/{1+exp( −I3 j ) } 式13
【0028】3.入力データと教師データの構造 ニューラルネットワークの更新学習に使用されるデータ
は、図10に示すようなデータベースに構成されてい
る。入力データは、D1 ・・・Dn であり、対応する
教師データは、E1 ・・・En である。このn個(又は
m個)の入力データは、図3及び図4に関して前述した
ステップ303〜308で取得し、関節角ベクトルΘa
保持部505に保持された関節角ベクトルΘa及び誤差
要因項目保持部507に保持された誤差要因となる温
度、荷重等であり、そして、このn個(又はm個)の教
師データは補正マトリクスΔMm保持部517に保持さ
れた補正マトリクスΔMmである。そしてこれらのデー
タは、それぞれ、RAM30の入力データ記憶領域31
及び教師データ記憶領域32に記憶されている。
【0029】この入力データは次のように定義される。
e個の入力素子のそれぞれに与えられるe個のデータを
1組のデータとして考える。そして、任意の第m番目の
1組の入力データをDm で表し、その組に属する第j番
目の入力素子に対する入力データをdmjで表す。Dm
ベクトルを表し、dmjはそのベクトルの成分である。即
ち、Dm は次式で定義される。
【数14】 Dm =(dm1,dm2,・・・・dme-1,dme) 式14 又、n組の入力データはD1 ,D2 ,・・・Dn-1 ,D
n で表される。以下、全n組の入力データ群は、入力デ
ータ群Dと表記される。尚、入力データDm に対して式
10を用いる場合には、式10のO1 k に、成分dmk
代入される。
【0030】同様に、E1 ,・・・En は、次のように
定義される。出力層LOに関して、g個の出力素子のそ
れぞれからの出力に対する教師データを1組のデータと
して考える。そして、任意の第m番目の1組の教師デー
タをEm で表し、その組に属する第j番目の出力素子に
対する教師データをemjで表す。Em はベクトルを表
し、emjはそのベクトルの成分である。即ちEm は次式
で定義される。
【数15】 Em =(em1,em2,・・・・emg-1,emg) 式15 また、n組の教師データはE1 ,E2 ,・・・・
n-1 ,En で表される。以下全n組の教師データ群
は、教師データ群Eと表記される。
【0031】4.ニューラルネットワークの学習 このニューラルネットワークは、初期学習として、RO
M20の学習プログラム領域23に記憶された図9に示
す手順のプログラムが実行されることにより学習され
る。結合係数の学習は良く知られたバックプロパーゲー
ション法により実行される。
【0032】この学習は、各種の事象に関する多数の入
力データに対して、それぞれの出力が、それぞれの最適
な教師データとなるように、繰り返し実行される。これ
らの入力データ及び教師データは、前述したようにそれ
ぞれ、入力データ記憶領域31及び教師データ記憶領域
32に記憶されている。
【0033】図9のステップ200において、データ番
号iが初期値1に設定され、出力素子の番号j(教師デ
ータの成分番号j)が初期値の1に設定される。次にス
テップ202へ移行して、第i番目の入力データDiと
第i番目の教師データEiが入力データ記憶領域31と
教師データ記憶領域32とから抽出される。
【0034】次にステップ206へ移行して、次式によ
り出力層の読みだされた第i番目の教師データEiの第
j成分eijに対応した素子の学習信号が演算される。
【数16】 Y3 j =(eij−O3 j ) ・f' (I3 j ) 式16 但し、Y3 j 、O3 j 、I3 j では、データ番号iは省
略されている。f'(X)はシグモンド関数の導関数であ
る。又、I3 j は、入力データDi の各成分を式10の
1 k 代入して、中間層のの全ての素子に関しI2 k
求め、I2 k を式11に代入して中間層の全ての素子に
関して出力O2 k を求め、その全てのkに関してO2 k
を式12に代入して求められる。又、O3 j は、I3 j
を式13に代入して求められる。
【0035】次に、ステップ210において、全出力素
子について、学習信号が演算されたか否かが判定され、
判定結果がNOの場合には、ステップ212において、
素子番号jが1だけ加算され、ステップ206へ戻り、
次の出力素子に関する学習信号が演算される。ステップ
210で全出力素子に関する学習信号の演算が完了した
と判定されると、ステップ214において、中間層の任
意の第r番目の素子に関する学習信号Yが次式で演算さ
れる。
【数17】 このような学習演算が、中間層の全素子に関して実行さ
れる。
【0036】次に、ステップ216において、出力層の
各結合係数が補正される。補正量は次式で求められる。
【数18】 Δω2 i, 3 j (t)=P・Y3 j ・f(I2 i )+ Q・Δω2 i, 3 j (t−1) 式18 但し、Δω2 i, 3 j (t)は、出力層の第j番目の素子
と中間層の第i番目の素子との間の結合係数の第t回目
演算の変化量である。又、Δω2 i, 3 j (t−1)は、
その結合係数の前回の補正量である。P、Qは比例定数
である。よって結合係数は、
【数19】 W2 i, 3 j +Δω2 i, 3 j (t)→ W2 i, 3 j 式19 により、補正された結合係数が求められる。
【0037】次に、ステップ218へ移行して、中間層
の各素子の各結合係数が補正される。その結合係数の補
正量は出力層の場合と同様に、次式で求められる。
【数20】 Δω1 i, 2 j (t)=P・Y2 j ・f(I1 i )+ Q・Δω1 i, 2 j (t−1) 式20 よって結合係数は、
【数21】 W1 i, 2 j +Δω1 i, 2 j (t)→ W1 i, 2 j 式21 により、補正された結合係数が求められる。
【0038】次に、ステップ220において、学習対象
のn個の入力データ及び教師データに対して1回の学習
が完了したか否かが判定される。全ての入力データに対
する学習が終了していない場合には、ステップ222へ
移行して、次の入力データとその入力データに対応する
教師データを入力データ記憶領域31と教師データ記憶
領域32から読み込むためにデータ番号iが1だけ加算
され、成分番号jは初期値の1に設定される。そして、
ステップ202へ戻り、次の入力データ及び教師データ
を用いて上記した学習が実行される。
【0039】ステップ220でn個全部の入力データ及
び教師データに関して学習が完了したと判定されると、
ステップ224に移行して、出力データと教師データの
差の自乗の値が所定の値以下になったか否かの判定によ
り、結合係数が収束したか否かが判定される。結合係数
が収束していなければ、ステップ200に戻り、第2回
目の学習を行うために、第1番目の入力データ及び教師
データから上述した学習が実行される。
【0040】このようにして、ステップ224におい
て、出力データと教師データの差の自乗の値が所定の値
以下となり、学習が収束するまで、上記の学習演算が繰
り返し実行される。この結果、初期の広範囲の事象に関
して初期学習されたニューラルネットワークが完成され
る。この学習の結果、本実施例のニューラルネットワー
ク509は、図6に示すように、関節角ベクトルΘaを
入力することにより必要な補正マトリクスΔMmを演算
することが可能となる。そして、本実施例では、同様な
再学習を図4で説明したように周期的に行わせ、ロボッ
トの経年変化による誤差増大にも対応する。
【0041】次に、本発明の更に別の実施例について、
図11を参照して説明する。前述した実施例において
は、ニューラルネットワークに学習を行わせる際に、入
力データとして関節角ベクトルΘaを用いたが、本実施
例では入力データとして、目標位置マトリクスMmを用
いる。なお、この実施例のロボット制御装置の構成は、
前述した実施例と同様であるので、図1及び図2を参照
しその説明は省略する。
【0042】先ず、CPU11は、記憶装置に記憶され
ている目標位置マトリクスMmをm個〔Mm1 ,M
2 ,・・・Mmm 〕入力する(ステップ701)。ス
テップ702で、第1番目の目標位置マトリクスMm1
がセットされ、そして、誤差要因として荷重及び温度を
考慮し、目標位置マトリクスMm1 に対応するロボット
の各関節の関節角ベクトルΘa1 を演算する(ステップ
703)。次に、この関節角ベクトルΘa1 を基にロボ
ット10を動作させる(ステップ704)。この動作終
了後に、CPU11は、前述のロボット先端位置自動測
定装置51に動作指令を発してロボットアームの実際の
先端位置マトリクスMa1を測定する(ステップ70
5)。そして、目標位置マトリクスMm1 の逆行列を求
めると共に、この逆行列と該先端位置マトリクスMa1
とから前述した式3(ΔMm=Mm-1・Ma)を用い
て、補正マトリクスΔMm1 を求める(ステップ70
6)。
【0043】他方、この測定によるデータの蓄積と共
に、CPU11は、前述の誤差要因項目自動測定装置5
2を駆動して、温度、荷重等の誤差要因項目を測定する
(ステップ707)。そして、ステップ708におい
て、ニューラルネットワークの学習に用いる。目標位置
マトリクスMm1 に関する一組のデータとして、該目標
位置マトリクスMm1 と、補正マトリクスΔMm1 と、
誤差要因項目(荷重、温度等)とを保持する。
【0044】次に、判断ステップ709で、目標位置マ
トリクスMm1 からMmm までのm個全ての目標位置マ
トリクスについてデータの蓄積がなされたかを判断す
る。m個のデータが蓄積されていない場合にはステップ
703へ戻り、次の目標位置マトリクスMmi について
のデータの蓄積を行う。一方、目標位置マトリクスMm
m までm個全ての目標位置マトリクスについてデータの
蓄積がなされると(判断ステップ709がYes)、ス
テップ710へ移行し、上述したステップ708で蓄積
された目標位置マトリクスMm〔Mm1 ,Mm2 ,・・
・Mmm 〕と誤差要因項目とを入力データとし、補正マ
トリクスΔMm〔ΔMm1 ,ΔMm2 ,・・・ΔM
m 〕を教師データとする学習をニューラルネットワー
クに行わせ、ニューラルネットワークに目標位置マトリ
クスMmに対する補正マトリクスΔMmの関係を学ばせ
る。
【0045】この実施例においても、図4を参照して説
明した実施例と同様にロボット制御装置の動作中にも再
学習を行うが、図4の例では、ロボット制御装置の動作
回数をカウンタにより計数し、これが所定回数に達した
とき学習を開始したのに対し、本実施例では、ロボット
制御装置の運転時間を積算し、これが所定の時間に達し
た時に再学習を行う。他の処理は、図4の例と略同様で
あるので図示及び詳細な説明を省略する。なお、この再
学習を精度確認サイクルに基づく周期で行うようにする
ことも可能である。
【0046】また、図11を参照して説明した実施例に
おいては、入力データとして目標位置マトリクスMm
を、そして、教師データとして補正マトリクスΔMmを
用いたが、本発明においては、入力データ及び教師デー
タとして適宜所望のデータを用いることが可能である。
例えば、入力データとして目標位置マトリクスMmを、
教師データとして、補正された目標位置マトリクスM
m’を制御目標とする関節角ベクトルΘa’を用いるこ
とも、また、入力データとして関節角ベクトルΘaを、
教師データとして補正された目標位置マトリクスMm’
を制御目標とする関節角ベクトルΘa’を用いることも
できる。また更に、本実施例では、入力層LI、中間層
LM、出力層LOからなる3層構造のニューラルネット
ワークを例に取ったが、本発明のニューラルネットワー
クはかかる構成に限定されず、必要な学習を行い得るい
かなる構成のニューラルネットワークでも本発明の所期
の目的を達成できる。また、本実施例の補正の考え方を
説明する際に、説明の便宜のために数式を挙げて説明し
たが、本発明はこれら数式に限定されるものではない。
【0047】本実施例においては、図4で説明したよう
に、ロボット制御装置の再学習を行う際に位置誤差を測
定し、この位置誤差が大きな場合には異常を報知する構
成となっているので、ロボットに異常が発生した場合速
やかにこれを検出することが可能である。
【0048】
【発明の効果】本発明は、以上説明したように構成され
ており、ニューラルネットワークへの学習作業を自動的
に行うことができる。また、ロボットの経年変化に対応
する誤差補正を自動的に行うことが出来るという優れた
効果を有する。
【図面の簡単な説明】
【図1】本発明の一実施例に係るロボットの機械的構成
を示す構成図。
【図2】図1に示すロボットを制御する本実施例に係る
ロボット制御装置の構成を示したブロック図。
【図3】本実施例に係るロボット制御装置の初期学習時
における処理を説明するフローチャート。
【図4】本実施例に係るロボット制御装置の運用中の再
学習時における処理を説明するフローチャート。
【図5】本実施例に係るロボット制御装置の学習時にお
ける制御を説明するブロック図。
【図6】本実施例に係るロボット制御装置の学習後にお
ける制御を説明するブロック図。
【図7】本実施例に係るロボット制御装置のニューラル
ネットワークの構成を示した構成図。
【図8】図7に示す実施例に係るニューラルネットワー
クの演算手順を示したフローチャート。
【図9】図7に示す実施例に係るニューラルネットワー
クの学習手順を示したフローチャート。
【図10】ニューラルネットワークの学習に用いられる
入力データと教師データを有するデータベースのデータ
構成を示した構成図。
【図11】本発明の別実施例に係るロボット制御装置の
初期学習時における処理を説明するフローチャート。
【符号の説明】
10 ロボット 11 CPU 18 3次元位置測定装置 20 ROM 30 RAM 51 ロボット先端位置自動測定装置 52 誤差要因項目自動測定装置 509 ニューラルネットワーク 501 目標位置マトリクスMm入力部 503 座標逆変換fa演算部 505 関節角ベクトルΘa保持部 507 誤差要因項目保持部 511 ロボット制御部 515 補正マトリクスΔMm演算部 517 補正マトリクスΔMm保持部 LI 入力層 LM 中間層 LO 出力層

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 ロボットの目標位置を保持する目標位置
    保持手段と、 前記目標位置に対応するロボットの制御目標値を算出す
    る制御目標値算出手段と、 前記制御目標値を基にロボットを制御する制御手段と、 前記制御手段により制御されたロボットの位置を測定す
    る測定手段と、 前記ロボットの目標位置と、それに基づき制御された位
    置を測定した前記測定位置から目標位置を補正するため
    の補正量を算出する補正量算出手段と、 目標位置を補正する補正量を出力するニューラルネット
    ワークと、前記ニューラルネットワークに前記ロボット
    の目標位置又は制御目標値を入力データとし、前記補正
    量算出手段により算出された補正量を教師データとする
    学習を、ロボットの制御の開始後も予め設定された頻度
    で行わせるニューラルネットワーク学習手段とからなる
    ことを特徴とするロボット制御装置。
JP27668092A 1992-09-21 1992-09-21 ロボット制御装置 Pending JPH0699373A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP27668092A JPH0699373A (ja) 1992-09-21 1992-09-21 ロボット制御装置
EP93115114A EP0589394A1 (en) 1992-09-21 1993-09-20 Method and apparatus for controlling a robot using a neural network
US08/123,997 US5555347A (en) 1992-09-21 1993-09-21 Method and apparatus for controlling a robot using a neural network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27668092A JPH0699373A (ja) 1992-09-21 1992-09-21 ロボット制御装置

Publications (1)

Publication Number Publication Date
JPH0699373A true JPH0699373A (ja) 1994-04-12

Family

ID=17572828

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27668092A Pending JPH0699373A (ja) 1992-09-21 1992-09-21 ロボット制御装置

Country Status (1)

Country Link
JP (1) JPH0699373A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002516424A (ja) * 1998-05-15 2002-06-04 インスティテュート フュア ベルクツオイグマシーネン ウント ベトリーブスビッセンシャフテン 産業用ロボットの制御方法
JP2003525758A (ja) * 2000-03-06 2003-09-02 マーポス、ソチエタ、ペル、アツィオーニ 研削位置においてクランク軸のクランクピン直径を測定する装置並びに方法
WO2008068989A1 (ja) * 2006-12-07 2008-06-12 Ihi Corporation パラレルリンク式搬送装置とその制御方法
WO2009050792A1 (ja) * 2007-10-16 2009-04-23 Fujitsu Limited アライメント調整装置、ライブラリ装置及びアライメント調整方法
JP5347968B2 (ja) * 2007-10-16 2013-11-20 富士通株式会社 アライメント調整装置、ライブラリ装置及びアライメント調整方法
JP6469320B1 (ja) * 2017-11-10 2019-02-13 三菱電機株式会社 サーボ制御装置
JP2020148329A (ja) * 2019-03-15 2020-09-17 ダイキン工業株式会社 機械学習装置、及び、磁気軸受装置

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002516424A (ja) * 1998-05-15 2002-06-04 インスティテュート フュア ベルクツオイグマシーネン ウント ベトリーブスビッセンシャフテン 産業用ロボットの制御方法
JP4860083B2 (ja) * 2000-03-06 2012-01-25 マーポス、ソチエタ、ペル、アツィオーニ 研削位置においてクランク軸のクランクピン直径を測定する装置並びに方法
JP2003525758A (ja) * 2000-03-06 2003-09-02 マーポス、ソチエタ、ペル、アツィオーニ 研削位置においてクランク軸のクランクピン直径を測定する装置並びに方法
WO2008068989A1 (ja) * 2006-12-07 2008-06-12 Ihi Corporation パラレルリンク式搬送装置とその制御方法
US8214076B2 (en) 2007-10-16 2012-07-03 Fujitsu Limited Alignment adjusting apparatus, library apparatus, and alignment adjusting method
WO2009050929A1 (ja) * 2007-10-16 2009-04-23 Fujitsu Limited アライメント調整装置、ライブラリ装置及びアライメント調整方法
WO2009050792A1 (ja) * 2007-10-16 2009-04-23 Fujitsu Limited アライメント調整装置、ライブラリ装置及びアライメント調整方法
JP5347968B2 (ja) * 2007-10-16 2013-11-20 富士通株式会社 アライメント調整装置、ライブラリ装置及びアライメント調整方法
JP6469320B1 (ja) * 2017-11-10 2019-02-13 三菱電機株式会社 サーボ制御装置
JP2020148329A (ja) * 2019-03-15 2020-09-17 ダイキン工業株式会社 機械学習装置、及び、磁気軸受装置
WO2020189565A1 (ja) * 2019-03-15 2020-09-24 ダイキン工業株式会社 機械学習装置、及び、磁気軸受装置
CN113574289A (zh) * 2019-03-15 2021-10-29 大金工业株式会社 机器学习装置和磁轴承装置
CN113574289B (zh) * 2019-03-15 2023-06-09 大金工业株式会社 机器学习装置和磁轴承装置

Similar Documents

Publication Publication Date Title
US5555347A (en) Method and apparatus for controlling a robot using a neural network
JP5083194B2 (ja) ロボットのキャリブレーション方法及びロボットの制御装置
Zhong et al. Inverse robot calibration using artificial neural networks
Wang et al. Nonparametric statistical learning control of robot manipulators for trajectory or contour tracking
US11550291B2 (en) Advanced thermal compensation of mechanical processes
JP3349652B2 (ja) オフラインティーチング方法
Gong et al. A self-calibration method for robotic measurement system
CN112571420B (zh) 一种未知参数下的双功能模型预测控制方法
CN115648228B (zh) 工业机器人多源误差补偿方法、装置、设备及存储介质
Li et al. Real-time trajectory position error compensation technology of industrial robot
JPH0699373A (ja) ロボット制御装置
JPH068107A (ja) 工作機械における熱変位補正方法
CN114131595B (zh) 一种机器人6d位姿估计系统及方法
Nguyen et al. Improving robot precision positioning using a neural network based on Levenberg Marquardt–APSO algorithm
Song et al. Calibration of a Stewart platform by designing a robust joint compensator with artificial neural networks
Kolyubin et al. Consistent kinematics and dynamics calibration of lightweight redundant industrial manipulators
JPH0699372A (ja) ロボット制御装置
Dahmane et al. Analysis and compensation of positioning errors of robotic systems by an interactive method
Zhang et al. Time delay compensation of a robotic arm based on multiple sensors for indirect teaching
JP2629291B2 (ja) マニピュレータ学習制御方法
Knani Dynamic modelling of flexible robotic mechanisms and adaptive robust control of trajectory computer simulation––Part I
JPH06114769A (ja) オフラインティーチング装置
JPH06114768A (ja) ロボット制御装置
Yu Parallel robots pose accuracy compensation using artificial neural networks
JP2798873B2 (ja) 三次元位置制御システム