説明

ロボット制御装置

【課題】ロボットのハードウェア制限条件を考慮しながら、安定したビジュアルフィードバック制御を提供する。
【解決手段】カメラで撮影された画像から対象物の特徴を表す画像特徴量を算出する画像特徴量算出部105と、画像特徴量の変化と前記関節角の変化の割合である画像ヤコビアンを算出する画像ヤコビアン算出部107と、設定された目標値と前記画像特徴量とを用いて、ロボットの制御周期毎の画像上の目標軌道を生成する目標軌道生成部108とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、カメラで撮影した画像情報を用いて、モータなどのアクチュエータを用いてロボットを駆動するロボット制御装置に関する。
【背景技術】
【0002】
ロボットがカメラで撮影した画像情報に基づいて位置姿勢を制御する技術はビジュアルフィードバックと呼ばれている。ロボットのハンドまたはこのハンド付近に搭載したカメラで撮影する場合、俯瞰した位置から撮影した場合に比べて対象物を大きく捉えることが可能となるため、画像の分解能の範囲において正確に位置姿勢を制御することができる。
【0003】
対象物の画像特徴量の変化をロボットのフィードバックループに直接取り込んだ手法は特徴ベース法と呼ばれており、画像特徴量の変化とロボットの関節角度の変化との割合である画像ヤコビアンを求める必要がある。しかし一般的なカメラのフレームレートは30fps〜60fps程度であり、ロボットの制御周期に比べて圧倒的に低い。したがって、例えば画像特徴量に対してロボットの制御周期に合うような時間的な補間を行い、ロボットの動作による画像上の運動も考慮した画像特徴量の推定が必要となる。
【0004】
またロボットのハードウェアの制限条件により、目標軌道に沿ってロボットが動作できない場合がある。例えばロボットの関節の可動範囲、目標位置姿勢を満たす解が無限に存在する特異点または特異点近傍の目標値が与えられた時の関節角速度の急変などがある。このようにロボットが制御できない場合、ロボットの移動禁止領域として記憶することで解決を図ることが知られている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許3901006号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、この移動禁止領域を避けて新たな目標値をどのように算出するかについては、現在のところ知られていない。また、特異点近傍の目標値が与えられた場合は目標軌道の速度を十分に抑制すれば通過することが可能となるので、画像上の目標軌道の算出が重要となる。
【0007】
そこで、本発明が解決しようとする課題は、ロボットのハードウェア制限条件を考慮しながら、安定したビジュアルフィードバックを実現することのできるロボット制御装置を提供することである。
【課題を解決するための手段】
【0008】
本実施形態によれば、カメラで撮影した画像情報に基づいて多関節ロボットを制御するロボット制御装置であって、前記ロボットの関節軸がアクチュエータによって制御周期毎に駆動され、前記関節軸の関節角度が関節角度検出部によって検出され、前記カメラで撮影した画像が画像取得部によって取得される。前記カメラで撮影された画像から対象物の特徴を表す画像特徴量が画像特徴量算出部によって算出され、前記画像特徴量が時間的に補間されて前記ロボットの制御周期ごとに画像特徴量推定部によって推定され、この推定された画像特徴量の変化と前記関節角の変化の割合である画像ヤコビアンが画像ヤコビアン算出部によって算出される。また、前記対象物の画像上での目標値が目標値入力部によって設定され、この設定された目標値と前記画像特徴量とを用いて前記ロボットの制御周期毎の画像上の目標軌道が目標軌道生成部によって生成され、この生成された目標軌道と算出された画像ヤコビアンとを用いて前記関節角度の差分が関節角差分算出部によって算出される。そして、算出された前記関節角度の差分に基づいて前記関節角度の指令値がトルク指令値算出部において求められるとともに、この関節角度の指令値と、検出された前記関節角度とを用いて前記関節軸のトルク指令値が算出される。このトルク指令値に基づいて前記アクチュエータが駆動部によって駆動される。また、検出された前記関節角度から、前記ロボットのハードウェア制約条件をもとに前記画像特徴量の目標軌道の修正量が位置姿勢評価部によって算出され、この算出された目標軌道の修正量を用いて前記ロボットがフィードバック制御される。
【図面の簡単な説明】
【0009】
【図1】第1実施形態によるロボット制御装置を示すブロック図。
【図2】第1実施形態によるロボット制御装置の動作を示すフローチャート。
【図3】第2変形例の制御ブロック図。
【図4】冗長自由度ロボットの一例を示す図。
【図5】第2実施形態によるロボット制御装置を示すブロック図。
【図6】第2実施形態によるロボット制御装置の動作を示すフローチャート。
【発明を実施するための形態】
【0010】
実施形態を以下に図面を参照して説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。ただし、図面は模式的なものであり、具体的な寸法は以下の説明を参酌して判断すべきものである。また、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることは言うまでもない。
【0011】
(第1実施形態)
第1実施形態によるロボット制御装置は、多関節を有するロボットを制御するものであって、図1に示すように、中央演算処理装置(以下、CPUともいう)1と、アクチュエータ100と、駆動部(アンプとも呼ばれる)101と、関節角度検出部102と、カメラを有する画像取得部103と、目標値入力部104と、を備えている。
【0012】
関節角度検出部102は、エンコーダ等の位置センサが使用可能であり、所定の周波数成分を除去するフィルタを備えていても良い。関節軸が駆動軸から伝達機構を介して構成されていて、駆動軸に検出部が備えられている場合、関節角度は、駆動軸の位置の変位量(駆動軸角度)から伝達機構のもつ駆動軸と関節軸の比とに応じて算出される。
【0013】
目標値入力部104は、ロボットの最終到達目標となる位置姿勢を設定する。最終到達目標値はデータベースに予め格納されているか、もしくはユーザがGUI(Graphical User Interface)などで対話的に与えてもよい。
【0014】
図1に示したCPU1は、画像特徴量算出部105と、画像特徴量推定部106と、画像ヤコビアン算出部107と、目標軌道生成部108と、関節角差分算出部109と、トルク指令値算出部110と、位置姿勢評価部111と、をハードウェア資源であるモジュール(論理回路)として論理的に備えている。
【0015】
画像特徴量算出部105は、画像取得部103で撮影された画像から画像処理を行うことにより、対象物の特徴を表す量である画像特徴量を算出する。画像特徴量は対象物の画像上の重心位置、姿勢、色分布、輝度勾配パターン分布など数値ベクトル化したものである。画像処理は一般的に演算処理が重いことから、画像取得部103および画像特徴量算出部105は、CPU1とは異なる他のCPUに設けられ、画像特徴量算出部105によって算出された結果(画像特徴量)を、ネットワークなどを介して伝達するように構成してもよい。
【0016】
画像特徴量推定部106は、画像特徴量算出部105により算出された画像特徴量を時間的に補間し、次のステップ(次の制御周期後の制御動作)における画像特徴量を推定または予測する。画像取得部のカメラによる画像の取得周期はロボットの制御周期に比べてずっと低い。したがって、滑らかな画像上の目標軌道を生成するためには、過去のステップ(過去の取得周期における取得動作)にて取得した画像特徴量から次のステップ(次の取得周期後における取得動作)で取得されるまでの間の画像特徴量を推定または予測しなければならない。推定または予測する方法は最も単純な線形補間や、カルマンフィルタを用いた推定方法などがあり、これらのうちのいずれかの方法を用いることができる。
【0017】
画像ヤコビアン算出部107は、画像特徴量推定部106により算出された画像特徴量から、画像ヤコビアンを算出する。画像ヤコビアンとは、ロボットの各制御周期間における画像特徴量の変化(差分)と、上記制御周期間における制御ロボットの関節角変化との微小変位関係を表現した行列である。画像ヤコビアンをJimgとすると、画像特徴量の変化をΔξとすると、ロボットの関節角度の差分Δθは式(1)の関係を満たしている。

Δξ=JimgΔθ … (1)

ここで、制御対象となる画像特徴量がm個、関節軸がn個であるとすると、ΔξおよびΔθはそれぞれm次元列ベクトルおよびn次元列ベクトルを表している。そして、画像ヤコビアンJimgの第i(1≦i≦m)行かつ第j(1≦j≦n)列成分をJijとし、Δξの第i行成分をΔξとし、Δθの第j行成分をΔξとすると、Δξは以下の式で表される。
【数1】

【0018】
カメラやロボットの座標系を規定するパラメータが不明であるかもしくは誤差を含んでいる場合、画像ヤコビアンはオンラインで推定する必要がある。例えば逐次最小二乗法を用いれば、画像特徴量ξと関節角θのデータから推定することができる(例えば、細田耕,浅田稔「構造やパラメータに関する先験的な知識を必要としないフィードフォワード補償器を持つ適応型ビジュアルサーボ系の構成」日本ロボット学会誌 vol.14, No.2, pp.159−165,1996参照)。
【0019】
目標軌道生成部108は、目標値入力部104で設定された最終到達目標値と、画像特徴量推定部106により推定された画像特徴量とを用いて、ロボットの制御周期毎に画像上における画像特徴量の目標軌道を生成する。
【0020】
関節角差分算出部109は、目標軌道生成部108によって生成された目標軌道と推定された画像特徴量との差分Δξと、画像ヤコビアンJimgの疑似逆行列Jimgとを用いて関節角度の差分Δθを、次の式(2)を用いて算出する。

Δθ=JimgΔξ … (2)

なお、行列からその疑似逆行列を算出することは、公知の方法を用いて行う(例えば、ムーア・ペンローズ法)。
【0021】
トルク指令値算出部110は、関節角差分算出部109により算出された関節角度の差分を積分することにより関節角の指令値を算出し、この関節角の指令値と、関節角度検出部102により検出されたロボットの関節角度とに基づいてトルク指令値(制御目標値)を算出する。
【0022】
駆動部101は、トルク指令値算出部110により算出されたトルク指令値にしたがってアクチュエータ100を制御周期毎に駆動する。
【0023】
位置姿勢評価部111は、関節角度検出部102によって検出されたロボットの関節角度から、ロボットのハードウェア制約条件をもとに画像特徴量の目標軌道の修正量を算出する。例えば、ロボットの第i番目の関節軸の関節角度θが可動限界最大値θi、maxに近づいている場合、次の式(3)に示すように限界値から遠ざかるような関節角度の補正量Δθcompを、補正量Δθを用いて算出する。

Δθcomp=[0、…、 −Δθ、…、0] … (3)

なお、補正量Δθは固定値もしくは次の式(4)に示すように可動限界までの距離に応じた関数で与えられる。

Δθ=f(θ−θi、max) … (4)

算出された関節角度の補正量Δθcompから画像特徴量の目標軌道の修正量Δξcompを、画像ヤコビアン算出部107で算出した画像ヤコビアンを用いて次の式(5)に示すように算出する。

Δξcomp=JimgΔθcomp … (5)

可動限界最小値θi、minへ近づいている場合も同様に、関節角度の補正量Δθcompを、式(6)に示すように、補正量Δθを用いて算出する。

Δθcomp=[0、…、 Δθ、…、0] … (6)

上記補正量Δθは次の式(7)に示すように可動限界までの距離に応じた関数で与えられる。

Δθ=f(θ−θi、min) … (7)

となる。
【0024】
(制御装置の動作)
次に、本実施形態によるロボット制御装置の動作を、図2に示すフローチャートを参照して説明する。
【0025】
(a)まず、制御演算を開始し、目標値入力部104によって、画像上の目標値が生成される(S100、S101)。次に、画像取得部103のカメラから画像を取得する(S102)。続いて、画像特徴量が画像特徴量算出部105によって算出される(S103)。続いて、画像特徴量算出部105により算出された画像特徴量を時間的に補間し(S104、)、次の制御周期における画像特徴量を画像特徴量推定部106によって推定または予測する。
【0026】
次に、目標値入力部104から入力された画像上の目標値と、画像特徴量推定部106により算出された画像特徴量とから、後述する画像特徴量に関する目標軌道の修正量を考慮した画像特徴量の変化Δξが目標軌道生成部108によって生成される(S105)。続いて、目標軌道生成部108により生成された画像特徴量の変化Δξに対して、画像ヤコビアン算出部107で算出された画像ヤコビアンを用いて式(2)に示すように、逆運動学計算を行って関節角度の差分Δθが算出される(S106)。
【0027】
その後、関節角差分算出部109により算出された関節角度の差分Δθを積分することにより関節角の目標値を算出し、後述する関節角度検出部102により検出された関節角度から、トルク指令値がトルク指令値算出部110によって算出される(S107)。
【0028】
次に、トルク指令値算出部110により算出されたトルク指令値を制御目標値として駆動部101によってアクチュエータ100が駆動されることにより、ロボットが制御される(S108)。
【0029】
続いて、制御動作を終了するか否かを確認し(S109)、制御動作を終了する場合はサーボ処理を終了する(S110)。S109において制御動作を終了しない場合はS112またはS111に進む。
【0030】
(b)S112に進んだ場合は、関節角度検出部102によって関節角度を検出する。続いて、関節角度検出部102により算出された関節角度と、画像特徴量推定部106により算出された画像特徴量を用いて、画像ヤコビアン算出部107によって画像ヤコビアンが算出される(S113)。次に、関節角度検出部102により検出された関節角度と、画像ヤコビアン算出部107によって算出された画像ヤコビアンを用いて、位置姿勢評価部111によって画像特徴量の目標軌道の修正量が算出される(S114)。続いて、S105に戻り、画像特徴量の目標軌道を算出し、S105〜S109の動作を繰り返す。
【0031】
(c)S111に進んだ場合は、画像取得のタイミングであるか否かを確認し、画像取得のタイミングである場合はS102に戻る。画像取得のタイミングでなければS104に戻り、前回の画像取得のタイミングで取得した画像から推定または予測した画像特徴量から次の制御周期における画像特徴量を時間的に補間するとともに推定を行い、S105において目標軌道の生成に使用する画像特徴量とする。
【0032】
以上説明したように、本実施形態によれば、ロボットのハードウェア制約条件をもとに画像特徴量の目標軌道の修正量を算出し、この目標軌道の修正量を用いて制御しているので、ロボットを安定に制御することができる。すなわち、ロボットのハードウェア制限条件を考慮しながら、安定したビジュアルフィードバックを実現することができる。
【0033】
(第1変形例)
本実施形態の第1変形例によるロボットの制御装置を説明する。この第1変形例の制御装置は、第1実施形態とは、位置姿勢評価部111における評価方法が異なっている。第1実施形態では、位置姿勢評価部111における評価方法は、関節の可動範囲に着目し、関節が可動限界に近づいている場合にその反対方向へと修正するような関節角の補正量から画像特徴量の目標軌道の修正量を算出している。一般に、ロボットのハードウェア制約条件としては、特異点姿勢がある。特異点姿勢とはロボットの目標位置姿勢を実現する関節角度が無数に存在し不定となる状態のことである。特異点姿勢への接近度は可操作度を用いて評価することが知られている。可操作度κ(J)はヤコビ行列Jから次の式(8)を用いて算出される。

κ(J)=(det(JJ))1/2 …(8)

ここで、Jはヤコビ行列Jの転置行列を表し、det(JJ)は行列JJの行列式を表す。
【0034】
この可操作度を画像ヤコビアンJimgにも適用することで、特異点姿勢の評価による目標軌道の修正を行う。特異点近傍では関節角速度が急激に増加するため、目標速度を抑制する必要がある。そこで、次の式(9)に示すように設定した抑制ゲインKを求める。

κ(Jimg)<κ(J)のとき K=(κ(Jimg)/κ(J))
κ(Jimg)≧κ(J)のとき K=1 …(9)

すなわち、Kは0より大きく1以下の値である。なお、閾値となる画像ヤコビアンJは予め設定しておく。
【0035】
その後、求められた抑制ゲインKを、関節角差分算出部109に入力される画像特徴量の差分Δξに対して乗算し、この乗算した値(=K・Δξ)を修正された画像特徴量の差分として、式(2)に代入し、以下、第1実施形態で説明したと同様にして、画像特徴量の目標軌道の修正量を求める。
【0036】
以上説明したように、第1変形例の制御装置は、特異点姿勢の評価による目標軌道を修正し、これにより目標速度を抑制しているので、目標軌道が特異点近傍に与えられた場合でも、ロボットを安定に制御することができる。すなわち、ロボットのハードウェア制限条件を考慮しながら、安定したビジュアルフィードバックを実現することができる。
【0037】
(第2変形例)
第1実施形態の第2変形例によるロボットの制御装置を、図3を参照して説明する。
【0038】
上記第1変形例のように、関節が特異点姿勢に接近している場合、速度の抑制だけで充分に関節角の速度を抑制できない場合がある。これは画像ヤコビアンがランク不足になり、疑似逆行列を算出できなくなることに起因する。
【0039】
そこで、この課題を解決するために、第2変形例の制御装置は、第1実施形態の制御装置において、画像ヤコビアン修正量算出部112と、修正量記憶部200とを新たに設けた構成となっている。なお、この第2変形例における位置姿勢評価部111は、第1変形例で説明した画像ヤコビアンの可操作度κを算出することが第1実施形態の位置姿勢評価部111とは異なっている。画像ヤコビアン修正量算出部112は、CPU1内に設けられ、位置姿勢評価部111において算出された画像ヤコビアンの可操作度κから、関節が特異点姿勢に接近していると判断すると次の式(10)示す修正量αを算出する。

κ(Jimg)<κ(J)のとき α=α(1−κ(Jimg)/κ(J))
κ(Jimg)≧κ(J)のとき α=0 …(10)

ここで、パラメータαはあらかじめ適当に設定しておく。修正量記憶部200は、画像ヤコビアン修正量算出部112が算出した画像ヤコビアンの修正量αを記憶している。
【0040】
関節角差分算出部109は、画像ヤコビアンJimgに対して画像ヤコビアンの修正量αを加えた上で第1実施形態と同様にして算出する。具体的には、以下のように画像ヤコビアンJimgに対して画像ヤコビアン修正量αを加える。
【0041】
まず、式(1)に対し両辺に画像ヤコビアンJimgの転置行列Jimgを乗算する。

imgΔξ=JimgimgΔθ … (11)

ここで、式(10)を用いて算出した画像ヤコビアン修正量αを式(11)の右辺の正方行列Jimgimgの対角成分に加えた行列(=Jimgimg+αI)を、式(11)の右辺の正方行列Jimgimgと、置き換える。すなわち、

imgΔξ=(Jimgimg+αI)Δθ … (12)

ここで、Iは単位行列を表す。この行列(Jimgimg+αI)の逆行列を用いて関節角度の差分Δθを、次の式(13)を用いて算出する。

Δθ=(Jimgimg+αI)−1imgΔξ … (13)

したがって、第2変形例においては、行列(Jimgimg+αI)−1imgが画像ヤコビアンの修正された擬似逆行列となる。
【0042】
修正量記憶部200としては、例えば半導体メモリ、磁気ディスク、光ディスク、光磁気ディスクや磁気テープ等が採用可能である。
【0043】
以上説明したように、この第2変形例においては、修正量αを用いて、正方行列JimgimgにαIを加算し、この加算された正方行列(=Jimgimg+αI)を用いて、Δθを求めている。そして、加算された正方行列(=Jimgimg+αI)は、正規行列となるので、画像ヤコビアンがランク不足になることはない。このため、修正された擬似逆行列は算出することができる。これにより、関節が特異点姿勢に接近していても、充分に関節角の速度を抑制することができる。
【0044】
すなわち、第2変形例も第1実施形態と同様に、ロボットのハードウェア制限条件を考慮しながら、安定したビジュアルフィードバックを実現することができる。
【0045】
なお、第1変形例と第2変形例は同時に適用してもよい。すなわち画像特徴量の目標軌道での速度を抑制しながら、画像ヤコビアンも修正することで、より安定にロボットを動作させるように制御してもよい。
【0046】
(第3変形例)
本実施形態の第3変形例として、冗長自由度のロボットによる制御について説明する。冗長自由度ロボットの一例を図4に模式的に示す。図4に示すロボットはその手先に対して3次元の位置と姿勢を制御できるが、7個の関節200〜200を有している。すなわち、制御対象の6自由度(位置X、Y、Zの3自由度と,それらの各軸周りの回転による姿勢の3自由度)であるよりも多い7自由度を持っており、冗長自由度ロボットと呼ばれる。この冗長自由度ロボットでは、目標位置姿勢を実現することのできる関節角度は無数にある。したがって余剰の自由度を用いれば、関節の可動範囲や特異点近傍を避ける姿勢を与えることができる。これによれば画像上の目標値を修正することなくロボット内部の制御のみで動作を実現することができる。この冗長自由度のロボットによる制御は、第2変形例のロボット制御装置を用いることが好ましい。
【0047】
(第1実施形態の適用例)
第1実施形態を適用したロボットでは、例えば以下のような作業および動作を実現することができる。先端部に物体把持用のハンドとカメラを搭載した多関節ロボットが、カメラ画像内のマーカーを検出し、指定された位置および姿勢になるように接近する。ロボットは物体に近づくとハンドを開いて物体を把持する。次に把持した物体を別の場所へ運び、はめ込む作業を行う。作業場所に貼られた先のものとは別のマーカーを検出し、指定された位置および姿勢になるように接近し、把持物体を押し込んではめ込み作業を完了する。
【0048】
(第2実施形態)
次に、第2実施形態によるロボット制御装置について図5を参照して説明する。
【0049】
第2実施形態では、第1実施形態の適用例で示したような作業において、ロボットに作用する外力を検出して、設定したコンプライアンスモデルに基づいた力制御を用いることで、柔軟な動作を行う。これによりビジュアルフィードバックを用いた作業をより安全に実施することができる。
【0050】
第2実施形態によるロボット制御装置を図5に示す。この第2実施形態の制御装置は、第1実施形態のロボット制御装置において、力/モーメントデータ記憶部201と、コンプライアンスモデル記憶部202と、力制御切替部300と、力指令値生成部301と、外力検出部302と、ヤコビ行列算出部303と、力制御による関節角修正量算出部304と、を新たに設けた構成となっている。力指令値生成部301と、ヤコビ行列算出部303と、力制御による関節角修正量算出部304と、は、CPU1に設けられる。
【0051】
力制御切替部300は、力制御を適用するかどうかをGUIやスクリプトなどでユーザにより指定されると、力/モーメントデータ記憶部201に格納されている力またはモーメントの目標値に追従するようトリガーを送る。
【0052】
力指令値生成部301は、力制御切替部300からトリガーを受けると、力/モーメントデータ記憶部201に格納された力またはモーメントの目標値に追従するような力指令値を制御周期毎に生成する。
【0053】
外力検出部302は、先端部付近に力覚センサを備えており、ロボットに作用する外力を検出する。この外力は、センサを使用せずに、トルク指令値と関節角度から動力学モデルを用いて算出した外乱トルクから推定してもよい。
【0054】
ヤコビ行列算出部303は、関節角度検出部102により検出された関節角度からヤコビ行列を算出する。
【0055】
力制御による関節角修正量算出部304は、コンプライアンスモデル記憶部202からコンプライアンスモデルパラメータを読みだして、力指令値生成部301により生成された力指令値と、外力検出部302により検出された外力との差である力誤差Δfに応じた位置の修正量を算出する。もし力制御が有効でない場合は、力指令値は生成されないので力誤差Δfは外力と同じになる。ここでコンプライアンスモデルとは、例えば式(14)に示すように接触対象との間において仮想的に慣性、粘性、剛性を想定したものである。

MdΔx/dt+DdΔx/dt+KΔx=KΔf (14)

ここで、Δxは外力作用関節に設定された作業座標系での位置誤差ベクトル、dΔx/dtは作業座標系での速度ベクトル、dΔx/dtは作業座標系での加速度ベクトル、Mは慣性行列、Dは粘性係数行列、Kは剛性係数行列、Kは力フィードバックゲイン行列である。力と位置の作用させる軸を切り替えるコンプライアンス選択行列は力フィードバックゲイン行列Kに含まれた形になっている。誤差の速度ベクトルdΔx/dt及び加速度ベクトルdΔx/dtは、それぞれ位置誤差ベクトルΔxの時間に関する一回差分、二回差分で近似できることから、外力が作用する関節でのコンプライアンス修正量Δxcompは、次の式(15)を用いて算出することができる。

Δxcomp=1/K(KΔf−MdΔx/dt−DdΔx/dt) (15)

このコンプライアンス修正量Δxcompからヤコビ行列算出部303により算出されたヤコビ行列Jの逆行列を用いて関節角度の修正量Δθcompを、次の式(16)を用いて算出する。
Δθcomp=J−1Δxcomp …(16)
【0056】
関節角差分算出部109は、力制御切替部300からトリガーを受けると、関節角度の差分の算出処理を実行せず、関節角度の差分として「0」を出力する。
【0057】
トルク指令値算出部110は、関節角差分算出部109により算出された関節角度の差分を積分して算出した関節角度の指令値に、力制御による関節角修正量算出部304から算出された関節角度の修正量Δθcompを加えたものを新たな関節角度の指令値とし、関節角度検出部102により算出された関節角度との差分からトルク指令値(制御目標値)を生成する。すなわち、トルク指令値算出部110は、力制御が適用されない場合(トリガーが生成されない場合)には、第1実施形態と同様に、関節角差分算出部109により算出された関節角度の差分を積分して算出された関節角度の指令値と、関節角度検出部102によって検出された関節角度とに基づいてトルク指令値を算出する。これに対して、力制御が適用される場合(トリガーが生成される場合)には、関節角度の修正量Δθcompを関節角度の指令値とし、この関節角度の指令値と、関節角度検出部102によって検出された関節角度とに基づいてトルク指令値を算出する。
【0058】
これにより、ビジュアルフィードバックを実行しているときにおいても外力を検出すれば、設定したコンプライアンスモデルに基づいて柔軟な制御を行うことができる。また力制御が有効になると、画像特徴量の差分が発生しても、関節角度の差分を算出せず、設定した力またはモーメントの目標値に追従するように外力検出部302により検出された外力に基づいて関節角度の修正量が算出される。すなわち接触状態においては、画像よりも力の情報を優先させる。画像データにはカメラパラメータ誤差やキャリブレーション誤差が含まれており、外力を無視して作業を続行すれば対象物の破損を招く恐れがあるからである。
【0059】
(ロボット制御方法)
次に、第2実施形態によるロボット制御装置の動作を、図6に示すフローチャートを参照して説明する。なお、図2と重複する部分は省略する。
(a)まず、制御演算を開始し、外力検出部302に外力が算出される。(S100、S200)。次に、S201において、力制御切替部300により力制御が有効になっているかどうか確認する。有効である場合、後述するS202に進む。無効の場合、後述するS204へ進む。
S202において、力指令値生成部301により力指令値が算出される。
(b)次に、S203において、S112で算出された関節角度からヤコビ行列算出部303によりヤコビ行列が算出される。
(c)次に、S204において、力制御による関節角修正量算出部304により、力指令値生成部301で生成された力指令値と、外力検出部302で検出された外力と、コンプライアンスモデル記憶部202に格納されたコンプライアンスモデルのパラメータと、ヤコビ行列算出部303により算出されたヤコビ行列から、式(14)、(15)、(16)を用いて関節角の修正量が算出される。
(d)次にS107において、関節角差分算出部109により算出された関節角差分を積分することにより算出された関節角目標値に、力制御による関節角修正量算出部304により算出された関節角修正量を加えて、新たな関節角目標値が算出され、これと関節角度検出部102により算出された関節角度とから、トルク指令値がトルク指令値算出部110によって算出される。
【0060】
以上説明したように、第2実施形態においては、力制御が適用されない場合には、第1実施形態と同じ制御が行われるので、第1実施形態と同様に、ロボットのハードウェア制限条件を考慮しながら、安定したビジュアルフィードバックを実現することができる。また、力制御が適用される場合には、ビジュアルフィードバックを実行しているときにおいても外力を検出すれば、設定したコンプライアンスモデルに基づいて柔軟な制御を行うことができる。また、力制御が有効になると、画像特徴量の差分が発生しても、関節角度の差分を算出せず、設定した力またはモーメントの目標値に追従するように外力検出部302により検出された外力に基づいて関節角の修正量が算出される。すなわち接触状態においては、画像よりも力の情報を優先させるため、対象物の破損を防止することができる。
【0061】
(その他の変形例)
第2実施形態は、第1実施形態に対して、力制御を有効にした時のロボットの制御動作を付加したものである。よって、第1実施形態の第1乃至第3変形例と同様な制御を行うことができる。
【0062】
(その他の実施の形態)
例えば、上記実施形態において、CPU1、画像取得部103、目標値入力部104、修正量記憶部200、力・モーメントデータ記憶部201、コンプライアンスモデル記憶部202、等が制御対象であるロボットの内部に埋め込まれて一体化されていても良い。また、CPU1、画像取得部103、目標値入力部104、修正量記憶部200、力・モーメントデータ記憶部201、コンプライアンスモデル記憶部202等が制御対象であるロボットの外部にあり、ロボットを有線或いは無線で遠隔制御することも可能である。
【0063】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0064】
1 中央演算処理装置(CPU)
100 アクチュエータ
101 駆動部
102 関節角度検出部
103 画像取得部
104 目標値入力部
105 画像特徴量算出部
106 画像特徴量推定部
107 画像ヤコビアン算出部
108 目標軌道生成部
109 関節角差分算出部
110 トルク指令値算出部
111 位置姿勢評価部
112 画像ヤコビアン修正量算出部
200 修正量記憶部
201 力/モーメントデータ記憶部
202 コンプライアンスモデル記憶部
300 力制御切替部
301 力指令値生成部
302 外力検出部
303 ヤコビ行列算出部
304 力制御による関節角修正量算出部

【特許請求の範囲】
【請求項1】
カメラで撮影した画像情報に基づいて多関節ロボットを制御するロボット制御装置であって、
前記ロボットの関節軸を制御周期毎に駆動するアクチュエータと、
前記関節軸の関節角度を検出する関節角度検出部と、
前記カメラで撮影した画像を取得する画像取得部と、
前記カメラで撮影された画像から対象物の特徴を表す画像特徴量を算出する画像特徴量算出部と、
前記画像特徴量を時間的に補間して前記ロボットの制御周期ごとに推定する画像特徴量推定部と、
前記推定された画像特徴量の変化と前記関節角の変化の割合である画像ヤコビアンを算出する画像ヤコビアン算出部と、
前記対象物の画像上での目標値を設定する目標値入力部と、
設定された前記目標値と前記画像特徴量とを用いて前記ロボットの制御周期毎の画像上の目標軌道を生成する目標軌道生成部と、
生成された前記目標軌道と算出された画像ヤコビアンとを用いて前記関節角度の差分を算出する関節角差分算出部と、
算出された前記関節角度の差分に基づいて前記関節角度の指令値を求め、この関節角度の指令値と、検出された前記関節角度とを用いて前記関節軸のトルク指令値を算出するトルク指令値算出部と、
前記トルク指令値に基づいて前記アクチュエータを駆動する駆動部と、
検出された前記関節角度から、前記ロボットのハードウェア制約条件をもとに前記画像特徴量の目標軌道の修正量を算出する位置姿勢評価部と、
を備え、
この算出された目標軌道の修正量を用いて前記ロボットをフィードバック制御することを特徴とするロボット制御装置。
【請求項2】
前記位置姿勢評価部は、前記ロボットの可動範囲や特異点姿勢への接近度示す画像ヤコビアンの可操作度を算出し、この可操作度を用いて画像上の目標軌道の修正量を算出することを特徴とする請求項1記載のロボット制御装置。
【請求項3】
前記位置姿勢評価部は、前記ロボットの可動範囲や特異点姿勢への接近度示す画像ヤコビアンの可操作度を算出し、
前記ロボット制御装置は、
前記画像ヤコビアンを修正する画像ヤコビアン修正量算出部と、
前記画像ヤコビアンの修正量を保持する修正量記憶部と、
を更に備え、
前記関節角差分算出部は、修正された前記画像ヤコビアンを用いて関節角度の差分を算出することを特徴とする請求項1または2記載のロボット制御装置。
【請求項4】
前記ロボットは、冗長自由度ロボットであることを特徴とする請求項3記載のロボット制御装置。
【請求項5】
力制御の有無を切り替えるトリガー信号を発生する力制御切替部と、
前記ロボットが対象物との接触時において発生させるべき力またはモーメントの目標値を記憶する力/モーメントデータ記憶部と、
前記トリガー信号を受けて、前記力/モーメントデータ記憶部に格納された前記力またはモーメントの目標値に追従する力指令値を算出する力指令値生成部と、
前記ロボットに作用する外力を検出する外力検出部と、
検出された前記関節角度からヤコビ行列を算出するヤコビ行列算出部と、
前記ロボットと対象物との接触状態を記述したコンプライアンスモデルのパラメータを記憶するコンプライアンスモデル記憶部と、
前記力指令値と、前記外力と、前記コンプライアンスモデルのパラメータと、前記ヤコビ行列に基づいて、関節角度の修正量を算出する関節角修正量算出部と、
を備え、
前記トルク指令値算出部は、
前記トリガー信号が生成されない場合には、前記関節角度の指令値と、検出された前記関節角度とに基づいてトルク指令値を算出し、
前記トリガー信号が生成される場合には、前記関節角修正量算出部によって算出された前記関節角度の修正量を前記関節角度の指令値とし、この関節角度の指令値と、検出された前記関節角度とに基づいてトルク指令値を算出することを特徴とする請求項1乃至4のいずれかに記載のロボット制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−130977(P2012−130977A)
【公開日】平成24年7月12日(2012.7.12)
【国際特許分類】
【出願番号】特願2010−283372(P2010−283372)
【出願日】平成22年12月20日(2010.12.20)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】