JPH06114768A - Robot control device - Google Patents

Robot control device

Info

Publication number
JPH06114768A
JPH06114768A JP28526892A JP28526892A JPH06114768A JP H06114768 A JPH06114768 A JP H06114768A JP 28526892 A JP28526892 A JP 28526892A JP 28526892 A JP28526892 A JP 28526892A JP H06114768 A JPH06114768 A JP H06114768A
Authority
JP
Japan
Prior art keywords
robot
target position
neural network
matrix
correction
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
JP28526892A
Other languages
Japanese (ja)
Inventor
Yukinori Kakazu
侑昇 嘉数
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 JP28526892A priority Critical patent/JPH06114768A/en
Priority to EP93115114A priority patent/EP0589394A1/en
Priority to US08/123,997 priority patent/US5555347A/en
Publication of JPH06114768A publication Critical patent/JPH06114768A/en
Pending legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

PURPOSE:To provide a robot control device which is designed to cope with an error factor, being heretofore non-considerable, improve correction precision, and obviate the need for teaching at a site. CONSTITUTION:An objective position computed by an Off-line teaching host system 60 is received by the objective position Mm' holding part 51 of a robot control device 50 and the objective position Mm' is corrected by a correcting part 52 by means of the output of a neutral network. A robot 10 is controlled by a robot control part 54 based on the objective position Mm' corrected by means of the output of the neutral network.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、ロボット制御装置に関
し、特に、ニューラルネットワークを用いてロボットの
位置補正を行う、オフラインティーチングシステムでの
ロボット制御装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a robot controller, and more particularly to a robot controller in an offline teaching system that corrects the position of a robot by using a neural network.

【0002】[0002]

【従来の技術】産業用ロボットにおける絶対位置決め誤
差は、機械加工誤差、組付け誤差、熱歪等によるロボッ
トアームの寸法の誤差と、自重等による各関節のたわみ
等が原因となっている。従来のオフラインティーチング
システムでの産業用ロボットの制御は、図11に示すよ
うに、先ず、オフラインティーチングシステム700側
で、目標位置を生成し(701)、この目標位置Mmを
保持し(702)、そしてこの値をアーム長、組付け角
度誤差等を考慮した数学モデルにより補正を行い(70
3)補正された目標位置Mm’を算出し、これを例えば
フロッピイディスクに書き込むことにより保持する(7
04)。そして、オペレータが、ロボット710を動作
させる際に、フロッピィディスクをロボット制御装置7
50側に移しかえる。このフロッピィディスクに書き込
まれている補正された目標位置Mm’をロボット制御装
置750が読み出し(751)、該ロボット710の制
御を行っていた(754)。
2. Description of the Related Art An absolute positioning error in an industrial robot is caused by a machining error, an assembly error, a dimensional error of a robot arm due to thermal strain, and a flexure of each joint due to its own weight. In the control of the industrial robot in the conventional offline teaching system, as shown in FIG. 11, first, a target position is generated on the side of the offline teaching system 700 (701), and this target position Mm is held (702), Then, this value is corrected by a mathematical model considering the arm length, the assembly angle error, etc. (70
3) The corrected target position Mm 'is calculated, and this is held by, for example, writing it on the floppy disk (7).
04). Then, when the operator operates the robot 710, the floppy disk is moved to the robot controller 7
Move to 50 side. The robot control device 750 reads the corrected target position Mm ′ written in the floppy disk (751) and controls the robot 710 (754).

【0003】[0003]

【発明が解決しようとする課題】しかしながら、オフラ
インティーチングシステム側で、目標位置Mmを誤差要
因を考慮した数学モデルで補正を行おうとしても、ロボ
ットの位置決め誤差の原因は多岐にわたり、これを数学
モデルで完全に表現することは困難であるため補正精度
には限界があった。
However, even if the target position Mm is corrected on the side of the offline teaching system by a mathematical model in consideration of the error factors, there are various causes of the positioning error of the robot, and the mathematical model is used. There is a limit to the correction accuracy because it is difficult to completely express with.

【0004】また、上述のようにロボットの絶対位置決
め精度が低いために、オフラインティーチングシステム
のロボット制御装置を設定するときに、実際に使用され
る場所でのティーチング補正が必要となる。このため
に、ロボット制御装置の設定に時間がかかり、また、こ
れを行うために非常な労力が必要となりコストアップの
原因となっていた。
Further, since the absolute positioning accuracy of the robot is low as described above, when the robot controller of the offline teaching system is set, it is necessary to correct the teaching at a place where it is actually used. For this reason, it takes time to set the robot control device, and a great deal of labor is required to do this, which causes a cost increase.

【0005】本発明は、上記課題を解決するために成さ
れたもので、その目的とするところは、補正精度が高
く、現場でのティーチング補正が不要なロボット制御装
置を提供することにある。
The present invention has been made to solve the above problems, and an object of the present invention is to provide a robot controller having high correction accuracy and requiring no on-site teaching correction.

【0006】[0006]

【課題を解決するための手段】上記課題を解決するため
の発明の構成は、オフラインティーチングシステムのロ
ボット制御装置であって、オフラインティーチングシス
テムにより算出されたロボット制御の目標位置を受け取
る目標位置保持手段と、該目標位置を入力として補正量
を出力するニューラルネットワークと、ニューラルネッ
トワークの出力により前記算出された目標位置を補正す
る補正手段と、該ニューラルネットワークにより補正さ
れた前記目標位置に基づきロボットの制御を行う制御手
段とを有することを特徴とする。
The structure of the invention for solving the above-mentioned problems is a robot controller for an off-line teaching system, and a target position holding means for receiving a robot control target position calculated by the off-line teaching system. A neural network that outputs a correction amount using the target position as an input; a correction unit that corrects the calculated target position by the output of the neural network; and a robot control based on the target position corrected by the neural network. And a control means for performing.

【0007】[0007]

【作用】上記の手段によれば、目標位置保持手段がオフ
ラインティーチングシステムにより算出された目標位置
を受け取り、補正手段がニューラルネットワークにより
前記算出された目標位置を補正し、制御手段が該ニュー
ラルネットワークによる補正された前記目標位置に基づ
きロボットの制御を行う。
According to the above means, the target position holding means receives the target position calculated by the offline teaching system, the correction means corrects the calculated target position by the neural network, and the control means operates by the neural network. The robot is controlled based on the corrected target position.

【0008】[0008]

【実施例】以下に、本実施例に係るロボット制御装置を
図を参照して説明する。先ず、図3参照して、本実施例
に係るロボット制御装置50、及び、このロボット制御
装置50にロボットの制御目標位置を与えるオフライン
ティーチングホストシステム60の動作の概略について
説明する。オフラインティーチングシステム60側にお
いて、目標位置生成部61でロボットの制御目標の位置
マトリクスMmを生成し、目標位置Mm保持部62でこ
の目標位置マトリクスMmを保持し、補正部63で、こ
の目標位置マトリクスMmの値をロボットのアーム長、
組付け角度誤差等を考慮した数学モデルにより補正を行
い補正された目標位置マトリクスMm’を得る。次に、
これを目標位置保持部64において、例えばフロッピイ
ディスクにロボットの制御情報として書き込む。そし
て、この補正された目標位置マトリクスMm’の書き込
まれたフロッピイディスクをオペレータが該目標位置マ
トリクスMm’保持部64から取り出し、ロボット制御
装置50側の目標位置マトリクスMm’保持部51にセ
ットすることにより、該ロボット制御装置50を動作さ
せる。ロボット制御装置50の目標位置保持部51は、
フロッピイディスクに書き込まれている補正された目標
位置マトリクスMm’を読み出し、補正部52でニュー
ラルネットワークの出力に基づき目標位置マトリクスM
m’を補正し、ニューラルネットワークにより更に補正
された目標位置マトリクスMm''を得る。そして、これ
を目標位置マトリクスMm''保持部53が保持し、ロボ
ット制御部54が、このニューラルネットワークにより
補正された目標位置マトリクスMm''を基に、ロボット
10の制御を行う。このロボット制御装置50により制
御される6関節を有するロボット10について、更に詳
細に図1を参照して説明する。ロボット10は、ベース
13に固定された脚柱12に取り付けられた、コラム1
4と、第1アーム15と、第2アーム16と、第3アー
ム17と、フインガ19とから構成され、第1関節a、
第2関節b、第3関節c、第4関節d、第5関節e、第
6関節fにより、6自由度で自在にフインガ19の位置
及び姿勢を制御できるよう構成されている。
EXAMPLE A robot controller according to this example will be described below with reference to the drawings. First, with reference to FIG. 3, an outline of the operation of the robot control device 50 according to the present embodiment and the offline teaching host system 60 that gives the robot control target position to the robot control target position will be described. On the side of the offline teaching system 60, the target position generation unit 61 generates the position matrix Mm of the robot control target, the target position Mm holding unit 62 holds this target position matrix Mm, and the correction unit 63 uses this target position matrix. The value of Mm is the arm length of the robot,
A corrected target position matrix Mm ′ is obtained by performing correction using a mathematical model that takes into account the assembly angle error and the like. next,
The target position holding unit 64 writes this as control information of the robot, for example, on a floppy disk. Then, the operator takes out the floppy disk in which the corrected target position matrix Mm ′ is written from the target position matrix Mm ′ holding unit 64 and sets it in the target position matrix Mm ′ holding unit 51 on the robot controller 50 side. Thus, the robot control device 50 is operated. The target position holding unit 51 of the robot controller 50 is
The corrected target position matrix Mm ′ written on the floppy disk is read out, and the correction unit 52 outputs the target position matrix M based on the output of the neural network.
The target position matrix Mm ″ that is further corrected by the neural network is obtained by correcting m ′. The target position matrix Mm ″ holding unit 53 holds this, and the robot control unit 54 controls the robot 10 based on the target position matrix Mm ″ corrected by this neural network. The robot 10 having 6 joints controlled by the robot controller 50 will be described in more detail with reference to FIG. The robot 10 has a column 1 attached to a pedestal 12 fixed to a base 13.
4, a first arm 15, a second arm 16, a third arm 17, and a finger 19, and the first joint a,
The second joint b, the third joint c, the fourth joint d, the fifth joint e, and the sixth joint f are configured so that the position and posture of the finger 19 can be freely controlled with 6 degrees of freedom.

【0009】次に、ロボット10を制御する前述のロボ
ット制御装置50の構成を図2を参照して説明する。ロ
ボット10の位置の演算及び制御を行うCPU11に
は、制御指令を入力するオペレーティングボックス27
及び操作盤26と、図3に示すオフラインティーチング
ホストシステム60の作成した制御情報(フロッピィデ
ィスク)等を保持する外部記憶装置29と、後で詳述す
るROM20と、RAM30とが接続されている。更
に、CPU11には、第1関節aを制御する1軸サーボ
制御部40a乃至第6関節を制御する6軸サーボ制御部
40fが接続され、該CPU11は、前述の外部記憶装
置29に収容された制御情報に基づき設定された処理を
行い、該1軸サーボ制御部40a乃至6軸サーボ制御部
40fに制御指令を発する。これに応じて各サーボ制御
部(40a〜40f)は、サーボモータM1乃至M6を
回動させ、第1関節a乃至第6関節fを動かすことによ
りロボット10を駆動する。各サーボモータM1乃至M
6の動きは、エンコーダE1乃至E6により各々のサー
ボ制御部に帰還される。
Next, the configuration of the robot controller 50 for controlling the robot 10 will be described with reference to FIG. An operating box 27 for inputting a control command is input to the CPU 11 that calculates and controls the position of the robot 10.
An operation panel 26, an external storage device 29 for holding control information (floppy disk) created by the offline teaching host system 60 shown in FIG. 3, a ROM 20 described later in detail, and a RAM 30 are connected. Further, the CPU 11 is connected to the 1-axis servo control section 40a for controlling the first joint a through the 6-axis servo control section 40f for controlling the sixth joint, and the CPU 11 is housed in the external storage device 29 described above. The processing set based on the control information is performed, and a control command is issued to the 1-axis servo control section 40a to 6-axis servo control section 40f. In response to this, each of the servo control units (40a to 40f) drives the robot 10 by rotating the servo motors M1 to M6 and moving the first joint a to the sixth joint f. Each servo motor M1 to M
The movements of 6 are fed back to the respective servo control units by the encoders E1 to E6.

【0010】次に、本実施例の位置補正についてロボッ
ト制御装置による制御の説明に先立ち説明する。従来の
産業用ロボットの制御は、図11に関連して従来技術の
項で前述したように、オフラインティーチングシステム
700側で、ロボットアームの先端の目標とする位置マ
トリクスMmを求め(701)、この目標位置マトリク
スMmを、誤差を考慮した数学モデルdにより位置誤差
補正を行い、補正された目標位置マトリクスMm’を得
て(703)、これを保持する(704)。そして、ロ
ボット制御装置750側で、この補正された目標位置マ
トリクスMm’を逆変換関数faにより、逆変換してロ
ボットの各関節の制御目標となる関節角ベクトルΘaを
求め、これを基にロボットを制御していた(754)。
関節角ベクトルΘaを基に制御されたロボットアーム先
端の位置マトリクスMaは、すべての誤差が反映される
実際の順変換関数gtにより関節角ベクトルΘaを順変
換することにより求められる。
Next, the position correction of this embodiment will be described prior to the description of the control by the robot controller. In the control of the conventional industrial robot, as described above in the section of the related art with reference to FIG. 11, the target position matrix Mm of the tip of the robot arm is obtained (701) on the offline teaching system 700 side, and The position error correction is performed on the target position matrix Mm using a mathematical model d in consideration of the error, the corrected target position matrix Mm ′ is obtained (703), and this is held (704). Then, on the robot controller 750 side, the corrected target position matrix Mm ′ is inversely transformed by the inverse transformation function fa to obtain the joint angle vector Θa which is the control target of each joint of the robot, and the robot is based on this. Were controlled (754).
The position matrix Ma of the robot arm tip, which is controlled based on the joint angle vector Θa, is obtained by forward transforming the joint angle vector Θa by an actual forward transformation function gt that reflects all errors.

【数1】 d fa gt Mm → Mm’→ Θa → Ma 式1 ここで、Mm:目標とする位置マトリクス d:誤差を限定して考慮した数学モデル Mm’:数学モデルdにより補正された目標位置マトリ
クス fa:逆変換関数 Θa:制御目標となる関節角ベクトル gt:すべての誤差が反映される実際の順変換関数 Ma:Θaを基に制御されたロボットアーム先端の位置
マトリクス
## EQU00001 ## d fa gt Mm.fwdarw.Mm'.fwdarw..THETA.a.fwdarw.Ma Equation 1 where Mm: target position matrix d: mathematical model in which error is limited Mm ': target position corrected by mathematical model d Matrix fa: Inverse transformation function Θa: Joint angle vector to be controlled gt: Actual forward transformation function that reflects all errors Ma: Position matrix of robot arm tip controlled based on Θa

【0011】ここでは、誤差要因を限定して考慮した数
学モデルdにより補正した目標位置マトリクスMm’を
基に、関節角ベクトルΘaを求めロボットを制御してい
るが、実際に制御されたロボットの位置マトリクスMa
には、数学モデルdでは考慮できなかった誤差分が含ま
れるため、この誤差分がロボット制御装置の制御誤差と
なった。即ち、実際の位置マトリクスMaを規定する順
変換関数gtには考慮できなかった誤差分が含まれ、数
学モデルdによる補正と順変換関数gtによる順変換と
により生ずる差が誤差となり、これが制御されたロボッ
トアームの位置マトリクスMaと、目標位置マトリクス
Mmとの位置誤差になっていた。
Here, the robot is controlled by obtaining the joint angle vector Θa on the basis of the target position matrix Mm ′ corrected by the mathematical model d in which the error factors are limited and taken into consideration. Position matrix Ma
Contains an error that could not be considered in the mathematical model d, and this error became a control error of the robot controller. That is, the forward conversion function gt that defines the actual position matrix Ma contains an error that could not be considered, and the difference caused by the correction by the mathematical model d and the forward conversion by the forward conversion function gt becomes an error, which is controlled. Further, there is a position error between the position matrix Ma of the robot arm and the target position matrix Mm.

【0012】これに対して本実施例では、図3に示すよ
うな構成を採用し、式1に示す制御されたロボットアー
ムの位置マトリクスMaが、目標とする位置マトリクス
Mmに等しくなるように、数学モデルdにより補正され
た目標位置マトリクスMm’を、誤差量(必要な補正
量)である補正マトリクスΔMm(ニューラルネットワ
ークの出力)で更に補正し(52)、この補正された目
標位置マトリクスMm''に基づきロボット10を制御す
る(54)。この補正の考え方について以下更に詳細に
説明する。
On the other hand, in the present embodiment, the configuration as shown in FIG. 3 is adopted so that the position matrix Ma of the controlled robot arm shown in Expression 1 becomes equal to the target position matrix Mm. The target position matrix Mm ′ corrected by the mathematical model d is further corrected by a correction matrix ΔMm (output of the neural network) which is an error amount (necessary correction amount) (52), and the corrected target position matrix Mm ′ is obtained. The robot 10 is controlled on the basis of '(54). The concept of this correction will be described in more detail below.

【0013】先ず、数学モデルdによる補正と順変換関
数gtによる順変換とにより生じる誤差量が必要な補正
量に相当すると考え、数学モデルdによる補正と順変換
関数gtによる順変換とを補正マトリクスΔMmと置く
と、式1は次式で表すことができる。
First, it is considered that the error amount caused by the correction by the mathematical model d and the forward conversion by the forward conversion function gt corresponds to the necessary correction amount, and the correction by the mathematical model d and the forward conversion by the forward conversion function gt are performed as a correction matrix. When ΔMm is set, Expression 1 can be expressed by the following expression.

【数2】 Mm・ΔMm=Ma 式2 そして、式2から誤差量(補正マトリクス)ΔMmは次
式で表される。
## EQU00002 ## Mm..DELTA.Mm = Ma Equation 2 Then, from Equation 2, the error amount (correction matrix) .DELTA.Mm is expressed by the following equation.

【数3】 ΔMm=Mm-1・Ma 式3## EQU3 ## ΔMm = Mm −1 · Ma Equation 3

【0014】ここで、誤差量(補正マトリクス)ΔMm
の逆行列ΔMm-1を必要な補正量と考え、本実施例では
オフラインティーチングホストシステムで補正された目
標位置マトリクスMm’にこの補正量ΔMm-1を掛けた
もの(Mm’・ΔMm-1)をニューラルネットワークで
補正された目標位置マトリクスMm''とし、これに基づ
いてロボットを制御する。
Here, the error amount (correction matrix) ΔMm
The inverse matrix ΔMm −1 of is regarded as a necessary correction amount, and in the present embodiment, the target position matrix Mm ′ corrected by the offline teaching host system is multiplied by this correction amount ΔMm −1 (Mm ′ · ΔMm −1 ). Is a target position matrix Mm ″ corrected by the neural network, and the robot is controlled based on this.

【0015】次に、本実施例に係るロボット制御装置5
0のニューラルネットワークへの学習を、CPU11の
演算処理の概要をブロック図にした図4を参照して説明
する。先ず、目標位置マトリクスMm’入力部401
で、オフラインティーチングホストシステム60が算出
した制御目標の位置マトリクスMm’(これは図3に示
すように先ず目標位置マトリクスMmを生成し、誤差を
考慮した数学モデルdを用いて補正したものである)を
入力する。そして、座標逆変換fa演算部403で、逆
変換関数faにより、目標位置マトリクスMm’に対応
するロボットの各関節の関節角ベクトルΘaを演算す
る。
Next, the robot controller 5 according to this embodiment.
The learning of 0 into the neural network will be described with reference to FIG. 4, which is a block diagram showing the outline of the arithmetic processing of the CPU 11. First, the target position matrix Mm ′ input unit 401
Then, the position matrix Mm 'of the control target calculated by the offline teaching host system 60 (this is the target position matrix Mm first generated as shown in FIG. 3 and corrected by using the mathematical model d considering the error). ) Is entered. Then, the coordinate inverse transformation fa computing unit 403 computes the joint angle vector Θa of each joint of the robot corresponding to the target position matrix Mm ′ by the inverse transformation function fa.

【0016】次に、座標逆変換fa演算部403で求め
られたロボットの各関節の関節角ベクトルΘaを、関節
角ベクトルΘa保持部405に保持すると共に、この時
のロボット制御の誤差要因となる荷重、温度等を誤差要
因項目保持部407に保持する。そして、この関節角ベ
クトルΘaを基に、ロボット制御部411でロボット1
0を動作させる。この動作後に、位置マトリクスMa測
定部413でロボットアームの実際の先端位置マトリク
スMaを測定する。そして、補正マトリクスΔMm演算
部415で、目標位置マトリクスMm’の逆行列を求め
ると共に、この逆行列と該先端位置マトリクスMaとか
ら前述した式3(ΔMm=Mm-1・Ma)を用いて、補
正マトリクスΔMmを求める。そして、求められた補正
マトリクスΔMmを補正マトリクスΔMm保持部417
へ保持させる。
Next, the joint angle vector Θa of each joint of the robot obtained by the coordinate inverse transformation fa computing unit 403 is held in the joint angle vector Θa holding unit 405, which becomes an error factor of robot control at this time. The load, the temperature, etc. are held in the error factor item holding unit 407. Then, based on the joint angle vector Θa, the robot controller 411 controls the robot 1
0 is operated. After this operation, the position matrix Ma measuring unit 413 measures the actual tip position matrix Ma of the robot arm. Then, the correction matrix ΔMm calculation unit 415 obtains an inverse matrix of the target position matrix Mm ′, and using the above-mentioned Equation 3 (ΔMm = Mm −1 · Ma) from the inverse matrix and the tip position matrix Ma, The correction matrix ΔMm is obtained. Then, the calculated correction matrix ΔMm is stored in the correction matrix ΔMm holding unit 417.
To hold.

【0017】上記処理による補正データの蓄積を複数の
位置について行う。そして、蓄積された関節角ベクトル
Θaと誤差要因項目とを入力データとし、補正マトリク
スΔMmを教師データとする学習をニューラルネットワ
ーク409に行わせ、ニューラルネットワーク409に
関節角ベクトルΘaに対する補正マトリクスΔMmの関
係を学ばせる。このニューラルネットワーク409の学
習については、後で更に詳細に説明する。
Accumulation of correction data by the above processing is performed for a plurality of positions. Then, the neural network 409 is made to perform learning using the accumulated joint angle vector Θa and the error factor item as input data and the correction matrix ΔMm as teacher data, and the neural network 409 has the relation of the correction matrix ΔMm with respect to the joint angle vector Θa. To learn. The learning of the neural network 409 will be described in more detail later.

【0018】次に、本実施例に係るロボット制御装置5
0の、上記の学習が完了したニューラルネットワーク4
09を用いる制御を、CPU11による演算の概要を示
す図5のブロック図を参照して説明する。先ず、目標位
置マトリクスMm’入力部501が、オフラインティー
チングホストシステム60で算出されたロボット10の
制御目標の位置マトリクスMm’(数学モデルdで補正
された値)を取得する。そして、第1座標逆変換fa演
算部503で、逆変換関数faを用いてロボット10の
各関節の関節角ベクトルΘaを求める。
Next, the robot controller 5 according to the present embodiment.
0, neural network 4 that has completed the above learning
The control using 09 will be described with reference to the block diagram of FIG. 5 showing the outline of the calculation by the CPU 11. First, the target position matrix Mm ′ input unit 501 acquires the control target position matrix Mm ′ of the robot 10 calculated by the offline teaching host system 60 (values corrected by the mathematical model d). Then, the first coordinate inverse transformation fa calculation unit 503 obtains the joint angle vector Θa of each joint of the robot 10 using the inverse transformation function fa.

【0019】次に、第1座標逆変換fa演算部503で
求められたロボット10の各関節の関節角ベクトルΘa
を、関節角ベクトルΘa保持部505に保持すると共
に、この時のロボット制御の誤差要因となる荷重、温度
等を誤差要因項目保持部507へ保持させる。そして、
この関節角ベクトルΘaと誤差要因項目とをニューラル
ネットワーク409へ入力して、該関節角ベクトルΘa
及びこの時の誤差要因に対する補正マトリクスΔMmを
取得し、これを補正マトリクスΔMm保持部517に保
持させる。そして、目標位置補正部519で、補正マト
リクスΔMm保持部517に保持された補正マトリクス
ΔMmの逆行列ΔMm-1を求め、これを目標位置マトリ
クス入力部501に保持されている目標位置マトリクス
Mm’に掛けることにより、補正された目標位置マトリ
クスMm''(Mm''=Mm' ・ΔMm-1)を求める。最
後に、第2座標逆変換fa演算部521で、補正された
目標位置マトリクスMm''を基に、逆変換関数faを用
いてロボット10の第1関節a乃至第6関節fの関節角
ベクトルΘa’を求める。そして、位置制御部523
が、求められた関節角ベクトルΘa’を基に、前述した
図2に示す1軸サーボ制御部40a乃至6軸サーボ制御
部40fに指令を発し、これに応じて1軸サーボ制御部
40a乃至6軸サーボ制御部40fがサーボモータM1
乃至M6を駆動することにより第1関節a乃至第6関節
fが動かされ、ロボット10の位置及び姿勢の制御が行
われる。
Next, the joint angle vector Θa of each joint of the robot 10 obtained by the first inverse coordinate transformation fa calculation unit 503.
Is held in the joint angle vector Θa holding unit 505, and at the same time, the error factor item holding unit 507 holds the load, temperature, and the like, which are error factors in robot control at this time. And
The joint angle vector Θa and the error factor item are input to the neural network 409, and the joint angle vector Θa is input.
Also, the correction matrix ΔMm for the error factor at this time is acquired and held in the correction matrix ΔMm holding unit 517. Then, the target position correction unit 519 obtains an inverse matrix ΔMm −1 of the correction matrix ΔMm held in the correction matrix ΔMm holding unit 517, and this is used as the target position matrix Mm ′ held in the target position matrix input unit 501. By multiplying, the corrected target position matrix Mm ″ (Mm ″ = Mm ′ · ΔMm −1 ) is obtained. Finally, in the second coordinate inverse transformation fa calculation unit 521, based on the corrected target position matrix Mm ″, the inverse transformation function fa is used to joint angle vectors of the first joint a to the sixth joint f of the robot 10. Find Θa '. Then, the position control unit 523
On the basis of the joint angle vector Θa 'thus obtained, issues a command to the 1-axis servo control units 40a to 6f shown in FIG. 2 described above, and in response thereto, the 1-axis servo control units 40a to 6a. The axis servo control unit 40f is the servo motor M1.
By driving M6 to M6, the first to sixth joints a to f are moved, and the position and posture of the robot 10 are controlled.

【0020】本実施例では、ニューラルネットワーク4
09に学習させる際に、目標位置マトリクスMm’から
関節角ベクトルΘaを求め、この関節角ベクトルΘaを
ニューラルネットワーク409に与え、関節角ベクトル
Θa算出の基礎とした目標位置マトリクスMm’に対す
る補正量(補正マトリクスΔMm)を得るようにしたた
め、目標位置マトリクスから直接補正マトリクスを得る
ようにした構成と比較して学習が簡単である利点があ
る。更に、この実施例では、関節角ベクトルΘaをニュ
ーラルネットワークに与え補正マトリクスΔMmを得る
ようにしたため誤差要因を減らすことが可能となった。
これは、目標位置マトリクスMm’に対する関節角ベク
トルΘaは複数存在するため、目標位置マトリクスを直
接ニューラルネットワークに与えると、複数存在する関
節角ベクトルΘaが誤差要因となるのに対して、本実施
例では関節角ベクトルΘaをニューラルネットワークに
与えており、この関節角ベクトルΘaにより決まるロボ
ットの先端位置は1つだからである。
In this embodiment, the neural network 4
When learning in 09, the joint angle vector Θa is obtained from the target position matrix Mm ′, this joint angle vector Θa is given to the neural network 409, and the correction amount for the target position matrix Mm ′ on which the joint angle vector Θa is calculated ( Since the correction matrix ΔMm) is obtained, there is an advantage that learning is simple compared with the configuration in which the correction matrix is obtained directly from the target position matrix. Further, in this embodiment, since the joint angle vector Θa is given to the neural network to obtain the correction matrix ΔMm, the error factor can be reduced.
This is because there are a plurality of joint angle vectors Θa with respect to the target position matrix Mm ′, and therefore, when the target position matrix is directly given to the neural network, the plurality of joint angle vectors Θa become an error factor. This is because the joint angle vector Θa is given to the neural network, and the robot has only one tip position determined by the joint angle vector Θa.

【0021】次に、前述した本実施例に係るロボット制
御装置のニューラルネットワーク409の学習及びこれ
による演算について更に詳細に説明する。 1.ニューラルネットワークの構成、 本実施例のニューラルネットワークは、図2に示すCP
U11、ROM20、RAM30から成るコンピュータ
システムで構成されている。ROM20には入力データ
と教師データの蓄積を管理する制御プログラムの記憶さ
れた制御プログラム領域21と、ニューラルネットワー
クの演算プログラムの記憶されたニューラルネットワー
ク領域22と、ニューラルネットワークに学習させるた
めのプログラムの記憶された学習プログラム領域23と
が形成されている。また、RAM30には、図4に関連
して前述した関節角ベクトルΘa保持部405に蓄積さ
れた関節角ベクトルΘaと、誤差要因項目保持部407
に蓄積された温度、荷重等の誤差項目を入力データとし
て記憶する入力データ記憶領域31と、同様に補正マト
リクスΔMm保持部417に蓄積された補正マトリクス
ΔMmを教師データとして記憶する教師データ記憶領域
32と、ニューラルネットワークの結合係数を記憶する
結合係数記憶領域33とが形成されている。
Next, the learning of the neural network 409 of the robot controller according to the above-described embodiment and the calculation by the learning will be described in more detail. 1. Configuration of Neural Network, The neural network of the present embodiment has the CP shown in FIG.
The computer system is composed of U11, ROM 20, and RAM 30. The ROM 20 stores a control program area 21 in which a control program for managing the accumulation of input data and teacher data is stored, a neural network area 22 in which a neural network operation program is stored, and a program for learning the neural network A learning program area 23 is formed. In the RAM 30, the joint angle vector Θa stored in the joint angle vector Θa holding unit 405 described above with reference to FIG. 4 and the error factor item holding unit 407.
An input data storage area 31 for storing error items such as temperature and load accumulated as input data, and a teacher data storage area 32 for similarly storing the correction matrix ΔMm stored in the correction matrix ΔMm holding unit 417 as teacher data. And a coupling coefficient storage area 33 for storing the coupling coefficient of the neural network.

【0022】2.ニューラルネットワーク 本実施例のニューラルネットワーク409は、図7に示
すように、入力層LIと出力層L0と中間層LMの3層
構造に構成されている。入力層LIはe個の入力素子を
有し、出力層L0はg個の出力素子を有し、中間層LM
はh個の出力素子を有している。
2. Neural Network As shown in FIG. 7, the neural network 409 of this embodiment has a three-layer structure of an input layer LI, an output layer L0, and an intermediate layer LM. The input layer LI has e input elements, the output layer L0 has g output elements, and the intermediate layer LM
Has h output elements.

【0023】多層構造のニューラルネットワークは、一
般的に、次の演算を行う装置として定義される。第i層
の第j番目の素子の出力Oi j は、次式で演算される。
但し、i≧2である。
A multi-layered neural network is generally defined as a device that performs the following operations. The output O i j of the j-th element in the i-th layer is calculated by the following equation.
However, i ≧ 2.

【数4】 Oi j =f(Ii j ) 式4Equation 4 O i j = f (I i j ) Equation 4

【数5】 [Equation 5]

【数6】 f(x) =1/{1+exp(-x)} 式6## EQU00006 ## f (x) = 1 / {1 + exp (-x)} Expression 6

【0024】但し、Vi j は第i層の第j番目の演算素
子のバイアス、Wi-1 k, i j は、第i−1層の第k番目
の素子と第i層の第j番目の素子各の結合係数、O1 j
は第1層の第j番目の素子の出力値を表す。即ち、第1
層であるから演算を行うことなく、そのまま入力を出力
するので、入力層(第1層)の第j番目の素子の入力値
でもある。
However, V i j is the bias of the j-th arithmetic element of the i- th layer, and W i-1 k, i j is the k-th element of the i-1-th layer and the j-th element of the i-th layer. Coupling coefficient of each of the th element, O 1 j
Represents the output value of the j-th element in the first layer. That is, the first
Since it is a layer, the input is output as it is without performing any calculation, so it is also the input value of the j-th element of the input layer (first layer).

【0025】次に、図7に示す3層構造のニューラルネ
ットワーク409の具体的な演算手順について、図8を
参照して説明する。各層の演算は、RAM30の結合係
数記憶領域33に記憶されている結合係数を参照しつ
つ、ROM20のニューラルネットワーク領域22に記
憶されたプログラムを実行することによって行われる。
ステップ100において、中間層(第2層)の第j番目
の素子は、入力層(第1層)の各素子からの出力値O1
j (第1層の入力データ)を入力して、式5を層番号と
第1層の素子数を用いて具体化した次式の積和演算を行
う。
Next, a specific calculation procedure of the neural network 409 having the three-layer structure shown in FIG. 7 will be described with reference to FIG. The calculation of each layer is performed by referring to the coupling coefficient stored in the coupling coefficient storage area 33 of the RAM 30 and executing the program stored in the neural network area 22 of the ROM 20.
In step 100, the j-th element of the intermediate layer (second layer) is the output value O 1 from each element of the input layer (first layer).
j (input data of the first layer) is input, and the product-sum calculation of the following equation, which is an embodiment of Equation 5 using the layer number and the number of elements of the first layer, is performed.

【数7】 [Equation 7]

【0026】次に、ステップ102において、次式によ
り、式7の入力値の積和関数値のシグモンド関数によ
り、中間層(第2層)の各素子の出力が演算される。第
2層の第j番目の素子の出力値は次式で演算される。
Next, at step 102, the output of each element of the intermediate layer (second layer) is calculated by the following equation using the Sigmond function of the product-sum function value of the input values of equation 7. The output value of the j-th element in the second layer is calculated by the following equation.

【数8】 O2 j =f(I2 j )=1/{1+exp( −I2 j ) } 式8 この出力値O2 j は出力層(第3層)の各素子の入力値
となる。
Equation 8] O 2 j = f (I 2 j) = 1 / {1 + exp (-I 2 j)} Equation 8 The output value O 2 j is the input value of each element of the output layer (third layer) .

【0027】次に、このステップ104において、出力
層(第3層)の各素子の入力値の積和演算が実行され
る。
Next, at step 104, the sum of products operation of the input values of the respective elements of the output layer (third layer) is executed.

【数9】 次に、ステップ106において、式8と同様にシグモン
ト関数により、出力層の各素子の出力値O3 j が演算さ
れる。
[Equation 9] Next, in step 106, the output value O 3 j of each element of the output layer is calculated by the Sigmont function as in the case of the equation 8.

【数10】 O3 j =f(I3 j )=1/{1+exp( −I3 j ) } 式10## EQU10 ## O 3 j = f (I 3 j ) = 1 / {1 + exp (-I 3 j )} Equation 10

【0028】3.入力データと教師データの構造 ニューラルネットワークの更新学習に使用されるデータ
は、図10に示すようなデータベースに構成されてい
る。入力データは、D1 ・・・Dn であり、対応する
教師データは、E1 ・・・En である。このn個の入力
データは、図4に関して前述した関節角ベクトルΘa保
持部405に保持された関節角ベクトルΘa及び誤差要
因項目保持部407に保持された誤差要因となる温度、
荷重等であり、そして、このn個の教師データは補正マ
トリクスΔMm保持部417に保持された補正マトリク
スΔMmである。そしてこれらのデータは、それぞれ、
RAM30の入力データ記憶領域31及び教師データ記
憶領域32に記憶されている。
3. Structure of input data and teacher data The data used for the update learning of the neural network is configured in the database as shown in FIG. Input data is D 1 ··· D n, the corresponding teacher data is E 1 ··· E n. The n pieces of input data are the joint angle vector Θa held in the joint angle vector Θa holding unit 405 described above with reference to FIG. 4 and the error factor temperature held in the error factor item holding unit 407,
The weight and the like, and the n pieces of teacher data are the correction matrix ΔMm held in the correction matrix ΔMm holding unit 417. And each of these data
It is stored in the input data storage area 31 and the teacher data storage area 32 of the RAM 30.

【0029】この入力データは次のように定義される。
e個の入力素子のそれぞれに与えられるe個のデータを
1組のデータとして考える。そして、任意の第m番目の
1組の入力データをDm で表し、その組に属する第j番
目の入力素子に対する入力データをdmjで表す。Dm
ベクトルを表し、dmjはそのベクトルの成分である。即
ち、Dm は次式で定義される。
This input data is defined as follows.
Consider the e pieces of data given to each of the e input elements as one set of data. Then, an arbitrary m-th set of input data is represented by D m , and input data for the j-th input element belonging to the set is represented by d mj . D m represents a vector, and d mj is a component of the vector. That is, D m is defined by the following equation.

【数11】 Dm =(dm1,dm2,・・・・dme-1,dme) 式11 又、n組の入力データはD1 ,D2 ,・・・Dn-1 ,D
n で表される。以下、全n組の入力データ群は、入力デ
ータ群Dと表記される。尚、入力データDm に対して式
7を用いる場合には、式7のO1 k に、成分dmkが代入
される。
[Equation 11] D m = (d m1 , d m2 , ... D me-1 , d me ) Equation 11 Further, n sets of input data are D 1 , D 2 , ... D n-1 , D
It is represented by n . Hereinafter, all n sets of input data groups are referred to as an input data group D. When the expression 7 is used for the input data D m , the component d mk is substituted into O 1 k of the expression 7.

【0030】同様に、E1 ,・・・En は、次のように
定義される。出力層LOに関して、g個の出力素子のそ
れぞれからの出力に対する教師データを1組のデータと
して考える。そして、任意の第m番目の1組の教師デー
タをEm で表し、その組に属する第j番目の出力素子に
対する教師データをemjで表す。Em はベクトルを表
し、emjはそのベクトルの成分である。即ちEm は次式
で定義される。
Similarly, E 1 , ... E n are defined as follows. For the output layer LO, consider the teacher data for the output from each of the g output elements as a set of data. Then, an arbitrary m-th set of teacher data is represented by E m , and teacher data for the j-th output element belonging to the set is represented by em j. E m represents a vector and e mj is a component of the vector. That is, Em is defined by the following equation.

【数12】 Em =(em1,em2,・・・・emg-1,emg) 式12 また、n組の教師データはE1 ,E2 ,・・・・
n-1 ,En で表される。以下全n組の教師データ群
は、教師データ群Eと表記される。
[Equation 12] E m = (e m1 , e m2 , ... E mg-1 , e mg ) Equation 12 Further, n sets of teacher data are E 1 , E 2 ,.
It is represented by E n-1 and E n . Hereinafter, all n sets of teacher data groups will be referred to as a teacher data group E.

【0031】4.ニューラルネットワークの学習 このニューラルネットワークは、初期学習として、RO
M20の学習プログラム領域23に記憶された図9に示
す手順のプログラムが実行されることにより学習され
る。結合係数の学習は良く知られたバックプロパーゲー
ション法により実行される。
4. Learning Neural Network This neural network performs RO as initial learning.
Learning is performed by executing the program of the procedure shown in FIG. 9 stored in the learning program area 23 of M20. The learning of the coupling coefficient is performed by the well-known backpropagation method.

【0032】この学習は、各種の事象に関する多数の入
力データに対して、それぞれの出力が、それぞれの最適
な教師データとなるように、繰り返し実行される。これ
らの入力データ及び教師データは、前述したようにそれ
ぞれ、入力データ記憶領域31及び教師データ記憶領域
32に記憶されている。
This learning is repeatedly executed with respect to a large number of input data regarding various events so that the respective outputs become the respective optimum teacher data. These input data and teacher data are stored in the input data storage area 31 and the teacher data storage area 32, respectively, as described above.

【0033】図9のステップ200において、データ番
号iが初期値1に設定され、出力素子の番号j(教師デ
ータの成分番号j)が初期値の1に設定される。次にス
テップ202へ移行して、第i番目の入力データDiと
第i番目の教師データEiが入力データ記憶領域31と
教師データ記憶領域32とから抽出される。
In step 200 of FIG. 9, the data number i is set to the initial value 1, and the output element number j (the teacher data component number j) is set to the initial value 1. Next, in step 202, the i-th input data Di and the i-th teacher data Ei are extracted from the input data storage area 31 and the teacher data storage area 32.

【0034】次にステップ206へ移行して、次式によ
り出力層の読みだされた第i番目の教師データEiの第
j成分eijに対応した素子の学習信号が演算される。
Next, in step 206, the learning signal of the element corresponding to the j-th component e ij of the i-th teacher data Ei read out from the output layer is calculated by the following equation.

【数13】 Y3 j =(eij−O3 j ) ・f' (I3 j ) 式13 但し、Y3 j 、O3 j 、I3 j では、データ番号iは省
略されている。f'(X)はシグモンド関数の導関数であ
る。又、I3 j は、入力データDi の各成分を式7のO
1 k 代入して、中間層のの全ての素子に関しI2 k を求
め、I2 k を式8に代入して中間層の全ての素子に関し
て出力O2 k を求め、その全てのkに関してO2 k を式
9に代入して求められる。又、O3 j は、I3 j を式1
0に代入して求められる。
[Formula 13] Y 3 j = (e ij −O 3 j ) · f ′ (I 3 j ) Formula 13 However, in Y 3 j , O 3 j , and I 3 j , the data number i is omitted. f '(X) is the derivative of the Sigmond function. Further, I 3 j is the O of the equation 7 in which each component of the input data D i is
By substituting 1 k, I 2 k is obtained for all the elements in the intermediate layer, I 2 k is substituted in the equation 8 to obtain outputs O 2 k for all the elements in the intermediate layer, and O 2 k is obtained for all the k. It is calculated by substituting 2 k into Equation 9. In addition, O 3 j is obtained by using I 3 j in Equation 1
It is obtained by substituting 0.

【0035】次に、ステップ210において、全出力素
子について、学習信号が演算されたか否かが判定され、
判定結果がNOの場合には、ステップ212において、
素子番号jが1だけ加算され、ステップ206へ戻り、
次の出力素子に関する学習信号が演算される。ステップ
210で全出力素子に関する学習信号の演算が完了した
と判定されると、ステップ214において、中間層の任
意の第r番目の素子に関する学習信号Yが次式で演算さ
れる。
Next, at step 210, it is judged whether or not learning signals have been calculated for all output elements,
If the determination result is NO, in step 212,
The element number j is incremented by 1, and the process returns to step 206,
A learning signal for the next output element is calculated. When it is determined in step 210 that the calculation of the learning signal for all the output elements is completed, in step 214, the learning signal Y for an arbitrary r-th element in the intermediate layer is calculated by the following equation.

【数14】 このような学習演算が、中間層の全素子に関して実行さ
れる。
[Equation 14] Such a learning operation is performed on all the elements in the middle layer.
Be done.

【0036】次に、ステップ216において、出力層の
各結合係数が補正される。補正量は次式で求められる。
Next, in step 216, each coupling coefficient of the output layer is corrected. The correction amount is calculated by the following equation.

【数15】 Δω2 i, 3 j (t)=P・Y3 j ・f(I2 i )+ Q・Δω2 i, 3 j (t−1) 式15 但し、Δω2 i, 3 j (t)は、出力層の第j番目の素子
と中間層の第i番目の素子との間の結合係数の第t回目
演算の変化量である。又、Δω2 i, 3 j (t−1)は、
その結合係数の前回の補正量である。P、Qは比例定数
である。よって結合係数は、
[Expression 15] Δω 2 i, 3 j (t) = P · Y 3 j · f (I 2 i ) + Q · Δω 2 i, 3 j (t−1) Equation 15 where Δω 2 i, 3 j (T) is the amount of change in the t-th calculation of the coupling coefficient between the j-th element of the output layer and the i-th element of the intermediate layer. Also, Δω 2 i, 3 j (t-1) is
It is the previous correction amount of the coupling coefficient. P and Q are proportional constants. Therefore, the coupling coefficient is

【数16】 W2 i, 3 j +Δω2 i, 3 j (t)→ W2 i, 3 j 式16 により、補正された結合係数が求められる。## EQU16 ## W 2 i, 3 j + Δω 2 i, 3 j (t) → W 2 i, 3 j The corrected coupling coefficient is obtained by the equation 16.

【0037】次に、ステップ218へ移行して、中間層
の各素子の各結合係数が補正される。その結合係数の補
正量は出力層の場合と同様に、次式で求められる。
Next, in step 218, each coupling coefficient of each element of the intermediate layer is corrected. The correction amount of the coupling coefficient is obtained by the following equation, as in the case of the output layer.

【数17】 Δω1 i, 2 j (t)=P・Y2 j ・f(I1 i )+ Q・Δω1 i, 2 j (t−1) 式17 よって結合係数は、Δω 1 i, 2 j (t) = P · Y 2 j · f (I 1 i ) + Q · Δω 1 i, 2 j (t−1) Equation 17 Therefore, the coupling coefficient is

【数18】 W1 i, 2 j +Δω1 i, 2 j (t)→ W1 i, 2 j 式18 により、補正された結合係数が求められる。[Expression 18] W 1 i, 2 j + Δω 1 i, 2 j (t) → W 1 i, 2 j The corrected coupling coefficient is obtained by the expression 18.

【0038】次に、ステップ220において、学習対象
のn個の入力データ及び教師データに対して1回の学習
が完了したか否かが判定される。全ての入力データに対
する学習が終了していない場合には、ステップ222へ
移行して、次の入力データとその入力データに対応する
教師データを入力データ記憶領域31と教師データ記憶
領域32から読み込むためにデータ番号iが1だけ加算
され、成分番号jは初期値の1に設定される。そして、
ステップ202へ戻り、次の入力データ及び教師データ
を用いて上記した学習が実行される。
Next, at step 220, it is judged whether or not one learning is completed for the n pieces of input data and the teacher data to be learned. If learning for all input data has not been completed, the process proceeds to step 222 to read the next input data and the teacher data corresponding to the input data from the input data storage area 31 and the teacher data storage area 32. The data number i is incremented by 1, and the component number j is set to the initial value 1. And
Returning to step 202, the above learning is executed using the next input data and the teacher data.

【0039】ステップ220でn個全部の入力データ及
び教師データに関して学習が完了したと判定されると、
ステップ224に移行して、出力データと教師データの
差の自乗の値が所定の値以下になったか否かの判定によ
り、結合係数が収束したか否かが判定される。結合係数
が収束していなければ、ステップ200に戻り、第2回
目の学習を行うために、第1番目の入力データ及び教師
データから上述した学習が実行される。
When it is determined in step 220 that learning has been completed for all n input data and teacher data,
In step 224, it is determined whether the coupling coefficient has converged by determining whether the square value of the difference between the output data and the teacher data has become equal to or less than a predetermined value. If the coupling coefficient has not converged, the process returns to step 200, and the learning described above is executed from the first input data and the teacher data in order to perform the second learning.

【0040】このようにして、ステップ224におい
て、出力データと教師データの差の自乗の値が所定の値
以下となり、学習が収束するまで、上記の学習演算が繰
り返し実行される。この結果、初期の広範囲の事象に関
して初期学習されたニューラルネットワークが完成され
る。この学習の結果、本実施例のニューラルネットワー
ク409は、図5に示すように、関節角ベクトルΘaを
入力することにより必要な補正マトリクスΔMmを演算
することが可能となる。
In this way, in step 224, the above learning operation is repeatedly executed until the square value of the difference between the output data and the teacher data becomes equal to or less than the predetermined value and the learning converges. This completes the initially learned neural network for a wide range of early events. As a result of this learning, the neural network 409 of the present embodiment can calculate the necessary correction matrix ΔMm by inputting the joint angle vector Θa as shown in FIG.

【0041】次に、本発明の別実施例に係るロボット制
御装置のニューラルネットワークへの学習を、CPUの
演算処理の概要をブロック図にした図6を参照して説明
する。前述した実施例においては、ニューラルネットワ
ーク409に、入力データとして関節角ベクトルΘa
を、そして、教師データとして補正マトリクスΔMmを
学習させたが、本実施例においては、ニューラルネット
ワーク409に、入力データとして目標位置マトリクス
Mm’を、教師データとして補正マトリクスΔMmを学
習させる。なお、この実施例においても、ロボット制御
装置の構成は、図2及び図3を参照して前述した実施例
と略同様であるのでその説明については省略する。
Next, the learning of the neural network of the robot controller according to another embodiment of the present invention will be described with reference to FIG. 6 which is a block diagram showing the outline of the arithmetic processing of the CPU. In the above-described embodiment, the joint angle vector Θa is input to the neural network 409 as input data.
Then, the correction matrix ΔMm is learned as the teacher data, but in the present embodiment, the neural network 409 is made to learn the target position matrix Mm ′ as the input data and the correction matrix ΔMm as the teacher data. In this embodiment as well, the configuration of the robot controller is substantially the same as that of the embodiment described above with reference to FIGS. 2 and 3, and therefore its explanation is omitted.

【0042】先ず、目標位置マトリクスMm’入力部6
01で、オフラインティーチングホストシステム60が
誤差を考慮した数学モデルdを用いて算出したロボット
の制御目標の位置マトリクスMm’を入力する。そし
て、座標逆変換fa演算部603で、逆変換関数faに
より、目標位置マトリクスMmに対応するロボットの各
関節の関節角ベクトルΘaを演算する。次に、目標位置
マトリクスMm’入力部601の目標位置マトリクスM
m’を目標位置マトリクスMm’保持部605に保持す
ると共に、この時のロボット制御の誤差要因となる荷
重、温度等を誤差要因項目保持部607に保持する。そ
して、前述した関節角ベクトルΘaを基に、ロボット制
御部611でロボット10を動作させる。この動作後
に、位置マトリクスMa測定部613でロボットアーム
の実際の先端位置マトリクスMaを測定する。そして、
補正マトリクスΔMm演算部615で、目標位置マトリ
クスMmの逆行列を求めると共に、この逆行列と該先端
位置マトリクスMaとから前述した式3(ΔMm=Mm
-1・Ma)を用いて補正マトリクスΔMmを求める。そ
して、求められた補正マトリクスΔMmを補正マトリク
スΔMm保持部617へ保持させる。
First, the target position matrix Mm 'input unit 6
At 01, the position matrix Mm ′ of the control target of the robot calculated by the offline teaching host system 60 using the mathematical model d considering the error is input. Then, the coordinate inverse transformation fa computing unit 603 computes the joint angle vector Θa of each joint of the robot corresponding to the target position matrix Mm by the inverse transformation function fa. Next, the target position matrix Mm of the target position matrix Mm ′ input unit 601
The target position matrix Mm ′ holding unit 605 holds m ′, and the error factor item holding unit 607 holds the load, the temperature, and the like, which are error factors of the robot control at this time. Then, the robot controller 611 operates the robot 10 based on the joint angle vector Θa described above. After this operation, the position matrix Ma measuring unit 613 measures the actual tip position matrix Ma of the robot arm. And
The correction matrix ΔMm calculation unit 615 obtains the inverse matrix of the target position matrix Mm, and from the inverse matrix and the tip position matrix Ma, the above-mentioned expression 3 (ΔMm = Mm
−1 · Ma) is used to find the correction matrix ΔMm. Then, the obtained correction matrix ΔMm is held in the correction matrix ΔMm holding unit 617.

【0043】上記処理による補正データの蓄積を複数の
位置について行う。そして、蓄積された目標位置マトリ
クスMm’と誤差要因項目とを入力データとし、補正マ
トリクスΔMmを教師データとする学習をニューラルネ
ットワーク409に行わせ、ニューラルネットワーク4
09に目標位置マトリクスMm’に対する補正マトリク
スΔMmの関係を学ばせる。この学習を行ったニューラ
ルネットワーク409を用いて補正を行うロボットの制
御は、図5に関連して前述した実施例と略同様であるの
でこの説明は省略する。図6に示した実施例、また、図
4を参照して前述した実施例において説明したように、
本発明は、ニューラルネットワーク409の学習用のデ
ータとしては、種々のものを用いることができる。
Accumulation of correction data by the above processing is performed for a plurality of positions. Then, the neural network 409 is caused to perform learning using the accumulated target position matrix Mm ′ and error factor items as input data and the correction matrix ΔMm as teacher data, and the neural network 4
09 is made to learn the relation of the correction matrix ΔMm to the target position matrix Mm ′. The control of the robot that performs the correction using the learned neural network 409 is substantially the same as the embodiment described above with reference to FIG. As described in the embodiment shown in FIG. 6 and the embodiment described above with reference to FIG.
In the present invention, various data can be used as the learning data of the neural network 409.

【0044】なお、本実施例では、入力層LI、中間層
LM、出力層LOからなる3層構造のニューラルネット
ワークを例に取ったが、本発明のニューラルネットワー
クはかかる構成に限定されず、必要な学習を行い得るい
かなる構成のニューラルネットワークでも本発明の所期
の目的を達成できる。また、本実施例の補正の考え方を
説明する際に、説明の便宜のために数式を挙げて説明し
たが、本発明はこれら数式に限定されるものではない。
更に、図3を参照した前述の説明においては、オフライ
ンティーチングホストシステム60の算出したロボット
の制御データをフロッピィディスクを介しロボット制御
装置50に移しかえたが、データの転送をデータライン
等を介し行うことも可能である。
In this embodiment, a neural network having a three-layer structure consisting of the input layer LI, the intermediate layer LM, and the output layer LO is taken as an example, but the neural network of the present invention is not limited to such a configuration and is necessary. The desired purpose of the present invention can be achieved by a neural network having any configuration capable of performing various learning. Further, when the concept of the correction of the present embodiment is described, mathematical expressions are given for convenience of explanation, but the present invention is not limited to these mathematical expressions.
Further, in the above description with reference to FIG. 3, the control data of the robot calculated by the offline teaching host system 60 was transferred to the robot controller 50 via the floppy disk, but the data transfer is performed via the data line or the like. It is also possible.

【0045】[0045]

【発明の効果】本発明は、以上説明したように構成され
ており、従来の数学モデルでは考慮できなかった誤差要
因をニューラルネットワークにより学習させ補正を行う
ため、補正精度を向上させることが可能である。また、
ロボットの補正精度が高いため、ロボット制御装置を設
定するときに、実際に使用される場所でのティーチング
補正が不要となるので、ロボット制御装置の設定時間の
短縮化が可能になり、また、ロボット制御装置設定の費
用が軽減できる。更に安全の面でも改善できる利点があ
る。
The present invention is configured as described above and corrects the error factors, which cannot be taken into consideration by the conventional mathematical model, by learning them by the neural network, and therefore the correction accuracy can be improved. is there. Also,
Since the robot correction accuracy is high, it is not necessary to make teaching corrections at the actual location where the robot controller is set, so it is possible to shorten the robot controller setting time. The cost of setting the control device can be reduced. Further, there is an advantage that the safety can be improved.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例に係るロボットの機械的構成
を示す構成図。
FIG. 1 is a configuration diagram showing a mechanical configuration of a robot according to an embodiment of the present invention.

【図2】図1に示すロボットを制御する本実施例に係る
ロボット制御装置の構成を示したブロック図。
FIG. 2 is a block diagram showing the configuration of a robot control apparatus according to this embodiment for controlling the robot shown in FIG.

【図3】本実施例に係るオフラインティーチングホスト
システムとロボット制御装置との構成を示すブロック
図。
FIG. 3 is a block diagram showing the configurations of an offline teaching host system and a robot controller according to the present embodiment.

【図4】本実施例に係るロボット制御装置の学習時の処
理を説明するブロック図。
FIG. 4 is a block diagram illustrating processing during learning of the robot control apparatus according to the present embodiment.

【図5】本実施例に係るロボット制御装置の学習後にお
ける制御の処理を説明するブロック図。
FIG. 5 is a block diagram illustrating a control process after learning of the robot controller according to the present embodiment.

【図6】本発明の別実施例に係るロボット制御装置の学
習時における制御の処理を説明するブロック図。
FIG. 6 is a block diagram illustrating a control process during learning of a robot controller according to another embodiment of the present invention.

【図7】本実施例に係るロボット制御装置のニューラル
ネットワークの構成を示した構成図。
FIG. 7 is a configuration diagram showing a configuration of a neural network of the robot controller according to the present embodiment.

【図8】図7に示す実施例に係るニューラルネットワー
クの演算手順を示したフローチャート。
8 is a flowchart showing a calculation procedure of the neural network according to the embodiment shown in FIG.

【図9】図7に示す実施例に係るニューラルネットワー
クの学習手順を示したフローチャート。
9 is a flowchart showing a learning procedure of the neural network according to the embodiment shown in FIG.

【図10】ニューラルネットワークの学習に用いられる
入力データと教師データを有するデータベースのデータ
構成を示した構成図。
FIG. 10 is a configuration diagram showing a data configuration of a database having input data and teacher data used for learning of a neural network.

【図11】従来のオフラインティーチングホストシステ
ムとロボット制御装置との構成を示すブロック図。
FIG. 11 is a block diagram showing the configurations of a conventional offline teaching host system and a robot controller.

【符号の説明】[Explanation of symbols]

10 ロボット 11 CPU 20 ROM 30 RAM 50 ロボット制御装置 51 補正された目標位置マトリクスMm’保持部 52 ニューラルネットワークによる補正部 53 ニューラルネットワークによる補正された目標
位置Mm''保持部 54 ロボット制御部 60 オフラインティーチングシステム 61 目標位置の生成部 63 数学モデルによる補正部 409 ニューラルネットワーク LI 入力層 LM 中間層 LO 出力層
10 Robot 11 CPU 20 ROM 30 RAM 50 Robot Controller 51 Corrected Target Position Matrix Mm ′ Holding Unit 52 Neural Network Correcting Unit 53 Neural Network Corrected Target Position Mm ″ Holding Unit 54 Robot Control Unit 60 Offline Teaching System 61 Target position generating unit 63 Correcting unit using mathematical model 409 Neural network LI input layer LM intermediate layer LO output layer

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 オフラインティーチングシステムのロボ
ット制御装置であって、 オフラインティーチングシステムにより算出されたロボ
ット制御の目標位置を受け取る目標位置保持手段と、 該目標位置を入力として補正量を出力するニューラルネ
ットワークと、 ニューラルネットワークの出力により前記算出された目
標位置を補正する補正手段と、 該ニューラルネットワークにより補正された前記目標位
置に基づきロボットの制御を行う制御手段とを有するこ
とを特徴とするロボット制御装置。
1. A robot controller for an offline teaching system, comprising: target position holding means for receiving a target position for robot control calculated by the offline teaching system; and a neural network for outputting a correction amount with the target position as an input. A robot controller, comprising: a correction unit that corrects the calculated target position based on the output of the neural network; and a control unit that controls the robot based on the target position corrected by the neural network.
JP28526892A 1992-09-21 1992-09-29 Robot control device Pending JPH06114768A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP28526892A JPH06114768A (en) 1992-09-29 1992-09-29 Robot control device
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
JP28526892A JPH06114768A (en) 1992-09-29 1992-09-29 Robot control device

Publications (1)

Publication Number Publication Date
JPH06114768A true JPH06114768A (en) 1994-04-26

Family

ID=17689307

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28526892A Pending JPH06114768A (en) 1992-09-21 1992-09-29 Robot control device

Country Status (1)

Country Link
JP (1) JPH06114768A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013169644A (en) * 2012-02-21 2013-09-02 GM Global Technology Operations LLC Procedural memory learning and robot control
WO2018016568A1 (en) * 2016-07-22 2018-01-25 川崎重工業株式会社 Method for operating robot, computer program, and robot system
CN113510709A (en) * 2021-07-28 2021-10-19 北京航空航天大学 Industrial robot pose precision online compensation method based on deep reinforcement learning

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013169644A (en) * 2012-02-21 2013-09-02 GM Global Technology Operations LLC Procedural memory learning and robot control
WO2018016568A1 (en) * 2016-07-22 2018-01-25 川崎重工業株式会社 Method for operating robot, computer program, and robot system
JP2018012185A (en) * 2016-07-22 2018-01-25 川崎重工業株式会社 Operation method of robot, computer program, and robot system
CN113510709A (en) * 2021-07-28 2021-10-19 北京航空航天大学 Industrial robot pose precision online compensation method based on deep reinforcement learning
CN113510709B (en) * 2021-07-28 2022-08-19 北京航空航天大学 Industrial robot pose precision online compensation method based on deep reinforcement learning

Similar Documents

Publication Publication Date Title
JP6781183B2 (en) Control device and machine learning device
US5555347A (en) Method and apparatus for controlling a robot using a neural network
JP2786225B2 (en) Industrial robot control method and apparatus
JPH08377B2 (en) Robot inaccuracy correction method
JP3349652B2 (en) Offline teaching method
JPH1097316A (en) Movement plan and control method for system followed by many mobile objects
JP2006293826A (en) Apparatus for correcting robot program
JP2018001393A (en) Robot device, robot control method, program and recording medium
EP0465661B1 (en) Method and apparatus for controlling an articulated robot having redundancy
Dallej et al. 3D pose visual servoing relieves parallel robot control from joint sensing
JPH0445841B2 (en)
AlBeladi et al. Hybrid eye-in-hand/eye-to-hand image based visual servoing for soft continuum arms
Zhang et al. Time delay compensation of a robotic arm based on multiple sensors for indirect teaching
JPH0699372A (en) Robot control device
JP2629291B2 (en) Manipulator learning control method
JPH0699373A (en) Robot control device
Mayer et al. Global kinematic calibration of a Stewart platform
JPH06114768A (en) Robot control device
Knani Dynamic modelling of flexible robotic mechanisms and adaptive robust control of trajectory computer simulation––Part I
JPS599708A (en) Operation error compensating method of robot system
Zhu et al. Vision-admittance-based adaptive RBFNN control with a SMC robust compensator for collaborative parallel robots
JPH06114769A (en) Off-line teaching device
Fernandez et al. Multi-surface admittance control approach applied on robotic assembly of large-scale parts in aerospace manufacturing
JPS59173805A (en) Industrial robot having instruction data converting function
JPH05233042A (en) Posture control system for robot having redundant degree of freedom