(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6426547
(24)【登録日】2018年11月2日
(45)【発行日】2018年11月21日
(54)【発明の名称】人間協調型ロボットシステムのロボットシミュレーション装置
(51)【国際特許分類】
B25J 9/22 20060101AFI20181112BHJP
【FI】
B25J9/22 A
【請求項の数】4
【全頁数】10
(21)【出願番号】特願2015-144229(P2015-144229)
(22)【出願日】2015年7月21日
(65)【公開番号】特開2017-24113(P2017-24113A)
(43)【公開日】2017年2月2日
【審査請求日】2016年10月20日
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100102819
【弁理士】
【氏名又は名称】島田 哲郎
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【弁理士】
【氏名又は名称】廣瀬 繁樹
(74)【代理人】
【識別番号】100157211
【弁理士】
【氏名又は名称】前島 一夫
(74)【代理人】
【識別番号】100159684
【弁理士】
【氏名又は名称】田原 正宏
(72)【発明者】
【氏名】木本 裕樹
(72)【発明者】
【氏名】長塚 嘉治
【審査官】
金丸 治之
(56)【参考文献】
【文献】
特開2010−211726(JP,A)
【文献】
特開2011−152615(JP,A)
【文献】
特開平06−096087(JP,A)
【文献】
国際公開第2012/039280(WO,A1)
【文献】
特開2007−76807(JP,A)
【文献】
特開2009−297880(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/22
(57)【特許請求の範囲】
【請求項1】
仮想空間内に配置されたロボットと人間とが作業空間を共有して、1つ以上の物品を搬送する協調作業を行う人間協調型ロボットシステムのシミュレーション装置において、
前記協調作業に含まれる複数の作業の種類ごとに設定された、各作業の対象となる物品の重量、前記物品の搬送距離、及び各作業の所要時間に基づいて、前記複数の作業を前記ロボットと前記人間に割り振る作業分配部であって、前記物品の重量が所定の許容値を超えている場合、又は前記搬送距離に基づいて計算される前記ロボットによる最短搬送時間が所要時間未満の場合は、対応する作業を前記ロボットに割り振る作業分配部と、
前記作業分配部が割り振った作業分配結果に基づき、前記ロボットと前記人間の動作プログラムを作成するプログラム作成部と、
前記動作プログラムのシミュレーションを実行して、前記動作プログラムのサイクルタイムを算出するサイクルタイム算出部と、
を備える、ロボットシミュレーション装置。
【請求項2】
前記ロボット又は前記人間に割り振られた作業を、各作業の対象となる物品の重量、前記物品の搬送距離、及び各作業の所要時間以外の条件に基づいて、前記ロボット又は前記人間によって実行可能か否かを判定する実行判定部をさらに有する、請求項1に記載のロボットシミュレーション装置。
【請求項3】
前記作業分配部が、前記ロボットと前記人間に、1つの物品を協働して搬送する作業を割り振った場合に、前記ロボットが前記人間の動作速度以上の速度で動作可能か否かを判断する動作速度判断部をさらに有し、
前記動作速度判断部が、前記ロボットが前記人間の動作速度以上の動作速度で動作できないと判断した場合に、前記プログラム作成部は、前記ロボットの最高速度に前記人間の速度を合わせて動作プログラムを作成する、請求項1又は2に記載のロボットシミュレーション装置。
【請求項4】
仮想空間内に配置されたロボットと人間とが作業空間を共有して、1つ以上の物品を搬送する協調作業を行う人間協調型ロボットシステムのシミュレーション装置において、
前記協調作業に含まれる複数の作業の種類ごとに設定された、各作業の対象となる物品の重量、前記物品の搬送距離、及び各作業の所要時間に基づいて、前記複数の作業を前記ロボットと前記人間に割り振る作業分配部と、
前記作業分配部が割り振った作業分配結果に基づき、前記ロボットと前記人間の動作プログラムを作成するプログラム作成部と、
前記動作プログラムのシミュレーションを実行して、前記動作プログラムのサイクルタイムを算出するサイクルタイム算出部と、
前記作業分配部が、前記ロボットと前記人間にそれぞれ別の作業を割り振った場合に、前記人間が動作中の前記ロボットに一定の距離まで近づいたときに前記ロボットの動作速度を低減する動作速度制限部と、
前記ロボットへの前記人間の接近によって前記ロボットの動作速度が遅くなり、前記ロボットと前記人間が協調して動作する場合のサイクルタイムが延びることを、前記動作プログラムに待機時間を追加することによって抑制するサイクルタイム延長抑制部と、
を備える、ロボットシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットのオフラインシステムにおいて、人間協調型ロボットシステムのシミュレーションを実行するロボットシミュレーション装置に関する。
【背景技術】
【0002】
部品の組み立て等を行う近年の生産システムでは、人間と協調作業を行う人間協調型ロボットを用いた人間協調型ロボットシステムが採用されることがある。このようなロボットシステムでは、実機の稼働前にオフラインシステムにおいてシミュレーションを行うことが要求される場合がある。
【0003】
これに関連する周知技術として、例えば特許文献1には、作業者の各身体部位の可動範囲と動作速度とを含む動作特性を指定する指定工程と、作業者の配置可能な位置とロボットの配置可能な位置との組合せ毎に、動作シミュレーションにより作業者とロボットとの協調による生産作業の所要時間を算出して、算出された所要時間から所要時間が最も短い作業者の位置とロボットの位置との組合せを決定する決定工程と、を含むシミュレーション方法が記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−211726号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載の技術は、人間の可動範囲と動作速度を指定して、人間のシミュレーションを可能にしつつ、ロボットと人間の配置を変更することでサイクルタイムを最適化することを企図している。しかし、従来の方法では、シミュレーションの実行前に、予めロボットと人間の作業内容と動作速度を決めておく必要があった。また従来は、ロボットと人間の配置を変更することでサイクルタイムを最適化しており、最適化に際し動作プログラムは変更されていない。
【0006】
そこで本発明は、人間協調型ロボットシステムのシミュレーション及びサイクルタイムの計算を、作業者の少ない負担で容易に行えるようにしたロボットシミュレーション装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本願第1の発明は、仮想空間内に配置されたロボットと人間とが作業空間を共有して、1つ以上の物品を搬送する協調作業を行う人間協調型ロボットシステムのシミュレーション装置において、前記協調作業に含まれる複数の作業の種類ごとに設定された、各作業の対象となる物品の重量、前記物品の搬送距離、及び各作業の所要時間に基づいて、前記複数の作業を前記ロボットと前記人間に割り振る作業分配部
であって、前記物品の重量が所定の許容値を超えている場合、又は前記搬送距離に基づいて計算される前記ロボットによる最短搬送時間が所要時間未満の場合は、対応する作業を前記ロボットに割り振る作業分配部と、前記作業分配部が割り振った作業分配結果に基づき、前記ロボットと前記人間の動作プログラムを作成するプログラム作成部と、前記動作プログラムのシミュレーションを実行して、前記動作プログラムのサイクルタイムを算出するサイクルタイム算出部と、を備える、ロボットシミュレーション装置を提供する。
【0008】
第2の発明は、第1の発明において、前記ロボット又は前記人間に割り振られた作業を、各作業の対象となる物品の重量、前記物品の搬送距離、及び各作業の所要時間以外の条件に基づいて、前記ロボット又は前記人間によって実行可能か否かを判定する実行判定部をさらに有する、ロボットシミュレーション装置を提供する。
【0009】
第3の発明は、第1又は第2の発明において、前記作業分配部が、前記ロボットと前記人間に、1つの物品を協働して搬送する作業を割り振った場合に、前記ロボットが前記人間の動作速度以上の速度で動作可能か否かを判断する動作速度判断部をさらに有し、前記動作速度判断部が、前記ロボットが前記人間の動作速度以上の動作速度で動作できないと判断した場合に、前記プログラム作成部は、前記ロボットの最高速度に前記人間の速度を合わせて動作プログラムを作成する、ロボットシミュレーション装置を提供する。
【0010】
第4の発明は、
仮想空間内に配置されたロボットと人間とが作業空間を共有して、1つ以上の物品を搬送する協調作業を行う人間協調型ロボットシステムのシミュレーション装置において、前記協調作業に含まれる複数の作業の種類ごとに設定された、各作業の対象となる物品の重量、前記物品の搬送距離、及び各作業の所要時間に基づいて、前記複数の作業を前記ロボットと前記人間に割り振る作業分配部と、前記作業分配部が割り振った作業分配結果に基づき、前記ロボットと前記人間の動作プログラムを作成するプログラム作成部と、前記動作プログラムのシミュレーションを実行して、前記動作プログラムのサイクルタイムを算出するサイクルタイム算出部と、前記作業分配部が、前記ロボットと前記人間にそれぞれ別の作業を割り振った場合に、前記人間が動作中の前記ロボットに一定の距離まで近づいたときに前記ロボットの動作速度を低減する動作速度制限部と、前記ロボットへの前記人間の接近によって前記ロボットの動作速度が遅くなり、前記ロボットと前記人間が協調して動作する場合のサイクルタイムが延びることを、前記動作プログラムに待機時間を追加することによって抑制するサイクルタイム延長抑制部と、を
備える、ロボットシミュレーション装置を提供する。
【発明の効果】
【0011】
本発明によれば、作業に関する物品の重量、搬送距離及び所要時間からロボットと人間に作業を自動的に割り振って、それぞれの動作プログラムをシミュレートしてサイクルタイムを計算することができるので、作業者は人間協調型ロボットシステムのシミュレーション及びサイクルタイム評価を少ない負担で容易に行うことができる。
【図面の簡単な説明】
【0012】
【
図1】本発明の好適な実施形態に係るロボットシミュレーション装置のシステム構成例を示す図である。
【
図2】
図1のロボットシミュレーション装置の機能ブロック図である。
【
図3】本発明のロボットシミュレーション装置における処理の一例を示すフローチャートである。
【
図4】複数の作業をロボットと人間とに割り振った例を説明する図である。
【
図5】ロボット又は人間に割り振られた作業が割り振り先によって実行可能かを判定する処理を説明するフローチャートである。
【
図6】ロボットと人間に1つの物品を協働して搬送する作業が割り振られた場合に、ロボットが人間の動作プログラムと同じ速度で動作可能か否かを判断する処理を説明するフローチャートである。
【
図7】ロボット周りに低速エリアを設定した場合に、サイクルタイムの延長を抑制する処理を説明するフローチャートである。
【発明を実施するための形態】
【0013】
図1は、本発明の好適な実施形態に係るロボットシミュレーション装置(以降、単にシミュレーション装置とも称する)10のシステム構成例を示す図であり、
図2はシミュレーション装置の機能ブロック図である。シミュレーション装置10は、例えばキーボード12やマウス14等の入力装置を備えたパーソナルコンピュータであり、仮想空間(ディスプレイ)16上に配置されたロボット18と人間(作業者)20とが作業空間を共有して、1つ以上の物品22を搬送する協調作業を行う人間協調型ロボットシステムのシミュレーションを行う装置であり、協調作業に含まれる複数の作業の種類ごとに設定された、各作業の対象となる物品22の重量、物品22の搬送距離、及び各作業の所要時間から、複数の作業をそれぞれロボット18と人間20に割り振る作業分配部24と、作業分配部24が割り振った作業分配結果から、ロボット18と人間20の動作プログラムを作成するプログラム作成部26と、動作プログラムのシミュレーションを実行して、動作プログラムのサイクルタイムを算出するサイクルタイム算出部28とを備える。
【0014】
次に、
図3のフローチャートを参照しつつ、シミュレーション装置10の作用について説明する。先ずステップS1において、人間協調型システムにおいて行うべき複数の作業を種類ごとに分ける。ここでは、例えば
図4に示すように、複数の作業が、作業A、B及びCの3種類に分けられたとする。
【0015】
次にステップS2において、種類ごとに分類された作業の中から1種類の作業を選択し、選択された作業において扱われる対象物品の重量と所定の許容値とを比較する(ステップS3)。物品の重量が許容値を超えている場合、その作業はロボットに割り振られる(ステップS4)。例えば所定の許容値は、人間が物品を持った場合に負担にならない重さとして設定される。
【0016】
物品の重さが許容値以下の場合は、ステップS5において、物品の搬送距離Dをロボットの最高速度Vmaxで除した最短搬送時間(D/Vmax)が、予め定めた所要時間以上であるか否かを判定する。ロボットによる最短搬送時間が所要時間未満の場合は、その作業はロボットによって所要時間以内に実行可能であるので、ロボットに割り振られ(ステップS4)、逆に所要時間以上の場合は、一般に動作速度がロボットより速いとされる人間に割り振られる(ステップS6)。例えば
図4では、作業A及びBがロボット18に割り振られ、作業Cが人間20に割り振られている。
【0017】
次のステップS7では、すべての作業が割り振られたか否かを判定し、割り振られていない作業が残っている場合はステップS2〜S6からの処理を繰り返す。このようにして、種類ごとに分類された作業の全てが人間又はロボットのいずれかに割り振られる。
【0018】
すべての作業が分配されたら、その分配結果に基づき、ロボットと人間の動作プログラムを作成する(ステップS8)。そして作成された動作プログラムのシミュレーションを実行し、人間協調型システムにおけるシミュレーションのサイクルタイムを算出する(ステップS9)。
【0019】
このように本願発明では、物品の重量と所要時間(搬送時間)から複数の作業をそれぞれロボット又は人間に自動的に割り振る(分配する)ことができ、分配結果に基づいて動作プログラムを作成してこれをシミュレーションすることができるので、人間協調型ロボットシステムのサイクルタイムを自動的かつ好適に算出・評価することができる。
【0020】
図2に示すように、シミュレーション装置10は、作業分配部24によってロボットと人間に割り振られた作業が、ロボット又は人間によって実施可能かを他の条件に基づいて判定する実行判定部30をさらに有してもよい。そして任意に、
図3におけるステップS4又はステップS6の後に、ロボット又は人間に割り振られた作業が、ロボット又は人間によって実施可能かを他の条件に基づいて判断するようにしてもよい。
【0021】
例えば
図5に示すように、ステップS4の後にステップS10を追加し、ロボットに割り振られた作業(
図4の例では作業A,B)がロボットに実施可能であるかを判定する。具体的な条件としては、割り振られた作業がロボットの動作範囲内で行うことができるか、ロボットの動作速度を超えるものではないか、等が挙げられる。これらの条件を満たす場合は、処理は
図3のステップS7に進むが、満たさない場合は、ロボットに割り振られた作業が実際にはロボットによって実施できない不適切なものであったと解されるので、処理を終了することが好ましい。
【0022】
同様に、
図5に示すように、ステップS6の後にステップS11を追加し、人間に割り振られた作業(
図4の例では作業C)が人間に実施可能であるかを判定する。具体的な条件としては、割り振られた作業が人間の動作範囲内で行うことができるか、人間の動作速度を超えるものではないか、等が挙げられる。これらの条件を満たす場合は、処理は
図3のステップS7に進むが、満たさない場合は、人間に割り振られた作業が実際には人間によって実施できない不適切なものであったと解されるので、処理を終了することが好ましい。
【0023】
図2に示すように、シミュレーション装置10は、作業分配部24によってロボットと人間に1つの物品を協働して搬送する作業が割り振られた場合に、ロボットが人間の動作プログラムと同じ速度で動作可能か否かを判断する動作速度判断部32をさらに有してもよい。
【0024】
ロボットと人間が1つの物品を協働して搬送する作業は、ロボットと人間の双方に割り振られる。この場合、
図6に示すように、プログラム作成部26が動作プログラムを作成した後(例えば
図3におけるステップS8の後)に、動作速度判断部32が、ロボットが人間の動作速度以上の動作速度で動作できるか否かを判断するステップS12を追加してもよい。一般に、人間の方がロボットより動作速度が速いので、ロボットが人間の動作速度以上の速度で動作できないと判断された場合は、プログラム作成部26は、ロボットの最高速度に人間の速度を合わせて(つまり人間の動作速度を下げて)動作プログラムを作成する(ステップS13)。逆に、人間の動作速度が常にロボットの最高速度よりも遅い場合は、ステップS13を経ずにステップS9に進む。このような処理により、ロボットの動作速度不足によってシミュレーションが適切に行えないという不具合を回避することができる。
【0025】
また、
図2に示すように、シミュレーション装置10は、作業分配部24によってロボットと人間にそれぞれ別の作業を割り振った場合に、人間が動作中のロボットに所定の距離まで近づいたときにロボットの動作速度を低減する動作速度制限部34と、人間の接近によってロボットの動作速度が遅くなり、ロボットと人間が協調して動作する場合のサイクルタイムが延びてしまうことを抑制するサイクルタイム延長抑制部36とをさらに有してもよい。動作速度制限部34及びサイクルタイム延長抑制部36による処理の一例を、
図7のフローチャートを参照しつつ説明する。
【0026】
動作速度制限部34は、ロボットと人間にそれぞれ別の作業が割り振られた場合に、動作中のロボットに人間が所定の距離まで近づいた際に、ロボットの動作速度を低減させる機能を有する。換言すれば、動作速度制限部34は、ロボットから所定の距離以内の範囲を低速エリアとして設定し、人間が低速エリアに進入するとロボットの動作速度を下げるように構成されている。
【0027】
図7に示すように、プログラム作成部26が動作プログラムを作成した後(例えば
図3におけるステップS8の後)、人間が低速エリアに進入する動作が動作プログラムに少なくとも1回含まれているか否かを判定する(ステップS14)。人間が低速エリアに進入する動作が動作プログラムに含まれている場合は、該動作プログラムに基づくシミュレーションを実行し、該動作プログラムの実行時間(サイクルタイム)を算出する(ステップS15)。算出されたサイクルタイムは、第1のサイクルタイム(サイクルタイム1)として適当なメモリ等に記憶しておく。
【0028】
次に、人間の動作プログラムにおいて、人間が低速エリアに進入する前の動作の1つ(例えば直前の動作)を選択し(ステップS16)、選択された動作の直前に、所定の待機時間を含む待機命令を追加する(ステップS17)。そして待機命令(待機時間)が追加された動作プログラムに基づくシミュレーションを実行し、該動作プログラムの実行時間(サイクルタイム)を第2のサイクルタイム(サイクルタイム2)として算出する(ステップS18)。なお所定の待機時間は、例えば2秒から10秒の間の値(好ましくは一定値)に設定される。
【0029】
次のステップS19では、第1のサイクルタイムと第2のサイクルタイムとを比較し、待機命令追加後のサイクルタイム(第2のサイクルタイム)の方が短い場合は、第2のサイクルタイムの値を第1のサイクルタイムに代入し(ステップS20)、さらに待機時間を追加してサイクルタイムの比較を再度行う。この処理は、待機命令追加後のサイクルタイム2が追加前のサイクルタイム1以上となるまで続行される。
【0030】
ステップS19において第2のサイクルタイムが第1のサイクルタイム以上となった場合は、直前に追加した待機命令(待機時間)は不要であったことを意味するので、人間の動作プログラムにおける直近の変更(待機命令の追加)は削除される(ステップS21)。なお上述の待機命令(待機時間)追加処理は、人間がロボットの低速エリアに進入する全ての動作に対して行うことが好ましい(ステップS22)。
【0031】
つまり
図7の例は、人間が低速エリアに進入することによるロボットの動作速度の低減(さらにこれに伴うサイクルタイムの延長)を抑制することを企図しており、待機時間を追加することによって人間が低速エリアに進入するタイミングを遅らせて、それによってロボットの動作速度を低減させずにロボットの作業を迅速に行わせるための具体的手段を示している。さらに
図7の例では、適当な刻み時間幅で待機時間を追加して追加前後の「¥サイクルタイムを比較することにより、サイクルタイムが最小となる動作プログラムを自動的に作成することができる。
【0032】
なお
図5〜
図7に説明した応用例は、それぞれ単独で使用してもよいし、適宜組み合わせて使用することも可能である。
【0033】
本発明に係るロボットシミュレーション装置は、
図1の例ではパーソナルコンピュータとして説明したが、シミュレーション対象であるロボットの実機を制御するロボット制御装置に含まれてもよく、換言すればロボットシミュレーション装置の機能は、該ロボット制御装置が有してもよい。このようにすれば、人間協調型ロボットシステムのシミュレーションをロボット制御装置で行うことができるようになり、シミュレーション結果に基づく実機の動作を円滑に行うこともできる。
【符号の説明】
【0034】
10 ロボットシミュレーション装置
12 キーボード
14 マウス
16 ディスプレイ
18 ロボット
20 人間
22 物品
24 作業分配部
26 プログラム作成部
28 サイクルタイム算出部
30 実行判定部
32 動作速度判断部
34 動作速度制限部
36 サイクルタイム延長抑制部