(57)【特許請求の範囲】
【請求項１】
多関節型のロボットが動作する動作領域空間を、立方体状の単位空間の集合として捉え、各単位空間の外面を規定する３次元座標値を決定し、
前記単位空間よりもサイズが大きな空間によって、前記ロボットの手先部分を覆うボックス領域を設定し、
前記ロボットの動作を開始させる前に、前記各単位空間の評価を全て「危険」に設定しておき、
前記ロボットが動作することで、前記ボックス領域の内部に全体が含まれた単位空間については、当該単位空間の評価を「安全」に変更することを特徴とするロボットの評価制御方法。
【請求項２】
前記ロボットの関節部分についてもボックス領域を設定し、同様の評価を行うことを特徴とする請求項１記載のロボットの評価制御方法。
【請求項３】
前記単位空間のサイズを、前記ロボットの近傍側に位置するものは大きく設定すると共に、前記ロボットの遠方側に位置するものは小さく設定することを特徴とする請求項１又は２記載のロボットの評価制御方法。
【請求項４】
前記ロボットが動作する際に、評価が「危険」である単位空間を通過する場合は前記ロボットの動作速度が遅くなるように設定し、評価が「安全」である単位空間を通過する場合は前記ロボットの動作速度が速くなるように設定することを特徴とする請求項１ないし３の何れかに記載のロボットの評価制御方法。
【請求項５】
前記ロボットの動作する際の基準時点から、所定時間経過後の前記ロボットの位置を予測し、
前記基準時点の位置から前記所定時間経過後の予測位置までの前記ボックス領域の移動軌跡を予測すると、前記移動軌跡に少なくとも一部が含まれる各単位空間について順次評価を行い、
それらのうち評価が「危険」である単位空間が存在する場合は、前記単位空間を通過するまでは前記ロボットの動作速度が遅くなるように設定し、
全ての単位空間の評価が「安全」である場合，又は評価が「危険」である単位空間を通過した後の全ての単位空間の評価が「安全」である場合は、前記予測位置までの前記ロボットの動作速度が速くなるように設定することを特徴とする請求項１ないし３の何れかに記載のロボットの評価制御方法。
【請求項６】
多関節型のロボットが動作する動作領域空間を、立方体状の単位空間の集合として捉え、各単位空間の外面を規定する３次元座標値を決定する単位空間設定手段と、
前記単位空間よりもサイズが大きな空間によって、前記ロボットの手先部分を覆うボックス領域を設定し、
前記ロボットの動作を開始させる前に、前記各単位空間の評価を全て「危険」に設定しておき、
前記ロボットが動作することで、前記ボックス領域の内部に全体が含まれた単位空間については、当該単位空間の評価を「安全」に変更する空間評価手段とを備えることを特徴とするロボットの制御装置。
【請求項７】
前記空間評価手段は、前記ロボットの関節部分についてもボックス領域を設定し、同様の評価を行うことを特徴とする請求項６記載のロボットの制御装置。
【請求項８】
前記単位空間設定手段は、前記単位空間のサイズを、前記ロボットの近傍側に位置するものは大きく設定すると共に、前記ロボットの遠方側に位置するものは小さく設定することを特徴とする請求項６又は７記載のロボットの制御装置。
【請求項９】
前記ロボットが動作する際に、評価が「危険」である単位空間を通過する場合は前記ロボットの動作速度が遅くなるように設定し、評価が「安全」である単位空間を通過する場合は前記ロボットの動作速度が速くなるように設定する動作速度設定手段を備えたことを特徴とする請求項６ないし８の何れかに記載のロボットの制御装置。
【請求項１０】
前記ロボットが動作する際の基準時点から、所定時間経過後の前記ロボットの位置を予測する位置予測手段を備え、
前記空間評価手段は、前記基準時点から前記所定時間経過後の予測位置までの前記ボックス領域の移動軌跡を予測すると、前記移動軌跡に少なくとも一部が含まれる各単位空間について順次評価を行い、
それらのうち評価が「危険」である単位空間が存在する場合は、前記単位空間を通過するまでは前記ロボットの動作速度が遅くなるように設定し、
全ての単位空間の評価が「安全」である場合，又は評価が「危険」である単位空間を通過した後の全ての単位空間の評価が「安全」である場合は、前記予測位置までの前記ロボットの動作速度が速くなるように設定する動作速度設定手段を備えたことを特徴とする請求項６ないし８の何れかに記載のロボットの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多関節型のロボットが動作する動作領域空間について、危険・安全の評価を行う方法，並びに同様の評価を行う制御装置に関する。
【背景技術】
【０００２】
多関節型のロボットについては、動作時の安全を確保する必要から、その動作位置や動作軌跡がどのように変化するのかを確認することが重要である。そのため、オフラインティーチングだけでなく、ロボットが設置された現場でも、そのロボットを用いてティーチングを行っている。したがって、現場でティーチングを行う間に、ロボットの手先の位置を様々に動かす操作が頻繁に行われる。
【０００３】
ここで、ロボットの軸数が増えるほど、ロボットの手先位置を変化させた場合に姿勢がどのように変化するのかを予測することは難しくなり、非熟練者が操作を行った場合は周辺の設備への衝突が発生するリスクが高くなる。特に、手先の位置をある方向に進めた（進み）後に、その位置を逆方向に戻す（戻り）場合、ロボットは進みの場合に出現させた姿勢と異なる姿勢をとる可能性が高い。
【０００４】
しかしながら、ユーザ（操作者）は、進みの場合の姿勢を既に目にしているため、戻りの場合は単純にその逆の動きになると思い込み易く、姿勢の変化に気づくのが遅くなってしまう。また、そもそも上記のような「戻り」は、位置や動作軌跡のティーチングを試行錯誤する段階で行われるので、注意力も低下しがちになり、ロボットが設備に衝突することは十分に考えられる。
【０００５】
例えば、特許文献１には、ＣＡＤ等からロボットや周辺物体の形状データを読み込んでレイアウト表示し、ケージ領域を設定すると、初期位置での各アームの３Ｄ位置を計算して初期の占有領域を求め、動作シミュレーションを実行して３次元位置を繰り返し計算し占有領域の集合和を求め、ロボットの移動が終了すると、総占有領域，重畳領域，はみ出し領域，非占有領域などを色分け表示して、周辺物体のレイアウト修正やケージ領域の変更等を行なう技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−８１４４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の技術はいわゆる３Ｄシミュレーションであって、現場に臨む以前の段階でロボットの動作が確定し、且つ周辺設備の配置を３Ｄ化するために必要な情報が十分に与えられていることが前提となっている。したがって、上述のように現場においてティーチングを行う場合や、周辺設備の配置に関する情報が十分に与えられない場合には適用できない。
【０００８】
本発明は上記事情に鑑みてなされたものであり、その目的は、ロボットが設置された現場においてティーチングを行う場合に、ユーザがロボットと設備との衝突を回避できるよう支援する評価制御方法，及びロボットの制御装置を提供することにある。
【課題を解決するための手段】
【０００９】
請求項１記載のロボットの評価制御方法によれば、多関節型のロボットが動作する動作領域空間を立方体状の単位空間の集合として捉え、各単位空間の外面を規定する３次元座標値を決定すると、単位空間よりもサイズが大きな空間によってロボットの手先部分を覆うボックス領域を設定する。そして、ロボットの動作を開始させる前に、各単位空間の評価を全て「危険」に設定しておき、ロボットが動作することでボックス領域の内部に全体が含まれた単位空間については、当該単位空間の評価を「安全」に変更する。
【００１０】
すなわち、ロボットの動作を開始させる前の段階では、ロボット周辺の設備の配置状況などが不明であると仮定して全ての単位空間の評価を「危険」に設定しておく。そして、ロボットが動作を開始すると、その動作に伴い手先部分を覆うボックス領域が動作領域空間の内部を移動するが、その結果、ボックス領域の内部に全体が含まれた単位空間については危険がないと推定されるので、評価を「安全」に変更する。これにより、ロボットを動作させて、その手先が動作領域空間内の様々な位置に到達するようになると、単位空間の評価は、当初の「危険」から「安全」に変更されるものが次第に増加する。したがって、ロボットが設置された現場においてティーチングを行う際に、動作領域空間の安全性を評価しながら行うことができるので、ユーザが、評価が「危険」である単位空間を通過させる場合に注意を払うことで、周辺の設備との衝突を回避することが可能となる。
【００１１】
請求項２記載のロボットの評価制御方法によれば、ロボットの関節部分についてもボックス領域を設定し、ロボットが動作する場合に姿勢が変化して関節が通過する単位空間についても同様に評価するので、ユーザは、ロボットの姿勢の変化についても注意を払うことができる。
【００１２】
請求項３記載のロボットの評価制御方法によれば、単位空間のサイズを、ロボットの近傍側に位置するものは大きく設定すると共に、ロボットの遠方側に位置するものは小さく設定する。すなわち、ロボットを現場に設置する場合に、その近傍には障害物がないことが前提で設置するはずなので、近傍側にある単位空間はサイズを大きくし、遠方側にある単位空間はサイズを小さくすることで、衝突が発生する可能性が比較的高い遠方側の空間部分について評価を詳細に行うことができる。
【００１３】
請求項４記載のロボットの評価制御方法によれば、ロボットが動作する際に、評価が「危険」である単位空間を通過する場合は動作速度を遅く設定し、評価が「安全」である単位空間を通過する場合は動作速度を速く設定する。すなわち、評価が「危険」である単位空間は、実際に障害物が存在するか否かが不明であると見做してロボットの動作速度を遅くし、ユーザに当該領域の通過状況を確認する余裕を与えることができる。
一方、評価が「安全」となった単位空間については再度の通過に全く問題がないので、ロボットの動作速度を速くする。したがって、ユーザがロボットを不用意に動作させて、評価が「危険」の単位空間をロボットが通過する際に、ユーザが危険と判断すれば動作を停止する等の処置を行う時間を十分に取れるため、衝突を回避する可能性を高めることができる。
【００１４】
請求項５記載のロボットの評価制御方法によれば、ロボットが動作する際の基準時点から所定時間経過後のロボットの位置を予測し、基準時点の位置から所定時間経過後の予測位置までのボックス領域の移動軌跡を予測すると、移動軌跡に少なくとも一部が含まれる各単位空間について順次評価を行う。そして、評価が「危険」である単位空間が存在する場合は当該単位空間を通過するまでは動作速度が遅くなるように設定し、全ての単位空間の評価が「安全」である場合，又は評価が「危険」である単位空間を通過した後の全ての単位空間の評価が「安全」である場合は、予測位置までの前記ロボットの動作速度が速くなるように設定する。
【００１５】
したがって、請求項４と同様に、ユーザがロボットを不用意に動作させて、評価が「危険」の単位空間をロボットが通過する際に、ユーザが危険と判断すれば動作を停止する等の処置を行い、衝突を回避できる。そして、ロボットが基準時点の位置から所定時間経過後の予測位置まで移動する間にボックス領域と交錯する単位空間の評価をある程度まとめて行うことで、動作速度の決定もある程度包括的に行うことができる。
【図面の簡単な説明】
【００１６】
【図１】第１実施例であり、キューブの評価処理を示すフローチャート
【図２】ロボットの動作速度を決定する処理を示すフローチャート（ジョイスティック操作の場合）
【図３】図２相当図（変数移動の場合）
【図４】ロボット本体にボックス領域Ｂ１，Ｂ２を設定した状態を示す図
【図５】動作領域空間にキューブを設定した状態を示す図
【図６】動作領域空間の平面図
【図７】垂直多関節型ロボットのシステム構成を示す図
【図８】機能ブロック図
【図９】第２実施例であり、動作領域空間の平面図
【発明を実施するための形態】
【００１７】
（第１実施例）
以下、第１実施例について図１ないし図８を参照して説明する。図７は、垂直多関節型（６軸）ロボットのシステム構成を示す。このロボット本体１は、ベース（回転軸）２上に、この場合６軸のアームを有している。前記ベース２上には、第１関節Ｊ１を介してショルダ部３が回転可能に連結されている。このショルダ部３には、第２関節Ｊ２を介して上方に延びる下アーム４の下端部が回転可能に連結され、さらに、この下アーム４の先端部には、第３関節Ｊ３を介して第１上アーム５が回転可能に連結されている。
この第１上アーム５の先端には第４関節Ｊ４を介して第２上アーム６が回転可能に連結され、この第２上アーム６の先端には第５関節Ｊ５を介して手首７が回転可能に連結され、この手首７には第６関節Ｊ６を介してフランジ８が回転可能に連結されている。なお、各関節Ｊ１〜Ｊ６においては、サーボモータ２６（図８参照）によりショルダ部３〜フランジ８を回転駆動する。
【００１８】
ロボット本体１と制御装置（コントローラ，単位空間設定手段，空間評価手段，動作速度設定手段）１１との間は、接続ケーブル１２によって接続されている。これにより、ロボット本体１の各軸を駆動するサーボモータは、制御装置１１により制御される。制御装置１１には、パーソナルコンピュータ（パソコン）１３がケーブル１４を介して接続され、パソコン１３との間で、ロボット本体１の手先の現在位置の送信や動作コマンドの受信など、高速通信を実行するようになっている。パソコン１３には、メモリやハードディスクなどの記憶装置（記憶手段）が内蔵されている。
【００１９】
ジョイスティック１５は、ケーブル１６を介してパソコン１３に接続されている。ユーザ（操作者）は、ジョイスティック１５を操作して倒した方向により、ロボット本体１の手先（フランジ８の先端，ＴＣＰ：Tool Center Point）の移動方向を指示する。その指示方向は、パソコン１３を介して制御装置１１に伝達され、制御装置１１は、ロボット本体１の手先をＸＹ平面上で指示された方向に移動させるように制御する。
制御装置１１は、図８に示すように、ＣＰＵ２１と、駆動回路２２と、位置検出回路２３とを備えて構成されている。ＣＰＵ２２には、システムプログラムや動作プログラムを作成するためのロボット言語などを記憶するＲＯＭ２４及び動作プログラムなどを記憶するＲＡＭ２５が接続されていると共に、図示しない通信インターフェイスを介してパソコン１３が接続されている。
【００２０】
位置検出回路２３は、ショルダ部３〜フランジ８の位置を検出するためのもので、各軸の駆動源であるサーボモータ２６に設けられているロータリエンコーダ２７が接続されている。位置検出回路２３は、ロータリエンコーダ２７から入力される検出信号に基づいて各軸の回転角度を検出し、それら検出した位置検出情報をＣＰＵ２１に出力する。そして、ＣＰＵ２１は、動作プログラムに基づいてショルダ部３〜フランジ８を動作させる際に、位置検出回路２３から入力する位置検出情報をフィードバック信号として、各軸のサーボモータ２６を駆動する。
【００２１】
次に、本実施例の作用について図１ないし図６を参照して説明する。本実施例では、図５に示すように、ロボット本体１が動作する領域を、立方体状の単位空間（以下、キューブと称す）を３次元的に積み上げたものとして設定しており、各キューブを構成する６面，或いは１２本の直線を規定する３次元座標値が決定されている。すなわち、制御装置１１のソフトウェア上で、そのように仮想されている。
【００２２】
一方、ロボット本体１については、図４に示すように、手先（手首７；第６関節Ｊ６を含む）と肘に相当する関節Ｊ３部分とをそれぞれ覆うようにして、ボックス領域Ｂ１，Ｂ２が設定されている（キューブと同様にソフトウェア上で仮想されている）。例えばボックス領域Ｂ１の中心は手先に設定されており、ボックス領域Ｂ２の中心は、関節Ｊ３の軸上で、下アーム４，第１上アーム５それぞれの厚さ寸法を加えた１／２となる位置に設定されている。
【００２３】
この場合、ボックス領域Ｂ１，Ｂ２の体積（サイズ）は、キューブの体積よりも大きく設定されており、例えば１０００倍程度となっている。そして、ロボット本体１を動作させることで、手先；フランジ８や肘；関節Ｊ３の位置が変化すると、その位置の変化に応じてボックス領域Ｂ１，Ｂ２の位置もソフトウェア上で変化する。したがって、ロボット本体１が動作すれば、図５及び図６に示すように、ボックス領域Ｂ１，Ｂ２は複数のキューブと接触若しくは交錯することになる。
そして、制御装置１１は、ロボット本体１が動作する際に、各キューブが「危険」か「安全」かを評価する。ロボット本体１が動作を開始する前のデフォルトの状態では、全てのキューブを「危険」に設定しておく。そして、ロボット本体１が動作することでボックス領域Ｂ１，Ｂ２が仮想的に移動した結果、ボックス領域Ｂ１，Ｂ２の何れかに全てが内包されたキューブについては「安全」と評価する。
【００２４】
図１は、ティーチングを行う場合に、制御装置１１のＣＰＵ２１を中心とする上記の評価処理の内容を示すフローチャートである。ロボット本体１の手先を目的位置に向かって移動を開始させ（ステップＳ１）、次の指令値に移動させる（ステップＳ２）。そして、移動させた位置において、各軸のロータリエンコーダ２７から入力される検出信号に基づき各軸の回転角度を検出し、現時点の手先及び肘の位置を特定すると、それらに応じたボックス領域Ｂ１，Ｂ２の動作領域空間内の位置を特定する。更に、ボックス領域Ｂ１，Ｂ２と、キューブとの接触状態（位置関係）を確認する（ステップＳ３）。
【００２５】
すなわち、ボックス領域Ｂ１，Ｂ２と一部が接触した、若しくはボックス領域Ｂ１，Ｂ２の内部に全体が取り込まれた状態にあるキューブについて、既に「安全」と評価されたキューブか否かを判断する（ステップＳ４）。初期状態では全てが「危険」と評価されているので（ＮＯ）、続いて、キューブがボックス領域Ｂ１，Ｂ２に全て内包されているか否かを判断する（ステップＳ５）。
【００２６】
ステップＳ５で「ＹＥＳ」と判断されたキューブについては、評価を「安全」に変更し（ステップＳ６）、「ＮＯ」と判断されたキューブについては、評価を変更せずステップＳ７に移行する。尚、ステップＳ４において、既に「安全」と評価されたキューブである場合も（ＹＥＳ）ステップＳ７に移行する。そして、ボックス領域Ｂ１，Ｂ２の周辺に係る，及びその内部のキューブ全てについてＳ４及びＳ５のチェックを行ったか否かを判断し（ステップＳ７）、全てをチェックしていなければ（ＮＯ）ステップＳ４に戻る。
ステップＳ７において全てのキューブをチェックした場合は（ＹＥＳ）、続くステップＳ８において、ロボット本体１の手先が目的位置に到達したか否かを判断する。目的位置に到達していなければ（ＮＯ）ステップＳ２に戻り、目的位置に到達していれば（ＹＥＳ）処理を終了する。
【００２７】
ここで、図６は、動作領域空間の平面図であり、ロボット本体１の手先が位置Ｐ１から位置Ｐ２（図中では、ボックス領域Ｂ１の位置として示している。）に移動した場合を示す。尚、各キューブについてもここでは２次元的に存在しているとみなし、それぞれの位置をＣ（１，１）〜Ｃ（１１，１０）のマトリクス表示で示す。また、上記の配列は、図５に示すキューブの配列とは一致していない。
【００２８】
手先が位置Ｐ１から位置Ｐ２に移動することに伴い、ボックス領域Ｂ１，Ｂ２も移動する。その際に、ボックス領域Ｂ１，Ｂ２の内部に全てが包含されたキューブ，クロスハッチングで示す例えばＣ（２，８），Ｃ（３，４），Ｃ（６，２）等については、当該キューブをロボット本体１が問題なく通過できたことを示すので、「安全」と評価できる。  一方、ボックス領域Ｂ１，Ｂ２が移動した際に、それらと一部分だけが交錯したキューブ，ハッチングで示す例えばＣ（１，８），Ｃ（２，４），Ｃ（７，２）等については安全性が十分に確認できたとは言えないので、評価を「危険」のままとして変更しない。図１の処理は、このようにして各キューブの評価を行うものである。
【００２９】
また、図２は、各キューブの評価に応じて、ロボット本体１の手先の移動速度を変化させる処理を示すフローチャートであり、ユーザがジョイスティック１５を操作して移動方向を指示する場合に対応する。ユーザがジョイスティック１５を何れかの方向に倒すと（ステップＳ１１）、手先を、その操作により指示された方向に移動させた８ｍ秒（所定時間）後の移動位置を予測する（ステップＳ１２）。そして、その予測した位置まで移動する間に接触・交錯するキューブを把握する（ステップＳ１３）。ここで「８ｍ秒」は、ロボット本体１を動作させる場合に移動位置を制御するためのサンプリング時間に相当するもので、個別の設計に応じて適宜変更すれば良い。
【００３０】
それから、次に接触する予定のキューブをチェックし（ステップＳ１４）、そのキューブの評価が「安全」か否かを判断する（ステップＳ１５）。当該キューブの評価が「安全」であれば（ＹＥＳ）、ステップＳ１３で把握した全てのキューブについてチェックしたか否かを判断し（ステップＳ１６）、全てをチェックしていなければ（ＮＯ）ステップＳ１４に戻る。また、全てをチェックした場合は（ＹＥＳ）、ロボット本体１の動作速度を高速（当初の設定速度）にして（ステップＳ１７）移動させる。それから、ジョイスティック１５がユーザにより倒されたままの状態にあるか否かを判断し（ステップＳ１８）、倒されたままであれば（ＹＥＳ）ステップＳ１２に戻り、倒されていなければ（ＮＯ）処理を終了する。
【００３１】
一方、ステップＳ１５において、次に接触する予定のキューブの評価が「危険」であれば（ＮＯ）、ロボット本体１の動作速度を低速（例えば最高動作速度の１０％）にして（ステップＳ１９）移動させる。それから、ステップＳ１８に移行する。したがって、ロボット本体１が、ステップＳ１２の基準時点における位置から８ｍｓ後の予測位置に到達するまでの間に、ボックス領域Ｂ１，Ｂ２と交錯する全てのキューブのうち、「危険」と評価されているものがあれば、ロボット本体１は、当該キューブを通過するまでは低速で移動する。また、基準時点における位置から，若しくは「危険」と評価されたキューブを通過してから予測位置に到達するまでの間に交錯する全てのキューブが「安全」と評価されていれば、ロボット本体１は高速で移動することになる。
【００３２】
また、図３は、ジョイスティック１５を用いることなく、ユーザがロボット本体１の移動先を座標値で指定入力した場合（変数移動）の図２相当図である。指定された位置に移動を開始すると（ステップＳ２１）、ステップＳ１２と同様に、現在位置から指定された位置に向かう軌跡上で８ｍ秒後の移動位置を予測する（ステップＳ２２）。以降のステップＳ２３〜Ｓ２９は、ステップＳ１３〜Ｓ１９と略同様の処理となるが、ステップＳ２８では、指定位置に到達したか否かを判断する。
【００３３】
以上のように本実施例によれば、ロボット本体１が動作する動作領域空間を、立方体状の単位空間であるキューブの集合として捉え、各キューブの外面を規定する３次元座標値を決定すると、キューブよりもサイズが大きな空間によって、ロボット本体１の手先部分を覆うボックス領域Ｂ１を設定する。そして、ロボット本体１の動作を開始させる前に各キューブの評価を全て「危険」に設定しておき、ロボット本体１が動作することでボックス領域Ｂ１の内部に全体が含まれたキューブについては、当該キューブの評価を「安全」に変更するようにした。
【００３４】
したがって、ロボット本体１が設置された現場においてティーチングを行う際に、動作領域空間の安全性を評価しながら行うことができるので、ユーザが、評価が「危険」であるキューブを通過させる場合に注意を払うことで、周辺の設備との衝突を回避可能となるように支援することができる。また、ロボット本体１の肘関節部分についてもボックス領域Ｂ２を設定し、ロボット本体１が動作する場合に姿勢が変化して肘関節が通過するキューブも同様に評価するので、ユーザは、ロボット本体１の姿勢の変化に関しても注意を払うことができる。
【００３５】
更に、ロボット本体１が動作する際に、評価が「危険」であるキューブを通過する場合は動作速度を遅く設定し、評価が「安全」であるキューブを通過する場合は動作速度を速く設定するので、評価が「危険」であるキューブを通過する際には、ユーザに当該領域の通過状況を確認する余裕を与えることができ、ユーザが危険と判断すれば動作を停止する等の処置を行う時間を十分に取れるため、衝突を回避する可能性を高めることができる。一方、評価が「安全」となったキューブについては再度の通過に全く問題がないので、ロボット本体１の動作速度を速くする。
【００３６】
そして、ロボット本体１が動作する際の基準時点から所定時間経過後のロボット本体１の位置を予測し、基準時点の位置から所定時間経過後の予測位置までのボックス領域Ｂ１，Ｂ２の移動軌跡を予測すると、移動軌跡に少なくとも一部が含まれる各キューブについて順次評価を行う。そして、評価が「危険」であるキューブが存在する場合は当該キューブを通過するまでは動作速度が遅くなるように設定し、全てのキューブの評価が「安全」である場合，又は評価が「危険」であるキューブを通過した後の全てのキューブの評価が「安全」である場合は、予測位置までのロボット本体１の動作速度が速くなるように設定した。したがって、ロボット本体１が予測位置まで移動する間にボックス領域Ｂ１、Ｂ２と交錯するキューブの評価をある程度まとめて行うことで、動作速度の決定もある程度包括的に行うことができる。
【００３７】
（第２実施例）
図９は第２実施例であり、第１実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分について説明する。第１実施例では、キューブの大きさ（体積）を全て等しく設定したが、第２実施例では、図９に示すように、ロボット本体１の近傍に位置するキューブの体積を比較的大きく設定し、ロボット本体１から遠方に位置するキューブの体積を比較的小さく設定する。すなわち、ロボット本体１を設置する場合、一般に、その近傍の空間には障害物等がない場所を選んで設置するはずであるから、キューブの体積を大きく設定しても問題はない。
【００３８】
一方、ロボット本体１から遠方の空間では、ロボット本体１が動作することで障害物等に接触する可能性がより高くなるので、キューブの体積をより小さく設定して「安全」，「危険」の評価を詳細に行うようにする。以上のように第２実施例によれば、キューブのサイズを、ロボット本体１の近傍側に位置するものは大きく設定すると共に、ロボット本体１から遠方側に位置するものは小さく設定するので、衝突が発生する可能性が比較的高い遠方側の空間部分について評価を詳細に行うことができる。
【００３９】
本発明は、上記し、又は図面に記載した実施例にのみ限定されるものではなく、以下のような変型又は拡張が可能である。
ボックス領域を、第２関節Ｊ２部分にも設定しても良い。
また、ボックス領域は、少なくとも手先部分だけに設定すれば良い。
キューブとボックス領域との体積比は、大小関係を維持した上で適宜変更して良い。
ロボット本体１の動作速度について低速の設定は、最高動作速度の１０％に限ることなく、安全を確保するために必要な範囲で適宜変更して良い。
【００４０】
ロボット本体１の動作速度を高速，低速に切り替える場合の決定処理は、図２又は図３に限ることなく、ロボット本体１を移動させながら次に接触・交錯する予定のキューブの評価に従い、遂次動作速度を切り替えても良い。
【符号の説明】
【００４１】
図面中、１はロボット本体、１１は制御装置（単位空間設定手段，空間評価手段，動作速度設定手段）を示す。
【図１】
0005541020.tif 000002
【図２】
0005541020.tif 000003
【図３】
0005541020.tif 000004
【図４】
0005541020.tif 000005
【図５】
0005541020.tif 000006
【図６】
0005541020.tif 000007
【図７】
0005541020.tif 000008
【図８】
0005541020.tif 000009
【図９】
0005541020.tif 000010