(57)【特許請求の範囲】
【請求項１】
仮想空間内に配置されたロボットと人間とが作業空間を共有して、１つ以上の物品を搬送する協調作業を行う人間協調型ロボットシステムのシミュレーション装置において、
前記協調作業に含まれる複数の作業の種類ごとに設定された、各作業の対象となる物品の重量、前記物品の搬送距離、及び各作業の所要時間に基づいて、前記複数の作業を前記ロボットと前記人間に割り振る作業分配部であって、前記物品の重量が所定の許容値を超えている場合、又は前記搬送距離に基づいて計算される前記ロボットによる最短搬送時間が所要時間未満の場合は、対応する作業を前記ロボットに割り振る作業分配部と、
前記作業分配部が割り振った作業分配結果に基づき、前記ロボットと前記人間の動作プログラムを作成するプログラム作成部と、
前記動作プログラムのシミュレーションを実行して、前記動作プログラムのサイクルタイムを算出するサイクルタイム算出部と、
を備える、ロボットシミュレーション装置。
【請求項２】
前記ロボット又は前記人間に割り振られた作業を、各作業の対象となる物品の重量、前記物品の搬送距離、及び各作業の所要時間以外の条件に基づいて、前記ロボット又は前記人間によって実行可能か否かを判定する実行判定部をさらに有する、請求項１に記載のロボットシミュレーション装置。
【請求項３】
前記作業分配部が、前記ロボットと前記人間に、１つの物品を協働して搬送する作業を割り振った場合に、前記ロボットが前記人間の動作速度以上の速度で動作可能か否かを判断する動作速度判断部をさらに有し、
前記動作速度判断部が、前記ロボットが前記人間の動作速度以上の動作速度で動作できないと判断した場合に、前記プログラム作成部は、前記ロボットの最高速度に前記人間の速度を合わせて動作プログラムを作成する、請求項１又は２に記載のロボットシミュレーション装置。
【請求項４】
仮想空間内に配置されたロボットと人間とが作業空間を共有して、１つ以上の物品を搬送する協調作業を行う人間協調型ロボットシステムのシミュレーション装置において、
前記協調作業に含まれる複数の作業の種類ごとに設定された、各作業の対象となる物品の重量、前記物品の搬送距離、及び各作業の所要時間に基づいて、前記複数の作業を前記ロボットと前記人間に割り振る作業分配部と、
前記作業分配部が割り振った作業分配結果に基づき、前記ロボットと前記人間の動作プログラムを作成するプログラム作成部と、
前記動作プログラムのシミュレーションを実行して、前記動作プログラムのサイクルタイムを算出するサイクルタイム算出部と、
前記作業分配部が、前記ロボットと前記人間にそれぞれ別の作業を割り振った場合に、前記人間が動作中の前記ロボットに一定の距離まで近づいたときに前記ロボットの動作速度を低減する動作速度制限部と、
前記ロボットへの前記人間の接近によって前記ロボットの動作速度が遅くなり、前記ロボットと前記人間が協調して動作する場合のサイクルタイムが延びることを、前記動作プログラムに待機時間を追加することによって抑制するサイクルタイム延長抑制部と、
を備える、ロボットシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットのオフラインシステムにおいて、人間協調型ロボットシステムのシミュレーションを実行するロボットシミュレーション装置に関する。
【背景技術】
【０００２】
部品の組み立て等を行う近年の生産システムでは、人間と協調作業を行う人間協調型ロボットを用いた人間協調型ロボットシステムが採用されることがある。このようなロボットシステムでは、実機の稼働前にオフラインシステムにおいてシミュレーションを行うことが要求される場合がある。
【０００３】
これに関連する周知技術として、例えば特許文献１には、作業者の各身体部位の可動範囲と動作速度とを含む動作特性を指定する指定工程と、作業者の配置可能な位置とロボットの配置可能な位置との組合せ毎に、動作シミュレーションにより作業者とロボットとの協調による生産作業の所要時間を算出して、算出された所要時間から所要時間が最も短い作業者の位置とロボットの位置との組合せを決定する決定工程と、を含むシミュレーション方法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２１１７２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の技術は、人間の可動範囲と動作速度を指定して、人間のシミュレーションを可能にしつつ、ロボットと人間の配置を変更することでサイクルタイムを最適化することを企図している。しかし、従来の方法では、シミュレーションの実行前に、予めロボットと人間の作業内容と動作速度を決めておく必要があった。また従来は、ロボットと人間の配置を変更することでサイクルタイムを最適化しており、最適化に際し動作プログラムは変更されていない。
【０００６】
そこで本発明は、人間協調型ロボットシステムのシミュレーション及びサイクルタイムの計算を、作業者の少ない負担で容易に行えるようにしたロボットシミュレーション装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本願第１の発明は、仮想空間内に配置されたロボットと人間とが作業空間を共有して、１つ以上の物品を搬送する協調作業を行う人間協調型ロボットシステムのシミュレーション装置において、前記協調作業に含まれる複数の作業の種類ごとに設定された、各作業の対象となる物品の重量、前記物品の搬送距離、及び各作業の所要時間に基づいて、前記複数の作業を前記ロボットと前記人間に割り振る作業分配部であって、前記物品の重量が所定の許容値を超えている場合、又は前記搬送距離に基づいて計算される前記ロボットによる最短搬送時間が所要時間未満の場合は、対応する作業を前記ロボットに割り振る作業分配部と、前記作業分配部が割り振った作業分配結果に基づき、前記ロボットと前記人間の動作プログラムを作成するプログラム作成部と、前記動作プログラムのシミュレーションを実行して、前記動作プログラムのサイクルタイムを算出するサイクルタイム算出部と、を備える、ロボットシミュレーション装置を提供する。
【０００８】
第２の発明は、第１の発明において、前記ロボット又は前記人間に割り振られた作業を、各作業の対象となる物品の重量、前記物品の搬送距離、及び各作業の所要時間以外の条件に基づいて、前記ロボット又は前記人間によって実行可能か否かを判定する実行判定部をさらに有する、ロボットシミュレーション装置を提供する。
【０００９】
第３の発明は、第１又は第２の発明において、前記作業分配部が、前記ロボットと前記人間に、１つの物品を協働して搬送する作業を割り振った場合に、前記ロボットが前記人間の動作速度以上の速度で動作可能か否かを判断する動作速度判断部をさらに有し、前記動作速度判断部が、前記ロボットが前記人間の動作速度以上の動作速度で動作できないと判断した場合に、前記プログラム作成部は、前記ロボットの最高速度に前記人間の速度を合わせて動作プログラムを作成する、ロボットシミュレーション装置を提供する。
【００１０】
第４の発明は、仮想空間内に配置されたロボットと人間とが作業空間を共有して、１つ以上の物品を搬送する協調作業を行う人間協調型ロボットシステムのシミュレーション装置において、前記協調作業に含まれる複数の作業の種類ごとに設定された、各作業の対象となる物品の重量、前記物品の搬送距離、及び各作業の所要時間に基づいて、前記複数の作業を前記ロボットと前記人間に割り振る作業分配部と、前記作業分配部が割り振った作業分配結果に基づき、前記ロボットと前記人間の動作プログラムを作成するプログラム作成部と、前記動作プログラムのシミュレーションを実行して、前記動作プログラムのサイクルタイムを算出するサイクルタイム算出部と、前記作業分配部が、前記ロボットと前記人間にそれぞれ別の作業を割り振った場合に、前記人間が動作中の前記ロボットに一定の距離まで近づいたときに前記ロボットの動作速度を低減する動作速度制限部と、前記ロボットへの前記人間の接近によって前記ロボットの動作速度が遅くなり、前記ロボットと前記人間が協調して動作する場合のサイクルタイムが延びることを、前記動作プログラムに待機時間を追加することによって抑制するサイクルタイム延長抑制部と、を備える、ロボットシミュレーション装置を提供する。
【発明の効果】
【００１１】
本発明によれば、作業に関する物品の重量、搬送距離及び所要時間からロボットと人間に作業を自動的に割り振って、それぞれの動作プログラムをシミュレートしてサイクルタイムを計算することができるので、作業者は人間協調型ロボットシステムのシミュレーション及びサイクルタイム評価を少ない負担で容易に行うことができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の好適な実施形態に係るロボットシミュレーション装置のシステム構成例を示す図である。
【図２】図１のロボットシミュレーション装置の機能ブロック図である。
【図３】本発明のロボットシミュレーション装置における処理の一例を示すフローチャートである。
【図４】複数の作業をロボットと人間とに割り振った例を説明する図である。
【図５】ロボット又は人間に割り振られた作業が割り振り先によって実行可能かを判定する処理を説明するフローチャートである。
【図６】ロボットと人間に１つの物品を協働して搬送する作業が割り振られた場合に、ロボットが人間の動作プログラムと同じ速度で動作可能か否かを判断する処理を説明するフローチャートである。
【図７】ロボット周りに低速エリアを設定した場合に、サイクルタイムの延長を抑制する処理を説明するフローチャートである。
【発明を実施するための形態】
【００１３】
図１は、本発明の好適な実施形態に係るロボットシミュレーション装置（以降、単にシミュレーション装置とも称する）１０のシステム構成例を示す図であり、図２はシミュレーション装置の機能ブロック図である。シミュレーション装置１０は、例えばキーボード１２やマウス１４等の入力装置を備えたパーソナルコンピュータであり、仮想空間（ディスプレイ）１６上に配置されたロボット１８と人間（作業者）２０とが作業空間を共有して、１つ以上の物品２２を搬送する協調作業を行う人間協調型ロボットシステムのシミュレーションを行う装置であり、協調作業に含まれる複数の作業の種類ごとに設定された、各作業の対象となる物品２２の重量、物品２２の搬送距離、及び各作業の所要時間から、複数の作業をそれぞれロボット１８と人間２０に割り振る作業分配部２４と、作業分配部２４が割り振った作業分配結果から、ロボット１８と人間２０の動作プログラムを作成するプログラム作成部２６と、動作プログラムのシミュレーションを実行して、動作プログラムのサイクルタイムを算出するサイクルタイム算出部２８とを備える。
【００１４】
次に、図３のフローチャートを参照しつつ、シミュレーション装置１０の作用について説明する。先ずステップＳ１において、人間協調型システムにおいて行うべき複数の作業を種類ごとに分ける。ここでは、例えば図４に示すように、複数の作業が、作業Ａ、Ｂ及びＣの３種類に分けられたとする。
【００１５】
次にステップＳ２において、種類ごとに分類された作業の中から１種類の作業を選択し、選択された作業において扱われる対象物品の重量と所定の許容値とを比較する（ステップＳ３）。物品の重量が許容値を超えている場合、その作業はロボットに割り振られる（ステップＳ４）。例えば所定の許容値は、人間が物品を持った場合に負担にならない重さとして設定される。
【００１６】
物品の重さが許容値以下の場合は、ステップＳ５において、物品の搬送距離Ｄをロボットの最高速度Ｖmaxで除した最短搬送時間（Ｄ／Ｖmax）が、予め定めた所要時間以上であるか否かを判定する。ロボットによる最短搬送時間が所要時間未満の場合は、その作業はロボットによって所要時間以内に実行可能であるので、ロボットに割り振られ（ステップＳ４）、逆に所要時間以上の場合は、一般に動作速度がロボットより速いとされる人間に割り振られる（ステップＳ６）。例えば図４では、作業Ａ及びＢがロボット１８に割り振られ、作業Ｃが人間２０に割り振られている。
【００１７】
次のステップＳ７では、すべての作業が割り振られたか否かを判定し、割り振られていない作業が残っている場合はステップＳ２〜Ｓ６からの処理を繰り返す。このようにして、種類ごとに分類された作業の全てが人間又はロボットのいずれかに割り振られる。
【００１８】
すべての作業が分配されたら、その分配結果に基づき、ロボットと人間の動作プログラムを作成する（ステップＳ８）。そして作成された動作プログラムのシミュレーションを実行し、人間協調型システムにおけるシミュレーションのサイクルタイムを算出する（ステップＳ９）。
【００１９】
このように本願発明では、物品の重量と所要時間（搬送時間）から複数の作業をそれぞれロボット又は人間に自動的に割り振る（分配する）ことができ、分配結果に基づいて動作プログラムを作成してこれをシミュレーションすることができるので、人間協調型ロボットシステムのサイクルタイムを自動的かつ好適に算出・評価することができる。
【００２０】
図２に示すように、シミュレーション装置１０は、作業分配部２４によってロボットと人間に割り振られた作業が、ロボット又は人間によって実施可能かを他の条件に基づいて判定する実行判定部３０をさらに有してもよい。そして任意に、図３におけるステップＳ４又はステップＳ６の後に、ロボット又は人間に割り振られた作業が、ロボット又は人間によって実施可能かを他の条件に基づいて判断するようにしてもよい。
【００２１】
例えば図５に示すように、ステップＳ４の後にステップＳ１０を追加し、ロボットに割り振られた作業（図４の例では作業Ａ，Ｂ）がロボットに実施可能であるかを判定する。具体的な条件としては、割り振られた作業がロボットの動作範囲内で行うことができるか、ロボットの動作速度を超えるものではないか、等が挙げられる。これらの条件を満たす場合は、処理は図３のステップＳ７に進むが、満たさない場合は、ロボットに割り振られた作業が実際にはロボットによって実施できない不適切なものであったと解されるので、処理を終了することが好ましい。
【００２２】
同様に、図５に示すように、ステップＳ６の後にステップＳ１１を追加し、人間に割り振られた作業（図４の例では作業Ｃ）が人間に実施可能であるかを判定する。具体的な条件としては、割り振られた作業が人間の動作範囲内で行うことができるか、人間の動作速度を超えるものではないか、等が挙げられる。これらの条件を満たす場合は、処理は図３のステップＳ７に進むが、満たさない場合は、人間に割り振られた作業が実際には人間によって実施できない不適切なものであったと解されるので、処理を終了することが好ましい。
【００２３】
図２に示すように、シミュレーション装置１０は、作業分配部２４によってロボットと人間に１つの物品を協働して搬送する作業が割り振られた場合に、ロボットが人間の動作プログラムと同じ速度で動作可能か否かを判断する動作速度判断部３２をさらに有してもよい。
【００２４】
ロボットと人間が１つの物品を協働して搬送する作業は、ロボットと人間の双方に割り振られる。この場合、図６に示すように、プログラム作成部２６が動作プログラムを作成した後（例えば図３におけるステップＳ８の後）に、動作速度判断部３２が、ロボットが人間の動作速度以上の動作速度で動作できるか否かを判断するステップＳ１２を追加してもよい。一般に、人間の方がロボットより動作速度が速いので、ロボットが人間の動作速度以上の速度で動作できないと判断された場合は、プログラム作成部２６は、ロボットの最高速度に人間の速度を合わせて（つまり人間の動作速度を下げて）動作プログラムを作成する（ステップＳ１３）。逆に、人間の動作速度が常にロボットの最高速度よりも遅い場合は、ステップＳ１３を経ずにステップＳ９に進む。このような処理により、ロボットの動作速度不足によってシミュレーションが適切に行えないという不具合を回避することができる。
【００２５】
また、図２に示すように、シミュレーション装置１０は、作業分配部２４によってロボットと人間にそれぞれ別の作業を割り振った場合に、人間が動作中のロボットに所定の距離まで近づいたときにロボットの動作速度を低減する動作速度制限部３４と、人間の接近によってロボットの動作速度が遅くなり、ロボットと人間が協調して動作する場合のサイクルタイムが延びてしまうことを抑制するサイクルタイム延長抑制部３６とをさらに有してもよい。動作速度制限部３４及びサイクルタイム延長抑制部３６による処理の一例を、図７のフローチャートを参照しつつ説明する。
【００２６】
動作速度制限部３４は、ロボットと人間にそれぞれ別の作業が割り振られた場合に、動作中のロボットに人間が所定の距離まで近づいた際に、ロボットの動作速度を低減させる機能を有する。換言すれば、動作速度制限部３４は、ロボットから所定の距離以内の範囲を低速エリアとして設定し、人間が低速エリアに進入するとロボットの動作速度を下げるように構成されている。
【００２７】
図７に示すように、プログラム作成部２６が動作プログラムを作成した後（例えば図３におけるステップＳ８の後）、人間が低速エリアに進入する動作が動作プログラムに少なくとも１回含まれているか否かを判定する（ステップＳ１４）。人間が低速エリアに進入する動作が動作プログラムに含まれている場合は、該動作プログラムに基づくシミュレーションを実行し、該動作プログラムの実行時間（サイクルタイム）を算出する（ステップＳ１５）。算出されたサイクルタイムは、第１のサイクルタイム（サイクルタイム１）として適当なメモリ等に記憶しておく。
【００２８】
次に、人間の動作プログラムにおいて、人間が低速エリアに進入する前の動作の１つ（例えば直前の動作）を選択し（ステップＳ１６）、選択された動作の直前に、所定の待機時間を含む待機命令を追加する（ステップＳ１７）。そして待機命令（待機時間）が追加された動作プログラムに基づくシミュレーションを実行し、該動作プログラムの実行時間（サイクルタイム）を第２のサイクルタイム（サイクルタイム２）として算出する（ステップＳ１８）。なお所定の待機時間は、例えば２秒から１０秒の間の値（好ましくは一定値）に設定される。
【００２９】
次のステップＳ１９では、第１のサイクルタイムと第２のサイクルタイムとを比較し、待機命令追加後のサイクルタイム（第２のサイクルタイム）の方が短い場合は、第２のサイクルタイムの値を第１のサイクルタイムに代入し（ステップＳ２０）、さらに待機時間を追加してサイクルタイムの比較を再度行う。この処理は、待機命令追加後のサイクルタイム２が追加前のサイクルタイム１以上となるまで続行される。
【００３０】
ステップＳ１９において第２のサイクルタイムが第１のサイクルタイム以上となった場合は、直前に追加した待機命令（待機時間）は不要であったことを意味するので、人間の動作プログラムにおける直近の変更（待機命令の追加）は削除される（ステップＳ２１）。なお上述の待機命令（待機時間）追加処理は、人間がロボットの低速エリアに進入する全ての動作に対して行うことが好ましい（ステップＳ２２）。
【００３１】
つまり図７の例は、人間が低速エリアに進入することによるロボットの動作速度の低減（さらにこれに伴うサイクルタイムの延長）を抑制することを企図しており、待機時間を追加することによって人間が低速エリアに進入するタイミングを遅らせて、それによってロボットの動作速度を低減させずにロボットの作業を迅速に行わせるための具体的手段を示している。さらに図７の例では、適当な刻み時間幅で待機時間を追加して追加前後の「￥サイクルタイムを比較することにより、サイクルタイムが最小となる動作プログラムを自動的に作成することができる。
【００３２】
なお図５〜図７に説明した応用例は、それぞれ単独で使用してもよいし、適宜組み合わせて使用することも可能である。
【００３３】
本発明に係るロボットシミュレーション装置は、図１の例ではパーソナルコンピュータとして説明したが、シミュレーション対象であるロボットの実機を制御するロボット制御装置に含まれてもよく、換言すればロボットシミュレーション装置の機能は、該ロボット制御装置が有してもよい。このようにすれば、人間協調型ロボットシステムのシミュレーションをロボット制御装置で行うことができるようになり、シミュレーション結果に基づく実機の動作を円滑に行うこともできる。
【符号の説明】
【００３４】
１０    ロボットシミュレーション装置
１２    キーボード
１４    マウス
１６    ディスプレイ
１８    ロボット
２０    人間
２２    物品
２４    作業分配部
２６    プログラム作成部
２８    サイクルタイム算出部
３０    実行判定部
３２    動作速度判断部
３４    動作速度制限部
３６    サイクルタイム延長抑制部
【図１】
0006426547.tif 000002
【図２】
0006426547.tif 000003
【図３】
0006426547.tif 000004
【図４】
0006426547.tif 000005
【図５】
0006426547.tif 000006
【図６】
0006426547.tif 000007
【図７】
0006426547.tif 000008