説明

ロボット制御装置、外乱判定方法およびアクチュエータ制御方法

【課題】ロボットアームに加わる外乱を高精度に検出することが可能なロボット制御装置、外乱判定方法およびロボット制御方法。
【解決手段】実施形態のロボット制御装置は、アームの駆動軸を回転駆動するアクチュエータと、前記駆動軸の回転角度をサンプリング周期ごとに検出する第1検出部と、前記アクチュエータの駆動トルクの推定値と、前記駆動トルクの真値との差分を算出する算出部と、前記アームに加わる外乱を検出する第2検出部とを備え、前記第2検出部は、前記差分を変数とする時系列モデルのパラメータを推定し、前記パラメータを当てはめることで、第1サンプリング周期の当該時系列モデルを更新する更新部と、前記第1サンプリング周期の時系列モデルと前記第1サンプリング周期よりも過去の第2サンプリング周期の時系列モデルとを比較して、前記アームへの外乱の有無を判定する判定部とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、ロボット制御装置、外乱判定方法およびアクチュエータ制御方法
に関する。
【背景技術】
【0002】
ハンドリング等を行うロボットアームを動作させる際、周囲の環境に存在する障害物と
の衝突が起こり得る。衝突後においてもロボットアームを安定して動作させるためには、
ロボットアームの衝突を検出する必要がある。
【0003】
そこで、力覚センサ等を用いずに、ロボットアームの衝突等による外乱の影響で発生す
る外部トルクを推定することで、この外部トルクがあらかじめ設定した閾値以上の場合に
ロボットの先端部が衝突したという判定を行う方法が提案されている。
【0004】
しかしながら、ロボットアームの動力学モデルのモデル化誤差の影響により、外部トル
クには誤差が含まれることになるために、ロボットアームに加わる外乱を高精度に検出す
ることができない。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2010−105138号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ロボットアームに加わる外乱を高精度に検出することが可能なロボット制御装置、外乱
判定方法およびロボット制御方法を提供する。
【課題を解決するための手段】
【0007】
実施形態のロボット制御装置は、アームの駆動軸を回転駆動するアクチュエータと、前
記アーム先端の目標位置データを生成する生成部と、前記駆動軸の回転角度をサンプリン
グ周期ごとに検出する第1検出部と、前記回転角度を用いて前記アーム先端の現在位置デ
ータを算出する第1算出部と、前記目標値位置データと前記現在位置データとを用いて、
前記アクチュエータに対する指令値を算出する第2算出部と、前記駆動軸の回転角度を用
いて前記アクチュエータを駆動する駆動トルクの推定値を算出する第3算出部と、前記駆
動トルクの推定値と、前記指令値から求まる前記駆動トルクの真値との差分を算出する第
4算出部と、前記アームに加わる外乱を検出する第2検出部とを備え、
前記第2検出部は、前記差分を変数とする時系列モデルのパラメータを推定し、前記パ
ラメータを当てはめることで、第1サンプリング周期の当該時系列モデルを更新する更新
部と、前記第1サンプリング周期の時系列モデルと前記第1サンプリング周期よりも過去
の第2サンプリング周期の時系列モデルとを比較して、前記アームへの外乱の有無を判定
する判定部とを備える。
【0008】
実施形態の外乱判定方法は、算出部が、対象物に加わったと推定される外力を算出する
ステップと、更新部が、前記外力を変数とする時系列モデルのパラメータを推定し、前記
パラメータを当てはめることで、第1サンプリング周期の当該時系列モデルを更新するス
テップと、判定部が、前記第1サンプリング周期の時系列モデルと前記第1サンプリング
周期よりも過去の第2サンプリング周期の時系列モデルとを比較して、前記対象物へ加わ
る外乱の有無を判定するステップとを有する。
【0009】
実施形態のアクチュエータ制御方法は、生成部が、前記アーム先端の目標位置データを
生成するステップと、第1検出部が、前記駆動軸の回転角度をサンプリング周期ごとに検
出するステップと、第1算出部が、前記回転角度を用いて前記アーム先端の現在位置デー
タを算出するステップと、第2算出部が、前記目標値位置データと前記現在位置データと
を用いて、前記アクチュエータに対する指令値を算出するステップと、第3算出部が、前
記駆動軸の回転角度を用いて前記アクチュエータを駆動する駆動トルクの推定値を算出す
るステップと、第4算出部が、前記駆動トルクの推定値と、前記指令値から求まる前記駆
動トルクの真値との差分を算出するステップと、更新部が、前記差分を変数とする時系列
モデルのパラメータを推定し、前記パラメータを当てはめることで、第1サンプリング周
期の当該時系列モデルを更新するステップと、判定部が、前記第1サンプリング周期の時
系列モデルと前記第1サンプリング周期よりも過去の第2サンプリング周期の時系列モデ
ルとを比較して、前記アームへの外乱の有無を判定するステップとを有する。
【図面の簡単な説明】
【0010】
【図1】第一の実施形態に係るロボット制御装置の構成図。
【図2】図1のロボット制御装置のCPUの動作を説明するブロック図。
【図3】実施例1を説明するための説明図。
【図4】実施例2を説明するための説明図。
【図5】1段予測による予測誤差の時間応答。
【図6】2段予測による予測誤差の時間応答。
【図7】3段予測による予測誤差の時間応答。
【図8】実施例3を説明するための説明図。
【図9】第一の実施形態の第一の変形例に係るロボット制御装置の構成図。
【図10】図9のロボット制御装置のCPUの動作を説明するブロック図。
【図11】第一の実施形態の第二の変形例に係るロボット制御装置の構成図。
【図12】制御対象の一例であるロボットの構成図。
【図13】図12のロボットのアームの構成図。
【図14】アームの衝突の様子を示す図。
【発明を実施するための形態】
【0011】
以下、発明を実施するための実施形態について説明する。
【0012】
(第一の実施形態)
本実施形態において制御対象の一例とするロボットは、図12に示すように、本体30
0と、本体300に設けられるアーム310を備える。
【0013】
図12に示すアーム310は、3つのリンク311(リンク311a,リンク311b,
リンク311c)、各リンク311をそれぞれ回転駆動する際の回転軸(関節)となる3
つの駆動軸312(駆動軸312a,駆動軸312b,駆動軸312c)を備えている。
【0014】
リンク311aは、駆動軸312aを介して本体300に回転可能に接続されている。ま
た、リンク311bは、駆動軸312bを介してリンク311aに、リンク311cは、駆動
軸312cを介してリンク311bに、それぞれ回転可能に接続されている。
【0015】
図13に模式的に示すように、各リンク311は、駆動軸312と、各駆動軸312を
回転駆動するアクチュエータであるモータ313と、モータ313の回転数を落とし、各
駆動軸312の回転トルクを向上させる減速機314と、モータ313の回転軸の回転角
度の変化量(以下、モータ角度θM)を検出する角度検出部315とを備える。なお、角
度検出部315としては、例えばエンコーダ等のセンサを用いることができる。
【0016】
なお、図12において、本体300の内部には、このロボットを制御するためのロボッ
ト制御装置が設けられる。ロボット制御装置は、通常時にはロボットのアーム310を所
定の軌道に沿ってアーム310先端(リンクcの先端位置)の位置制御を行う。
【0017】
また、ロボット制御装置は、図14に示すように例えばアーム310が障害物へ衝突す
るなどして、アーム310に対して外乱が加わった際には、この外乱から衝突を高精度に
検出し、この検出結果を用いてアーム310先端の位置制御を行う。
【0018】
図1は、第一の実施形態に係るロボット制御装置の構成図である。
【0019】
第一の実施形態に係るロボット制御装置は、図1に示すように、中央演算処理装置(C
PU)100、記憶装置(メモリ)200を備える。
【0020】
図1のCPU100は3つのモジュールを有する。具体的には、アーム310先端の位
置を制御する位置制御部110と、各リンク311における駆動軸312のトルクの推定
値を算出するトルク算出部120と、アーム310のいずれかのリンク311における障
害物への衝突をアーム310全体として検出する衝突検出部130とを備える。
【0021】
位置制御部110は、後述の位置目標値生成部111が生成するアーム先端の3次元位
置(以下、アーム先端位置)の目標値(以下、アーム先端位置目標値)xR角度検出部
315によるモータ角度θMの検出値に基づいて得られるアーム先端位置xとの差分をゼロ
にする方向にモータ角度θMを角度制御する。また、モータ角度θMの角度制御により減速
機314を介してリンク角度θLを角度制御する。これにより、位置制御部110は、リ
ンク角度θLの角度制御を通じて、アーム先端位置目標値xRにアーム先端位置xを追従させ
る位置制御を行う。
【0022】
トルク算出部120は、位置制御部110からリンク角度θLを得て、アーム310の
動力学モデルに基づいて、各リンク311における駆動軸312のトルクの推定値(以下
、トルク推定値)を算出する。なお、トルク推定値は、各モータ313を駆動するのに必
要と推定される駆動トルクの推定値である。
【0023】
衝突検出部130は、位置制御部110からリンク角度θLを、トルク算出部120か
らトルク推定値を得て、アーム310に加わる外乱により各リンク311に生じる外部ト
ルクを算出する。そして、この外部トルクを用いてアーム310全体としての衝突を検出
する。
【0024】
以下、図1および図2を参照して、それぞれのモジュールについて詳細に説明する。な
お、以下のモジュールの各処理は、サンプリング周期(制御周期)ごとに行うものとし、
サンプリングをk(ただし、k=0,1,2,…)で表す。
【0025】
(位置制御部)
図1に示すように、位置制御部110は、アーム先端位置目標値xRを生成する位置目標
生成部111、リンク角度θLを算出する角度算出部112、アーム先端位置xを算出する
位置算出部113、各モータ313に対する指令値(電流値)uを算出する指令値算出部
114を有する。
【0026】
ここで、各変数(モータ角度θM,リンク角度θL,アーム先端位置x)には、それぞれ
次のような関係がある。
【数1】

【0027】

なお、nはアーム311の駆動軸312の数(本実施形態では3)を表している。また
、Λは順運動学に基づく非線形関数で、リンク角度θLからアーム先端位置xを算出する座
標変換を行う関数である。
【0028】
位置目標生成部111は、例えばメモリ200が予め記憶する、ハンドリング動作開始
から終了までのアーム先端位置目標値の履歴を得て、現在時刻における値をアーム先端位
置目標値xRとして生成する。
【0029】
指令値算出部114は、位置目標生成部111からアーム先端位置目標値xRを、後述の
位置算出部113からアーム先端位置xを得て、アーム先端位置目標値xR角アーム先
端位置xとの差分をゼロにする方向にモータ角度θMを角度制御するための指令値uを算出
する。
【0030】
以下、図2を参照して、指令値算出部114の具体的な処理について説明する。
【0031】
指令値算出部114は、アーム先端位置目標値xRと、アーム先端位置xを用いて、アー
ム先端位置の微小変化Δxを次式により算出する。
【数2】

【0032】

ここで、アーム先端位置の微小変化Δxとリンク角度の微小変化ΔθLの関係を与えるΛ
L)を偏微分したn×nのヤコビ行列J(θL)を次式のように定義する。
【数3】

【0033】

このとき、上記ヤコビ行列の逆行列である逆ヤコビ行列を用いることで、アーム先端位
置の微小変化Δxとリンク角度の微小変化ΔθLには次式の関係が成り立つ。
【数4】

【0034】

すなわち、上式により目標リンク角度の微小変化値を算出することができるので、これ
を積分することによって、
【数5】

【0035】

としてリンク角度目標値θLRが得られる。
【0036】
そこで、指令値算出部114は、後述の角度算出部112が算出するリンク角θLを用
いて逆ヤコビ行列を算出する。そして、アーム先端位置の微小変化Δxと、逆ヤコビ行列
を用いてリンク角度の微小変化ΔθLを次式のように算出する。
【数6】

【0037】

また、上記リンク角度の微小変化ΔθLを積分することで、(数5)によりリンク角度
目標値θLRを算出する。
【0038】
そして、指令値算出部114は、リンク角度目標値θLRを減速比NGで除算することで、
モータ角度目標値θMRを算出する。そして、モータ角度目標値θMRを入力として、公知の
速度・位置制御則を適用することで各モータ313を駆動するための指令値(電流値)u
を算出する。
【0039】
指令値算出部114は、上記の指令値uをモータ313対して与えることで、モータ3
13を駆動しモータ角度θMを角度制御する。この際、角度検出部315は、この駆動に
よるモータ角度θMを検出する。
【0040】
角度算出部112は、角度検出部315が検出するモータ角度θMを用いて、次式のよ
うにリンク角θLを算出する。
【数7】

【0041】

位置算出部113は、メモリ200が記憶する非線形関数式Λを得て、角度算出部11
2が算出するリンク角θLを用いることで、次式のように現在時刻におけるアーム先端位
置xを算出する。
【数8】

【0042】

上記のように位置算出部113が算出するアーム先端位置xは、フィードバック信号と
して指令値算出部114に対して入力される。
【0043】
なお、(数8)に示すように、アーム先端位置xの算出にはリンク角度θLが必要となる
ので、角度検出部315が直接リンク角度θLを検出することもできる。また、減速機3
14を用いない構成も考えられる。この場合には、モータ角度θMとリンク角度θLは一致
するため、角度算出部112は必ずしも必要とはならないことは明らかである。
【0044】
(トルク算出部)
図1に示すように、トルク算出部120は、慣性力トルクを算出する慣性力トルク算出
部121、摩擦力トルクを算出する摩擦力トルク算出部122、重力トルクを算出する重
力トルク算出部123、遠心力・コリオリ力トルクを算出する遠心力・コリオリ力トルク
算出部124、加算部125を有する。
【0045】
ここで、一般にロボットアームの動力学モデルは次式の運動方程式で与えられる。
【数9】

【0046】

したがって、リンク角度θLの検出値を1回微分したリンク角速度、2回微分したリン
ク角加速度を求めれば、各リンクの重心位置や慣性モーメント、摩擦係数等の物理パラメ
ータを用いて、重力、慣性力、摩擦力、遠心力・コリオリ力等によるトルクの推定値を算
出することができる。
【0047】
なお、リンク角速度は、時系列データとして得られるリンク角度θLの、それぞれ異な
るサンプリング周期に得られる2つの値の差分等により算出できる(1回微分)。また、
リンク角加速度は、それぞれ異なるサンプリング周期に得られる2つのリンク角速度の値
の差分等により算出できる(2回微分)。
【0048】
慣性力トルク算出部121、摩擦力トルク算出部122、重力トルク算出部123、遠
心力・コリオリ力トルク算出部124は、メモリ200に予め格納されている物理パラメ
ータ及び角度算出部112が算出するリンク角度を用いて、慣性力トルク、摩擦力トルク
、重力トルク、遠心力・コリオリ力トルクをそれぞれ算出する。
【0049】
加算部125は、次式のように各駆動軸320のトルク推定値(以下では、変数にハッ
トを付して推定値を表す)を算出する。
【数10】

【0050】

なお、本実施形態においては、慣性力トルク、摩擦力トルク、重力トルク、遠心力・コ
リオリ力トルクについて考慮するものとしたが、遠心力・コリオリ力によるトルクは他の
トルクに比べて充分に小さい(1/10程度)ため、遠心力・コリオリ力によるトルクに
関しては考慮しないことも可能である。この場合には、加算部125は、各駆動軸320
のトルク推定値を、慣性力トルク、摩擦力トルク、重力トルクの和により算出する。
【0051】
(衝突検出部)
図1に示すように、衝突検出部130は、アーム310に外部から加わる外部トルクを
算出する外部トルク算出部131、時系列モデルのパラメータを推定しモデルを更新する
モデル更新部132、更新されるモデルを用いて衝突判定を行う衝突判定部133を有す
る。
【0052】
ここで、外部トルクτdは、トルク推定値と駆動トルクの真値との差分により次式のよ
うに与えられる。
【数11】

【0053】

なお、上式における駆動トルクの真値は、モータ313への指令値uに、モータ313
のカタログ値等により得られ、メモリ200が予め記憶するトルク定数Ktを乗算すること
で得られる。
【0054】
外部トルクは、モデル化誤差がなく、外乱等も加わっていない理想状態においては、ゼ
ロになっているはずである。したがって、外部トルクがゼロでない場合には、アーム31
0には外乱が加わっていることが推定できるために、この外部トルクを衝突検出に用いる
ことができる。
【0055】
しかしながら、(数9)の動力学モデルには、慣性モーメントや摩擦係数などの物理パ
ラメータ等によるモデル化誤差が含まれている。また、(数9)の動力学モデルでは考慮
されていない機械共振により生じる弾性力トルク等の影響も存在し、低速で動作している
ときには衝突検出は機能するが、高速で動作しているときには、加減速に必要なトルク変
動と衝突によるトルク変動の区別がつかないことがある。
【0056】
そこで、本実施形態においては、このようなモデル化誤差を吸収するために、(数11
)の外部トルクを各駆動軸312において1次元の時系列信号y(k)(ただし、k=0,1,2,…
)と捉えて、次式のように表されるAR(Auto Regressive:自己回帰)モデルを当てはめ
る。
【数12】

【0057】

上式のARモデルは、時系列信号y(k)は,過去naステップ分の時系列信号の線形結合で表
される。ここで,a1〜anaはARパラメータであり、e(k)は残差を表す。
【0058】
また、(数12)のARモデルは、
【数13】

【0059】

と定義できる。ここで、ARパラメータαとは、ARモデルを特徴付けるための係数であり、
残差e(k)を最小にするARパラメータを適切に推定することで、ARモデルを算出することが
できる。
【0060】
ARパラメータαの推定値は、次式のような忘却係数λ(通常0.97〜0.995の範囲から選
択する)付きの逐次最小2乗法を用いれば、リアルタイムに更新しながら算出することが
できる。
【数14】

【0061】

ここで、ε(k)は予測誤差、kαはゲイン、P(k)は共分散行列をそれぞれ表している。
【0062】
外部トルク算出部131は、トルク算出部120が算出するトルク推定値と、指令値算
出部114が算出する指令値uにトルク定数Ktを乗算することで得られる駆動トルクを用
いて、次式のように外部トルクを算出する。この外部トルクは、アーム310に対して外
から加わったと推定される外力と見なすことができる。
【数15】

【0063】

モデル更新部132は、外部トルク算出部131が算出する外部トルクを変数として、
(数12)で表されるARモデルに当てはめる。そして、(数14)のように、逐次最小二
乗法を用いて全てのARパラメータの推定値を逐次推定することで、ARモデルを更新する。
【0064】
衝突判定部133は、詳細は後述するようにモデル更新部132により逐次更新される
ARモデルに基づいて、アーム310の衝突の有無を判定する。
【0065】
以下、図3乃至図8を参照して衝突判定部133の動作について説明する。
【0066】
(実施例1)
衝突判定部133が衝突を判定するための第1の方法として、逐次推定しているARパラ
メータの時間変化を用いる方法を説明する。
【0067】
図3(a)は、アーム310を衝突させた時の外部トルクとモータ角速度の時間応答の
一例であり、図3(b)は、逐次更新されるARモデルのパラメータの時間応答の一例であ
る。
【0068】
ここでは、5次のARモデルを用いており、ARパラメータは5本表示されている。図中の
凡例のa(1)〜a(5)は、それぞれa1〜a5を示している。図3(b)では、1.16[s]前後で衝突
が起こっているが、ARパラメータのうち、最低次であるa1の変化が顕著であり、次にa3
変化が大きい。
【0069】
それに対して、図3(a)に示した外部トルクがゆっくりした変化であるので、衝突検
出を目的とした場合、ARパラメータの変化を検出する方法の優位性は明らかである。ここ
で、衝突が起こってもモータ角速度がすぐにゼロにならないのは、関節軸がたわんでいる
ことを示している。
【0070】
衝突判定部133は、図3において最も変化の大きい最低次のARパラメータa1の変化量
を、現在のサンプリング周期kにおけるパラメータの推定値と、一つ前のサンプリング周
期k-1におけるパラメータの推定値の差分により算出する。
【0071】
そして、いずれかの駆動軸312において、最低次のARパラメータの変化量の絶対値が
、メモリ200に格納されている既定の閾値(例えば0.1)を超える場合に、アーム31
0が衝突したものと判定する。
【0072】
なお、逐次最小2乗法において、忘却係数λを調整することによって、ARパラメータの
変化の度合いを調整することができる。忘却係数をロボットの動作加速度が小さいときに
は0.99など値を大きくしておき、加速度が大きいときには0.98など値を小さくするなど、
忘却係数を可変にすることも衝突判定の精度を上げることに有効である。
【0073】
また、本実施形態のように最低次のARパラメータを用いるのではなく、他のARパラメー
タを用いることで衝突を判定することも可能である。
【0074】

(実施例2)
衝突判定部132が衝突を判定するための第2の方法として、多段予測を用いた予測誤
差の時間変化を用いる方法を説明する。
【0075】
(数12)のARモデルにおいて、ARパラメータを逐次推定しながら、イタレーションk
を進めればディジタル処理に起因するサンプル時間遅れを取り戻せる上、多段の予測をす
ることができる。まず、1段先予測値は、
【数16】

【0076】

で与えられ、2段先予測値、3段先予測値は、それぞれ、
【数17】

【0077】

で与えられる。
【0078】
よって、1段先予測誤差は、
【数18】

【0079】

で与えられ、2段先予測誤差、3段先予測誤差は、それぞれ、
【数19】

【0080】

で与えられる。
【0081】
図4は、外部トルクと1,2,3段先予測誤差の各時間応答を比較したものである。同
図から、1段先予測値は、外部トルクからやや遅れていることがわかる。一方、2段先予
測値はやや進んでおり、3段先予測値は明らかに進んでいる。
【0082】
また、図5は、1段先予測誤差の時間変化から衝突を検出している様子を示している。
同じく図6は2段先予測誤差、図7は3段先予測誤差の場合である。
【0083】
図5,6,7を比較すると、それぞれ衝突検出が可能であるが、図6の予測誤差の時間
応答の波形のレンジが比較的小さく、閾値の設定が容易である。したがって、以上からア
ーム310の衝突検出には2段先予測誤差を用いることが好ましい。
【0084】
衝突判定部133は、(数19)のように誤差e2(k)を算出する。そして、誤差e2(k)の
変化量を、現在のサンプリング周期kにおける誤差と、一つ前のサンプリング周期k-1にお
ける誤差の差分により算出する。
【0085】
そして、上記の誤差の変化量の絶対値が既定の閾値を超える場合に、アーム310が衝
突したものと判定する。
【0086】
(実施例3)
衝突判定部133が衝突を検出するための第3の方法として、ARモデルから計算できる
周波数応答の時間変化を用いる方法を説明する。
【0087】
(数12)のARモデルをZ変換すると、
【数20】

【0088】

ここで、ARモデルの伝達関数H(z-1)=1/A(z-1)の周波数応答は、(数20)に次式を代
入することで求めることができる。
【数21】

【0089】

なお、(数20)および(数21)において、zはZ変換を表す演算子、ωは周波数、j
は虚数単位をそれぞれ表している。
【0090】
図8は、ARモデルから計算できる周波数応答が衝突前後で変化することを用いて衝突を
検出する様子を示したものである。前述のように衝突によって摩擦係数や慣性モーメント
が変化したと考えることで、周波数応答の変化からも衝突検出ができることは明らかであ
る。
【0091】
図8では、一点鎖線Bよりも高周波側の領域において、(数9)の動力学モデルでは考
慮していない機械共振特性が検出されており、衝突検出しづらくなっている。
【0092】
そこで、あらかじめ衝突時に変化の大きい周波数領域を調べておき、例えば、図8の一
点鎖線AとBの間の周波数領域でのゲインの差をサンプリング周期ごとに積分するなど、
ウィンドウ処理をすることで衝突検出のための閾値の設定を容易にすることができる。
【0093】
衝突判定部132は、各サンプリング周期において周波数応答を算出する。そして、既
定のウィンドウの範囲内で、現在のサンプリング周期kにおけるゲインと、一つ前のサン
プリング周期k-1におけるゲインの差分を周波数ごとに算出し、ゲインの差分を周波数で
積分することで、図8中の面積(C)に相当する積分値を算出する。
【0094】
そして、上記の積分値の絶対値が既定の閾値を超える場合に、アーム310が衝突した
ものと判定する。
【0095】
なお、本実施例では、ARパラメータ5個を全て用いて周波数応答を計算しているので、
実施例1のようにARパラメータ個々の時間変化で衝突を検出する方法よりも計算量は増加
するが、よりロバストな衝突検出を行うことができる。
【0096】
以上、実施例1乃至実施例3として、3通りの衝突判定の方法について説明した。この
3通りの衝突判定方法は各々適用することも可能であるが、3つ同時に適用し、多数決を
とることで、各リンク311におけるより正確な衝突判定が可能となる。
【0097】
なお、位置制御部110の位置目標生成部111は、衝突判定部132がアーム310
の衝突を判定した際には、アーム先端位置目標値を新たに生成する。
【0098】
具体的には、衝突を検出した場合は、アーム310を緊急停止するためのアーム先端位
置目標値を新たに生成する。また、衝突後のさらなる動作指令が必要な場合には、例えば
、反転動作が必要な場合については、衝突した方向とは逆方向に動作させるようなアーム
先端位置目標値を生成することができる。
【0099】
なお、本実施形態では、時系列モデルとしてARモデルを用いたが、ARモデルに限定され
ることなく、各サンプリング周期における時系列信号がパラメータを用いて関係付けられ
る時系列モデルであればよい。また、パラメータの推定に関しても、逐次最小2乗法に限
定されるものではない。
【0100】
また、本実施形態では、リンクが回転軸(関節)を中心に回転するアームを例に説明を
行ったが、並進移動するような対象に対しては、例えばリンク角度の代わりに対象の変位
を用いることで、同様の方法により対象に加わる外乱を検出することができる。
【0101】
(第一の変形例)
以下、図9を参照して、第一の実施形態のロボット制御装置の第一の変形例について説
明する。なお、図1と同様の構成については同様の符号を付すことで、その詳細な説明を
省略する。
【0102】
図9は第一の変形例に係るロボット制御装置に用いるCPU100のシステム構成図で
ある。本変形例では、トルク算出部120は、(数9)よりも詳細なアーム310の動力
学モデルに基づいて、各駆動軸312のトルク推定値を算出する。
【0103】
(数9)は、剛体関節モデルを用いているが、減速機314を低剛性のバネ要素と見な
す弾性関節モデルを代わりに用いれば、動力学モデルに加減速時の機械共振を反映させる
ことができ、加減速によるトルク変動と衝突によるトルク変動の判別の分解能を向上させ
ることができる。
【0104】
剛体関節モデルに基づく(数9)に相当する、弾性関節モデルに基づく動力学モデルを
与える運動方程式は次式となる。
【数22】

【0105】
剛体関節モデルでは、モータ角度θMを減速比倍することでリンク角度θLを算出するこ
とができたが、弾性関節モデルでは、(数22)の動力学モデルを考慮してθMからθL
推定しなければならない。したがってθMからθLを推定しながら、トルク推定値を算出す
る必要がある。
【0106】
これには、(数22)を、
【数23】

【0107】
として角加速度を求めるように変形する。(数23)にθMと矛盾しないθLの初期値を与
えておき、実際に検出できるθMを代入して積分することを逐次繰り返すことによりθL
推定値を得ることができる。
【0108】
図9のトルク算出部120は、リンク角度の推定値を逐次算出するリンク角度算出部1
27、慣性力トルクを算出する慣性力トルク算出部121、摩擦力トルクを算出する摩擦
力トルク算出部122、重力トルクを算出する重力トルク算出部123、遠心力・コリオ
リ力トルクを算出する遠心力・コリオリ力トルク算出部124、弾性力トルク算出部12
6、加算部125を有する。
【0109】
以下、CPU100の動作を説明する図10を参照して、トルク算出部120の動作に
ついて詳細に説明する。
【0110】
リンク角度算出部127は、メモリ200に予め格納されているリンク角度の初期値と
角度検出部315が検出するモータ角度θMを用いて、次式の微分方程式を解くことでリ
ンク角度の推定値を算出する。
【数24】

【0111】
慣性力トルク算出部121、摩擦力トルク算出部122、重力トルク算出部123、遠
心力・コリオリ力トルク算出部124は、メモリ200に予め格納されている物理パラメ
ータ及びリンク角度算出部127が算出するリンク角度の推定値を用いて、それぞれ慣性
力トルク、摩擦力トルク、重力トルク、遠心力・コリオリ力トルクを算出する。
【0112】
また、弾性力トルク算出部126は、次式のように弾性力トルクを算出する。
【数25】

【0113】
加算部125は、慣性力トルク、摩擦力トルク、重力トルク、遠心力・コリオリ力トル
ク、弾性力トルクを用いて次式のように各駆動軸320のトルク推定値を算出する。
【数26】

【0114】
なお、減速機314のバネ要素によるねじれは微小であるので、順運動学やヤコビ行列
の算出に必要なリンク角度については、第一の実施形態と同様に角度算出部112が算出
する値を用いることができる。
【0115】
(第二の変形例)
以下、図11を参照して、第一の実施形態のロボット制御装置の第二の変形例について
説明する。なお、図1と同様の構成については同様の符号を付すことで、その詳細な説明
を省略する。
【0116】
図11は第一の変形例に係るロボット制御装置に用いるCPU100のシステム構成図
である。本変形例では、図1に示す構成に加え、アーム310の各リンク311のどこで
衝突が生じたかを推定する衝突部位推定部140をさらに有する。
【0117】
衝突部位推定部140は、衝突検出部130がアーム310の各駆動軸312において
それぞれ衝突検出を行い、衝突を検出した駆動軸312を備えるリンク311において衝
突が生じたものと推定する。
【0118】
以上説明した少なくとも1つの本実施形態のロボット制御装置によれば、ロボットアー
ムに加わる外乱を高精度に検出することが可能となる。
【0119】
これら実施形態は、例として提示したものであり、発明の範囲を限定することは意図し
ていない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明
の要旨を逸脱しない範囲で、様々の省略、置き換え、変更を行うことができる。これら実
施形態やその変形は、発明の範囲や要旨に含まれると同時に、特許請求の範囲に記載され
た発明とその均等の範囲に含まれるものである。
【符号の説明】
【0120】
100・・・CPU
110・・・位置制御部
111・・・位置目標生成部
112・・・角度算出部
113・・・位置算出部
114・・・指令値算出部
120・・・トルク算出部
121・・・慣性力トルク算出部
122・・・摩擦力トルク算出部
123・・・重力トルク算出部
124・・・遠心力・コリオリ力トルク算出部
125・・・加算部
126・・・弾性力トルク算出部
127・・・リンク角度算出部
130・・・衝突検出部
131・・・外部トルク算出部
132・・・モデル更新部
133・・・衝突判定部
140・・・衝突部位検出部
200・・・メモリ
300・・・本体
310・・・アーム
311・・・リンク
312・・・駆動軸
313・・・モータ
314・・・減速機
315・・・角度検出部

【特許請求の範囲】
【請求項1】
アームの駆動軸を回転駆動するアクチュエータと、
前記アーム先端の目標位置データを生成する生成部と、
前記駆動軸の回転角度をサンプリング周期ごとに検出する第1検出部と、
前記回転角度を用いて前記アーム先端の現在位置データを算出する第1算出部と、
前記目標値位置データと前記現在位置データとを用いて、前記アクチュエータに対する
指令値を算出する第2算出部と、
前記駆動軸の回転角度を用いて前記アクチュエータを駆動する駆動トルクの推定値を算
出する第3算出部と、
前記駆動トルクの推定値と、前記指令値から求まる前記駆動トルクの真値との差分を算
出する第4算出部と、
前記アームに加わる外乱を検出する第2検出部と、
を備え、
前記第2検出部は、
前記差分を変数とする時系列モデルのパラメータを推定し、前記パラメータを当てはめ
ることで、第1サンプリング周期の当該時系列モデルを更新する更新部と、
前記第1サンプリング周期の時系列モデルと前記第1サンプリング周期よりも過去の第
2サンプリング周期の時系列モデルとを比較して、前記アームへの外乱の有無を判定する
判定部と、
を備えるロボット制御装置。
【請求項2】
前記外乱の検出のための閾値を記憶する記憶部を備え、
前記判定部は、
前記時系列モデルの前記パラメータの変化量と当該閾値を比較し、前記アームへの外乱
の有無を判定する請求項1に記載のロボット制御装置。
【請求項3】
前記外乱の検出のための閾値を記憶する記憶部を備え、
前記判定部は、
前記時系列モデルを用いて多段の予測誤差を算出し、当該予測誤差の変化量と前記閾値
を比較し、前記アームへの外乱の有無を判定する請求項1に記載のロボット制御装置。
【請求項4】
前記外乱の検出のための閾値を記憶する記憶部を備え、
前記判定部は、
前記時系列モデルを用いて周波数応答を算出し、前記周波数応答の変化量と前記閾値を
比較し、前記アームへの外乱の有無を判定する請求項1に記載のロボット制御装置。
【請求項5】
前記生成部は、
前記第2検出部が前記外乱を検出した場合に、前記アームを緊急停止または反転動作す
る方向に前記目標位置データを更新する請求項1乃至4いずれか1項に記載のロボット制
御装置。
【請求項6】
前記アームは複数のリンクと、複数の駆動軸とを有し、
前記第2検出部は、前記駆動軸ごとに前記外乱を検出し、
前記外乱が検出された駆動軸を有するリンクに外乱が加わったものと推定する推定部を
さらに備える請求項1乃至5いずれか1項に記載のロボット制御装置。
【請求項7】
前記駆動軸は、前記アクチュータの回転軸である第1軸と、当該第1軸の回転数を減少
させる減速機を介して前記第1軸と接続する第2軸とを有し、前記第1検出部は、前記第
1軸の回転角度を検出するものであって、
前記第1軸の回転角度を用いて前記第2軸の回転角度をサンプリング周期ごとに算出す
る第5算出部を備え、
前記第1算出部は、前記第2軸の回転角度を用いて前記アーム先端の現在位置データを
算出し、
前記第3算出部は、前記第2の回転角度を用いて前記アクチュエータを駆動する駆動ト
ルクの推定値を算出する、
請求項1乃至6いずれか1項に記載のロボット制御装置。
【請求項8】
演算処理装置における外乱判定方法であって、
算出部が、対象物に加わったと推定される外力を算出するステップと、
更新部が、前記外力を変数とする時系列モデルのパラメータを推定し、前記パラメータ
を当てはめることで、第1サンプリング周期の当該時系列モデルを更新するステップと、
判定部が、前記第1サンプリング周期の時系列モデルと前記第1サンプリング周期より
も過去の第2サンプリング周期の時系列モデルとを比較して、前記対象物へ加わる外乱の
有無を判定するステップと、
を有する外乱判定方法。
【請求項9】
アームの駆動軸を回転駆動するアクチュエータを制御する方法であって、
生成部が、前記アーム先端の目標位置データを生成するステップと、
第1検出部が、前記駆動軸の回転角度をサンプリング周期ごとに検出するステップと、
第1算出部が、前記回転角度を用いて前記アーム先端の現在位置データを算出するステ
ップと、
第2算出部が、前記目標値位置データと前記現在位置データとを用いて、前記アクチュ
エータに対する指令値を算出するステップと、
第3算出部が、前記駆動軸の回転角度を用いて前記アクチュエータを駆動する駆動トル
クの推定値を算出するステップと、
第4算出部が、前記駆動トルクの推定値と、前記指令値から求まる前記駆動トルクの真
値との差分を算出するステップと、
更新部が、前記差分を変数とする時系列モデルのパラメータを推定し、前記パラメータ
を当てはめることで、第1サンプリング周期の当該時系列モデルを更新するステップと、
判定部が、前記第1サンプリング周期の時系列モデルと前記第1サンプリング周期より
も過去の第2サンプリング周期の時系列モデルとを比較して、前記アームへの外乱の有無
を判定するステップと、
を有するアクチュエータ制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2013−66965(P2013−66965A)
【公開日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願番号】特願2011−206651(P2011−206651)
【出願日】平成23年9月21日(2011.9.21)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】