(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-13
(45)【発行日】2023-11-21
(54)【発明の名称】協調作業システム、解析装置および解析プログラム
(51)【国際特許分類】
G05B 19/418 20060101AFI20231114BHJP
【FI】
G05B19/418 Z
(21)【出願番号】P 2019212561
(22)【出願日】2019-11-25
【審査請求日】2022-09-07
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】藤本 慎也
(72)【発明者】
【氏名】小林 昭朗
【審査官】永井 友子
(56)【参考文献】
【文献】特開2019-148958(JP,A)
【文献】特開2018-187746(JP,A)
【文献】特開2017-024113(JP,A)
【文献】特開2001-101422(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/418
B25J 1/00 - 21/02
(57)【特許請求の範囲】
【請求項1】
予め定められた工程に沿って製品を生産する協調作業システムであって、
作業者と協調して作業を行う1または複数の協調作業ロボットと、
前記作業者および前記協調作業ロボットの挙動を解析することで、各工程の作業に要する作業時間を算出する作業時間算出部と、
前記工程の任意の位置において、前記作業者と前記協調作業ロボットとの間で作業の担当を切り替えるとした場合に、切り替え前後の工程における前記作業者および前記協調作業ロボットの挙動に基づいて、作業切り替え
によって生じる時間的な損失を適合性
として評価する適合性評価部とを備える、協調作業システム。
【請求項2】
前記適合性評価部は、前記作業者と前記協調作業ロボットとの距離が小さいほど、適合性が低いと決定する、請求項1に記載の協調作業システム。
【請求項3】
前記適合性評価部は、前記作業者と前記協調作業ロボットとが接近している期間が長いほど、適合性が低いと決定する、請求項2に記載の協調作業システム。
【請求項4】
切り替え後の工程の作業に要する作業時間を、当該工程が切り替え後ではない場合に算出された作業時間と、前記作業切り替えの適合性の大きさとに基づいて決定する作業時間算出部をさらに備える、請求項1~3のいずれか1項に記載の協調作業システム。
【請求項5】
前記作業者と前記協調作業ロボットとの間で担当を異ならせた複数の作業分担の候補毎に、作業時間を算出することで、作業分担の候補をランキングして出力する出力部をさらに備える、請求項4に記載の協調作業システム。
【請求項6】
前記作業時間算出部は、各工程に含まれる1または複数の要素作業毎に開始および終了のタイミングを決定する、請求項1~5のいずれか1項に記載の協調作業システム。
【請求項7】
前記作業時間算出部は、
センシングデバイスによる少なくとも前記作業者を含む領域のセンシング結果に基づいて、前記作業者の特徴点を抽出する特徴点抽出部と、
前記センシング結果に基づいて、作業ステージ上にある物体の位置および種類を認識する物体認識部と、
前記特徴点抽出部により抽出される前記作業者の特徴点、および、前記物体認識部により認識される前記物体の位置および種類に基づいて、前記作業者による要素作業毎に開始および終了のタイミングを決定する第1のタイミング決定部とを含む、請求項6に記載の協調作業システム。
【請求項8】
前記作業時間算出部は、
前記協調作業ロボットからの制御状態に基づいて前記協調作業ロボットのステータスを管理するステータス管理部と、
前記協調作業ロボットのステータスに対応する挙動に基づいて、前記協調作業ロボットによる要素作業毎に開始および終了のタイミングを決定する第2のタイミング決定部とを含む、請求項6または7に記載の協調作業システム。
【請求項9】
予め定められた工程に沿って製品を生産する協調作業システムに向けられた解析装置であって、協調作業システムは作業者と協調して作業を行う1または複数の協調作業ロボットを含み、
前記作業者および前記協調作業ロボットの挙動を解析することで、各工程の作業に要する作業時間を算出する作業時間算出部と、
前記工程の任意の位置において、前記作業者と前記協調作業ロボットとの間で作業の担当を切り替えるとした場合に、切り替え前後の工程における前記作業者および前記協調作業ロボットの挙動に基づいて、作業切り替え
によって生じる時間的な損失を適合性
として評価する適合性評価部とを備える、解析装置。
【請求項10】
予め定められた工程に沿って製品を生産する協調作業システムに向けられた解析プログラムであって、協調作業システムは作業者と協調して作業を行う1または複数の協調作業ロボットを含み、前記解析プログラムはコンピュータに、
前記作業者および前記協調作業ロボットの挙動を解析することで、各工程の作業に要する作業時間を算出するステップと、
前記工程の任意の位置において、前記作業者と前記協調作業ロボットとの間で作業の担当を切り替えるとした場合に、切り替え前後の工程における前記作業者および前記協調作業ロボットの挙動に基づいて、作業切り替え
によって生じる時間的な損失を適合性
として評価するステップとを実行させる、解析プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、協調作業システム、解析装置および解析プログラムに関する。
【背景技術】
【0002】
工場等の生産現場における作業工程の実施状況を撮像した撮像データを、当該作業工程の改善等に利用する試みが知られている。例えば、特開2019-023803号公報(特許文献1)は、作業現場に配置された複数のカメラで撮影した作業映像データを解析して、作業者が実際に作業を行うことのできた時間である実作業時間を検出し、検出した実作業時間を用いてボトルネックとなっている作業工程を特定する技術を開示する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述の特許文献1に開示される技術は、セル生産方式などの作業者の作業に着目するものに過ぎず、人とロボットとが協調して作業する協調作業システムについては、何ら想定されていない。本発明は、このような新たな課題に対する解決手段を提供するものであり、作業者と協調して作業を行う1または複数の協調作業ロボットを含む協調作業システムにおける生産性を向上させるための情報を提供するものである。
【課題を解決するための手段】
【0005】
本発明の一実施形態に従えば、予め定められた工程に沿って製品を生産する協調作業システムが提供される。協調作業システムは、作業者と協調して作業を行う1または複数の協調作業ロボットと、作業者および協調作業ロボットの挙動を解析することで、各工程の作業に要する作業時間を算出する作業時間算出部と、工程の任意の位置において、作業者と協調作業ロボットとの間で作業の担当を切り替えるとした場合に、切り替え前後の工程における作業者および協調作業ロボットの挙動に基づいて、作業切り替えの適合性を評価する適合性評価部とを含む。
【0006】
この構成によれば、協調作業システムにおいて、任意の位置で作業者と協調作業ロボットとの作業分担を変更しようとした場合に、現実に作業分担を変更した上で生産を行うことなく、事前に当該作業分担による影響を評価できる。すなわち、任意の位置で作業分担を変更した場合に生じるであろう作業時間を事前に見積もることができ、これによって、対象の協調作業システムにおける作業者とロボットとの間の最適な作業分担を決定できる。
【0007】
適合性評価部は、作業者と協調作業ロボットとの距離が小さいほど、適合性が低いと決定してもよい。この構成によれば、協調作業ロボットの動作速度が抑制される可能性に基づいて、適合性の大きさをより正確に決定できる。
【0008】
適合性評価部は、作業者と協調作業ロボットとが接近している期間が長いほど、適合性が低いと決定してもよい。この構成によれば、協調作業ロボットの動作速度が抑制され得る時間に基づいて、適合性の大きさをより正確に決定できる。
【0009】
協調作業システムは、切り替え後の工程の作業に要する作業時間を、当該工程が切り替え後ではない場合に算出された作業時間と、作業切り替えの適合性の大きさとに基づいて決定する作業時間算出部をさらに含んでいてもよい。この構成によれば、作業者と協調作業ロボットと作業分担を変更した場合の影響を、作業切り替えの適合性の大きさに基づいて、数値的に評価できる。
【0010】
協調作業システムは、作業者と協調作業ロボットとの間で担当を異ならせた複数の作業分担の候補毎に、作業時間を算出することで、作業分担の候補をランキングして出力する出力部をさらに含んでいてもよい。この構成によれば、ユーザは、作業者と協調作業ロボットとの作業分担のうち、いずれの作業分担が好ましいのかを容易に把握できる。
【0011】
作業時間算出部は、各工程に含まれる1または複数の要素作業毎に開始および終了のタイミングを決定してもよい。この構成によれば、より粒度の細かい単位で作業者および協調作業ロボットの作業時間を算出できる。
【0012】
作業時間算出部は、センシングデバイスによる少なくとも作業者を含む領域のセンシング結果に基づいて、作業者の特徴点を抽出する特徴点抽出部と、センシング結果に基づいて、作業ステージ上にある物体の位置および種類を認識する物体認識部と、特徴点抽出部により抽出される作業者の特徴点、および、物体認識部により認識される物体の位置および種類に基づいて、作業者による要素作業毎に開始および終了のタイミングを決定する第1のタイミング決定部とを含んでいてもよい。この構成によれば、作業者の作業を要素作業の単位で算出できる。
【0013】
作業時間算出部は、協調作業ロボットからの制御状態に基づいて協調作業ロボットのステータスを管理するステータス管理部と、協調作業ロボットのステータスに対応する挙動に基づいて、協調作業ロボットによる要素作業毎に開始および終了のタイミングを決定する第2のタイミング決定部とを含んでいてもよい。この構成によれば、協調作業ロボットの作業を要素作業の単位で算出できる。
【0014】
本発明の別の一実施形態に従えば、予め定められた工程に沿って製品を生産する協調作業システムに向けられた解析装置が提供される。協調作業システムは作業者と協調して作業を行う1または複数の協調作業ロボットを含む。解析装置は、作業者および協調作業ロボットの挙動を解析することで、各工程の作業に要する作業時間を算出する作業時間算出部と、工程の任意の位置において、作業者と協調作業ロボットとの間で作業の担当を切り替えるとした場合に、切り替え前後の工程における作業者および協調作業ロボットの挙動に基づいて、作業切り替えの適合性を評価する適合性評価部とを含む。
【0015】
本発明のさらに別の一実施形態に従えば、予め定められた工程に沿って製品を生産する協調作業システムに向けられた解析プログラムが提供される。協調作業システムは作業者と協調して作業を行う1または複数の協調作業ロボットを含む。解析プログラムはコンピュータに、作業者および協調作業ロボットの挙動を解析することで、各工程の作業に要する作業時間を算出するステップと、工程の任意の位置において、作業者と協調作業ロボットとの間で作業の担当を切り替えるとした場合に、切り替え前後の工程における作業者および協調作業ロボットの挙動に基づいて、作業切り替えの適合性を評価するステップとを実行させる。
【発明の効果】
【0016】
本発明によれば、作業者と協調して作業を行う1または複数の協調作業ロボットを含む協調作業システムにおける生産性を向上させるための情報を提供できる。
【図面の簡単な説明】
【0017】
【
図1】本発明が適用される場面の一例を示す模式図である。
【
図2】本実施の形態に係る協調作業システムの一例を示す外観図である。
【
図3】本実施の形態に係る協調作業システムの一例を示す外観図である。
【
図4】本実施の形態に係る協調作業システムのハードウェア構成例を示す図である。
【
図5】本実施の形態に係る協調作業システムを構成するPLCのハードウェア構成例を示す模式図である。
【
図6】本実施の形態に係る協調作業システムを構成する解析装置のハードウェア構成例を示す模式図である。
【
図7】本実施の形態に係る協調作業システムを構成するロボットのハードウェア構成例を示す模式図である。
【
図8】本実施の形態に係る協調作業システムにおける作業の解析例を説明するための図である。
【
図9】本実施の形態に係る協調作業システムにおける作業解析に係る要部を示す模式図である。
【
図10】本実施の形態に係る協調作業システムにおける作業者による要素作業の解析に係る要部を示す模式図である。
【
図11】本実施の形態に係る協調作業システムにおけるロボットによる要素作業の解析に係る要部を示す模式図である。
【
図12】本実施の形態に係る協調作業システムにおける作業の解析に係る処理手順を示すフローチャートである。
【
図13】本実施の形態に係る協調作業システムが出力する要素作業の解析結果の一例を示す図である。
【
図14】本実施の形態に係る協調作業システムが出力する解析結果の表示例を示す図である。
【
図15】本実施の形態に係る協調作業システムが算出する切り替えロススコアを説明するための図である。
【
図16】本実施の形態に係る協調作業システムにおける切り替えロススコアの算出方法を説明するための図である。
【
図17】本実施の形態に係る協調作業システムにおける切り替えロススコアを算出するための処理手順を示すフローチャートである。
【
図18】本実施の形態に係る協調作業システムにおける生産工程の改善提案に係る機能構成例を示す模式図である。
【
図19】本実施の形態に係る協調作業システムにおける生産工程の改善提案に係るユーザインターフェイス画面の一例を示す模式図である。
【
図20】本実施の形態に係る協調作業システムにおける生産工程の改善提案に係る処理手順を示すフローチャートである。
【発明を実施するための形態】
【0018】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【0019】
<A.適用例>
まず、本発明が適用される場面の一例について説明する。
図1は、本発明が適用される場面の一例を示す模式図である。
【0020】
本実施の形態は、予め定められた工程に沿って製品を生産する協調作業システム1に向けられている。協調作業システム1は、作業者と協調して作業を行う1または複数の協調作業ロボットを含む。
【0021】
協調作業システム1は、作業者および協調作業ロボットの挙動を解析することで、各工程の作業に要する作業時間を算出することができる。
【0022】
さらに、
図1に示すように、工程の任意の位置において、作業者と協調作業ロボットとの間で作業の担当を切り替えるとした場合に、切り替え前後の工程における作業者および協調作業ロボットの挙動に基づいて、作業切り替えの適合性を評価することができる。
【0023】
本実施の形態に係る協調作業システム1においては、作業者と協調作業ロボットとの間の作業分担を比較的自由に変更することができる。
【0024】
本明細書において、「作業切り替えの適合性」は、作業者と協調作業ロボットとの間で作業の担当を切り替える場合に、切り替えるという動作によって生じる時間的な損失(ロス)の度合いを意味する。言い換えれば、そのような作業の切り替えがない場合に、作業者および協調作業ロボットがそれぞれ要するであろう作業時間に対して、切り替えるという動作が生じることで、どれだけ余分な作業時間が必要になるのかといった度合いを意味する。
【0025】
以下では、「作業切り替えの適合性」として、特定の指標(スコア)を用いる例について説明するが、これに限らず任意の指標あるいはファクタなどを用いることができる。
【0026】
「作業切り替えの適合性」を用いることで、作業者と協調作業ロボットとの間の作業分担の見直しをより的確に行うことができる。
【0027】
<B.協調作業システム1>
次に、本実施の形態に係る協調作業システム1の一例について説明する。
図2および
図3は、本実施の形態に係る協調作業システム1の一例を示す外観図である。
【0028】
図2および
図3に示す協調作業システム1の構成例は、作業者および協調作業ロボット(以下、単に「ロボット」と略称する。)が協調して製品を生産する生産工程を示す。すなわち、ロボットは作業者と協調して作業を行う。
【0029】
一例として、任意の製品を組み立てる生産セル方式の製造装置が示される。協調作業システム1は、予め定められた工程に沿って製品を生産するものであり、一例として、以下の5つの工程1~5を含む。
【0030】
工程1では、2つのワーク(例えば、基板とケース)の組み付けが行われる。
工程2では、さらに別のワーク(例えば、カバー)の組み付け行われる。
【0031】
工程3では、およびネジ締めが行われる。
工程4では、半製品への印字および印字検査が行われる。
【0032】
工程5では、半製品の外観検査が行われる。
図2に示す協調作業システム1は、工程1~工程5に対応付けて、作業ステージ11M、作業ステージ12M、作業ステージ13A、作業ステージ14A、作業ステージ15Aを含む。各ステージの参照符号の最後の文字「M」は作業者(人手)による作業を意味し、「A」はロボットによる作業を意味する。
【0033】
図3に示す協調作業システム1は、工程2に対応付けられた作業ステージ12Mに代えて、作業ステージ12Aが配置されている。すなわち、
図2に示す協調作業システム1においては、工程2が作業者で実行されるのに対して、
図3に示す協調作業システム1においては、工程2がロボットで実行される。
【0034】
このように、本実施の形態に係る協調作業システム1においては、各工程を作業者またはロボットのいずれでも処理可能になっている。協調作業システム1は、各工程について、作業者またはロボットのいずれで処理するのかを最適化するための情報を提供する。
【0035】
図2および
図3には、1または複数の作業者およびロボットが協調して製品を完成させる、セル生産方式の一例を示すが、本発明の技術的範囲は、セル生産方式に限らず、コンベア方式/ライン方式を含む、作業者およびロボットが協調する任意の生産方式を含む。
【0036】
図4は、本実施の形態に係る協調作業システム1のハードウェア構成例を示す図である。
図4を参照して、協調作業システム1は、制御装置の一例であるPLC100と、後述するような各種解析処理を実行する解析装置200と、作業者20と協調して作業を行うロボット300と、作業者20に対して各種情報を提示する表示操作装置400と、PLC100で実行されるユーザプログラムの開発などを行うサポート装置500と、協調作業システム1における生産管理を行う生産管理システム600とを含む。これらの装置は、1または複数種類のネットワークを介して、データ通信可能に構成される。
【0037】
図4に示す例では、フィールドネットワーク2を介して、PLC100、解析装置200、ロボット300、表示操作装置400が接続されている。フィールドネットワーク2には、1または複数のカメラ30が接続されている。カメラ30により撮像される画像に基づいて、作業者20およびロボット300の挙動が解析され、各工程および各工程内の作業の状態などが推定される。また、上位ネットワーク4を介して、PLC100および生産管理システム600が接続されている。
【0038】
なお、
図4に示すネットワーク構成は一例であり、どのようなネットワーク構成を採用してもよい。
【0039】
<C.協調作業システム1のハードウェア構成例>
次に、協調作業システム1を構成する主要装置のハードウェア構成例について説明する。
【0040】
(c1:PLC100)
図5は、本実施の形態に係る協調作業システム1を構成するPLC100のハードウェア構成例を示す模式図である。
図5を参照して、PLC100は、プロセッサ102と、メインメモリ104と、ストレージ110と、上位ネットワークコントローラ106と、フィールドネットワークコントローラ108と、USB(Universal Serial Bus)コントローラ120と、メモリカードインターフェイス112と、ローカルバスコントローラ116とを含む。これらのコンポーネントは、プロセッサバス118を介して接続されている。
【0041】
プロセッサ102は、様々な制御演算を実行する演算処理部に相当し、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などで構成される。具体的には、プロセッサ102は、ストレージ110に格納されたプログラム(一例として、システムプログラム1102およびユーザプログラム1104)を読出して、メインメモリ104に展開して実行することで、制御対象に応じた制御演算、および、後述するような各種処理を実現する。
【0042】
メインメモリ104は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。ストレージ110は、例えば、SSD(Solid State Drive)やHDD(Hard Disk Drive)などの不揮発性記憶装置などで構成される。
【0043】
ストレージ110には、基本的な機能を実現するためのシステムプログラム1102、制御対象に応じて作成されたユーザプログラム1104、および協調作業システム1で生産される製品に応じた処理内容を規定したレシピプログラム1106が格納される。
【0044】
上位ネットワークコントローラ106は、上位ネットワーク4を介して、任意の情報処理装置との間でデータを遣り取りする。
【0045】
フィールドネットワークコントローラ108は、フィールドネットワーク2を介して任意のデバイスとの間でデータを遣り取りする。
【0046】
USBコントローラ120は、USB接続を介して、サポート装置500などとの間でデータを遣り取りする。
【0047】
メモリカードインターフェイス112は、着脱可能な記憶媒体の一例であるメモリカード114を受け付ける。メモリカードインターフェイス112は、メモリカード114に対して任意のデータの読み書きが可能になっている。
【0048】
ローカルバスコントローラ116は、ローカルバスを介して、PLC100に装着される任意の機能ユニットとの間でデータを遣り取りする。
【0049】
(c2:解析装置200)
図6は、本実施の形態に係る協調作業システム1を構成する解析装置200のハードウェア構成例を示す模式図である。
図6を参照して、解析装置200は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いて実現される。
【0050】
図6を参照して、解析装置200は、プロセッサ202と、メインメモリ204と、入力部206と、表示部208と、ストレージ210と、光学ドライブ212と、フィールドネットワークコントローラ220と、上位ネットワークコントローラ222とを含む。これらのコンポーネントは、プロセッサバス218を介して接続されている。
【0051】
プロセッサ202は、CPUやGPUなどで構成され、ストレージ210に格納されたプログラム(一例として、OS2102および解析プログラム2104)を読出して、メインメモリ204に展開して実行することで、後述するような各種処理を実現する。
【0052】
メインメモリ204は、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ210は、例えば、HDDやSSDなどの不揮発性記憶装置などで構成される。
【0053】
ストレージ210には、基本的な機能を実現するためのOS2102および後述するような各種解析処理を実行するための解析プログラム2104が格納される。
【0054】
入力部206は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。表示部208は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ202からの処理結果などを出力する。
【0055】
解析装置200は、光学ドライブ212を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記憶媒体214(例えば、DVD(Digital Versatile Disc)などの光学記憶媒体)から、その中に格納されたプログラムが読み取られてストレージ210などにインストールされる。
【0056】
解析装置200で実行される解析プログラム2104などは、コンピュータ読取可能な記憶媒体214を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係る解析装置200が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
【0057】
フィールドネットワークコントローラ220は、フィールドネットワーク2を介して任意のデバイスとの間でデータを遣り取りする。上位ネットワークコントローラ222は、上位ネットワーク4を介して、任意の情報処理装置との間でデータを遣り取りする。
【0058】
(c3:ロボット300)
図7は、本実施の形態に係る協調作業システム1を構成するロボット300のハードウェア構成例を示す模式図である。
図7を参照して、ロボット300は、フィールドネットワークコントローラ302と、ロボット300の駆動に係る演算処理を実行するための主制御部310と、インターフェイス回路320とを含む。
【0059】
フィールドネットワークコントローラ302は、フィールドネットワーク2を介して任意のデバイスとの間でデータを遣り取りする。
【0060】
主制御部310は、プロセッサ312と、メインメモリ314と、ストレージ316とを含む。プロセッサ312は、CPUやGPUなどで構成され、ストレージ316に格納されたプログラム(一例として、システムプログラム317およびレシピプログラム318)を読出して、メインメモリ314に展開して実行することで、ロボット300の駆動に係る各種処理を実現する。
【0061】
メインメモリ314は、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ316は、例えば、SSDやHDDなどの不揮発性記憶装置などで構成される。
【0062】
インターフェイス回路320は、ロボット300に設けられた各種デバイスとの間で信号を遣り取りする。より具体的には、インターフェイス回路320は、センサ322と、アクチュエータ324と、1または複数のモータドライバ326と接続されている。
【0063】
センサ322は、ロボット300のアーム部などに配置されており、ロボット300の周囲の情報を収集する。作業者20とロボット300との協調作業においては、通常、ロボット300の近傍に作業者20が位置している場合には、ロボット300の動作速度を予め定められた制限値以下に抑制する必要がある。センサ322を用いて、作業者20とロボット300との接近を検出するようにしてもよい。
【0064】
アクチュエータ324は、ロボット300のアーム部などに配置されており、作業者20に対して各種通知を行うとともに、ワークに対するアクションなどを行う。モータドライバ326は、電気的に接続されたサーボモータ328を駆動する。サーボモータ328は、ロボット300のメカ体(アームや関節など)と機械的に接続されている。主制御部310がインターフェイス回路320を介してモータドライバ326に指令を与えることで、ロボット300を任意に動作させることができる。
【0065】
(c4:表示操作装置400)
表示操作装置400は、一例として、汎用的なアーキテクチャに従うハードウェアを用いて実現される。表示操作装置400のハードウェア構成例および機能構成例は公知であるので、ここでは詳細な説明は行わない。
【0066】
(c5:サポート装置500)
サポート装置500は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いて実現される。サポート装置500のハードウェア構成例および機能構成例は公知であるので、ここでは詳細な説明は行わない。
【0067】
(c6:生産管理システム600)
生産管理システム600は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いたサーバにより実現される。生産管理システム600のハードウェア構成例および機能構成例は公知であるので、ここでは詳細な説明は行わない。
【0068】
<D.作業解析>
本実施の形態に係る協調作業システム1は、作業者とロボットとの協調作業の解析やリバランスなどを容易化するための情報を提供する。ここで、作業の解析について説明する。
【0069】
図8は、本実施の形態に係る協調作業システム1における作業の解析例を説明するための図である。
図8を参照して、複数の工程からなる工程全体40を最上位の単位として捉えて、各工程の工程内41は、複数の作業からなる。工程内41の各作業は、1または複数の要素作業42に分解できる。要素作業42の各々は、1または複数の動作43に分解できる。動作43の各々は、1または複数の単位動作44に分解できる。
【0070】
このように、様々な生産工程における作業者あるいはロボットの挙動は、工程、作業、要素作業、動作、単位動作といった具合に分解できる。
【0071】
本実施の形態に係る協調作業システム1においては、作業者およびロボットの挙動を要素作業の単位まで解析することができる。
【0072】
図9は、本実施の形態に係る協調作業システム1における作業解析に係る要部を示す模式図である。
図9を参照して、解析装置200は、各工程が作業者およびロボットのいずれが担当する場合であっても、各工程を要素作業の単位で解析できる。より具体的には、解析装置200は、作業者用要素作業認識部250と、ロボット用要素作業認識部260と、解析処理エンジン270とを含む。これらの要素は、典型的には、解析装置200のプロセッサ202が解析プログラム2104を実行することで実現される。
【0073】
作業者用要素作業認識部250およびロボット用要素作業認識部260は、作業者およびロボットの挙動を解析することで、各工程の作業に要する作業時間を算出する作業時間算出部に相当する。
【0074】
解析処理エンジン270は、生産管理システム600からの生産管理情報に基づいて、作業者用要素作業認識部250およびロボット用要素作業認識部260に対して、作業者およびロボットの作業分担の情報を事前に与える。生産管理情報は、各工程を作業者およびロボットのいずれが担当するのかという担当情報、作業者が担当する場合の担当者の識別情報、オーダ情報(生産対象の製品の品種などの情報を含む)、およびロット番号などを含む。
【0075】
作業者用要素作業認識部250は、対象の工程が作業者によって担当される場合に、当該工程における作業者が行う要素作業毎の開始および終了のタイミング、ならびに、要素作業に要する時間を解析する。一方、ロボット用要素作業認識部260は、対象の工程がロボットによって担当される場合に、当該工程におけるロボットが行う要素作業毎の開始および終了のタイミング、ならびに、要素作業に要する時間を解析する。
【0076】
なお、各工程に含まれる要素作業の種類は、予め工程設計において決定されているとする。すなわち、各工程に含まれる要素作業の種類は既知である。
【0077】
作業者用要素作業認識部250は、カメラ30などの1または複数のセンシングデバイスによる検出結果に基づいて、作業者の動きなどを解析して、いずれの要素作業を行っているのかを特定する。
【0078】
センシングデバイスとしては、通常のカメラ(2Dカメラ)でもよいし、ステレオカメラ(3Dカメラ)であってもよい。あるいは、レーザスキャナや測距センサなどの物体までの距離プロファイルを取得できるようなセンシングデバイスを用いてもよい。
【0079】
図10は、本実施の形態に係る協調作業システム1における作業者による要素作業の解析に係る要部を示す模式図である。
図10を参照して、解析装置200の作業者用要素作業認識部250は、特徴点抽出部251と、物体認識部252と、動作認識部253と、工程データベース254と、要素作業決定部255とを含む。
【0080】
特徴点抽出部251は、センシングデバイスによる少なくとも作業者を含む領域のセンシング結果(典型的には、画像)に基づいて、作業者の特徴点(骨格や関節など)を抽出する。
【0081】
物体認識部252は、センシングデバイスからのセンシング結果(典型的には、画像)に基づいて、作業ステージ上などにある物体の位置および種類を認識する。
【0082】
動作認識部253は、特徴点抽出部251により抽出された作業者の特徴点と、物体認識部252により抽出された物体の位置および種類とに基づいて、作業者の動作を認識する。動作認識部253は、例えば、予め機械学習によって生成された学習済みモデルを用いて実現してもよいし、ルールベースの決定ロジックを用いて実現してもよい。動作認識部253は、認識した作業者の各時間における位置を特定するための情報を含む軌跡データを出力してもよい。軌跡データは、各時間における作業者の位置を示す情報を含む。
【0083】
要素作業決定部255は、工程データベース254を参照して、動作認識部253により認識される作業者の動作に基づいて、工程内の要素作業の種類ならびに開始および終了のタイミングを決定する。このように、要素作業決定部255は、各工程に含まれる1または複数の要素作業毎に開始および終了のタイミングを決定する。
【0084】
工程データベース254は、各工程に含まれる要素作業および各要素作業に対応する動作に関する情報を含む。要素作業決定部255は、生産管理情報に基づいて、実行中の工程を特定するとともに、工程データベース254を参照して、特定した工程に含まれる要素作業および対応する動作を取得する。要素作業決定部255は、工程データベース254から取得した情報と、認識された作業者の動作とを比較することで、工程内の要素作業の種類ならびに開始および終了のタイミングを決定する。
【0085】
このように、動作認識部253、工程データベース254および要素作業決定部255は、第1のタイミング決定部に相当し、特徴点抽出部251により抽出される作業者の特徴点、および、物体認識部252により認識される物体の位置および種類に基づいて、作業者による要素作業毎に開始および終了のタイミングを決定する。
【0086】
作業者用要素作業認識部250は、センシングデバイスによる検出結果に加えて、PLC100および/またはロボット300から取得した制御状態に基づいて、各工程における作業者が行う各要素作業の開始および終了のタイミングを判断するようにしてもよい。この場合は、後述するようなロボット用要素作業認識部260における判断処理を採用できる。
【0087】
作業者用要素作業認識部250は、各要素作業の開始および終了のタイミングを示す時刻などを出力してもよい。
【0088】
一方、ロボット用要素作業認識部260は、PLC100および/またはロボット300から取得した制御状態に基づいて、各工程におけるロボットが行う各要素作業の開始および終了のタイミングを判断する。PLC100および/またはロボット300から取得する制御状態は、例えば、ユーザプログラムが参照するステータスを示す変数値、ユーザプログラムの実行中の命令行、実行中のレシピ番号などを含む。さらに、PLC100および/またはロボット300から取得する制御状態は、ロボット300の各関節の角度、アーム先端座標、アーム動作速度などを含んでいてもよい。
【0089】
図11は、本実施の形態に係る協調作業システム1におけるロボットによる要素作業の解析に係る要部を示す模式図である。
図11を参照して、解析装置200のロボット用要素作業認識部260は、PLC通信部261と、ロボット通信部262と、ステータス管理部263と、レシピプログラム264と、要素作業決定部265と、工程データベース266とを含む。
【0090】
PLC通信部261は、PLC100から制御状態を取得する。ロボット通信部262は、ロボット300から制御状態を取得する。
【0091】
ステータス管理部263は、レシピプログラム264を参照して、PLC通信部261およびロボット通信部262により取得された制御状態に基づいて、現在のロボット300のステータスを決定する。レシピプログラム264は、PLC100およびロボット300で実行されるプログラムの複製あるいは主要部を含む。すなわち、ステータス管理部263は、PLC100およびロボット300の制御状態に基づいて、現在実行されているプログラムの内容を特定することで、現在のステータスを決定する。このように、ステータス管理部263は、ロボット300からの制御状態に基づいてロボット300のステータスを管理する。
【0092】
また、ステータス管理部263は、取得したロボット300の各時間における位置を特定するための情報を含む軌跡データを出力してもよい。軌跡データは、各時間におけるロボット300の位置および姿勢を示す情報を含む。
【0093】
要素作業決定部265は、工程データベース266を参照して、ステータス管理部263により決定されたステータスに基づいて、工程内の要素作業の種類ならびに開始および終了タイミングを決定する。このように、要素作業決定部265は、各工程に含まれる1または複数の要素作業毎に開始および終了のタイミングを決定する。
【0094】
工程データベース266は、各工程に含まれる要素作業および各要素作業に対応する動作に関する情報を含む。要素作業決定部265は、生産管理情報に基づいて、実行中の工程を特定するとともに、工程データベース266を参照して、特定した工程に含まれる要素作業および対応する動作を取得する。要素作業決定部265は、工程データベース266に含まれる取得されたステータスに対応する情報に基づいて、工程内の要素作業の種類ならびに開始および終了タイミングを決定する。
【0095】
このように、要素作業決定部265および工程データベース266は、第2のタイミング決定部に相当し、ロボットのステータスに対応する挙動に基づいて、ロボット300による要素作業毎に開始および終了のタイミングを決定する。
【0096】
また、ロボット用要素作業認識部260は、カメラ30などの1または複数のセンシングデバイスによる検出結果に少なくとも一部基づいて、各工程におけるロボットが行う要素作業毎の開始および終了のタイミングを判断するようにしてもよい。この場合は、上述したような作業者用要素作業認識部250における判断処理を採用できる。
【0097】
ロボット用要素作業認識部260は、各要素作業の開始および終了のタイミングを示す時刻などを出力してもよい。
【0098】
図12は、本実施の形態に係る協調作業システム1における作業の解析に係る処理手順を示すフローチャートである。
図12に示す各ステップは、典型的には、解析装置200のプロセッサ202が解析プログラム2104を実行することで実現される。
【0099】
図12を参照して、解析装置200は、解析対象の生産管理情報を取得する(ステップS100)。解析装置200は、解析対象の所定期間に亘る、カメラ30により撮像された画像を取得する(ステップS102)とともに、PLC100および/またはロボット300の制御状態を取得する(ステップS104)。なお、解析装置200は、付加的な情報をさらに取得してもよい。
【0100】
解析装置200は、取得した画像に対して作業者20の特徴点(骨格や関節など)を抽出する(ステップS106)とともに、作業ステージ上などにある治具などの物体の位置および種類を認識する(ステップS108)。そして、解析装置200は、解析対象の所定期間に亘る、作業者20の動作を認識する(ステップS110)。すなわち、解析装置200は、作業者20についての軌跡データを生成する。
【0101】
また、解析装置200は、レシピプログラム264を参照して、取得された制御状態に基づいて、解析対象の所定期間に亘る、ロボット300のステータスおよび位置を決定する(ステップS112)。すなわち、解析装置200は、ロボット300についての軌跡データを生成する。
【0102】
解析装置200は、取得した生産管理情報および工程データベース266を参照して、各工程が作業者20およびロボット300のいずれが担当するのかを判断し(ステップS114)、各工程の担当に応じて、作業者20の動作またはロボット300のステータスおよび位置に基づいて、要素作業毎に開始および終了のタイミングを決定し(ステップS116)、各要素作業の作業時間を算出する(ステップS118)。
【0103】
そして、解析装置200は、算出した各要素作業の作業時間を含む解析結果を出力する(ステップS120)。以上により、作業の解析に係る処理は終了する。
【0104】
図12に示す処理は、生産工程での生産活動に同期してほぼリアルタイムで実行されてもよいし、事後的に実行されてもよい。
【0105】
図13は、本実施の形態に係る協調作業システム1が出力する要素作業の解析結果の一例を示す図である。
図13を参照して、要素作業の解析結果700は、工程欄701と、工程内欄702と、要素作業欄703と、開始時刻欄704と、終了時刻欄705と、作業時間706と、担当欄707と、生産管理情報欄708とを含む。
【0106】
工程欄701には、対象の生産工程に含まれる工程が示される。工程内欄702は、対応する工程に含まれる作業が示される。要素作業欄703は、対応する作業に含まれる要素作業が示される。開始時刻欄704および終了時刻欄705は、対応する要素作業の開始および終了の時刻が示される。作業時間706は、対応する要素作業に要した時間が示される。
【0107】
担当欄707には、対応する要素作業を作業者およびロボットのいずれが担当するのかといった情報、および、作業者が担当する場合にはその作業者の識別情報が示される。
【0108】
生産管理情報欄708は、対象の解析結果700が取得された対象の作業を特定するための情報(例えば、オーダ情報およびロット情報など)が示される。
【0109】
図14は、本実施の形態に係る協調作業システム1が出力する解析結果の表示例を示す図である。
図14を参照して、各工程に要している作業時間のばらつきも表現できるグラフを用いて、解析結果を表示するようにしてもよい。なお、
図14には、工程の単位で作業時間を表示しているが、これに限らず、要素作業の単位で作業時間を表示してもよい。
【0110】
以上のように、本実施の形態に係る協調作業システム1は、各工程を作業者およびロボットのいずれが担当する場合であっても、工程、工程に含まれる作業、および作業に含まれる要素作業の単位でどれだけの時間を要しているのかを把握可能な解析結果を提供する。
【0111】
<E.作業切り替えロス推定>
本実施の形態に係る協調作業システム1は、現実に要している時間の解析に加えて、工程全体に要する時間を低減するために、作業者とロボットとの間での作業分担の変更を事前に評価するための情報を算出することもできる。より具体的には、ある工程の全部または一部の担当を作業者からロボットに変更した場合に、作業切り替えの適合性が算出される。以下、このような作業切り替えの適合性を示す指標の一例として、「切り替えロススコア」を採用する。
【0112】
図15は、本実施の形態に係る協調作業システム1が算出する切り替えロススコアを説明するための図である。
図15(A)を参照して、任意の工程を作業者とロボットとで分担する場合を想定する。作業者とロボットとの間で担当が切り替わる位置を切り替えポイントp1とする。ここで、生産性を改善するために、
図15(B)に示すように、作業者とロボットとの間で担当が切り替わる位置を切り替えポイントp1から切り替えポイントp2に変更する場合を想定する。すなわち、作業者の行っていた作業の一部をロボットが担当する場合を想定する。
【0113】
切り替えポイントp2から切り替えポイントp1までの作業に作業者が要していた作業時間をt1とし、切り替えポイントp2から切り替えポイントp1までの作業にロボットが要するであろう作業時間をt2’とする。
【0114】
また、
図15(C)に示すように、ロボットが切り替えポイントp2より前の作業からずっと担当している場合に、切り替えポイントp2から切り替えポイントp1までの作業にロボットが要した作業時間をt2とする。
【0115】
図15に示す例において、作業時間t2’は作業時間t2と同一であることが理想的ではあるが、現実的には、作業時間t2’>作業時間t2である場合が多い。
【0116】
このように作業時間が増加する理由としては、切り替えポイントにおいては、作業者とロボットとが接近する可能性があり、この場合には、ロボットの動作速度を予め定められた制限値以下に抑制しなければならないことが挙げられる。また、作業者とロボットとの間でワーク(あるいは、半製品)を受け渡しする必要があり、この場合にも、両者の間に安全距離をとる、あるいは、ロボットの動作速度を抑制するなどの措置が必要となる。
【0117】
このような理由によって、一般的に、切り替えポイントに係るロボットの作業時間は、ロボットが本来的に必要な作業時間より長くなる。すなわち、ロス係数α(原則として、α>1)を用いて、作業時間t2’=ロス係数α×作業時間t2と表すことができる。
【0118】
本実施の形態に係る協調作業システム1は、上述のロス係数αを決定するための切り替えロススコアを算出する。典型的には、解析装置200の解析処理エンジン270が切り替えロススコアを算出する。すなわち、解析装置200の解析処理エンジン270は、作業切り替えの適合性を評価する適合性評価部に相当する。解析処理エンジン270は、工程の任意の位置において、作業者とロボットとの間で作業の担当を切り替えるとした場合に、切り替え前後の工程における作業者および協調作業ロボットの挙動に基づいて、作業切り替えの適合性を評価する。
【0119】
図16は、本実施の形態に係る協調作業システム1における切り替えロススコアの算出方法を説明するための図である。
図16(A)には、1または複数の要素作業を担当する作業者20の状態を示し、
図16(B)には、
図16(A)の後に続く1または複数の要素作業を担当するロボット300の状態を示す。
【0120】
切り替えロススコアは、任意の切り替えポイントの直前にある作業を担当する作業者20(または、ロボット300)についての挙動と、当該切り替えポイントの直後にある作業を担当するロボット300(または、作業者20)についての挙動とを比較することで、当該切り替えポイントを設定した場合の生産性を低下させる度合いを算出することで、決定される。
【0121】
より具体的には、注目する切り替えポイントの直前にある作業についての軌跡データと、当該注目する切り替えポイントの直後にある作業についての軌跡データとを比較することで、作業者20とロボット300との作業中の接近の度合いを評価する。ここで、軌跡データは、各時間における作業者20またはロボット300の位置を示す情報を含む。
【0122】
例えば、切り替えロススコアは、作業者20とロボット300との間の距離Lに反比例するとともに、接近している時間に比例するようにしてもよい。すなわち、作業者20とロボット300との間の距離Lが小さいほど、および、接近している時間が長いほど、作業切り替えの適合性が低いことを意味する。
【0123】
また、ワーク(あるいは、半製品)の受け渡し位置、および、タクトタイムの要素などを反映することもできる。これらをまとめると、任意の切り替えポイントpnについての切り替えロススコアSLoss(pn)は、以下のように算出できる。
【0124】
SLoss(pn)=-{a×∫(1/L(pn))Δt+b(pn)}
L(pn)は、任意の切り替えポイントpnについての各時刻における作業者20とロボット300との最接近距離を意味し、b(pn)は、任意の切り替えポイントpnについての各種要素を加えたロス関数を意味する。すなわち、切り替えロススコアは、作業者20の軌跡とロボット300の軌跡とから算出される両者の距離に基づいて決定されてもよい。
【0125】
上記に示すように、解析装置200は、作業者と協調作業ロボットとの距離が小さいほど、適合性が低い(切り替えロススコアの絶対値が大きい)と決定する。また、解析装置200は、作業者とロボットとが接近している期間が長いほど、適合性が低い(切り替えロススコアの絶対値が大きい)と決定する。
【0126】
なお、切り替えロススコアを算出にあたって、作業者20およびロボット300の動作開始のタイミングは適宜設定してもよい。通常、作業者20およびロボット300は並列的に処理を実行するので、任意に設定あれるタイミングを基準として、作業者20とロボット300との作業中の接近の度合いを評価するようにしてもよい。
【0127】
このように算出された任意の切り替えポイントpnについての切り替えロススコアSLoss(pn)を用いて、作業者20とロボット300との間の切り替えポイントを変更した場合に、どの程度の生産性を改善できるのかを評価できる。
【0128】
なお、切り替えロススコアSLoss(pn)の算出に用いられる軌跡データは、互いに異なる作業分担で製品が生産されたときに取得されたものを用いてもよい。すなわち、作業者20とロボット300とが第1の作業分担になっている生産工程から取得された軌跡データから、任意の切り替えポイントの直前にある作業を担当する作業者20(または、ロボット300)についての軌跡データを取得するとともに、作業者20とロボット300とが第1の作業分担とは異なる第2の作業分担になっている生産工程から取得された軌跡データから、任意の切り替えポイントの直後にある作業を担当するロボット300(または、作業者20)についての軌跡データを取得するようにしてもよい。
【0129】
このような軌跡データの取得方法を採用することで、任意の切り替えポイントで担当を切り替えた生産工程で現実に生産を行う必要はない。すなわち、切り替えロススコアSLoss(pn)を算出するために必要な、作業者20およびロボット300の軌跡データを任意の方法で取得すればよい。
【0130】
図17は、本実施の形態に係る協調作業システム1における切り替えロススコアを算出するための処理手順を示すフローチャートである。
図17に示す各ステップは、典型的には、解析装置200のプロセッサ202が解析プログラム2104を実行することで実現される。
【0131】
図17を参照して、解析装置200は、対象の切り替えポイントp
nの指定を受け付ける(ステップS200)。続いて、解析装置200は、指定された切り替えポイントp
nの直前にある作業についての軌跡データを取得するとともに(ステップS202)、指定された切り替えポイントp
nの直後にある作業についての軌跡データを取得する(ステップS204)。それぞれの軌跡データは、作業分担が異なる状態からそれぞれ取得されたものであってもよい。
【0132】
そして、解析装置200は、ステップS202において取得した軌跡データと、ステップS204において取得した軌跡データとに基づいて、作業者20とロボット300との作業中の接近の度合いを評価し(ステップS206)、切り替えロススコアSLoss(pn)を算出する(ステップS208)。そして、特定の切り替えポイントpnについての切り替えロススコアSLoss(pn)の算出処理が終了する。
【0133】
<F.切り替えロススコアを用いた生産工程改善の提案>
上述したような切り替えロススコアを用いて生産工程の改善提案を行うこともできる。すなわち、切り替えロススコアを考慮することで、予め算出されている作業時間から、作業者およびロボットの作業分担を変更した場合に生じる作業時間を予測することができる。複数通りの作業分担について、必要な作業時間をそれぞれ算出することで、最適な作業分担を決定することができる。
【0134】
図18は、本実施の形態に係る協調作業システム1における生産工程の改善提案に係る機能構成例を示す模式図である。
図18を参照して、解析処理エンジン270は、機能構成として、シミュレータ2702と、最適工程決定部2704と、作業指示部2706とを含む。
【0135】
シミュレータ2702は、生産計画に応じて必要な工程を特定するとともに、切り替えポイント毎に必要となるであろう作業時間を算出する。作業時間の算出には、作業者およびロボットの要素作業時間に加えて、設定される切り替えポイントに応じた切り替えロススコアが用いられてもよい。
【0136】
すなわち、シミュレータ2702は、作業時間算出部に相当し、切り替え後の工程の作業に要する作業時間を、当該工程が切り替え後ではない場合に算出された作業時間と、作業切り替えの適合性の大きさ(切り替えロススコア)とに基づいて決定してもよい(
図15参照)。
【0137】
最適工程決定部2704は、シミュレータ2702により算出される切り替えポイント毎の作業時間に応じて、作業者およびロボットの最適な作業分担を決定する。
【0138】
作業指示部2706は、最適工程決定部2704により決定された最適な作業分担の内容をユーザ(典型的には、ライン管理者)に通知する。ライン管理者は、通知された内容に基づいて、必要に応じて生産工程の分担変更などを行う。
【0139】
図19は、本実施の形態に係る協調作業システム1における生産工程の改善提案に係るユーザインターフェイス画面720の一例を示す模式図である。
図19を参照して、ユーザインターフェイス画面720は、生産工程のいくつかの作業分担の候補を含む。
【0140】
各候補は、切り替えロススコア722の値とともに、作業者が担当する要素作業とロボットが担当する要素作業との切り替えポイント724が示されている。なお、
図19において、太字はロボットが担当する要素作業を意味し、それ以外は作業者が担当する要素作業を意味する。
【0141】
このように、解析装置200の最適工程決定部2704および作業指示部2706は、出力部に相当し、作業者とロボットとの間で担当を異ならせた複数の作業分担の候補毎に、作業時間を算出することで、作業分担の候補をランキングして出力する。
【0142】
ライン管理者などのユーザは、ユーザインターフェイス画面720を参照して、生産工程の適切な作業分担を決定できる。
【0143】
図20は、本実施の形態に係る協調作業システム1における生産工程の改善提案に係る処理手順を示すフローチャートである。
図20に示す各ステップは、典型的には、解析装置200のプロセッサ202が解析プログラム2104を実行することで実現される。
【0144】
図20を参照して、解析装置200は、生産管理システム600などから生産計画を取得する(ステップS300)。解析装置200は、取得した生産計画に基づいて必要な工程を特定する(ステップS302)。
【0145】
そして、解析装置200は、ステップS302において特定した必要な工程に含まれる要素作業について作業者およびロボットの作業分担の1つの候補を決定する(ステップS304)。決定した候補は、ある切り替えポイントにおいて、作業者とロボットとの間で作業の分担が切り替わるとする。
【0146】
解析装置200は、決定した候補について、作業者またはロボットの各要素作業に要する作業時間を取得する(ステップS306)。これらの作業時間は、
図12に示す作業解析によって予め取得されたものから選択または抽出されてもよい。
【0147】
解析装置200は、決定した候補に切り替えポイントについて、切り替えロススコアを算出する(ステップS308)。ステップS308においては、必要に応じて、
図17に示す切り替えロススコアを算出する処理が実行される。
【0148】
解析装置200は、ステップS306において取得された切り替えポイントの直後にある作業の作業時間に、ステップS308において算出した切り替えロススコアに基づくロス係数を乗じて、決定した候補における補正後の作業時間として決定する(ステップS310)。最終的に、解析装置200は、ステップS310において決定した補正後の作業時間を含む、各要素作業についての作業時間を積算して、対象の候補についての総作業時間を算出する(ステップS312)。
【0149】
続いて、解析装置200は、ステップS302において特定した必要な工程に含まれる要素作業について作業者およびロボットの作業分担の別の候補が存在するか否かを判断する(ステップS314)。作業分担の別の候補が存在する場合には(ステップS314においてYES)、解析装置200は、作業者およびロボットの作業分担の別の1つの候補を決定し(ステップS316)、ステップS306以下の処理を繰り返す。
【0150】
作業分担の別の候補が存在しない場合には(ステップS314においてNO)、解析装置200は、候補毎に算出された総作業時間についてランキングし(ステップS318)、ランキング上位の候補の内容を通知する(ステップS320)。そして、処理は終了する。
【0151】
このように、切り替えロススコアに基づいて、作業者およびロボットの作業分担を変更した場合の総作業時間を、現実に作業分担を変更しなくても算出できるので、複数の作業分担の候補の中から最適な分担を容易に見つけることができる。
【0152】
<G.変形例>
上述の説明においては、作業切り替えの適合性を示す指標の一例として、「切り替えロススコア」を採用する例を挙げたが、これに限らず、任意の指標を採用できる。また、作業切り替えの適合性を示す指標に代えて、テーブルあるいは関数を採用してもよい。
【0153】
上述の説明においては、解析装置200がすべての処理を実行する形態について例示したが、これに限らず、複数の装置が連携して上述したような機能を提供するようにしてもよい。さらに、一部または全部の機能をサーバ上のいわゆるクラウドと称される計算リソースを利用して実現してもよい。
【0154】
<H.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
【0155】
[構成1]
予め定められた工程に沿って製品を生産する協調作業システムであって、
作業者と協調して作業を行う1または複数の協調作業ロボットと、
前記作業者および前記協調作業ロボットの挙動を解析することで、各工程の作業に要する作業時間を算出する作業時間算出部と、
前記工程の任意の位置において、前記作業者と前記協調作業ロボットとの間で作業の担当を切り替えるとした場合に、切り替え前後の工程における前記作業者および前記協調作業ロボットの挙動に基づいて、作業切り替えの適合性を評価する適合性評価部とを備える、協調作業システム。
【0156】
[構成2]
前記適合性評価部は、前記作業者と前記協調作業ロボットとの距離が小さいほど、適合性が低いと決定する、構成1に記載の協調作業システム。
【0157】
[構成3]
前記適合性評価部は、前記作業者と前記協調作業ロボットとが接近している期間が長いほど、適合性が低いと決定する、構成2に記載の協調作業システム。
【0158】
[構成4]
切り替え後の工程の作業に要する作業時間を、当該工程が切り替え後ではない場合に算出された作業時間と、前記作業切り替えの適合性の大きさとに基づいて決定する作業時間算出部をさらに備える、構成1~3のいずれか1項に記載の協調作業システム。
【0159】
[構成5]
前記作業者と前記協調作業ロボットとの間で担当を異ならせた複数の作業分担の候補毎に、作業時間を算出することで、作業分担の候補をランキングして出力する出力部をさらに備える、構成4に記載の協調作業システム。
【0160】
[構成6]
前記作業時間算出部は、各工程に含まれる1または複数の要素作業毎に開始および終了のタイミングを決定する、構成1~5のいずれか1項に記載の協調作業システム。
【0161】
[構成7]
前記作業時間算出部は、
センシングデバイスによる少なくとも前記作業者を含む領域のセンシング結果に基づいて、前記作業者の特徴点を抽出する特徴点抽出部と、
前記センシング結果に基づいて、作業ステージ上にある物体の位置および種類を認識する物体認識部と、
前記特徴点抽出部により抽出される前記作業者の特徴点、および、前記物体認識部により認識される前記物体の位置および種類に基づいて、前記作業者による要素作業毎に開始および終了のタイミングを決定する第1のタイミング決定部とを含む、構成6に記載の協調作業システム。
【0162】
[構成8]
前記作業時間算出部は、
前記協調作業ロボットからの制御状態に基づいて前記協調作業ロボットのステータスを管理するステータス管理部と、
前記協調作業ロボットのステータスに対応する挙動に基づいて、前記協調作業ロボットによる要素作業毎に開始および終了のタイミングを決定する第2のタイミング決定部とを含む、構成6または7に記載の協調作業システム。
【0163】
[構成9]
予め定められた工程に沿って製品を生産する協調作業システムに向けられた解析装置であって、協調作業システムは作業者と協調して作業を行う1または複数の協調作業ロボットを含み、
前記作業者および前記協調作業ロボットの挙動を解析することで、各工程の作業に要する作業時間を算出する作業時間算出部と、
前記工程の任意の位置において、前記作業者と前記協調作業ロボットとの間で作業の担当を切り替えるとした場合に、切り替え前後の工程における前記作業者および前記協調作業ロボットの挙動に基づいて、作業切り替えの適合性を評価する適合性評価部とを備える、解析装置。
【0164】
[構成10]
予め定められた工程に沿って製品を生産する協調作業システムに向けられた解析プログラムであって、協調作業システムは作業者と協調して作業を行う1または複数の協調作業ロボットを含み、前記解析プログラムはコンピュータに、
前記作業者および前記協調作業ロボットの挙動を解析することで、各工程の作業に要する作業時間を算出するステップと、
前記工程の任意の位置において、前記作業者と前記協調作業ロボットとの間で作業の担当を切り替えるとした場合に、切り替え前後の工程における前記作業者および前記協調作業ロボットの挙動に基づいて、作業切り替えの適合性を評価するステップとを実行させる、解析プログラム。
【0165】
<I.利点>
協調作業ロボットを用いた生産現場を考慮すると、協調作業ロボットの作業を固定化すると、作業者の習熟度によっては、作業分担のバランスが崩れ、作業者または協調作業ロボットに手待ちが発生し得る。作業者同士であれば、習熟度に応じて、作業分担を随時最適化できるが、作業者と協調作業ロボットとの間では、ワークまたは半製品を受け渡しなどにおける制約もあり、どのような作業分担にすべきかをすぐには決定できない。
【0166】
このような課題に対して、本実施の形態に係る協調作業システムは、以下のような解決手段を提供する。
【0167】
(1)作業者および協調作業ロボットの動作を要素作業の単位で把握して、各作業時間を計測する。この計測された要素作業毎の作業時間は、作業者および/またはオーダ情報(生産対象の製品の品種などの情報を含む)毎に収集されてもよい。
【0168】
(2)作業者と協調作業ロボットとの間で作業を切り替えた場合の適合性(切り替えロススコア)を算出する。この適合性を参照することで、作業者と協調作業ロボットとの間でスムースにワークまたは半製品を受け渡すことができるかを推定できる。
【0169】
(3)生産管理システムから生産計画や人員配置情報を取得した上で、作業切り替えの適合性を参照して、作業者と協調作業ロボットとの間の作業バランスを最適化する。
【0170】
このような解決手段を提供することで、作業者と協調作業ロボットとがアシストし合い、効率的な生産を実現できる。
【0171】
さらに、作業者および/または製品毎に、作業者と協調作業ロボットとの間の作業バランスを最適化してもよい。
【0172】
このように、作業者だけではなく、作業者と協調作業ロボットとの関係を考慮して、作業者と協調作業ロボットとの間の作業分担を最適化できる。
【0173】
また、本実施の形態に係る協調作業システムは、要素作業毎に作業時間を算出できるので、より粒度の細かいデータを収集することができ、これによって、通常は気付かない問題などを見つけることもできる。このような問題を工程設計にも反映できる。
【0174】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0175】
1 協調作業システム、2 フィールドネットワーク、4 上位ネットワーク、11M,12A,12M,13A,14A,15A 作業ステージ、20 作業者、30 カメラ、40 工程全体、41 工程内、42 要素作業、43 動作、44 単位動作、102,202,312 プロセッサ、104,204,314 メインメモリ、106,222 上位ネットワークコントローラ、108,220,302 フィールドネットワークコントローラ、110,210,316 ストレージ、112 メモリカードインターフェイス、114 メモリカード、116 ローカルバスコントローラ、118,218 プロセッサバス、120 USBコントローラ、200 解析装置、206 入力部、208 表示部、212 光学ドライブ、214 記憶媒体、250 作業者用要素作業認識部、251 特徴点抽出部、252 物体認識部、253 動作認識部、254,266 工程データベース、255,265 要素作業決定部、260 ロボット用要素作業認識部、261 PLC通信部、262 ロボット通信部、263 ステータス管理部、264,318,1106 レシピプログラム、270 解析処理エンジン、300 ロボット(協調作業ロボット)、310 主制御部、317,1102 システムプログラム、320 インターフェイス回路、322 センサ、324 アクチュエータ、326 モータドライバ、328 サーボモータ、400 表示操作装置、500 サポート装置、600 生産管理システム、700 解析結果、701 工程欄、702 工程内欄、703 要素作業欄、704 開始時刻欄、705 終了時刻欄、706 作業時間、707 担当欄、708 生産管理情報欄、720 ユーザインターフェイス画面、722 切り替えロススコア、724,p1,p2 切り替えポイント、1104 ユーザプログラム、2104 解析プログラム、2702 シミュレータ、2704 最適工程決定部、2706 作業指示部、L 距離。