(57)【要約】【課題】制御対象を作業者に協調作業させる際の汎用性の向上を図ることが可能な制御装置を提供する。【解決手段】制御装置１は、作業者の位置情報および姿勢情報を取得する作業者情報取得部２１と、位置情報および姿勢情報と作業者の人体モデルとに基づいて、作業者の各部位の動作を推定する動作演算部２４と、動作演算部２４の推定結果とロボット５０の状態とに基づいて、ロボット５０を制御するロボット制御部２７とを備える。【選択図】図２
2017144490.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を制御する制御装置であって、
作業者の位置情報および姿勢情報の少なくともいずれか一方を取得する取得部と、
前記位置情報および前記姿勢情報の少なくともいずれか一方と作業者の人体モデルとに基づいて、作業者の各部位の動作を推定する推定部と、
前記推定部の推定結果と前記制御対象の状態とに基づいて、前記制御対象を制御する制御部とを備えることを特徴とする制御装置。
【請求項２】
請求項１に記載の制御装置において、
前記推定部は、前記位置情報および前記姿勢情報の少なくともいずれか一方と前記人体モデルとに基づいて、作業者の各部位の動作情報を演算するとともに、前記動作情報から作業者の将来の動作を推定するように構成され、
前記制御部は、前記作業者の将来の動作と前記制御対象の状態とに基づいて、前記制御対象を制御するように構成されていることを特徴とする制御装置。
【請求項３】
請求項１に記載の制御装置において、
前記推定部は、前記位置情報および前記姿勢情報の少なくともいずれか一方と前記人体モデルとに基づいて、作業者の各部位の動作情報を演算するように構成され、
前記制御部は、前記動作情報と前記制御対象の状態とに基づいて、前記制御対象を制御するように構成されていることを特徴とする制御装置。
【請求項４】
請求項１〜３のいずれか１つに記載の制御装置において、
前記取得部は、加速度データ、角速度データ、速度データ、角加速度データ、圧力データおよび磁気データのうちの少なくとも１つを取得し、その取得したデータを用いて前記位置情報および前記姿勢情報の少なくともいずれか一方を算出するように構成されていることを特徴とする制御装置。
【請求項５】
請求項４に記載の制御装置において、
前記取得部が取得するデータの信頼性を判定する信頼性判定部を備え、
前記取得部は、前記信頼性判定部により前記データの信頼性がないと判定された場合に、距離データを用いて、前記位置情報および前記姿勢情報の少なくともいずれか一方を算出するように構成されていることを特徴とする制御装置。
【請求項６】
請求項５に記載の制御装置において、
前記信頼性判定部は、前記データが途切れた場合、および、前記データが予め設定された範囲外になった場合に、前記データの信頼性がないと判定するように構成されていることを特徴とする制御装置。
【請求項７】
請求項１〜６のいずれか１つに記載の制御装置において、
前記推定部の推定結果と前記制御対象の状態とに基づいて、前記制御対象を作業者に対して安全な状態にさせる動作が必要であるか否かを判定する判定部を備えることを特徴とする制御装置。
【請求項８】
請求項７に記載の制御装置において、
前記判定部は、前記推定部の推定結果と前記制御対象の状態とに基づいて、前記制御対象を回避動作させる必要があるか否かを判定するように構成され、
前記制御部は、前記判定部により回避動作が必要であると判定された場合に、前記制御対象を回避動作させるように構成されていることを特徴とする制御装置。
【請求項９】
請求項８に記載の制御装置において、
前記判定部は、前記制御対象が回避動作した後に、前記制御対象を復帰させることが可能であるか否かを判定するように構成され、
前記制御部は、前記判定部により復帰が可能であると判定された場合に、前記制御対象を復帰させるように構成されていることを特徴とする制御装置。
【請求項１０】
請求項７に記載の制御装置において、
前記判定部は、前記推定部の推定結果と前記制御対象の状態とに基づいて、前記制御対象を減速動作または停止動作させる必要があるか否かを判定するように構成され、
前記制御部は、前記判定部により減速動作または停止動作が必要であると判定された場合に、前記制御対象を減速動作または停止動作させるように構成されていることを特徴とする制御装置。
【請求項１１】
請求項１〜１０のいずれか１つに記載の制御装置において、
前記人体モデルが記録された人体モデル記録部を備えることを特徴とする制御装置。
【請求項１２】
請求項１〜１１のいずれか１つに記載の制御装置において、
前記位置情報および前記姿勢情報の少なくともいずれか一方から前記人体モデルを演算する人体モデル演算部を備えることを特徴とする制御装置。
【請求項１３】
請求項１〜１２のいずれか１つに記載の制御装置と、
作業者の各部位に装着され、その各部位の動作を検出する検出装置とを備えることを特徴とする制御システム。
【請求項１４】
請求項１３に記載の制御システムにおいて、
前記検出装置は、加速度データ、角速度データ、速度データ、角加速度データ、圧力データおよび磁気データのうちの少なくとも１つを検出するように構成され、
前記制御装置の取得部は、前記検出装置の検出結果を取得し、その取得した検出結果を用いて前記位置情報および前記姿勢情報の少なくともいずれか一方を算出するように構成されていることを特徴とする制御システム。
【請求項１５】
請求項１３または１４に記載の制御システムにおいて、
距離を計測するための機器を備え、
前記制御装置は、前記検出装置の検出結果の信頼性を判定する信頼性判定部を含み、
前記制御装置の取得部は、前記信頼性判定部により前記検出装置の検出結果の信頼性がないと判定された場合に、前記機器の検出結果を用いて、前記位置情報および前記姿勢情報の少なくともいずれか一方を算出するように構成されていることを特徴とする制御システム。
【請求項１６】
請求項１５に記載の制御システムにおいて、
前記機器は、画像センサ、超音波センサおよびレーザスキャナのうちの少なくとも１つを含むことを特徴とする制御システム。
【請求項１７】
制御対象を制御する制御方法であって、
作業者の位置情報および姿勢情報の少なくともいずれか一方を取得するステップと、
前記位置情報および前記姿勢情報の少なくともいずれか一方と作業者の人体モデルとに基づいて、作業者の各部位の動作を推定するステップと、
その推定結果と前記制御対象の状態とに基づいて、前記制御対象を制御するステップとを備えることを特徴とする制御方法。
【請求項１８】
請求項１７に記載の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、制御システム、制御方法およびプログラムに関する。
【背景技術】
【０００２】
従来、工場の生産ラインなどに設置される産業用ロボットが知られている。また、近年では、生産ラインにおいて作業者を産業用ロボットが補助する作業補助システムが提案されている（たとえば、特許文献１参照）。
【０００３】
特許文献１の作業補助システムは、作業者が部品取付作業を行う際に、産業用ロボットに補助させるものであり、部品の一端側を作業者が保持するとともに、部品の他端側を産業用ロボットに保持させ、その部品を取付位置まで移動させるようになっている。具体的には、作業補助システムは、作業者の手に装着されるモーションキャプチャと、そのモーションキャプチャの検出結果に基づいて産業用ロボットを制御するデータ処理装置とを備えている。
【０００４】
モーションキャプチャは、作業者の手による作業動作を経時的に測定し、その測定結果である動作情報を３次元座標データとしてデータ処理装置に送信するように構成されている。データ処理装置は、モーションキャプチャからの３次元座標データに基づいて、産業用ロボットを作業者の手に追従させるように構成されている。これにより、部品の搬送を産業用ロボットに補助させることができるので、部品取付作業を効率的に行うことが可能である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１５６６４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記した従来の作業補助システムでは、産業用ロボットが補助できる作業が限られているため、産業用ロボットを作業者に協調作業させる際の汎用性に乏しいという問題点がある。
【０００７】
本発明は、上記の課題を解決するためになされたものであり、本発明の目的は、制御対象を作業者に協調作業させる際の汎用性の向上を図ることが可能な制御装置、制御システム、制御方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００８】
本発明による制御装置は、制御対象を制御するものであり、作業者の位置情報および姿勢情報の少なくともいずれか一方を取得する取得部と、位置情報および姿勢情報の少なくともいずれか一方と作業者の人体モデルとに基づいて、作業者の各部位の動作を推定する推定部と、推定部の推定結果と制御対象の状態とに基づいて、制御対象を制御する制御部とを備える。
【０００９】
このように構成することによって、作業者の各部位の動作を推定し、その推定される動作に応じて制御対象を制御することにより、制御対象を作業者に協調作業させる際の汎用性の向上を図ることができる。すなわち、協調作業の作業内容が異なる場合であっても、作業者の各部位の動作を推定することにより、その推定される動作に応じて制御対象を適切に制御することができる。
【００１０】
上記制御装置において、推定部は、位置情報および姿勢情報の少なくともいずれか一方と人体モデルとに基づいて、作業者の各部位の動作情報を演算するとともに、動作情報から作業者の将来の動作を推定するように構成され、制御部は、作業者の将来の動作と制御対象の状態とに基づいて、制御対象を制御するように構成されていてもよい。
【００１１】
上記制御装置において、推定部は、位置情報および姿勢情報の少なくともいずれか一方と人体モデルとに基づいて、作業者の各部位の動作情報を演算するように構成され、制御部は、動作情報と制御対象の状態とに基づいて、制御対象を制御するように構成されていてもよい。
【００１２】
上記制御装置において、取得部は、加速度データ、角速度データ、速度データ、角加速度データ、圧力データおよび磁気データのうちの少なくとも１つを取得し、その取得したデータを用いて位置情報および姿勢情報の少なくともいずれか一方を算出するように構成されていてもよい。
【００１３】
この場合において、取得部が取得するデータの信頼性を判定する信頼性判定部を備え、取得部は、信頼性判定部によりデータの信頼性がないと判定された場合に、距離データを用いて、位置情報および姿勢情報の少なくともいずれか一方を算出するように構成されていてもよい。なお、距離データは、たとえば、制御対象と作業者との間の距離である。
【００１４】
上記信頼性判定部を備える制御装置において、信頼性判定部は、データが途切れた場合、および、データが予め設定された範囲外になった場合に、データの信頼性がないと判定するように構成されていてもよい。
【００１５】
上記制御装置において、推定部の推定結果と制御対象の状態とに基づいて、制御対象を作業者に対して安全な状態にさせる動作が必要であるか否かを判定する判定部を備えていてもよい。
【００１６】
上記判定部を備える制御装置において、判定部は、推定部の推定結果と制御対象の状態とに基づいて、制御対象を回避動作させる必要があるか否かを判定するように構成され、制御部は、判定部により回避動作が必要であると判定された場合に、制御対象を回避動作させるように構成されていてもよい。
【００１７】
この場合において、判定部は、制御対象が回避動作した後に、制御対象を復帰させることが可能であるか否かを判定するように構成され、制御部は、判定部により復帰が可能であると判定された場合に、制御対象を復帰させるように構成されていてもよい。
【００１８】
上記判定部を備える制御装置において、判定部は、推定部の推定結果と制御対象の状態とに基づいて、制御対象を減速動作または停止動作させる必要があるか否かを判定するように構成され、制御部は、判定部により減速動作または停止動作が必要であると判定された場合に、制御対象を減速動作または停止動作させるように構成されていてもよい。
【００１９】
上記制御装置において、人体モデルが記録された人体モデル記録部を備えていてもよい。
【００２０】
上記制御装置において、位置情報および姿勢情報の少なくともいずれか一方から人体モデルを演算する人体モデル演算部を備えていてもよい。
【００２１】
本発明による制御システムは、上記制御装置と、作業者の各部位に装着され、その各部位の動作を検出する検出装置とを備える。
【００２２】
上記制御システムにおいて、検出装置は、加速度データ、角速度データ、速度データ、角加速度データ、圧力データおよび磁気データのうちの少なくとも１つを検出するように構成され、制御装置の取得部は、検出装置の検出結果を取得し、その取得した検出結果を用いて位置情報および姿勢情報の少なくともいずれか一方を算出するように構成されていてもよい。
【００２３】
上記制御システムにおいて、距離を計測するための機器を備え、制御装置は、検出装置の検出結果の信頼性を判定する信頼性判定部を含み、制御装置の取得部は、信頼性判定部により検出装置の検出結果の信頼性がないと判定された場合に、機器の検出結果を用いて、位置情報および姿勢情報の少なくともいずれか一方を算出するように構成されていてもよい。なお、距離は、たとえば、制御対象と作業者との間の距離である。
【００２４】
この場合において、機器は、画像センサ、超音波センサおよびレーザスキャナのうちの少なくとも１つを含んでいてもよい。
【００２５】
本発明による制御方法は、制御対象を制御するものであり、作業者の位置情報および姿勢情報の少なくともいずれか一方を取得するステップと、位置情報および姿勢情報の少なくともいずれか一方と作業者の人体モデルとに基づいて、作業者の各部位の動作を推定するステップと、その推定結果と制御対象の状態とに基づいて、制御対象を制御するステップとを備える。
【００２６】
本発明によるプログラムは、上記した制御方法をコンピュータに実行させるためのものである。
【発明の効果】
【００２７】
本発明の制御装置、制御システム、制御方法およびプログラムによれば、制御対象を作業者に協調作業させる際の汎用性の向上を図ることができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の第１実施形態による制御システムの構成を示したハードウェアブロック図である。
【図２】図１の制御システムにおける制御装置の機能ブロック図である。
【図３】第１実施形態の制御システムの動作を説明するためのフローチャートである。
【図４】本発明の第２実施形態による制御システムを示した機能ブロック図である。
【図５】第２実施形態の制御システムにおける作業者情報の取得動作を説明するためのフローチャートである。
【発明を実施するための形態】
【００２９】
以下、本発明の実施形態について図面を参照して説明する。
【００３０】
（第１実施形態）
まず、図１および図２を参照して、本発明の第１実施形態による制御システム１００の構成について説明する。
【００３１】
制御システム１００は、図１に示すように、ロボット５０を制御する制御装置１と、作業者の各部位に装着され、その各部位の動作を検出する検出装置２とを備えている。ロボット５０は、たとえば工場の生産ラインに設置されるロボットアームであり、本発明の「制御対象」の一例である。この制御システム１００では、作業者の各部位の動作に応じてロボット５０を制御することにより、作業者とロボット５０とが協調して作業を行うように構成されている。
【００３２】
制御装置１は、いわゆるＰＬＣ（Programmable Logic Controller：プログラマブルロジックコントローラ）であり、作業者の各部位についての将来の動作を推定し、その推定結果に基づいてロボット５０を制御するように構成されている。具体的には、制御装置１は、検出装置２の検出結果と作業者の人体モデルとから作業者の各部位の動作情報を演算し、その動作情報から各部位の動作を推定してロボット５０を協調作業させるようになっている。なお、作業者の人体モデルとは、たとえば、作業者の身体の各部位についての寸法をデータベース化したものである。
【００３３】
検出装置２は、作業者の各部位に取り付けられており、各検出装置２は、取り付けられた部位についての動作を検出するために設けられている。なお、図１では２つの検出装置２を示したが、作業者の全身の動作を検出するためにより多数の検出装置２が設けられていてもよい。作業者に対する検出装置２の取付位置の一例としては、頭部、両肩部、両腕部（上腕、前腕、手）、背中部、腰部、および、両脚部（腿、脛、足）である。
【００３４】
この検出装置２は、加速度データを検出する加速度センサ２ａと、角速度データを検出する角速度センサ２ｂと、加速度センサ２ａおよび角速度センサ２ｂの検出結果を制御装置１に出力する出力部２ｃとを含んでいる。なお、検出装置２は、たとえば無線で制御装置１に接続されているが、有線で制御装置１に接続されていてもよい。
【００３５】
制御装置１は、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、入出力部１４とを含んでいる。ＣＰＵ１１は、ＲＯＭ１２に記憶されたプログラム１２ａなどに基づいて演算処理を実行するように構成されている。ＲＯＭ１２は、不揮発性のメモリであり、プログラム１２ａやそのプログラム１２ａの実行の際に用いられる設定値などを記憶している。なお、プログラム１２ａにはロボット５０の制御プログラムなどが含まれている。この制御プログラムの一例としては、所定の作業をロボット５０に実行させるものである。ＲＡＭ１３は、揮発性のメモリであり、ＣＰＵ１１による演算結果や検出装置２の検出結果などを一時的に記憶する機能を有する。入出力部１４には、複数の検出装置２、ロボット５０、および、制御装置１の設定変更などを行うためのツール装置６０などが接続されている。
【００３６】
また、制御装置１は、図２に示すように、作業者情報取得部２１と、人体モデル演算部２２と、人体モデル記録部２３と、動作演算部２４と、ロボット情報取得部２５と、協調演算部２６と、ロボット制御部２７とを含んでいる。なお、作業者情報取得部２１、人体モデル演算部２２、動作演算部２４、ロボット情報取得部２５、協調演算部２６およびロボット制御部２７は、ＣＰＵ１１がプログラム１２ａを実行することにより実現される。また、人体モデル記録部２３は、ＲＯＭ１２の記憶領域の一部によって構成されている。
【００３７】
作業者情報取得部２１は、各検出装置２の検出結果が入力されるように構成されている。すなわち、作業者情報取得部２１は、作業者の各部位の加速度データおよび角速度データを経時的に取得している。そして、作業者情報取得部２１は、その加速度データおよび角速度データを用いて位置情報および姿勢情報を算出するように構成されている。つまり、作業者情報取得部２１は、作業者の部位毎についての位置情報および姿勢情報を経時的に取得している。なお、位置情報は、たとえば３次元座標の座標値であり、姿勢情報は、たとえば各座標軸に対する回転角である。また、作業者情報取得部２１は、本発明の「取得部」の一例である。
【００３８】
人体モデル演算部２２は、作業者情報取得部２１により取得した位置情報および姿勢情報に基づいて、作業者の人体モデルを演算するために設けられている。この人体モデル演算部２２は、作業者の各部位の位置情報および姿勢情報の経時変化から、各部位の寸法を算出することにより人体モデルを作成するようになっている。なお、人体モデル演算部２２による人体モデルの演算時に、作業者に対して所定の動作を行うように促すようにしてもよい。
【００３９】
人体モデル記録部２３には、作業者の人体モデルが記録されている。この人体モデル記録部２３には、人体モデル演算部２２の演算結果である人体モデルが記録されていてもよいし、ツール装置６０を用いて作業者によって入力された人体モデルが記録されていてもよい。すなわち、第１実施形態では、人体モデル記録部２３に対する人体モデルの記録方法が２つあり、いずれの方法で記録されていてもよい。
【００４０】
動作演算部２４は、人体モデル記録部２３に記録された人体モデルに対して各部位の位置情報および姿勢情報を入力することにより作業者の各部位の動作情報を演算し、その動作情報から作業者の各部位についての将来の動作を推定するように構成されている。すなわち、作業者の各部位の位置および姿勢の経時変化から各部位の動作を演算し、その演算結果に基づいて将来の動作を推定するようになっている。なお、動作演算部２４は、本発明の「推定部」の一例である。
【００４１】
ロボット情報取得部２５には、ロボット５０から各種情報５０ａが入力されている。各種情報５０ａは、たとえば、ロボット５０に関する位置情報、速度情報および経路情報などであり、ロボット５０に設けられたセンサ（図示省略）によって検出される。このため、ロボット情報取得部２５は、ロボット５０の動作状態を判断することが可能であり、制御プログラムに基づいて動作している場合にはロボット５０の将来の動作を推定することが可能である。
【００４２】
協調演算部２６は、動作演算部２４による作業者の各部位についての動作の推定結果に基づいて、ロボット５０を制御するために設けられている。すなわち、協調演算部２６は、作業者の予測される動作に応じてロボット５０を制御するために設けられている。たとえば、協調演算部２６は、作業者の動作の推定結果とロボット５０の動作状態とに基づいて、ロボット５０を作業者に対して安全な状態にさせる動作が必要であるか否かを判定するように構成されている。ここで、ロボット５０を作業者に対して安全な状態にさせる動作の一例は、ロボット５０の回避動作である。そして、協調演算部２６は、回避動作が必要であると判定した場合に、所定の回避動作を演算するようになっている。また、協調演算部２６は、ロボット５０が回避動作している場合に、ロボット５０を復帰させることが可能であるか否かを判定するように構成されている。なお、協調演算部２６は、本発明の「判定部」の一例である。
【００４３】
ロボット制御部２７は、ロボット５０に対して動作指示を出力するために設けられている。たとえば、ロボット制御部２７は、通常時である場合に、制御プログラムに基づいて所定の作業を実行するようにロボット５０を制御するように構成されている。そして、ロボット制御部２７は、協調演算部２６により回避動作が必要であると判定された場合に、ロボット５０を回避動作させるように構成されている。なお、制御プログラムに基づく所定の作業の実行中に回避動作されると、その所定の作業が中断される。また、ロボット制御部２７は、協調演算部２６により復帰が可能であると判定された場合に、ロボット５０を復帰させるように構成されている。なお、ロボット５０を復帰させるとは、中断された所定の作業を再開することである。
【００４４】
−制御システムの動作−
次に、図３を参照して、第１実施形態の制御システム１００の動作について説明する。この動作には、制御装置１によるロボット５０の制御方法が含まれている。
【００４５】
なお、以下の各ステップはＣＰＵ１１（図１参照）がプログラム１２ａ（図１参照）を実行することにより行われる。すなわち、プログラム１２ａは、以下の各ステップを制御装置１（図１参照）に実行させるためのものであり、制御装置１が読み取り可能な記録媒体であるＲＯＭ１２（図１参照）に格納されている。
【００４６】
また、人体モデル記録部２３（図２参照）には作業者の人体モデルが予め記録されている。この人体モデルは、人体モデル演算部２２（図２参照）により記録されていてもよいし、ツール装置６０（図２参照）を用いて記録されていてもよい。また、作業者の各部位には検出装置２が装着されている。
【００４７】
まず、図３のステップＳ１において、ロボット５０（図２参照）の動作制御が開始されたか否かが判断される。そして、ロボット５０の動作制御が開始されたと判断された場合には、ステップＳ２に移る。その一方、ロボット５０の動作制御が開始されていないと判断された場合には、ステップＳ１が繰り返し行われる。すなわち、ロボット５０の動作制御が開始されるまで制御装置１が待機する。
【００４８】
次に、ステップＳ２において、作業者情報取得部２１（図２参照）により、作業者の部位毎についての位置情報および姿勢情報が取得される。具体的には、各検出装置２から入力される加速度データおよび角速度データに基づいて、各部位の位置情報および姿勢情報が算出される。
【００４９】
次に、ステップＳ３において、動作演算部２４（図２参照）により、作業者の各部位の動作が推定される。具体的には、人体モデル記録部２３に記録された人体モデルに対して各部位の位置情報および姿勢情報が入力されることにより、作業者の各部位の動作情報が演算され、その動作情報に基づいて作業者の各部位についての将来の動作が推定される。
【００５０】
次に、ステップＳ４において、ロボット情報取得部２５（図２参照）により、ロボット５０の各種情報５０ａ（図２参照）が取得され、ロボット５０の動作状態が判断される。なお、ロボット５０が動作している場合には、ロボット５０の動作が推定される。
【００５１】
次に、ステップＳ５において、協調演算部２６（図２参照）により、ロボット５０を回避動作させる必要があるか否かが判定される。この協調演算部２６は、ステップＳ３で得られた作業者の動作の推定結果と、ステップＳ４で得られたロボット５０の動作状態とに基づいて、回避動作が必要であるか否かを判定する。ここで、回避動作が必要である場合とは、たとえば、作業者およびロボット５０の動作予測から、作業者とロボット５０とが衝突すると予測される場合である。そして、回避動作が必要ではないと判定された場合には、ステップＳ６に移る。その一方、回避動作が必要であると判定された場合には、ステップＳ７に移る。
【００５２】
そして、ステップＳ６では、ロボット制御部２７（図２参照）により、ロボット５０を通常動作させる。通常動作とは、制御プログラムに基づいて所定の作業を実行するようにロボット５０を動作させるものである。このステップＳ６では、たとえば所定の作業の一部を行い、ステップＳ１４に移る。すなわち、このステップＳ６が繰り返し行われることにより、所定の作業の一部が順次行われることによって、所定の作業が一連の作業として行われるとともに、所定の作業が繰り返し行われることとなる。なお、後述するように、ロボット５０を回避動作させ、制御プログラムに基づく作業が中断された後に、ロボット５０を復帰させた場合におけるこのステップＳ６では、制御プログラムに基づく作業が中断されたところから再開される。
【００５３】
また、ステップＳ７では、ロボット情報取得部２５により、回避動作を行う直前のロボット５０の作業状態が取得され、その作業状態が記憶される。この作業状態とは、たとえば、ロボット５０の位置情報および姿勢情報である。すなわち、制御装置１では、ロボット５０に回避動作をさせる前に、ロボット５０の位置情報および姿勢情報を記憶するようになっている。なお、ロボット５０の位置情報および姿勢情報は、たとえばＲＡＭ１３（図１参照）に記憶される。
【００５４】
次に、ステップＳ８において、ロボット制御部２７により、ロボット５０を回避動作させる。回避動作とは、たとえば、作業者の動作が予測される領域からロボット５０を退避させたり、作業者の動作が予測される領域にロボット５０を侵入させないようにするものである。この回避動作は、作業者の動作の推定結果とロボット５０の動作状態とに基づいて協調演算部２６により演算される。そして、回避動作を行った後に、ロボット５０が停止される。すなわち、制御プログラムに基づく所定の作業が中断される。
【００５５】
次に、ステップＳ９において、作業者情報取得部２１により、作業者の部位毎についての位置情報および姿勢情報が取得される。具体的には、各検出装置２から入力される加速度データおよび角速度データに基づいて、各部位の位置情報および姿勢情報が算出される。
【００５６】
次に、ステップＳ１０において、動作演算部２４により、作業者の各部位の動作が推定される。具体的には、人体モデル記録部２３に記録された人体モデルに対して各部位の位置情報および姿勢情報が入力されることにより、作業者の各部位の動作情報が演算され、その動作情報に基づいて作業者の各部位についての将来の動作が推定される。
【００５７】
次に、ステップＳ１１において、協調演算部２６により、ロボット５０を復帰させることが可能であるか否かが判定される。たとえば、ロボット５０を現在の状態からステップＳ７で記憶した作業状態に戻しても、ロボット５０が作業者と衝突しないと判断される場合に、ロボット５０を復帰させることが可能であると判定される。そして、復帰が可能であると判定された場合には、ステップＳ１２に移る。その一方、復帰が可能ではないと判定された場合には、ステップＳ１３に移る。
【００５８】
そして、ステップＳ１２では、ロボット制御部２７により、ロボット５０を復帰動作させる。具体的には、ステップＳ７で記憶した作業状態にロボット５０を戻すように動作させる。その後、ステップＳ１４に移る。
【００５９】
また、ステップＳ１３では、協調演算部２６により、ロボット５０を回避動作させる必要があるか否かが判定される。この協調演算部２６は、ステップＳ１０で得られた作業者の動作の推定結果と、ロボット５０の現在の状態とに基づいて、回避動作が必要であるか否かを判定する。そして、回避動作が必要ではないと判定された場合には、ステップＳ９に戻る。その一方、回避動作が必要であると判定された場合には、ステップＳ８に戻る。
【００６０】
次に、ステップＳ１４において、ロボット５０の動作制御が終了されたか否かが判断される。そして、ロボット５０の動作制御が終了されたと判断された場合には、エンドに移る。その一方、ロボット５０の動作制御が終了されていないと判断された場合には、ステップＳ２に戻る。
【００６１】
−効果−
第１実施形態では、上記のように、作業者の各部位の位置情報および姿勢情報とその作業者の人体モデルとに基づいて作業者の各部位の動作情報を演算し、その動作情報から将来の動作を推定する動作演算部２４と、その推定結果とロボット５０の動作状態とに基づいて、ロボット５０を制御するロボット制御部２７とが設けられている。このように構成することによって、ロボット５０を作業者に協調作業させる際の汎用性の向上を図ることができる。すなわち、協調作業の作業内容（制御プログラムの内容）が異なる場合であっても、作業者の各部位の動作を推定することにより、その推定される動作に応じてロボット５０を適切に制御することができる。
【００６２】
また、第１実施形態では、作業者の各部位における動作の推定結果と、ロボット５０の動作状態とに基づいて、ロボット５０を回避動作させる必要があるか否かを判定する協調演算部２６が設けられ、ロボット制御部２７は必要がある場合にロボット５０を回避動作させるように構成されている。このように構成することによって、作業者の各部位とロボット５０とが衝突するのを抑制することができるので、安全性の向上を図ることができる。
【００６３】
また、第１実施形態では、協調演算部２６は、ロボット５０が回避動作した後にロボット５０を復帰させることが可能であるか否かを判定するように構成され、ロボット制御部２７は可能である場合にロボット５０を復帰させるように構成されている。このように構成することによって、ロボット５０が自動的に作業に戻るので、安全性の向上を図りながら、作業効率の低下を抑制することができる。
【００６４】
また、第１実施形態では、位置情報および姿勢情報から人体モデルを演算する人体モデル演算部２２を設けることによって、作業者の人体モデルを容易に得ることができる。
【００６５】
また、第１実施形態では、作業者の各部位の位置情報および姿勢情報とその作業者の人体モデルとに基づいて、作業者の各部位の動作を推定することによって、動作の推定精度の向上を図ることができる。
【００６６】
（第２実施形態）
次に、図４を参照して、本発明の第２実施形態による制御システム１００ａの構成について説明する。
【００６７】
制御システム１００ａは、図４に示すように、ロボット５０を制御する制御装置１ａと、作業者の各部位に装着され、その各部位の動作を検出する検出装置２と、超音波センサ３と、画像センサ４と、レーザスキャナ５とを備えている。なお、超音波センサ３、画像センサ４およびレーザスキャナ５は、本発明の「機器」の一例である。
【００６８】
超音波センサ３は、ロボット５０と作業者との間の距離を計測し、その測距データを制御装置１ａに出力するように構成されている。画像センサ４は、ロボット５０および作業者が作業を行う作業領域を撮像し、その画像データを制御装置１ａに出力するように構成されている。レーザスキャナ５は、ロボット５０と作業者との間の距離を計測し、その測距データを制御装置１ａに出力するように構成されている。そして、制御装置１ａは、超音波センサ３、画像センサ４およびレーザスキャナ５の検出結果を用いて、ロボット５０と作業者との間の距離データを算出するように構成されている。
【００６９】
制御装置１ａは、検出装置２の検出結果の信頼性がない場合に、距離データを用いて作業者の各部位の位置情報および姿勢情報を算出するように構成されている。具体的には、制御装置１ａは、作業者情報取得部２１ａと、人体モデル演算部２２と、人体モデル記録部２３と、動作演算部２４と、ロボット情報取得部２５と、協調演算部２６と、ロボット制御部２７と、信頼性判定部２８とを含んでいる。
【００７０】
信頼性判定部２８は、検出装置２の検出結果（加速度データおよび角速度データ）の信頼性を判定するために設けられている。この信頼性判定部２８は、制御装置１ａに入力される検出装置２の検出結果が途切れた場合（検出結果が入力されなくなった場合）、および、制御装置１ａに入力される検出装置２の検出結果が所定範囲外になった場合（検出結果がレンジオーバーした場合）に、信頼性がないと判定するように構成されている。なお、所定範囲は、たとえば、予め設定された範囲であり、正常時における検出結果が収まる範囲である。
【００７１】
作業者情報取得部２１ａは、各検出装置２の検出結果に加えて、超音波センサ３、画像センサ４およびレーザスキャナ５の検出結果が入力されるように構成されている。すなわち、作業者情報取得部２１ａは、作業者の各部位の加速度データおよび角速度データを経時的に取得するとともに、測距データおよび画像データを経時的に取得している。なお、測距データおよび画像データを用いて、ロボット５０と作業者との間の距離データが算出される。そして、作業者情報取得部２１ａは、検出装置２の検出結果の信頼性がある場合に、加速度データおよび角速度データから位置情報および姿勢情報を算出し、検出装置２の検出結果の信頼性がない場合に、距離データから位置情報および姿勢情報を算出するように構成されている。つまり、作業者情報取得部２１ａは、作業者の部位毎についての位置情報および姿勢情報を経時的に取得しており、測距データおよび画像データは位置情報および姿勢情報を算出するための補助的なデータである。なお、作業者情報取得部２１ａは、本発明の「取得部」の一例である。
【００７２】
なお、制御装置１ａのその他の構成は、上記した制御装置１と同様である。
【００７３】
−制御システムの動作−
次に、図５を参照して、第２実施形態の制御システム１００ａの動作について説明する。なお、第２実施形態における制御システム１００ａの動作では、作業者情報の取得（図３のステップＳ２およびＳ９）のみが第１実施形態と異なるので、以下ではその点についてのみ説明する。
【００７４】
第２実施形態の作業者情報の取得では、図５のステップＳ２１において、検出装置２（図４参照）からの加速度データおよび角速度データが制御装置１ａ（図４参照）により取得される。
【００７５】
また、ステップＳ２２において、超音波センサ３（図４参照）からの測距データが制御装置１ａにより取得され、画像センサ４（図４参照）からの画像データが制御装置１ａにより取得され、レーザスキャナ５（図４参照）からの測距データが制御装置１ａにより取得される。そして、超音波センサ３、画像センサ４およびレーザスキャナ５の検出結果を用いて、ロボット５０と作業者との間の距離データが算出される。
【００７６】
次に、ステップＳ２３において、信頼性判定部２８（図４参照）により、検出装置２の検出結果（加速度データおよび角速度データ）の信頼性が判定される。たとえば、検出装置２の検出結果が途切れた場合や、検出装置２の検出結果が所定範囲外になった場合などに、信頼性がないと判定される。そして、信頼性がある場合には、ステップＳ２４に移り、信頼性がない場合には、ステップＳ２５に移る。
【００７７】
そして、ステップＳ２４では、作業者情報取得部２１ａにより、各検出装置２から入力される加速度データおよび角速度データに基づいて、各部位の位置情報および姿勢情報が算出される。
【００７８】
また、ステップＳ２５では、作業者情報取得部２１ａにより、距離データに基づいて、各部位の位置情報および姿勢情報が算出される。
【００７９】
−効果−
第２実施形態では、上記のように、検出装置２の検出結果の信頼性を判定する信頼性判定部２８と、信頼性がない場合に超音波センサ３および画像センサ４の検出結果に基づいて位置情報および姿勢情報を算出する作業者情報取得部２１ａとが設けられている。このように構成することによって、制御システム１００ａの信頼性を向上させることができる。
【００８０】
また、第２実施形態では、超音波センサ３、画像センサ４およびレーザスキャナ５を設けることによって、距離データの精度向上を図ることができる。
【００８１】
なお、第２実施形態のその他の効果は、第１実施形態と同様である。
【００８２】
（他の実施形態）
なお、今回開示した実施形態は、すべての点で例示であって、限定的な解釈の根拠となるものではない。したがって、本発明の技術的範囲は、上記した実施形態のみによって解釈されるものではなく、特許請求の範囲の記載に基づいて画定される。また、本発明の技術的範囲には、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。
【００８３】
たとえば、第１実施形態では、ロボット５０がロボットアームである例を示したが、これに限らず、制御対象が部品を搬送する搬送装置などであってもよい。すなわち、制御対象はたとえば産業機械である。
【００８４】
また、第１実施形態では、複数の検出装置２により作業者の全身の動作を検出する例を示したが、これに限らず、作業者の局部（たとえば、上半身）の動作のみを検出するようにしてもよい。
【００８５】
また、第１実施形態では、ＣＰＵ１１がプログラム１２ａを実行することにより、作業者情報取得部２１、人体モデル演算部２２、動作演算部２４、ロボット情報取得部２５、協調演算部２６およびロボット制御部２７が実現される例を示したが、これに限らず、作業者情報取得部、人体モデル演算部、動作演算部、ロボット情報取得部、協調演算部およびロボット制御部がそれぞれハードウェアで構成されていてもよい。
【００８６】
また、第１実施形態では、加速度データおよび角速度データに基づいて、位置情報および姿勢情報を算出する例を示したが、これに限らず、速度データ、角加速度データ、圧力データおよび磁気データなどに基づいて、位置情報および姿勢情報を算出するようにしてもよい。すなわち、検出装置２が加速度データおよび角速度データを検出する例を示したが、これに限らず、検出装置は、加速度データ、角速度データ、速度データ、角加速度データ、圧力データおよび磁気データのうちの少なくとも１つを検出するように構成されていればよい。
【００８７】
また、第１実施形態では、作業者情報取得部２１が、加速度データおよび角速度データを取得し、その加速度データおよび角速度データを用いて位置情報および姿勢情報を算出する例を示したが、これに限らず、作業者情報取得部が、加速度データ、角速度データ、速度データ、角加速度データ、圧力データおよび磁気データのうちの少なくとも１つを取得し、その取得したデータを用いて位置情報および姿勢情報の少なくともいずれか一方を算出するようにすればよい。
【００８８】
また、第１実施形態では、人体モデル演算部２２が位置情報および姿勢情報に基づいて作業者の人体モデルを演算する例を示したが、これに限らず、人体モデル演算部が位置情報または姿勢情報に基づいて作業者の人体モデルを演算するようにしてもよい。
【００８９】
また、第１実施形態では、制御装置１に人体モデル演算部２２が設けられるとともに、ツール装置６０から人体モデルを入力可能に構成する例を示したが、これに限らず、人体モデル演算部２２が設けられていれば、ツール装置６０から人体モデルを入力できないようにしてもよいし、ツール装置６０から人体モデルを入力可能であれば、人体モデル演算部２２が設けられていなくてもよい。
【００９０】
また、第１実施形態では、人体モデル記録部２３が設けられる例を示したが、これに限らず、作業者の人体モデルを外部から入手可能であれば、人体モデル記録部が設けられていなくてもよい。
【００９１】
また、第１実施形態では、動作演算部２４が、位置情報および姿勢情報と人体モデルとから動作情報を演算するとともに、その動作情報から将来の動作を推定する例を示したが、これに限らず、動作演算部が、位置情報または姿勢情報と人体モデルとから動作情報を演算するとともに、その動作情報から将来の動作を推定するようにしてもよい。また、動作演算部が、位置情報および姿勢情報の少なくともいずれか一方と人体モデルとから動作情報を演算し、作業者の将来の動作を推定しないようにしてもよい。この場合には、協調演算部が、動作情報（現在までの動作の推定結果）とロボットの状態とに基づいて、ロボットを回避動作させる必要があるか否かを判定するようにしてもよい。すなわち、作業者の将来までの動作を推定し、その推定結果とロボットの状態とに基づいてロボットを制御するようにしてもよいし、作業者の現在までの動作を推定し、その推定結果とロボットの状態とに基づいてロボットを制御するようにしてもよい。
【００９２】
また、第１実施形態では、ロボット情報取得部２５にロボット５０から各種情報５０ａが入力される例を示したが、これに限らず、制御装置がロボットの各種情報を把握していれば、ロボット情報取得部にロボットから各種情報が入力されていなくてもよい。
【００９３】
また、第１実施形態のフローチャートでは、作業者情報を取得した後に、ロボット情報を取得する例を示したが、これに限らず、作業者情報およびロボット情報を同時に取得してもよいし、ロボット情報を取得した後に、作業者情報を取得するようにしてもよい。すなわち、図３のフローチャートは、一例であってその手順に限定されるものではない。
【００９４】
また、第１実施形態では、作業者とロボット５０とが衝突すると予測される場合に、回避動作が必要であると判断する例を示したが、これに限らず、作業者とロボットとが衝突すると予測される場合において、その衝突時の衝撃が大きい場合に、回避動作が必要であると判断するようにしてもよい。すなわち、衝撃が小さい場合には回避動作をさせずに衝突を許容するようにしてもよい。
【００９５】
また、第１実施形態では、ロボット５０を現在の状態からステップＳ７で記憶した作業状態に戻しても、ロボット５０が作業者と衝突しないと判断される場合に、ロボット５０を復帰させることが可能であると判定する例を示したが、これに限らず、ロボット５０を現在の状態からステップＳ７で記憶した作業状態に戻し、その後の作業（制御プログラムに基づく作業であって、中断されたところから再開される作業）を行っても、ロボット５０が作業者と衝突しないと判断される場合に、ロボット５０を復帰させることが可能であると判定するようにしてもよい。
【００９６】
また、第１実施形態では、協調演算部２６が、作業者の動作の推定結果とロボット５０の動作状態とに基づいて、ロボット５０を回避動作させる必要があるか否かを判定する例を示したが、これに限らず、協調演算部（判定部）が、作業者の動作の推定結果とロボットの動作状態とに基づいて、ロボットを減速動作または停止動作させる必要があるか否かを判定するように構成されていてもよい。この場合には、ロボット制御部は、協調演算部により減速動作または停止動作が必要であると判定された場合に、ロボットを減速動作または停止動作させるように構成されていてもよい。この減速動作および停止動作は、ロボット５０を作業者に対して安全な状態にさせる動作の一例である。なお、減速動作とは、ロボットの動作速度を減少させる動作であり、停止動作とは、ロボットの動作速度をゼロにさせる動作である。また、減速動作または停止動作が必要である場合とは、たとえば、作業者およびロボットの動作予測から、作業者とロボットとが衝突すると予測される場合である。
【００９７】
なお、上記した第１実施形態の変形例を第２実施形態に適用してもよい。
【００９８】
また、第２実施形態では、超音波センサ３、画像センサ４およびレーザスキャナ５が設けられる例を示したが、これに限らず、超音波センサ、画像センサおよびレーザスキャナのうちの少なくとも１つが設けられていればよい。
【００９９】
また、第２実施形態では、距離データに基づいて位置情報および姿勢情報を算出し、その位置情報および姿勢情報を用いて各部位の動作情報を算出する例を示したが、これに限らず、距離データに基づいて位置情報および姿勢情報を算出することなく、距離データから直接各部位の動作情報を算出するようにしてもよい。
【０１００】
また、第２実施形態では、測距データおよび画像データを同時に取得する例を示したが、これに限らず、測距データおよび画像データの取得タイミングが前後していてもよい。
【０１０１】
また、第２実施形態では、制御装置１ａに入力される検出装置２の検出結果が途切れた場合に信頼性がないと判定する例を示したが、これに限らず、検出結果が途切れた状態が所定期間継続した場合に、信頼性がないと判定するようにしてもよい。同様に、制御装置１ａに入力される検出装置２の検出結果が所定範囲外になった場合に信頼性がないと判定する例を示したが、これに限らず、検出結果が所定範囲外になった状態が所定期間継続した場合に、信頼性がないと判定するようにしてもよい。
【産業上の利用可能性】
【０１０２】
本発明は、制御装置、制御システム、制御方法およびプログラムに利用可能である。
【符号の説明】
【０１０３】
１、１ａ          制御装置（コンピュータ）
２                検出装置
３                超音波センサ（機器）
４                画像センサ（機器）
５                レーザスキャナ（機器）
１２ａ            プログラム
２１、２１ａ      作業者情報取得部（取得部）
２２              人体モデル演算部
２３              人体モデル記録部
２４              動作演算部（推定部）
２６              協調演算部（判定部）
２７              ロボット制御部（制御部）
２８              信頼性判定部
５０              ロボット（制御対象）
１００、１００ａ  制御システム
【図１】
2017144490.tif 000003
【図２】
2017144490.tif 000004
【図３】
2017144490.tif 000005
【図４】
2017144490.tif 000006
【図５】
2017144490.tif 000007