(57)【特許請求の範囲】
【請求項１】
先側の揺動アームと基側の揺動アームとが関節軸の対によって接続され、一方の関節軸とモータとが負荷に応じて微小角捻じれるようにカップリングを介在して連結されることで、上記先側の揺動アームを上記基側の揺動アームに対して上記モータにて揺動するよう構成されたロボットが、その動作中に障害物への接触を判定するために、当該ロボットに取り付けるロボット接触検知装置であって、
上記モータの回転量を検出するモータ側ロータリーエンコーダと、他方の関節軸の回転量を検出する実回転角検出用ロータリーエンコーダと、上記モータ側ロータリーエンコーダ及び上記実回転角検出用ロータリーエンコーダの各検出信号を受けてモータを制御する制御部と、を備え、
上記制御部が、上記モータ側ロータリーエンコーダ及び上記実回転角検出用ロータリーエンコーダからの各検出信号に基づき、上記モータの回転角及び上記先側の揺動アームの回転角を算出する角度算出部と、上記角度算出部によって算出された各回転角の差分を求める差分算出部と、上記差分算出部によって求めた差分から上記先側の揺動アームの接触を判定する判定部と、を備え、
上記判定部は、上記差分算出部から入力された差分に関する値を格納しておき、上記差分算出部から入力された値が上記差分算出部から所定回数前に入力された値と比べ、差が閾値を超えている場合、上記先端の揺動アームの接触を判定する、
ロボット接触検知装置。
【請求項２】
前記カップリングがコイルばねである、請求項１に記載のロボット接触検知装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットアームが動作中に障害物に接触したかを判定するロボット接触検知装置に関する。
【背景技術】
【０００２】
例えば作業用ロボットにおいて、複数のアームを関節部でそれぞれ連結してロボットアームとし、各関節部にモータを取り付けてモータを駆動することによってロボットアームを動作させている。このようなロボットを用いて組立作業を自動化して生産性を向上させている（例えば、特許文献１乃至６）。
【０００３】
このようなロボット作業システムでは、ロボットアームが作業者や各種物体と接触しないように監視したり又は接触状態を検知したりするために各種のセンサを用いている。
第１の例として、駆動軸と関節軸とを力センサを介して連結することでロボットアームの関節部を構成し、力センサで検知したトルクの変化状況を監視することにより、ロボットアームの接触状態を判定している。
第２の例として、ロボットアームが設置された領域にエリアセンサを設けてロボットアームの動作範囲を確認している。これにより、ロボットアームと作業者とが近接して作業する場合にレーザーセンサを用いて作業者を含む障害物を検知することができる。
【０００４】
このように、各種センサを用いることで、次のことが実現される。
１）  ロボットアームの可動範囲と障害物の作業範囲とを完全に離隔させることができ、安全性を確保することができる。
２）  ロボットアームを駆動させるコントローラに動作パターンを与え、動作パターンに従ってロボットアームが動作しているかをセンサとしての監視カメラで常時把握し、ロボットアームが物体に接触することで、ロボットアームの動作を停止させることができる。
３）  センサとしてレーザーセンサを用いることで、センシング領域に障害物を検知すると、ロボットアームの動作を速やかに停止させることができる。
４）  ロボットアームに力センサを取り付けておき、ロボットアームと物体とが接触すると力センサのトルクが変化するので、そのトルク変化を検知することでロボットアームの動作を停止させることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３３８３６１４号公報
【特許文献２】特開２００６−０２１２８７号公報
【特許文献３】特開２００９−０９０４６２号公報
【特許文献４】特表２００９−５４５４５７号公報
【特許文献５】特開２０１０−２６９４１２号公報
【特許文献６】特開２０１１−５６６０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来のロボット作業システムでは、上述したように、ロボットアームが障害物と接触することを前提として接触の判定がなされる。そのため、駆動側、関節側の位置情報を得るためにロータリーエンコーダ及び入力ボードを設けたり、力センサ及び入力ボードを設けたり、センサ及びセンサ系の入力が必要となり、システムが複雑化する。また、センサの数が多くなるとそれだけロボットアームに負荷がかかる。
【０００７】
本発明の目的は、ロボット作業システムにおいて必要最低限の数だけセンサを設け、ロボットアームが障害物に接触したかどうかを検知することができるロボット接触検知装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明は、動作中にロボットが障害物へ接触したかを判定するためのロボット接触検知装置であって、
先側の揺動アームと基側の揺動アームとを関節軸の対によって接続し、一方の関節軸とモータとを負荷に応じて微小角捻じれるようにカップリングを介在して連結することで、先側の揺動アームをモータにより基側の揺動アームに対して揺動するよう構成されたロボットに取り付けられて用いられ、
モータの回転量を検出するモータ側ロータリーエンコーダと、他方の関節軸の回転量を検出する実回転角検出用ロータリーエンコーダと、モータ側ロータリーエンコーダ及び実回転角検出用ロータリーエンコーダの各検出信号を受けてモータを制御する制御部と、を備え、
制御部が、モータ側ロータリーエンコーダ及び実回転角検出用ロータリーエンコーダからの各検出信号に基づき、モータの回転角及び先側の揺動アームの回転角を算出する角度算出部と、角度算出部によって算出された各回転角の差分を求める差分算出部と、差分算出部によって求めた差分から先側の揺動アームの接触を判定する判定部と、を備え、
判定部は、差分算出部から入力された差分に関する値を格納しておき、差分算出部から入力された値が差分算出部から所定回数前に入力された値と比べ、差が閾値を超えている場合、先端の揺動アームの接触を判定する。
ここで、カップリングはコイルばねである。
【発明の効果】
【００１０】
本発明のロボット接触検知装置によれば、ロボットアームが、動作中に障害物に接触したときに生じる機械的な変化を監視し、接触が有ったかを判定することができる。よって、従来のように、力センサ、表面感圧センサ、レーザーセンサなどの各種センサを必要以上に設ける必要がなく、ロボットアームが動作中に障害物に接触したかを判定することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係るロボット接触検知装置をロボットアームの関節部に取り付けた状態の構成図である。
【図２】図１に示すロボットアームの関節部を複数備えたロボットの斜視図である。
【図３】図１に示すロボットアームの関節部及びその近傍を示す断面図である。
【図４】図１に示すロボット接触検知装置で実現される機能を示す機能ブロック図である。
【図５】本発明の実施形態に係るロボット接触検知装置のフロー図である。
【図６】図４に示す記録部に記録される情報を示す図表である。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら本発明の実施形態を説明する。
図１は本発明の実施形態に係るロボット接触検知装置をロボットアームの関節部に取り付けた状態の構成図であり、図２は図１に示すロボットアームの関節部を複数備えたロボットの斜視図である。図３は図１に示すロボットアームの関節部及びその近傍を示す断面図である。
【００１３】
本発明の実施形態に係るロボット接触検知装置１００は、例えば、図２に示すように多関節の水平スカラーロボットＲに取り付けられる。水平スカラーロボットＲは、図２に示すように、支柱１とフォークエンド形のブラケット２と第１のサーボモータ３と第１の揺動アーム４と第２のサーボモータ５と第２の揺動アーム６と第３のサーボモータ７と第３の揺動アーム８とロッド９とロボットハンド１０とを備える。
【００１４】
ブラケット２は支柱１の上端面に載置して固定されている。第１の揺動アーム４は、ブラケット２に基端を回転可能に支持され、第１のサーボモータ３により水平面内に揺動自在となっている。第２の揺動アーム６は、第１の揺動アーム４のフォークエンド形の先端部に基端を回転可能に支持され、第２のサーボモータ５により水平面内に揺動自在となっている。第３の揺動アーム８は、第２の揺動アーム６のフォークエンド形の先端部に基端を回転可能に支持され、第３のサーボモータ７により水平面内に揺動自在となっている。ロッド９は、第３の揺動アーム８の先端部から垂下している。ロボットハンド１０が、このロッド９の下端に交換可能に取り付けられている。
【００１５】
本発明の実施形態に係るロボット接触検知装置１００は、図２に示すような水平スカラーロボットＲ以外のロボット、すなわち、先側の揺動アームと基側の揺動アームとの関節部がヒンジ構造を有しているロボットに取り付けられてもよい。
【００１６】
本発明の実施形態に係るロボット接触検知装置１００は、各サーボモータ３，５，７が取り付けられている各関節部Ａ，Ｂ，Ｃに、同一の構成で設けられる。図３は、第１の揺動アーム（以下、「基側の揺動アーム」という。）４と第２の揺動アーム（以下、「先側の揺動アーム」という。）６との関節部Ｂを示している。以下、この関節部Ｂに設けられたロボット接触検知装置１００の構成について説明する。なお、フォークエンド形のブラケット２は、基側の揺動アームとして機能するため、基側の揺動アームとして扱うものとする。
【００１７】
図１及び図３に示すように、関節部Ｂは、先側の揺動アーム６の基端部と基側の揺動アーム４の先端側のフォークエンド部４ａとを上下一対の関節軸１１，１２で回動自在に連結して構成されており、水平面内に屈曲自在となっている。一対の関節軸１１，１２が先側の揺動アーム６の基端部に固定されており、基側の揺動アーム４の先端側のフォークエンド部４ａに軸孔４ｂが設けられ、軸孔４ｂに各関節軸１１，１２が挿入され、軸孔４ｂが一対の関節軸１１，１２を回転自在に上下で支持している。
【００１８】
関節軸１１，１２の対は、先側の揺動アーム６の基端部の上面及び下面からそれぞれ突出し、アーム長手方向に対して直角にかつ一垂直線上に位置するように、先側の揺動アーム６に固定されている。関節軸１１，１２の対は、図示するように、一本の軸を先側の揺動アーム６の基端部に貫通し両側に突出して設けられていてもよいが、分離して各別に設けてられてもよい。
【００１９】
関節部Ｂでは、基側の揺動アーム４に第１の台座ブラケット１６ａが取り付けられ、第１の台座ブラケット１６ａに第２のサーボモータ（以下、「サーボモータ」又は単に「モータ」という。）５が取り付けられている。サーボモータ５は、先側の揺動アーム６を揺動し位置制御を行う。ここで、サーボモータ５のローターを支持している軸の出力側突出部分を出力軸５ａと呼び、その反対側突出部分を回転軸５ｂと呼ぶことにする。
【００２０】
サーボモータ５の出力軸５ａと、関節軸１１，１２の対のうち一方の関節軸１１とがカップリング１３によって連結されている。カップリング１３は、負荷に応じて微小角度捻じれる機能を有するものである。カップリング１３はその中間部が負荷に応じて微小角度捻じれるように構成されていればよく、カップリング１３として例えばコイルばねが採用される。
【００２１】
本発明の実施形態に係るロボット接触検知装置１００は、このような関節部Ｂを有するロボットに取り付けられ、ロボットアームが何かに接触したことを検知するものでる。ロボット接触検知装置１００は、図１に示すように、サーボモータ５の回転量を検出するモータ側ロータリーエンコーダ１４と、他方の関節軸１２の回転量を検出する実回転角検出用ロータリーエンコーダ１５と、モータ側ロータリーエンコーダ１４及び実回転角検出用ロータリーエンコーダ１５の各検出信号を受けてモータ５を制御する制御部１７と、を備える。
【００２２】
図１および図３に示す形態にあっては、関節部Ｂに、モータ側ロータリーエンコーダ１４と実回転角検出用ロータリーエンコーダ１５とが設けられる。モータ側ロータリーエンコーダ１４は、サーボモータ５の回転軸５ｂと連結して関係するように、サーボモータ５の筐体に支持されている。モータ側ロータリーエンコーダ１４はサーボモータ５の回転軸５ｂの回転角に関する検出信号を出力する。実回転角検出用ロータリーエンコーダ１５は、先側の揺動アーム６に設けられた他方の関節軸１２と関係するように、基側の揺動アーム４側、具体的には第２の台座ブラケット１６ｂに支持されている。実回転角検出用ロータリーエンコーダ１５は他方の関節軸１２の回転角に関する検出信号を出力する。
【００２３】
制御部１７は、図１に示すように、ＲＯＭ１８、ＲＡＭ１９、記録部（「データベース」と呼んでもよい。）２０及びＣＰＵ２１などを有機的に接続して構成されている。図１に示すＲＯＭに本発明の実施形態に係るロボット接触検知プログラムを格納し、ＣＰＵ２１が当該プログラムを読み込んで実行することで、ロボット接触検知を行う。図４は、図１に示すロボット接触検知装置で実現される機能を示すブロック構成図である。
【００２４】
制御部１７は、ロボット接触検知プログラムの実行により、角度算出部１７ａ、差分算出部１７ｂ、記録部１７ｃ及び判定部１７ｄを機能として備えるほか、図示しない入力部から動作パターンを入力しモータ制御信号を生成する制御信号生成部１７ｅを備える。
【００２５】
角度算出部１７ａは、モータ側ロータリーエンコーダ１４及び実回転角検出用ロータリーエンコーダ１５からの各検出信号に基づき、モータ５の回転角及び先側の揺動アーム６の回転角を算出し、差分算出部１７ｂに出力する。差分算出部１７ｂは、角度算出部１７ａによって算出された各回転角からその差分を求めて判定部１７ｄに出力する。判定部１７ｄは、差分算出部１７ｂによって求めて入力された差分の情報から先側の揺動アーム６の接触を判定する。
【００２６】
判定部１７ｄは、具体的には、差分算出部１７ｂから入力された差分に関する情報、つまり値を記録部１７ｃに格納しておき、所定回数前に差分算出部１７ｂから入力された値と比較する。比較した結果、閾値を超えていると判断した場合に、先側の揺動アーム６が何らかの障害物と接触したと判定する。判定部１７ｄは接触の判定をしたとき、制御信号生成部１７ｅにその判定結果を出力し、モータドライバー２２を経由して、サーボモータ５を停止する。
【００２７】
以下、本発明における制御部１７について具体的に説明する。制御部１７は、サーボモータ５を制御するための制御信号を制御信号生成部１７ｅからモータドライバー２２に出力し、モータドライバー２２が制御信号に基いてサーボモータ５を回転駆動する。これにより、先側の揺動アーム６を予め定められた動作経路で揺動するように位置制御を行う。
【００２８】
制御部１７は、サーボモータ５の出力軸５ａの回転量を検出するモータ側ロータリーエンコーダ１４の信号をフィードバック入力し、先側の揺動アーム６を予め定められた動作経路で揺動するように、フィードバック制御したり補間制御したりすることによって、モータドライバー２２を経由して制御する。
【００２９】
図５は、本発明の実施形態に係るロボット接触検知装置のフロー図である。このフローは、ロボット接触検知プログラムが図１に示すＲＯＭ１８に格納され、ＣＰＵ２１によって読み込まれて実行される。
【００３０】
ステップＳ１として、所定の微小時間だけ例えば２ｍ秒だけ経過させる。この微小時間はタイムサイクルとも呼ばれ、モータ側ロータリーエンコーダ１４と実回転角検出用ロータリーエンコーダ１５からの検出信号の入力に使用される。
【００３１】
ステップＳ２として、モータ側ロータリーエンコーダ１４の検出信号に基づいてサーボモータ５の出力軸５ａの回転角を角度算出部１７ａで算出する。角度算出部１７aは算出した値を必要に応じて記録部１７ｃに格納する。
【００３２】
ステップＳ３として、実回転角検出用ロータリーエンコーダ１５の検出信号に基づいて関節軸１２の回転角を角度算出部１７ａで算出する。角度算出部１７ａは算出した値を必要に応じて記録部１７ｃに格納する。
【００３３】
ステップＳ２とステップＳ３とは同時に行っても、逆の順序で行っても構わない。
【００３４】
ステップＳ４として、差分算出部１７ｂによって、角度算出部１７ａから入力された出力軸５ａの回転角及び関節軸１２の回転角の各値から差分を求める。その際、差分算出部１７ｂは、出力軸５ａの回転角の値から関節軸１２の回転角の値を引算し、差分値を出力軸５ａの捻じれ角度、つまりカップリング１３に生じる捻じれ角度として、記録部１７ｃ及び判定部１７ｄに格納する。
【００３５】
ここで、カップリング１３に生じる捻じれ角度について説明する。サーボモータ５の出力軸５ａと負荷側の関節軸１２とはカップリング１３で連結されており、負荷に応じて微小角度捻じれる。よって、動作中には、出力軸５ａの回転角と関節軸１２の回転角、すなわち出力軸５ａの回転角と先側の揺動アーム６の実回転角との間には、カップリング１３の捻じれ角度に対応する差が生じる。
【００３６】
捻じれ角度の大きさは、負荷の大きさ、負荷の加速度の大きさにより左右される。
捻じれ角度が正の値となって大きくなるのは、次のようなときである。すなわち、サーボモータ５が正回転で動作開始する際に増速するとき、サーボモータ５が正回転で動作途中において増速するとき、及びサーボモータ５が逆回転で動作終了する際に減速するときである。
捻じれ角度が負の値となって大きくなるのは、次のようなときである。すなわち、サーボモータ５が逆回転で動作開始する際に増速するとき、サーボモータ５が逆回転で動作途中において増速するとき、及びサーボモータ５が正回転で動作終了の際に減速するときである。
【００３７】
ステップＳ５として、判定部１７ｄが差分算出部１７ｂから捻じれ角度の値を受けて、記録部１７ｃにその値が保存された回数（以下、単に「保存回数」と呼ぶ。）が所定回数、例えば６回になったか否かを判断する。ステップＳ５は、動作開始直後にステップＳ６に進んで、ステップＳ７の判断において、所定回数よりも前の捻じれ角度との差分を計算することができず、制御部１７が機能しなくなることを回避するためである。保存回数は記録部１７ｃなどに値が格納されるたびにカウントアップする。この所定回数は任意に変更可能に設定される。
【００３８】
ステップＳ６として、判定部１７ｄは差分算出部１７ｂで最新に求めた捻じれ角度の絶対値から記録部１７ｃに格納されている所定回数前の捻じれ角度の絶対値を引算し、その引算した値の絶対値を捻じれ角度の差として算出する。
【００３９】
ステップＳ７として、ステップＳ６で求めた差分、すなわち捻じれ角度の差の絶対値が閾値より大きいか否かを判断する。この判断で、ＹＥＳのときはステップＳ８に進む、一方、ＮｏのときはステップＳ１に戻る。
【００４０】
ステップＳ８として、サーボモータ５を停止する信号を制御信号生成部１７ｅに出力する。その際、ロボットが何かに接触したことを作業者に知らせるために、必要に応じて、警報ランプなどを鳴らしたりする。
【００４１】
ステップ７での閾値は、サーボモータ５の最大増速時及び最大減速時の何れかで生じるもので、所定時間内での捻じれ角度の最大変化量よりも僅かに大きい角度とすることにより、接触の有無の判断について誤動作を生じさせないことができる。
【００４２】
ここで、ステップＳ８における閾値の設定について言及する。予めロボット作業を行う前に、所定時間内での捻じれ角度の変化量が最大となる最大増速時及び最大減速時に僅かな外力を作用させ、そのとき生じた一定の時間内での捻じれ角度の変化量を閾値として設定する。具体的には、制御部１７に接続した図示しないインターフェースとして表示パネルに、外力を作用させたときに生じた捻じれ角度を表示させて、任意に設定することができる。
【００４３】
図６は、図４に示す記録部１７ｃに記録される情報を模式的に示す図である。このデータテーブルは、２ｍ秒毎に、ステップＳ２でサーボモータ５の出力軸５ａの回転角度θ１を記録し、ステップＳ３で関節軸１２の回転角度θ２を記録し、ステップＳ４で捻じれ角度、すなわちθ１−θ２を記録したものである。このように、２ｍ秒毎に捻じれ角度を記録した後、ステップＳ６及びステップＳ７で最新に記憶した捻じれ角度のときの捻じれ角度が３．２４３になり、この値３．２４３と、５回前に記憶した値２．０７１との引算した値が閾値１．０００よりも大きい１．１７２になったことを示している。従って、この時点で、制御部１７は、ステップＳ７でＹＥＳと判断し、ステップＳ８に進んでサーボモータ５の動作を停止する。
【００４４】
本発明のロボット接触検知装置１００は、ロボットアームの各関節部Ａ，Ｂ，Ｃ毎に取り付けられ、何れかのロボット接触検知装置１００の制御部１７において先側の揺動アームが障害物と接触したと判定したとき、全ての関節部Ａ，Ｂ，Ｃにあるサーボモータ５を停止するように、制御部１７同士が接続され、相互に接触検知したことを制御信号で入出力することができる。
【００４５】
以上説明したように、本発明の実施形態に係るロボット接触検知装置では、先側の揺動アームが何らかの障害物に接触することにより、先側の揺動アームがモータによる駆動回転角だけ回転しなくなることを、モータの回転軸と関節軸との各回転角の違いとして検知する。そのため、ロボットの障害物への接触が直接軸間の捻じれ角度に影響し、実験的に得た闘値と比較することで接触の判定をすることができる。
【００４６】
そのため、従来のように、力センサ、表面感圧センサ、レーザーセンサ等のセンサ系が不要となり、それらのセンサの検出信号を処理する必要がなく、簡易なロボット作業システムを実現することができる。
【００４７】
図面に示した各形態は本発明の実施形態を説明するためのものであり、適用されるロボットに応じて本発明の範囲内で適宜変更して実施をすることができることは言うまでもない。
【符号の説明】
【００４８】
１００：ロボット接触検知装置
１：支柱
２：ブラケット
３：第１のサーボモータ
４：第１の揺動アーム（基側の揺動アーム）
４ａ：フォークエンド部
４ｂ：軸孔
５：第２のサーボモータ
５ａ：出力軸
５ｂ：回転軸
６：第２の揺動アーム（先側の揺動アーム）
７：第３のサーボモータ
８：第３の揺動アーム
９：ロッド
１０：ロボットハンド
１１：一方の関節軸
１２：他方の関節軸
１３：カップリグ
１４：モータ側ロータリーエンコーダ
１５：実回転角検出用ロータリーエンコーダ
１６ａ：第１の台座ブラケット
１６ｂ：第２の台座ブラケット
１７：制御部
１７ａ：角度算出部
１７ｂ：差分算出部
１７ｃ：記録部
１７ｄ：判定部
１７ｅ：制御信号生成部
１８：ＲＯＭ
１９：ＲＡＭ
２０：記録部（データベース）
２１：ＣＰＵ
２２：記録部
Ｒ：水平スカラーロボット（ロボット）
Ａ，Ｂ，Ｃ：関節部
【図１】
0005765686.tif 000002
【図２】
0005765686.tif 000003
【図３】
0005765686.tif 000004
【図４】
0005765686.tif 000005
【図５】
0005765686.tif 000006
【図６】
0005765686.tif 000007