"アームを備えたロボットであって、前記アームを駆動するアーム駆動部と、前記アーム駆動部を制御するアーム制御部と、前記アームの可動範囲を制限する可動範囲制限機能を有する複数のストッパーと、それぞれの前記ストッパーの前記可動範囲制限機能を解除するストッパー解除機能を有するストッパー機能解除部と、前記ストッパー機能解除部の制御をするアーム可動範囲制御部と、予め設定された前記アームの可動範囲を規定する可動範囲設定データと、を備え、前記アーム可動範囲制御部は、前記可動範囲設定データと、前記アームの位置情報と前記アームが移動する速度情報のどちらか一方あるいは両方の情報と、に基づいて前記ストッパー機能解除部の制御をすることを特徴とするロボット。前記可動範囲設定データは、即時停止位置データと警戒位置データとを含み、前記即時停止位置データは、前記アームの駆動を即時停止させる範囲を示す位置データであり、前記警戒位置データは、前記アームを所定の速度以下の速度で駆動させる範囲を示す位置データであり、前記アーム可動範囲制御部は、前記アームが前記即時停止位置を越えたと判断した場合、および前記アームが所定の速度を上回る速度で前記警戒位置を越えたと判断した場合に、対応する位置の前記ストッパー解除機能を停止して、前記可動範囲制限機能を有効とし、前記アームの可動範囲を制限することを特徴とする請求項1に記載のロボット。前記ストッパーは、弾性体の弾性力により所定の位置に突出することで前記アームの可動範囲を機械的に制限する突出体であり、前記ストッパー機能解除部は、複数の前記突出体のそれぞれに備えられ、前記ストッパー機能解除部が生成する前記弾性力を上回る反発力によって前記突出体の突出を制限することを特徴とする請求項1または請求項2に記載のロボット。前記ストッパー機能解除部は、ソレノイドコイルを含み構成されており、前記反発力は、前記ソレノイドコイルの生成する磁力であることを特徴とする請求項3に記載のロボット。前記ストッパー機能解除部は、流体シリンダーを含み構成されており、前記反発力は、前記流体シリンダーの生成する圧力であることを特徴とする請求項3に記載のロボット。前記アーム制御部、前記アーム駆動部および前記ストッパー機能解除部を駆動する第一電源と、前記アーム可動範囲制御部を駆動する第二電源と、を備え、前記可動範囲設定データは、即時停止位置データと警戒位置データとを含み、前記アーム可動範囲制御部は、前記アームが前記即時停止位置を越えたと判断した場合、および前記アームが所定の速度を上回る速度で前記警戒位置を越えたと判断した場合に、前記第一電源を遮断することにより、前記アームの駆動および前記ストッパー解除機能を停止して、前記可動範囲制限機能を有効とし、前記アームの可動範囲を制限することを特徴とする請求項1ないし請求項5のいずれか一項に記載のロボット。複数の前記アームが関節で連結され、連結終端のアームの先端部にハンド部を有するマニピュレーターと、前記関節の軸部に取り付けられ、相互に連結された前記アームが成す角度を検出する角度センサーと、前記関節の軸部および前記連結終端のアームの先端部に取り付けられた加速度を検出する慣性センサーと、を備え、前記アーム可動範囲制御部は、複数の前記アームのそれぞれの長さと、前記角度センサーが検出する前記角度とから前記アームの位置情報を求め、前記慣性センサーが検出する前記アームが移動する加速度から前記関節の軸部および前記連結終端のアームの先端部の速度情報を求めることを特徴とする請求項1ないし請求項6のいずれか一項に記載のロボット。しかしながら、特許文献1に記載の工業用ロボットの動作範囲規制装置では、ロボットの動作範囲を変える場合に、その都度ロボットを停止し、ストッパーを取り外してその取り付け位置を変える必要があった。つまり、一旦設定した動作範囲は、ロボットの稼動中に変更することができなかった。そのため、複数のアームを連結する多軸ロボットなどの場合に、各軸に必要な動作範囲を設定した結果、それぞれのアームの動作範囲の組み合わせによっては、先端アームのハンド部が、所定の安全な可動範囲を超えてしまう危険があった。また、特許文献2に記載のダイレクトドライブロボットの制動装置では、ストッパーの動作により、任意の位置で駆動軸の回転を制止することができるが、非常停止スイッチの操作時、または停電時に限られるという問題があった。つまり、ロボットを制御するプログラムのミスや、CPUの暴走などによって、ロボットのアームが危険範囲におよぶような動作に対しては、制止することができないという問題があった。本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例または形態として実現することが可能である。[適用例1]本適用例に係るロボットは、アームを備えたロボットであって、アームを駆動するアーム駆動部と、アーム駆動部を制御するアーム制御部と、アームの可動範囲を制限する可動範囲制限機能を有する複数のストッパーと、それぞれのストッパーの可動範囲制限機能を解除するストッパー解除機能を有するストッパー機能解除部とストッパー機能解除部の制御をするアーム可動範囲制御部と、予め設定されたアームの可動範囲を規定する可動範囲設定データと、を備え、アーム可動範囲制御部は、可動範囲設定データと、アームの位置情報とアームが移動する速度情報のどちらか一方あるいは両方の情報と、に基づいてストッパー機能解除部の制御をすることを特徴とする。本適用例によれば、予め設定されたアームの可動範囲を規定する可動範囲設定データと、アームの位置情報とアームが移動する速度情報のどちらか一方あるいは両方の情報と、に基づいてストッパー機能解除部の制御をする。そのため、例えば、アームが可動範囲を超える場合や、高速な動きにより可動範囲を超えることが予想される場合などに、ストッパー機能解除部が、対応する必要な場所のストッパーのストッパー解除機能をオフとし、ストッパーを機能させることができる。つまり、予め所望の位置に複数設置したストッパーの中から必要な時に必要な位置のストッパーを機能させることができるため、状況に応じて可動範囲を変化させることができる。その結果、例えば、複数のアームを連結する多軸ロボットなどの場合に、ロボットを制御するプログラムのミスや、CPUの暴走などによって、従来、それぞれのアームの動作範囲の組み合わせによっては、先端アームのハンド部が、所定の安全な可動範囲を超えてしまう危険があったのに対して、それぞれのアームの動作可能範囲を状況に応じて変えることにより、ハンド部が危険領域に入ることを防止することができる。従って、本適用例によれば、人とロボットとが共存して作業を行う環境などにおいて、可動範囲が適切にコントロールできる安全なロボットを提供することができる。[適用例2]上記適用例に係るロボットにおいて、可動範囲設定データは、即時停止位置データと警戒位置データとを含み、即時停止位置データは、アームの駆動を即時停止させる範囲を示す位置データであり、警戒位置データは、アームを所定の速度以下の速度で駆動させる範囲を示す位置データであり、アーム可動範囲制御部は、アームが即時停止位置を越えたと判断した場合、およびアームが所定の速度を上回る速度で警戒位置を越えたと判断した場合に、対応する位置のストッパー解除機能を停止して、可動範囲制限機能を有効とし、アームの可動範囲を制限することを特徴とする。本適用例によれば、アーム可動範囲制御部は、アームが即時停止位置を越えたと判断した場合、およびアームが所定の速度を上回る速度で警戒位置を越えたと判断した場合に、対応する位置のストッパー解除機能を停止して、可動範囲制限機能を有効とし、アームの可動範囲を制限する。例えば、人とロボットとが、物の授受引渡しなどを行なう場合などにおいては、安全なスピードでロボットが人に接近する動作が必要である。従って、ロボットと人とが近接する危険領域においては、所定のスピードを下回る場合には動作を継続することができ、何らかの異常で所定のスピードを上回り危険領域に近づく場合には、停止する制御が必要となる。アームが所定の速度を上回る速度で予め設定した警戒位置を越えたと判断した場合に、対応する位置のストッパー解除機能を停止することで、危険動作を制限することが可能となる。従って、本適用例によれば、人とロボットとが共存して作業を行う環境などにおいて、可動範囲が適切にコントロールできる安全なロボットを提供することができる。[適用例3]上記適用例に係るロボットにおいて、ストッパーは、弾性体の弾性力により所定の位置に突出することでアームの可動範囲を機械的に制限する突出体であり、ストッパー機能解除部は、複数の突出体のそれぞれに備えられ、ストッパー機能解除部が生成する弾性力を上回る反発力によって突出体の突出を制限することを特徴とする。本適用例によれば、例えば、バネなどによる弾性力によって突出することで機械的に機能するストッパーにおいて、バネの弾性力を上回る力で、突出を押さえることで、ストッパーの機能を解除することができる。従って、ストッパーとして機能させる位置を変える場合に、その都度、ストッパーを取り外し、所望する位置に付け替えるなどの手間をかけることなく、必要な位置のストッパーのみ突出させるようにコントロールすることができる。[適用例4]上記適用例に係るロボットにおいて、ストッパー機能解除部は、ソレノイドコイルを含み構成されており、反発力は、ソレノイドコイルの生成する磁力であることを特徴とする。本適用例によれば、例えば、バネなどによる弾性力によって突出することで機械的に機能するストッパーにおいて、ソレノイドコイルが生成する磁力によって、バネの弾性力を上回る力を伝え、突出を抑えることで、ストッパーの機能を解除することができる。複数のストッパーのそれぞれに例えばプルソレノイドを配置し、ソレノイドを駆動することで、ストッパーの突出を押さえるようにした場合、それぞれのプルソレノイドを駆動する電気信号をコントロールすることで、必要な位置のストッパーのみ突出させるようにコントロールすることができる。[適用例5]上記適用例に係るロボットにおいて、ストッパー機能解除部は、流体シリンダーを含み構成されており、反発力は、流体シリンダーの生成する圧力であることを特徴とする。本適用例によれば、例えば、バネなどによる弾性力によって突出することで機械的に機能するストッパーにおいて、流体シリンダーの生成する圧力によって、バネの弾性力を上回る力を伝え、突出を抑えることで、ストッパーの機能を解除することができる。複数のストッパーのそれぞれに例えばエアシリンダーを配置し、エアシリンダーに圧空を送ることで、ストッパーの突出を押さえるようにした場合、それぞれのエアシリンダーを駆動する圧空をコントロールすることで、必要な位置のストッパーのみ突出させるようにコントロールすることができる。[適用例6]上記適用例に係るロボットにおいて、アーム制御部、アーム駆動部およびストッパー機能解除部を駆動する第一電源と、アーム可動範囲制御部を駆動する第二電源と、を備え、可動範囲設定データは、即時停止位置データと警戒位置データとを含み、アーム可動範囲制御部は、アームが即時停止位置を越えたと判断した場合、およびアームが所定の速度を上回る速度で警戒位置を越えたと判断した場合に、第一電源を遮断することにより、アームの駆動およびストッパー解除機能を停止して、可動範囲制限機能を有効とし、アームの可動範囲を制限することを特徴とする。本適用例によれば、アーム可動範囲制御部は、アームが即時停止位置を越えたと判断した場合、およびアームが所定の速度を上回る速度で警戒位置を越えたと判断した場合に、第一電源を遮断する。第一電源が切られることにより、第一電源により駆動されるすべてのストッパー解除機能が停止し、すべてのストッパーがアームの可動範囲を制限するように機能する。従って、具体的には、ロボットの非常停止が必要な場合などにおいて、高速で移動中のアームが慣性によりコントロールを失って動き続ける場合などにおいても、危険領域におけるアームの動きを制御することができる。[適用例7]上記適用例に係るロボットにおいて、複数のアームが関節で連結され、連結終端のアームの先端部にハンド部を有するマニピュレーターと、関節の軸部に取り付けられ、相互に連結されたアームが成す角度を検出する角度センサーと、関節の軸部および連結終端のアームの先端部に取り付けられた加速度を検出する慣性センサーと、を備え、アーム可動範囲制御部は、複数のアームのそれぞれの長さと、角度センサーが検出する角度とからアームの位置情報を求め、慣性センサーが検出するアームが移動する加速度から関節の軸部および連結終端のアームの先端部の速度情報を求めることを特徴とする。本適用例によれば、複数のアームのそれぞれの長さと、それぞれのアームが成す角度、それぞれのアームが移動する加速度などの情報から、マニピュレーターの各関節の位置、ハンド部の位置、およびそれぞれの位置の速度などの情報を動作中に算出して求めることができる。その結果、それぞれのアームの動作可能範囲をマニピュレーターの稼働状況に応じて変えることにより、ハンド部が危険領域に入ることを防止することができる。従って、本適用例によれば、人とロボットとが共存して作業を行う環境などにおいて、可動範囲が適切にコントロールできる安全なロボットを提供することができる。以下に本発明を具体化した実施形態について、図面を参照して説明する。以下は、本発明の一実施形態であって、本発明を限定するものではない。なお、以下の各図においては、説明を分かりやすくするため、実際とは異なる尺度で記載している場合がある。実施形態1まず、実施形態1に係るロボットについて説明する。図1は、実施形態1に係る一例としてのロボット100の機能ブロック図、図2は、ロボット100を示す斜視図である。ロボット100は、垂直6軸型多関節ロボットであり、マニピュレーター10、ロボット制御部40、アーム可動範囲制御部50、電源61、62などから構成されている。マニピュレーター10は、関節で連結された、旋回,下腕振り,上腕振り,手首旋回,手首振り,手首回転の6つのアーム1111a~11f、連結終端のアーム11fの先端部に取り付けられたハンド部図示省略などから構成される。それぞれのアーム11は、アーム駆動部12、ストッパー20、ストッパー機能解除部30、センサー15などを備えている。アーム駆動部1212a~12fは、アーム1111a~11fが連結される各軸を駆動するモーターユニットを備えている。ストッパー20は、アーム1111a~11fが連結される各軸周りに備えられ、ストッパー機能解除部30は、それぞれのストッパー20に備えられる。ストッパー機能解除部30の制御は、アーム可動範囲制御部50によって行われる。これらの詳細については後述する。センサー15には、角度センサーと加速度センサーとがあり、アーム11が連結される各軸を駆動するそれぞれのモーターユニットに取り付けられている。加速度センサーは、ハンド部にも取り付けられている。角度センサーには、好適例としてレゾルバを用いているが、ロータリーエンコーダーなどであっても良い。加速度センサーには、例えば、3軸加速度センサーとしてのMEMSセンサーを用いているがこれに限定するものではない。ロボット制御部40は、CPUCentralProcessingUnit41、プログラム42、アーム制御部43などを備え、ロボット100全体の稼動制御を行う。アーム制御部43は、CPU41の制御のもとに、プログラム42に従ってアーム駆動部12を制御する。また、ロボット制御部40に接続されるPCPersonalComputer70などによって、プログラム42の設定やメンテナンス、後述する可動範囲設定データ80などの情報伝達を行なう。電源61は、第一電源として、ロボット制御部40、マニピュレーター10を駆動する電力を供給している。つまり、アーム制御部43、アーム駆動部12およびストッパー機能解除部30は、電源61から電力が供給されている。電源62は、第一電源とは独立し、第二電源として、アーム可動範囲制御部50を駆動する電力を供給している。次に、ストッパー20の機能について説明する。まず、従来使われているストッパーを、模式図を参照して説明する。図3aは、従来のストッパーを備える連結機構200の側面図、図3bは、連結機構200の平面図である。連結機構200は、基部201に駆動軸293を介してアーム202を連結し、モーターユニット212によりアーム202が回動するようにした連結機構である。基部201のアーム202が回動する側の面には、駆動軸293から略等距離の位置に複数のネジ穴221が設けられている。複数のネジ穴221の内、所定の位置に、ネジ溝を有するストッパー220がネジ止めされている。アーム202には、基部201に相対する面に、突出部203が備えられている。突出部203とストッパー220とは、駆動軸293から略等距離の位置にあり、アーム202が回動し、突出部203がストッパー220の頭部と当接することで、アーム202の回動が制限されるようになっている。図3bは、2個のストッパー220がネジ止めされ、突出部203がこれらのストッパー220に当接してアーム202の回動が制限される範囲アーム202が一点鎖線で示される位置から二点鎖線で示される位置までの矢印の範囲を示している。なお、図3bは、アーム202を回動した様子を示しているため、突出部203の位置は図3aと異なっている。実際の使用に当たっては、モーターユニット212を駆動するプログラムなどにより、ストッパー220には当接しない範囲でアーム202が駆動されるが、安全のために、何らかの異常があった場合であっても、制限する可動範囲を超えないようにストッパー220が設置される。プログラムを変更し、可動範囲を変える場合には、予め設けられた別のネジ穴221にストッパー220を差し替えることで対応する。ストッパーは、回動する連結機構だけではなく、往復運動する機構においても利用される。図3cは、基部301に備えた駆動部312により円柱状の駆動軸393が往復運動する機構300を示す模式図である。図3cにおいて、駆動軸393の上端付近および下端付近には、ストッパーとしてのストッパーリング320aと320bとがネジ314により固定されている。往復運動する駆動軸393は、ストッパーリング320aと320bが基部301に当接することで、可動範囲が制限される。以上は、従来使われていたストッパーの説明であるが、ストッパー220などの従来のストッパーをロボット100に活用する場合、可動範囲を変えるためには、ロボット100を停止してストッパーの取り付け位置を変える必要があった。つまり、一旦設定した可動範囲は、ロボット100の動作中に変更することができなかった。そのため、複数のアーム11を連結する各軸に必要な可動範囲を設定した場合、それぞれのアーム11の可動範囲の組み合わせによっては、先端のアーム11fに取り付けたハンド部が、所定の安全な可動範囲を超えてしまう危険があった。図4は、本実施形態に係るロボット100が備えるストッパー20を説明する側断面図である。ストッパー20は、上記の課題に対応するために、ストッパーとしての機能をロボット100が動作している間も制御できるようにしている。図4に示すように、ストッパー20は、弾性体としてのバネ21、ストッパー機能解除部30などを備えている。ストッパー20は、鉄製の円柱体であり、突出部20aとコア部20bとから成る。突出部20aが、アーム11を構成する基材90に開けた穴91から突出することで、上述した従来のストッパーと同様に、アーム11が回動する範囲可動範囲を制限する機能を持つ。ストッパー20は、穴91から脱落しないように、突出部20aとは反対側のコア部20bの径が穴91の内径より大きく形成されている。ストッパー機能解除部30は、ソレノイドコイル31、コイル筐体32などから成り、ソレノイドコイル31の中央部に位置するストッパー20コア部20b、バネ21と共にソレノイドアクチュエーターとして構成されている。バネ21は、コイル筐体32の内部ソレノイドコイル31の中央部に収納され、コア部20bを穴91の方向へ押圧して突出部20aを穴91から突出させている。ソレノイドコイル31の磁力がバネ21の押圧力を上回るように励磁されると、コア部20bはソレノイドコイル31の内部に引き込まれる。その結果、突出部20aが基材90から突出する量が減少し、もしくは、突出部20aが突出しなくなり、ストッパー20は、上述したストッパーとしての機能を失う。なお、ストッパー20は、好適例として鉄製の円柱体を用いているが、これに限定するものではない。ソレノイドアクチュエーターが構成できる磁性体部分を有するものであれば良く、突出することでストッパーとしての機能が発揮される形状であれば良い。図5aは、ストッパー20およびストッパー機能解除部30などをアーム11b図2に取り付けた様子を示す平面図、図5bは、同側面図である。アーム11bは、アーム駆動部12b、センサー15、ストッパー20、ストッパー機能解除部30、基材90などを含み構成されている。アーム11bは、アーム駆動部12bの駆動軸93を介して下腕2図2に連結され、アーム駆動部12bのモーターユニットにより回動する。基材90には、複数の穴91が、アーム駆動部12bを構成するモーターユニットの駆動軸93の同心円上の所定の位置に形成されている。また、ストッパー機能解除部30を備えたストッパー20は、穴91のすべての部分に設置されている。穴91の数および位置は、アーム11bの回動を制限する範囲の位置やその設定できるステップの細かさなどによって適宜決定することが好ましい。下腕2には、突出部3が備えられている。突出部3とストッパー20とは、駆動軸93から略等距離の位置にあり、アーム11bが回動し、突出したストッパー20突出部20aが突出部3に当接することで、アーム11bの可動範囲が制限されるようになっている。なお、図5aでは、アーム11bの両側面の基材90にストッパー20およびストッパー機能解除部30などを取り付けているが、片側の面だけに取り付ける構成であっても良い。ストッパー機能解除部30の制御は、アーム可動範囲制御部50によって行われる。具体的には、アーム11bを自由に回動させる場合において、すべてのストッパー機能解除部30を構成するソレノイドコイル31図4は励磁され、ストッパー20は、穴91の内部に引き込まれた状態を保つことで、ストッパー機能を解除している。アーム11bの回動範囲可動範囲に制限を持たせる場合には、該当する範囲を制限する位置のソレノイドコイル31をオフとすることで、ストッパー20は、穴91から突出し、ストッパーとしての機能を持つ。これらの制御は、ストッパー機能解除部30に電気的に接続されたアーム可動範囲制御部50によって行われる。ロボット100において、アーム駆動部1212a~12fを有するそれぞれのアーム11の連結は、上記と同様にそれぞれの駆動軸の周囲に複数のストッパー20を備えて構成されている。なお、マニピュレーター10の先端のハンド部を取り付けるアーム11fのアーム駆動部12fには、必ずしもストッパー20を取り付ける必要はない。次に、以上のような構成のロボット100における具体的な可動範囲の制御について説明する。ロボット100は、予め設定された、アーム11の可動範囲を規定する可動範囲設定データ80図1を有している。アーム可動範囲制御部50は、可動範囲設定データ80と、センサー15から得られるアーム11の位置情報とアーム11が移動する速度情報のどちらか一方あるいは両方の情報と、に基づいて個々のストッパー機能解除部30の制御を行う。以下に具体的に説明する。なお、アーム11の位置情報とは、アーム11a~11fを構成する各部位が、ワールド座標系の空間に占める座標の情報を言う。図6は、ロボット100のマニピュレーター10アーム11が動作できる範囲可動範囲の例を示す斜視図である。図6において、破線で囲まれた空間ABCDEFGHは、ロボット100が安全な制御のもとに稼動できる空間を示している。つまり、この位置を越えた場合には、ロボット100を即時停止させる必要がある。また、この空間の中でも、空間ABCDA’B’C’D’は、ロボット100が一定のスピードを上回ることなく稼動警戒動作することが可能な空間警戒範囲を意味している。なお、図6に示す例では、ロボット100が安全な制御のもとに稼動できる空間として、立方体空間破線で囲まれた空間ABCDEFGHを用いて説明しているが、これに限定するものではなく、例えば円柱形状や球形状、または、それらを組み合わせた複合形状の空間であっても良い。また、ロボット100が一定のスピードを上回ることなく警戒動作することが可能な警戒範囲として、前記立方体空間のX方向の前面に沿った空間破線で囲まれた空間ABCDA’B’C’D’を用いて説明しているが、これに限定するものではなく、ロボット100が安全な制御のもとに稼動できる空間の例えばY方向の左右両面や上面、背面など、周囲のいずれの面に沿った空間に設定しても良い。ロボット100の動作がプログラミングされる際、つまりティーチングの際には、これら可動範囲および警戒範囲の情報も合わせて入力される。具体的には、可動範囲設定データ80として、即時停止位置データおよび警戒位置データが入力される。即時停止位置データは、アーム11の駆動を即時停止させる範囲を示す位置データであり、警戒位置データは、アーム11を所定の速度以下の速度で駆動させる範囲を示す位置データである。具体的には、即時停止位置データとして、空間ABCDEFGHを構成する面の座標情報が入力される。マニピュレーター10アーム11のいずれかの部分が、即時停止位置に達し、可動範囲空間ABCDEFGHから外に出ようとした場合に即時停止動作の制御が行なわれるようにする。また、警戒位置データとしては、面A’B’C’D’の座標情報が入力される。マニピュレーター10アーム11のいずれかの部分が、警戒位置に達し、予め設定された所望の速度を上回る速度で警戒範囲空間ABCDA’B’C’D’に入ろうとした場合に警戒動作の制御が行なわれるようにする。アーム可動範囲制御部50は、ロボット100の原点座標および上記可動範囲設定データ80を、同一の座標系ワールド座標系に持つ。また、合わせて、各アーム11a~11fの駆動軸間距離などの寸法情報、アーム駆動部12a~12fそれぞれに備えたストッパー20がストッパーとして機能する位置の情報アーム回動角度範囲などの制御対象となる可動範囲の情報を、それぞれのアーム11のローカル座標系の情報として持つ。アーム可動範囲制御部50は、ロボット100が動作する間、上記の情報から、各アーム1111a~11fの位置情報や動作ベクトルをヤコビ行列ヤコビアンによって求める。つまり、連結されるそれぞれのアームの駆動軸間距離と、センサー15が検出するそれぞれのアームが成す角度や速度とから、連結される先のアーム11の位置座標や動作ベクトルを求める。また、アーム可動範囲制御部50は、可動範囲設定データ80を比較参照し、求められた各アーム1111a~11fの位置座標のいずれかが、即時停止位置に達し、可動範囲空間ABCDEFGHから外に出ようとしていると判断される場合に、即時停止動作の制御を行なう。具体的には、可動範囲空間ABCDEFGHから外に出ようとしているアーム11の動きを制限する位置のストッパー20のストッパー機能を発揮させるべく、該当するストッパー機能解除部30の駆動を停止する。より具体的には、アーム可動範囲制御部50の制御により、該当位置のソレノイドコイル31をオフとし、ストッパー20を突出させることで、相対する突出部3に当接させ、アーム11の動きを制限する。また、アーム可動範囲制御部50は、可動範囲設定データ80を比較参照し、求められた各アーム1111a~11fの位置座標のいずれかが、警戒位置に達し、予め設定された所望の速度を上回る速度で警戒範囲空間ABCDA’B’C’D’に入ろうとしていると判断される場合に、警戒動作の制御を行なう。具体的には、アーム可動範囲制御部50は、アーム制御部43に対して、所望の速度への減速制御を指示する。また、同時に、継続されるアーム11の動きにより予想される即時停止位置への進行を制限する位置のストッパー20のストッパー機能を発揮させるべく、上記と同様に該当するストッパー機能解除部30の駆動を停止する。なお、上記では、算出された各アーム1111a~11fの位置座標のいずれかが、即時停止位置に達した場合に、即時停止動作の制御を行なうと説明したが、センサー15から得られる位置情報および速度情報などによって、アーム11の動きを予測し、即時停止位置に達する前に即時停止動作の制御を開始する方法をとっても良い。こうすることで、アームの慣性などによる挙動に対してより安全性を高めることができる。また、アーム可動範囲制御部50は、ロボット100の非常停止制御の機能を有しても良い。具体的には、予め、可動範囲設定データ80に非常停止位置座標データを設定し、予め設定された所望の速度を上回る速度で非常停止位置に入ろうとしていると判断される場合に、非常停止の制御を行なう。非常停止の制御としては、すべてのソレノイドコイル31をオフとし、すべてのストッパー20を突出させることで、相対する突出部3に当接させ、アーム11の動きを制限するものである。すべてのソレノイドコイル31をオフとする制御は、電源61を遮断することで行なっても良い。以上述べたように、本実施形態によるロボット100によれば、以下の効果を得ることができる。予め設定されたアーム11の可動範囲を規定する可動範囲設定データ80と、アーム11の位置情報とアーム11が移動する速度情報のどちらか一方あるいは両方の情報と、に基づいてストッパー機能解除部30の制御をする。そのため、例えば、アーム11が可動範囲を超える場合や、高速な動きにより可動範囲を超えることが予想される場合などに、ストッパー機能解除部30が、対応する必要な場所のストッパー20のストッパー解除機能をオフとし、ストッパー20を機能させることができる。つまり、予め所望の位置に複数設置したストッパー20の中から必要な時に必要な位置のストッパー20を機能させることができるため、状況に応じて、つまり、ある軸の可動範囲を他の軸の位置に応じて変化させることができる。具体的には、例えば連結終端のアーム11fの先端部に取り付けられたハンド部の位置に応じて、ハンド部に連結される他の軸の可動範囲を変えることにより、ハンド部が可動範囲を超えないように制御することができる。その結果、例えば、ロボット100を制御するプログラム42のミスや、CPU41の暴走などによって、従来は、それぞれのアーム11の動作範囲の組み合わせによっては、先端のアーム11fのハンド部が、所定の安全な可動範囲を超えてしまう危険があったのに対して、ハンド部が危険領域に入ることを防止することができる。従って、本実施形態によるロボット100によれば、人とロボットとが共存して作業を行う環境などにおいて、可動範囲が適切にコントロールできる安全なロボットを提供することができる。また、アーム可動範囲制御部50は、アーム11が即時停止位置を越えたと判断した場合、およびアーム11が所定の速度を上回る速度で警戒位置を越えたと判断した場合に、対応する位置のストッパー解除機能を停止して、可動範囲制限機能を有効とし、アーム11の可動範囲を制限する。例えば、人とロボットとが、物の授受引渡しなどを行なう場合などにおいては、安全なスピードでロボットが人に接近する動作が必要である。従って、ロボットと人とが近接する危険領域においては、所定のスピードを下回る場合には動作を継続することができ、何らかの異常で所定のスピードを上回り危険領域に近づく場合には、停止する制御が必要となる。アーム11が所定の速度を上回る速度で予め設定した警戒位置を越えたと判断した場合に、対応する位置のストッパー解除機能を停止することで、危険動作を制限することが可能となる。また、アーム可動範囲制御部50は、アーム11が即時停止位置を越えたと判断した場合、およびアーム11が所定の速度を上回る速度で警戒位置を越えたと判断した場合に、電源61を遮断する制御を行うことで、電源61により駆動されるすべてのストッパー解除機能が停止し、すべてのストッパー20がアーム11の可動範囲を制限するように機能する。従って、具体的には、ロボット100の非常停止が必要な場合などにおいて、高速で移動中のアーム11が慣性によりコントロールを失って動き続ける場合などにおいても、危険領域におけるアーム11の動きを制御することができる。また、予め設定された可動範囲設定データ80と、プログラム42によって規定されるアーム11の位置情報やティーチングの際のアーム11の位置情報とを比較することで、ロボット100を稼動させる前に可動範囲の妥当性を検証することもできる。つまり、予め可動範囲設定データ80を設定することで、プログラムミスやティーチングミスを事前にチェックすることもできる。なお、アーム11の速度を加速度センサーによって求めると説明したが、加速度センサーを用いず、ヤコビ行列によって求める位置の時間的変化から算出する方法であっても良い。また、安全性やアーム11の速度を求める処理スピード、処理負荷を考慮して、その両方の情報を使う、あるいは使い分ける方法であっても良い。また、アーム可動範囲制御部50は、マニピュレーター10の動きをアーム11の持つ長さや角度などのパラメーターに基づいてヤコビ行列によって都度算出し可動範囲設定データ80と比較すると説明したが、この方法に限定するものではない。例えば、予め、各アーム1111a~11fの角度と各アーム1111a~11fの位置座標とをテーブル情報として備え、それぞれのセンサー15によって得られる角度情報が、組み合わせの角度範囲となった場合に、該当する制御を行なうという方法であっても良い。この方法によると、アーム可動範囲制御部50が、ヤコビ行列によって都度アーム11の動きを算出する処理の負荷が軽減され、より高速に制御することが可能となる。また、アーム可動範囲制御部50は、センサー15により得られた情報で求めたアーム11の位置情報と、可動範囲設定データ80と比較した結果に基づいてロボット100の可動範囲制御をすると説明したが、この方法に限定するものではない。例えば、ロボット100の稼動環境に設置されたカメラやライトカーテン、超音波センサーなどを利用し、赤外線や超音波などによる位置の検出や実測によって外部センサーデータ81図1として求め、その結果に基づいて制御しても良い。この方法によると、アーム可動範囲制御部50が、アーム11の位置情報と可動範囲設定データ80とを比較する処理の負荷が軽減され、より高速に制御することが可能となる。また、ストッパー機能解除部30は、ソレノイドコイル31を用い、ソレノイドコイル31の磁力を利用してストッパー20の機能を解除すると説明したが、この方法に限定するものではない。例えば、ストッパー機能解除部30は、流体シリンダーを含み構成されても良く、流体シリンダーの生成する圧力を利用してストッパー20の機能を解除する方法であっても良い。複数のストッパーのそれぞれに例えばエアシリンダーを配置し、エアシリンダーに圧空を送ることで、ストッパーの突出を押さえるようにした場合、それぞれのエアシリンダーを駆動する圧空をコントロールすることで、必要な位置のストッパーのみ突出させるようにコントロールすることができる。また、本実施形態では、各アームが回動するタイプのロボットで説明したが、これに限定するものではなく、例えば、図3cで説明した往復運動する機構においても同様に利用することができる。具体的には、図3cの例の場合、ストッパー20やストッパー機能解除部30などを、駆動軸393の内部の複数の位置に設置し、ストッパー20の突出部20aを必要に応じて駆動軸393から突出させる制御を行うことで、実現することができる。"