(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024023873
(43)【公開日】2024-02-21
(54)【発明の名称】作業員の作業を補助する機械学習装置、及び機械学習方法
(51)【国際特許分類】
B25J 13/08 20060101AFI20240214BHJP
【FI】
B25J13/08 A
【審査請求】有
【請求項の数】2
【出願形態】OL
(21)【出願番号】P 2023218412
(22)【出願日】2023-12-25
(62)【分割の表示】P 2019176122の分割
【原出願日】2019-09-26
(71)【出願人】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【弁理士】
【氏名又は名称】廣瀬 繁樹
(72)【発明者】
【氏名】前田 啓太
(57)【要約】
【課題】作業員が、より円滑に作業を行えるように、該作業員を補助するロボットシステムが求められている。
【解決手段】ロボットシステム10は、ロボット12と、作業員が所定の作業をしているときに該作業員の動きを検出する検出装置14と、検出装置14の検出データに基づいて、作業が終了するか否かを判断する終了判断部30と、終了判断部30によって作業が終了すると判断されたときに、該作業のための物品を作業員へ供給するために該物品を予め定められた位置へ運搬する物品供給動作、又は、作業で用いた物品を回収して予め定めた保管場所まで運搬する物品回収動作をロボット12に実行させるロボット制御部28とを備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
作業員の作業を補助するロボットシステムであって、
ロボットと、
作業員が所定の作業をしているときに該作業員の動きを検出する検出装置と、
前記検出装置の検出データに基づいて、前記作業が終了するか否かを判断する終了判断部と、
前記終了判断部によって前記作業が終了すると判断されたときに、該作業のための物品を作業員へ供給するために該物品を予め定められた位置へ運搬する物品供給動作、又は、前記作業で用いた前記物品を回収して予め定めた保管場所まで運搬する物品回収動作、を前記ロボットに実行させるロボット制御部と、を備える、ロボットシステム。
【請求項2】
前記終了判断部は、
前記検出データから、作業員と作業箇所との距離が所定の閾値以下になったか否かを監視し、
前記距離が前記閾値以下になったときに、前記作業が終了すると判断する、請求項1に記載のロボットシステム。
【請求項3】
前記終了判断部は、
前記検出装置が検出する前記動きが、作業員が前記作業を行うときの基準の動作として予め定めた基準動作パターンに合致するか否かを監視し、
前記動きが前記基準動作パターンと合致したときに、前記作業が終了すると判断する、請求項1に記載のロボットシステム。
【請求項4】
前記終了判断部は、前記動きと、前記作業の段階又は該作業に要した時間と、の相関性を表す学習モデルにさらに基づいて、前記作業が終了するか否かを判断する、請求項1に記載のロボットシステム。
【請求項5】
前記ロボット制御部は、前記物品供給動作を実行した後に、前記ロボットに前記物品回収動作を実行させ、直前の前記作業で用いた前記物品を回収して前記予め定めた保管場所まで運搬する、請求項1~4のいずれか1項に記載のロボットシステム。
【請求項6】
作業員の作業を補助するロボットを制御する方法であって、
作業員が所定の作業をしているときに該作業員の動きを検出装置によって検出し、
前記検出装置の検出データに基づいて、前記作業が終了するか否かを判断し、
前記作業が終了すると判断したときに、該作業のための物品を作業員へ供給するために該物品を予め定められた位置へ運搬する物品供給動作、又は、前記作業で用いた前記物品を回収して予め定めた保管場所まで運搬する物品回収動作、を前記ロボットに実行させる、方法。
【請求項7】
作業員の作業が終了するタイミングを学習する機械学習装置であって、
作業員が所定の作業を行っているときに該作業員の動きを検出する検出装置の検出データと、前記作業の段階を示すラベル情報又は該作業に要した時間と、を、学習データセットとして取得する学習データ取得部と、
前記学習データセットを用いて、前記動きと前記段階又は前記時間との相関性を表す学習モデルを生成する学習部と、を備える、機械学習装置。
【請求項8】
作業員の作業が終了するタイミングを学習する機械学習方法であって、
作業員が所定の作業を行っているときに該作業員の動きを検出する検出装置の検出データと、前記作業の段階を示すラベル情報又は該作業に要した時間と、を、学習データセットとして取得し、
前記学習データセットを用いて、前記動きと前記段階又は前記時間との相関性を表す学習モデルを生成する、機械学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、作業員の作業を補助するロボットシステム、ロボットの制御方法、機械学習装置、及び機械学習方法に関する。
【背景技術】
【0002】
作業員の作業を補助するロボットシステムが知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
作業員が、より円滑に作業を行えるように、該作業員を補助するロボットシステムが求められている。
【課題を解決するための手段】
【0005】
本開示の一態様において、作業員の作業を補助するロボットシステムは、ロボットと、作業員が所定の作業をしているときに該作業員の動きを検出する検出装置と、検出装置の検出データに基づいて、作業が終了するか否かを判断する終了判断部と、終了判断部によって作業が終了すると判断されたときに、該作業のための物品を作業員へ供給するために該物品を予め定められた位置へ運搬する物品供給動作、又は、作業で用いた物品を回収して予め定めた保管場所まで運搬する物品回収動作をロボットに実行させるロボット制御部とを備える。
【0006】
本開示の他の態様において、作業員の作業を補助するロボットを制御する方法は、作業員が所定の作業をしているときに該作業員の動きを検出装置によって検出し、検出装置の検出データに基づいて、作業が終了するか否かを判断し、作業が終了すると判断したときに、該作業のための物品を作業員へ供給するために該物品を予め定められた位置へ運搬する物品供給動作、又は、作業で用いた物品を回収して予め定めた保管場所まで運搬する物品回収動作をロボットに実行させる。
【0007】
本開示のさらに他の態様において、作業員の作業が終了するタイミングを学習する機械学習装置は、作業員が所定の作業を行っているときに該作業員の動きを検出する検出装置の検出データと、作業の段階を示すラベル情報又は該作業に要した時間とを、学習データセットとして取得する学習データ取得部と、学習データセットを用いて、動きと段階又は時間との相関性を表す学習モデルを生成する学習部とを備える。
【0008】
本開示のさらに他の態様において、作業員の作業が終了するタイミングを学習する機械学習方法は、作業員が所定の作業を行っているときに該作業員の動きを検出する検出装置の検出データと、作業の段階を示すラベル情報又は該作業に要した時間とを、学習データセットとして取得し、学習データセットを用いて、動きと段階又は時間との相関性を表す学習モデルを生成する。
【発明の効果】
【0009】
本開示によれば、ロボット制御部は、作業が終了するタイミングで物品供給動作又は物品回収動作をロボットに実行させるので、作業員が作業を円滑に行えるように、該作業員の作業を補助することができる。
【図面の簡単な説明】
【0010】
【
図1】一実施形態に係るロボットシステムのブロック図である。
【
図2】
図1に示すロボットシステムの斜視図である。
【
図3】
図1に示すロボットシステムの動作フローの一例を示すフローチャートである。
【
図5】作業員が行う作業の一例を説明するための図である。
【
図6】
図5に示す締結孔に対して作業員が工具を用いて締結具を締結している状態を示す。
【
図7】一実施形態に係る機械学習装置のブロック図である。
【
図8】検出装置が連続的に取得する検出データを模式的に示す図である。
【
図9】
図7に示す機械学習装置が実行する学習フローの一例を示すフローチャートである。
【
図11】多層ニューラルネットワークのモデルを模式的に示す。
【
図12】他の実施形態に係るロボットシステムのブロック図である。
【
図13】さらに他の実施形態に係るロボットシステムの斜視図である。
【発明を実施するための形態】
【0011】
以下、本開示の実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する種々の実施形態において、同様の要素には同じ符号を付し、重複する説明を省略する。まず、
図1及び
図2を参照して、一実施形態に係るロボットシステム10について説明する。ロボットシステム10は、作業員Aと協働で作業を行うものであって、ロボット12、検出装置14、及び制御装置16を備える。
【0012】
本実施形態においては、ロボット12は、垂直多関節型ロボットであって、ベース部18、旋回胴20、ロボットアーム22、手首部24、及びロボットハンド26を有する。ベース部18は、作業セルの床の上に固定されている。旋回胴20は、ベース部18に鉛直軸周りに旋回可能に設けられている。
【0013】
ロボットアーム22は、旋回胴20に水平軸周りに回転可能に取り付けられた下腕部23と、下腕部23の先端に回転可能に取り付けられた上腕部25とを有する。手首部24は、上腕部25の先端に連結され、ロボットハンド26を回転可能に支持している。ロボットハンド26は、開閉可能な複数の指部26aを有し、該指部26aで物品を把持したり、解放したりする。
【0014】
ロボット12の各コンポーネント(ベース部18、旋回胴20、ロボットアーム22、手首部24、及びロボットハンド26)には、サーボモータ(図示せず)が内蔵されている。該サーボモータは、制御装置16からの指令の下、ロボット12の可動コンポーネント(旋回胴20、ロボットアーム22、手首部24)をそれぞれ駆動軸周りに回動することによって、ロボット12を動作させる。
【0015】
ロボット12には、ロボット座標系CRが設定されている。ロボット座標系CRは、ロボット12の可動コンポーネント(旋回胴20、ロボットアーム22、手首部24)を3次元空間内で自動制御するための座標系である。本実施形態においては、ロボット座標系CRは、その原点がベース部18の中心に配置され、そのz軸が鉛直方向と平行に配置され、旋回胴20がz軸周りに回動されるように、設定されている。
【0016】
制御装置16は、ロボット座標系CRを基準として、ロボット12に内蔵された各サーボモータへの指令を生成し、該サーボモータによってロボット12の可動コンポーネントを動作させて、ロボットハンド26を、ロボット座標系CRにおける任意の位置及び姿勢に配置させる。
【0017】
検出装置14は、作業員Aが所定の作業をしているときに該作業員Aの動きを検出する。本実施形態においては、検出装置14は、撮像素子、フォーカスレンズ等の光学系、及び画像処理プロセッサ(例えばGPU)を含み、作業中の作業員Aを、所定の視線方向VDに沿って撮像し、撮像した画像に基づいて、作業員Aの動きを検出する(いわゆる、光学式モーションキャプチャ)。なお、作業員Aが行う作業については、後述する。
【0018】
制御装置16は、ロボット12及び検出装置14を制御する。制御装置16は、例えば、プロセッサ(CPU、GPU等)、メモリ(ROM、RAM等)、入力装置(キーボード、マウス、タッチセンサ等)、及びディスプレイ(液晶ディスプレイ、有機ELディスプレイ等)を有するコンピュータである。制御装置16のプロセッサは、後述する各種機能を実行するための演算処理を担う。
【0019】
次に、
図3を参照して、ロボットシステム10の動作について説明する。
図3に示すフローは、制御装置16が、オペレータ、上位コントローラ、又はコンピュータプログラムから、作業開始指令を受け付けたときに、開始する。ステップS1において、制御装置16は、作業員Aが行う作業の情報を取得する。
【0020】
本実施形態においては、作業員Aは、第1の作業、第2の作業、・・・第nの作業、・・・第nMAXの作業(nMAXは、正の整数)の順に、計nMAX種類の作業を行い、第nの作業(n=1~nMAX)において、第nの工具Tnを使って作業を行うものとする。なお、第nの工具Tnは、互いに異なるものであってもよいし、少なくとも2つの工具(第n-1の工具Tn-1と第nの工具Tn)が互いに同じであってもよい。
【0021】
制御装置16は、このステップS1において、オペレータ、上位コントローラ、又はコンピュータプログラムから、作業の情報を取得する。該作業の情報は、第nの作業の種類と順序、及び、第nの工具の種類を特定する情報(例えば、識別番号等)を含む。制御装置16は、この作業の情報から、作業を行う順序と、作業員Aに供給すべき工具Tnを認識できる。
【0022】
なお、作業員Aは、制御装置16の入力装置を操作して、作業の情報を入力してもよい。又は、作業員Aは、音声認識技術を用いて作業の情報を入力してもよい。この場合、制御装置16には、音声を入力可能なマイクロフォンがさらに設けられ、音声認識技術のためのコンピュータプログラムが予めインストールされる。
【0023】
ステップS2において、制御装置16は、第nの作業(つまり、第nの工具T
n)を識別する番号「n」を、「1」にセットする。ステップS3において、制御装置16は、ロボット12に物品供給動作を実行させる。ここで、本実施形態においては、
図4に示すように、作業セル内の予め定められた位置に、載置台Cが設置されている。この載置台Cには、第1の治具D
1と、第2の治具D
2とが設けられている。
【0024】
第1の治具D1には、ロボット12によって、作業員Aが次の作業に用いる工具Tがセットされる。一方、第2の治具D2には、作業員Aが作業を行った後に該作業に用いた工具Tを手動でセットする。また、作業セル内の予め定められた位置に、工具Tが保管されている保管台Eが設置されている。第nの作業に用いられる第nの工具Tnは、保管台E上の所定位置に静止して保管されている。第1の治具D1、第2の治具D2、及び、保管台E上の第nの工具Tnのロボット座標系CRにおける位置データ(座標データ)は、制御装置16のメモリに予め記憶される。
【0025】
このステップS3において、制御装置16は、第1の工具T1及び第1の治具D1のロボット座標系CRにおける位置データに基づいて、ロボット12に物品供給動作を実行させ、該ロボット12は、制御装置16からの指令の下、保管台Eに保管されている第1の工具T1をロボットハンド26で把持し、該第1の工具T1を、第1の治具D1にセットする。
【0026】
ステップS4において、検出装置14は、作業員Aの動きを検出する動作を開始する。具体的には、検出装置14は、制御装置16からの指令を受けて、作業員Aを連続的に撮像し(換言すれば、動画撮影し)、撮像した画像に基づいて作業員Aの動きを検出する。こうして、検出装置14は、作業員Aの動きを示す検出データDD(例えば、作業員Aの動きを時系列で連続的に示す画像データ)を、制御装置16へ送信する。
【0027】
ステップS5において、制御装置16は、検出装置14の検出データDDに基づいて、第nの作業が終了するか否かを判断する。以下、
図5及び
図6を参照して、第nの作業が終了するタイミングを判断する方法について、説明する。一例として、第nの作業は、作業員Aが、第nの工具T
n(
図6)を用いて、
図5に示す5個の締結孔F
1~F
5に、締結孔F
1→F
2→F
3→F
4→F
5の順で、それぞれ締結具G(ボルト等)を締結する作業として、定められ得る。
【0028】
この場合、作業員Aは、まず、第1の治具D1にセットされた第nの工具Tnを手Hで取り、第nの工具Tnを用いて締結孔F1~F5に締結具Gを順に締結する第nの作業を行う。そして、作業員Aは、第nの作業を終了した(つまり、最後の締結孔F5に締結具Gを締結した)後に、使用した第nの工具Tnを第2の治具D2にセットする。
【0029】
制御装置16は、検出装置14から取得した検出データDDを解析し、締結孔F
1~F
5に締結具Gを順に締結する一連の動きを含む第nの作業が終了するか否かを判断する。一例として、制御装置16は、取得した検出データDDから、作業員Aの身体の部位(この場合は、手H)と、最後の作業箇所である締結孔F
5との間の距離I(
図6)を連続的に算出し、該距離Iが所定の閾値I
th以下(I≦I
th)となったか否かを監視する。
【0030】
制御装置16は、I≦Ithとなったことを検出したときに、第nの作業が終了すると判断する。この場合、ロボット座標系CRにおける締結孔F5の位置データが、制御装置16のメモリに予め記憶される。制御装置16は、ロボット座標系CRにおける締結孔F5の位置データと、検出装置14の検出データDDとから、距離Iを算出できる。
【0031】
代替的には、制御装置16は、距離Iが所定の閾値Ith以下となったことを検出した時点から所定の時間(例えば、5秒)が経過したときに、第nの作業が終了すると判断してもよい。又は、制御装置16は、距離Iが所定の閾値Ith以下となった後に、該距離Iが、再度、該閾値Ithを超えた(I>Ith)ときに、第nの作業が終了すると判断してもよい。
【0032】
他の例として、制御装置16は、作業員Aが最後の作業箇所である締結孔F5に締結具Gを締結する動きの基準動作パターンを予め記憶する。この基準動作パターンは、作業員A(又は別の作業員)が、最後の締結孔F5に締結具Gを締結する基準動作を行っているときに検出装置14が該作業員A(又は別の作業員)の動きを検出した検出データDDに基づいて、生成され得る。
【0033】
制御装置16は、ステップS4の開始後に取得した検出データDDで示される作業員Aの動きが、基準動作パターンに合致するか否かを監視し、作業員Aの動きが該基準動作パターンと合致したときに、第nの作業が終了すると判断する。なお、制御装置16は、作業員Aの動きが基準動作パターンに合致する合致したと判定してから所定時間が経過したときに、第nの作業が終了すると判断してもよい。
【0034】
以上のような方法により、制御装置16は、第nの作業が終了するタイミングを判断できる。制御装置16は、第nの作業が終了する(すなわち、YES)と判断した場合、ステップS6へ進む一方、第nの作業が終了しない(すなわち、NO)と判断した場合、ステップS5をループする。このように、本実施形態においては、制御装置16は、検出データDDに基づいて第nの作業が終了するか否かを判断する終了判断部30(
図1)として機能する。
【0035】
ステップS6において、制御装置16は、第nの作業(第nの工具)を識別する番号「n」を、「1」だけインクリメントする(n=n+1)。ステップS7において、第nの作業を識別する番号「n」が、最大作業数nMAXを超えた(n>nMAX)か否かを判定する。制御装置16は、n>nMAXである(すなわち、YES)と判定した場合、ステップS10へ進む一方、n≦nMAXである(すなわち、NO)と判定した場合、ステップS8へ進む。
【0036】
ステップS8において、制御装置16は、ロボット12に物品供給動作を実行させる。具体的には、制御装置16は、次の作業で用いる第nの工具Tnと第1の治具D1のロボット座標系CRにおける位置データに基づいて、ロボット12に物品供給動作を実行させ、該ロボット12は、保管台Eに保管されている第nの工具Tnをロボットハンド26で把持し、該第nの工具Tnを第1の治具D1にセットする。
【0037】
このように、本実施形態においては、制御装置16は、第nの作業のための第nの工具T
nを作業員Aへ供給するために、該第nの工具T
nを予め定められた位置(第1の治具D
1)へ運搬する物品供給動作をロボット12に実行させるロボット制御部28(
図1)として機能する。
【0038】
ステップS9において、制御装置16は、ロボット制御部28として機能し、ロボット12に物品回収動作を実行させる。具体的には、制御装置16は、第2の治具D2のロボット座標系CRにおける位置データに基づいてロボット12を制御し、該ロボット12は、第2の治具D2にセットされている、直前の第n-1の作業で用いた第n-1の工具Tn-1をロボットハンド26で把持する。
【0039】
次いで、制御装置16は、保管台E上にセットすべき第n-1の工具Tn-1のロボット座標系CRにおける位置データに基づいてロボット12を制御し、該ロボット12は、ロボットハンド26で把持した第n-1の工具Tn-1を、保管台E上の所定の位置に戻す。例えば、このステップS9の開始時点でn=4にセットされていたとき、制御装置16は、ロボット12によって、第3の作業で用いた第3の工具T3を第2の治具D2から回収し、保管台E上の所定位置まで運搬する。
【0040】
こうして、制御装置16は、直前の第n-1の作業で用いた第n-1の工具Tn-1を回収し、予め定めた保管場所(保管台E)まで運搬する物品回収動作をロボット12に実行させる。なお、このステップS9を実行する前に、制御装置16は、検出装置14(又は、他の検出装置)が撮像した画像に基づいて、第n-1の工具Tn-1に第2の治具D2がセットされたか否かを判定し、第n-1の工具Tn-1に第2の治具D2がセットされた場合に、ステップS9を開始してもよい。
【0041】
又は、第2の治具D2に第n-1の工具Tn-1が配置されたことを検知する物品検知センサ(例えば、近接スイッチ)を第2の治具D2に設け、制御装置16は、該物品検知センサの出力信号に基づいて、第n-1の工具Tn-1に第2の治具D2がセットされたか否かを判定してもよい。ステップS9の後、制御装置16は、ステップS5へ戻り、ステップS7でYESと判定するまで、ステップS5~S9をループする。
【0042】
ステップS7でYESと判定したとき、ステップS10において、制御装置16は、ロボット制御部28として機能して、ロボット12に物品回収動作を実行させる。具体的には、制御装置16は、第2の治具D2のロボット座標系CRにおける位置データに基づいてロボット12を制御し、該ロボット12は、第2の治具D2にセットされている、第nMAXの作業で用いた第nMAXの工具TnMAXをロボットハンド26で把持する。
【0043】
次いで、制御装置16は、保管台E上にセットすべき第nMAXの工具TnMAXのロボット座標系CRにおける位置データに基づいてロボット12を制御し、該ロボット12は、ロボットハンド26で把持した第nMAXの工具TnMAXを、保管台E上の所定の位置に戻す。
【0044】
以上のように、本実施形態においては、制御装置16は、第nの作業が終了すると判断したときに、物品供給動作をロボット12に実行させている(ステップS8)。この構成によれば、作業員Aが第nの作業の次の第n+1の作業を行うときに、該第n+1の作業のための第n+1の工具Tn+1が、ロボット12によって第1の治具D1に自動でセットされる。これにより、作業員Aが第nの作業を円滑に行うのを補助することができる。
【0045】
また、本実施形態においては、制御装置16は、第nの作業が終了すると判断したときに、物品回収動作をロボット12に実行させている(ステップS9及びS10)。この構成によれば、作業員Aが第nの作業を完了したときに、使用済みの第nの工具Tnを、ロボット12によって自動で回収することができる。これにより、作業員Aが作業を円滑に行えるように、該作業員Aの作業を補助することができる。
【0046】
なお、制御装置16は、ステップS5において、第nの作業を行っている作業員Aの動きと、該第nの作業の段階又は該第nの作業に要した時間tとの相関性を表す学習モデルLMに基づいて、該第nの作業が終了するか否かを判断してもよい。以下、
図7を参照して、学習モデルLMを学習する機械学習装置50について、説明する。
【0047】
機械学習装置50は、例えば、プロセッサ(CPU、GPU等)、メモリ(ROM、RAM)、入力装置(キーボード、マウス、タッチセンサ等)、及びディスプレイ(液晶ディスプレイ、有機ELディスプレイ等)を有するコンピュータ、又は、コンピュータが実行する、学習アルゴリズム等のソフトウェアから構成され得る。
【0048】
機械学習装置50は、作業員Aが第nの作業を終了するタイミングを学習する。機械学習装置50は、学習データ取得部52、及び学習部54を備える。機械学習装置50の機能の一実施形態として、学習データ取得部52は、上述の検出装置14の検出データDDと、第nの作業の段階(初期段階、中期段階、最終段階等)を示すラベル情報LIとを、学習データセットDS1として取得する。
【0049】
より具体的には、検出装置14は、作業員Aが第nの作業を行っているときに視線方向VDに沿って作業員Aを撮像し、撮像した画像に基づいて作業員Aの動きを検出する。
検出装置14は、作業員Aの動きを示す検出データDD(例えば、作業員Aの動きを時系列で連続的に示す画像データ)を、学習データ取得部52に供給する。
【0050】
図8に、検出装置14が連続的に取得する検出データDD
mを模式的に示す。
図8の横軸は、時間tを示す。なお、
図8は、検出装置14によって、作業員Aが第nの作業を開始してから終了するまで、計300の検出データDD
m(m=1~300)を検出した場合を例示している。
【0051】
ラベル情報LIは、例えば、第nの作業が「初期段階」であることを示す初期段階ラベル情報LI
1と、第nの作業が「中期段階」であることを示す中期段階ラベル情報LI
2と、第nの作業が「最終段階」であることを示す最終段階ラベル情報LI
3とを含む。ここで、
図8に示す検出データDD
1~DD
99の集合体は、作業員Aが、
図5中の締結孔F
1~F
5のうち、最初の2つの締結孔F(例えば、締結孔F
1とF
2)を締結する動きを示しているとする。
【0052】
また、検出データDD
100~DD
199の集合体は、作業員Aが、
図5中の締結孔F
1~F
5のうち、次の2つの締結孔F(例えば、締結孔F
3とF
4)を締結する動きを示しているとする。また、検出データDD
200~DD
300の集合体は、作業員Aが、
図5中の締結孔F
1~F
5のうち、最後の1つの締結孔F(例えば、締結孔F
5)を締結する動きを示しているとする。
【0053】
この場合において、オペレータは、検出データDD1~DD99に、初期段階ラベル情報LI1を付し、検出データDD100~DD199に、中期段階ラベル情報LI2を付し、検出データDD200~DD300に、最終段階ラベル情報LI3を付してもよい。オペレータがラベル情報LIを付すとき、機械学習装置50のディスプレイは、検出データDDm(画像データ)を表示する。
【0054】
そして、オペレータは、ディスプレイに表示された検出データDDmの画像を目視しつつ、機械学習装置50の入力装置を操作して、検出データDDmに、第nの作業の進捗段階を示す初期段階ラベル情報LI1、中期段階ラベル情報LI2、及び最終段階ラベル情報LI3のいずれかを、任意で付与する。
【0055】
こうして、オペレータは、検出データDDmで示される作業員Aの動きに応じて、ラベル情報LIを検出データDDmに任意で付与する。学習データ取得部52は、検出装置14から取得した検出データDDmと、オペレータによって入力されたラベル情報LIとを、学習データセットDS1として取得する。
【0056】
なお、
図8に示す例では、理解の容易のために、第nの作業中に検出装置14が計300の検出データDD
1~DD
300を検出する場合について述べた。しかしながら、検出装置14は、第nの作業中に如何なる数の検出データDD
mを検出してもよい。オペレータは、検出された検出データDD
mに応じて、如何なる数の検出データDD
mの集合体に、如何なる種類のラベル情報LI
1、LI
2、又はLI
3を付与するかを任意で決定する。
【0057】
また、ラベル情報LIは、上述の初期段階ラベル情報LI1、中期段階ラベル情報LI2、及び最終段階ラベル情報LI3に限らず、例えば、最終段階ラベル情報LI3として、時系列の順に「最終段階1」、「最終段階2」、「最終段階3」といった複数のラベル情報を設定してもよい。同様に、初期段階ラベル情報LI1又は中期段階ラベル情報LI2として複数のラベル情報を設定してもよい。また、最終段階ラベル情報LI3のみが検出データDDmに付与されてもよい。
【0058】
学習部54は、学習データセットDS1を用いて、第nの作業を実行している作業員Aの動きと、該第nの作業の段階(初期段階、中期段階、最終段階)との相関性を表す学習モデルLM1(関数)を生成する。例えば、学習部54は、教師あり学習を実行することで、学習モデルLM1を生成する。この場合、作業員Aが第nの作業を繰り返し試行し、学習データ取得部52は、作業員Aが第nの作業を実行する毎に、学習データセットDS1を教師データとして繰り返し取得する。
【0059】
学習部54は、教師データとして取得した検出データDDmと、第nの作業の段階を示すラベル情報LI(初期段階ラベル情報LI1、中期段階ラベル情報LI2、最終段階ラベル情報LI3)との相関性を暗示する特徴を識別することで、学習モデルLM1を学習していく。このような教師あり学習として、例えば、サポートベクターマシン(SVM)、又は混合ガウスモデル(GMM)といったアルゴリズムを用いることができる。
【0060】
以下、
図9を参照して、機械学習装置50が行う学習サイクルのフローについて説明する。ステップS11において、作業員Aは、第nの作業を行い、検出装置14は、第nの作業中に作業員Aの動きを検出する。ステップS12において、学習データ取得部52は、検出データDD
mとラベル情報LIとの学習データセットDS
1を取得し、互いに関連付けて機械学習装置50のメモリに記憶する。
【0061】
ステップS13において、学習部54は、ステップS12で取得した学習データセットDS1を用いて、第nの作業を実行中の作業員Aの動きと、該第nの作業の段階との相関性を表す学習モデルLM1を生成する。そして、フローは、ステップS11へ戻る。
【0062】
このような学習サイクルを実行することによって、学習モデルLM1の学習が進行し、学習モデルLM1が最適解へ導かれることになる。本実施形態によれば、第nの作業を実行中の作業員Aの動きと、該第nの作業の段階との相関性を定量的に表す学習モデルLM1を、自動的且つ高精度に求めることができる。
【0063】
次に、機械学習装置50の機能の他の形態について説明する。本実施形態においては、学習データ取得部52は、上述の検出データDD
mと、第nの作業に要した時間tとを、学習データセットDS
2として取得する。例えば、学習データ取得部52は、学習データセットDS
2として、作業員Aが、
図5中の締結孔F
1~F
5のうち、最初のp個(pは、4以下の整数)の締結孔Fを締結する作業員Aの動きを示す検出データDD
1~DD
m_pと、p個目の締結孔Fに対する締結を完了した時点から、第nの作業が終了する時点までの時間tとを取得する。
【0064】
具体的には、学習データ取得部52は、学習データセットDS2として、例えば、最初の2つの締結孔F(締結孔F1とF2)を締結する作業員Aの動きを示す検出データDD1~DD99と、2個目の締結孔F(締結孔F2)に対する締結を完了した時点(すなわち、検出データDD99の検出時点)から第nの作業が終了する時点(検出データDD300の検出時点)までの時間tを取得する。
【0065】
学習部54は、検出データDDmと時間tとの学習データセットDS2を用いて、第nの作業を実行している作業員Aの動きと、該第nの作業に要した時間t(例えば、p個目の締結孔Fに対する締結を完了した時点から第nの作業が終了する時点までの時間t)との相関性を表す学習モデルLM2(関数)を生成する。
【0066】
以下、
図9を参照して、学習モデルLM
2の学習サイクルのフローについて説明する。学習モデルLM
2の学習フローは、上述した学習モデルLM
1の学習フローと、ステップS12及びS13において、相違する。具体的には、ステップS12において、学習データ取得部52は、検出データDD
mと時間tとの学習データセットDS
2を取得し、互いに関連付けて機械学習装置50のメモリに記憶する。
【0067】
ステップS13において、学習部54は、ステップS12で取得した学習データセットDS2を用いて、第nの作業を実行中の作業員Aの動きと時間tとの相関性を表す学習モデルLM2を生成する。例えば、学習部54は、教師あり学習のアルゴリズム(SVM、GMM等)を実行することによって、学習モデルLM2を学習する。そして、フローは、ステップS11に戻る。
【0068】
このような学習サイクルを実行することによって、学習モデルLM2の学習が進行し、学習モデルLM2が最適解へ導かれることになる。本実施形態によれば、第nの作業を実行中の作業員Aの動きと、該第nの作業に要した時間tとの相関性を定量的に表す学習モデルLM2を、自動的且つ高精度に求めることができる。
【0069】
なお、学習部54が実行する学習アルゴリズムは、教師あり学習に限定されず、例えば教師なし学習、強化学習、ニューラルネットワーク等、機械学習として公知の学習アルゴリズムを採用できる。一例として、
図10は、ニューロンのモデルを模式的に示す。
図11は、
図10に示すニューロンを組み合わせて構成した三層のニューラルネットワークのモデルを模式的に示す。ニューラルネットワークは、例えば、ニューロンのモデルを模した演算装置や記憶装置等によって構成できる。
【0070】
図10に示すニューロンは、複数の入力x(図では例として入力x1~x3)に対し結果yを出力する。個々の入力x(x1、x2、x3)にはそれぞれに重みw(w1、w2、w3)が乗算される。入力xと結果yとの関係は、下記の式1で表すことができる。なお、入力x、結果y及び重みwはいずれもベクトルである。また式1において、θはバイアスであり、f
kは活性化関数である。
【0071】
【0072】
図11に示す三層のニューラルネットワークは、左側から複数の入力x(図では例として入力x1~入力x3)が入力され、右側から結果y(図では例として結果y1~結果y3)が出力される。図示の例では、入力x1、x2、x3のそれぞれに対応の重み(総称してW1で表す)が乗算されて、個々の入力x1、x2、x3がいずれも3つのニューロンN11、N12、N13に入力されている。
【0073】
図11では、ニューロンN11~N13の各々の出力を、総称してZ1で表す。Z1は、入力ベクトルの特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルZ1のそれぞれに対応の重み(総称してW2で表す)が乗算されて、個々の特徴ベクトルZ1がいずれも2つのニューロンN21、N22に入力されている。特徴ベクトルZ1は、重みW1と重みW2との間の特徴を表す。
【0074】
図11では、ニューロンN21~N22の各々の出力を、総称してZ2で表す。Z2は、特徴ベクトルZ1の特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルZ2のそれぞれに対応の重み(総称してW3で表す)が乗算されて、個々の特徴ベクトルZ2がいずれも3つのニューロンN31、N32、N33に入力されている。
【0075】
特徴ベクトルZ2は、重みW2と重みW3との間の特徴を表す。最後にニューロンN31~N33は、それぞれ結果y1~y3を出力する。機械学習装置50は、学習データセットDS(DS1又はDS2)を入力とし、上記したニューラルネットワークに従う多層構造の演算を行うことで、学習モデルLM(LM1又はLM2)を学習することができる。
【0076】
上述した機械学習装置50の構成は、コンピュータのプロセッサが実行する機械学習方法(又はソフトウェア)として記述できる。この機械学習方法は、プロセッサが、作業員Aが第nの作業を行っているときに該作業員Aの動きを検出する検出装置14の検出データDDmと、第nの作業の段階を示すラベル情報LI又は第nの作業に要した時間tとを、学習データセットDS1又はDS2として取得し、該学習データセットDS1又はDS2を用いて、作業員Aの動きと、第nの作業の段階又は時間tとの相関性を表す学習モデルLM1又はLM2を生成する。
【0077】
次に、
図2及び
図12を参照して、他の実施形態に係るロボットシステム60について説明する。ロボットシステム60は、ロボット12、検出装置14、及び制御装置62を備える。制御装置62は、プロセッサ64(CPU、GPU等)、メモリ66(ROM、RAM等)、入力装置68(キーボード、マウス、タッチセンサ等)、及びディスプレイ70(液晶ディスプレイ、有機ELディスプレイ等)を有するコンピュータである。プロセッサ64、メモリ66、入力装置68、及びディスプレイ70は、バス72を介して、互いに通信可能に接続されている。
【0078】
本実施形態においては、機械学習装置50は、ハードウェア又はソフトウェアとして制御装置62に実装されており、プロセッサ64は、メモリ66、入力装置68、及びディスプレイ70と通信しつつ、機械学習装置50の機能を果たすための各種演算を実行する。すなわち、本実施形態においては、プロセッサ64は、学習データ取得部52及び学習部54として機能する。メモリ66は、機械学習装置50が学習した学習モデルLM(LM1又はLM2)を予め格納している。
【0079】
次に、
図3を参照して、ロボットシステム60の動作について説明する。プロセッサ64は、上述のロボット制御部28及び終了判断部30として機能し、メモリ66、入力装置68、及びディスプレイ70と通信しつつ、
図3に示すフローを実行する。ここで、ロボットシステム60の動作フローは、上述のロボットシステム10の動作フローと、以下のプロセスにおいて、相違する。
【0080】
具体的には、ステップS4において、検出装置14は、作業員Aの動きを検出する動作を開始する。このとき、検出装置14は、学習モデルLMの学習段階で実行した上述のステップS11と同じ条件で、作業員Aを連続的に撮像(動画撮影)し、作業員Aの動きを検出する。具体的には、検出装置14は、作業員Aを、上述のステップS11と同じ視線方向VDに沿って、同じ撮影条件(シャッタ速度、撮影速度等)で撮像する。検出装置14は、連続的に取得した検出データDDm’を、プロセッサ64に順次送信する。
【0081】
ステップS5において、プロセッサ64は、検出装置14の検出データDDm’及び学習モデルLMに基づいて、第nの作業が終了するか否かを判断する。ここで、メモリ66が学習モデルLM1を格納している場合、プロセッサ64は、ステップS4の開始後に検出装置14から取得した連続的な検出データDDm’を学習モデルLM1に入力する。
【0082】
そうすると、学習モデルLM1は、入力された検出データDDm’と相関性を有するラベル情報LI(すなわち、初期段階ラベル情報LI1、中期段階ラベル情報LI2、又は最終段階ラベル情報LI3)を推定し、出力する。一例として、プロセッサ64は、このステップS5において、学習モデルLM1が最終段階ラベル情報LI3を出力したことを検知した場合にYESと判定する。他の例として、プロセッサ64は、学習モデルLMが最終段階ラベル情報LI3を出力したことを検知した時点から所定時間が経過したときに、YESと判定してもよい。
【0083】
一方、メモリ66が学習モデルLM2を格納している場合、ステップS5において、プロセッサ64は、ステップS4の開始後に検出装置14から取得した連続的な検出データDDm’を学習モデルLM2に入力する。例えば、最初のp個の締結孔Fを締結する作業員Aの動きを示す検出データDD1’~DDm_p’が入力されると、学習モデルLM2は、第nの作業においてp個目の締結孔Fに対する締結を完了した時点から、第nの作業が終了する時点までの時間tを推定し、出力する。
【0084】
これにより、プロセッサ64は、第nの作業が終了する時間を認識することができ、第nの作業が終了するタイミングを判断できる。例えば、プロセッサ64は、p個目の締結孔Fを締結する作業員Aの動きを示す検出データDDm_p’を取得した時点からの経過時間τを計時し、該経過時間τが、学習モデルLM2が出力した時間t(又は、該時間tよりも所定時間だけ前の時間)に達したときに、YESと判定する。
【0085】
このように、プロセッサ64は、終了判断部30として機能して、検出データDDm’及び学習モデルLMに基づいて、第nの作業が終了するか否かを判断する。本実施形態によれば、プロセッサ64は、学習モデルLMを用いることで、第nの作業が終了するタイミングを、より高精度に判断することができる。
【0086】
なお、上述の実施形態においては、ロボットシステム10、60が、1人の作業員Aの作業を補助する場合について述べた。しかしながら、ロボットシステム10、60は、複数の作業員Aの作業を補助するように構成されてもよい。このような形態を
図13及び
図14に示す。
【0087】
図13及び
図14に示すロボットシステム80は、3人の作業員A
1、A
2及びA
3に対して作業の補助を行うように構成されている。具体的には、ロボットシステム80は、ロボット12、検出装置14A、14B及び14C、並びに、制御装置62を備える。検出装置14A、14B及び14Cは、上述の検出装置14と同じ構成を有する。検出装置14Aは、作業員A
1の動きを検出し、検出装置14Bは、作業員A
2の動きを検出し、検出装置14Cは、作業員A
3の動きを検出する。
【0088】
また、作業セル内の予め定められた位置に、作業員A1のための載置台C1と、作業員A2のための載置台C2と、作業員A3のための載置台C3とがそれぞれ設置されている。載置台C1、C2及びC3の各々には、第1の治具D1と、第2の治具D2とが設けられている。
【0089】
ロボットシステム80の制御装置62のプロセッサ64は、作業員A
1、A
2及びA
3のそれぞれについて、
図3に示すフローを並行して実行することによって、作業員A
1、A
2及びA
3に対して作業のための物品(工具T)をそれぞれ供給し(物品供給動作)、また、作業員A
1、A
2及びA
3が作業に用いた物品を回収する(物品回収動作)。
【0090】
なお、ロボットシステム80の制御装置62のメモリ66に格納される学習モデルLM(LM1、LM2)は、検出装置14Aが作業員A1の動きを検出した検出データを用いて学習した学習モデルLM_A(LM1_A、LM2_A)と、検出装置14Bが作業員A2の動きを検出した検出データを用いて学習した学習モデルLM_B(LM1_B、LM2_B)と、検出装置14Cが作業員A3の動きを検出した検出データを用いて学習した学習モデルLM_C(LM1_C、LM2_C)とを含む。
【0091】
ここで、作業員A
1、A
2及びA
3の間で、実行する作業の種類と順序が互いに異なり得る。この場合、作業員A
1、A
2及びA
3のそれぞれについて
図3に示すフローを並行して実行するときに、ステップS1で取得される作業の情報が、作業員A
1、A
2及びA
3に関して互いに異なることになる。
【0092】
また、作業員A
1、A
2及びA
3のそれぞれについて
図3に示すフローを並行して実行しているときに、ステップS5でプロセッサ64によって判断される、作業が終了するタイミングが、少なくとも2人の作業員A
1、A
2、A
3の間で時間的に近接してしまうことが起こり得る。この場合、プロセッサ64は、該少なくとも2人の作業員A
1、A
2、A
3が作業を終了する順序を判定し、該順序に従って、作業員A
1、A
2、A
3に対してステップS8を実行してもよい。
【0093】
以下、作業員A1及びA2の作業が終了するタイミングが近接してしまう場合について説明する。プロセッサ64は、ステップS5において、上述の学習モデルLM2を用いる場合、作業員A1及びA2が作業を終了する時間を推定できる。したがって、プロセッサ64は、作業員A1及びA2が作業を終了する時間が近接するか否かを判定することができるとともに、作業員A1及びA2の作業が終了する順序を判定することもできる。
【0094】
例えば、プロセッサ64は、作業員A1が作業員A2よりも先に作業を終了すると判定した場合、先に、作業員A1に対してステップS8を実行し、次に、作業員A2に対してステップS8を実行する。この場合において、プロセッサ64は、作業員A1に関するフローのステップS5において、学習モデルLM2_Aによって作業が終了すると推定された時点よりも所定時間だけ前の時間に達したときに、YESと判定してもよい。
【0095】
その一方で、プロセッサ64は、作業員A2に関するフローのステップS5において、学習モデルLM2_Bによって作業が終了すると推定された時点でYESと判定してもよい。これにより、作業員A1及びA2の作業が終了するタイミングが近接してしまう場合において、プロセッサ64は、作業員A1とA2とに対し、作業が終了する順序に従って、異なるタイミングでステップS8を実行できる。
【0096】
代替的には、ロボットシステム80のプロセッサ64は、上述のロボットシステム10におけるステップS5と同様に、検出データDDmで示される作業員Aの動きが、基準動作パターンに合致するか否かを監視し、作業員Aの動きが該基準動作パターンと合致したときに、第nの作業が終了すると判断することもできる。この場合において、仮に作業員A1及びA2の作業が終了するタイミングが近接してしまうとすると、プロセッサ64は、作業員A1及びA2のうちのいずれの動きが基準動作パターンに先に合致したかを判定できる。
【0097】
例えば、作業員A1の動きが作業員A2よりも先に基準動作パターンに合致した判定した場合、先に、作業員A1に対してステップS8を実行し、次に、作業員A2に対してステップS8を実行する。この場合において、プロセッサ64は、作業員A1に関するフローのステップS5において、作業員A1の動きが基準動作パターンに合致すると判定した時点でYESと判定し、作業員A1に対してステップS8を実行する。
【0098】
その一方で、作業員A2に関するフローのステップS5において、作業員A2の動きが基準動作パターンに合致すると判定した時点から所定時間経過後にYESと判定し、作業員A2に対してステップS8を実行する。これにより、作業員A1及びA2の作業が終了するタイミングが近接してしまう場合において、作業員A1とA2とに対し、作業が終了する順序に従って、異なるタイミングでステップS8を実行できる。
【0099】
以上のような制御方法によって、作業が終了するタイミングが少なくとも2人の作業員A1、A2、A3の間で時間的に近接してしまう場合でも、作業員A1、A2、及びA3に対し、ステップS8(物品供給動作)及びステップS9(物品回収動作)を、ロボット12又は作業員A1、A2、A3の動作が停滞することなく、円滑に実行することができる。
【0100】
また、ロボット12によって効率よく物品を供給できるため、ロボット12の稼働率を上げることができる。その結果、複数の作業員A1、A2、A3のそれぞれの作業の補助のために複数のロボットを設ける必要がなくなり、1つのロボット12で複数の作業員A1、A2、A3の作業の補助を行うことができる。したがって、ロボットシステム80のコストを削減できる。
【0101】
なお、ロボットシステム80において、プロセッサ64は、作業員A
1、A
2及びA
3のうちのいずれかに対して、上述のロボットシステム10が実行する
図3のフロー(すなわち、ステップS5で学習モデルLMを用いないフロー)を実行してもよい。この場合、プロセッサ64は、学習モデルLMを用いない
図3のフローと、学習モデルLMを用いる
図3のフローとを、別々の作業員に対して並行して実行することになる。また、ロボットシステム80において、1つの検出装置14が、作業員A
1、A
2及びA
3の動きを検出するように構成されてもよい。
【0102】
なお、上述の実施形態においては、ステップS8において、ロボット12が第nの工具Tnを第1の治具D1にセットする場合について述べた。しかしながら、これに限らず、ロボット12は、作業員A(又は、A1、A2、A3)に、第nの工具Tnを直接手渡ししてもよい。
【0103】
この場合、制御装置16、62(プロセッサ64)は、ステップS8において、物品供給動作として、ロボット12がロボットハンド26で把持した第nの工具Tnを、予め定められた手渡し位置に運搬する。この手渡し位置は、作業員Aへ第nの工具Tnを手渡しするための作業員Aに近接した位置として、定められる。手渡し位置のロボット座標系CRにおける位置データは、メモリ(66)に予め記憶される。作業員A(又は、A1、A2、A3)は、ステップS8でロボット12が手渡し位置に配置した第nの工具Tnを、手Hで受け取る。
【0104】
この場合において、ロボット12に、ロボットハンド26に掛かる外力Fを検出する力センサを設けてもよい。作業員A(又は、A1、A2、A3)が第nの工具Tnをロボット12から手Hで受け取った場合、ロボットハンド26に掛かる外力Fは変動することになる。制御装置16、62(プロセッサ64)は、力センサが検出する外力Fを監視し、該外力Fが所定の閾値を超えて変動した場合に、作業員Aが第nの工具Tnを受け取ったと判定し、ステップS9に進んでもよい。
【0105】
また、上述の実施形態においては、ステップS9において、ロボット12が、第2の治具D2にセットされている、直前の第n-1の作業で用いた第n-1の工具Tn-1をロボットハンド26で把持して回収する場合について述べた。しかしながら、これに限らず、ロボット12は、作業員A(又は、A1、A2、A3)から第n-1の工具Tn-1を直接受け取ってもよい。
【0106】
この場合において、ロボット12に、ロボットハンド26に掛かる外力Fを検出する力センサを設けてもよい。そして、制御装置16、62(プロセッサ64)は、ステップS9において、物品回収動作として、まず、ロボットハンド26の指部26aを開いた状態でロボットハンド26の手先(TCP)を、手渡し位置に配置させる。作業員A(又は、A1、A2、A3)は、ロボットハンド26の指部26aの間に第n-1の工具Tn-1を挿入し、該第n-1の工具Tn-1を通して該ロボットハンド26に外力Fを加える。力センサは、このときの外力Fを検出する。
【0107】
制御装置16、62(プロセッサ64)は、力センサによって検出された外力Fが予め定められた閾値を超えたときに、ロボットハンド26の指部26aを閉じて第n-1の工具Tn-1を把持する。こうして、ロボット12は、作業員A(又は、A1、A2、A3)から第n-1の工具Tn-1を直接受け取ることができる。そして、制御装置16、62(プロセッサ64)は、受け取った第n-1の工具Tn-1を、保管台E上の所定位置まで運搬する。
【0108】
なお、上述の実施形態においては、検出装置14が、光学式モーションキャプチャによって、作業員A(又は、A1、A2、A3)を撮像した画像に基づいて、作業員A(又は、A1、A2、A3)の動きを検出する場合について述べた。しかしながら、これに限らず、検出装置は、いわゆる慣性センサ式モーションキャプチャによって作業員A(又は、A1、A2、A3)の動きを検出してもよい。この場合、検出装置は、作業員A(又は、A1、A2、A3)の身体の各部位に設けられた複数の加速度センサを有し、該加速度センサの出力信号から、作業員A(又は、A1、A2、A3)の動きを検出する。
【0109】
このような加速度センサを有する検出装置を用いて機械学習装置50で学習モデルLMを学習する場合、プロセッサ64(学習データ取得部52)は、学習データセットDSとして、各加速度センサの出力信号を検出データとして取得してもよい。又は、プロセッサ64(学習データ取得部52)は、学習データセットDSとして、各加速度センサの出力信号から得られる作業員A(又は、A1、A2、A3)の動きを示す検出データ(画像データ)を取得してもよい。また、検出装置は、機械式又は磁気式等、如何なるタイプのモーションキャプチャ技術を用いるものであってもよい。
【0110】
また、上述の実施形態においては、制御装置16(プロセッサ64)が、終了判断部30として機能し、検出装置14の検出データDDに基づいて第nの作業が終了するか否かを判断する場合について述べた。しかしながら、これに限らず、検出装置14に内蔵された画像処理プロセッサが、終了判断部30として機能し、検出データDDに基づいて第nの作業が終了するか否かを判断してもよい。
【0111】
また、上述の実施形態においては、第nの作業が、締結孔F1~F5に、締結孔F1→F2→F3→F4→F5の順で締結具Gを締結する作業である場合について述べた。しかしながら、締結孔F1~F5に締結具Gを締結する順序は、如何なる順序であってもよい。また、締結孔F1~F5の個数も、如何なる個数であってもよい。
【0112】
さらには、第nの作業は、締結作業に限定されない。例えば、第nの作業は、作業員Aが、溶接トーチである第nの工具によって、第1の溶接点、第2の溶接点、・・・第nの溶接点に対して溶接(例えば、スポット溶接)を行う作業であってもよい。又は、第nの作業は、作業員Aが、塗料塗布器である第nの工具によって、第1の塗装箇所、第2の塗装箇所、・・・第nの塗装箇所に対して順に塗工する作業であってもよい。又は、第nの作業は、作業員Aが、半田ごてである第nの工具によって、電子部品を、基板上の第1の実装位置、第2の実装位置、・・・第nの実装位置で半田付けする作業であってもよい。
【0113】
また、上述した実施形態においては、ロボット12が、作業のための物品として、工具Tを作業員に対して供給及び回収する場合について述べた。しかしながら、これに限らず、ロボット12は、作業のための物品として、例えば、製品に取り付ける部品(ボルト等の締結具G、ICチップ等の電子部品)を供給及び回収してもよい。
【0114】
また、ロボットハンド26は、指部aで物品を把持するものに限らず、吸着部を有し、該吸着部によって物品を吸着するものであってもよい。また、ロボット12は、垂直多関節型に限らず、水平多関節型、パラレルリンク型等、如何なるタイプのロボットでもよい。以上、実施形態を通じて本開示を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。
【符号の説明】
【0115】
10,60,80 ロボットシステム
12 ロボット
14,14A,14B,14C 検出装置
16,62 制御装置
28 ロボット制御部
30 終了判断部
50 機械学習装置
52 学習データ取得部
54 学習部
【手続補正書】
【提出日】2024-01-17
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0033
【補正方法】変更
【補正の内容】
【0033】
制御装置16は、ステップS4の開始後に取得した検出データDDで示される作業員Aの動きが、基準動作パターンに合致するか否かを監視し、作業員Aの動きが該基準動作パターンと合致したときに、第nの作業が終了すると判断する。なお、制御装置16は、作業員Aの動きが基準動作パターンに合致したと判定してから所定時間が経過したときに、第nの作業が終了すると判断してもよい。
【手続補正3】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
複数の作業箇所に対して順に作業を行う作業員の該作業が終了するタイミングを学習する機械学習装置であって、
1つの前記作業箇所に対して前記作業を行っている間に該作業員の動きを検出する検出装置の検出データと、前記1つの作業箇所に対する前記作業が完了してから、最後の前記作業箇所に対する前記作業が完了するまでの時間と、を、学習データセットとして取得する学習データ取得部と、
前記学習データセットを用いて、前記動きと前記時間との相関性を表す学習モデルを生成する学習部と、を備える、機械学習装置。
【請求項2】
複数の作業箇所に対して順に作業を行う作業員の該作業が終了するタイミングを学習する機械学習方法であって、
1つの前記作業箇所に対して前記作業を行っている間に該作業員の動きを検出する検出装置の検出データと、前記1つの作業箇所に対する前記作業が完了してから、最後の前記作業箇所に対する前記作業が完了するまでの時間と、を、学習データセットとして取得し、
前記学習データセットを用いて、前記動きと前記時間との相関性を表す学習モデルを生成する、機械学習方法。