(57)【要約】【課題】位置偏差が生じた場合であっても安全性を確保することができるロボットの制御方法を提供する。【解決手段】実施形態の制御方法では、制御上の目標位置である指令位置（Ｐｃ）と実際の位置である現在位置（Ｐ０）とのずれを示す位置偏差を取得し、取得した位置偏差が予め設定されている閾値（Δ）を超えている場合、現在位置（Ｐ）と指令位置（Ｐｃ）との間に新たな修正指令位置（Ｐｎ）を設定し、修正指令位置（Ｐｎ）まで移動した後、現在の修正指令位置（Ｐｎ）を現在位置（Ｐ）として、指令位置（Ｐｃ）との間に新たな修正指令位置（Ｐｎ）を再設定し、現在位置（Ｐ）が指令位置（Ｐｃ）となるまで修正指令位置（Ｐｎ）の再設定を繰り返すことにより、現在位置（Ｐ）から指令位置（Ｐｃ）まで移動させる。【選択図】図４
2020044610.tif 000002
【特許請求の範囲】
【請求項１】
制御上の目標位置である指令位置と、実際の位置である現在位置とのずれを示す位置偏差を取得し、
取得した位置偏差が予め設定されている閾値を超えている場合、現在位置と指令位置との間に新たな修正指令位置を設定し、
修正指令位置まで移動した後、現在の修正指令位置を現在位置として指令位置との間に新たな修正指令位置を再設定し、
現在位置が指令位置となるまで修正指令位置の再設定を繰り返すことにより、現在位置から指令位置まで移動させることを特徴とするロボットの制御方法。
【請求項２】
安全性が確保されると想定される移動速度の最大値を最大速度として予め求めておき、
閾値を、指令位置の更新周期と最大速度との積として設定し、
修正指令位置を、現在位置から閾値だけ離間した位置に設定することを特徴とする請求項１記載のロボットの制御方法。
【請求項３】
制御上の目標位置である指令位置と、実際の位置である現在位置とのずれを示す位置偏差を取得し、
取得した位置偏差が予め設定されている閾値を超えている場合、現在位置から指令位置まで移動させる際の速度指令値の上限が、位置制御により現在位置から指令位置まで移動させたと仮定した際の速度指令値の最大値よりも低くなる新たな速度パターンを生成し、
生成した新たな速度パターンにより現在位置から指令位置まで移動させることを特徴とするロボットの制御方法。
【請求項４】
制御上の目標位置である指令位置と、実際の位置である現在位置とのずれを示す位置偏差を取得し、
取得した位置偏差が予め設定されている閾値を超えている場合、移動方向を拘束する拘束面が設定されているダイレクトティーチ中であれば、現在位置から拘束面への投影位置を新たな指令位置として再設定し、
現在位置から指令位置まで移動させることを特徴とするロボットの制御方法。
【請求項５】
移動速度を等速で移動させることを特徴とする請求項１から４のいずれか一項記載のロボットの制御方法。
【請求項６】
移動速度を変化させながら移動させることを特徴とする請求項１から４のいずれか一項記載のロボットの制御方法。
【請求項７】
移動速度が零となる位置または区間を設けて移動させることを特徴とする請求項１から６のいずれか一項記載のロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの制御方法に関する。
【背景技術】
【０００２】
従来の産業用ロボットは、位置制御が行われている状態で障害物に接触したり外力が加わったりして指令位置と現在位置とがずれる位置偏差が生じた場合、指令位置に復帰しようする。その際、位置偏差が大きい場合には、例えば速度指令値が発散つまりは上限に達してしまい、ロボットの姿勢が急激に変化することになる。そのため、一般的には、所定の閾値を超えるような大きな位置偏差が生じた場合には異常と判定して動作を停止する異常検出機能が有効化されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−７０２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、近年では、ロボットの周囲に安全柵等を配置せず、人とロボットとが協力して働くことを可能とする協働ロボットが設置されることがある。
【０００５】
このような協働ロボットは、本質安全という考え方の下、発生トルクが従来の産業用ロボットよりも原理的に小さく設計されている。そのため、協働ロボットは、予期せぬ障害物に接触したり人が意図せずに触れてしまったりして外力が加わると、その外力に打ち勝つだけのトルクを発生させることができず、従来の産業用ロボットに比べて大きな位置偏差が生じてしまう可能性が高くなっている。
【０００６】
また、協働ロボットは、人がロボットに直接的に触れて教示を行うダイレクトティーチ時には、位置制御が有効なままで、力覚センサやトルクセンサ等によって外力を検出し、外力に倣う方向への指令位置を更新して出力するといった処理が行われているが、外力を位置指令に変換して出力するまでの間に人によってロボットの姿勢がさらに変化させられることが想定されるため、大きな位置偏差が生じ易いと考えられる。
この場合、異常検出機能を停止させたり、閾値を大きくして異常と判定されないようにしたりすることが考えられる。
【０００７】
しかしながら、異常検出機能を停止させてしまうと安全性が低下してしまうことから、採用することは困難である。かといって、閾値を大きくすると、上記したように速度指令値が発散するおそれがあり、その場合には、例えばダイレクトティーチ中であれば位置偏差が生じていることに気づかずに教示動作を継続してふと手を離した瞬間や、通常の作業時であれば意図せずに協働ロボットと接触してしまった瞬間等に、人の近傍でロボットが急激に動作することから、やはり安全性の低下を招くおそれがある。
【０００８】
本発明は上記事情に鑑みてなされたものであり、その目的は、位置偏差が生じた場合であっても安全性を確保することができるロボットの制御方法を提供することにある。
【課題を解決するための手段】
【０００９】
請求項１記載の発明では、制御上の目標位置である指令位置と、実際の位置である現在位置とのずれを示す位置偏差を取得し、取得した位置偏差が予め設定されている閾値を超えている場合、現在位置と指令位置との間に新たな修正指令位置を設定し、修正指令位置まで移動した後、現在の修正指令位置を現在位置として指令位置との間に新たな修正指令位置を再設定し、現在位置が指令位置となるまで修正指令位置の再設定を繰り返すことにより、現在位置から指令位置まで移動させる。
【００１０】
ロボットが指令位置に復帰する際に安全性が懸念されるのは、前述のように速度指令値等が発散してロボットが急激に移動を開始するためであると推測される。そのため、ロボットの急な移動を抑制することができれば、安全性が損なわれることを抑制できると考えられる。
【００１１】
そこで、現在位置と指令位置との間に修正指令位置を設定し、現在位置から修正指令位置までの移動を繰り返しながら、当初の指令位置まで移動させる制御方法を採用している。これにより、現在位置から１回の指令で移動する距離が短くなることから、つまりは、位置偏差が少なくなることから、速度指令値等が大きく変化することが防止され、急激な速度変化等を抑制することができる。したがって、位置偏差が生じた場合であっても安全性を確保することができる。
【００１２】
請求項２記載の発明では、安全性が確保されると想定される移動速度の最大値を最大速度として予め求めておき、閾値を、指令位置の更新周期と最大速度との積として設定し、修正指令位置を、現在位置から閾値だけ離間した位置に設定する。
【００１３】
これにより、修正指令位置は、事前に安全性を確保できる位置に設定されることになり、位置偏差が生じた場合であっても安全性を確保することができる。この場合、閾値は、安全を確保できると考えられる距離の最大値となることから、修正指令位置を現在位置から閾値だけ離間した位置に設定することにより、最小回数の移動で当初の指令位置に復帰することが可能となり、生産性や作業性が悪化することを抑制できる。
【００１４】
請求項３記載の発明では、制御上の目標位置である指令位置と、実際の位置である現在位置とのずれを示す位置偏差を取得し、取得した位置偏差が予め設定されている閾値を超えている場合、現在位置から指令位置まで移動させる際の速度指令値の上限が、位置制御により現在位置から指令位置まで移動させたと仮定した際の速度指令値の最大値よりも低くなる新たな速度パターンを生成し、生成した新たな速度パターンにより現在位置から指令位置まで移動させる。
【００１５】
通常の位置制御によって現在位置から指令位置まで移動させる場合、最短時間で移動させようとすることから、速度指令値が許容されている最大値となるような速度パターンが生成される。その場合、前述のように速度指令値等が発散してロボットが急激に移動して安全性が損なわれるおそれがある。
【００１６】
そこで、移動時の速度指令値の上限が、許容されている最大値よりも低くなる新たな速度パターンを生成し、生成した新たな速度パターンにより現在位置から指令位置まで移動させることにより、速度指令値等の大きな変化を抑制でき、位置偏差が生じて現在位置から指令位置まで移動させる場合の安全性を確保することができる。
【００１７】
請求項４記載の発明では、制御上の目標位置である指令位置と、実際の位置である現在位置とのずれを示す位置偏差を取得し、取得した位置偏差が予め設定されている閾値を超えている場合、移動方向を拘束する拘束面が設定されているダイレクトティーチ中であれば、現在位置から拘束面への投影位置を新たな指令位置として再設定し、現在位置から指令位置まで移動させる。
【００１８】
ダイレクトティーチは、人が直接的にロボットの姿勢を変化させて動作位置を教示することから、例えばアームを真っ直ぐに移動させようとしても、若干のずれが生じることが想定される。また、そのずれは、平面方向だけでなく、上下方向にも生じることが想定される。そのため、ダイレクトティーチ時には、上記したずれが生じることを想定して、予め移動方向を例えば所定の平面内に拘束することがある。以下、移動方向が拘束されている平面を拘束面と称する。
【００１９】
しかし、例えば協働ロボットの場合、人の力に逆らうだけのトルクを出力できず、拘束面を設定してもその拘束面からずれてしまうことが想定される。ただし、ダイレクトティーチ時には、人が操作していることに鑑みれば、位置偏差が生じていても、その位置偏差は人が意図的に発生させたものであると考えることができ、当初の指令位置まで移動させる必要はないと考えられる。
【００２０】
そこで、位置偏差が生じている場合において、ダイレクトティーチ中であれば、現在位置から拘束面への投影位置を新たな指令位置として再設定し、現在位置から再設定した指令位置まで移動させる。拘束面が設定されているということは、人はその拘束面内に現在位置を設定したいと考えていることであるため、拘束面に投影した位置を新たな指令位置とすることにより、人の意図に沿って移動させることができ、無駄な移動を抑制することができる。
【００２１】
請求項５記載の発明では、上記した制御方法の下、移動速度を等速で移動させる。この場合、急激な速度の変化等が抑制されているため、等速で移動させたとしても安全性を確保することができる。
【００２２】
請求項６記載の発明では、移動速度を変化させながら移動させる。この場合、急激な速度の変化等が抑制されているため安全性を確保することができる。また、例えばダイレクトティーチ中に手を離した際にロボットが移動すると、誤作動を疑ってしまうおそれがあるが、移動速度を変化させることにより、視覚的あるいは触覚的に指令位置に復帰していることを明示することができる。
【００２３】
請求項７記載の発明では、移動速度が零となる位置または区間を設けて移動させる。この場合、急激な速度の変化等が抑制されているため安全性を確保することができる。また、例えばダイレクトティーチ中に手を離した際にロボットが移動すると、誤作動を疑ってしまうおそれがあるが、移動速度を変化させることにより、視覚的あるいは触覚的に指令位置に復帰していることをより確実に明示することができる。この場合、例えば想定される最大値の１０％以下の範囲等、移動速度の変化が大きく且つ視覚的にも把握しやすい速度であればよく、必ずしも移動速度が零にする必要はない。これは、区間を設定する場合も同様である。
【図面の簡単な説明】
【００２４】
【図１】第１実施形態によるロボットの構成を模式的に示す図
【図２】位置偏差が生じた状態の一例を模式的に示す図
【図３】位置偏差が生じる理由を説明する図
【図４】修正指令位置（Ｐｎ）を設定する態様を模式的に示す図
【図５】生成する速度パターンの例を模式的に示す図
【図６】第２実施形態によるロボットの構成を模式的に示す図
【発明を実施するための形態】
【００２５】
以下、複数の実施形態について図面を参照しながら説明する。なお、各実施形態において実質的に共通する部位には同一符号を付して説明する。
（第１実施形態）
以下、第１実施形態について、図１から図５を参照しながら説明する。
【００２６】
図１に示すように、本実施形態のロボット１は、垂直多関節型のいわゆる６軸ロボットであり、コントローラ２によって制御されている。ロボット１は、ベース１ａ上に第１軸（Ｊ１）を介して連結されているショルダ１ｂ、ショルダ１ｂに第２軸（Ｊ２）を介して連結されている下アーム１ｃ、下アーム１ｃに第３軸（Ｊ３）を介して連結されている第一上アーム１ｄ、第一上アーム１ｄに第４軸（Ｊ４）を介して連結されている第二上アーム１ｅ、第二上アーム２ｅに第５軸（Ｊ５）を介してオフセットして連結されている手首１ｆ、手首１ｆに第６軸（Ｊ６）を介して連結されているフランジ１ｇを備えている。なお、図１に示す構成は一例であり、例えばいわゆる７軸ロボットや、手首１ｆがオフセットしていない６軸ロボットであってもよい。
【００２７】
以下、フランジ１ｇの中心を中心位置と称し、ロボット１の現在の姿勢における中心位置を現在位置（Ｐ）と称し、ロボット１の制御上の目標位置つまりはロボット１を位置制御する際の中心位置を指令位置（Ｐｃ）と称する。また、ロボット１の姿勢が変化する際にフランジ１ｇの中心位置の位置や向きが変化する態様を、単に移動すると称する。
【００２８】
このロボット１は、フランジ１ｇに作業用のハンド３が取り付けられ、コントローラ２によって姿勢が制御されながら動作する。このとき、コントローラ２は、周知のようにロボット１の関節部に設けられている図示しないモータを回転駆動することにより、ロボット１を任意の姿勢に制御する。
【００２９】
このコントローラ２は、ロボット１に設けられている図示しない力覚センサやトルクセンサ等により、ロボット１に加わる外力を検出可能に構成されている。そして、コントローラ２は、人がロボット１のアーム等に直接的に触れて姿勢を変化させることにより作業位置を教示するダイレクトティーチ時には、位置制御を有効としたままで、加えられた外力に倣う方向への指令位置を更新して出力することにより、ロボット１の姿勢つまりはフランジ１ｇの中心位置とその向きの制御とを行っている。
【００３０】
また、コントローラ２は、詳細は後述するが、指令位置（Ｐｃ）と現在位置（Ｐ）との間に位置のずれつまりは位置偏差が生じた場合、その位置偏差を解消するための処理を実行する。
次に、上記した構成の作用について説明する。
【００３１】
上記したように、ロボット１は、発生可能なトルクが小さいため、位置制御が行われている状態であっても、人が手で触れた状態でアームを動かそうとするような外力が加えられると、その外力によって姿勢が変化する。そのため、ロボット１は、万が一人と接触しても安全性を確保でき、また、ダイレクトティーチを容易に行うことができるようになる一方で、図２に示すように指令位置（Ｐｃ）と現在位置（Ｐ）とがずれてしまう位置偏差が発生し易くなっている。
【００３２】
具体的には、人が作業中に意図せずにロボット１に接触してしまったり、手に持っていた治具等がロボット１に接触したりすることにより、指令位置（Ｐｃ）と現在位置（Ｐ）とがずれる可能性がある。
【００３３】
あるいは、ダイレクトティーチ時においては、図３に示すように、位置制御により設定した指令位置（Ｐｃ）と実際の現在位置（Ｐ）とがずれる可能性がある。これは、ダイレクトティーチ時には、コントローラ２は、初期位置（Ｐ０）にて外力（Ｆ０）が加えられたことを検出すると、外力に倣って姿勢を変化させるために、図３に示すように、外力に倣う方向に外力に応じて指令位置（Ｐ０）を設定し、ロボット１を初期位置（Ｐ０）から指令位置（Ｐ０）まで移動させるために、例えば速度指令値等の位置指令を出力する。
【００３４】
このとき、ロボット１は人の力によって移動していることから、検出した外力（Ｆ０）に応じた位置指令を出力する前、あるいは、位置指令を出力してから目標位置（Ｐｃ）に到達するまでの間に人がさらにロボット１を移動させることにより、現在位置（Ｐ）が指令位置（Ｐｃ）を超えてしまう可能性がある。
【００３５】
また、人の手でロボット１を移動させる際には、真っ直ぐに移動させたつもりでも若干曲がることが十分に想定されるため、現在位置（Ｐ０）が当初の外力（Ｆ０）の向きとは異なる向きになり、指令位置（Ｐｃ）と現在位置（Ｐ）とがずれる可能性もある。また、ロボット１を移動させようとして力を加えた後にその力を緩めた場合には、所望の位置よりも前方に指令位置が設定されてしまい、手を止めた位置よりも先に進んでしまうといったことも想定される。
【００３６】
このように、協働ロボットとしてのロボット１は、大きな位置偏差が生じ易くなっている。そして、位置偏差が生じている場合には、コントローラ２は、ロボット１が正しく指令値（Ｐｃ）に位置するように、現在位置（Ｐ０）から指令位置（Ｐｃ）まで移動させることになる。
【００３７】
このとき、位置偏差が大きいと、前述のように例えば速度指令値が発散してロボット１の姿勢が急激に変化してしまい、ロボット１の近傍に存在することが想定される人が危険にさらされるおそれがある。そのため、従来では大きな位置偏差が生じた場合には異常と判定して動作を停止する異常検出機能を有効化していた。
【００３８】
しかし、異常検出機能を有効化していると、上記したように大きな位置偏差が生じ易いと想定されるダイレクトティーチ時にロボット１が停止してしまい、教示作業が大きく遅れてしまうといった問題が生じる。かといって、異常検出機能を停止すると安全性を確保できず、閾値を大きくして異常と判定されないようにすると、上記したように速度指令値の発散を招き、やはり安全性の低下を招くおそれがある。特に、ダイレクトティーチ中においては、人がロボット１に触れていることから、位置偏差が生じていることに気づかずに教示動作を継続してふと手を離した瞬間にロボット１が急激に動作してしまう。
【００３９】
そこで、本実施形態では、以下に説明する幾つかの制御方法により、位置偏差が生じた場合における安全性を確保している。以下、各制御方法について個別に説明する。また、以下の制御方法は、コントローラ２で制御プログラムを実行することにより行われるが、ここでは説明の簡略化のため、ロボット１を主体として説明する。
【００４０】
＜指令位置を再設定する制御方法＞
まず、指令位置を再設定する制御方法について説明する。ロボット１は、図４に示すように、現在位置（Ｐ）と指令位置（Ｐｃ）との間に位置偏差が生じていると判定すると、より厳密には、現在位置（Ｐ）と指令位置（Ｐｃ）との間の距離（Ｌ）が予め設定されている閾値（ΔＬ）を超えていると判定すると、現在位置（Ｐ）と指令位置（Ｐｃ）との間であって、現在位置（Ｐ）から指令位置（Ｐｃ）に向かう経路（Ｒ）上において、現在位置（Ｐ）から閾値（ΔＬ）だけ離間した位置に、新たな指令位置（以下、修正指令位置（Ｐｎ）と称する）を設定する。
【００４１】
このとき、閾値（ΔＬ）は、想定される最大速度を下に、修正指令位置を設定する。具体的には、ロボット１の大きさや形状、機械的要素、あるいは実際に行う作業内容等に基づいて、ロボット１の運用を開始する際に、安全性を確保できると判断できる移動速度の最大値（以下、最大速度と称する）を予め設定する。そして、設定した最大速度と指令位置（Ｐｃ）の更新周期つまりは制御周期との積を取ることにより、更新周期中に現在位置（Ｐ）から安全性を確保した状態で移動可能な距離を求め、それを閾値に設定する。
【００４２】
つまり、ロボット１は、安全性を確保できると想定される最大の距離を予め閾値（ΔＬ）として設定しておき、位置偏差が閾値（ΔＬ）を超えた場合には、指令位置（Ｐｃ）から現在位置（Ｐ）への移動時に安全性を損なうおそれがあると判定して、安全性を確保できる最大距離つまりは閾値（ΔＬ）だけ現在位置（Ｐ）から離間した位置を、新たな指令位置である修正指令位置（Ｐｎ）として設定する。
【００４３】
そして、ロボット１は、現在位置（Ｐ）から修正指令位置（Ｐｎ）まで移動するための位置指令がコントローラ２で生成および出力されると、安全性を確保した状態で、修正指令位置（Ｐｎ）まで移動する。修正指令位置（Ｐｎ）まで移動すると、ロボット１は、移動後の修正指令位置（Ｐｎ）が現在位置（Ｐ）になることから、再び当初の指令位置（Ｐｃ）との間の位置偏差が閾値（ΔＬ）を超えているかを判定し、閾値（ΔＬ）を超えている場合には修正指令位置（Ｐｎ）を再度設定することを繰り返しながら、当初の指令位置（Ｐｃ）まで移動する。
【００４４】
これにより、ロボット１は、現在位置（Ｐ）と指令位置（Ｐｃ）との間に位置偏差が生じている場合であっても、安全性を確保した状態で指令位置（Ｐｃ）まで移動することが可能になる。このとき、１回に移動する際の位置偏差が少なくなることから、速度指令値等が大きく変化することが防止され、急激な速度変化等を抑制することができる。また、修正指令位置（Ｐｎ）は、安全性を確保できる最大距離である閾値（ΔＬ）だけ離間した位置に設定されるため、最短時間で当初の指令位置（Ｐｃ）まで移動することができ、作業性を大きく損なうこともない。
【００４５】
閾値（ΔＬ）は、上記したように予め安全性を検討することにより設定することもできるが、実際の作業時の挙動を見ながら適切な値となるように変更する構成とすることもできる。また、最大速度は、上記したように安全性を確保できると想定される値を用いることができるが、本質安全で設計されている協働ロボットの場合には、自動モードつまりは教示済みの動作を再現する通常の動作時の位置制御により移動する際の最大速度も、安全性が確保されていると想定される。そのため、指令位置を再設定して細かな移動を繰り返す場合には、自動モード時の最大速度に基づいて閾値（ΔＬ）を設定することもできる。
【００４６】
＜速度パターンを生成する制御方法＞
次に、速度パターンを生成する制御方法について説明する。なお、上記した指令位置を再設定する制御方法も、実質的に速度パターンを再生成する制御方法の一部と考えることができる。
【００４７】
ロボット１は、現在位置（Ｐ）と指令位置（Ｐｃ）との間に位置偏差が生じている場合、指令位置（Ｐｃ）まで移動しようとする。このとき、ロボット１は、図５に自動モード時として示すように、通常の位置制御による自動モード時には、許容される移動速度の最大値（Ｖｍａｘ）を上限とし、できるだけ短期間で移動が可能な速度パターン（Ｇ０）を生成する。
【００４８】
この場合、ロボット１が急速に移動速度の最大値（Ｖｍａｘ）まで到達することからロボット１が急激に移動することになる。なお、極近距離の移動の場合には移動速度が最大値（Ｖｍａｘ）に達しないことも想定されるが、一般的には図示したような台形パターンとなることが多い。
【００４９】
そこで、ロボット１は、現在位置（Ｐ）と指令位置（Ｐｃ）との間の位置偏差が予め設定されている閾値を超えている場合、図５に等速復帰として示すように、現在位置（Ｐ）から指令位置（Ｐｃ）まで移動させる際の速度指令値の上限（Ｖｈｉｇｈ）を移動速度の最大値（Ｖｍａｘ）以下に設定し、指令位置（Ｐｃ）まで等速で移動可能な新たな速度パターン（Ｇ１０）を生成する。
【００５０】
これにより、速度指令値の上限（Ｖｈｉｇｈ）が最大値（Ｖｍａｘ）よりも低いことから、移動時には相対的に低速で移動するとともに、現在位置（Ｐ）から急激な速度変化をすることもなくなる。したがって、現在位置（Ｐ）と指令位置（Ｐｃ）との間に位置偏差が生じている場合であっても、安全性を確保した状態で指令位置（Ｐｃ）まで移動すること、すなわち、指令位置（Ｐｃ）に復帰することが可能になる。
【００５１】
あるいは、ロボット１は、図５に緩急復帰その１として示すように、現在位置（Ｐ）から指令位置（Ｐｃ）まで移動させる際の速度指令値の上限（Ｖｈｉｇｈ）を移動速度の最大値（Ｖｍａｘ）以下に設定し、指令位置（Ｐｃ）まで移動する間に移動速度が変化する態様つまりは移動速度に緩急を持たせた新たな速度パターン（Ｇ１１）を生成する。
【００５２】
これにより、速度指令値の上限（Ｖｈｉｇｈ）が最大値（Ｖｍａｘ）よりも低いことから、移動時には相対的に低速で移動するとともに、現在位置（Ｐ）から急激な速度変化をすることもなくなる。さらに、移動中に速度が変化することから、視覚的あるいはダイレクトティーチ中であれば触覚的に、指令位置（Ｐｃ）への復帰中であることを認識可能になる。したがって、安全性を確保した状態で指令位置（Ｐｃ）まで移動させることが可能になるとともに、誤作動ではないことを視覚的あるいは触覚的に容易に人に認識させることができる。
【００５３】
この場合、ロボット１は、図５に緩急復帰その２として示すように、移動速度が零、あるいは、上限（Ｖｈｉｇｈ）の例えば１０％以下の範囲等、移動速度の変化が大きく視覚的にも把握しやすい態様の新たな速度パターン（Ｇ１２）を生成することもできる。このような速度パターンを生成することにより、安全性を確保した状態で指令位置（Ｐｃ）まで移動させることが可能になるとともに、指令位置（Ｐｃ）への復帰中であることをより確実に認識させることが可能になる。
【００５４】
さらに、ロボット１は、図５に緩急復帰その３として示すように、移動速度が零、あるいは、上限（Ｖｈｉｇｈ）の例えば１０％未満等の状態が所定期間継続される態様の新たな速度パターンを生成することもできる。このような速度パターン（Ｇ１３）を生成することにより、安全性を確保した状態で指令位置（Ｐｃ）まで移動させることが可能になるとともに、指令位置（Ｐｃ）への復帰中であることをより確実に認識させることが可能になる。
【００５５】
以上説明した制御方法によれば、つぎのような効果を得ることができる。
ロボット１の制御方法では、制御上の目標位置である指令位置（Ｐｃ）と実際の位置である現在位置（Ｐ０）とのずれを示す位置偏差を取得し、取得した位置偏差が予め設定されている閾値（ΔＬ）を超えている場合、現在位置（Ｐ）と指令位置（Ｐｃ）との間に新たな修正指令位置（Ｐｎ）を設定し、修正指令位置（Ｐｎ）まで移動した後、現在の修正指令位置（Ｐｎ）を現在位置（Ｐ）として、指令位置（Ｐｃ）との間に新たな修正指令位置（Ｐｎ）を再設定し、現在位置（Ｐ）が指令位置（Ｐｃ）となるまで修正指令位置（Ｐｎ）の再設定を繰り返すことにより、現在位置（Ｐ）から指令位置（Ｐｃ）まで移動させる。
【００５６】
これにより、１回の移動距離が短くなり、速度指令値等が大きく変化することが抑制されて急激な速度変化等が防止される。したがって、ロボット１は、現在位置（Ｐ）と指令位置（Ｐｃ）との間に位置偏差が生じている場合であっても、また、位置偏差が生じ易い協働ロボットの場合であっても、安全性を確保した状態で指令位置（Ｐｃ）まで移動することが可能になる。
【００５７】
また、ロボット１の制御方法では、安全性が確保されると想定される移動速度の最大値を最大速度として予め求めておき、閾値（ΔＬ）を、指令位置（Ｐｃ）の更新周期と最大速度との積として設定し、修正指令位置（Ｐｎ）を、現在位置（Ｐｃ）から閾値（ΔＬ）だけ離間した位置に設定する。これにより、安全性を確保した状態で、且つ、最短時間で当初の指令位置（Ｐｃ）まで移動することができ、作業性を大きく損なうことを抑制できる。なお、閾値（ΔＬ）は、予め固定値として設定する構成とすることもできる。
【００５８】
また、ロボット１の制御方法では、制御上の目標位置である指令位置（Ｐｃ）と、実際の位置である現在位置（Ｐ）とのずれを示す位置偏差を取得し、取得した位置偏差が予め設定されている閾値を超えている場合、現在位置（Ｐ）から指令位置（Ｐｃ）まで移動させる際の速度指令値の上限（Ｖｈｉｇｈ）が、位置制御により現在位置（Ｐ）から指令位置（Ｐｃ）まで移動させたと仮定した際の速度指令値である最大値（Ｖｍａｘ）よりも低くなる新たな速度パターンを生成し、生成した新たな速度パターンにより現在位置（Ｐ）から指令位置（Ｐｃ）まで移動させる。
【００５９】
これにより、速度指令値の上限（Ｖｈｉｇｈ）が最大値（Ｖｍａｘ）よりも低くなり、移動時には相対的に低速で移動するとともに、現在位置（Ｐ）から急激な速度変化をすることがなくなる。したがって、現在位置（Ｐ）と指令位置（Ｐｃ）との間に位置偏差が生じている場合であっても、安全性を確保した状態で指令位置（Ｐｃ）まで移動すること、すなわち、指令位置（Ｐｃ）に復帰することができる。
【００６０】
この場合、移動速度を変化させながら移動させることができる。これにより、安全性を確保した状態で指令位置（Ｐｃ）まで移動させることが可能になるとともに、誤作動ではないことを視覚的あるいは触覚的に容易に人に認識させることができる。
【００６１】
また、移動速度が零となる位置または区間を設けて移動させることができる。安全性を確保した状態で指令位置（Ｐｃ）まで移動させることが可能になるとともに、誤作動ではないことを視覚的あるいは触覚的により確実に人に認識させることができる。この場合、移動速度を零にするのではなく、上限（Ｖｈｉｇｈ）の例えば１０％未満等、移動速度の変化が大きく視覚的にも把握しやすい態様とすることができる。
【００６２】
また、コントローラ２に指令位置を再設定する再設定部や速度パターンを生成する生成部を設け、指令位置の再設定や速度パターンの生成が可能なロボット１の制御装置によっても、位置偏差が生じた場合であっても安全性を確保することができる。
【００６３】
また、上記した実施形態では指令位置（Ｐｃ）や現在位置（Ｐ）をフランジ１ｇの中心位置により３次元空間上の点として定義する構成について説明したが、指令位置（Ｐｃ）や現在位置（Ｐ）は、アームの各軸の角度により定義する構成とすることができる。そのような構成によっても、上記したように安全に指令位置（ＰＣ）まで復帰させることができ、位置偏差が生じた場合であっても安全性を確保することができる。
【００６４】
（第２実施形態）
以下、第２実施形態について図６を参照しながら説明する。
ダイレクトティーチは、上記したように人が直接的にロボット１の姿勢を変化させて動作位置を教示している。この場合、例えばアームを真っ直ぐに移動させようとしても、人が操作する場合には若干のずれが生じることが想定される。また、そのずれは、平面方向だけでなく、上下方向にも生じることが想定される。
【００６５】
そのため、ダイレクトティーチ時には、上記したずれが生じることを想定して、予め移動方向を例えば直線上あるいは平面内に拘束することがある。以下、移動方向が拘束されている平面を拘束面と称する。しかし、協働ロボットの場合、上記したように人の力に逆らうだけのトルクを出せないため、拘束面が設定されていても、その拘束面からずれてしまうことが想定される。
【００６６】
そして、ダイレクトティーチ時には、人が所望の位置に移動させていることに鑑みると、仮に現在位置（Ｐ）と指令位置（Ｐｃ）との間に位置偏差が生じていても、その位置偏差は人が意図的に発生させたものであることから、当初の指令位置（Ｐｃ）まで移動させる必要はないと考えられる。
【００６７】
そこで、本実施形態では、指令位置（Ｐｃ）と現在位置（Ｐ）とのずれを示す位置偏差を取得し、取得した位置偏差が予め設定されている閾値を超えている場合、移動方向を拘束する例えば図６に示すＸＹ平面のような拘束面（Ｈ）が設定されているダイレクトティーチ中であれば、現在位置（Ｐ）から拘束面（Ｈ）への投影位置（Ｐｓ）を新たな指令位置（Ｐｃ）として再設定し、現在位置（Ｐｃ）から再設定した指令位置（Ｐｃ）まで移動させる。
【００６８】
つまり、ダイレクトティーチ中の場合には、拘束面（Ｈ）に拘束すべきではあるものの、現在位置（Ｐ）は人が意図して移動させた位置であることから、現在位置（Ｐ）を拘束面（Ｈ）に投影した投影位置（Ｐｓ）が、人が希望する目的の位置であるとして、現在位置（Ｐｃ）から投影位置（Ｐｓ）つまりは再設定された指令位置（Ｐｃ）まで移動させることにより、人の意図に沿った位置に移動させることができる。
【００６９】
この場合、第１実施形態のように、現在位置（Ｐｃ）から投影位置（Ｐｓ）の間に修正指令位置（Ｐｎ）を設定して移動させたり、新たな速度パターンを生成して移動させたりすることができる。これにより、ロボット１が移動する際の安全性を確保した状態で、また、拘束面（Ｈ）に復帰していることを認識可能な状態で移動させることができる。
【符号の説明】
【００７０】
図面中、１はロボット、２はコントローラ（制御装置）を示す。
【図１】
2020044610.tif 000003
【図２】
2020044610.tif 000004
【図３】
2020044610.tif 000005
【図４】
2020044610.tif 000006
【図５】
2020044610.tif 000007
【図６】
2020044610.tif 000008