(57)【要約】【課題】最適なロボットの稼働開始条件を決定できる制御装置、機械学習装置及び機械学習方法を提供すること。【解決手段】本発明の制御装置１０は、ロボットによる搬送装置上に配置された物品の収納動作の稼働開始条件を学習する機械学習装置２０を備え、機械学習装置２０は、稼働開始条件を示す稼働開始条件データ、及び搬送装置上の物品に係る状態を示す搬送状態データを、環境の現在状態を表す状態変数として観測する状態観測部２２と、収納動作の適否判定結果を示す判定データを取得する判定データ取得部２４と、状態変数と判定データとを用いて、前記稼働開始条件を前記搬送状態データと関連付けて学習する学習部２６と、を備える。【選択図】図１
2018171684.tif 000002
【特許請求の範囲】
【請求項１】
搬送装置上に配置された少なくともひとつの物品を把持して所定の位置へと収納するためのロボットを制御する制御装置であって、
前記ロボットによる前記搬送装置上に配置された前記物品の収納動作の稼働開始条件を学習する機械学習装置を備え、
前記機械学習装置は、
前記稼働開始条件を示す稼働開始条件データ、及び前記搬送装置上の前記物品に係る状態を示す搬送状態データを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記収納動作の適否判定結果を示す判定データを取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、前記稼働開始条件を前記搬送状態データと関連付けて学習する学習部と、
を備える制御装置。
【請求項２】
前記状態観測部は、前記状態変数として、前記物品の種別を識別する種別情報を更に観測し、
前記学習部は、前記稼働開始条件を前記搬送状態データ及び前記種別情報の双方と関連付けて学習する、
請求項１に記載の制御装置。
【請求項３】
前記判定データは、予め定めた所定数の前記物品を収納するまでのサイクルタイム、前記搬送装置上で前記ロボットが物品を見逃した見逃し個数、前記ロボットが前記物品を収納する際の前記ロボットを駆動するモータのトルク、及び前記ロボットが前記物品を収納する際に生じる振動のうちの少なくとも１つを含む、
請求項１または２に記載の制御装置。
【請求項４】
前記学習部は、
前記適否判定結果に関連する報酬を求める報酬計算部と、
前記報酬を用いて、前記搬送装置上の前記物品に係る状態に対する前記稼働開始条件の価値を表す関数を更新する価値関数更新部とを備える、
請求項１〜３のいずれか１つに記載の制御装置。
【請求項５】
前記学習部は、前記状態変数と前記判定データとを多層構造で演算する、
請求項１〜４のいずれか１つに記載の制御装置。
【請求項６】
前記学習部による学習結果に基づいて、前記稼働開始条件に基づく指令値を出力する意思決定部を更に備える、
請求項１〜５のいずれか１つに記載の制御装置。
【請求項７】
前記学習部は、複数のロボットのそれぞれについて得られた前記状態変数及び前記判定データを用いて、該複数のロボットのそれぞれにおける前記稼働開始条件を学習する、
請求項１〜６のいずれか１つに記載の制御装置。
【請求項８】
前記機械学習装置は、クラウドサーバに存在する、
請求項１〜７のいずれか１つに記載の制御装置。
【請求項９】
搬送装置上に配置された少なくともひとつの物品を把持して所定の位置へと収納するためのロボットによる前記搬送装置上に配置された前記物品の収納動作の稼働開始条件を学習する機械学習装置であって、
前記稼働開始条件を示す稼働開始条件データ、及び前記搬送装置上の前記物品に係る状態を示す搬送状態データを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記収納動作の適否判定結果を示す判定データを取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、前記稼働開始条件を前記搬送状態データと関連付けて学習する学習部と、
を備える機械学習装置。
【請求項１０】
搬送装置上に配置された少なくともひとつの物品を把持して所定の位置へと収納するためのロボットによる前記搬送装置上に配置された前記物品の収納動作の稼働開始条件を学習する機械学習方法であって、
前記稼働開始条件を示す稼働開始条件データ、及び前記搬送装置上の前記物品に係る状態を示す搬送状態データを、環境の現在状態を表す状態変数として観測するステップと、
前記収納動作の適否判定結果を示す判定データを取得するステップと、
前記状態変数と前記判定データとを用いて、前記稼働開始条件を前記搬送状態データと関連付けて学習するステップと、
を実行する機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの制御装置及び機械学習装置に関し、特に最適なロボットの稼働開始条件を学習する制御装置、機械学習装置及び機械学習方法に関する。
【背景技術】
【０００２】
コンベヤ等の搬送装置上を流れて来る少なくともひとつの物品を追いかけながら取り出す物品搬送システムがある（例えば、特許文献１など）。このような物品搬送システムでは、図９に示すように、予め設定された所定の稼働開始位置に到達した物品を搬送装置上方やロボットのアームに取り付けられた撮像装置などにより検出して、ロボットが検出した物品を追いかけながら該物品を把持し、把持した物品を収納容器や収納場所へと収納する。図９に示す稼働開始位置は、熟練した作業者などにより決められていた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０８−０６３２１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、このような従来技術では、予め任意に決められた位置を越えた物品から順番にロボットは物品を追いかけ始めるため、誤って離れた位置に追いかけ始める位置を設定してしまうとロボットの動作に無駄が生じることがあった。また、経験の浅い作業者では、ロボット固有の能力や配置に応じた最適な稼働開始位置を予め決定することが困難であるという課題があった。
【０００５】
そこで本発明の目的は、最適なロボットの稼働開始条件を決定できる制御装置、機械学習装置及び機械学習方法を提供することである。
【課題を解決するための手段】
【０００６】
本発明の一態様は、搬送装置上に配置された少なくともひとつの物品を把持して所定の位置へと収納するためのロボットを制御する制御装置であって、前記ロボットによる前記搬送装置上に配置された前記物品の収納動作の稼働開始条件を学習する機械学習装置を備え、前記機械学習装置は、前記稼働開始条件を示す稼働開始条件データ、及び前記搬送装置上の前記物品に係る状態を示す搬送状態データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記収納動作の適否判定結果を示す判定データを取得する判定データ取得部と、前記状態変数と前記判定データとを用いて、前記稼働開始条件を前記搬送状態データと関連付けて学習する学習部と、を備える制御装置である。
【０００７】
本発明の他の態様は、搬送装置上に配置された少なくともひとつの物品を把持して所定の位置へと収納するためのロボットによる前記搬送装置上に配置された前記物品の収納動作の稼働開始条件を学習する機械学習装置であって、前記稼働開始条件を示す稼働開始条件データ、及び前記搬送装置上の前記物品に係る状態を示す搬送状態データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記収納動作の適否判定結果を示す判定データを取得する判定データ取得部と、前記状態変数と前記判定データとを用いて、前記稼働開始条件を前記搬送状態データと関連付けて学習する学習部と、を備える機械学習装置である。
【０００８】
本発明の他の態様は、搬送装置上に配置された少なくともひとつの物品を把持して所定の位置へと収納するためのロボットによる前記搬送装置上に配置された前記物品の収納動作の稼働開始条件を学習する機械学習方法であって、前記稼働開始条件を示す稼働開始条件データ、及び前記搬送装置上の前記物品に係る状態を示す搬送状態データを、環境の現在状態を表す状態変数として観測するステップと、前記収納動作の適否判定結果を示す判定データを取得するステップと、前記状態変数と前記判定データとを用いて、前記稼働開始条件を前記搬送状態データと関連付けて学習するステップと、を実行する機械学習方法である。
【発明の効果】
【０００９】
本発明により、従来の方式と比較してロボットの負荷を少なく抑えたままで、物品の収納動作のサイクルタイムが最小になり、生産性の向上が見込まれる。また、物品の位置だけでなく物品の種類も考慮することにより、より取りやすい物品から動作を開始するようになる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態による制御装置の概略的な機能ブロック図である。
【図２】機械学習に用いられるデータの例を示す図である。
【図３】制御装置の一形態を示す概略的な機能ブロック図である。
【図４】機械学習方法の一形態を示す概略的なフローチヤートである。
【図５Ａ】ニューロンを説明する図である。
【図５Ｂ】ニューラルネットワークを説明する図である。
【図６】第２の実施形態による制御装置の概略的な機能ブロック図である。
【図７】物品搬送システムの一形態を示す概略的な機能ブロック図である。
【図８】物品搬送システムの他の形態を示す概略的な機能ブロック図である。
【図９】従来技術による物品搬送システムの動作を説明する図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態を図面と共に説明する。
図１は、第１の実施形態による制御装置１０の概略的な機能ブロック図である。制御装置１０は、例えば、搬送装置上を流れて来る物品を追いかけながら取り出すロボット（図示せず）を制御する制御装置として実装することができる。制御装置１０は、稼働開始条件（取得動作を開始する搬送装置上の物品の位置など）を、いわゆる機械学習により自ら学習するためのソフトウェア（学習アルゴリズム等）及びハードウェア（コンピュータのＣＰＵ等）を含む機械学習装置２０を備える。制御装置１０が備える機械学習装置２０が学習する稼働開始条件は、物品の搬送装置上の位置や姿勢などの搬送装置上の物品に係る状態を示す情報と、当該状態における稼働開始条件との、相関性を表すモデル構造に相当する。
【００１２】
図１に機能ブロックで示すように、制御装置１０が備える機械学習装置２０は、搬送装置上を流れて来る物品（図示せず）に係る状態に対して設定された稼働開始条件を示す稼働開始条件データＳ１と、搬送装置上を流れて来る物品に係る状態を示す搬送状態データＳ２を含む環境の現在状態を表す状態変数Ｓとして観測する状態観測部２２と、設定された稼働開始条件の元でのロボットによる物品収納動作の適否判定結果を示す判定データＤを取得する判定データ取得部２４と、状態変数Ｓと判定データＤとを用いて、稼働開始条件データＳ１に搬送状態データＳ２と関連付けて学習する学習部２６とを備える。
【００１３】
状態観測部２２は、例えばコンピュータのＣＰＵの一機能として構成できる。或いは状態観測部２２は、例えばコンピュータのＣＰＵを機能させるためのソフトウェアとして構成できる。状態観測部２２が観測する状態変数Ｓのうち、稼働開始条件データＳ１は、例えば熟練した作業者により申告されて制御装置１０に与えられる稼働開始条件の申告データを用いたり、搬送装置上を流れて来る物品を追いかけながら取り出すロボットや該ロボットの制御装置から取得した該ロボットによる収納動作のログデータなどを用いたりすることができる。稼働開始条件データＳ１は、例えば取得動作の稼働開始位置や、搬送装置上の物品の取得順の決定条件（ｘ軸方向近さ優先、２次元方向近さ優先など）などを用いることができる。
【００１４】
また、状態変数Ｓのうち、搬送状態データＳ２は、例えばロボットに付設された第１の測定装置（図示せず）が実測した値や、該ロボットから取得された動作パラメータを用いることができる。搬送状態データＳ２は、ロボットの稼働範囲へ向けてコンベヤ上を流れてくる１乃至所定数の物品の搬送装置上の位置や姿勢などを用いることができる。
【００１５】
第１の測定装置は、例えば搬送装置全体または少なくとも所定のエリアを所定の位置から測定することができる。第１の測定装置は、搬送装置の上方に配置されていてもよく、また、ロボットのアームに取りつけられていても良い。第１の測定装置は、例えば物品が流れていない搬送装置と、物品が流れている搬送装置の差に基づいて、搬送装置上の物品の位置を演算できる。第１の測定装置は、例えば物品が流れていない搬送装置と、物品が流れている搬送装置の差に基づいて、搬送装置上の物品の形状や色などを演算できるようにしても良い。この演算は、例えば制御装置１０が行ったり、状態観測部２２自体が行ったりすることもできる。第１の測定装置としては、光学的撮像装置、赤外線レーザ、超音波計測器等を採用できる。
【００１６】
判定データ取得部２４は、例えばコンピュータのＣＰＵの一機能として構成できる。或いは判定データ取得部２４は、例えばコンピュータのＣＰＵを機能させるためのソフトウェアとして構成できる。判定データ取得部２４が取得する判定データＤは、ロボットによる搬送装置上を流れて来る物品の収納動作が為された後で、例えば該ロボットに付設される第１の測定装置により実測された値や、該ロボットから取得された動作パラメータを用いることで取得できる。判定データＤは、例えば１乃至所定数の物品を収納するまでに掛かるサイクルタイム、物品の見逃し個数、ロボットを駆動するモータのトルク（モータの電流値から取得できる）、ロボットに発生する振動（ロボットに取り付けられた加速度センサ等により取得できる）などを用いることができる。判定データＤは、状態変数Ｓの下でロボットによる物品の収納動作を実行した時の結果を表す指標であって、収納動作の状態を間接的に表すものである。
【００１７】
このように、制御装置１０が備える機械学習装置２０が学習を進める間、環境においては、第１の測定装置によるロボットの稼働範囲へ向けてコンベヤ上を流れてくる１乃至所定数の物品の搬送装置上の位置や姿勢の測定、ロボットによる物品の収納作業の実施、及び第１の測定装置による収納作業後の搬送装置上の物品の位置（見逃し個数等）の測定、ロボットの状態を示すデータ（サイクルタイムやトルク、振動量等）の取得が実施される。
【００１８】
図２は、状態変数Ｓ及び判定データＤの設定例を示す図である。図２に例示すように、稼働開始条件データＳ１に含まれる取得動作の稼働開始位置ｓｔは、例えば収納動作を開始する搬送装置上の物品の位置のｘ座標値を用いれば良い。また、搬送状態データＳ２に含まれるロボットの稼働範囲へ向けて搬送装置上を流れてくる１乃至所定数の物品の搬送装置上の位置や姿勢（ｘｎ，ｙｎ，θｎ）は、例えばコンベヤ上の各物品のｘ座標値、ｙ座標値、及び座標系のｘ軸に対する各物品の為す角度θを用いればよい。また、判定データＤに含まれる見逃し数ｌｐは、例えば予め定めた所定時間以内におけるロボットの稼働範囲内で収納されなかった物品の数を用いればよい。
【００１９】
学習部２６は、例えばコンピュータのＣＰＵの一機能として構成できる。或いは学習部２６は、例えばコンピュータのＣＰＵを機能させるためのソフトウェアとして構成できる。学習部２６は、機械学習と総称される任意の学習アルゴリズムに従い、ロボットによる搬送装置上の物品の収納動作の稼働開始条件を学習する。学習部２６は、複数の物品の収納動作に対して、前述した状態変数Ｓと判定データＤとを含むデータ集合に基づく学習を反復実行することができる。複数の物品の収納動作に対する学習サイクルの反復中、状態変数Ｓのうち稼働開始条件データＳ１は、前回までの学習サイクルで得た稼働開始条件とし、また判定データＤは、当該決定した稼働開始条件に基づく物品の収納動作に対する適否判定結果とする。
【００２０】
このような学習サイクルを繰り返すことにより、学習部２６は、搬送装置上の物品に係る状態（搬送状態データＳ２）とロボットによる搬送装置上の物品の収納動作の稼働開始条件との相関性を暗示する特徴を自動的に識別することができる。学習アルゴリズムの開始時には搬送状態データＳ２と稼働開始条件との相関性は実質的に未知であるが、学習部２６は、学習を進めるに従い徐々に特徴を識別して相関性を解釈する。搬送状態データＳ２と稼働開始条件との相関性が、ある程度信頼できる水準まで解釈されると、学習部２６が反復出力する学習結果は、現在状態（つまり搬送装置上の物品にかかる状態）に対してどのような稼働開始条件の下で物品の収納動作をするべきかと言う行動の選択（つまり意思決定）を行うために使用できるものとなる。つまり学習部２６は、学習アルゴリズムの進行に伴い、搬送装置上の物品に係る状態と、当該状態に対してどのような稼働開始条件での物品の収納動作をするべきかという行動との、相関性を最適解に徐々に近づけることができる。
【００２１】
上記したように、制御装置１０が備える機械学習装置２０は、状態観測部２２が観測した状態変数Ｓと判定データ取得部２４が取得した判定データＤとを用いて、学習部２６が機械学習アルゴリズムに従い、ロボットが搬送装置上の物品を収納する際の稼働開始条件を学習するものである。状態変数Ｓは、稼働開始条件データＳ１及び搬送状態データＳ２といった、外乱の影響を受け難いデータで構成され、また判定データＤは、物品の収納動作後の搬送装置上の物品に係る状態を計測したり収納動作中のロボットの動作パラメータを取得したりすることにより一義的に求められる。搬送状態データＳ２については、例えば第１の測定装置の能力としての機械の各部の測定精度に依存するが、それ自体高精度の搬送状態データＳ２を観測できることが期待される。また判定データＤについても同様に、第１の測定装置の測定精度に依存して、高精度の判定データＤを取得できることが期待される。したがって、制御装置１０が備える機械学習装置２０によれば、学習部２６の学習結果を用いることで、搬送装置上の物品に係る状態に応じた、ロボットが該物品を収納する際の稼働開始条件を、演算や目算によらずに自動的に、しかも正確に求めることができるようになる。
【００２２】
ロボットによる搬送装置上の物品の収納動作の稼働開始条件を、演算や目算によらずに自動的に求めることができれば、ロボットによる搬送装置上の物品の収納動作を開始する前に搬送装置上の物品にかかる状態（搬送状態データＳ２）を把握するだけで、ロボットが搬送装置上の物品の収納する際の適切な稼働開始条件を迅速に決定することができる。したがって、ロボットによる搬送装置上の物品の収納動作を効率よく且つロボットに負荷を掛けないようにすることができる。
【００２３】
制御装置１０が備える機械学習装置２０の一変形例として、状態観測部２２は、状態変数Ｓとして、収納対象とする物品の種別を識別する種別情報Ｓ３を更に観測することができる。種別情報Ｓ３は例えば、収納対象とする物品の形状や色、重さ等を含むことができる。状態観測部２２は例えば、第１の測定装置の出力から種別情報Ｓ３を取得できる。このようにする場合、例えば稼動開始条件に対して（収納対象とする物品の種別として）種別情報を含めることができ、また、学習部２６は、該稼働開始条件を、搬送状態データＳ２及び種別情報Ｓ３の双方と関連付けて学習することができる。
【００２４】
上記変形例によれば、機械学習装置２０は、特定の種別の物品をロボットによる収納動作の対象とした場合の稼働開始条件を学習することができる。例えば、２種の収納対象となる物品について、該物品の搬送装置上の位置や姿勢（搬送状態データＳ２）が略同一であっても、当該物品の重さや形状（種別情報Ｓ３）が異なる場合、該物品を収納する際の稼働開始条件が微妙に異なる状況が生じ得る。上記構成によれば、このような状況においても物品の重さや形状等（種別情報Ｓ３）に応じて収納対象の物品を収納する際の稼働開始条件を最適化することができる。或いは、学習を進めるうちに収納対象の物品の搬送装置上の位置や姿勢（搬送状態データＳ２）と物品の種別（種別情報Ｓ３）との相関性を見出すことができる場合もある。この場合には、種別情報Ｓ３から搬送状態データＳ２をある程度予測できるようになるので、第１の測定装置による搬送装置上の物品に係る状態の測定精度が低い場合であっても、学習を適正に収束させて物品を収納する際の稼働開始条件を最適化することができる。
【００２５】
制御装置１０が備える機械学習装置２０の他の変形例として、学習部２６は、同一の構成を有する複数のロボットのそれぞれについて得られた状態変数Ｓ及び判定データＤを用いて、それらロボットによる搬送装置上の物品の収納動作の稼働開始条件を学習することができる。この構成によれば、一定時間で得られる状態変数Ｓと判定データＤとを含むデータ集合の量を増加できるので、より多様なデータ集合を入力として、ロボットによる搬送装置上の物品の収納動作の稼働開始条件の学習の速度や信頼性を向上させることができる。
【００２６】
上記構成を有する機械学習装置２０では、学習部２６が実行する学習アルゴリズムは特に限定されず、機械学習として公知の学習アルゴリズムを採用できる。図３は、図１に示す制御装置１０の一形態であって、学習アルゴリズムの一例として強化学習を実行する学習部２６を備えた構成を示す。強化学習は、学習対象が存在する環境の現在状態（つまり入力）を観測するとともに現在状態で所定の行動（つまり出力）を実行し、その行動に対し何らかの報酬を与えるというサイクルを試行錯誤的に反復して、報酬の総計が最大化されるような方策（本願の機械学習装置ではロボットによる搬送装置上の物品の収納動作の稼働開始条件）を最適解として学習する手法である。
【００２７】
図３に示す制御装置１０が備える機械学習装置２０において、学習部２６は、状態変数Ｓに基づいてロボットによる搬送装置上の物品の収納動作の適否判定結果（次の学習サイクルで用いられる判定データＤに相当）に関連する報酬Ｒを求める報酬計算部２８と、報酬Ｒを用いて、ロボットによる搬送装置上の物品の収納動作の稼働開始条件の価値を表す関数Ｑを更新する価値関数更新部３０とを備える。学習部２６は、価値関数更新部３０が関数Ｑの更新を繰り返すことによって搬送装置上の物品に係る状態に対するロボットによる搬送装置上の物品の収納動作の稼働開始条件を学習する。
【００２８】
学習部２６が実行する強化学習のアルゴリズムの一例を説明する。この例によるアルゴリズムは、Ｑ学習（Ｑ−ｌｅａｒｎｉｎｇ）として知られるものであって、行動主体の状態ｓと、その状態ｓで行動主体が選択し得る行動ａとを独立変数として、状態ｓで行動ａを選択した場合の行動の価値を表す関数Ｑ（ｓ，ａ）を学習する手法である。状態ｓで価値関数Ｑが最も高くなる行動ａを選択することが最適解となる。状態ｓと行動ａとの相関性が未知の状態でＱ学習を開始し、任意の状態ｓで種々の行動ａを選択する試行錯誤を繰り返すことで、価値関数Ｑを反復して更新し、最適解に近付ける。ここで、状態ｓで行動ａを選択した結果として環境（つまり状態ｓ）が変化したときに、その変化に応じた報酬（つまり行動ａの重み付け）ｒが得られるように構成し、より高い報酬ｒが得られる行動ａを選択するように学習を誘導することで、価値関数Ｑを比較的短時間で最適解に近付けることができる。
【００２９】
価値関数Ｑの更新式は、一般に下記の数１式のように表すことができる。数１式において、ｓt及びａtはそれぞれ時刻ｔにおける状態及び行動であり、行動ａtにより状態はｓt+1に変化する。ｒt+1は、状態がｓtからｓt+1に変化したことで得られる報酬である。ｍａｘＱの項は、時刻ｔ＋１で最大の価値Ｑになる（と時刻ｔで考えられている）行動ａを行ったときのＱを意味する。α及びγはそれぞれ学習係数及び割引率であり、０＜α≦１、０＜γ≦１で任意設定される。
【００３０】
【数１】
2018171684.tif 000003
【００３１】
学習部２６がＱ学習を実行する場合、状態観測部２２が観測した状態変数Ｓ及び判定データ取得部２４が取得した判定データＤは、更新式の状態ｓに該当し、現在状態（つまり搬送装置上の物品に係る状態）に対するロボットによる搬送装置上の物品の収納動作の稼働開始条件をどのように変更するべきかという行動は、更新式の行動ａに該当し、報酬計算部２８が求める報酬Ｒは、更新式の報酬ｒに該当する。よって価値関数更新部３０は、現在状態のロボットによる搬送装置上の物品の収納動作の稼働開始条件の価値を表す関数Ｑを、報酬Ｒを用いたＱ学習により繰り返し更新する。
【００３２】
報酬計算部２８が求める報酬Ｒは、例えば、ロボットによる搬送装置上の物品の収納動作の稼働開始条件を決定した後に該稼働開始条件に基づいてロボットによる搬送装置上の物品の収納動作を実施したときに、収納動作の状態が「適」と判定される場合（例えば、１乃至所定数の物品の収納動作のサイクルタイムが許容できる範囲に収まる場合、物品の見逃し個数が許容できる範囲に収まる場合、ロボットを駆動するモータのトルクが許容範囲に収まる場合、ロボットの振動量が許容範囲に収まる場合、など）に正（プラス）の報酬Ｒとし、ロボットによる搬送装置上の物品の収納動作の稼働開始条件を決定した後に該稼働開始条件に基づいてロボットによる搬送装置上の物品の収納動作を実施したときに、収納動作の状態が「否」と判定される場合（例えば、１乃至所定数の物品の収納動作のサイクルタイムが許容できる範囲外である場合、物品の見逃し個数が許容できる範囲外である場合、ロボットを駆動するモータのトルクが許容範囲外である場合、ロボットの振動量が許容範囲外である場合、など）に負（マイナス）の報酬Ｒとすることができる。正負の報酬Ｒの絶対値は、互いに同一であってもよいし異なっていてもよい。また、判定の条件として、判定データＤに含まれる複数の値を組み合わせて判定するようにしても良い。
【００３３】
また、ロボットによる搬送装置上の物品の収納動作の状態の適否判定結果を、「適」及び「否」の二通りだけでなく複数段階に設定することができる。例として、物品の収納動作のサイクルタイムの許容範囲の最大値がＴmaxの場合、物品の収納動作のサイクルタイムＴが、０≦Ｔ＜Ｔmax／５のときは報酬Ｒ＝５を与え、Ｔmax／５≦Ｔ＜Ｔmax／２のときは報酬Ｒ＝２を与え、Ｔmax／２≦Ｔ≦Ｔmaxのときは報酬Ｒ＝１を与えるような構成とすることができる。さらに、学習の初期段階はＴmaxを比較的大きく設定し、学習が進行するにつれてＴmaxを縮小する構成とすることもできる。
【００３４】
価値関数更新部３０は、状態変数Ｓと判定データＤと報酬Ｒとを、関数Ｑで表される行動価値（例えば数値）と関連付けて整理した行動価値テーブルを持つことができる。この場合、価値関数更新部３０が関数Ｑを更新するという行為は、価値関数更新部３０が行動価値テーブルを更新するという行為と同義である。Ｑ学習の開始時には環境の現在状態とロボットによる搬送装置上の物品の収納動作の稼働開始条件との相関性は未知であるから、行動価値テーブルにおいては、種々の状態変数Ｓと判定データＤと報酬Ｒとが、無作為に定めた行動価値の値（関数Ｑ）と関連付けた形態で用意されている。なお報酬計算部２８は、判定データＤが分かればこれ対応する報酬Ｒを直ちに算出でき、算出した値Ｒが行動価値テーブルに書き込まれる。
【００３５】
ロボットによる搬送装置上の物品の収納動作の状態の適否判定結果に応じた報酬Ｒを用いてＱ学習を進めると、より高い報酬Ｒが得られる行動を選択する方向へ学習が誘導され、選択した行動を現在状態で実行した結果として変化する環境の状態（つまり状態変数Ｓ及び判定データＤ）に応じて、現在状態で行う行動についての行動価値の値（関数Ｑ）が書き替えられて行動価値テーブルが更新される。この更新を繰り返すことにより、行動価値テーブルに表示される行動価値の値（関数Ｑ）は、適正な行動ほど大きな値となるように書き換えられる。このようにして、未知であった環境の現在状態（搬送装置上の物品に係る状態）とそれに対する行動（ロボットによる搬送装置上の物品の収納動作の稼働開始条件）との相関性が徐々に明らかになる。つまり行動価値テーブルの更新により、搬送装置上の物品に係る状態と、ロボットによる搬送装置上の物品の収納動作の稼働開始条件との関係が最適解に徐々に近づけられる。
【００３６】
図４を参照して、学習部２６が実行する上記したＱ学習のフロー（つまり機械学習方法の一形態）をさらに説明する。まずステップＳＡ０１で、価値関数更新部３０は、その時点での行動価値テーブルを参照しながら、状態観測部２２が観測した状態変数Ｓが示す現在状態で行う行動としてロボットによる搬送装置上の物品の稼働開始条件を無作為に選択する。次に価値関数更新部３０は、ステップＳＡ０２で、状態観測部２２が観測している現在状態の状態変数Ｓを取り込み、ステップＳＡ０３で、判定データ取得部２４が取得している現在状態の判定データＤを取り込む。次に価値関数更新部３０は、ステップＳＡ０４で、判定データＤに基づき、ロボットの搬送装置上の物品の収納動作の稼働開始条件が適当であったか否かを判断し、適当であった場合、ステップＳＡ０５で、報酬計算部２８が求めた正の報酬Ｒを関数Ｑの更新式に適用し、次いでステップＳＡ０６で、現在状態における状態変数Ｓ及び判定データＤと報酬Ｒと行動価値の値（更新後の関数Ｑ）とを用いて行動価値テーブルを更新する。ステップＳＡ０４で、ロボットによる搬送装置上の物品の収納動作の稼働開始条件が適当でなかったと判断した場合、ステップＳＡ０７で、報酬計算部２８が求めた負の報酬Ｒを関数Ｑの更新式に適用し、次いでステップＳＡ０６で、現在状態における状態変数Ｓ及び判定データＤと報酬Ｒと行動価値の値（更新後の関数Ｑ）とを用いて行動価値テーブルを更新する。学習部２６は、ステップＳＡ０１〜ＳＡ０７を繰り返すことで行動価値テーブルを反復して更新し、ロボットによる搬送装置上の物品の収納動作の稼働開始条件の学習を進行させる。
【００３７】
前述した強化学習を進める際に、例えばＱ学習の代わりに、ニューラルネットワークを用いることができる。図５Ａは、ニューロンのモデルを模式的に示す。図５Ｂは、図５Ａに示すニューロンを組み合わせて構成した三層のニューラルネットワークのモデルを模式的に示す。ニューラルネットワークは、例えば、ニューロンのモデルを模した演算装置や記憶装置等によって構成できる。
【００３８】
図５Ａに示すニューロンは、複数の入力ｘ（ここでは一例として、入力ｘ1〜入力ｘ3）に対する結果ｙを出力するものである。各入力ｘ1〜ｘ3には、この入力ｘに対応する重みｗ（ｗ1〜ｗ3）が掛けられる。これにより、ニューロンは、次の数２式により表現される出力ｙを出力する。なお、数２式において、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。また、θはバイアスであり、ｆkは活性化関数である。
【００３９】
【数２】
2018171684.tif 000004
【００４０】
図５Ｂに示す三層のニューラルネットワークは、左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。図示の例では、入力ｘ１、ｘ２、ｘ３のそれぞれに対応の重み（総称してｗ１で表す)が乗算されて、個々の入力ｘ１、ｘ２、ｘ３がいずれも３つのニューロンＮ１１、Ｎ１２、Ｎ１３に入力されている。
【００４１】
図５Ｂでは、ニューロンＮ１１〜Ｎ１３の各々の出力を、総称してｚ１で表す。ｚ１は、入カベクトルの特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ１のそれぞれに対応の重み（総称してｗ２で表す）が乗算されて、個々の特徴ベクトルｚ１がいずれも２つのニューロンＮ２１、Ｎ２２に入力されている。特徴ベクトルｚ１は、重みｗ１と重みｗ２との間の特徴を表す。
【００４２】
図５Ｂでは、ニューロンＮ２１〜Ｎ２２の各々の出力を、総称してｚ２で表す。ｚ２は、特徴ベクトルｚ１の特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ２のそれぞれに対応の重み（総称してｗ３で表す）が乗算されて、個々の特徴ベクトルｚ２がいずれも３つのニューロンＮ３１、Ｎ３２、Ｎ３３に入力されている。特徴ベクトルｚ２は、重みｗ２と重みｗ３との間の特徴を表す。最後にニューロンＮ３１〜Ｎ３３は、それぞれ結果ｙ１〜ｙ３を出力する。
【００４３】
制御装置１０が備える機械学習装置２０においては、状態変数Ｓと判定データＤとを入力ｘとして、学習部２６が上記したニューラルネットワークに従う多層構造の演算を行うことで、ロボットによる搬送装置上の物品の収納動作の稼働開始条件（結果ｙ）を出力することができる。なおニューラルネットワークの動作モードには、学習モードと価値予測モードとがあり、例えば学習モードで学習データセットを用いて重みＷを学習し、学習した重みＷを用いて価値予測モードで行動の価値判断を行うことができる。なお価値予測モードでは、検出、分類、推論等を行うこともできる。
【００４４】
上記した制御装置１０の構成は、コンピュータのＣＰＵが実行する機械学習方法（或いはソフトウェア）として記述できる。この機械学習方法は、ロボットによる搬送装置上の物品の収納動作の稼働開始条件を学習する機械学習方法であって、コンピュータのＣＰＵが、ロボットによる搬送装置上の物品の収納動作の稼働開始条件を示す稼働開始条件データＳ１、及び搬送装置上の物品に係る状態を示す搬送状態データＳ２を、ロボットによる搬送装置上の物品の収納動作が行われる環境の現在状態を表す状態変数Ｓとして観測するステップと、ロボットによる搬送装置上の物品の収納動作の状態の適否判定結果を示す判定データＤを取得するステップと、状態変数Ｓと判定データＤとを用いて、ロボットによる搬送装置上の物品の収納動作の稼働開始条件と搬送状態データＳ２とを関連付けて学習するステップとを有する。
【００４５】
図６は、第２の実施形態による制御装置４０を示す。制御装置４０は、機械学習装置５０と、状態観測部２２が観測する状態変数Ｓの稼働開始条件データＳ１及び搬送状態データＳ２を状態データＳ０として取得する状態データ取得部４２とを備える。状態データ取得部４２が取得する状態データＳ０は、種別情報Ｓ３を含むこともできる。状態データ取得部４２は、機械に付設される前述した第１の測定装置や、作業者による適宜のデータ入力から、状態データＳ０を取得することができる。
【００４６】
制御装置４０が有する機械学習装置５０は、ロボットによる搬送装置上の物品の収納動作の稼働開始条件を機械学習により自ら学習するためのソフトウェア（学習アルゴリズム等）及びハードウェア（コンピュータのＣＰＵ等）に加えて、学習したロボットによる搬送装置上の物品の収納動作の稼働開始条件をロボット（図示せず）への指令として出力するためのソフトウェア（演算アルゴリズム等）及びハードウェア（コンピュータのＣＰＵ等）を含むものである。制御装置４０が含む機械学習装置５０は、１つの共通のＣＰＵが、学習アルゴリズム、演算アルゴリズム等の全てのソフトウェアを実行する構成を有することもできる。
【００４７】
意思決定部５２は、例えばコンピュータのＣＰＵの一機能として構成できる。或いは意思決定部５２は、例えばコンピュータのＣＰＵを機能させるためのソフトウェアとして構成できる。意思決定部５２は、学習部２６が学習したロボットによる搬送装置上の物品の収納動作の稼働開始条件に基づいて収納動作を行うロボットへの指令値Ｃを生成し、生成した指令値Ｃとして出力する。意思決定部５２がロボットによる搬送装置上の物品の収納動作の稼働開始条件に基づく指令値Ｃをロボットに対して出力した場合、これに応じて、環境の状態（稼働開始条件データＳ１）が変化する。
【００４８】
状態観測部２２は、意思決定部５２による環境へのロボットによる搬送装置上の物品の収納動作の稼働開始条件の表示、または出力後に変化した稼働開始条件データＳ１を含む状態変数Ｓを次の学習サイクルにおいて観測する。学習部２６は、変化した状態変数Ｓを用いて、例えば価値関数Ｑ（すなわち行動価値テーブル）を更新することで、ロボットによる搬送装置上の物品の収納動作の稼働開始条件を学習する。意思決定部５２は、学習したロボットによる搬送装置上の物品の収納動作の稼働開始条件の下で状態変数Ｓに応じてロボットによる搬送装置上の物品の収納動作の稼働開始条件に基づく指令値Ｃをロボットへと出力する。このサイクルを繰り返すことにより、機械学習装置５０はロボットによる搬送装置上の物品の収納動作の稼働開始条件の学習を進め、自身が決定するロボットによる搬送装置上の物品の収納動作の稼働開始条件の信頼性を徐々に向上させる。
【００４９】
上記構成を有する制御装置４０が備える機械学習装置５０は、前述した機械学習装置２０と同等の効果を奏する。特に機械学習装置５０は、意思決定部５２の出力によって環境の状態を変化させることができる。他方、機械学習装置２０では、学習部２６の学習結果を環境に反映させるための意思決定部に相当する機能を、外部装置（例えばロボットの制御装置）に求めることができる。
【００５０】
図７は、ロボット６０を備えた一実施形態による物品搬送システム７０を示す。物品搬送システム７０は、同一の機械構成を有する複数のロボット６０、６０’と、それらロボット６０、６０’を互いに接続するネットワーク７２とを備え、複数のロボット６０、６０’のうち少なくとも１つが、上記した制御装置４０を備えるロボット６０として構成される。また物品搬送システム７０は、制御装置４０を備えないロボット６０’を含むことができる。ロボット６０、６０’は、搬送装置上の物品を収納するために必要とされる一般的な構成を有する。
【００５１】
上記構成を有する物品搬送システム７０は、複数のロボット６０、６０’のうちで制御装置４０を備えるロボット６０が、学習部２６の学習結果を用いて、搬送装置上の物品に係る状態に応じたロボットによる搬送装置上の物品の収納動作の稼働開始条件を、演算や目算によらずに自動的に、しかも正確に求めることができる。また、少なくとも１つのロボット６０の制御装置４０が、他の複数のロボット６０、６０’のそれぞれについて得られた状態変数Ｓ及び判定データＤに基づき、全てのロボット６０、６０’に共通するロボットによる搬送装置上の物品の収納動作の稼働開始条件を学習し、その学習結果を全てのロボット６０、６０’が共有するように構成できる。したがって物品搬送システム７０によれば、より多様なデータ集合（状態変数Ｓ及び判定データＤを含む）を入力として、ロボットによる搬送装置上の物品の収納動作の稼働開始条件の学習の速度や信頼性を向上させることができる。
【００５２】
図８は、ロボット６０’を備えた他の実施形態による物品搬送システム７０’を示す。物品搬送システム７０’は、機械学習装置５０（又は２０）と、同一の機械構成を有する複数のロボット６０’と、それらロボット６０’と機械学習装置５０（又は２０）とを互いに接続するネットワーク７２とを備える。
【００５３】
上記構成を有する物品搬送システム７０’は、機械学習装置５０（又は２０）が、複数のロボット６０’のそれぞれについて得られた状態変数Ｓ及び判定データＤに基づき、全てのロボット６０’に共通するロボットによる搬送装置上の物品の収納動作の稼働開始条件を学習し、その学習結果を用いて、搬送装置上の物品の状態に応じたロボットによる搬送装置上の物品の収納動作の稼働開始条件を、演算や目算によらずに自動的に、しかも正確に求めることができる。
【００５４】
物品搬送システム７０’は、機械学習装置５０（又は２０）が、ネットワーク７２に用意されたクラウドサーバやセルコントローラ等に存在する構成を有することができる。この構成によれば、複数のロボット６０’のそれぞれが存在する場所や時期に関わらず、必要なときに必要な数のロボット６０’を機械学習装置５０（又は２０）に接続することができる。
【００５５】
物品搬送システム７０、７０’に従事する作業者は、機械学習装置５０（又は２０）に
よる学習開始後の適当な時期に、機械学習装置５０（又は２０）によるロボットによる搬送装置上の物品の収納動作の稼働開始条件の学習の到達度（すなわちロボットによる搬送装置上の物品の収納動作の稼働開始条件の信頼性）が要求レベルに達したか否かの判断を実行することができる。
【００５６】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００５７】
例えば、機械学習装置２０，５０が実行する学習アルゴリズム、機械学習装置５０が実行する演算アルゴリズム、制御装置１０、４０が実行する制御アルゴリズム等は、上述したものに限定されず、様々なアルゴリズムを採用できる。
【００５８】
また、上記した実施形態では制御装置１０，４０の上で機械学習装置２０，５０がオンラインで機械学習する例を示しているが、制御装置１０，４０によるロボットの制御時に状態データＳや判定データＤをログデータとして記録しておき、記録したログデータを収集して、収集したログデータから取得した状態データＳや判定データＤに基づいて機械学習装置２０，５０が機械学習するようにしても良い。
【符号の説明】
【００５９】
１０，４０  制御装置
２０，５０  機械学習装置
２２  状態観測部
２４  判定データ取得部
２６  学習部
２８  報酬計算部
３０  価値関数更新部
４２  状態データ取得部
５２  意思決定部
６０，６０’  ロボット
７０，７０’  物品搬送システム
７２  ネットワーク
【図１】
2018171684.tif 000005
【図２】
2018171684.tif 000006
【図３】
2018171684.tif 000007
【図４】
2018171684.tif 000008
【図５Ａ】
2018171684.tif 000009
【図５Ｂ】
2018171684.tif 000010
【図６】
2018171684.tif 000011
【図７】
2018171684.tif 000012
【図８】
2018171684.tif 000013
【図９】
2018171684.tif 000014