説明

ロボットの制御装置およびロボット

【課題】力センサを用いることなく、ロボットと障害物との接触を高精度に検出可能で安全性を向上させるロボットの制御装置を提供する。
【解決手段】
ロボットの駆動力を制御するロボットの制御装置であり、制御装置は所望の動作軌跡と速度を出力し、駆動力が所定時間内にロボットに対してした仕事量である制御仕事量を算出し、エネルギー推定値を算出し、所定時間内のエネルギー変化の推定値を算出し、制御仕事量とエネルギー変化推定値とに基づいてロボットへの動作指令速度を調整または停止指令または警報を発生するように構成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は,ロボットの駆動力を制御して作業を遂行するためのロボットの制御装置およびこれを備えたロボットに関する。
【背景技術】
【0002】
人間と共存して作業を遂行するロボットの制御装置において、安全のためにはロボットが(人間を含む)外部環境と予期せずして接触した場合、これを確実に検出することが必要である。更には、ロボットが(人間を含む)外部環境に対してする仕事量や手先力を適切な値に制限する必要がある。従来の安全対策としては手先に設けた力センサで手先力を監視し、所定の閾値を超えたらロボットを停止させる技術や関節軸毎にトルク制限を設ける技術などがあった。
あるいは、ロボットが外部環境に接触したことを検出して警告発生や停止などの措置をとることで安全を確保する技術も提案されている。
【0003】
例えば、特許文献1の技術では、ロボットの過負荷状態を監視し障害の発生を防止するため、所定時間T内におけるモータの実効トルクの値を監視し、監視値が規定値を越えた場合に警告を発する,関節最高速度を遅く設定する,といった措置をとっていた。
この例では、演算によって実効トルクを求め、結果が閾値よりも大きくなった場合に過負荷状態として警告を発生していた。あるいは、実効トルクが閾値を大きく超過した場合には関節最高速度を減らし、超過量が少ない場合は逆に関節最高速度を増やすことで、過負荷を防止していた。本方法によれば、ロボットが外部環境と接触すると関節負荷が増大して警告発生や減速などの措置がとられるため、安全性が高められる。
【0004】
特許文献2の技術では、計算量を削減し高精度に衝突判定するため、動作指令からロボットの運動方程式を用いて算出した必要駆動トルク指令要素と、各関節のフィードバック値と、前記動作指令と、から必要駆動トルクを演算し、必要駆動トルクと実際のモータ駆動トルクとの差を、別途演算により求めた閾値と比較するようにしていた。ここで必要駆動トルク指令要素は、位置指令、速度指令、加速度指令をロボットの運動方程式に代入して計算するものである。また、必要駆動トルクは、実際にフィードバックされたロボット動作を実現するために必要な駆動トルクであって、本来ならば位置、速度、加速度のフィードバック値をロボットの運動方程式に代入して求めるものであるが、特許文献2では計算量節約のために近似式が用いられていた。
【0005】
特許文献2の実施例であるロボット制御装置は、位置、速度、加速度それぞれの指令を生成する指令値生成手段、必要駆動トルク指令要素演算手段、必要駆動トルク演算手段、衝突判別のための閾値を演算する閾値演算手段、閾値とモータ駆動電流に基づいて衝突を判別する衝突判別手段、ロボットの各軸を駆動するモータを制御するモータ制御手段によって構成されていた。ここでは閾値演算手段は、関節毎に予め記憶した閾値をそれぞれ出力するものである。衝突判別手段では、まず、モータ制御手段から入力されるモータ電流から各関節のモータ駆動トルクを演算する。次に、必要駆動トルクと実際のモータ駆動トルクとの差を関節毎に計算する。いずれかの関節における必要駆動トルクとモータ駆動トルクの差がしきい値演算手段から出力された上側しきい値以上の場合、もしくは下側しきい値以下となった場合にロボットが衝突したと判別し、指令値生成手段に停止命令を送信する。本方法によれば、ロボットと外部環境との接触をある程度精度良く検出できるので、接触検出時に停止するなどの措置によって安全性を向上することができる。
【0006】
特許文献3では,ロボットの動特性を模擬したモデルとロボット実機の位置および姿勢を比較することで衝突を判定していた。
即ち、特許文献3の技術は多自由度ロボットアーム(実機)と、多自由度ロボットアームのモデルと位置・姿勢を監視する1つのリンクと周辺機器とから構成されており、複数のリンク位置および姿勢について実機とモデルを比較することで,図のようにリンクの途中に周辺機器が接触した場合も検出できる構成となっていた。特許文献3の技術によれば手先以外の接触もある程度精度良く検出できるため、ロボットの作業領域全体で安全性向上を図ることができる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特許第2992920号公報(第4頁,図2)
【特許文献2】特許第3878054号公報(第41頁,図1)
【特許文献3】特開2006−116635号公報(第13頁,図8)
【発明の概要】
【発明が解決しようとする課題】
【0008】
ところが、力センサで手先力を監視する従来技術では、力センサを追加設置する必要があり,コスト高を招く。また,手先以外の接触によって生じる力を検出できないという課題もある。
また、関節軸毎にトルク制限を設ける従来技術では、図7のように障害物と接触する姿勢や障害物が接触する位置によっては小さいトルクでも接触点に大きな力が発生するため、各関節でトルクの増大を検出する前に環境やロボット自身に過大な負荷がかかる虞があった。

即ち、図において、700はロボットアーム、701はロボットアーム700の第1関節、702はロボットアーム700の第2関節、703は第1の障害物、704は第2の障害物、矢印705は第1関節701の回転の向き、矢印706は第2関節702の回転の向き、矢印707は第1の障害物703からロボットアーム700が受ける接触力、矢印708は第2の障害物704からロボットアーム700が受ける接触力である。ロボットアーム700は直線に近い姿勢をとっているため、第1の障害物703から受ける接触力707が第1関節701および第2関節702のトルクに与える影響は軽微である。関節701および702のトルクが制限値を上回らないまま各関節が矢印705および706の向きに運動を継続すれば、接触力707は非常に大きくなってしまう。
【0009】
また、ロボットアーム700は第2の障害物704と第1関節701に近い位置で接触しているため、第2の障害物704から受ける接触力708が第2関節702のトルクに与える影響はなく、第1関節701への影響も軽微である。
第1関節701のトルクが制限値を上回らないまま第1関節701が矢印705の向きに運動を継続すれば、接触力708が非常に大きくなる虞がある。このように、各関節のトルクを制限するだけでは、ロボットのあらゆる動作部分と外部環境との接触に対応するには限界がある。また、画一的なトルク制限ではロボットの姿勢変化に伴う駆動トルクの大きな変動に対応できず、ロボットの動作性能が制限されてしまう場合もあった。
【0010】
特許文献1の技術の場合、ロボットの急な加減速によって瞬間的に駆動トルクが増大すると、過負荷による破損の危険性が極めて少ないにもかかわらず警告が誤動作してしまうという問題があった。
これを防ぐためには、実効トルクを求める所定の時間Tを十分大きく設定する、警告発生の閾値を十分大きく設定する、といった方法が考えられるが、これらを適用すると過負荷検出の感度が低下してしまう。
また、障害物と接触する姿勢や障害物が接触する位置によっては小さいトルクでも接触点に過大な力が発生することを防止できない虞がある。
【0011】
特許文献2の場合、関節トルクを監視して衝突有無を判定する限り、障害物と接触する姿勢や障害物が接触する位置によっては小さいトルクでも接触点に大きな力が発生する問題は解決できない。また、必要駆動トルクの算出に用いられる関節加速度のフィードバック値は、実際には関節位置のフィードバック値を二階差分して求める必要があるため、ノイズの影響が増大して衝突判定精度が落ちるという問題もあった。
【0012】
また、トルクではなくロボットの複数のリンク位置および姿勢を監視する場合には、障害物と接触する姿勢や障害物が接触する位置によっては小さいトルクでも接触点に過大な力が発生することを防止できない虞がある。
更に、上記特許文献を含めた多くの従来技術では、ロボットと障害物との接触や過負荷を検出できても、力センサを用いないでロボットと障害物との接触力を制限することはできていなかった。
本発明はこのような課題に鑑みてなされたものであり、力センサを用いることなく、ロボットと障害物との接触を高精度に検出可能で安全性を向上させるロボットの制御装置を提供することを目的とする。
【課題を解決するための手段】
【0013】
上記目的を達成するため,本発明は次のような手段をとる。
請求項1にかかるロボットの制御装置は、ロボットの駆動力を制御するロボットの制御装置であって、所望の動作軌跡と速度を出力する動作指令記憶部と、前記駆動力が所定時間内に前記ロボットに対してした仕事量である制御仕事量を算出する制御仕事量算出部と、前記ロボットのエネルギー推定値を算出するエネルギー推定部と、前記ロボットの前記所定時間内のエネルギー変化の推定値を算出するエネルギー変化推定値算出部と、前記制御仕事量と前記エネルギー変化推定値とに基づいてロボットへの動作指令速度を調整または停止指令を発生する動作指令調整部と、を備えたことを特徴としている。
【0014】
また、前記制御仕事量算出部は、フィードバックした前記ロボットの関節速度と前記駆動力の積である制御仕事率を所定時間にわたって積分することで前記制御仕事量を算出することが好ましい(請求項2)。
また、前記エネルギー推定部は、フィードバックした前記ロボットの関節速度および位置と、内蔵する前記ロボットの動力学モデルと、にもとづいて前記エネルギー推定値を算出することが好ましい(請求項3)。
また、前記エネルギー変化推定値算出部は、所定時間にわたって前記エネルギー推定値を時刻と対応付けて保存するエネルギー推定値履歴保存部を備え、所定時間だけ前のエネルギー推定値を現在のエネルギー推定値から減じたものを前記エネルギー変化推定値として出力することが好ましい(請求項4)。
また、前記動作司令調整部は、前記制御仕事量と前記エネルギー変化推定値との差である外部出力仕事量推定値が所定の第一閾値を超えた場合に停止指令を発生することが好ましい(請求項5)。
また、環境との接触を通知する警報発生部を更に備え、前記制御仕事量と前記エネルギー変化推定値との差である外部出力仕事量推定値が前記第一閾値を超えた場合に警報を発生することが望ましい(請求項6)。
【0015】
また、前記第一閾値は、前記ロボットが環境に接触したときに発生する接触力の制限値を前記ロボットが接触し得る環境内物体に印加したときに蓄えられる弾性エネルギーの大きさよりも小さな値であることが好ましい(請求項7)。
また、前記第一閾値は、前記ロボットが環境に接触したときに発生する接触力の制限値を前記ロボット表面に装着した弾性柔軟材料に印加したときに蓄えられる弾性エネルギーの大きさよりも小さな値であることが好ましい(請求項8)。
また、前記動作指令調整部は、前記外部出力仕事量推定値が所定の第二閾値を超えた場合に前記動作指令記憶部が出力する動作指令の速度を遅らせたものを出力することが好ましい(請求項9)。
また、前記ロボットはアクチュエータとしてサーボモータを有し、前記制御仕事量算出部における前記駆動力は前記サーボモータを流れる電流値から算出することが好ましい(請求項10)。
また、前記制御仕事量算出部における駆動力は前記駆動力指令をそのまま用いることが好ましい(請求項11)。
また、前記駆動力は摩擦補償分を除いたものであることが好ましい(請求項12)。
【0016】
また、請求項13にかかるロボットは、アームと、前記アームに内蔵され、請求項1〜11のいずれか1項に記載のロボットの制御装置によって制御されるアーム駆動用のサーボモータと、ロボットの制御装置からの前記動作指令速度または前記停止指令に基づいてロボットの関節を駆動制御するサーボ制御部と、を備えたことを特徴としている。
また、前記アームの表面の一部または全体が弾性柔軟材料で覆われていることが好ましい(請求項14)。
【発明の効果】
【0017】
請求項1及び請求項13の発明によれば,力センサなどを追加することなくロボットのあらゆる動作部分と外部環境との接触を検出でき,またロボットの動作指令を適切に調整できるため,ロボットシステムの安全性を高めることができる。
請求項2の発明によれば,極めて簡単な演算によってロボットの駆動力がロボットおよび外部環境に対してした仕事量を求められる。また,数値誤差の蓄積による誤検出を防止できる。
請求項3の発明によれば,ロボットが保持する力学的エネルギーを正確に推定できる。
請求項4の発明によれば,ロボットが保持する力学的エネルギーの変化を正確に検出できる。
請求項5の発明によれば,ロボットのあらゆる動作部分と外部環境との接触が起こった場合にロボットを停止させ,ロボットや外部環境物に過大な力が発生することを防止することができる。
請求項6の発明によれば、ロボットのあらゆる動作部分と外部環境との接触が起こった場合に周囲の作業者や周辺機器に警報で通知することで、迅速な対応を促すことができる。
【0018】
請求項7の発明によれば,力センサなどを追加することなく,ロボットのあらゆる動作部分と外部環境との接触力を制限でき,ロボットシステムの安全性を向上できる。
請求項8の発明によれば,力センサなどを追加することなく,また外部環境の物理特性によらず,ロボットのあらゆる動作部分と外部環境との接触力を制限でき,ロボットシステムの安全性を向上できる。
請求項9の発明によれば,ロボットのあらゆる動作部分と外部環境との接触が起こった場合にロボットを減速させ,ロボットや外部環境物に過大な力が発生することを防止することができる。
請求項10の発明によれば,制御仕事量算出に用いる駆動力の値を正確に得られる。
請求項11の発明によれば,制御仕事量算出に用いる駆動力の値を得る処理負荷を軽減できる。
請求項12の発明によれば,制御仕事量を正確に算出できる。
【0019】
請求項14の発明によれば,外部環境の物理特性によらずロボットのあらゆる動作部分と外部環境との接触を正確に検出でき,またロボットの動作指令を適切に調整できるため,ロボットシステムの安全性を一層高めることができる。
【図面の簡単な説明】
【0020】
【図1】本発明のロボットの制御装置の構成を示した図
【図2】本発明の第1実施例における動作指令調整部の処理内容を示した流れ図
【図3】弾性エネルギーUelim1を実験的に求める方法の例を示した図
【図4】弾性エネルギーUelim1を実験的に求める方法の例を示した図
【図5】本発明の第2実施例におけるロボットを示した図
【図6】本発明の第3実施例における動作指令調整部の処理内容を示した流れ図
【図7】従来技術の問題を示した図
【発明を実施するための形態】
【0021】
本発明の実施の形態を具体的に説明するために,まずロボットの動力学の特徴を概説する。一般に剛体nリンク型ロボットの運動方程式は以下の数式(1)を用いて
【0022】
【数1】

【0023】
である。ロボットが作業対象物を把持している場合は上記運動方程式中のパラメータ値が変わるが,基本的な構造は変わらない。したがって以後の説明では,ロボットが作業対象物を把持しているか否かは区別しない。
ある時刻tにおいてロボットが保有する力学的エネルギーE(以下,単にエネルギーと表記)は,運動エネルギーとポテンシャルエネルギーU(q)の和として
【0024】
【数2】

【0025】
を満足する関節位置ベクトルqによって変化するスカラー関数である。ロボットが外部環境に対してする仕事率(パワー)である
【0026】
【数3】

【0027】
となり,これを時間Tにわたって積分すると,該時間中にロボットが外部環境に対してする仕事量w(t,T)は以下の数式(2)を用いて
【0028】
【数4】

【0029】
である。数式(2)は,ロボットが外部環境に対してする仕事量は,ロボットが保有する力学的エネルギーの変化量−ΔE(t,T)と摩擦補償を除いた関節駆動制御トルクがした仕事量w(t,T)の和に等しいことを示している。この事実を利用すれば,ロボットと外部環境との接触力が計測できない場合でも,ロボットと外部環境との接触を検出することができる。
【0030】
以下、本発明の具体的実施例について、図を用いて説明する。
【実施例1】
【0031】

図1は,本発明の第1実施例におけるロボットの制御装置の構成を示した図である。図において,点線内部101が前記ロボットの制御装置,102がロボットの制御装置101で制御され作業を遂行するロボット,103が動作指令記憶部,104が制御仕事量算出部,105がエネルギー推定部,106がエネルギー変化推定値算出部,107が動作指令調整部,108がサーボ制御部,109が速度算出部,110が動作指令,111が関節速度,112が関節トルク,113が制御仕事量,114がエネルギー推定値,115がエネルギー変化推定値,116が関節動作指令,117が関節トルク指令,118が関節位置、120が警報部である。ロボット102は関節トルク指令117にしたがって駆動される。フィードバックされる関節トルク112は,関節トルク指令117そのものか,関節を駆動するアクチュエータを流れる電流値の計測結果から算出したものである。関節位置118はロボット102の各関節に取り付けられたロータリーエンコーダによって取得される。本実施例においては,動作指令記憶部103,制御仕事量算出部104,エネルギー推定部105,エネルギー変化推定値算出部106,動作指令調整部107,サーボ制御部108および速度算出部109は,図示しない計算機によって構成する。なお,計算機は所定の制御周期δtで動作するディジタル計算機である。また、警報部120は前記計算機から制御される図示しないブザーである。
【0032】
ロボットの制御装置101の構成要素について,個別に説明する。
動作指令記憶部103はロボットに作業を遂行させるための動作指令を記憶させておく前記計算機の記憶領域に相当し,必要に応じて記憶している動作指令を出力する。本実施例における動作指令は,各制御周期においてロボットの手先が通るべき目標軌跡ベクトルxref[t]である。
制御仕事量算出部104は,以下の数式(3)によって制御仕事量113(式ではw[t,T]と表記)を計算し出力する。
【0033】
【数5】

【0034】
ここでδtは前記計算機の制御周期である。上記演算は連続時間系における時間積分に相当する。また、τは前述のように関節トルクから摩擦補償トルクτfcを除いた関節駆動制御トルクである。
【0035】
エネルギー推定部105は、以下の数式(4)に基づいてロボットが現在保有するエネルギーE[t]の推定値であるエネルギー推定値114(式ではE^[t]と表記)を計算し出力する。
【0036】
【数6】

【0037】
ここで(^)は推定値であることを表す。M^やU^に含まれるロボットの物理パラメータには、設計値またはパラメータ同定の結果を用いる。
エネルギー変化推定値算出部106は、エネルギー推定値114の履歴を時間T以上にわたって前記計算機のメモリに保持し、以下の数式(5)により時間Tのエネルギー変化推定値115(式ではΔE^[t]と表記)を計算する。
【0038】
【数7】

【0039】
動作指令調整部107は、動作指令110、制御仕事量113およびエネルギー変化推定値115を入力とし、ロボットの関節動作指令116を出力する処理単位である。本実施例では、関節動作指令116は、各制御周期におけるロボットの関節位置指令qcmd[t]である。本実施例における動作指令調整部107の処理内容を図2を参照して説明する。図において、201が制御仕事量113とエネルギー変化推定値115との差である外部出力仕事量推定値w^[t,T]を算出する処理、202が前記外部出力仕事量推定値を閾値wthと比較した結果にもとづいて以後の処理を分岐する処理、203は停止指令を出力する処理,204は動作指令110の時刻をδtだけ進める処理、205は動作指令110から逆運動学演算によって関節動作指令116(すなわちロボットの関節位置指令qcmd[t]を算出する処理である。処理201では,以下の数式(6)にもとづいて外部出力仕事量推定値を算出する。
【0040】
【数8】

【0041】
また,処理202では以下の論理の真偽を調べ,真であれば処理203へ,偽であれば処理204へと進む。
^[t,T]>wth
ここで閾値wthは予め定めた正定数である。その値を決定する方法は後述する。以上に示した一連の処理によって,動作指令調整部107は,ロボット102が外部環境と接触することによって外部に出力した仕事量の推定値である外部出力仕事量推定値


が閾値wthよりも大きい場合は停止指令を出力し,それ以外の場合は指令された動作指令110が実現されるように関節動作指令を生成して出力する。
【0042】
サーボ制御部108は,関節動作指令116と関節位置118を入力とし,関節トルク指令117を出力する処理単位である。躯体的には,関節位置118が関節動作指令116にできるだけ追従するようにフィードバック制御するのであるが,そのための制御ループ構成には多くの公知技術が存在するため割愛する。関節位置116を関節動作指令116に追従させるような制御ループ構成であれば何でも良く,特に構成を限定する必要はない。なお,サーボ制御部には摩擦補償が含まれることも多い。摩擦補償トルクτfcはロボットの関節に存在する摩擦力を打ち消すように設定するのであるが,その算出方法についても公知技術が多く,特に方法は限定しないため割愛する。
【0043】
速度算出部109は,関節位置116の時間差分によって関節速度111を算出する処理単位である。
以上のような構成によって,ロボット102が外部環境と接触することによって外部に出力した仕事量の推定値である外部出力仕事量推定値w^[t,T]が閾値wthよりも大きい場合は停止指令が出力されるため,ロボット102を安全に停止することができる。それ以外の場合は動作指令110を忠実に実行し,作業を遂行することができる。
また、警報部120は動作指令調整部が停止指令を発すると同時に警報ブザー音を発し、周囲の人間に異常発生を通知する。警報によって周囲の人間は異常発生を即座に感知でき、素早い対応が可能となる。なお、警報部120は本実施例ではブザーとしたが、周囲の人間や周辺機器に異常発生を通知できるものであれば何でもよく、前記計算機に付属のモニタ装置や、異常発生ディジタル信号を発するディジタル出力ポートなども用いることができる。
【0044】
外部出力仕事量は接触力と接触力によって生じた変位の積でもあり,ロボットと外部環境との接触位置やロボットの姿勢には無関係である。したがって,その推定値である外部出力仕事量推定値w^[t,T]の値によってロボットの動作を調整することにより,ロボットと外部環境との接触位置やロボットの姿勢に影響されずに安全措置を講ずることができるのである。
前記閾値wthの決定方法について説明する。まず,ロボットが動作中に接触し得る障害物を抽出する。ここで障害物とは,人間の体やロボット周辺機器などであって,ある程度剛性が低いものとする(障害物の剛性が高い場合の対策については,本発明の第2実施例として後述する)。次いで,前記ロボットが障害物に接触したときに発生する接触力の制限値felimを定める。接触力の制限値felimは,障害物あるいはロボットにかかる負荷の限界値よりも十分小さな値とする。接触力の制限値が定まったら,障害物に力felimを印加したときに障害物に蓄えられる弾性エネルギーUelim1を実験的あるいは理論的に算出する。
【0045】
前記弾性エネルギーUelim1を実験的に求める方法の例を図3および図4を用いて説明する。図3において301は押し付け用プローブ,302は力センサ,303は障害物試料,矢印304は押し付け用プローブ301の押し付け方向,矢印305は押し付けによって押し付け用プローブ301および力センサ302が受ける接触力である。また,図3の左側は押し付け前,右側は押し付け後の様子を示している。
【0046】
押し付け用プローブ301は,障害物試料303に力を印加するためのプローブであって,ロボットと同程度の大きさの立体を用い,先端に接触力測定用の力センサ302を備える。押し付け用プローブ301を押し付け方向304に沿って移動させると,やがて障害物試料303に接触して接触力305を発生する。更に移動を継続すると,障害物試料303は変形して弾性エネルギーを内部に蓄えるとともに,接触力305が増大して力felimを上回る。このときの押し付け用プローブ301の変位量と接触力をグラフ化した例が図4である。図4において,401は押し付け用プローブ301の押し付け方向304に沿った変位量に対応する軸,402は接触力305に対応する軸,403は接触力曲線,404は力felimに対応する直線,405は接触力が発生したとき(非零の値となったとき)の変位量に対応する直線,406は接触力曲線403および直線404および直線405によって囲まれる領域の面積である。弾性エネルギーUelim1は,面積406を算出することで求められる。
【0047】
前記弾性エネルギーUelim1を理論的に求めるには,障害物の弾性係数Eを予め推定または調べておき,以下の数式(7)を用いればよい。
【0048】
【数9】

【0049】
ここでlは障害物の平均的な厚み,Aは障害物とロボットの平均的な接触面積,であって,抽出された障害物とロボットが接触した場合を想定して設定する量である。
前記弾性エネルギーUelim1が求まったら,これに1よりも十分小さい正の安全係数であるαsafeを乗じたものを閾値wthとする。
即ち、wth=αsafeelim1
【0050】
以上のように閾値wthを決定することで,ロボットが障害物に接触したときに接触力がfelimを上回る前に接触を検出し,ロボット動作を安全に停止できるのである。
本実施例は,ロボットが動作中に接触し得る外部環境がある程度の弾性を有する場合には有効であるが,外部環境の剛性が高い場合は接触と同時に接触力が急激に増大するため,停止指令が間に合わず接触力を制限できない可能性がある。そのような場合であっても本発明を適用可能であることを,以下に示す。
【実施例2】
【0051】
本発明の第2実施例は,ロボットが接触し得る外部環境の剛性が高い場合でも接触力の大きさを安全な範囲内に制限するものである。本実施例の基本構成は図1と同一であるが,外部環境と接触する可能性があるロボット部位の表面を弾性柔軟材料で覆う。
図5は2自由度ロボットアームを弾性柔軟材料で覆った例である。図において501が2自由度ロボットアーム,斜線部分502が弾性柔軟材料である。弾性柔軟材料502には,弾性係数Eが既知のものを用い,弾性柔軟材料502の厚さlは,ロボットが動作中に停止指令を受けたときロボットが停止するまでに動く距離である制動距離よりも十分大きな値とする。
【0052】
前記閾値wthを決定する方法を説明する。まず,弾性柔軟材料502に力felimを印加したときに障害物に蓄えられる弾性エネルギーUelim2を以下の数式(8)により求める。
【0053】
【数10】

【0054】
ここでAはロボットと障害物との平均的な接触面積であって,ロボットが動作中に接触し得る環境中の障害物を抽出した上で,ロボットと抽出された障害物とが接触した場合を想定して設定する量である。前記弾性エネルギーUelim2が求まったら,これに1よりも十分小さい正の安全係数αsafeを乗じたものを閾値wthとする。
即ち、wth=αsafeelim1
以上のような構成とすることで,ロボットが接触し得る障害物が剛体であっても,弾性柔軟材料502の変形によって外部出力仕事量推定値w^[t,T]が増大するため,大きな接触力が発生する前にこれを検出し,停止させることができる。
【実施例3】
【0055】
上記実施例1および2では,動作指令調整部107において外部出力仕事量推定値w^[t,T]が閾値wthを超えたらロボットを即停止させるようにしたが,図6に示した処理によれば,停止指令を発生する前にある程度動作指令の速度を落とすことによって,より安全性を高めることが可能である。図において601は閾値wth2と外部出力仕事量推定値w^[t,T]を比較した結果に応じて以後の処理を分岐する処理,602は動作指令110の時刻をδt’だけ進める処理である。ここで閾値wth2は閾値wthよりも小さな正の数,δt’はδtよりも小さな正の数である。
【0056】
図6の処理は,ロボットと外部環境との接触が発生していなければ所望の動作指令を実行し,ロボットと外部環境との軽微な接触が発生した可能性がある場合は動作指令の速度を遅くし,接触によって比較的大きな接触力が発生した可能性がある場合はロボットを停止させるものである。動作指令の速度を遅くすることでロボット停止までの制動距離を減らすことができるため,実施例1および2より安全性を向上させることができる。
【産業上の利用可能性】
【0057】
本発明は動作中に人間を含む外部環境と接触する恐れがある作業ロボット全般に適用可能である。
【符号の説明】
【0058】
100 指令生成装置
101 サーボモータの制御装置
201 外部出力仕事量推定値を算出する処理
202 分岐処理
203 停止指令出力処理
204 動作指令110の時刻をδtだけ進める処理
205 動作指令110から関節動作指令116を算出する処理
301 押し付け用プローブ
302 力センサ
303 障害物試料
304 押し付け用プローブ301の押し付け方向
305 接触力
401 押し付け用プローブ301の押し付け方向304に沿った変位量に対応する軸
402 接触力305に対応する軸
403 接触力曲線
404 力に対応する直線
405 接触力が発生したとき(非零の値となったとき)の変位量に対応する直線
406 接触力曲線403および直線404および直線405によって囲まれる領域の面積
501 2自由度ロボットアーム
502 弾性柔軟材料
601 分岐処理
602 動作指令110の時刻をδt’だけ進める処理
700 ロボットアーム
701 ロボットアーム700の第1関節
702 ロボットアーム700の第2関節
703 第1の障害物
704 第2の障害物
705 第1関節701の回転の向き
706 第2関節702の回転の向き
707 第1の障害物703からロボットアーム700が受ける接触力
708 第2の障害物704からロボットアーム700が受ける接触力

【特許請求の範囲】
【請求項1】
ロボットの駆動力を制御するロボットの制御装置であって、
所望の動作軌跡と速度を出力する動作指令記憶部と、
前記駆動力が所定時間内に前記ロボットに対してした仕事量である制御仕事量を算出する制御仕事量算出部と、
前記ロボットのエネルギー推定値を算出するエネルギー推定部と、
前記ロボットの前記所定時間内のエネルギー変化の推定値を算出するエネルギー変化推定値算出部と、
前記制御仕事量と前記エネルギー変化推定値とに基づいてロボットへの動作指令速度を調整または停止指令を発生する動作指令調整部と、
を備えたことを特徴とするロボットの制御装置。
【請求項2】
前記制御仕事量算出部は、フィードバックした前記ロボットの関節速度と前記駆動力の積である制御仕事率を所定時間にわたって積分することで前記制御仕事量を算出する
ことを特徴とする、請求項1記載のロボットの制御装置。
【請求項3】
前記エネルギー推定部は、フィードバックした前記ロボットの関節速度および位置と、内蔵する前記ロボットの動力学モデルと、にもとづいて前記エネルギー推定値を算出することを特徴とする、請求項1又は2記載のロボットの制御装置。
【請求項4】
前記エネルギー変化推定値算出部は、所定時間にわたって前記エネルギー推定値を時刻と対応付けて保存するエネルギー推定値履歴保存部を備え、所定時間だけ前のエネルギー推定値を現在のエネルギー推定値から減じたものを前記エネルギー変化推定値として出力する
ことを特徴とする、請求項1〜3のいずれか1項に記載のロボットの制御装置。
【請求項5】
前記動作司令調整部は、前記制御仕事量と前記エネルギー変化推定値との差である外部出力仕事量推定値が所定の第一閾値を超えた場合に停止指令を発生する
ことを特徴とする、請求項1〜4のいずれか1項に記載のロボットの制御装置。
【請求項6】
環境との接触を通知する警報発生部を更に備え、前記制御仕事量と前記エネルギー変化推定値との差である外部出力仕事量推定値が前記第一閾値を超えた場合に警報を発生する
ことを特徴とする、請求項1〜5のいずれか1項に記載のロボットの制御装置。
【請求項7】
前記第一閾値は、
前記ロボットが環境に接触したときに発生する接触力の制限値を前記ロボットが接触し得る環境内物体に印加したときに蓄えられる弾性エネルギーの大きさよりも小さな値である
ことを特徴とする、請求項5または6記載のロボットの制御装置。
【請求項8】
前記第一閾値は、
前記ロボットが環境に接触したときに発生する接触力の制限値を前記ロボット表面に装着した弾性柔軟材料に印加したときに蓄えられる弾性エネルギーの大きさよりも小さな値である
ことを特徴とする、請求項5または6記載のロボットの制御装置。
【請求項9】
前記動作指令調整部は、前記外部出力仕事量推定値が所定の第二閾値を超えた場合に前記動作指令記憶部が出力する動作指令の速度を遅らせたものを出力する
ことを特徴とする、請求項1〜8のいずれか1項に記載のロボットの制御装置。
【請求項10】
前記ロボットはアクチュエータとしてサーボモータを有し、
前記制御仕事量算出部における前記駆動力は前記サーボモータを流れる電流値から算出する
ことを特徴とする、請求項1〜9のいずれか1項に記載のロボットの制御装置。
【請求項11】
前記制御仕事量算出部における駆動力は前記駆動力指令をそのまま用いることを特徴とする、請求項1〜10のいずれか1項に記載のロボットの制御装置。
【請求項12】
前記駆動力は摩擦補償分を除いたものである
ことを特徴とする、請求項1〜11のいずれか1項に記載のロボットの制御装置。
【請求項13】
アームと、
前記アームに内蔵され、請求項1〜12のいずれか1項に記載のロボットの制御装置によって制御されるアーム駆動用のサーボモータと、
ロボットの制御装置からの前記動作指令速度または前記停止指令に基づいてロボットの関節を駆動制御するサーボ制御部と、
を備えたことを特徴とする、ロボット。
【請求項14】
前記アームの表面の一部または全体が弾性柔軟材料で覆われている
ことを特徴とする、請求項13記載のロボット。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate