(57)【特許請求の範囲】
【請求項１】
複数の関節及び複数のリンクを有する可動部と、
前記複数の関節の少なくとも一つを駆動するアクチュエータと、
前記アクチュエータの可動範囲を記憶する記憶装置と、
前記可動範囲内において前記アクチュエータの制御目標値を生成する目標値生成部と、
前記制御目標値にしたがって前記アクチュエータを駆動させる駆動部と、
物体との接触又は衝突を検出する検出器と、
前記検出器が検出した検出結果から、前記接触又は衝突したときの力が加えられた方向への前記アクチュエータの動作を制限するように前記可動範囲を変更する可動範囲変更部と、
前記接触又は衝突の状態を確認するカメラ
とを備え、
前記可動範囲変更部が、前記カメラにより前記接触又は衝突が終了したことが確認されたときに、前記接触又は衝突から一定時間経過後に前記変更した可動範囲を変更前の可動範囲に戻すことを特徴とする制御装置。
【請求項２】
前記可動範囲変更部が、
前記力が加えられた方向から関節角速度を算出し、
前記関節角速度から前記可動範囲の変更量を決定する
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記可動範囲変更部が、前記力の大きさの関数として前記可動範囲の変更量を計算することを特徴とする請求項１に記載の制御装置。
【請求項４】
前記検出結果から前記力が加えられた方向を算出する力算出部を更に備えることを特徴とする請求項１に記載の制御装置。
【請求項５】
複数の関節及び複数のリンクを有する可動部を制御する制御方法であって、
記憶装置に記憶している前記複数の関節の少なくとも一つを駆動するアクチュエータの可動範囲内において前記アクチュエータの制御目標値を生成するステップと、
前記制御目標値にしたがって前記アクチュエータを駆動させるステップと、
検出器を用いて物体との接触又は衝突を検出するステップと、
前記検出器が検出した検出結果から、前記接触又は衝突したときの力が加えられた方向への前記アクチュエータの動作を制限するように前記可動範囲を変更するステップと、
前記接触又は衝突が終了したことをカメラを用いて確認するステップと、
前記接触又は衝突が終了したことが確認されたときに、前記接触又は衝突から一定時間経過後に前記変更した可動範囲を変更前の可動範囲に戻すステップ
とを含むことを特徴とする制御方法。
【請求項６】
複数の関節及び複数のリンクを有する可動部を制御するプログラムであって、
記憶装置に記憶している前記複数の関節の少なくとも一つを駆動するアクチュエータの可動範囲内において前記アクチュエータの制御目標値を生成させる命令と、
前記制御目標値にしたがって前記アクチュエータを駆動させる命令と、
検出器を用いて物体との接触又は衝突を検出させる命令と、
前記検出器が検出した検出結果から、前記接触又は衝突したときの力が加えられた方向への前記アクチュエータの動作を制限するように前記可動範囲を変更させる命令と、
前記接触又は衝突が終了したことをカメラを用いて確認させる命令と、
前記接触又は衝突が終了したことが確認されたときに、前記接触又は衝突から一定時間経過後に前記変更した可動範囲を変更前の可動範囲に戻させる命令
とを制御装置に実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、本発明は、ロボットを制御する制御装置、制御方法及びプログラムに関する。
【背景技術】
【０００２】
人の生活する空間内において稼働させることを目的とした人間共存ロボットでは、運動を行う際にその安全性を十分に考慮する必要があり、特に複数関節とリンクから構成される可動部、例えばアームと、人や物体との衝突を検出し、更にその後の運動を安全に生成させる方法が重要となる。
【０００３】
多くの場合、ロボットに加えられた力を検出し、衝突したと判定した後は、非常停止をしてその続きの運動を取りやめてしまうか、或いは衝突直前の姿勢に戻る、回避のための新たな運動を生成するといった手法がとられる。又、衝突を検出する手段として、関節に取り付けるトルクセンサや、接触したかどうかの判定のみの接触センサでは、力が加えられた方向が分からない。力が加えられた方向を検出する力センサでも、通常、ロボットの詳細な数学的モデルによる計算が必要となる（例えば、特許文献１及び２参照。）。
【０００４】
上記の問題点としては、衝突を検出後、非常停止のみを行う場合、その続きの行動を行わなければ作業性が落ちる。又、直前の姿勢に戻る場合においても、可動範囲を変更しなければ再び衝突する可能性が高い。又、常に接触を伴うような作業を行うロボットの制御において上述したような制御手法では対応できない。更に、力を正確に検出する手段を有するロボットにおいては、正確な数学的モデルを考慮した上で安全性を考慮したアームの運動を生成する必要があるが、この場合、多大な計算量を必要とする。このように、ロボットの衝突後の運動を早い応答且つ簡易に実現することは困難である。
【特許文献１】特開２００６−２１２８７号公報
【特許文献２】特開２００３−７１７７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、ロボットの衝突後の運動を早い応答且つ簡易に実現可能な制御装置、制御方法及びプログラムを提供する。
【課題を解決するための手段】
【０００６】
本願発明の一態様によれば、（イ）複数の関節及び複数のリンクを有する可動部と、（ロ）複数の関節の少なくとも一つを駆動するアクチュエータと、（ハ）アクチュエータの可動範囲を記憶する記憶装置と、（ニ）可動範囲内においてアクチュエータの制御目標値を生成する目標値生成部と、（ホ）制御目標値にしたがってアクチュエータを駆動させる駆動部と、（ヘ）検出器を用いて物体との接触又は衝突を検出する検出器と、（ト）検出器が検出した検出結果から、接触又は衝突したときの力が加えられた方向へのアクチュエータの動作を制限するように可動範囲を変更する可動範囲変更部と、（チ）接触又は衝突の状態を確認するカメラとを備え、可動範囲変更部が、カメラにより接触又は衝突が終了したことが確認されたときに、接触又は衝突から一定時間経過後に変更した可動範囲を変更前の可動範囲に戻す制御装置が提供される。
【０００７】
本願発明の他の態様によれば、複数の関節及び複数のリンクを有する可動部を制御する制御方法であって、（イ）記憶装置に記憶している複数の関節の少なくとも一つを駆動するアクチュエータの可動範囲内においてアクチュエータの制御目標値を生成するステップと、（ロ）制御目標値にしたがってアクチュエータを駆動させるステップと、（ハ）検出器を用いて物体との接触又は衝突を検出するステップと、（ニ）検出器が検出した検出結果から、接触又は衝突したときの力が加えられた方向へのアクチュエータの動作を制限するように可動範囲を変更するステップと、（ホ）接触又は衝突が終了したことをカメラを用いて確認するステップと、（ヘ）接触又は衝突が終了したことが確認されたときに、接触又は衝突から一定時間経過後に変更した可動範囲を変更前の可動範囲に戻すステップとを含む制御方法が提供される。
【０００８】
本願発明の更に他の態様によれば、複数の関節及び複数のリンクを有する可動部を制御するプログラムであって、（イ）記憶装置に記憶している複数の関節の少なくとも一つを駆動するアクチュエータの可動範囲内においてアクチュエータの制御目標値を生成させる命令と、（ロ）制御目標値にしたがってアクチュエータを駆動させる命令と、（ハ）検出器を用いて物体との接触又は衝突を検出させる命令と、（ニ）検出器が検出した検出結果から、接触又は衝突したときの力が加えられた方向へのアクチュエータの動作を制限するように可動範囲を変更させる命令と、（ホ）接触又は衝突が終了したことをカメラを用いて確認させる命令と、（ヘ）接触又は衝突が終了したことが確認されたときに、接触又は衝突から一定時間経過後に変更した可動範囲を変更前の可動範囲に戻させる命令とを制御装置に実行させるプログラムが提供される。
【発明の効果】
【０００９】
本発明によれば、ロボットの衝突後の運動を早い応答且つ簡易に実現可能な制御装置、制御方法及びプログラムを提供することができる。
【発明を実施するための最良の形態】
【００１０】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。ただし、図面は模式的なものであり、具体的な寸法等は以下の説明を参酌して判断すべきものである。又、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることはもちろんである。
【００１１】
又、以下に示す実施の形態は、この発明の技術的思想を具体化するための装置や方法を例示するものであって、この発明の技術的思想は、構成部品の材質、形状、構造、配置等を下記のものに特定するものでない。この発明の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
【００１２】
（制御装置）
本発明の第１の実施の形態に係る制御装置は、図１に示すように、複数の関節及び複数のリンクから構成される可動部を有するロボット２を制御する制御装置において、複数の関節の少なくとも一を駆動するアクチュエータ４と、アクチュエータ４の可動範囲を記憶する記憶装置５と、記憶された可動範囲内においてアクチュエータ４の制御目標値を生成する目標値生成部１３と、制御目標値にしたがってアクチュエータ４を駆動させる駆動部１４と、ロボット２と物体との接触又は衝突を検出する検出器３と、検出結果から、接触又は衝突したときの力が加えられた方へのロボット２の動作を制限するように可動範囲を変更する可動範囲変更部１２とを備える。
【００１３】
駆動部１４、目標値生成部１３及び可動範囲変更部１２は、モジュールとして中央演算処理装置（ＣＰＵ）１に含まれる。目標値生成部１３、駆動部１４、可動範囲変更部１２は、ハードウェア資源であるモジュール（論理回路）としてＣＰＵ１に論理的に備えられている。ＣＰＵ１は更に、検出器３の検出結果からロボット２に加えられた力の大きさや力の方向を算出する力算出部１１を備える。力算出部１１は、ハードウェア資源としてのモジュール（論理回路）である。
【００１４】
図１に示した制御装置により制御されるロボット２は、図２に示すように、胴体（ベース）２０と、ベース２０に取り付けられ、複数の関節２１，２３と複数のリンク２２，２４から構成される可動部（アーム）を備える。複数の関節２１，２３は、図１に示したアクチュエータ４等により駆動される。検出器３は、例えばロボット２のアームの先端部に取り付けられている。
【００１５】
図１に示した記憶装置５は、予め設定された初期のアクチュエータ４の可動範囲、及び可動範囲変更部１２により変更されたアクチュエータ４の可動範囲を記憶する。記憶装置５としては、例えば半導体メモリ、磁気ディスク、光ディスク、光磁気ディスクや磁気テープ等が採用可能である。
【００１６】
検出器３は、ロボット２と物体（障害物）３との衝突又は接触を検出する。検出器３としては、ロボット２が衝突したときの力が加えられた方向及び力の大きさを検出できる力センサや、関節に取り付けるトルクセンサや、接触したかどうか判定する接触センサが使用可能である。
【００１７】
図２に示すように、衝突前においてロボット２のアームの先端は方向Ｄ１に運動を行っていたとする。そしてアームの先端が（障害物）６と衝突したとき、検出器３が力センサであれば、方向Ｄ２に加えられた力が検知される。
【００１８】
図１に示した力算出部１１は、検出器３がトルクセンサや接触センサである場合には、検出器３の検出結果に基づき、ロボット２が衝突する直前のリンク２２，２４の運動から、ロボット２に加えられた力の大きさ及び力が加えられた方向を算出（推定）する。なお、検出器３として力センサ（６軸センサ）を採用した場合には、検出器３により力の大きさ及び力が加えられた方向Ｄ２を検出することができるので、力算出部１１は省略することができる。
【００１９】
目標値生成部１３は、記憶装置５に記憶されている可動範囲を読み出して、可動範囲内においてアクチュエータ４の制御目標値を生成する。図３に示すように、初期の可動範囲は最小値θminと最大値θmaxの間で定義され、関節角の制御目標値θは式（１）のように初期の可動範囲内に設定される。
【数１】
0005208470.tif 000002
【００２０】
駆動部１４は、目標値生成部１３により生成された制御目標値θとアクチュエータ４の現在値との偏差に基づきアクチュエータ４を駆動する。
【００２１】
可動範囲変更部１２は、検出器３に検出又は力算出部１１により算出された力が加えられた方向から、各関節２１，２３の関節角速度を算出する。ここで、関節角θとアームの手先の位置ｘの関係は、式（２）のように回転行列の積Ｔで表される。
【数２】
0005208470.tif 000003
【００２２】
式（２）を時間微分すると、式（３）のように表される。
【数３】
0005208470.tif 000004
【数４】
0005208470.tif 000005
【数５】
0005208470.tif 000006
【００２３】
即ち、より安全性の高い運動を生成することができるようになる。
【００２４】
更に、可動範囲変更部１２は、可動範囲変更量Δθを用いて、力が加えられた方向Ｄ２へのロボット２の動作を制限するように可動範囲を変更する。例えば図３において関節角θ＝θαのときに衝突が起こったとする。
【数６】
0005208470.tif 000007
【数７】
0005208470.tif 000008
【００２５】
図１に示した目標値生成部１３は、変更された可動範囲内においてアクチュエータ４の制御目標値θを生成する。このように可動範囲を変更することにより、図２に示すようにアームの先端は方向Ｄ２への動作を制限され、方向Ｄ３へ動作する。
【００２６】
（可動範囲変更方法）
次に、検出器３として力センサを用いた場合の可動範囲変更方法の一例を、図４のフローチャートを参照しながら説明する。
【００２７】
ステップＳ１０１において、検出器（力センサ）２１が、ロボット２のアームの手先の負荷荷重（力）を検出する。
【００２８】
ステップＳ１０２において、力算出部１１が、検出器３により検出された手先の負荷荷重（力）から、関係式を用いて関節軸の負荷トルクを算出する。
【００２９】
ステップＳ１０３において、可動範囲変更部１２が、力算出部１１により算出された関節軸の負荷トルクを引数として可動範囲変更量を算出する。
【００３０】
ステップＳ１０４において、可動範囲変更部１２が、可動範囲変更量に基づき可動範囲を変更する。
【００３１】
（制御方法）
次に、本発明の実施の形態に係る制御方法を、図５のフローチャートを参照しながら説明する。
【００３２】
（イ）ステップＳ１１において、目標値生成部１３が、記憶装置５から初期の可動範囲を読み出して、初期の可動範囲内で制御目標値θを生成する。ステップＳ１２において、駆動部１４が、目標値生成部１３により生成された制御目標値θにしたがってアクチュエータ４を駆動する。
【００３３】
（ロ）ステップＳ１３において、検出器３が物体６に加えられた力を検出すると、ステップＳ１４において、可動範囲変更部１２が、記憶装置５に記憶されているアクチュエータ４の可動範囲を読み出して、検出器３により検出した力の方向へのアクチュエータ４の動作を制限するようにアクチュエータ４の可動範囲を変更する。変更した可動範囲は記憶装置５に記憶される。
【００３４】
（ハ）ステップＳ１５において、目標値生成部１３が、記憶装置５から変更した可動範囲を読み出して、変更した可動範囲内で制御目標値θを生成する。ステップＳ１６において、駆動部１４が、制御目標値θにしたがってアクチュエータ４を駆動する。ステップＳ１７において、ロボット２の動作が終了したら制御を終了し、ロボット２が動作中であればステップＳ１３に戻り、動作が終了するまで衝突の検出を繰り返す。
【００３５】
本発明の実施の形態によれば、ロボットと人や物との接触・衝突を検出して、可動部の運動を生成することができる。この結果、衝突後に非常停止せずにロボット２の運動を継続させることができるので、作業効率を維持することができる。更に、力が加えられた方向への運動を回避することができるので、衝突した物体６と再び衝突する可能性を抑制することができる。
【００３６】
又、ロボット２と衝突する可能性のあるものの明確な数学的モデルを用意する必要がなく、又、アームの手先のならい運動のような平面拘束問題に応用できる。
【００３７】
原理的には関節角速度の正確な値は繰り返し計算等により算出できるが、ここでは可動範囲の切り分けをしているので、衝突時における関節部の移動方向（力が加えられた方向）が重要である。したがってアクチュエータ４の速度の正負が分かれば十分であるから、高い精度の繰り返し計算を行わない場合でも十分であることから計算量の節約が見込める。
【００３８】
又、検出器３を複数用いても良い。この場合、検出器３が力センサであれば、衝突時の力が加えられた方向をより正確に検知することができる。又、検出器３が接触センサやトルクセンサであれば、力算出部１１により衝突時の力が加えられた方向をより正確に推定することができる。ただし、検出器３の数が増えれば、処理するための計算量が増大するので、ロボット２の処理能力に見合った検出手段・検出範囲とその処理手段を作業に応じて選択することが重要である。
【００３９】
（プログラム）
図５に示した一連の手順、即ち：記憶装置５に記憶している可動範囲内において、複数の関節の少なくとも一を駆動するアクチュエータ４の制御目標値θを生成するステップ；制御目標値θにしたがってアクチュエータ４を駆動させるステップ；ロボット２と物体６との接触又は衝突を検出するステップ；検出結果から、力が加えられた方向へのロボット２の動作を制限するように可動範囲を変更するステップ；変更した可動範囲内において、アクチュエータ４の制御目標値θを生成するステップ；制御目標値θにしたがってアクチュエータ４を駆動させるステップ；等は、図４と等価なアルゴリズムのプログラムにより、図１に示した制御装置を制御して実行出来る。このプログラムは、本発明の制御装置を構成するコンピュータシステムの記憶装置５に記憶させればよい。又、このプログラムは、コンピュータ読取り可能な記録媒体に保存し、この記録媒体を制御装置の記憶装置５に読み込ませることにより、本発明の実施の形態の一連の手順を実行することができる。更に、インターネット等の情報処理ネットワークを介して、この記憶装置５に格納することが可能である。
【００４０】
（第１の変形例）
本発明の実施の形態の第１の変形例として、可動範囲を動的・一時的に変更する場合のロボット２の制御方法を、図６のフローチャートを参照しながら説明する。
【００４１】
（イ）ステップＳ２１において、ロボット２の制御中に検出器３が衝突を検出すると、ステップＳ２２において、可動範囲変更部１２が可動範囲を変更する。可動範囲の変更方法は、実施の形態と実質的に同様であるので、重複した説明を省略する。
【００４２】
（ロ）ステップＳ２３において、ロボット２の衝突状態が終了したか判断する。この状況判断は、例えばロボット２に取り付けたカメラで確認する等すれば良い。衝突状態が終了したと判断した場合、ステップＳ２４において初期の可動範囲に戻す。
【００４３】
（ハ）ステップＳ２５において、ロボット２の制御が終了したら、処理を完了する。ロボット２の制御が終了していなければ、ステップＳ２１に戻り、ロボット２の制御が終了するまで衝突の検出を繰り返す。
【００４４】
本発明の実施の形態の第１の変形例によれば、一時的な障害物、或いは動的な障害物にリアルタイムに対応することができる。
【００４５】
更に、衝突だけでなく、収納型アーム等においても応用できる。即ち収納時と展開時においてアームの可動範囲は変更されることになるが、これを簡単に切り替えることができる。
【００４６】
又、ステップＳ２３において、一定時間が経過したか判断し、一定時間が経過するとステップＳ２４において初期の可動範囲に戻るようにしても良い。一定時間が経過することにより衝突の可能性が低くなってから作業性の高い運動を再び行うことが可能である。
【００４７】
（第２の変形例）
本発明の実施の形態の第２の変形例として、検出器３として接触センサをロボット２のアームのリンク２２，２４全体にわたって備える場合を説明する。接触センサはそれがリンクのどの部分であるかの位置情報を保持していれば、接触センサが接触を検出すると、その位置がアームの先端であるかのように考えると、本発明の実施の形態と全く同じように力を検知又は推定することができる。ここで、「全体にわたって」とは、リンク２２，２４の表面の所定の範囲に間隔をもって複数の接触センサを設ける場合を含む。
【００４８】
次に、本発明の実施の形態の第２の変形例に係る可動範囲変更方法を、図７のフローチャートを参照しながら説明する。
【００４９】
（イ）ステップＳ２０１において、検出器（接触センサ）３が、物体６との接触を検出する。
【００５０】
（ロ）ステップＳ２０２において、力算出部１１が、検出器（接触センサ）３により検出された接触位置及び接触したときのアームの動きに基づき、力が加えられた方向を算出する。
【００５１】
（ハ）ステップＳ２０３において、力算出部１１が、物体６と接触したリンク（例えばリンク２２）よりベース２０に近い方向にある関節（以下において「変更該当関節」という。）２１の負荷トルクを算出する。
【００５２】
（ニ）ステップＳ２０４において、可動範囲変更部１２が、負荷トルクに基づき変更該当関節２１に対応する可動範囲変更量Δθを算出する。
【００５３】
（ホ）ステップＳ２０５において、可動範囲変更部１２が、可動範囲変更量Δθに基づき、力が加えられた方向へのアクチュエータ４の動作を制限するようにアクチュエータ４の可動範囲を変更する。
【００５４】
本発明の実施の形態の第２の変形例によれば、接触位置よりもベース２０に近い関節２１に対応する可動範囲を変更し、接触位置よりも手先方向に位置する関節に対応する可動範囲を制限する必要がない。このため、接触位置よりも手先方向の関節はそのまま動作させることが可能である。
【００５５】
又、ロボット２のアームのリンク２２，２４全体にわたって検出器（接触センサ）３を備えている場合でも接触検出範囲を作業によって変更することにより、計算量とのトレードオフに対応することができる。
【００５６】
（その他の実施の形態）
上記のように、本発明は実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
【００５７】
更に、制御装置は、ＣＰＵ１及び記憶装置５がロボット２の内部に埋め込まれて一体化されていても良い。又、ＣＰＵ１及び記憶装置５はロボット２の外部にあり、有線或いは無線で遠隔制御することも可能である。
【００５８】
このように、本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施の形態に係る制御装置の論理的な構成の一例を示すブロック図である。
【図２】本発明の実施の形態に係るロボットの一例を示すブロック図である。
【図３】本発明の実施の形態に係るアクチュエータの可動範囲を変更するための概略図である。
【図４】本発明の実施の形態に係る可動範囲変更量算出方法の一例を説明するためのフローチャートである。
【図５】本発明の実施の形態に係る制御方法の一例を説明するためのフローチャートである。
【図６】本発明の実施の形態の第１の変形例に係る可動範囲変更方法の一例を説明するためのフローチャートである。
【図７】本発明の実施の形態の第２の変形例に係る可動範囲変更量算出方法の一例を説明するためのフローチャートである。
【符号の説明】
【００６０】
１…中央演算処理装置（ＣＰＵ）
２…ロボット
３…アクチュエータ
４…検出器
５…記憶装置
１１…力算出部
１２…可動範囲変更部
１３…目標値生成部
１４…駆動部
２１，２３…関節
２２，２４…リンク
【図１】
0005208470.tif 000009
【図２】
0005208470.tif 000010
【図３】
0005208470.tif 000011
【図４】
0005208470.tif 000012
【図５】
0005208470.tif 000013
【図６】
0005208470.tif 000014
【図７】
0005208470.tif 000015