JP2022114472A - Direct teaching device and direct teaching method for robot - Google Patents
Direct teaching device and direct teaching method for robot Download PDFInfo
- Publication number
- JP2022114472A JP2022114472A JP2021010722A JP2021010722A JP2022114472A JP 2022114472 A JP2022114472 A JP 2022114472A JP 2021010722 A JP2021010722 A JP 2021010722A JP 2021010722 A JP2021010722 A JP 2021010722A JP 2022114472 A JP2022114472 A JP 2022114472A
- Authority
- JP
- Japan
- Prior art keywords
- calculation unit
- unit
- arm
- constraint
- control
- 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.)
- Withdrawn
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/0081—Programme-controlled manipulators with master teach-in means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
Description
この発明は、ロボットの直接教示を行う直接教示装置及び直接教示方法に関する。 The present invention relates to a direct teaching device and a direct teaching method for directly teaching a robot.
産業用のロボットでは、ロボットに作業をさせるために、前もって教示(ティーチング)と呼ばれる作業が実施される。このロボットの教示を行う方法の1つとして、直接教示(ダイレクト教示)と呼ばれる方法がある。 In industrial robots, work called teaching is carried out in advance in order to cause the robot to perform work. One method of teaching the robot is a method called direct teaching.
例えば特許文献1では、力センサ又はトルクセンサを用いたロボットの直接教示装置が開示されている。この直接教示装置は、拘束付きの直接教示と拘束無しの直接教示とを切換え可能な点に特徴を有する。
For example,
拘束付きの直接教示の目的は、教示精度の向上である。通常の直接教示装置は、ロボットを直感的に操作及び教示できる一方で、ロボットの位置姿勢が外力で簡単に変わってしまうため、教示精度を高くすることが難しい。これに対し、拘束付きの直接教示では、手先が鉛直下向きを向く姿勢となるように拘束して操作及び教示するとか、手先がある平面又は曲面上に位置するように拘束するとか、手先がある軸上に位置するように拘束するとか、所定の制約の範囲内でしかロボットを操作及び教示できなくなる。こうすることで、姿勢が正確に鉛直下向きとなるように、位置が正確に所定の平面、曲面又は軸上となるように教示することができ、教示精度を高くすることが難しいという課題を解決している。 The purpose of direct teaching with constraints is to improve teaching accuracy. While a normal direct teaching device can intuitively operate and teach a robot, it is difficult to improve the teaching accuracy because the position and orientation of the robot are easily changed by an external force. On the other hand, in direct teaching with restraints, the hand is constrained to face vertically downwards, and the hand is operated and taught; Constraining the robot so that it is positioned on the axis, or allowing the robot to be manipulated and taught only within a predetermined constraint range. By doing this, it is possible to teach the robot so that the posture is precisely vertically downward, and the position is precisely on a predetermined plane, curved surface, or on an axis. is doing.
一方で、拘束付きの直接教示は常に必要なわけではない。そのため、不要な場合は拘束無しの直接教示にして、拘束と関係無く自由に操作及び教示できる方が望ましい。そこで、特許文献1の直接教示装置では、拘束したい姿勢又は位置に近づくと拘束付きの直接教示にし、そうでない場合は拘束無しの直接教示にするように、自動的に切換わるようになっている。
On the other hand, direct teaching with constraints is not always necessary. For this reason, it is desirable that direct teaching without restraints is used when unnecessary, and that it is possible to operate and teach freely without restraints. Therefore, in the direct teaching device of
図13に、特許文献1の直接教示装置1bの概略構成図を示す。
この直接教示装置1bでは、まず、位置姿勢計測部101bが、ロボットが有するアーム2の位置姿勢に関するパラメータを計測する。なお、アーム2の位置姿勢に関するパラメータとしては、アーム2の位置、アーム2の姿勢、又は、アーム2の関節角等が挙げられる。
また、外力検知部102bが、操作者によりアーム2に加えられた外力を検知する。
次に、従動制御演算部103bが、位置姿勢計測部101bによる計測結果に基づいて、外力検知部102bにより検知された外力に従うアーム2の動き(従動制御指令値)を算出する。
FIG. 13 shows a schematic configuration diagram of the direct teaching device 1b of
In the direct teaching device 1b, first, the position/
Also, the external
Next, the driven
次に、位置姿勢演算部104bは、従動制御演算部103bによる算出結果に基づいて、アーム2の位置姿勢を算出する。アーム2の位置姿勢とは、アーム2の位置又は姿勢のうちの少なくとも一方を意味する。
次に、近接判定部105bは、位置姿勢演算部104bによる算出結果に基づいて、アーム2の位置姿勢が拘束目標に近づいているかを判定する。
次に、切換部106bは、近接判定部105bによる判定結果に従い、拘束制御演算部108bの動作を切換える。すなわち、切換部106bは、近接判定部105bによりアーム2の位置姿勢が拘束目標に近づいていると判定された場合、拘束制御演算部108bによる処理を有効とする。一方、切換部106bは、近接判定部105bによりアーム2の位置姿勢が拘束目標に近づいていないと判定された場合、拘束制御演算部108bによる処理を無効とする。
Next, the position/
Next, the
Next,
次に、目標値算出部107bは、拘束目標及び位置姿勢演算部104bによる算出結果に基づいて、拘束制御の目標値を算出する。例えば、目標値算出部107bは、所定の姿勢(拘束姿勢)、所定の曲面又は平面(拘束面)、或いは、所定の軸又は曲線(拘束軸)に沿ったアーム2の位置姿勢を目標値として算出する。
次に、拘束制御演算部108bは、位置姿勢演算部104bによる算出結果に基づいて、目標値算出部107bにより算出された目標値に移動するアーム2の動き(拘束制御指令値)を算出する。
次に、拘束制御制限部109bは、拘束制御演算部108bによる算出結果を制限する。すなわち、拘束制御制限部109bは、従動制御演算部103bによる算出結果が拘束制御演算部108bによる算出結果より優先されるよう拘束制御演算部108bによる算出結果に制限を課す。
Next, the target
Next, the constraint
Next, the
次に、合成部110bは、従動制御演算部103bによる算出結果(従動制御指令値)と拘束制御制限部109bによる制限結果(拘束制御指令値)とを一つの指令値に合成する。
次に、駆動制御部111bは、合成部110bによる合成結果に基づいて、アーム2を駆動する。
Next, the
Next, the
図13に示す直接教示装置1bでは、上記のような一連の動作により、人が力によって与えた指示に従ってアーム2が動くような制御が行われる。その後、直接教示装置1bは、アーム2の位置及び姿勢が操作者の意図する状態になったら、その際の関節角或いは位置及び姿勢を教示点として記録する。記録された教示点は、ロボットが作業する際に使われる。また、直接教示装置1bでは、切換部106bが拘束制御演算部108bの動作を切換えることで、拘束付きの直接教示と拘束無しの直接教示とを切換えながら直接教示をすることができる。
In the direct teaching device 1b shown in FIG. 13, the series of operations described above controls the movement of the
しかしながら、特許文献1の直接教示装置は、拘束制御演算をするかしないかの二択であるため、拘束制御演算のオンオフが切換わる際にアームが急に動いたり、振動を発生することがあった。このため、操作者の操作感を損なうことがあった。
アームを拘束姿勢、拘束面又は拘束軸に追従させる力を弱くすれば、この問題を軽減することは可能だが、そうすると今度は拘束姿勢、拘束面又は拘束軸に追従させることで教示精度を向上させるという性能の方が劣化する。そのため、教示精度と操作感を両立させることが難しかった。
However, since the direct teaching device of
This problem can be alleviated by weakening the force that causes the arm to follow the constraint posture, constraint surface, or constraint axis. performance deteriorates. Therefore, it has been difficult to achieve both teaching accuracy and operational feeling.
この発明は、上記のような課題を解決するためになされたもので、アームの教示精度と操作感を両立可能な直接教示装置を提供することを目的としている。 SUMMARY OF THE INVENTION It is an object of the present invention to provide a direct teaching device capable of achieving both an arm teaching accuracy and an operational feeling.
この発明に係る直接教示装置は、ロボットが有するアームに加えられた外力を検知する外力検知部と、外力検知部により検知された外力に従うアームの動きを算出する従動制御演算部と、アームの位置又は姿勢のうちの少なくとも一方である位置姿勢の現在値又は予測値を算出する位置姿勢演算部と、拘束目標及び位置姿勢演算部による算出結果に基づいて、拘束制御の目標値を算出する目標値算出部と、位置姿勢演算部による算出結果に基づいて、目標値算出部により算出された目標値へと移動するアームの動きを算出する拘束制御演算部と、拘束制御演算部により算出されたアームの動きの速さを連続的又は少なくとも3段階以上に段階的に調整可能とする拘束制御調整部と、従動制御演算部による算出結果と拘束制御演算部による算出結果とを合成する合成部と、合成部による合成結果に基づいてアームを駆動する駆動制御部とを備えたことを特徴とする。 A direct teaching device according to the present invention includes an external force detection unit that detects an external force applied to an arm of a robot, a driven control calculation unit that calculates the movement of the arm according to the external force detected by the external force detection unit, and an arm position detection unit. Alternatively, a position/orientation calculation unit that calculates a current value or a predicted value of the position/orientation that is at least one of the orientations, and a target value that calculates the target value of the constraint control based on the constraint target and the calculation result by the position/orientation calculation unit. a calculation unit, a constraint control calculation unit that calculates the movement of the arm moving to the target value calculated by the target value calculation unit based on the calculation result of the position/orientation calculation unit, and the arm calculated by the constraint control calculation unit A constraint control adjustment unit that can adjust the speed of movement of the body continuously or in steps of at least three steps, a synthesis unit that synthesizes the calculation result of the driven control calculation unit and the calculation result of the constraint control calculation unit, and a drive control unit that drives the arm based on the result of synthesis by the synthesis unit.
この発明によれば、上記のように構成したので、アームの教示精度と操作感を両立可能となる。 According to this invention, since it is configured as described above, it is possible to achieve both the teaching accuracy of the arm and the operational feeling.
以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態1.
図1は実施の形態1に係る直接教示装置1の構成例を示す図である。
直接教示装置1は、ロボットの直接教示を行う。直接教示装置1は、図1に示すように、位置姿勢計測部101、外力検知部102、従動制御演算部103、位置姿勢演算部104、目標値算出部105、距離演算部106、拘束制御調整部107、拘束制御演算部108、合成部109及び駆動制御部110を備えている。なお、直接教示装置1は、システムLSI(Large-Scale Integration)等の処理回路、又はメモリ等に記憶されたプログラムを実行するCPU(Central Processing Unit)等により実現される。
BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a diagram showing a configuration example of a
A
位置姿勢計測部101は、ロボットが有するアーム2の位置姿勢に関するパラメータを計測する。なお、アーム2の位置姿勢とは、アーム2の位置及びアーム2の姿勢のうちの少なくとも一方を意味する。また、アーム2の位置とは、アーム2の先端に設けられたエンドエフェクタ3(図5等参照)の位置を意味し、アーム2の姿勢とはエンドエフェクタ3の向きを意味する。また、アーム2の位置姿勢に関するパラメータとしては、アーム2の関節角(各関節の角度)が挙げられる。この関節角は、モータの回転軸に取付けられたエンコーダ等を用いて計測する。また、位置姿勢計測部101は、アーム2の位置姿勢に関するパラメータとして、アーム2の位置又はアーム2の姿勢を計測してもよい。
A position and
外力検知部102は、操作者によりアーム2に加えられた外力を検知する。外力検知部102により検知される外力としては、力の大きさ及び向き、或いは、トルクの大きさ等が挙げられる。
The external
例えば、外力検知部102は、アーム2の先端に取付けられた力センサを用いて、この力センサにより計測された力の大きさ及び向きを外力として検知してもよい。また、例えば、外力検知部102は、アーム2の関節毎のモータ駆動軸に取付けられたトルクセンサを用い、このトルクセンサにより計測されたトルクの大きさを外力として検知してもよい。また、外力検知部102は、上記のようにセンサを用いて外力を直接測定するのではなく、アーム2が有するモータの電流又はアーム2の関節角の計測値等から間接的に外力を検知する外力オブザーバを用いて上記外力を検知してもよい。
For example, the external
なお、外力検知部102は、外力の検知にセンサを用いる場合、センサの構造等によっては人が加えた外力だけではなく重力に起因する力又はトルクが重畳された状態で検知してしまう場合がある。そのため、そのような場合は、外力検知部102は、重力に起因する成分を推定して差引くことで、外力成分のみを得るとよい。これば重力補償と呼ばれる公知技術であり、特許文献2等複数の文献で開示されている。
従動制御演算部103は、外力検知部102により検知された外力に従うアーム2の動き(従動制御指令値)を算出する。この際、まず、従動制御演算部103は、外力検知部102により検知された外力から、操作者がどのようにアーム2を動かそうとしているのかを判定する。そして、従動制御演算部103は、上記の判定結果に基づいて、アーム2を駆動するための指令値(従動制御指令値)を算出する。従動制御指令値としては、例えば、アーム2の関節毎の角速度、又は移動量(関節毎の角度の差分)が挙げられる。
The driven
位置姿勢演算部104は、位置姿勢計測部101による計測結果に基づいて、アーム2の位置姿勢の現在値又は予測値を算出する。
The position/
なお、図1では、位置姿勢演算部104が、位置姿勢計測部101による計測結果を用い、従動制御演算部103による算出結果を用いていない。しかしながら、これに限らず、位置姿勢演算部104は、従動制御演算部103による算出結果を用いることで、外力検知部102により検知された外力に従うアーム2の動きを反映した位置姿勢を算出してもよい。
Note that in FIG. 1 , the position/
目標値算出部105は、拘束目標及び位置姿勢演算部104による算出結果に基づいて、拘束制御の目標値を算出する。なお、拘束目標とは、アーム2の位置姿勢の拘束先である。
アーム2の位置に対する拘束目標としては、拘束点、拘束軸及び拘束面がある。拘束点は、アーム2の先端又はその先端を基準として定めた位置を、ある特定の点に拘束する場合の位置である。拘束軸の種別としては、直線及び曲線がある。拘束面の種別としては、平面及び曲面がある。
アーム2の姿勢に対する拘束目標、すなわち拘束姿勢としては、拘束方向及び拘束回転軸がある。拘束方向は、アーム2の姿勢をある方向へと完全に拘束する場合の姿勢である。拘束回転軸は、指定された1つ又は2つの回転軸に沿って姿勢を回転させることを許容する拘束を行う場合の回転軸である。この場合、アーム2の姿勢は指定された回転軸に沿って変更することはできるが、あらゆる姿勢を取ることはできず制限された状態となるので、これもまた姿勢拘束の一種である。
また、直接教示装置1で用いる拘束目標は1つに限らず複数でもよい。また、拘束制御の目標値とは、アーム2の目標位置及びアーム2の目標姿勢のうちの少なくとも一方を意味する。
The target
Constraint targets for the position of the
A constraint target for the posture of the
Further, the number of restraint targets used in the
距離演算部106は、位置姿勢演算部104による算出結果に基づいて、拘束制御領域までの距離を算出する。拘束制御領域とは、拘束制御を行う領域である。
The
拘束制御調整部107は、距離演算部106により算出結果に基づいて、拘束制御演算部108により算出されたアーム2の動きの速さ(強さ)を連続的又は段階的に調整する。なお、拘束制御調整部107は、アーム2の動きの速さを段階的に調整する場合、少なくとも3段階以上で調整を行う。
The constraint
拘束制御演算部108は、位置姿勢演算部104による算出結果に基づいて、目標値算出部105により算出された目標値に移動するアーム2の動き(拘束制御指令値)を算出する。
The constraint
合成部109は、従動制御演算部103による算出結果(従動制御指令値)と拘束制御演算部108による算出結果(拘束制御指令値)とを一つの指令値に合成する。
The
駆動制御部110は、合成部109による合成結果に基づいて、アーム2を駆動する。
The
次に、従動制御演算部103の構成例について、図2を参照しながら説明する。
従動制御演算部103は、例えば図2に示すように、乗算部1031を有する。
Next, a configuration example of the driven
The driven
乗算部1031は、外力検知部102により検知された外力(関節毎のトルクの大きさ)に対し、ゲインを乗算することで、関節毎の角速度の指令値(従動制御指令値)を得る。なお、外力は、重力成分等の外乱が外力検知部102により取除かれているものとする。また、ゲインは、通常は対角行列である。また、ゲインは、関節毎に異なっていてもよい。
なお、図2において、τ(ハット)extは外力検知部102により検知されたトルクの大きさを示し、KTはゲインを示し、θ(ドット)Dは従動制御演算部103により算出された角速度の指令値(従動制御指令値)を示している。
Multiplying
2, τ (hat) ext indicates the magnitude of the torque detected by the external
なお、従動制御演算部103は、得た関節毎の角速度の指令値に対してリミッタを適用し、従動制御の速さを制限することも可能である。
Note that the driven
また、上記では、外力検知部102がトルクの大きさを外力として検知し、従動制御演算部103が関節毎の角速度の指令値を従動制御指令値として算出する場合を示したが、これに限らない。
例えば、外力検知部102がアーム2の手先にかかる力(又はエンドエフェクタ3の先端にかかる力)の大きさ及び向きを外力として検知する場合についても、類似の制御演算が可能である(例えば特許文献1参照)。また、従動制御演算部103は、アーム2の手先の移動量又は関節毎の駆動トルク等を従動制御指令値として算出してもよい。この制御演算は複数の文献で公開されていて公知であり様々な方式が開発されているため、これ以上の詳細は省略する。
In the above description, the external
For example, when the external
次に、拘束制御演算部108の構成例について、図3を参照しながら説明する。
拘束制御演算部108は、例えば図3に示すように、偏差演算部1081、指令値演算部1082、変数変換部1083及び制限部1084を有する。この場合、拘束制御調整部107は、制限部1084の挙動を調整する。
Next, an example configuration of the constraint
The constraint
偏差演算部1081は、目標値算出部105により算出された目標値と位置姿勢演算部104により算出された位置姿勢の現在値又は予測値との偏差を算出する。
The
指令値演算部1082は、偏差演算部1081による算出結果に基づいて、制限前の拘束制御指令値を算出する。すなわち、指令値演算部1082は、偏差演算部1081により算出された偏差に基づいて、アーム2の位置姿勢が目標値算出部105により算出された目標値に漸近するような指令値を算出する。この指令値演算部1082により算出された指令値を、制限前の拘束制御指令値と呼ぶ。なお、指令値演算部1082により算出された指令値が制限部1084で制限されたものが、拘束制御演算部108により得られる拘束制御指令値となる。
Command
変数変換部1083は、指令値演算部1082により算出された指令値を、合成部109での合成に適した変数に変換する。
The
なお、図3では、変数変換部1083が拘束制御演算部108に設けられた場合を示した。しかしながら、変数変換部1083は拘束制御演算部108に必須の構成ではなく、変数変換部1083が拘束制御演算部108に設けられていなくてもよい。
Note that FIG. 3 shows the case where the
制限部1084は、指令値演算部1082により算出された制限前の拘束制御指令値を、所定範囲内となるように制限する。なお、変数変換部1083により変数の変換が行われている場合には、制限部1084は、当該変換後の制限前の拘束制御指令値を、所定範囲内となるように制限する。
そして、実施の形態1では、拘束制御調整部107は、制限部1084による制限範囲を調整することでアーム2の動きの速さを調整する。
Limiting
In
次に、図1に示す実施の形態1に係る直接教示装置1の動作例について、図4を参照しながら説明する。また以下では、拘束制御演算部108は図3に示す構成を有するものとする。
図1に示す実施の形態1に係る直接教示装置1の動作例では、図4に示すように、まず、位置姿勢計測部101は、ロボットが有するアーム2の位置姿勢に関するパラメータを計測する(ステップST401)。
Next, an operation example of the
In the operation example of the
次いで、外力検知部102は、操作者によりアーム2に加えられた外力を検知する(ステップST402)。
Next, external
次いで、従動制御演算部103は、外力検知部102により検知された外力に従うアーム2の動き(従動制御指令値)を算出する(ステップST403)。
Next, driven
次いで、位置姿勢演算部104は、位置姿勢計測部101による計測結果に基づいて、アーム2の位置姿勢の現在値又は予測値を算出する(ステップST404)。
Next, the position/
ここで、直接教示装置1が位置拘束を行う場合、すなわち直接教示装置1がアーム2の位置を所定の拘束点、拘束軸又は拘束面に拘束する場合、位置姿勢演算部104は少なくともアーム2の位置を算出する必要がある。
また、直接教示装置1が姿勢拘束を行う場合、すなわち直接教示装置1がアーム2の姿勢を所定の拘束方向に拘束する場合又は所定の拘束回転軸に沿った姿勢の回転のみ許容する拘束を行う場合、位置姿勢演算部104は少なくともアーム2の姿勢を算出する必要がある。
また、直接教示装置1が位置拘束及び姿勢拘束を行う場合、位置姿勢演算部104はアーム2の位置及び姿勢の両方を算出する必要がある。
Here, when the
Further, when the
Further, when the
位置姿勢演算部104が求めるものは、計測値のみに基づいた現在値でもよいし、従動制御演算部103による算出結果も取込んだ将来の予測値でもよい。
ここで、位置姿勢演算部104は、位置姿勢計測部101により計測された関節毎の角度から、順運動学演算を用いることで、位置姿勢の現在値を算出することができる。また、位置姿勢演算部104は、上記に加え、従動制御演算部103により得られた従動制御指令値を用いることで、拘束制御が無かったと仮定した場合での位置姿勢の将来の予測値を算出することができる。
What the position/
Here, the position/
次いで、目標値算出部105は、拘束目標及び位置姿勢演算部104による算出結果に基づいて、拘束制御の目標値を算出する(ステップST405)。
Next, target
例えば、拘束制御の目的がエンドエフェクタ3の先端のZ軸座標を0.1[m]の位置に固定することであり、位置姿勢演算部104により算出されたエンドエフェクタ3の先端の現在値が[Xp,Yp,Zp]であるとする。この場合、目標値算出部105は、拘束制御の目標値を[Xp,Yp,0.1]とする(なお、この場合、姿勢は変更しないので記述を省略する)。
For example, the purpose of constraint control is to fix the Z-axis coordinate of the tip of the end effector 3 at a position of 0.1 [m], and the current value of the tip of the end effector 3 calculated by the position/
また例えば、拘束制御の目的が、図5に示すように、エンドエフェクタ3の向きのうちのZ軸を真下方向(符号502に示す方向)とした上でX軸をロボット座標系のX軸に合わせることであるとする。なお、図5において、符号501は、真上方向(基準方向)を示している。この場合、拘束制御の目標値である目標姿勢を回転行列表現で表したものは下式(1)のようになる(なお、この場合、位置は変更しないので記述を省略する)。なお、回転行列による姿勢の表現は、例えば非特許文献1等に開示されており、その詳細については省略する。
なお、目標値算出部105は、拘束制御の目標値として、1つの目標値のみを算出してもよいし、複数の目標値を算出してその中から1つの目標値を選択してもよい。
例えば、拘束制御の目的がエンドエフェクタ3の先端のZ軸座標を0.1[m]刻みで最も近い位置に固定することである場合、目標値算出部105は、拘束制御の目標値として[Xp,Yp,0.1n](nは整数)の中で最も現在の位置に近いものを選択する。
Note that the target
For example, if the purpose of constraint control is to fix the Z-axis coordinate of the tip of the end effector 3 to the closest position in increments of 0.1 [m], the target
また、拘束制御の目的が図6に示すようにエンドエフェクタ3の向きのうちのZ軸を真下方向とし且つこのZ軸を回転軸としてπ/2刻み(90度刻み)に回転させた姿勢で固定することである場合、目標値算出部105は、拘束制御の目標値として最も現在の姿勢に近いものを選択する。この場合、拘束制御の目標値である目標姿勢を回転行列表現で表したものは下式(2)のようになる。
In addition, as shown in FIG. 6, the purpose of restraint control is to set the Z-axis of the orientation of the end effector 3 directly downward, and to rotate the end effector 3 in increments of π/2 (in increments of 90 degrees) about the Z-axis as the rotation axis. In the case of fixing, the target
この式(2)は、図6に示すように、nによって目標姿勢が4通りに変わるが、目標値算出部105はその中から現在の姿勢に最も近いものを1つ選択する。目標値算出部105は、現在の姿勢に近いかどうかは、現在の姿勢から各目標姿勢へと回転させた場合の回転角の大小等から判定できる。
As shown in FIG. 6, this formula (2) has four target postures depending on n, and the target
次いで、距離演算部106は、位置姿勢演算部104による算出結果に基づいて、アーム2の位置姿勢の現在値又は予測値から拘束制御領域までの距離を算出する(ステップST406)。
Next,
例えば、直接教示装置1がZ軸方向の軸拘束及び鉛直下向きの姿勢拘束の両方を行う場合、まず、距離演算部106は、軸拘束の軸を拘束制御領域と定義する。そして、距離演算部106は、下式(3)に示すように、アーム2の位置姿勢の現在値又は予測値から上記軸までの距離を算出する。なお、式(3)において、lは軸拘束の軸までの距離を示し、x,yはアーム2の位置の現在値又は予測値のX座標及びY座標を示し、xa,yaは軸拘束の軸のX座標及びY座標を示している。
l=√{(x-xa)2+(y-ya)2} (3)
For example, when the
l=√{(x−x a ) 2 +(y−y a ) 2 } (3)
また、例えば、直接教示装置1が鉛直下向きの姿勢拘束を行う場合、距離演算部106は、まず、図7に示すように、x,yが下式(4)を満たす範囲を拘束制御領域として予め定義する。図7において、符号701は拘束制御領域を示している。この拘束制御領域は、ワークに対して作業を行う場所、ワークを取る場所又はワークを置く場所、並びにその周辺をカバーするように決められる。そして、距離演算部106は、位置姿勢演算部104により算出されたアーム2の位置の現在値又は予測値から、この拘束制御領域までの最短距離を算出する。
Xmin≦x≦Xmax
Ymin≦y≦Ymax (4)
Further, for example, when the
X min ≤ x ≤ X max
Y min ≤ y ≤ Y max (4)
また、例えば、直接教示装置1が所定の曲面に沿って曲面拘束を行う場合、まず、距離演算部106は、当該曲面そのものを拘束制御領域と定義する。そして、距離演算部106は、位置姿勢演算部104により算出されたアーム2の位置の現在値又は予測値からこの曲面までの最短距離を算出する。
Further, for example, when the
また、例えば、直接教示装置1が所定の平面に沿った平面拘束及び鉛直下向きの姿勢拘束の両方を行う場合、まず、距離演算部106は、鉛直下向きに一致する姿勢を拘束制御領域と定義する。そして、距離演算部106は、位置姿勢演算部104により算出されたアーム2の姿勢の現在値又は予測値が、鉛直下向き方向となす角度を、距離として算出する。こうすると、現在又は予測された手先の方向が鉛直下向きの場合には距離が0となり、鉛直下向き方向からの傾きが大きくなると距離も大きくなる。
Further, for example, when the
なお、距離演算部106は、拘束制御領域を複数定義してもよい。この場合、距離演算部106は、それぞれの拘束制御領域に対する距離を求め、その中で一番小さいものを選択するとよい。
Note that the
以上のように、距離演算部106は、拘束付き直接教示を行う目的に沿った適切な拘束制御領域を予め定義し、この拘束制御領域から位置姿勢演算部104により算出されたアーム2の位置姿勢の現在値又は予測値までの最短距離を求める。
As described above, the
次いで、拘束制御調整部107は、距離演算部106により算出された距離に基づいて、拘束制御演算部108により算出されたアーム2の動きの速さ(強さ)を連続的又は段階的に調整する(ステップST407)。すなわち、拘束制御調整部107は、距離演算部106により算出された距離に基づいて、拘束制御の強さを調整するパラメータを決定する。
Next, the constraint
例えば、拘束制御調整部107は、距離が0である場合を100%とし、その相対値として拘束制御の強さを決めるパラメータを決める。この場合、パラメータが0%に近付くにつれ拘束制御の強さは弱くなり、0%は拘束制御が無効となることを意味する。
For example, the constraint
このパラメータは、距離に応じて連続的に変化するか、3段階以上で段階的に変化させる。すなわち、2段階では、拘束制御の強さが最大と無効の2通りだけとなり、従来技術(拘束制御のオンオフを切換える)と同じになってしまう。そのため、パラメータを段階的に変化させるのであれば3段階以上にする必要がある。 This parameter is changed continuously according to the distance, or is changed stepwise in three or more steps. That is, in two stages, there are only two strengths of constraint control, maximum and ineffective, which is the same as the conventional technology (on/off switching of constraint control). Therefore, if the parameters are to be changed stepwise, it is necessary to change the parameters in three steps or more.
なお、拘束制御調整部107が決定するパラメータの値は、距離に対して単調減少とすることが好ましい。そうすることで、拘束制御領域から離れるにつれて徐々に拘束制御が弱くなるようにできる。単調減少にしなかった場合、拘束制御領域から離れるにつれて拘束制御が強くなったり弱くなったりするため、操作感を損なう恐れがある。
It is preferable that the parameter values determined by the constraint
次いで、拘束制御演算部108は、位置姿勢演算部104による算出結果に基づいて、目標値算出部105により算出された目標値に移動するアーム2の動き(拘束制御指令値)を算出する(ステップST408)。すなわち、拘束制御演算部108は、アーム2の位置姿勢が、目標値算出部105により算出された位置姿勢の目標値へと漸近するような、拘束制御指令値を演算によって求める。
Next, the constraint
この拘束制御演算部108が図3に示す構成を有する場合、以下のような動作を行う。
拘束制御演算部108の動作例では、まず、偏差演算部1081は、目標値算出部105により算出された目標値と位置姿勢演算部104により算出された位置姿勢の現在値又は予測値との偏差を算出する。
When this constraint
In the operation example of the constraint
ここで、位置の偏差は、目標値の座標値から現在値の座標値を減算することで得られる。姿勢の偏差は、現在値の姿勢から目標値の姿勢へ回転変換を求めることで得られる。偏差演算部1081により得られる偏差を下式(5)のように表す。式(5)において、eは偏差演算部1081により得られる偏差を示し、Δx,Δy,Δzは位置の偏差のX成分、Y成分、Z成分を示し、Δrx,Δry,Δrzは姿勢の偏差のそれぞれX軸、Y軸、Z軸に対する回転量を示している。
Here, the deviation of the position is obtained by subtracting the coordinate value of the current value from the coordinate value of the target value. The attitude deviation is obtained by calculating the rotational transformation from the current attitude to the target attitude. The deviation obtained by the
次に、指令値演算部1082は、偏差演算部1081による算出結果に基づいて、制限前の拘束制御指令値を算出する。すなわち、指令値演算部1082は、偏差演算部1081により算出された偏差に基づいて、アーム2の位置姿勢が目標値算出部105により算出された目標値に漸近するような指令値を算出する。
Next, command
指令値演算部1082が行う制御は、言い換えれば、偏差演算部1081により算出された偏差が0に近づくような制御である。このような制御は、例えば下式(6)のように、偏差に対して適切なゲイン(6×6の対角行列)を乗算した結果を速度指令値とすることで可能である。このゲインは、通常、対角行列にする。式(6)において、KCはゲインを示し、vx,vy,vzは速度指令値のX軸方向、Y軸方向、Z軸方向の並進成分を示し、ωx,ωy,ωzはそれぞれX軸、Y軸、Z軸に対する回転成分を示している。
The control performed by the command
又は、下式(7)のように、偏差をそのノルム、又は重み付きノルムで正規化した値に対してゲインを乗算した結果を速度指令値とすることもできる。この方法の場合、偏差の大きさによらず一定の速さで目標値へと漸近する制御となる。式(6)は目標値に漸近するに従い制御の速さが遅くなる。式(7)において、|e|は偏差のノルムを示している。
Alternatively, as in the following equation (7), the speed command value can be obtained by multiplying the value normalized by the norm or weighted norm of the deviation by the gain. In the case of this method, the control is such that the target value is asymptotically approached at a constant speed regardless of the magnitude of the deviation. In equation (6), the speed of control decreases as the target value is asymptotically approached. In Equation (7), |e| indicates the norm of the deviation.
いずれにせよ、指令値演算部1082で行う制御演算は、アーム2の位置姿勢が、目標値算出部105によって算出された目標値に漸近するようなものであればなんでもよい。
In any case, the control calculation performed by the command
次に、変数変換部1083は、指令値演算部1082により算出された指令値を、関節毎の角度指令値に変換する。
すなわち、上記で指令値演算部1082により得られた速度指令値はデカルト座標系における速度指令値であるため、変数変換部1083により関節毎の角速度指令値に変換する。変数変換部1083は、下式(8)のように、デカルト座標系における速度指令値に、位置姿勢の現在値又は予測値におけるヤコビ行列の逆行列を左から乗算することで、関節毎の角速度指令値に変換する。式(8)において、J-1はヤコビ行列の逆行列を示している。
Next, the
That is, since the speed command value obtained by the command
なお、指令値演算部1082が各関節の角速度指令値を直接算出する場合、又は、拘束制御演算部108により算出された拘束制御指令値がデカルト座標系である場合等、変数変換部1083が不要な場合もある。よって、変数変換部1083は必須の構成要素ではない。
If the command
次に、制限部1084は、指令値演算部1082により算出された制限前の拘束制御指令値を、所定範囲内となるように制限する。なお、変数変換部1083により変数の変換が行われている場合には、制限部1084は、当該変換後の制限前の拘束制御指令値を、所定範囲内となるように制限する。
そして、実施の形態1では、拘束制御調整部107は、制限部1084の制御範囲を調整することでアーム2の動きの速さを調整する。以下、拘束制御調整部107が関節毎の角速度指令値を制限する場合を例にとって説明する。
Next, the limiting
In
まず、制限部1084は、関節毎の角速度指令値の最大上限(上限値の最大値)を予め決めておく。この最大上限は、拘束制御演算部108により算出される拘束制御指令値が取り得る最大の値である。ここで、最大上限は関節毎に異なっていてもよいし、同一でもよい。以下、i番目の関節の角速度指令値の最大上限をθ(ドット)i,MAXで表す(最大上限は正の値とする)。
First, the limiting
次に、制限部1084は、実際に適用する角速度指令値の上限値を算出する。この上限値は、最大上限及び調整パラメータに基づいて決める。この調整パラメータを、拘束制御調整部107の出力に応じて変えることで、拘束制御演算部108により算出される拘束制御指令値の上限を調整し、結果として、拘束制御がアーム2を動かす速さを調整する。すなわち、i番目の関節に対して実際に適用する角速度指令値の上限をθ(ドット)i,limitで表すと、下式(9)のようになる。式(9)において、αは調整パラメータを示している。
Next, the limiting
この調整パラメータは、拘束制御調整部107が出力するパラメータの値に基づき、0以上1以下の範囲で値を決める。拘束制御調整部107が100%を出力したら1に、0%を出力したら0にする。
The value of this adjustment parameter is determined within a range of 0 to 1 based on the parameter value output from the constraint
図8に、距離演算部106により算出された距離と、調整パラメータとの関係を示す。距離が0である場合、調整パラメータは1で、そこから距離が大きくなるにつれ、連続的又は段階的に調整パラメータは小さくなり、距離が予め決めた所定の値より大きくなると調整パラメータは0になる。こうすることで、拘束制御調整部107が拘束制御演算部108の制御動作を調整する。結果として、距離演算部106により算出された距離が0である場合、実際に適用する角速度指令値の上限は最大となり、拘束制御がアーム2を動かす速さは最大となる。これは、位置姿勢演算部104により算出されたアーム2の位置姿勢の現在値又は予測値が拘束制御領域内にある場合である。そして、距離演算部106により算出された距離が大きくなると、すなわち、アーム2の位置姿勢の現在値又は予測値が拘束制御領域から離れると、実際に適用する角速度指令値の上限が小さくなり、拘束制御がアーム2を動かす速さも制限され、遅くなる。距離演算部106により算出された距離が所定の値以上になると、すなわち、アーム2の位置姿勢の現在値又は予測値が拘束制御領域から十分に離れると、実際に適用する角速度指令値の上限が0となり、拘束制御は無効となる。こうなると、操作者はアーム2を拘束と関係なく自由に動かせるようになる。
FIG. 8 shows the relationship between the distance calculated by the
制限部1084は、実際に適用する角速度指令値の上限が決まったら、全ての関節の角速度指令値がこの上限を超えないように、その値を制限する。すなわち、i番目の関節の角速度指令値が下式(10)を満たすよう、関節毎の角速度指令値を制限する。式(10)において、θ(ドット)iはi番目の関節の角速度指令値を示している。
Once the upper limit of the actually applied angular velocity command value is determined, the limiting
制限部1084が関節毎の角速度指令値を制限する際、拘束制御によってアーム2が動く方向が変わらないように制限することが好ましい。そのような演算を行う手順の一例を以下に示す。
When the
まず、制限部1084は、下式(11)に示すように、関節毎に、角速度指令値の大きさと、実際に適用する角速度指令値の上限との比を求める。式(11)において、ciは比を示している。
First, the limiting
次に、制限部1084は、上記比の最大値を求める。
次に、制限部1084は、各関節角の角度指令値を上記比の最大値で割って、制限後の角速度指令値を算出する。式(12)において、θ(ドット)*
iは制限後の角速度指令値を示し、cは比の最大値を示している。
Next, limiting
Next, the
そして、制限部1084は、以上のようにして求めた角加速度指令値を、拘束制御指令値として出力する。
Then, the limiting
再び図4に示すフローの説明に戻り、次いで、合成部109は、従動制御演算部103による算出結果(従動制御指令値)と拘束制御演算部108による算出結果(拘束制御指令値)とを一つの指令値に合成する(ステップST409)。 Returning again to the description of the flow shown in FIG. are combined into one command value (step ST409).
例えば、従動制御演算部103が従動制御指令値として関節の角速度指令値(θ(ドット)D)を算出し、拘束制御演算部108が拘束制御指令値として関節の角速度指令値(θ(ドット)C)を算出したとする。この場合、合成部109は、その和であるθ(ドット)D+θ(ドット)Cを指令値として得る。
For example, the driven
当然ながらこれに限るものではなく、従動制御演算部103が従動制御指令値としてトルク指令値(τD)を算出し、拘束制御演算部108が拘束制御指令値としてトルク指令値(τC)を算出したとする。この場合、合成部109は、その和であるτD+τCを指令値として得る。また、従動制御演算部103が従動制御指令値として位置指令値(θD)を算出し、拘束制御演算部108が拘束制御指令値として関節の角度変化量(ΔθC)を算出したとする。この場合、合成部109は、その和であるθD+ΔθCを指令値として得る。この他、従動制御演算部103と拘束制御演算部108とで算出する物理量が異なる場合でも、合成部109は、制御演算によって指令値を合成することが可能である。
Of course, it is not limited to this. The driven
次いで、駆動制御部110は、合成部109による合成結果に基づいて、アーム2を駆動する(ステップST410)。すなわち、駆動制御部110は、指令値に従ってアーム2を制御する。この部分の制御は通常のアーム2の制御なので、詳細は省略する。
Next,
ここで、拘束付きの直接教示は、拘束制御の演算により、アーム2が拘束姿勢、拘束面又は拘束軸に追従するように制御するが、この強さは調整することが可能である。よって、実施の形態1に係る直接教示装置1では、拘束制御をするかしないかの二択ではなく、例えば拘束姿勢、拘束面又は拘束軸に近づくほど拘束制御を強く、遠ざかるほど弱くといった調整を連続的又は段階的に行うことで、従来技術のような急な動き及び振動を軽減することが可能となる。一方で、実施の形態1に係る直接教示装置1では、拘束制御領域に近いときは拘束制御を強くすることで、単に拘束制御を弱くしたときのように直接教示の精度が劣化するという問題は起きにくくなる。このようにして、実施の形態1に係る直接教示装置1では、アーム2の教示精度と操作感を両立することができる。
Here, in the direct teaching with constraint, the
以上のように、この実施の形態1によれば、直接教示装置1は、ロボットが有するアーム2に加えられた外力を検知する外力検知部102と、外力検知部102により検知された外力に従うアーム2の動きを算出する従動制御演算部103と、アーム2の位置又は姿勢のうちの少なくとも一方である位置姿勢の現在値又は予測値を算出する位置姿勢演算部104と、拘束目標及び位置姿勢演算部104による算出結果に基づいて、拘束制御の目標値を算出する目標値算出部105と、位置姿勢演算部104による算出結果に基づいて、目標値算出部105により算出された目標値へと移動するアーム2の動きを算出する拘束制御演算部108と、拘束制御演算部108により算出されたアーム2の動きの速さを連続的又は少なくとも3段階以上に段階的に調整可能とする拘束制御調整部107と、従動制御演算部103による算出結果と拘束制御演算部108による算出結果とを合成する合成部109と、合成部109による合成結果に基づいてアーム2を駆動する駆動制御部110とを備えた。これにより、実施の形態1に係る直接教示装置1は、アーム2の教示精度と操作感を両立可能となる。
As described above, according to the first embodiment, the
実施の形態2.
実施の形態1では、拘束制御調整部107が、拘束制御演算部108が有する制限部1084を調整することで、拘束制御がアーム2を動かす速さを調整する場合を示したが、速さを調整する方法はこれに限らない。実施の形態2では、拘束制御調整部107が、拘束制御演算部108が有する乗算部1085を調整することで、拘束制御がアーム2を動かす速さを調整する場合を示す。
In the first embodiment, the constraint
図9は実施の形態2における拘束制御演算部108の構成例を示す図である。図9に示す実施の形態2における拘束制御演算部108は、図3に示す実施の形態1における拘束制御演算部108に対し、指令値演算部1082を乗算部1085に変更し、制限部1084を取除いている。また、拘束制御調整部107は乗算部1085を調整する。実施の形態2に係る直接教示装置1のその他の構成は、図1,3に示す実施の形態1に係る直接教示装置1と同様であり、同一の符号を付し、異なる部分についてのみ説明を行う。
FIG. 9 is a diagram showing a configuration example of the constraint
乗算部1085は、偏差演算部1081により算出された偏差に対して調整ゲインを乗算する。
そして、拘束制御調整部107は、乗算部1085により乗算される調整ゲインを調整することでアーム2の動きの速さを調整する。
The
Then, the constraint
乗算部1085は、下式(13)に示すように、偏差演算部1081により算出された偏差に、調整ゲイン(ゲイン及び調整パラメータ)を乗算する。ここで、ゲインは6×6の行列(好ましくは対角行列)、調整パラメータはスカラである。
The
乗算部1085は、調整パラメータを、拘束制御調整部107の出力に応じて0から1までの範囲で値を変える。乗算部1085は、調整パラメータを、拘束制御調整部107が100%を出力したら1にし、0%を出力したら0にする。
図10に、距離演算部106により算出された距離と、調整パラメータとの関係を示す。
距離が0である場合、調整パラメータは1で、そこから距離が大きくなるにつれ、連続的又は段階的に調整パラメータは小さくなり、距離が予め決めた所定の値より大きくなると調整パラメータは0になる。こうすることで、拘束制御調整部107が拘束制御演算部108の制御動作を調整する。結果として、距離演算部106により算出された距離が0の場合、拘束制御演算部108により算出される拘束制御指令値は最大となり、拘束制御がアーム2を動かす速さは最大となる。そして、距離演算部106により算出された距離が大きくなると、拘束制御指令値が小さくなり、拘束制御がアーム2を動かす速さも遅くなる。距離演算部106により算出された距離が所定の値以上になると、拘束制御は無効となり、操作者はアーム2を拘束と関係なく自由に動かせるようになる。
FIG. 10 shows the relationship between the distance calculated by the
When the distance is 0, the adjustment parameter is 1, and as the distance increases from there, the adjustment parameter decreases continuously or stepwise, and when the distance exceeds a predetermined value, the adjustment parameter becomes 0. . By doing so, the constraint
実施の形態2に係る直接教示装置1では、以上のようにして、拘束制御領域からの距離に基づいて、拘束制御がアーム2を動かす速さを調整する。
In the
実施の形態3.
実施の形態1,2では、拘束制御調整部107が、距離演算部106により算出された距離に基づいて、拘束制御の速さを調整する場合を示したが、拘束制御の速さを調整する元になる値はこれに限らない。実施の形態3では、人がアーム2を手で操作する量(操作量)に基づいて、拘束制御演算部108により算出されるアーム2の動きの速さを調整する場合を示す。
Embodiment 3.
In the first and second embodiments, the constraint
図11は実施の形態3に係る直接教示装置1の構成例を示す図である。図11に示す実施の形態3に係る直接教示装置1は、図1に示す実施の形態1に係る直接教示装置1に対し、距離演算部106を手動操作量演算部111に変更している。実施の形態3に係る直接教示装置1のその他の構成は実施の形態1に係る直接教示装置1と同様であり、同一の符号を付して異なる部分についてのみ説明を行う。
FIG. 11 is a diagram showing a configuration example of the
手動操作量演算部111は、従動制御演算部103による算出結果に基づいて、アーム2に対する操作者による操作量を算出する。
そして、拘束制御調整部107は、手動操作量演算部111による算出結果に基づいて、アーム2の動きの速さを調整する。
The manual operation
Then, the restraint
好ましい一例としては、従動制御演算部103により算出される従動制御指令値を角加速度指令値として、手動操作量演算部111がこの角加速度指令値の大きさに基づいて操作量を演算によって求め、この操作量によって拘束制御演算部108により算出されるアーム2の動きの速さを調整する。そして、拘束制御調整部107は、操作量が大きいほど拘束制御演算部108により算出されるアーム2の動きの速さが遅くなるように調整し、操作量が小さいほど上記アーム2の動きの速さが速くなるように調整する。こうすることで、操作者がアーム2を速く操作すると拘束制御が弱くなるので、操作者は拘束に関係なく自由にアーム2を動かすことができるようになる。また、アーム2をゆっくりと操作すると拘束制御が強くなるので、拘束に沿って精度よくアーム2を操作でき、教示制御を高くすることが可能となる。
As a preferred example, the driven control command value calculated by the driven
また上記の例に限らず、直接教示装置1は、位置姿勢計測部101により計測される関節毎の角度、或いは、位置姿勢演算部104により算出された位置姿勢の現在値又は予測値から、アーム2の関節毎の角速度を求め、その値に基づいて調整することもできる。ただし、従動制御演算部103により算出される従動制御指令値は操作者の操作で決まるのに対し、これらの値から計算した角速度は拘束制御の算出結果の影響もうけるので、操作者の操作が拘束制御調整部107の調整動作にうまく反映されない場合がある。
Further, the
なお、手動操作量演算部111は、操作量を、角速度から求めるだけでなく、アーム2の手先の速度又は角加速度等、他の物理量から求めてもよい。
Note that the manual operation
実施の形態4.
拘束制御調整部107は、実施の形態1,2では距離演算部106により算出された距離に基づいて、実施の形態3では手動操作量演算部111により算出された操作量に基づいて、拘束制御の速さを調整する場合を示した。これらは、従動制御演算部103、位置姿勢演算部104及び目標値算出部105のうちの一つ以上の計算結果に基づいて、拘束制御調整部107により、拘束制御演算部108が算出するアーム2の動きの速さを調整しているものと考えられる。ある意味、拘束制御の速さを人が直接調整するのではなく、算出結果を介して間接的に調整している。一方、これに限らず、拘束制御演算部108により算出されるアーム2の動きの速さを人が直接調整する方法も考えられる。
Embodiment 4.
The constraint
図12は実施の形態4に係る直接教示装置1の構成例を示す図である。この図12に示す実施の形態4に係る直接教示装置1は、図1に示す実施の形態1に係る直接教示装置1に対し、距離演算部106を入力部112に変更している。実施の形態4に係る直接教示装置1におけるその他の構成は実施の形態1に係る直接教示装置1と同様であり、同一の符号を付してその説明を省略する。
FIG. 12 is a diagram showing a configuration example of the
入力部112は、操作者からの入力を受付ける。
そして、拘束制御調整部107は、入力部112による受付け結果に基づいて、アーム2の動きの速さを調整する。
The
Then, the restraint
入力部112の一例としては、アーム2の本体又はロボット操作用のティーチングペンダントに設けられた2つのボタンが挙げられる。この場合、拘束制御調整部107は、上記2つのボタンのうちの一方が押されると拘束制御演算部108により算出されるアーム2の動きの速さを一段階速くし、他方が押されると一段階遅くするように、少なくとも3段階以上に調整する。
An example of the
また、入力部112の別の例としては、アーム2の本体又はロボット操作用のティーチングペンダントに設けられた調整用のスライダ(音量調整用のボリュームスライダのようなもの)が挙げられる。この場合、拘束制御調整部107は、スライダが一方に動かされると拘束制御演算部108により算出されるアーム2の動きの速さをより速くし、他方に動かされるとより遅くするように、連続的に調整する。なお、調整用のスライダは物理的なものではなく、ティーチングペンダント等の画面上に表示されたものを操作するような仕組みでもよい。
Another example of the
また、入力部112の別の例としては、アーム2に設けられ、操作者がアーム2を掴む力を検知するセンサが挙げられる。この場合、拘束制御調整部107は、このセンサの出力に応じて調整を行う。例えば、拘束制御調整部107は、アーム2を掴む力が弱くなると拘束制御演算部108により算出されるアーム2の動きの速さをより速くし、アーム2を掴む力が強くなるとより遅くするように、連続的に調整する。
Another example of the
また、入力部112の別の例としては、フットペダルが挙げられる。この場合、拘束制御調整部107は、フットペダルが踏み込まれる量に応じて調整を行う。例えば、拘束制御調整部107は、フットペダルが全く踏み込まれていない状態で拘束制御演算部108により算出されるアーム2の動きの速さを最大とし、踏み込まれる量が大きくなると速さを徐々に遅くし、一番奥まで踏み込まれると速さを0にして拘束制御演算が実質無効となるように、連続的又は段階的に調整する。
Another example of the
実施の形態4に係る直接教示装置1では、以上のようにして、入力部112が人からの入力を検知し、拘束制御調整部107が、その検知された値に応じて、拘束制御演算部108が算出するアーム2の動きの速さを調整する。
In the
なお、実施の形態1~4では、一部、6軸のアーム2を前提として説明及び例示したが、6軸以外のアーム2であっても同様にして実施することが可能である。
また、実施の形態1~4では、従動制御演算部103により算出された従動制御指令値と、拘束制御演算部108により算出された拘束制御指令値が、角速度の指令値である例を中心に説明したが、角加速度又はトルク等、他の物理量であっても実現は可能である。
In addition, in the first to fourth embodiments, the description and examples were partly based on the assumption that the
Further, in the first to fourth embodiments, the example in which the driven control command value calculated by the driven
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組合わせ、或いは各実施の形態の任意の構成要素の変形、若しくは各実施の形態において任意の構成要素の省略が可能である。 In addition, within the scope of the present invention, it is possible to freely combine each embodiment, modify any component of each embodiment, or omit any component in each embodiment. be.
1 直接教示装置
2 アーム
3 エンドエフェクタ
101 位置姿勢計測部
102 外力検知部
103 従動制御演算部
104 位置姿勢演算部
105 目標値算出部
106 距離演算部
107 拘束制御調整部
108 拘束制御演算部
109 合成部
110 駆動制御部
111 手動操作量演算部
112 入力部
1031 乗算部
1081 偏差演算部
1082 指令値演算部
1083 変数変換部
1084 制限部
1085 乗算部
1
Claims (7)
前記外力検知部により検知された外力に従う前記アームの動きを算出する従動制御演算部と、
前記アームの位置又は姿勢のうちの少なくとも一方である位置姿勢の現在値又は予測値を算出する位置姿勢演算部と、
拘束目標及び前記位置姿勢演算部による算出結果に基づいて、拘束制御の目標値を算出する目標値算出部と、
前記位置姿勢演算部による算出結果に基づいて、前記目標値算出部により算出された目標値へと移動する前記アームの動きを算出する拘束制御演算部と、
前記拘束制御演算部により算出されたアームの動きの速さを連続的又は少なくとも3段階以上に段階的に調整可能とする拘束制御調整部と、
前記従動制御演算部による算出結果と前記拘束制御演算部による算出結果とを合成する合成部と、
前記合成部による合成結果に基づいて前記アームを駆動する駆動制御部と
を備えた直接教示装置。 an external force detection unit that detects an external force applied to an arm of the robot;
a driven control calculation unit that calculates the movement of the arm according to the external force detected by the external force detection unit;
a position/posture calculation unit that calculates a current value or a predicted value of the position/posture, which is at least one of the position and posture of the arm;
a target value calculation unit that calculates a target value for constraint control based on the constraint target and the result of calculation by the position and orientation calculation unit;
a constraint control calculation unit that calculates the movement of the arm moving to the target value calculated by the target value calculation unit based on the calculation result of the position/orientation calculation unit;
a constraint control adjustment unit that can adjust the speed of the arm movement calculated by the constraint control calculation unit continuously or in steps of at least three steps;
a synthesizing unit that synthesizes the calculation result by the driven control arithmetic unit and the calculation result by the constraint control arithmetic unit;
A direct teaching device comprising: a drive control section that drives the arm based on a result of synthesis by the synthesis section.
前記目標値算出部により算出された目標値と前記位置姿勢演算部により算出された位置姿勢の現在値又は予測値との偏差を算出する偏差演算部と、
前記偏差演算部による算出結果に基づいて、前記拘束制御演算部による算出結果に相当する制限前の拘束制御指令値を算出する指令値演算部と、
前記指令値演算部により算出された制限前の拘束制御指令値を制限する制限部とを備え、
前記拘束制御調整部は、前記制限部を調整することで前記アームの動きの速さを調整する
ことを特徴とする請求項1記載の直接教示装置。 The constraint control calculation unit is
a deviation calculation unit that calculates a deviation between the target value calculated by the target value calculation unit and the current value or predicted value of the position and orientation calculated by the position and orientation calculation unit;
a command value calculation unit that calculates a constraint control command value before limitation corresponding to the calculation result of the constraint control calculation unit based on the calculation result of the deviation calculation unit;
a limiting unit that limits the pre-limiting constraint control command value calculated by the command value calculating unit;
2. The direct teaching device according to claim 1, wherein the restraint control adjusting section adjusts the movement speed of the arm by adjusting the restricting section.
前記目標値算出部により算出された目標値と前記位置姿勢演算部により算出された位置姿勢の現在値又は予測値との偏差を算出する偏差演算部と、
前記偏差演算部により算出結果に対して調整ゲインを乗算する乗算部とを備え、
前記拘束制御調整部は、前記乗算部により乗算される調整ゲインを調整することで前記アームの動きの速さを調整する
ことを特徴とする請求項1記載の直接教示装置。 The constraint control calculation unit is
a deviation calculation unit that calculates a deviation between the target value calculated by the target value calculation unit and the current value or predicted value of the position and orientation calculated by the position and orientation calculation unit;
a multiplication unit that multiplies the result calculated by the deviation calculation unit by an adjustment gain,
The direct teaching device according to claim 1, wherein the constraint control adjustment section adjusts the speed of movement of the arm by adjusting an adjustment gain multiplied by the multiplication section.
前記拘束制御調整部は、前記距離演算部による算出結果に基づいて、前記アームの動きの速さを調整する
ことを特徴とする請求項1から請求項3のうちの何れか1項記載の直接教示装置。 a distance calculation unit that calculates a distance from a current value or a predicted value of the position and orientation of the arm to a constraint control area based on a calculation result of the position and orientation calculation unit;
4. The direct control device according to any one of claims 1 to 3, wherein the constraint control adjustment unit adjusts the speed of movement of the arm based on the calculation result of the distance calculation unit. Teaching device.
前記拘束制御調整部は、前記手動操作量演算部による算出結果に基づいて、前記アームの動きの速さを調整する
ことを特徴とする請求項1から請求項3のうちの何れか1項記載の直接教示装置。 A manual operation amount calculation unit that calculates an operation amount by an operator for the arm,
The restraint control adjustment section adjusts the movement speed of the arm based on the calculation result of the manual operation amount calculation section. direct teaching device.
前記拘束制御調整部は、前記入力部による受付け結果に基づいて、前記アームの動きの速さを調整する
ことを特徴とする請求項1から請求項3のうちの何れか1項記載の直接教示装置。 An input unit for receiving input from an operator,
4. The direct teaching according to any one of claims 1 to 3, wherein the constraint control adjusting section adjusts the speed of movement of the arm based on a result received by the input section. Device.
従動制御演算部が、前記外力検知部により検知された外力に従う前記アームの動きを算出するステップと、
位置姿勢演算部が、前記アームの位置又は姿勢のうちの少なくとも一方である位置姿勢の現在値又は予測値を算出するステップと、
目標値算出部が、拘束目標及び前記位置姿勢演算部による算出結果に基づいて、拘束制御の目標値を算出するステップと、
拘束制御演算部が、前記位置姿勢演算部による算出結果に基づいて、前記目標値算出部により算出された目標値へと移動する前記アームの動きを算出するステップと、
拘束制御調整部が、前記拘束制御演算部により算出されたアームの動きの速さを連続的又は少なくとも3段階以上に段階的に調整可能とするステップと、
合成部が、前記従動制御演算部による算出結果と前記拘束制御演算部による算出結果とを合成するステップと、
駆動制御部が、前記合成部による合成結果に基づいて前記アームを駆動するステップと
を有する直接教示方法。 an external force detection unit detecting an external force applied to an arm of the robot;
a step in which a driven control calculation unit calculates the movement of the arm according to the external force detected by the external force detection unit;
a position and orientation calculation unit calculating a current value or a predicted value of the position and orientation, which is at least one of the position and orientation of the arm;
a target value calculation unit calculating a target value for constraint control based on a constraint target and a calculation result by the position and orientation calculation unit;
a step of calculating, by a constraint control calculation unit, the movement of the arm moving to the target value calculated by the target value calculation unit, based on the calculation result by the position/orientation calculation unit;
a step in which the constraint control adjustment unit is capable of adjusting the speed of the arm movement calculated by the constraint control calculation unit continuously or in steps of at least three steps;
a combining unit combining a calculation result by the driven control calculation unit and a calculation result by the constraint control calculation unit;
A direct teaching method comprising: a drive control unit driving the arm based on the result of synthesis by the synthesis unit.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021010722A JP2022114472A (en) | 2021-01-27 | 2021-01-27 | Direct teaching device and direct teaching method for robot |
CN202210025748.1A CN114800437A (en) | 2021-01-27 | 2022-01-11 | Direct teaching device and direct teaching method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021010722A JP2022114472A (en) | 2021-01-27 | 2021-01-27 | Direct teaching device and direct teaching method for robot |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022114472A true JP2022114472A (en) | 2022-08-08 |
Family
ID=82527377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021010722A Withdrawn JP2022114472A (en) | 2021-01-27 | 2021-01-27 | Direct teaching device and direct teaching method for robot |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2022114472A (en) |
CN (1) | CN114800437A (en) |
-
2021
- 2021-01-27 JP JP2021010722A patent/JP2022114472A/en not_active Withdrawn
-
2022
- 2022-01-11 CN CN202210025748.1A patent/CN114800437A/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
CN114800437A (en) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5129415B2 (en) | ROBOT, ROBOT CONTROL DEVICE, CONTROL METHOD, AND CONTROL PROGRAM | |
US8423188B2 (en) | Control apparatus and control method for robot arm, robot, control program for robot arm, and integrated electronic circuit | |
JP5893666B2 (en) | Robot control device and robot system for robots that move according to force | |
WO2013038544A1 (en) | Robotic system and robot controller | |
JP5946859B2 (en) | Robot control device and robot system for robots that move according to force | |
JP2016519813A (en) | 3D input device with complementary rotation controller | |
EP1795315A1 (en) | Hand-held control device for an industrial robot | |
JP2020171989A (en) | Robot teaching system | |
JPH05158514A (en) | Controller for robot | |
JP4842561B2 (en) | Force controller device | |
CN112118940B (en) | Direct teaching device and direct teaching method for manipulator | |
JP2022114472A (en) | Direct teaching device and direct teaching method for robot | |
KR101417485B1 (en) | Robot handle unit and method for controlling the same | |
JP2005154047A (en) | Power assist device | |
JP6322948B2 (en) | Robot control apparatus, robot system, robot, robot control method, and program | |
US20220193906A1 (en) | User Interface for Supervised Autonomous Grasping | |
JPH05303425A (en) | Direct teaching type robot | |
JPH0693209B2 (en) | Robot's circular interpolation attitude control device | |
JP7095944B2 (en) | Robot direct teaching device and direct teaching method | |
JPH1158278A (en) | Control device for robot | |
JP2003062775A (en) | Teaching system for human hand type robot | |
JP4232196B2 (en) | Robot direct teaching device and robot system | |
JP2009012133A (en) | Safety apparatus and manipulator equipped with the same | |
JPH07200018A (en) | Controller for robot | |
JP2022174858A (en) | Direct teaching device and direct teaching method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20230726 |