"多関節型のロボットが動作する動作領域空間を、立方体状の単位空間の集合として捉え、各単位空間の外面を規定する3次元座標値を決定し、前記各単位空間を、前記ロボットが通過可能な安全空間と、前記ロボットが通過不能な危険空間との何れかに評価した空間評価データを有し、前記単位空間よりもサイズが大きな立方体状の空間によって、前記ロボットの手先部分を覆うガード領域を設定し、ユーザが、操作手段を介して前記ロボットの手先の移動方向を指示する操作入力を行い、前記手先を前記操作入力に応じた指示方向に移動させ続けると、前記ガード領域が危険空間に進入すると予測される場合は、前記ガード領域と前記危険空間とが接する状態で移動を一旦停止させ、前記ガード領域と前記危険空間とが面で接触する場合は、前記接触する面に平行となる方向を第1候補として、前記手先を前記方向に移動させると前記ガード領域が安全空間に進入する場合は、前記方向に前記単位空間の1辺の距離に相当する単位距離だけ移動させた後、前記指示方向への移動を再試行し、前記ガード領域と前記危険空間とが面で接触しない場合,又は前記第1候補の方向に移動させると前記ガード領域が危険空間に進入する場合は、前記指示方向を、前記ロボットの基準座標系の原点に立つ単位ベクトルで表わして、前記単位ベクトルの方向を3次元座標上で3つの方向ベクトルに成分分解し、前記3つの方向ベクトルの長さを評価して、長さが最長のベクトルの方向を第1方向,それ以外の2つのベクトルを合成した方向を第2方向すると、前記第1方向を、前記手先を次に移動させる第2候補として設定し、前記手先を前記第1方向に移動させると前記ガード領域が前記安全空間に進入する場合は、前記第1方向に前記単位空間の1辺の距離に相当する単位距離だけ移動させた後、前記指示方向への移動を再試行し、前記ガード領域が危険空間に進入する場合は、前記第2方向を基準として前記第1方向を45度回転させた第1回転方向を、前記手先を次に移動させる第3候補として設定し、前記手先を前記第1回転方向に移動させると前記ガード領域が前記安全空間に進入する場合は、前記第1回転方向に前記単位距離の21/2倍だけ移動させた後、前記指示方向への移動を再試行し、前記ガード領域が危険空間に進入する場合は、前記第2方向を基準として前記第1回転方向を更に45度回転させた第2回転方向を、前記手先を次に移動させる第4候補として設定し、前記手先を前記第2回転方向に移動させると前記ガード領域が前記安全空間に進入する場合は、前記第2回転方向に前記単位距離だけ移動させた後、前記指示方向への移動を再試行し、前記ガード領域が危険空間に進入する場合は、その時点で移動を停止させることを特徴とするロボットの移動方向決定方法。前記ガード領域のサイズを変更可能として、前記安全空間内において、前記手先を移動させる速度が上昇するのに応じて前記ガード領域のサイズを段階的に拡大させ、前記安全空間内において、前記手先を移動させる速度が下降するのに応じて前記ガード領域のサイズを段階的に縮小させることを特徴とする請求項1記載のロボットの移動方向決定方法。前記ガード領域のサイズの拡大及び縮小を、前記手先の移動速度の速さに応じて複数段階で行うことを特徴とする請求項2記載のロボットの移動方向決定方法。前記手先を、現在位置が存在する単位空間からnnは自然数個先にある単位空間内にある目標座標まで移動させる際に、前記n個先までの単位空間が安全空間であることを条件として、設定されている前記手先の移動速度により1サンプリングタイムで進む前記単位空間の数をnsnsは自然数とすると、前記ガード領域のサイズをn/nsの値の大きさを基準として決定することを特徴とする請求項2又は3記載のロボットの移動方向決定方法。前記n個先の単位空間が危険空間であれば、前記ガード領域のサイズを1段階だけ拡大させることを特徴とする請求項4記載のロボットの移動方向決定方法。多関節型のロボットが動作する動作領域空間を、立方体状の単位空間の集合として捉え、各単位空間の外面を規定する3次元座標値を決定し、前記各単位空間を、前記ロボットが通過可能な安全空間と、前記ロボットが通過不能な危険空間との何れかに評価した空間評価データが記憶される記憶手段と、前記単位空間よりもサイズが大きな立方体状の空間によって、前記ロボットの手先部分を覆うガード領域を設定するガード領域設定手段と、ユーザが、操作手段を介して前記ロボットの手先の移動方向を指示する操作入力を行い、前記手先を前記操作入力に応じた指示方向に移動させ続けると、前記ガード領域が危険空間に進入すると予測される場合は、前記ガード領域と前記危険空間とが接する状態で移動を一旦停止させ、前記ガード領域と前記危険空間とが面で接触する場合は、前記接触する面に平行となる方向を第1候補として、前記手先を前記方向に移動させると前記ガード領域が安全空間に進入する場合は、前記方向に前記単位空間の1辺の距離に相当する単位距離だけ移動させた後、前記指示方向への移動を再試行し、前記ガード領域と前記危険空間とが面で接触しない場合,又は前記第1候補の方向に移動させると前記ガード領域が危険空間に進入する場合は、前記指示方向を、前記ロボットの基準座標系の原点に立つ単位ベクトルで表わして、前記単位ベクトルの方向を3次元座標上で3つの方向ベクトルに成分分解し、前記3つの方向ベクトルの長さを評価して、長さが最長のベクトルの方向を第1方向,それ以外の2つのベクトルを合成した方向を第2方向すると、前記第1方向を、前記手先を次に移動させる第2候補として設定し、前記手先を前記第1方向に移動させると前記ガード領域が前記安全空間に進入する場合は、前記第1方向に前記単位空間の1辺の距離に相当する単位距離だけ移動させた後、前記指示方向への移動を再試行し、前記ガード領域が危険空間に進入する場合は、前記第2方向を基準として前記第1方向を45度回転させた第1回転方向を、前記手先を次に移動させる第3候補として設定し、前記手先を前記第1回転方向に移動させると前記ガード領域が前記安全空間に進入する場合は、前記第1回転方向に前記単位距離の21/2倍だけ移動させた後、前記指示方向への移動を再試行し、前記ガード領域が危険空間に進入する場合は、前記第2方向を基準として前記第1回転方向を更に45度回転させた第2回転方向を、前記手先を次に移動させる第4候補として設定し、前記手先を前記第2回転方向に移動させると前記ガード領域が前記安全空間に進入する場合は、前記第2回転方向に前記単位距離だけ移動させた後、前記指示方向への移動を再試行し、前記ガード領域が危険空間に進入する場合は、その時点で移動を停止させる方向決定手段とを備えたことを特徴とするロボットの制御装置。前記ガード領域設定手段は、前記ガード領域のサイズを変更可能に構成され、前記安全空間内において、前記手先を移動させる速度が上昇するのに応じて前記ガード領域のサイズを段階的に拡大させ、前記安全空間内において、前記手先を移動させる速度が下降するのに応じて前記ガード領域のサイズを段階的に縮小させることを特徴とする請求項6記載のロボットの制御装置。前記ガード領域設定手段は、前記ガード領域のサイズの拡大及び縮小を、前記手先の移動速度の速さに応じて複数段階で行うことを特徴とする請求項7記載のロボットの制御装置。前記手先を、現在位置が存在する単位空間からnnは自然数個先にある単位空間内にある目標座標まで移動させる際に、前記ガード領域設定手段は、前記n個先までの単位空間が安全空間であることを条件として、設定されている前記手先の移動速度により1サンプリングタイムで進む前記単位空間の数をnsnsは自然数とすると、前記ガード領域のサイズをn/nsの値の大きさを基準として決定することを特徴とする請求項7又は8記載のロボットの制御装置。前記ガード領域設定手段は、前記n個先の単位空間が危険空間であれば、前記ガード領域のサイズを1段階だけ拡大させることを特徴とする請求項9記載のロボットの制御装置。ロボットを制御プログラムに従い動作させる場合変数移動であれば、特許文献1,2に開示されている技術を適用することで、手先を障害物との境界に沿って動かすことが可能となり、動作領域の限界まで動作させることができる。しかしながら、ユーザが、例えばジョイステイック等の操作手段を用いて、移動方向をリアルタイムで指示しながらロボットを動作させる場合には、移動の最終目標座標が定まらないため特許文献1,2のような技術が適用できず、ロボットを動作領域の限界まで動作させることができないという問題がある。本発明は上記事情に鑑みてなされたものであり、その目的は、ユーザがロボットをリアルタイムで動作させる場合でも、ロボットを動作領域の限界まで動作させることが可能となるロボットの移動方向決定方法,及びロボットの制御装置を提供することにある。請求項1記載のロボットの移動方向決定方法によれば、ロボットが動作する動作領域空間を立方体状の単位空間の集合として捉え、各単位空間の外面を規定する3次元座標値を決定し、それらの各単位空間を、ロボットが通過可能な安全空間と、ロボットが通過不能な危険空間との何れかに評価した空間評価データを用意する。また、単位空間よりもサイズが大きな立方体状の空間によって、ロボットの手先部分を覆うガード領域を設定する。そして、ユーザが、操作手段を介してロボットの手先の移動方向を指示する操作入力を行い、手先を操作入力に応じた指示方向に移動させ続けるとガード領域が危険空間に進入することが予測される場合には、ガード領域と危険空間とが接する状態で移動を一旦停止させる。この時、両者が面で接触する場合は、その面に平行となる方向を第1候補として、手先を前記方向に移動させるとガード領域が安全空間に進入する場合は、前記方向に前記単位空間の1辺の距離に相当する単位距離だけ移動させた後、指示方向への移動を再試行する。最初にガード領域と危険空間とが面で接触しない場合,又は第1候補の方向に移動させるとガード領域が危険空間に進入する場は、指示方向をロボットの基準座標系の原点に立つ単位ベクトルで表わし、単位ベクトルの方向を3次元座標上で3つの方向ベクトルに成分分解する。そして、3つの方向ベクトルの長さが最長のベクトルの方向を第1方向,それ以外の2つのベクトルを合成した方向を第2方向に定め、第1方向を次に移動させる第2候補として設定する。ここで、3つの方向ベクトルのうち、何れか2つの長さが等しい場合には、そのうちの何れか一方を選択して第1及び第2方向ベクトルを定める。また、3つの方向ベクトルの、全ての長さが等しい場合は、何れか2つの方向を選択して第1及び第2方向ベクトルを定める。すなわち、動作領域空間は単位空間の集合であるため、ガード領域と危険空間とが接している状態から手先が移動可能な方向は、±90度,±135度,180度の何れかとなる。そこで、手先を第1方向に移動させると安全空間に進入する場合は、そのまま第1方向に単位距離だけ移動させた後、指示方向への移動を再試行する。一方、第1方向に移動させるとガード領域が危険空間に進入する場合は、第2方向を基準として第1方向を45度回転させた第1回転方向第2方向基準で135度回転させた方向を、次に移動させる第3候補として設定する。次に、手先を第1回転方向に移動させるとガード領域が安全空間に進入する場合は、第1回転方向に単位距離の21/2倍だけ移動させた後、指示方向への移動を再試行し、ガード領域が危険空間に進入する場合は、第2方向を基準として第1回転方向を更に45度回転させた第2回転方向第2方向基準で180度回転させた方向を、次に移動させる第4候補として設定する。更に、手先を第2回転方向に移動させるとガード領域が安全空間に進入する場合は、第2回転方向に単位距離だけ移動させた後指示方向への移動を再試行し、ガード領域が危険空間に進入する場合は、その時点で移動を停止させる。このように移動方向を決定すれば、ユーザがリアルタイムで、操作手段を介してロボットの手先の移動方向を指示する操作入力を行うことで手先が危険空間に近付いた場合に、危険空間が連続する境界に沿わせながら、ユーザが指示した方向に極力近づくように手先を移動させることができる。したがって、ユーザがリアルタイムで移動方向を指示する場合でも、ロボットの手先を、安全空間として設定されている領域は全て移動させることが可能となり、空間を限界まで使用することができる。また、ガード領域が危険空間に接した場合は、ユーザが操作手段を介して指示した方向を基準として、手先が危険空間との境界を滑るようにして移動するので、ユーザがイメージした手先の動作に近い動きになり、予想を逸脱するような動きにならず、危険な動作状態が生じることを抑制できる。請求項2記載のロボットの移動方向決定方法によれば、ガード領域のサイズを変更可能とし、安全空間内において、手先を移動させる速度が上昇するのに応じてガード領域のサイズを段階的に拡大させ、安全空間内において、手先を移動させる速度が下降するのに応じてガード領域のサイズを段階的に縮小させる。これにより、手先の移動速度が速ければガード領域のサイズが大きくなるため狭い安全空間には進入し難くなり、結果としてガード領域;手先はより広く設定されている安全空間に沿って移動することになる。すなわち、手先の移動速度が速い場合とは、作業者が単位時間当たりの手先移動距離を長くすることを所望している状態であり、目標位置の近傍において移動を精密に制御する状態とは異なっている。したがって、手先をより広い安全空間に沿って移動させることで、移動距離をより長く伸ばすことが可能となる。請求項3記載のロボットの移動方向決定方法によれば、ガード領域のサイズの拡大及び縮小を、前記手先の移動速度の速さに応じて複数段階で行うので、ガード領域のサイズをより広いレンジで変化させることができる。請求項4記載のロボットの移動方向決定方法によれば、手先を、現在位置が存在する単位空間からn個先にある単位空間内にある目標座標まで移動させる際に、n個先の単位空間が安全空間であることを条件に、手先の移動速度により1サンプリングタイムで進む単位空間の数をnsとすると、ガード領域のサイズをn/nsの値の大きさを基準として決定する。これにより、ガード領域のサイズを手先の移動速度の速さとのバランスに応じて最適に決定することができる。請求項5記載のロボットの移動方向決定方法によれば、n個先の単位空間が危険空間であれば、ガード領域のサイズを1段階だけ拡大させる。すなわち、手先を危険空間との境界に沿って移動させている状態とは、作業者が単位時間当たりの手先移動距離を長くすることを所望している状態であり、目標位置の近傍において移動を精密に制御する状態とは異なっている。したがって、危険空間との干渉を回避しながら、請求項2と同様に移動距離をより長く伸ばすことが可能となる。第1実施例以下、第1実施例について図1ないし図8を参照して説明する。図7は、垂直多関節型6軸ロボットのシステム構成を示す。このロボット本体1は、ベース回転軸2上に、この場合6軸のアームを有している。前記ベース2上には、第1関節J1を介してショルダ部3が回転可能に連結されている。このショルダ部3には、第2関節J2を介して上方に延びる下アーム4の下端部が回転可能に連結され、さらに、この下アーム4の先端部には、第3関節J3を介して第1上アーム5が回転可能に連結されている。この第1上アーム5の先端には第4関節J4を介して第2上アーム6が回転可能に連結され、この第2上アーム6の先端には第5関節J5を介して手首7が回転可能に連結され、この手首7には第6関節J6を介して第6のフランジ8が回転可能に連結されている。なお、各関節J1~J6においては、サーボモータ26図8参照によりショルダ部3~フランジ8を回転駆動する。ロボット本体1と制御装置コントローラ,ガード領域設定手段,方向決定手段11との間は、接続ケーブル12によって接続されている。これにより、ロボット本体1の各軸を駆動するサーボモータは、制御装置11により制御される。制御装置11には、パーソナルコンピュータパソコン13がケーブル14を介して接続され、パソコン13との間で、ロボット本体1の手先の現在位置の送信や動作コマンドの受信など、高速通信を実行するようになっている。パソコン13には、メモリやハードディスクなどの記憶装置が内蔵されている。ジョイスティック操作手段15は、ケーブル16を介してパソコン13に接続されている。ユーザは、ジョイスティック15を操作して倒した方向により、ロボット本体1の手先フランジ8の先端,TCP:ToolCenterPointの移動方向を指示する。その指示方向は、パソコン13を介して制御装置11に伝達され、制御装置11は、ロボット本体1の手先をXY平面上で指示された方向に移動させるように制御する。制御装置11は、図8に示すように、CPU21と、駆動回路22と、位置検出回路23とを備えて構成されている。CPU22には、システムプログラムや動作プログラムを作成するためのロボット言語などを記憶するROM24及び動作プログラムなどを記憶するRAM25が接続されていると共に、図示しない通信インターフェイスを介してパソコン13が接続されている。位置検出回路23は、ショルダ部3~フランジ8の位置を検出するためのもので、各軸の駆動源であるサーボモータ26に設けられているロータリエンコーダ27が接続されている。位置検出回路23は、ロータリエンコーダ27から入力される検出信号に基づいて各軸の回転角度を検出し、それら検出した位置検出情報をCPU21に出力する。そして、CPU21は、動作プログラムに基づいてショルダ部3~フランジ8を動作させる際に、位置検出回路23から入力する位置検出情報をフィードバック信号として、各軸のサーボモータ26を駆動する。次に、本実施例の作用について図1ないし図6を参照して説明する。本実施例では、図6に示すように、ロボット本体1が動作する領域を、立方体状の単位空間以下、キューブと称すを3次元的に積み上げたものとして設定しており、各キューブを構成する6面,或いは12本の直線を規定する3次元座標値が決定されている。すなわち、制御装置11のソフトウェア上で、そのように仮想されている。そして、各キューブについては、ロボット本体1が動作した場合に、周辺の障害物等に接触する可能性があるものが危険と評価され危険空間、接触する可能性がないものが安全と評価されている安全空間。そして、その情報が空間評価データベースとして、例えばRAM記憶手段25に予め記憶されている。一方、ロボット本体1については、図5に示すように、手先を覆うようにガード領域Gが設定されているキューブと同様にソフトウェア上で仮想されている。例えばガード領域Gの中心は手先に設定されている。この場合、ガード領域Gの体積サイズは、キューブの体積よりも大きく設定されており、例えば10倍程度となっている。そして、ロボット本体1を動作させることで、手先であるフランジ8の位置が変化すると、その位置の変化に応じてガード領域Gの位置もソフトウェア上で変化する。図1は、制御装置2が手先の移動方向を決定する処理を示すフローチャートであり、図2は、簡単のため、手先の動きを2次元的に示した場合の処理手順をイメージ的に示す図である。ユーザが、例えばジョイスティック15を操作して、ロボット本体1の手先の移動方向を指示した場合、その指示方向に手先を移動させると、ガード領域Gが危険空間と干渉するか否かを判断するステップS1。ここで干渉とは、ガード領域Gが危険空間の一部に進入する両者が交錯する状態を言う。両者が干渉しなければNO、指示方向に手先を移動させてステップS13ステップS1に戻る。また、以降では、上記のように干渉するか否かの判断を干渉チェックと称する。一方、ガード領域Gが危険空間と干渉する場合はステップS1:YES、干渉が発生する直前の状態で手先を停止させ、指示方向を、図3に示すように、ロボット本体1の基準座標上で原点に立つ単位ベクトルDと見た場合に、そのベクトルDを、X,Y,Z方向成分である各軸方向ベクトルDx,Dy,Dzに分解する。そして、それらのうち、危険空間のXY平面,YZ平面,ZX平面の何れかと干渉するベクトルを除いた2つの合成ベクトルの方向上記干渉する面に対して平行となる方向を、次に手先を移動させる方向の候補第1候補とするステップS2,図2a2参照。尚、図2では、ユーザがジョイスティック15を操作することで、ジョグ動作として指示した方向を破線矢印で示しており、移動候補となる方向を実線矢印で示している。そして、前記の平行な方向に移動させるとした場合について干渉チェックを行いステップS3、干渉しなければNO手先を当該方向に、キューブの1辺の長さである単位距離だけ移動させてステップS14ステップS1に戻る。また、両者が干渉する場合はYESステップS4に移行する。ステップS4では、指示方向を、ステップS2と同様に、ロボット本体1の基準座標上で原点に立つ単位ベクトルDと見た場合に、そのベクトルDを、X,Y,Z方向成分である各軸方向ベクトルDx,Dy,Dzに分解する。それから、各方向ベクトルの長さを評価して、長さが最も長いベクトルの方向を第1方向,それ以外の2つのベクトルを合成した方向を第2方向とするステップS5。図3は、ここでの処理を3次元的なイメージで示す。但し、3つの方向ベクトルDx,Dy,Dzのうち、何れか2つの長さが等しい場合には、そのうちの何れか一方を選択して第1及び第2方向ベクトルを定める。また、3つの方向ベクトルDx,Dy,Dzの、全ての長さが等しい場合は、何れか2つの方向を選択して第1及び第2方向ベクトルを定める。すなわち、上記方向ベクトルの長さはジョイスティック15の移動方向の近似度を示しているので、長さが等しいということは、その何れの方向に移動させてもジョイスティック15によって指示された方向に対する近似度は等しくなるからである。第1及び第2方向を定めると、第1方向が示す方向第1方向を、手先を次に移動させる候補として第2候補,ステップS6,図2a3参照、第1方向に移動させるとした場合の干渉チェックを行うステップS7。そして干渉しなければNO手先を第1方向に単位距離だけ移動させてからステップS15ステップS1に戻る。一方、第1方向に移動させると干渉する場合はYES,図2a4参照、第1方向を、第2方向を基準として45度回転させて第1回転方向,ステップS8,図2a5参照、その第1回転方向について干渉チェックを行うステップS9。図3では、方向ベクトルDxが第1方向となり、方向ベクトルDy,Dzの方向を合成したベクトルDyzの方向が第2方向となる。そして、方向ベクトルDxを、合成ベクトルDyzを基準として45度回転させた或いは、ベクトル-Dyzに向けて45度回転させたベクトルDrの方向が、第1回転方向となっている第2方向から135度。ステップS9におけるチェックの結果、干渉しない場合はNO手先を第1回転方向に、単位距離の21/2倍だけ移動させてからステップS16ステップS1に戻る。一方、第1回転方向に移動させると干渉する場合はステップS9:YES,図2a6参照、その第1回転方向を更に45度回転させる第2回転方向,ステップS10,図2a7参照。そして、第2回転方向第2方向から180度について干渉チェックを行いステップS11、干渉しない場合はNO,図2a8参照手先を第2回転方向に単位距離だけ移動させてからステップS17,図2a9参照ステップS1に戻る。第2回転方向に移動させると干渉する場合はステップS11:YES、この時点で指示方向に基づく移動を停止させてエラー出力を行うステップS12。例えば、指示方向の変更を促す旨のメッセージを、パソコン13のディスプレイ画面に表示させるなどする。図2a10は、1と同様に、9の状態から再び指示方向への移動を試みた場合を示している。この場合も干渉が発生するので、3と同様に方向成分の分解を行う11。そして、第1方向に移動させても干渉が発生しないので、第1方向に単位距離だけ移動させる12。図2bは、危険空間をマクロ的に見た場合に安全空間との境界が斜面となっており、手先を破線矢印方向に移動させるように指示すると、上記斜面にガード領域Gが接して干渉する場合である。このような状態で本実施例の処理を適用すると、手先は斜面に沿って移動するようになり、危険空間が存在しなくなった位置で指示方向に移動するようになる。また、図4は、3次元イメージで示しており、ロボット本体1の動作領域空間に円柱状の障害物OBが存在する場合、その障害物OBは、制御装置2では危険空間であるキューブの集合として把握されている。そして、ロボット本体1の手先の移動方向が図中の矢印方向で指示されている場合に、ガード領域Gが障害物OBに接近すると、ガード領域Gは、障害物OBの表面に沿って、すなわち危険空間との境界に沿って移動するようになり、障害物OBとの干渉が回避される。以上のように本実施例によれば、ロボット本体1が動作する動作領域空間をキューブの集合として捉え、各キューブの外面を規定する3次元座標値を決定し、それらの各キューブを、ロボットが通過可能な安全空間と通過不能な危険空間との何れかに評価した空間評価データを用い、キューブよりもサイズが大きな立方体状の空間によって、ロボット本体1の手先部分を覆うガード領域Gを設定する。そして、ユーザが、ジョイスティック15を介して指示した方向に手先を移動させ続けると、ガード領域Gと危険空間とが干渉すると予測される場合は両者が接する状態で移動を一旦停止させ、両者が面で接触する場合はその面に平行となる方向を第1候補として、手先を前記方向に移動可能であれば当該方向に単位距離だけ移動させた後指示方向への移動を再試行する。また、ガード領域Gと危険空間とが面で接触しない場合,或いは第1候補の方向に移動させるとガード領域Gが干渉する場合は、指示方向を3つの方向ベクトルに成分分解して第1方向,第2方向を定め、第1方向を次に移動させる第2候補とする。そして、手先を第1方向に移動可能であれば、そのまま第1方向に単位距離だけ移動させた後指示方向への移動を再試行し、干渉する場合は、第1方向を45度回転させた第1回転方向を、次に移動させる第3候補とする。次に、手先を第1回転方向に移動可能であれば、第1回転方向に単位距離の21/2倍だけ移動させた後指示方向への移動を再試行し、干渉する場合は、第1回転方向を更に45度回転させた第2回転方向を次に移動させる第4候補とする。更に、手先を第2回転方向に移動可能であれば、第2回転方向に単位距離だけ移動させた後指示方向への移動を再試行し、干渉する場合はその時点で移動を停止させるようにした。このように移動方向を決定すれば、ユーザがリアルタイムで、ジョイスティック15を介してロボット本体1の手先の移動方向を指示する操作入力を行うことで手先が危険空間に近付いた場合に、危険空間が連続する境界に沿わせながら、ユーザが指示した方向に極力近づくように手先を移動させることができる。したがって、ユーザがリアルタイムで移動方向を指示する場合でも、ロボット本体1の手先を、安全空間として設定されている領域は全て移動させることが可能となり、動作領域空間を限界まで使用することができる。また、ガード領域Gが危険空間に接した場合は、指示方向を基準として、手先が危険空間との境界を滑るようにして移動するので、ユーザがイメージした手先の動作に近い動きになり、予想を逸脱するような動きにならず、危険な動作状態が生じることを抑制できる。第2実施例図9及び図10は第2実施例であり、第1実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分について説明する。図9は図1の一部相当図であり、ステップS1でNOと判断してからステップS13に移行する間に、ステップS21~S25の処理を実行するようになっている。先ず、ステップS21では、ユーザにより設定されたロボットの手先の移動速度をしきい値1と比較する。手先の移動速度は、例えばジョイスティック15を傾けた速さなどで設定される。そして、移動速度がしきい値1以下であればNO、ガード領域Gのサイズを設定値1とするステップS23。設定値1は、デフォルトの最小サイズであり、例えば1辺の長さがキューブ2,3個分程度とする。ステップS21において、移動速度がしきい値1を超えているとYES、次に移動速度を、しきい値2と比較するステップS22。尚、しきい値2は、しきい値1よりも高い値に設定されている。そして、移動速度がしきい値2以下であればNO、ガード領域Gのサイズを設定値2とするステップS24。設定値2は、設定値1に対して、1辺の長さを例えばキューブ1,2個分程度増加させたサイズとする。例えば、設定値1における1辺のサイズがキューブ3個分3Cbとするであるとすると、そこから1辺のサイズを4Cbにすればガード領域Gの体積増加分は、64/27≒2.73倍となる。一方、ステップS22において、移動速度がしきい値2を超えているとYES、ガード領域Gのサイズを設定値3とするステップS25。設定値3は、設定値2に対して、更に1辺の長さを例えばキューブ1,2個分程度増加させたサイズとする。尚、ユーザがロボット本体1を直接操作する場合の移動速度は、一般に、自動運転時の10~20程度に設定されている。その範囲における最大速度の範囲内でしきい値1,2を設定する。すなわち、図9に示す処理を実行する毎に、手先の移動速度がしきい値1,2と比較され、その比較結果に応じてガード領域Gのサイズが拡大したり縮小したり変化することになる。図10は、ガード領域Gのサイズが変化するイメージを示している。aは手先の移動速度が低速の場合であり例えばしきい値1以下、ガード領域Gのサイズが小さく設定されるので、より精密な位置制御が可能であり、安全空間の開口部にも進入可能となっている。一方、bは手先の移動速度が高速の場合であり例えばしきい値2を上回る、ガード領域Gのサイズが大きく設定されているため、安全空間の開口部には進入不能となっている図中に破線で示すように、開口部に向かう以外の方向には移動可能である。以上のように第2実施例によれば、ガード領域Gのサイズを変更可能とし、安全空間内において、手先を移動させる速度が上昇するのに応じてガード領域Gのサイズを段階的に拡大させ、安全空間内において、手先を移動させる速度が下降するのに応じてガード領域Gのサイズを段階的に縮小させるようにした。これにより、手先の移動速度が速ければガード領域Gのサイズが大きくなるため狭い安全空間には進入し難くなり、結果としてガード領域G;手先はより広く設定されている安全空間に沿って移動することになる。すなわち、手先の移動速度が速い場合とは、作業者が単位時間当たりの手先移動距離を長くすることを所望している状態であり、目標位置の近傍において移動を精密に制御する状態とは異なっている。したがって、手先をより広い安全空間に沿って移動させることで、移動距離をより長く伸ばすことが可能となる。また、ガード領域Gのサイズの拡大及び縮小を、手先の移動速度の速さに応じて複数段階で行うので、ガード領域Gのサイズをより広いレンジで変化させることができる。第3実施例図11及び図12は第3実施例であり、第1又は第2実施例と異なる部分のみ説明する。第3実施例では、第2実施例と同様にガード領域Gのサイズを手先の移動速度に応じて変化させるが、その手法が異なっている。図11において処理を開始すると、ステップS30~S35を実行し、その後、ステップS1,S2に替えて、ステップS41~44を実行する。この場合、手先の移動目標位置がユーザ作業者により予め決定されるので、それに伴い、目標位置の座標が含まれているキューブが現在位置から何個目になるのかnを決定するステップS30。続いてn=1か否かを判断しステップS31、n=1であればYESステップS41に移行する。この場合、ガード領域Gのサイズをデフォルトから拡大させる余地はない。また、n≧2であればNOステップS32に移行する。ステップS32では、設定されている移動速度が最小値MINか否かを判断し、最小値MINであればYESステップS41に移行し上記と同様に理由による、最小値でなければNOステップS33に移行する。そして、上記移動速度によって、制御装置11によるロボット本体1の制御周期である1サンプリングタイム単位時間Tsにおいて、手先が進むキューブの数nsを計算し、その数nsがステップS30で求められたn以上か否かを判断する。ns≧nであればYES、移動速度を最小値に設定してからステップS41に移行する。すなわちns≧nの場合も、ガード領域Gのサイズを拡大させる余地はないからである。一方、ステップS33において、ns<nであればNOn/nsを計算し、その商の値に応じてガード領域Gの大きさを設定してからステップS35、ステップS41に移行する。すなわち、ガード領域Gの大きさをどのように設定すべきかは、その時点の現在位置から目標位置までの移動距離と、移動速度の速さとに応じて相対的に変化するため、n/nsを指標として用い、最適な大きさを設定する。例えば、図12に示すように、n=25であり、移動距離並びに移動速度に応じて決まるキューブ数ns=5の場合はn/ns=5となる。手先KTCPがn=0の位置にあれば、n個先のキューブに干渉する直前まで4Ts4制御周期の時間があることになる但し、ガード領域Gの一片の大きさが10Cb以下であることを条件とする。そして、ガード領域Gの1辺の大きさを拡大させれば上記の到達時間はより短くなるが、初期値が10Cb以下であるとすれば増加数を30Cb以下にすれば、次の制御周期における移動でガード領域Gが危険領域に干渉することは無い。したがって、n/nsを指標として用いることで最適な大きさを設定することができる。ステップS41では、指示方向にキューブn個分移動するか否かを判断し、干渉しなければNOステップS13に移行する。また、干渉する場合はYES、ガード領域Gが拡大可能か否かを判断するステップS42。ここでの判断は、上述したステップS35の場合と同様であり、例えばn/nsを指標として用いることで判断すれば良い。そして、拡大可能であればYES1段階だけ拡大させてからステップS43ステップS2に替わるステップS44に移行する。また、拡大不能であればNOそのままステップS44に移行する。ステップS44では、ステップ2と同様の処理を、キューブn個分移動した位置について行う。すなわち、手先を危険空間との境界に沿って移動させている状態は、ユーザがサンプリングタイム当たりの手先移動距離を長くすることを所望している状態であり、目標位置の近傍において移動を精密に制御する状態とは異なっている。したがって、ガード領域Gを1段階だけ拡大させて危険空間との干渉を回避しつつ移動距離をより長く伸ばすようにする。以上のように第3実施例によれば、ロボット本体1の手先を、現在位置が存在するキューブからn個先にあるキューブ内にある目標座標まで移動させる際に、n個先のキューブが安全空間であることを条件に、手先の移動速度により1サンプリングタイムで進むキューブ数をnsとすると、ガード領域Gのサイズをn/nsの値の大きさを基準として決定するようにした。これにより、ガード領域Gのサイズを手先の移動速度の速さとのバランスに応じて最適に決定できる。また、n個先のキューブが危険空間であれば、ガード領域Gのサイズを1段階だけ拡大させるので、危険空間との干渉を回避しつつ移動距離をより長く伸ばすことができる。本発明は上記し、又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形又は拡張が可能である。操作手段は、ジョイスティック15に限ることなく、少なくとも方向を2次元で指示する操作入力が可能な手段であれば良い。キューブとガード領域とのサイズについては、両者の大小関係を維持する範囲で適宜変更して良い。ガード領域の拡大,縮小は、少なくとも1段階行えば良く、また、3段階以上に変化させても良い。"