(57)【要約】【課題】人とロボットとが共存して作業を行う環境などにおいて、可動範囲が適切にコントロールされた安全なロボットを提供する。【解決手段】ロボット１００は、アーム１１を駆動するアーム駆動部１２と、アーム駆動部１２を制御するアーム制御部４３と、アーム１１の可動範囲を制限する可動範囲制限機能を有する複数のストッパー２０と、それぞれのストッパー２０の可動範囲制限機能を解除するストッパー解除機能を有するストッパー機能解除部３０とストッパー機能解除部３０の制御をするアーム可動範囲制御部５０と、を備え、予め設定されたアーム１１の可動範囲を規定する可動範囲設定データ８０を有し、アーム可動範囲制御部５０は、可動範囲設定データ８０と、アーム１１の位置情報とアーム１１が移動する速度情報のどちらか一方あるいは両方の情報と、に基づいてストッパー機能解除部３０の制御をする。【選択図】図１
2013111718.tif 000002
【特許請求の範囲】
【請求項１】
アームを備えたロボットであって、
前記アームを駆動するアーム駆動部と、
前記アーム駆動部を制御するアーム制御部と、
前記アームの可動範囲を制限する可動範囲制限機能を有する複数のストッパーと、
それぞれの前記ストッパーの前記可動範囲制限機能を解除するストッパー解除機能を有するストッパー機能解除部と、
前記ストッパー機能解除部の制御をするアーム可動範囲制御部と、
予め設定された前記アームの可動範囲を規定する可動範囲設定データと、を備え、
前記アーム可動範囲制御部は、前記可動範囲設定データと、前記アームの位置情報と前記アームが移動する速度情報のどちらか一方あるいは両方の情報と、に基づいて前記ストッパー機能解除部の制御をすることを特徴とするロボット。
【請求項２】
前記可動範囲設定データは、即時停止位置データと警戒位置データとを含み、
前記即時停止位置データは、前記アームの駆動を即時停止させる範囲を示す位置データであり、
前記警戒位置データは、前記アームを所定の速度以下の速度で駆動させる範囲を示す位置データであり、
前記アーム可動範囲制御部は、前記アームが前記即時停止位置を越えたと判断した場合、および前記アームが所定の速度を上回る速度で前記警戒位置を越えたと判断した場合に、対応する位置の前記ストッパー解除機能を停止して、前記可動範囲制限機能を有効とし、前記アームの可動範囲を制限することを特徴とする請求項１に記載のロボット。
【請求項３】
前記ストッパーは、弾性体の弾性力により所定の位置に突出することで前記アームの可動範囲を機械的に制限する突出体であり、
前記ストッパー機能解除部は、複数の前記突出体のそれぞれに備えられ、
前記ストッパー機能解除部が生成する前記弾性力を上回る反発力によって前記突出体の突出を制限することを特徴とする請求項１または請求項２に記載のロボット。
【請求項４】
前記ストッパー機能解除部は、ソレノイドコイルを含み構成されており、前記反発力は、前記ソレノイドコイルの生成する磁力であることを特徴とする請求項３に記載のロボット。
【請求項５】
前記ストッパー機能解除部は、流体シリンダーを含み構成されており、前記反発力は、前記流体シリンダーの生成する圧力であることを特徴とする請求項３に記載のロボット。
【請求項６】
前記アーム制御部、前記アーム駆動部および前記ストッパー機能解除部を駆動する第一電源と、前記アーム可動範囲制御部を駆動する第二電源と、を備え、
前記可動範囲設定データは、即時停止位置データと警戒位置データとを含み、
前記アーム可動範囲制御部は、前記アームが前記即時停止位置を越えたと判断した場合、および前記アームが所定の速度を上回る速度で前記警戒位置を越えたと判断した場合に、前記第一電源を遮断することにより、前記アームの駆動および前記ストッパー解除機能を停止して、前記可動範囲制限機能を有効とし、前記アームの可動範囲を制限することを特徴とする請求項１ないし請求項５のいずれか一項に記載のロボット。
【請求項７】
複数の前記アームが関節で連結され、連結終端のアームの先端部にハンド部を有するマニピュレーターと、
前記関節の軸部に取り付けられ、相互に連結された前記アームが成す角度を検出する角度センサーと、
前記関節の軸部および前記連結終端のアームの先端部に取り付けられた加速度を検出する慣性センサーと、を備え、
前記アーム可動範囲制御部は、複数の前記アームのそれぞれの長さと、前記角度センサーが検出する前記角度とから前記アームの位置情報を求め、前記慣性センサーが検出する前記アームが移動する加速度から前記関節の軸部および前記連結終端のアームの先端部の速度情報を求めることを特徴とする請求項１ないし請求項６のいずれか一項に記載のロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットに関する。
【背景技術】
【０００２】
人とロボットとが共存して生活や作業を行う環境では、安全のためにロボットの可動範囲を適切にコントロールする必要がある。従来、例えば、特許文献１に記載されているように、旋回軸を有する工業用ロボットの過旋回を防止する動作範囲規制装置が知られていた。この工業用ロボットの動作範囲規制装置は、旋回し得る軸部分の固定側に、移動可能に取り付けたストッパーを備え、旋回し得る軸部分の可動側には、前記ストッパーと当接したときに、過旋回を防止する突起とを備えていた。
また、例えば、特許文献２に記載されているように、異常時に、駆動軸の回転を制止するダイレクトドライブロボットの制動装置が知られていた。このダイレクトドライブロボットの制動装置は、非常停止スイッチの操作時または停電時に動作するストッパーによりダイレクトドライブモーターの駆動軸の回転を制止する手段を設けていた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭６２−２８１９４号公報
【特許文献２】特開平５−２３９９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の工業用ロボットの動作範囲規制装置では、ロボットの動作範囲を変える場合に、その都度ロボットを停止し、ストッパーを取り外してその取り付け位置を変える必要があった。つまり、一旦設定した動作範囲は、ロボットの稼動中に変更することができなかった。そのため、複数のアームを連結する多軸ロボットなどの場合に、各軸に必要な動作範囲を設定した結果、それぞれのアームの動作範囲の組み合わせによっては、先端アームのハンド部が、所定の安全な可動範囲を超えてしまう危険があった。
また、特許文献２に記載のダイレクトドライブロボットの制動装置では、ストッパーの動作により、任意の位置で駆動軸の回転を制止することができるが、非常停止スイッチの操作時、または停電時に限られるという問題があった。つまり、ロボットを制御するプログラムのミスや、ＣＰＵの暴走などによって、ロボットのアームが危険範囲におよぶような動作に対しては、制止することができないという問題があった。
【課題を解決するための手段】
【０００５】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例または形態として実現することが可能である。
【０００６】
［適用例１］本適用例に係るロボットは、アームを備えたロボットであって、アームを駆動するアーム駆動部と、アーム駆動部を制御するアーム制御部と、アームの可動範囲を制限する可動範囲制限機能を有する複数のストッパーと、それぞれのストッパーの可動範囲制限機能を解除するストッパー解除機能を有するストッパー機能解除部とストッパー機能解除部の制御をするアーム可動範囲制御部と、予め設定されたアームの可動範囲を規定する可動範囲設定データと、を備え、アーム可動範囲制御部は、可動範囲設定データと、アームの位置情報とアームが移動する速度情報のどちらか一方あるいは両方の情報と、に基づいてストッパー機能解除部の制御をすることを特徴とする。
【０００７】
本適用例によれば、予め設定されたアームの可動範囲を規定する可動範囲設定データと、アームの位置情報とアームが移動する速度情報のどちらか一方あるいは両方の情報と、に基づいてストッパー機能解除部の制御をする。そのため、例えば、アームが可動範囲を超える場合や、高速な動きにより可動範囲を超えることが予想される場合などに、ストッパー機能解除部が、対応する必要な場所のストッパーのストッパー解除機能をオフとし、ストッパーを機能させることができる。つまり、予め所望の位置に複数設置したストッパーの中から必要な時に必要な位置のストッパーを機能させることができるため、状況に応じて可動範囲を変化させることができる。その結果、例えば、複数のアームを連結する多軸ロボットなどの場合に、ロボットを制御するプログラムのミスや、ＣＰＵの暴走などによって、従来、それぞれのアームの動作範囲の組み合わせによっては、先端アームのハンド部が、所定の安全な可動範囲を超えてしまう危険があったのに対して、それぞれのアームの動作可能範囲を状況に応じて変えることにより、ハンド部が危険領域に入ることを防止することができる。従って、本適用例によれば、人とロボットとが共存して作業を行う環境などにおいて、可動範囲が適切にコントロールできる安全なロボットを提供することができる。
【０００８】
［適用例２］上記適用例に係るロボットにおいて、可動範囲設定データは、即時停止位置データと警戒位置データとを含み、即時停止位置データは、アームの駆動を即時停止させる範囲を示す位置データであり、警戒位置データは、アームを所定の速度以下の速度で駆動させる範囲を示す位置データであり、アーム可動範囲制御部は、アームが即時停止位置を越えたと判断した場合、およびアームが所定の速度を上回る速度で警戒位置を越えたと判断した場合に、対応する位置のストッパー解除機能を停止して、可動範囲制限機能を有効とし、アームの可動範囲を制限することを特徴とする。
【０００９】
本適用例によれば、アーム可動範囲制御部は、アームが即時停止位置を越えたと判断した場合、およびアームが所定の速度を上回る速度で警戒位置を越えたと判断した場合に、対応する位置のストッパー解除機能を停止して、可動範囲制限機能を有効とし、アームの可動範囲を制限する。例えば、人とロボットとが、物の授受・引渡しなどを行なう場合などにおいては、安全なスピードでロボットが人に接近する動作が必要である。従って、ロボットと人とが近接する危険領域においては、所定のスピードを下回る場合には動作を継続することができ、何らかの異常で所定のスピードを上回り危険領域に近づく場合には、停止する制御が必要となる。アームが所定の速度を上回る速度で予め設定した警戒位置を越えたと判断した場合に、対応する位置のストッパー解除機能を停止することで、危険動作を制限することが可能となる。従って、本適用例によれば、人とロボットとが共存して作業を行う環境などにおいて、可動範囲が適切にコントロールできる安全なロボットを提供することができる。
【００１０】
［適用例３］上記適用例に係るロボットにおいて、ストッパーは、弾性体の弾性力により所定の位置に突出することでアームの可動範囲を機械的に制限する突出体であり、ストッパー機能解除部は、複数の突出体のそれぞれに備えられ、ストッパー機能解除部が生成する弾性力を上回る反発力によって突出体の突出を制限することを特徴とする。
【００１１】
本適用例によれば、例えば、バネなどによる弾性力によって突出することで機械的に機能するストッパーにおいて、バネの弾性力を上回る力で、突出を押さえることで、ストッパーの機能を解除することができる。従って、ストッパーとして機能させる位置を変える場合に、その都度、ストッパーを取り外し、所望する位置に付け替えるなどの手間をかけることなく、必要な位置のストッパーのみ突出させるようにコントロールすることができる。
【００１２】
［適用例４］上記適用例に係るロボットにおいて、ストッパー機能解除部は、ソレノイドコイルを含み構成されており、反発力は、ソレノイドコイルの生成する磁力であることを特徴とする。
【００１３】
本適用例によれば、例えば、バネなどによる弾性力によって突出することで機械的に機能するストッパーにおいて、ソレノイドコイルが生成する磁力によって、バネの弾性力を上回る力を伝え、突出を抑えることで、ストッパーの機能を解除することができる。複数のストッパーのそれぞれに例えばプルソレノイドを配置し、ソレノイドを駆動することで、ストッパーの突出を押さえるようにした場合、それぞれのプルソレノイドを駆動する電気信号をコントロールすることで、必要な位置のストッパーのみ突出させるようにコントロールすることができる。
【００１４】
［適用例５］上記適用例に係るロボットにおいて、ストッパー機能解除部は、流体シリンダーを含み構成されており、反発力は、流体シリンダーの生成する圧力であることを特徴とする。
【００１５】
本適用例によれば、例えば、バネなどによる弾性力によって突出することで機械的に機能するストッパーにおいて、流体シリンダーの生成する圧力によって、バネの弾性力を上回る力を伝え、突出を抑えることで、ストッパーの機能を解除することができる。複数のストッパーのそれぞれに例えばエアシリンダーを配置し、エアシリンダーに圧空を送ることで、ストッパーの突出を押さえるようにした場合、それぞれのエアシリンダーを駆動する圧空をコントロールすることで、必要な位置のストッパーのみ突出させるようにコントロールすることができる。
【００１６】
［適用例６］上記適用例に係るロボットにおいて、アーム制御部、アーム駆動部およびストッパー機能解除部を駆動する第一電源と、アーム可動範囲制御部を駆動する第二電源と、を備え、可動範囲設定データは、即時停止位置データと警戒位置データとを含み、アーム可動範囲制御部は、アームが即時停止位置を越えたと判断した場合、およびアームが所定の速度を上回る速度で警戒位置を越えたと判断した場合に、第一電源を遮断することにより、アームの駆動およびストッパー解除機能を停止して、可動範囲制限機能を有効とし、アームの可動範囲を制限することを特徴とする。
【００１７】
本適用例によれば、アーム可動範囲制御部は、アームが即時停止位置を越えたと判断した場合、およびアームが所定の速度を上回る速度で警戒位置を越えたと判断した場合に、第一電源を遮断する。第一電源が切られることにより、第一電源により駆動されるすべてのストッパー解除機能が停止し、すべてのストッパーがアームの可動範囲を制限するように機能する。従って、具体的には、ロボットの非常停止が必要な場合などにおいて、高速で移動中のアームが慣性によりコントロールを失って動き続ける場合などにおいても、危険領域におけるアームの動きを制御することができる。
【００１８】
［適用例７］上記適用例に係るロボットにおいて、複数のアームが関節で連結され、連結終端のアームの先端部にハンド部を有するマニピュレーターと、関節の軸部に取り付けられ、相互に連結されたアームが成す角度を検出する角度センサーと、関節の軸部および連結終端のアームの先端部に取り付けられた加速度を検出する慣性センサーと、を備え、アーム可動範囲制御部は、複数のアームのそれぞれの長さと、角度センサーが検出する角度とからアームの位置情報を求め、慣性センサーが検出するアームが移動する加速度から関節の軸部および連結終端のアームの先端部の速度情報を求めることを特徴とする。
【００１９】
本適用例によれば、複数のアームのそれぞれの長さと、それぞれのアームが成す角度、それぞれのアームが移動する加速度などの情報から、マニピュレーターの各関節の位置、ハンド部の位置、およびそれぞれの位置の速度などの情報を動作中に算出して求めることができる。その結果、それぞれのアームの動作可能範囲をマニピュレーターの稼働状況に応じて変えることにより、ハンド部が危険領域に入ることを防止することができる。従って、本適用例によれば、人とロボットとが共存して作業を行う環境などにおいて、可動範囲が適切にコントロールできる安全なロボットを提供することができる。
【図面の簡単な説明】
【００２０】
【図１】実施形態１に係るロボットの機能ブロック図。
【図２】実施形態１に係るロボットを示す斜視図。
【図３】（ａ）〜（ｃ）従来技術のストッパーを説明する模式図。
【図４】実施形態１に係るストッパーを説明する模式図。
【図５】（ａ）、（ｂ）実施形態１に係るストッパーをアームに取り付けた様子を示す説明図。
【図６】実施形態１に係るロボットのマニピュレーター可動範囲を示す斜視図。
【発明を実施するための形態】
【００２１】
以下に本発明を具体化した実施形態について、図面を参照して説明する。以下は、本発明の一実施形態であって、本発明を限定するものではない。なお、以下の各図においては、説明を分かりやすくするため、実際とは異なる尺度で記載している場合がある。
【００２２】
（実施形態１）
まず、実施形態１に係るロボットについて説明する。
図１は、実施形態１に係る一例としてのロボット１００の機能ブロック図、図２は、ロボット１００を示す斜視図である。
ロボット１００は、垂直６軸型多関節ロボットであり、マニピュレーター１０、ロボット制御部４０、アーム可動範囲制御部５０、電源６１、６２などから構成されている。
【００２３】
マニピュレーター１０は、関節で連結された、旋回，下腕振り，上腕振り，手首旋回，手首振り，手首回転の６つのアーム１１（１１ａ〜１１ｆ）、連結終端のアーム１１ｆの先端部に取り付けられたハンド部（図示省略）などから構成される。
それぞれのアーム１１は、アーム駆動部１２、ストッパー２０、ストッパー機能解除部３０、センサー１５などを備えている。
【００２４】
アーム駆動部１２（１２ａ〜１２ｆ）は、アーム１１（１１ａ〜１１ｆ）が連結される各軸を駆動するモーターユニットを備えている。
ストッパー２０は、アーム１１（１１ａ〜１１ｆ）が連結される各軸周りに備えられ、ストッパー機能解除部３０は、それぞれのストッパー２０に備えられる。ストッパー機能解除部３０の制御は、アーム可動範囲制御部５０によって行われる。これらの詳細については後述する。
【００２５】
センサー１５には、角度センサーと加速度センサーとがあり、アーム１１が連結される各軸を駆動するそれぞれのモーターユニットに取り付けられている。加速度センサーは、ハンド部にも取り付けられている。
角度センサーには、好適例としてレゾルバを用いているが、ロータリーエンコーダーなどであっても良い。加速度センサーには、例えば、３軸加速度センサーとしてのＭＥＭＳセンサーを用いているがこれに限定するものではない。
【００２６】
ロボット制御部４０は、ＣＰＵ（Central Processing Unit）４１、プログラム４２、アーム制御部４３などを備え、ロボット１００全体の稼動制御を行う。
アーム制御部４３は、ＣＰＵ４１の制御のもとに、プログラム４２に従ってアーム駆動部１２を制御する。また、ロボット制御部４０に接続されるＰＣ（Personal Computer）７０などによって、プログラム４２の設定やメンテナンス、後述する可動範囲設定データ８０などの情報伝達を行なう。
【００２７】
電源６１は、第一電源として、ロボット制御部４０、マニピュレーター１０を駆動する電力を供給している。つまり、アーム制御部４３、アーム駆動部１２およびストッパー機能解除部３０は、電源６１から電力が供給されている。電源６２は、第一電源とは独立し、第二電源として、アーム可動範囲制御部５０を駆動する電力を供給している。
【００２８】
次に、ストッパー２０の機能について説明する。
まず、従来使われているストッパーを、模式図を参照して説明する。
図３（ａ）は、従来のストッパーを備える連結機構２００の側面図、図３（ｂ）は、連結機構２００の平面図である。
連結機構２００は、基部２０１に駆動軸２９３を介してアーム２０２を連結し、モーターユニット２１２によりアーム２０２が回動するようにした連結機構である。
【００２９】
基部２０１のアーム２０２が回動する側の面には、駆動軸２９３から略等距離の位置に複数のネジ穴２２１が設けられている。複数のネジ穴２２１の内、所定の位置に、ネジ溝を有するストッパー２２０がネジ止めされている。
アーム２０２には、基部２０１に相対する面に、突出部２０３が備えられている。突出部２０３とストッパー２２０とは、駆動軸２９３から略等距離の位置にあり、アーム２０２が回動し、突出部２０３がストッパー２２０の頭部と当接することで、アーム２０２の回動が制限されるようになっている。
【００３０】
図３（ｂ）は、２個のストッパー２２０がネジ止めされ、突出部２０３がこれらのストッパー２２０に当接してアーム２０２の回動が制限される範囲（アーム２０２が一点鎖線で示される位置から二点鎖線で示される位置までの矢印の範囲）を示している。
なお、図３（ｂ）は、アーム２０２を回動した様子を示しているため、突出部２０３の位置は図３（ａ）と異なっている。
【００３１】
実際の使用に当たっては、モーターユニット２１２を駆動するプログラムなどにより、ストッパー２２０には当接しない範囲でアーム２０２が駆動されるが、安全のために、何らかの異常があった場合であっても、制限する可動範囲を超えないようにストッパー２２０が設置される。プログラムを変更し、可動範囲を変える場合には、予め設けられた別のネジ穴２２１にストッパー２２０を差し替えることで対応する。
【００３２】
ストッパーは、回動する連結機構だけではなく、往復運動する機構においても利用される。図３（ｃ）は、基部３０１に備えた駆動部３１２により円柱状の駆動軸３９３が往復運動する機構３００を示す模式図である。図３（ｃ）において、駆動軸３９３の上端付近および下端付近には、ストッパーとしてのストッパーリング３２０ａと３２０ｂとがネジ３１４により固定されている。往復運動する駆動軸３９３は、ストッパーリング３２０ａと３２０ｂが基部３０１に当接することで、可動範囲が制限される。
【００３３】
以上は、従来使われていたストッパーの説明であるが、ストッパー２２０などの従来のストッパーをロボット１００に活用する場合、可動範囲を変えるためには、ロボット１００を停止してストッパーの取り付け位置を変える必要があった。つまり、一旦設定した可動範囲は、ロボット１００の動作中に変更することができなかった。そのため、複数のアーム１１を連結する各軸に必要な可動範囲を設定した場合、それぞれのアーム１１の可動範囲の組み合わせによっては、先端のアーム１１ｆに取り付けたハンド部が、所定の安全な可動範囲を超えてしまう危険があった。
【００３４】
図４は、本実施形態に係るロボット１００が備えるストッパー２０を説明する側断面図である。
ストッパー２０は、上記の課題に対応するために、ストッパーとしての機能をロボット１００が動作している間も制御できるようにしている。
【００３５】
図４に示すように、ストッパー２０は、弾性体としてのバネ２１、ストッパー機能解除部３０などを備えている。
ストッパー２０は、鉄製の円柱体であり、突出部２０ａとコア部２０ｂとから成る。突出部２０ａが、アーム１１を構成する基材９０に開けた穴９１から突出することで、上述した従来のストッパーと同様に、アーム１１が回動する範囲（可動範囲）を制限する機能を持つ。ストッパー２０は、穴９１から脱落しないように、突出部２０ａとは反対側のコア部２０ｂの径が穴９１の内径より大きく形成されている。
【００３６】
ストッパー機能解除部３０は、ソレノイドコイル３１、コイル筐体３２などから成り、ソレノイドコイル３１の中央部に位置するストッパー２０（コア部２０ｂ）、バネ２１と共にソレノイドアクチュエーターとして構成されている。
バネ２１は、コイル筐体３２の内部（ソレノイドコイル３１の中央部）に収納され、コア部２０ｂを穴９１の方向へ押圧して突出部２０ａを穴９１から突出させている。
ソレノイドコイル３１の磁力がバネ２１の押圧力を上回るように励磁されると、コア部２０ｂはソレノイドコイル３１の内部に引き込まれる。その結果、突出部２０ａが基材９０から突出する量が減少し、もしくは、突出部２０ａが突出しなくなり、ストッパー２０は、上述したストッパーとしての機能を失う。
なお、ストッパー２０は、好適例として鉄製の円柱体を用いているが、これに限定するものではない。ソレノイドアクチュエーターが構成できる磁性体部分を有するものであれば良く、突出することでストッパーとしての機能が発揮される形状であれば良い。
【００３７】
図５（ａ）は、ストッパー２０およびストッパー機能解除部３０などをアーム１１ｂ（図２）に取り付けた様子を示す平面図、図５（ｂ）は、同側面図である。
アーム１１ｂは、アーム駆動部１２ｂ、センサー１５、ストッパー２０、ストッパー機能解除部３０、基材９０などを含み構成されている。
アーム１１ｂは、アーム駆動部１２ｂの駆動軸９３を介して下腕２（図２）に連結され、アーム駆動部１２ｂのモーターユニットにより回動する。
【００３８】
基材９０には、複数の穴９１が、アーム駆動部１２ｂを構成するモーターユニットの駆動軸９３の同心円上の所定の位置に形成されている。また、ストッパー機能解除部３０を備えたストッパー２０は、穴９１のすべての部分に設置されている。
穴９１の数および位置は、アーム１１ｂの回動を制限する範囲の位置やその設定できるステップの細かさなどによって適宜決定することが好ましい。
【００３９】
下腕２には、突出部３が備えられている。突出部３とストッパー２０とは、駆動軸９３から略等距離の位置にあり、アーム１１ｂが回動し、突出したストッパー２０（突出部２０ａ）が突出部３に当接することで、アーム１１ｂの可動範囲が制限されるようになっている。
なお、図５（ａ）では、アーム１１ｂの両側面の基材９０にストッパー２０およびストッパー機能解除部３０などを取り付けているが、片側の面だけに取り付ける構成であっても良い。
【００４０】
ストッパー機能解除部３０の制御は、アーム可動範囲制御部５０によって行われる。具体的には、アーム１１ｂを自由に回動させる場合において、すべてのストッパー機能解除部３０を構成するソレノイドコイル３１（図４）は励磁され、ストッパー２０は、穴９１の内部に引き込まれた状態を保つことで、ストッパー機能を解除している。アーム１１ｂの回動範囲（可動範囲）に制限を持たせる場合には、該当する範囲を制限する位置のソレノイドコイル３１をオフとすることで、ストッパー２０は、穴９１から突出し、ストッパーとしての機能を持つ。これらの制御は、ストッパー機能解除部３０に電気的に接続されたアーム可動範囲制御部５０によって行われる。
【００４１】
ロボット１００において、アーム駆動部１２（１２ａ〜１２ｆ）を有するそれぞれのアーム１１の連結は、上記と同様にそれぞれの駆動軸の周囲に複数のストッパー２０を備えて構成されている。なお、マニピュレーター１０の先端のハンド部を取り付けるアーム１１ｆのアーム駆動部１２ｆには、必ずしもストッパー２０を取り付ける必要はない。
【００４２】
次に、以上のような構成のロボット１００における具体的な可動範囲の制御について説明する。
ロボット１００は、予め設定された、アーム１１の可動範囲を規定する可動範囲設定データ８０（図１）を有している。アーム可動範囲制御部５０は、可動範囲設定データ８０と、センサー１５から得られるアーム１１の位置情報とアーム１１が移動する速度情報のどちらか一方あるいは両方の情報と、に基づいて個々のストッパー機能解除部３０の制御を行う。以下に具体的に説明する。
なお、アーム１１の位置情報とは、アーム１１ａ〜１１ｆを構成する各部位が、ワールド座標系の空間に占める座標の情報を言う。
【００４３】
図６は、ロボット１００のマニピュレーター１０（アーム１１）が動作できる範囲（可動範囲）の例を示す斜視図である。
図６において、破線で囲まれた空間ＡＢＣＤＥＦＧＨは、ロボット１００が安全な制御のもとに稼動できる空間を示している。つまり、この位置を越えた場合には、ロボット１００を即時停止させる必要がある。また、この空間の中でも、空間ＡＢＣＤＡ’Ｂ’Ｃ’Ｄ’は、ロボット１００が一定のスピードを上回ることなく稼動（警戒動作）することが可能な空間（警戒範囲）を意味している。
【００４４】
なお、図６に示す例では、ロボット１００が安全な制御のもとに稼動できる空間として、立方体空間（破線で囲まれた空間ＡＢＣＤＥＦＧＨ）を用いて説明しているが、これに限定するものではなく、例えば円柱形状や球形状、または、それらを組み合わせた複合形状の空間であっても良い。
また、ロボット１００が一定のスピードを上回ることなく警戒動作することが可能な警戒範囲として、前記立方体空間のＸ方向の前面に沿った空間（破線で囲まれた空間ＡＢＣＤＡ’Ｂ’Ｃ’Ｄ’ ）を用いて説明しているが、これに限定するものではなく、ロボット１００が安全な制御のもとに稼動できる空間の例えばＹ方向の左右両面や上面、背面など、周囲のいずれの面に沿った空間に設定しても良い。
【００４５】
ロボット１００の動作がプログラミングされる際、つまりティーチングの際には、これら可動範囲および警戒範囲の情報も合わせて入力される。具体的には、可動範囲設定データ８０として、即時停止位置データおよび警戒位置データが入力される。
即時停止位置データは、アーム１１の駆動を即時停止させる範囲を示す位置データであり、警戒位置データは、アーム１１を所定の速度以下の速度で駆動させる範囲を示す位置データである。
具体的には、即時停止位置データとして、空間ＡＢＣＤＥＦＧＨを構成する面の座標情報が入力される。マニピュレーター１０（アーム１１）のいずれかの部分が、即時停止位置に達し、可動範囲（空間ＡＢＣＤＥＦＧＨ）から外に出ようとした場合に即時停止動作の制御が行なわれるようにする。
また、警戒位置データとしては、面Ａ’Ｂ’Ｃ’Ｄ’の座標情報が入力される。マニピュレーター１０（アーム１１）のいずれかの部分が、警戒位置に達し、予め設定された所望の速度を上回る速度で警戒範囲（空間ＡＢＣＤＡ’Ｂ’Ｃ’Ｄ’）に入ろうとした場合に警戒動作の制御が行なわれるようにする。
【００４６】
アーム可動範囲制御部５０は、ロボット１００の原点座標および上記可動範囲設定データ８０を、同一の座標系（ワールド座標系）に持つ。また、合わせて、各アーム１１ａ〜１１ｆの駆動軸間距離などの寸法情報、アーム駆動部１２ａ〜１２ｆそれぞれに備えたストッパー２０がストッパーとして機能する位置の情報（アーム回動角度範囲などの制御対象となる可動範囲の情報）を、それぞれのアーム１１のローカル座標系の情報として持つ。
【００４７】
アーム可動範囲制御部５０は、ロボット１００が動作する間、上記の情報から、各アーム１１（１１ａ〜１１ｆ）の位置情報や動作ベクトルをヤコビ行列（ヤコビアン）によって求める。つまり、連結されるそれぞれのアームの駆動軸間距離と、センサー１５が検出するそれぞれのアームが成す角度や速度とから、連結される先のアーム１１の位置座標や動作ベクトルを求める。また、アーム可動範囲制御部５０は、可動範囲設定データ８０を比較参照し、求められた各アーム１１（１１ａ〜１１ｆ）の位置座標のいずれかが、即時停止位置に達し、可動範囲（空間ＡＢＣＤＥＦＧＨ）から外に出ようとしていると判断される場合に、即時停止動作の制御を行なう。具体的には、可動範囲（空間ＡＢＣＤＥＦＧＨ）から外に出ようとしているアーム１１の動きを制限する位置のストッパー２０のストッパー機能を発揮させるべく、該当するストッパー機能解除部３０の駆動を停止する。より具体的には、アーム可動範囲制御部５０の制御により、該当位置のソレノイドコイル３１をオフとし、ストッパー２０を突出させることで、相対する突出部３に当接させ、アーム１１の動きを制限する。
【００４８】
また、アーム可動範囲制御部５０は、可動範囲設定データ８０を比較参照し、求められた各アーム１１（１１ａ〜１１ｆ）の位置座標のいずれかが、警戒位置に達し、予め設定された所望の速度を上回る速度で警戒範囲（空間ＡＢＣＤＡ’Ｂ’Ｃ’Ｄ’）に入ろうとしていると判断される場合に、警戒動作の制御を行なう。具体的には、アーム可動範囲制御部５０は、アーム制御部４３に対して、所望の速度への減速制御を指示する。また、同時に、継続されるアーム１１の動きにより予想される即時停止位置への進行を制限する位置のストッパー２０のストッパー機能を発揮させるべく、上記と同様に該当するストッパー機能解除部３０の駆動を停止する。
【００４９】
なお、上記では、算出された各アーム１１（１１ａ〜１１ｆ）の位置座標のいずれかが、即時停止位置に達した場合に、即時停止動作の制御を行なうと説明したが、センサー１５から得られる位置情報および速度情報などによって、アーム１１の動きを予測し、即時停止位置に達する前に即時停止動作の制御を開始する方法をとっても良い。こうすることで、アームの慣性などによる挙動に対してより安全性を高めることができる。
【００５０】
また、アーム可動範囲制御部５０は、ロボット１００の非常停止制御の機能を有しても良い。具体的には、予め、可動範囲設定データ８０に非常停止位置座標データを設定し、予め設定された所望の速度を上回る速度で非常停止位置に入ろうとしていると判断される場合に、非常停止の制御を行なう。非常停止の制御としては、すべてのソレノイドコイル３１をオフとし、すべてのストッパー２０を突出させることで、相対する突出部３に当接させ、アーム１１の動きを制限するものである。すべてのソレノイドコイル３１をオフとする制御は、電源６１を遮断することで行なっても良い。
【００５１】
以上述べたように、本実施形態によるロボット１００によれば、以下の効果を得ることができる。
予め設定されたアーム１１の可動範囲を規定する可動範囲設定データ８０と、アーム１１の位置情報とアーム１１が移動する速度情報のどちらか一方あるいは両方の情報と、に基づいてストッパー機能解除部３０の制御をする。そのため、例えば、アーム１１が可動範囲を超える場合や、高速な動きにより可動範囲を超えることが予想される場合などに、ストッパー機能解除部３０が、対応する必要な場所のストッパー２０のストッパー解除機能をオフとし、ストッパー２０を機能させることができる。つまり、予め所望の位置に複数設置したストッパー２０の中から必要な時に必要な位置のストッパー２０を機能させることができるため、状況に応じて、つまり、ある軸の可動範囲を他の軸の位置に応じて変化させることができる。
【００５２】
具体的には、例えば連結終端のアーム１１ｆの先端部に取り付けられたハンド部の位置に応じて、ハンド部に連結される他の軸の可動範囲を変えることにより、ハンド部が可動範囲を超えないように制御することができる。その結果、例えば、ロボット１００を制御するプログラム４２のミスや、ＣＰＵ４１の暴走などによって、従来は、それぞれのアーム１１の動作範囲の組み合わせによっては、先端のアーム１１ｆのハンド部が、所定の安全な可動範囲を超えてしまう危険があったのに対して、ハンド部が危険領域に入ることを防止することができる。従って、本実施形態によるロボット１００によれば、人とロボットとが共存して作業を行う環境などにおいて、可動範囲が適切にコントロールできる安全なロボットを提供することができる。
【００５３】
また、アーム可動範囲制御部５０は、アーム１１が即時停止位置を越えたと判断した場合、およびアーム１１が所定の速度を上回る速度で警戒位置を越えたと判断した場合に、対応する位置のストッパー解除機能を停止して、可動範囲制限機能を有効とし、アーム１１の可動範囲を制限する。例えば、人とロボットとが、物の授受・引渡しなどを行なう場合などにおいては、安全なスピードでロボットが人に接近する動作が必要である。従って、ロボットと人とが近接する危険領域においては、所定のスピードを下回る場合には動作を継続することができ、何らかの異常で所定のスピードを上回り危険領域に近づく場合には、停止する制御が必要となる。アーム１１が所定の速度を上回る速度で予め設定した警戒位置を越えたと判断した場合に、対応する位置のストッパー解除機能を停止することで、危険動作を制限することが可能となる。
【００５４】
また、アーム可動範囲制御部５０は、アーム１１が即時停止位置を越えたと判断した場合、およびアーム１１が所定の速度を上回る速度で警戒位置を越えたと判断した場合に、電源６１を遮断する制御を行うことで、電源６１により駆動されるすべてのストッパー解除機能が停止し、すべてのストッパー２０がアーム１１の可動範囲を制限するように機能する。従って、具体的には、ロボット１００の非常停止が必要な場合などにおいて、高速で移動中のアーム１１が慣性によりコントロールを失って動き続ける場合などにおいても、危険領域におけるアーム１１の動きを制御することができる。
【００５５】
また、予め設定された可動範囲設定データ８０と、プログラム４２によって規定されるアーム１１の位置情報やティーチングの際のアーム１１の位置情報とを比較することで、ロボット１００を稼動させる前に可動範囲の妥当性を検証することもできる。つまり、予め可動範囲設定データ８０を設定することで、プログラムミスやティーチングミスを事前にチェックすることもできる。
【００５６】
なお、アーム１１の速度を加速度センサーによって求めると説明したが、加速度センサーを用いず、ヤコビ行列によって求める位置の時間的変化から算出する方法であっても良い。また、安全性やアーム１１の速度を求める処理スピード、処理負荷を考慮して、その両方の情報を使う、あるいは使い分ける方法であっても良い。
【００５７】
また、アーム可動範囲制御部５０は、マニピュレーター１０の動きをアーム１１の持つ長さや角度などのパラメーターに基づいてヤコビ行列によって都度算出し可動範囲設定データ８０と比較すると説明したが、この方法に限定するものではない。例えば、予め、各アーム１１（１１ａ〜１１ｆ）の角度と各アーム１１（１１ａ〜１１ｆ）の位置座標とをテーブル情報として備え、それぞれのセンサー１５によって得られる角度情報が、組み合わせの角度範囲となった場合に、該当する制御を行なうという方法であっても良い。この方法によると、アーム可動範囲制御部５０が、ヤコビ行列によって都度アーム１１の動きを算出する処理の負荷が軽減され、より高速に制御することが可能となる。
【００５８】
また、アーム可動範囲制御部５０は、センサー１５により得られた情報で求めたアーム１１の位置情報と、可動範囲設定データ８０と比較した結果に基づいてロボット１００の可動範囲制御をすると説明したが、この方法に限定するものではない。例えば、ロボット１００の稼動環境に設置されたカメラやライトカーテン、超音波センサーなどを利用し、赤外線や超音波などによる位置の検出や実測によって外部センサーデータ８１（図１）として求め、その結果に基づいて制御しても良い。この方法によると、アーム可動範囲制御部５０が、アーム１１の位置情報と可動範囲設定データ８０とを比較する処理の負荷が軽減され、より高速に制御することが可能となる。
【００５９】
また、ストッパー機能解除部３０は、ソレノイドコイル３１を用い、ソレノイドコイル３１の磁力を利用してストッパー２０の機能を解除すると説明したが、この方法に限定するものではない。例えば、ストッパー機能解除部３０は、流体シリンダーを含み構成されても良く、流体シリンダーの生成する圧力を利用してストッパー２０の機能を解除する方法であっても良い。複数のストッパーのそれぞれに例えばエアシリンダーを配置し、エアシリンダーに圧空を送ることで、ストッパーの突出を押さえるようにした場合、それぞれのエアシリンダーを駆動する圧空をコントロールすることで、必要な位置のストッパーのみ突出させるようにコントロールすることができる。
【００６０】
また、本実施形態では、各アームが回動するタイプのロボットで説明したが、これに限定するものではなく、例えば、図３（ｃ）で説明した往復運動する機構においても同様に利用することができる。具体的には、図３（ｃ）の例の場合、ストッパー２０やストッパー機能解除部３０などを、駆動軸３９３の内部の複数の位置に設置し、ストッパー２０の突出部２０ａを必要に応じて駆動軸３９３から突出させる制御を行うことで、実現することができる。
【符号の説明】
【００６１】
２…下腕、３…突出部、１０…マニピュレーター、１１…アーム、１２…アーム駆動部、１５…センサー、２０…ストッパー、２０ａ…突出部、２０ｂ…コア部、２１…バネ、３０…ストッパー機能解除部、３１…ソレノイドコイル、３２…コイル筐体、４０…ロボット制御部、４１…ＣＰＵ、４２…プログラム、４３…アーム制御部、５０…アーム可動範囲制御部、６１，６２…電源、７０…ＰＣ、８０…可動範囲設定データ、８１…外部センサーデータ、９０…基材、９１…穴、９３…駆動軸、１００…ロボット。
【図１】
2013111718.tif 000003
【図２】
2013111718.tif 000004
【図３】
2013111718.tif 000005
【図４】
2013111718.tif 000006
【図５】
2013111718.tif 000007
【図６】
2013111718.tif 000008