(57)【要約】【課題】搬送物に不都合が起きない範囲でより高速に搬送物を搬送できるように搬送機を制御する制御する制御装置及び機械学習装置を提供すること。【解決手段】本発明の制御装置１が備える機械学習装置１００は、搬送機の搬送動作の状態を示す搬送動作データ、及び搬送物の状態を示す搬送物状態データを、環境の現在状態を表す状態変数として観測する状態観測部１０６と、搬送物の搬送速度の適否判定結果を示す搬送速度判定データ、及び搬送物の状態変化の適否判定結果を示す搬送物状態判定データを判定データとして取得する判定データ取得部１０８と、状態変数と判定データとを用いて、前記搬送動作データと、前記搬送物状態データとを関連付けて学習する学習部１１０とを備える。【選択図】図２
2019034836.tif 000002
【特許請求の範囲】
【請求項１】
搬送物を搬送する搬送機を制御する制御装置において、
前記搬送物の状態に対する前記搬送機の搬送動作の制御を学習する機械学習装置を備え、
前記機械学習装置は、
前記搬送機の搬送動作の状態を示す搬送動作データ、及び前記搬送物の状態を示す搬送物状態データを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記搬送物の搬送速度の適否判定結果を示す搬送速度判定データ、及び搬送物の状態変化の適否判定結果を示す搬送物状態判定データを、判定データとして取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、前記搬送動作データと、前記搬送物状態データとを関連付けて学習する学習部と、
を備える制御装置。
【請求項２】
前記搬送動作データは、更に前記搬送物の姿勢変更の状態を含む、
請求項１に記載の制御装置。
【請求項３】
前記状態観測部は、更に前記搬送機又は前記搬送物の位置を示す搬送位置データを状態変数として観測する、
請求項１又は２に記載の制御装置。
【請求項４】
前記状態観測部は、更に前記搬送物の性質を示す搬送物性質データを状態変数として観測する、
請求項１〜３のいずれか１つに記載の制御装置。
【請求項５】
前記学習部は、
前記適否判定結果に関連する報酬を求める報酬計算部と、
前記報酬を用いて、前記搬送物の状態に対する前記搬送機の搬送動作の価値を表す関数を更新する価値関数更新部とを備える、
請求項１又は２に記載の制御装置。
【請求項６】
前記学習部は、前記状態変数と前記判定データとを多層構造で演算する、
請求項１〜５のいずれか１つに記載の制御装置。
【請求項７】
前記学習部による学習結果に基づいて、前記搬送機の搬送動作の制御を決定する指令値を出力する意思決定部を更に備える、
請求項１〜６のいずれか１つに記載の制御装置。
【請求項８】
前記学習部は、複数の前記制御装置のそれぞれについて得られた前記状態変数及び前記判定データを用いて、該複数の制御装置のそれぞれにおける前記搬送機の搬送動作の制御を学習する、
請求項１〜７のいずれか１つに記載の制御装置。
【請求項９】
前記機械学習装置は、クラウドサーバに存在する、
請求項１〜８のいずれか１つに記載の制御装置。
【請求項１０】
搬送物を搬送する搬送機による搬送動作における、前記搬送物の状態に対する前記搬送機の搬送動作の制御を学習する機械学習装置であって、
前記搬送機の搬送動作の状態を示す搬送動作データ、及び前記搬送物の状態を示す搬送物状態データを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記搬送物の搬送速度の適否判定結果を示す搬送速度判定データ、及び搬送物の状態変化の適否判定結果を示す搬送物状態判定データを、判定データとして取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、前記搬送動作データと、前記搬送物状態データとを関連付けて学習する学習部と、
を備える機械学習装置。
【請求項１１】
搬送物を搬送する搬送機による搬送動作における前記搬送物の状態に対する前記搬送機の搬送動作を制御行動の選択の価値を出力するように、コンピュータを機能させるための学習済みモデルであって、
前記搬送機の搬送動作の状態を示す搬送動作データ、及び前記搬送物の状態を示す搬送物状態データに基づいて定義される環境の状態に対して、当該環境の状態において選択し得る前記搬送機の搬送動作の制御行動の選択の価値を出力する価値関数を含み、
前記価値関数は、所定の環境の状態において所定の前記搬送機の搬送動作の制御行動を実行したことによる前記搬送物の搬送速度の適否判定結果、及び前記搬送物の状態変化の適否判定結果に基づいて、前記所定の環境の状態における前記所定の制御行動の選択の価値を学習したものであり、
前記価値関数を用いて、環境の状態と前記搬送機の搬送動作の制御行動を入力として演算を行い、演算結果に基づいて当該環境の状態に対する前記搬送機の搬送動作の制御行動の価値を出力するように、コンピュータを機能させる学習済みモデル。
【請求項１２】
前記価値関数は、多層構造のニューラルネットにより実装される、
請求項１１に記載の学習済みモデル。
【請求項１３】
搬送物を搬送する搬送機による搬送動作における前記搬送物の状態に対する前記搬送機の搬送動作を制御行動の選択の価値を出力するように、コンピュータを機能させるための蒸留モデルであって、
他の学習済みモデルに入力される前記搬送機の搬送動作の状態を示す搬送動作データ、及び前記搬送物の状態を示す搬送物状態データに基づいて定義される環境の状態に対して、当該学習済みモデルから出力される当該環境の状態において選択し得る前記搬送機の搬送動作の制御行動の選択の価値を学習した価値関数を含み、
前記価値関数を用いて、環境の状態と前記搬送機の搬送動作の制御行動を入力として演算を行い、演算結果に基づいて当該環境の状態に対する前記搬送機の搬送動作の制御行動の価値を出力するように、コンピュータを機能させる蒸留モデル。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、搬送機の制御装置及び機械学習装置に関し、特に搬送物の落下や衝撃、こぼれ、形状崩れ、位置ずれが起きない範囲でより高速に搬送物を搬送できるように搬送機を制御する制御装置及び機械学習装置に関する。
【背景技術】
【０００２】
従来、コンベアや自動搬送車などの搬送機を用いて物品を搬送する事が行なわれている。例えば、特許文献１，２には、コンベアで物品を搬送する搬送機が開示されている。また、特許文献３〜５には、液体を充填した容器を搬送する搬送機が開示されている。更に、特許文献６には、工場内での荷物を搬送する自動搬送車が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−０６５８７７号公報
【特許文献２】特開平１０−１９４４５６号公報
【特許文献３】特開平０７−０６１４２２号公報
【特許文献４】登録実用新案第２５９４２７５号
【特許文献５】特開２０１６−０６９０５０号公報
【特許文献６】特開平０９−１５６４９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般に、搬送物を高速に搬送しようとすると、加減速時に搬送物に強い衝撃が加わったり、搬送物が液体を入れた容器で有る場合には液体がこぼれたり、搬送物が脆い物体の場合には該搬送物の形状が崩れたり、搬送物が積み上げた物である場合には搬送物が崩れたり、搬送物が載置位置からずれたりする。その為、従来の搬送機では、搬送物に上記したような不都合が起きないように、適切な搬送速度を設定して搬送物を搬送していた。
【０００５】
一方で、搬送物の搬送状態によっては、搬送速度を適切に加速／減速して調整することで、より高速に搬送物を搬送できる場合もある。例えば、搬送物の搬送機上の載置状態や現在の位置、搬送機により搬送物が坂を上るような状態にあるような場合には、より高い速度へと加速しても搬送物の状態に不都合が生じない場合も有る。しかしながら、従来技術では、このように搬送物の状態を考慮した動的な速度調整を行なっていなかったため、充分な搬送速度の高速化ができないという課題がある。
【０００６】
そこで本発明の目的は、搬送物に不都合が起きない範囲でより高速に搬送物を搬送できるように搬送機を制御する制御する制御装置及び機械学習装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明の制御装置は、搬送機が搬送している搬送物の状態に対する、搬送機の搬送動作の制御を機械学習し、機械学習した結果に基づいて、搬送物に不都合が生じない範囲でより高速に搬送物を搬送するように搬送機の搬送動作を制御することで、上記課題を解決する。
【０００８】
そして、本発明の一態様は、搬送物を搬送する搬送機を制御する制御装置において、前記搬送物の状態に対する前記搬送機の搬送動作の制御を学習する機械学習装置を備え、前記機械学習装置は、前記搬送機の搬送動作の状態を示す搬送動作データ、及び前記搬送物の状態を示す搬送物状態データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記搬送物の搬送速度の適否判定結果を示す搬送速度判定データ、及び搬送物の状態変化の適否判定結果を示す搬送物状態判定データを、判定データとして取得する判定データ取得部と、前記状態変数と前記判定データとを用いて、前記搬送動作データと、前記搬送物状態データとを関連付けて学習する学習部と、を備える制御装置である。
【０００９】
本発明の他の態様は、搬送物を搬送する搬送機による搬送動作における、前記搬送物の状態に対する前記搬送機の搬送動作の制御を学習する機械学習装置であって、前記搬送機の搬送動作の状態を示す搬送動作データ、及び前記搬送物の状態を示す搬送物状態データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記搬送物の搬送速度の適否判定結果を示す搬送速度判定データ、及び搬送物の状態変化の適否判定結果を示す搬送物状態判定データを、判定データとして取得する判定データ取得部と、前記状態変数と前記判定データとを用いて、前記搬送動作データと、前記搬送物状態データとを関連付けて学習する学習部と、を備える機械学習装置である。
【発明の効果】
【００１０】
本発明により、搬送物に不都合が起きない範囲でより高速に搬送物を搬送できるように搬送機の搬送動作を制御することができるようになる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態による搬送機の制御装置の概略的なハードウェア構成図である。
【図２】一実施形態による搬送機の制御装置の概略的な機能ブロック図である。
【図３】搬送機の搬送動作の状態の例を示す図である。
【図４】搬送機の制御装置の一形態を示す概略的な機能ブロック図である。
【図５】機械学習方法の一形態を示す概略的なフローチャートである。
【図６Ａ】ニューロンを説明する図である。
【図６Ｂ】ニューラルネットワークを説明する図である。
【図７】第２の実施形態による搬送機の制御装置の概略的な機能ブロック図である。
【図８】搬送機の制御装置を組み込んだシステムの一形態を示す概略的な機能ブロック図である。
【図９】搬送機の制御装置を組み込んだシステムの他の形態を示す概略的な機能ブロック図である。
【図１０】制御装置が制御する搬送機を例示する図である。
【図１１】制御装置が制御する搬送機を例示する図である。
【図１２】制御装置が制御する搬送機を例示する図である。
【図１３】制御装置が制御する搬送機を例示する図である。
【図１４】制御装置が制御する搬送機を例示する図である。
【図１５】制御装置が制御する搬送機を例示する図である。
【図１６】制御装置が制御する搬送機を例示する図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を図面と共に説明する。
図１は第１の実施形態による搬送機の制御装置の要部を示す概略的なハードウェア構成図である。搬送機の制御装置１は、例えば搬送物を搬送するコンベア（図示せず）や液体が充填された容器、パック等を搬送する機械（図示せず）、搬送物を所定の位置から他の位置へと運ぶ自動搬送車（図示せず）、ロボット（図示せず）などの搬送機を制御する制御装置として実装することができる。本実施形態による制御装置１が備えるＣＰＵ１１は、制御装置１を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステム・プログラムをバス２０を介して読み出し、該システム・プログラムに従って制御装置１全体を制御する。ＲＡＭ１３には一時的な計算データ、図示しない入力部を介してオペレータが入力した各種データ等が一時的に格納される。
【００１３】
不揮発性メモリ１４は、例えば図示しないバッテリでバックアップされるなどして、搬送機の制御装置１の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ１４には、図示しない入力部を介してオペレータが入力した各種データ（例えば、搬送機７０の搬送動作の制御に用いられる設定値など）や、図示しないインタフェースを介して入力された制御用のプログラムなどが記憶されている。不揮発性メモリ１４に記憶されたプログラムや各種データは、実行時／利用時にはＲＡＭ１３に展開されても良い。また、ＲＯＭ１２には、搬送物の状態をセンサ６０が検出した検出値に基づいて解析する公知の解析プログラムや後述する機械学習装置１００とのやりとりを制御するためのシステム・プログラムなどを含むシステム・プログラムがあらかじめ書き込まれている。
【００１４】
センサ６０は、搬送機が搬送している搬送物の状態を検出する。センサ６０は、例えば液体である搬送物が容器からこぼれる状態であるかを検出する液面センサや光学センサであって良いし、搬送物の重心位置を検出する荷重センサであっても良く、また、搬送物の姿勢や落下状態を撮像するカメラなどの撮像手段であっても良い。また、センサ６０は、搬送機が搬送する搬送物の位置や、搬送機そのものの位置を検出するためのものであっても良い。センサ６０は、インタフェース１８を介して検出した検出値をＣＰＵ１１に渡す。
【００１５】
制御回路１９はＣＰＵ１１からの指令を受けて搬送機７０の搬送動作を制御する。制御回路１９は、例えば搬送機７０の搬送速度（搬送機７０が複数方向へと搬送物を搬送できる場合には搬送方向を含む速度）を制御できるようにしても良い。また、制御回路１９は、搬送機７０が搬送物の姿勢を制御できる場合には、搬送機７０が搬送する搬送物の姿勢を制御できるようにしても良い。
【００１６】
インタフェース２１は、制御装置１と機械学習装置１００とを接続するためのインタフェースである。機械学習装置１００は、機械学習装置１００全体を統御するプロセッサ１０１と、システム・プログラム等を記憶したＲＯＭ１０２、機械学習に係る各処理における一時的な記憶を行うためのＲＡＭ１０３、及び学習モデル等の記憶に用いられる不揮発性メモリ１０４を備える。機械学習装置１００は、インタフェース２１を介して制御装置１で取得可能な各情報（センサ６０により検出された搬送物の状態、搬送物の位置、搬送機の位置、搬送機７０の搬送動作のパラメータなど）を観測することができる。また、制御装置１は、機械学習装置１００から出力される、搬送機７０の搬送動作を制御する指令を受けて、搬送機７０の搬送動作を制御する。
【００１７】
図２は、第１の実施形態による搬送機の制御装置１と機械学習装置１００の概略的な機能ブロック図である。機械学習装置１００は、搬送機７０が搬送している搬送物の状態に対する、搬送機７０の搬送動作の制御を、いわゆる機械学習により自ら学習するためのソフトウェア（学習アルゴリズム等）及びハードウェア（プロセッサ１０１等）を含む。制御装置１が備える機械学習装置１００が学習するものは、搬送機７０が搬送している搬送物の状態と、搬送機７０の搬送動作との、相関性を表すモデル構造に相当する。
【００１８】
図２に機能ブロックで示すように、制御装置１が備える機械学習装置１００は、搬送機７０の搬送動作の状態を示す搬送動作データＳ１と、搬送物の状態を示す搬送物状態データＳ２を含む環境の現在状態を表す状態変数Ｓとして観測する状態観測部１０６と、機械学習装置１００から出力された指令に従って搬送機７０の搬送動作が制御された場合における該搬送動作による搬送物の搬送速度の適否判定結果を示す搬送速度判定データＤ１、該搬送動作による搬送物の状態変化の適否判定結果を示す搬送物状態判定データＤ２を含む判定データＤを取得する判定データ取得部１０８と、状態変数Ｓと判定データＤとを用いて、搬送機が搬送している搬送物の状態に、搬送動作データＳ１を関連付けて学習する学習部１１０とを備える。
【００１９】
状態観測部１０６は、例えばプロセッサ１０１の一機能として構成できる。或いは状態観測部１０６は、例えばプロセッサ１０１を機能させるためのＲＯＭ１０２に記憶されたソフトウェアとして構成できる。状態観測部１０６が観測する状態変数Ｓのうち、搬送動作データＳ１は、例えば搬送機７０の搬送動作の制御に用いられるパラメータのセットとして取得することができる。搬送機７０の搬送動作の制御に用いられるパラメータとしては、搬送機の搬送速度や加速度（搬送機７０が複数方向へと搬送物を搬送できる場合には搬送方向を含む速度や加速度）などが例示されるが、このような搬送機７０の搬送動作の制御に用いられるパラメータは、搬送機７０の種類（コンベア、ロボット、自動搬送車など）によって異なるため、それぞれの搬送機７０に応じて適切なパラメータが取得できるようにして良い。
【００２０】
搬送動作データＳ１は、学習の初期においては、例えば熟練した作業者により申告されて制御装置１に与えられた、搬送機７０の搬送動作の制御に係るパラメータを用いることができる。また、搬送動作データＳ１は、学習がある程度進んだ段階では、機械学習装置１００が学習部１１０の学習結果に基づいて１つ前の学習周期において決定した搬送機７０の搬送動作の制御に用いられるパラメータを利用することができ、このような場合においては、機械学習装置１００は決定した搬送機７０の搬送動作の制御に用いるパラメータを学習周期毎にＲＡＭ１０３に一時的に記憶しておき、状態観測部１０６は、ＲＡＭ１０３から１つ前の学習周期において機械学習装置１００が決定した搬送機７０の搬送動作の制御に用いるパラメータを取得するようにしても良い。
【００２１】
状態変数Ｓのうち、搬送物状態データＳ２は、例えばセンサ６０により検出された検出値を解析して得られた、搬送物の状態に係るデータを用いることができる。ここで、搬送物状態データＳ２としての搬送物の状態は、荷重センサにより検出された搬送物の重心位置のずれ（搬送台の中心位置からの搬送物の重心位置のずれ量など）、液面センサによる液体の搬送物のこぼれ状態（液面の最大高さが所定の高さを超えたか否かなど）、搬送物の姿勢（搬送台上の搬送物が理想の載置状態からどの程度変化したか、どの程度傾いているかなど）、搬送物の落下状態（搬送物の落下の有無、落下した搬送物の個数など）、搬送物に加えられた衝撃などを用いることができる。
【００２２】
判定データ取得部１０８は、例えばプロセッサ１０１の一機能として構成できる。或いは判定データ取得部１０８は、例えばプロセッサ１０１を機能させるためのＲＯＭ１０２に記憶されたソフトウェアとして構成できる。判定データ取得部１０８は、判定データＤとして、搬送機７０の搬送動作の制御が為された場合における該搬送動作による搬送物の搬送速度の適否判定値である搬送速度判定データＤ１を用いることができる。判定データ取得部１０８は、搬送物が予め定めた所定距離を移動するのに掛かる時間（サイクルタイム）や、予め定めた所定時間内における搬送物の搬送距離などを搬送速度判定データＤ１として用いることができる。搬送速度判定データＤ１は、状態変数Ｓの下で搬送機７０の搬送動作の制御を行った場合における搬送効率の結果を表す指標である。
【００２３】
また、判定データ取得部１０８は、判定データＤとして、搬送機７０の搬送動作の制御が為された場合における該搬送動作による搬送物の状態変化の適否判定結果を示す搬送物状態判定データＤ２を用いることができる。判定データ取得部１０８は、搬送動作の制御が為された前後に於ける搬送物状態データＳ２の変化に基づく良否判定の結果（例えば、搬送台の中心位置からの搬送物の重心位置のずれ量の増減、液面の最大高さの増減、搬送台上の搬送物が理想の載置状態からの変化量の増減、傾きの増減、落下物の増減など）を搬送物状態判定データＤ２として用いることができる。搬送物状態判定データＤ２は、状態変数Ｓの下で搬送機７０の搬送動作の制御を行った場合における搬送物の状態良否の表す指標である。
【００２４】
学習部１１０に対して同時に入力される状態変数Ｓは、学習部１１０による学習周期で考えた場合、判定データＤが取得された１学習周期前のデータに基づくものとなる。このように、制御装置１が備える機械学習装置１００が学習を進める間、環境においては、搬送物状態データＳ２の取得、搬送動作データＳ１に基づいた搬送機の搬送動作の制御の実行、判定データＤの取得が繰り返し実施される。
【００２５】
学習部１１０は、例えばプロセッサ１０１の一機能として構成できる。或いは学習部１１０は、例えばプロセッサ１０１を機能させるためのＲＯＭ１０２に記憶されたソフトウェアとして構成できる。学習部１１０は、機械学習と総称される任意の学習アルゴリズムに従い、搬送物の状態に対する、搬送動作データＳ１を学習する。学習部１１０は、前述した状態変数Ｓと判定データＤとを含むデータ集合に基づく学習を反復実行することができる。搬送物の状態に対する、搬送動作データＳ１の学習サイクルの反復中、状態変数Ｓのうち、搬送物状態データＳ２は、上記したように１学習周期前にセンサ６０により検出された検出値の解析結果から取得し、搬送動作データＳ１は、前回までの学習結果に基づいて決定された搬送機７０の搬送動作とし、また判定データＤは、搬送動作データＳ１に基づいて搬送機７０の搬送動作が設定された後に実行された今回の学習周期における搬送速度、搬送物の状態の適否判定結果とする。
【００２６】
このような学習サイクルを繰り返すことにより、学習部１１０は、搬送物の状態（搬送物状態データＳ２）と該状態に対する搬送機７０の搬送動作との相関性を暗示する特徴を自動的に識別することができる。学習アルゴリズムの開始時には搬送物状態データＳ２、と、搬送機７０の搬送動作との相関性は実質的に未知であるが、学習部１１０は、学習を進めるに従い徐々に特徴を識別して相関性を解釈する。搬送物状態データＳ２、と搬送機７０の搬送動作との相関性が、ある程度信頼できる水準まで解釈されると、学習部１１０が反復出力する学習結果は、現在状態（つまり搬送機が搬送している搬送物の状態）に対して、搬送機７０の搬送動作をどのように制御するべきかという行動の選択（つまり意思決定）を行うために使用できるものとなる。つまり学習部１１０は、学習アルゴリズムの進行に伴い、搬送機が搬送している搬送物の状態と、当該状態に対して搬送機７０の搬送動作の制御という行動との、相関性を最適解に徐々に近づけることができる。
【００２７】
上記したように、搬送機の制御装置１が備える機械学習装置１００は、状態観測部１０６が観測した状態変数Ｓと判定データ取得部１０８が取得した判定データＤとを用いて、学習部１１０が機械学習アルゴリズムに従い、搬送機７０の搬送動作の制御を学習するものである。状態変数Ｓは、搬送動作データＳ１、搬送物状態データＳ２という、計測乃至取得可能なデータで構成され、また判定データＤは、制御装置１がセンサ６０の検出した検出値を解析することで一義的に求められる。したがって、制御装置１が備える機械学習装置１００によれば、学習部１１０の学習結果を用いることで、搬送機が搬送している搬送物の状態に応じた、搬送機７０の搬送動作を、演算や目算によらずに自動的に、しかも正確に求めることができるようになる。
【００２８】
そして、搬送機７０の搬送動作を、演算や目算によらずに自動的に求めることができれば、搬送物の状態（搬送物状態データＳ２）を把握するだけで、搬送機７０の搬送動作の適切な値を迅速に決定することができる。したがって、搬送機７０の搬送動作の決定を効率よく行うことができる。
【００２９】
搬送機の制御装置１が備える機械学習装置１００の一変形例として、状態観測部１０６は、搬送動作データＳ１として、搬送機の搬送速度や加速度に加えて、搬送機による搬送物の姿勢変更に係る状態を用いるようにしても良い。搬送機の種類によっては、例えば図３に示すように、搬送物を載置した載置台を傾ける傾き制御手段を持つものもある。このような搬送機を対象としている場合には、搬送動作データＳ１に搬送物の姿勢変更に係る状態を追加して観測するようにしても良い。
【００３０】
上記変形例によれば、機械学習装置１００は、姿勢が制御できる搬送機７０に対して搬送機の搬送速度や加速度のみならず、搬送物の姿勢変更に係る状態も含めた学習を行うことができるので、より効率的な搬送機の搬送動作の制御を行うことができるようになる。
【００３１】
搬送機の制御装置１が備える機械学習装置１００の他の変形例として、状態観測部１０６は、状態変数Ｓとして、搬送動作データＳ１、搬送物状態データＳ２に加えて、搬送物乃至搬送機７０の位置を示す搬送位置データＳ３を観測するようにしても良い。搬送物乃至搬送機７０の位置は、各位置に設置された無線基地局やビーコンなどを用いた計測方法を用いても良いし、ＧＰＳなどの位置計測手段を用いても良い。また、搬送経路の各位置に設けられた固定カメラにより搬送物乃至搬送機７０の位置を特定するようにしても良い。また、搬送機７０がロボットである場合には、ロボットの各関節を駆動するサーボモータの位置（サーボモータの回転角度）に基づいて搬送物の位置を特定するようにしても良い。
【００３２】
搬送機７０による搬送物の搬送においては、搬送物乃至搬送機７０の位置に応じて何らかの外的内的要因により搬送状態が変化することがある。例えば、搬送機７０がコンベアなどの場合には、特定の位置で部品の摩耗による振動が発生したり、搬送機８０が自動搬送車両で有る場合には、移動中の特定の位置に凹凸やスロープがあることで振動が発生したり搬送物に特定の方向へ加速度が生じたりする。上記変形例によれば、機械学習装置１００は、搬送物乃至搬送機７０の位置に応じて適切に搬送機７０の搬送動作を制御することができるようになるので、上記したような外的内的要因による搬送状態の変化に対応することができるようになる。
【００３３】
搬送機の制御装置１が備える機械学習装置１００の他の変形例として、状態観測部１０６は、状態変数Ｓとして、更に搬送物の性質を示す搬送物性質データＳ４を観測するようにしても良い。搬送物の性質としては、たとえば搬送物の重さや大きさ、搬送物が液体で有る場合には搬送物の粘性などを用いることができる。
上記変形例によれば、機械学習装置１００は、搬送物の性質を考慮して搬送機７０の搬送動作の学習を行うことができる。
【００３４】
搬送機の制御装置１が備える機械学習装置１００の他の変形例として、学習部１１０は、同一の作業を行う複数の搬送機７０の制御装置１のそれぞれについて得られた状態変数Ｓ及び判定データＤを用いて、制御装置１における搬送機７０の搬送動作の制御を学習することができる。この構成によれば、一定時間で得られる状態変数Ｓと判定データＤとを含むデータ集合の量を増加できるので、より多様なデータ集合を入力として、搬送機７０の搬送動作の学習の速度や信頼性を向上させることができる。
【００３５】
上記構成を有する機械学習装置１００では、学習部１１０が実行する学習アルゴリズムは特に限定されず、機械学習として公知の学習アルゴリズムを採用できる。図４は、図１に示す制御装置１の一形態であって、学習アルゴリズムの一例として強化学習を実行する学習部１１０を備えた構成を示す。強化学習は、学習対象が存在する環境の現在状態（つまり入力）を観測するとともに現在状態で所定の行動（つまり出力）を実行し、その行動に対し何らかの報酬を与えるというサイクルを試行錯誤的に反復して、報酬の総計が最大化されるような方策（本願の機械学習装置では搬送機７０の搬送動作の決定）を最適解として学習する手法である。
【００３６】
図４に示す制御装置１が備える機械学習装置１００において、学習部１１０は、状態変数Ｓに基づいて搬送機７０の搬送動作が制御された場合における搬送速度、搬送物の状態の適否判定結果（状態変数Ｓが取得された次の学習周期で用いられる判定データＤに相当）に関連する報酬Ｒを求める報酬計算部１１２と、報酬Ｒを用いて、搬送機７０の搬送動作の価値を表す関数Ｑを更新する価値関数更新部１１４とを備える。学習部１１０は、価値関数更新部１１４が関数Ｑの更新を繰り返すことによって搬送機が搬送している搬送物の状態に対する搬送機７０の搬送動作の制御を学習する。
【００３７】
学習部１１０が実行する強化学習のアルゴリズムの一例を説明する。この例によるアルゴリズムは、Ｑ学習（Ｑ−ｌｅａｒｎｉｎｇ）として知られるものであって、行動主体の状態ｓと、その状態ｓで行動主体が選択し得る行動ａ（搬送動作における搬送速度（搬送方向を含んでいても良い）の増加／減少、加速度の増加／減少、搬送物の姿勢変更など）とを独立変数として、状態ｓで行動ａを選択した場合の行動の価値を表す関数Ｑ（ｓ，ａ）を学習する手法である。状態ｓで価値関数Ｑが最も高くなる行動ａを選択することが最適解となる。状態ｓと行動ａとの相関性が未知の状態でＱ学習を開始し、任意の状態ｓで種々の行動ａを選択する試行錯誤を繰り返すことで、価値関数Ｑを反復して更新し、最適解に近付ける。ここで、状態ｓで行動ａを選択した結果として環境（つまり状態ｓ）が変化したときに、その変化に応じた報酬（つまり行動ａの重み付け）ｒが得られるように構成し、より高い報酬ｒが得られる行動ａを選択するように学習を誘導することで、価値関数Ｑを比較的短時間で最適解に近付けることができる。
【００３８】
価値関数Ｑの更新式は、一般に下記の数１式のように表すことができる。数１式において、ｓt及びａtはそれぞれ時刻ｔにおける状態及び行動であり、行動ａtにより状態はｓt+1に変化する。ｒt+1は、状態がｓtからｓt+1に変化したことで得られる報酬である。ｍａｘＱの項は、時刻ｔ＋１で最大の価値Ｑになる（と時刻ｔで考えられている）行動ａを行ったときのＱを意味する。α及びγはそれぞれ学習係数及び割引率であり、０＜α≦１、０＜γ≦１で任意設定される。
【００３９】
【数１】
2019034836.tif 000003
【００４０】
学習部１１０がＱ学習を実行する場合、状態観測部１０６が観測した状態変数Ｓ及び判定データ取得部１０８が取得した判定データＤは、更新式の状態ｓに該当し、現在状態（つまり、搬送機が搬送している搬送物の状態）に対する搬送機７０の搬送動作をどのように決定するべきかという行動は、更新式の行動ａに該当し、報酬計算部１１２が求める報酬Ｒは、更新式の報酬ｒに該当する。よって価値関数更新部１１４は、現在状態に対する搬送機７０の搬送動作の価値を表す関数Ｑを、報酬Ｒを用いたＱ学習により繰り返し更新する。
【００４１】
報酬計算部１１２が求める報酬Ｒは、例えば、搬送機７０の搬送動作を決定した後に決定した搬送動作のパラメータに基づいて実際の搬送動作を行ったときに、搬送速度、搬送物の状態の適否判定結果が「適」と判定される場合（例えば、所定時間内における搬送物の搬送距離が許容できる範囲内の場合、搬送物の重心のズレが許容できる範囲内に収まる場合、搬送動作の制御後における搬送物の液面の高さの最大値が低くなった場合、搬送物の落下が起こらなかった場合等）に正（プラス）の報酬Ｒとし、搬送機７０の搬送動作を決定した後に決定した搬送動作のパラメータに基づいて実際の搬送動作を行ったときに、搬送速度、搬送物の状態の適否判定結果が「否」と判定される場合（例えば、所定時間内における搬送物の搬送距離が許容できる範囲よりも短い場合、搬送物の重心のズレが許容できる範囲外になる場合、搬送動作の制御後における搬送物の液面の高さの最大値が高くなった場合、搬送物がの落下が起きた場合等）に負（マイナス）の報酬Ｒとすることができる。正負の報酬Ｒの絶対値は、互いに同一であってもよいし異なっていてもよい。また、判定の条件として、判定データＤに含まれる複数の値を組み合わせて判定するようにしても良い。
【００４２】
また、搬送速度、搬送物の状態の適否判定結果を、「適」及び「否」の二通りだけでなく複数段階に設定することができる。例として、所定時間内における搬送物の搬送距離の許容範囲の最小値がＬminの場合、所定個数の部品が供給されるサイクルタイムＬが、０≦Ｔ＜Ｌmin／５のときは報酬Ｒ＝−５を与え、Ｌmin／５≦Ｌ＜Ｌmin／２のときは報酬Ｒ＝−２を与え、Ｌmin／２≦Ｌ≦Ｌminのときは報酬Ｒ＝−１を与えるような構成とすることができる。さらに、学習の初期段階はＬminを比較的小さく設定し、学習が進行するにつれてＬminを大きくする構成とすることもできる。
【００４３】
価値関数更新部１１４は、状態変数Ｓと判定データＤと報酬Ｒとを、関数Ｑで表される行動価値（例えば数値）と関連付けて整理した行動価値テーブルを持つことができる。この場合、価値関数更新部１１４が関数Ｑを更新するという行為は、価値関数更新部１１４が行動価値テーブルを更新するという行為と同義である。Ｑ学習の開始時には環境の現在状態と搬送機７０の搬送動作との相関性は未知であるから、行動価値テーブルにおいては、種々の状態変数Ｓと判定データＤと報酬Ｒとが、無作為に定めた行動価値の値（関数Ｑ）と関連付けた形態で用意されている。なお報酬計算部１１２は、判定データＤが分かればこれ対応する報酬Ｒを直ちに算出でき、算出した値Ｒが行動価値テーブルに書き込まれる。
【００４４】
搬送速度、搬送物の状態の適否判定結果に応じた報酬Ｒを用いてＱ学習を進めると、より高い報酬Ｒが得られる行動を選択する方向へ学習が誘導され、選択した行動を現在状態で実行した結果として変化する環境の状態（つまり状態変数Ｓ及び判定データＤ）に応じて、現在状態で行う行動についての行動価値の値（関数Ｑ）が書き換えられて行動価値テーブルが更新される。この更新を繰り返すことにより、行動価値テーブルに表示される行動価値の値（関数Ｑ）は、適正な行動ほど大きな値となるように書き換えられる。このようにして、未知であった環境の現在状態（搬送機が搬送している搬送物の状態）とそれに対する行動（搬送機７０の搬送動作の決定）との相関性が徐々に明らかになる。つまり行動価値テーブルの更新により、搬送機が搬送している搬送物の状態と、搬送機７０の搬送動作との関係が最適解に徐々に近づけられる。
【００４５】
図５を参照して、学習部１１０が実行する上記したＱ学習のフロー（つまり機械学習方法の一形態）をさらに説明する。まずステップＳＡ０１で、価値関数更新部１１４は、その時点での行動価値テーブルを参照しながら、状態観測部１０６が観測した状態変数Ｓが示す現在状態で行う行動として搬送機７０の搬送動作を無作為に選択する。次に価値関数更新部１１４は、ステップＳＡ０２で、状態観測部１０６が観測している現在状態の状態変数Ｓを取り込み、ステップＳＡ０３で、判定データ取得部１０８が取得している現在状態の判定データＤを取り込む。次に価値関数更新部１１４は、ステップＳＡ０４で、判定データＤに基づき、搬送機７０の搬送動作が適当であったか否かを判断し、適当であった場合、ステップＳＡ０５で、報酬計算部１１２が求めた正の報酬Ｒを関数Ｑの更新式に適用し、次いでステップＳＡ０６で、現在状態における状態変数Ｓ及び判定データＤと報酬Ｒと行動価値の値（更新後の関数Ｑ）とを用いて行動価値テーブルを更新する。ステップＳＡ０４で、搬送機７０の搬送動作が適当でなかったと判断した場合、ステップＳＡ０７で、報酬計算部１１２が求めた負の報酬Ｒを関数Ｑの更新式に適用し、次いでステップＳＡ０６で、現在状態における状態変数Ｓ及び判定データＤと報酬Ｒと行動価値の値（更新後の関数Ｑ）とを用いて行動価値テーブルを更新する。学習部１１０は、ステップＳＡ０１〜ＳＡ０７を繰り返すことで行動価値テーブルを反復して更新し、搬送機７０の搬送動作の学習を進行させる。なお、ステップＳＡ０４からステップＳＡ０７までの報酬Ｒを求める処理及び価値関数の更新処理は、判定データＤに含まれるそれぞれのデータについて実行される。
【００４６】
前述した強化学習を進める際に、例えばニューラルネットワークを応用することができる。図６Ａは、ニューロンのモデルを模式的に示す。図６Ｂは、図６Ａに示すニューロンを組み合わせて構成した三層のニューラルネットワークのモデルを模式的に示す。ニューラルネットワークは、例えば、ニューロンのモデルを模した演算装置や記憶装置等によって構成できる。
【００４７】
図６Ａに示すニューロンは、複数の入力ｘ（ここでは一例として、入力ｘ1〜入力ｘ3）に対する結果ｙを出力するものである。各入力ｘ1〜ｘ3には、この入力ｘに対応する重みｗ（ｗ1〜ｗ3）が掛けられる。これにより、ニューロンは、次の数２式により表現される出力ｙを出力する。なお、数２式において、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。また、θはバイアスであり、ｆkは活性化関数である。
【００４８】
【数２】
2019034836.tif 000004
【００４９】
図６Ｂに示す三層のニューラルネットワークは、左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。図示の例では、入力ｘ１、ｘ２、ｘ３のそれぞれに対応の重み（総称してｗ１で表す)が乗算されて、個々の入力ｘ１、ｘ２、ｘ３がいずれも３つのニューロンＮ１１、Ｎ１２、Ｎ１３に入力されている。
【００５０】
図６Ｂでは、ニューロンＮ１１〜Ｎ１３の各々の出力を、総称してｚ１で表す。ｚ１は、入カベクトルの特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ１のそれぞれに対応の重み（総称してｗ２で表す）が乗算されて、個々の特徴ベクトルｚ１がいずれも２つのニューロンＮ２１、Ｎ２２に入力されている。特徴ベクトルｚ１は、重みｗ１と重みｗ２との間の特徴を表す。
【００５１】
図６Ｂでは、ニューロンＮ２１〜Ｎ２２の各々の出力を、総称してｚ２で表す。ｚ２は、特徴ベクトルｚ１の特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ２のそれぞれに対応の重み（総称してｗ３で表す）が乗算されて、個々の特徴ベクトルｚ２がいずれも３つのニューロンＮ３１、Ｎ３２、Ｎ３３に入力されている。特徴ベクトルｚ２は、重みｗ２と重みｗ３との間の特徴を表す。最後にニューロンＮ３１〜Ｎ３３は、それぞれ結果ｙ１〜ｙ３を出力する。
なお、三層以上の層を為すニューラルネットワークを用いた、いわゆるディープラーニングの手法を用いることも可能である。
【００５２】
制御装置１が備える機械学習装置１００においては、ニューラルネットワークをＱ学習における価値関数として用い、状態変数Ｓと行動ａとを入力ｘとして、学習部１１０が上記したニューラルネットワークに従う多層構造の演算を行うことで、当該状態における当該行動の価値（結果ｙ）を出力することもできる。なお、ニューラルネットワークの動作モードには、学習モードと価値予測モードとがあり、例えば学習モードで学習データセットを用いて重みｗを学習し、学習した重みｗを用いて価値予測モードで行動の価値判断を行うことができる。なお価値予測モードでは、検出、分類、推論等を行うこともできる。
【００５３】
機械学習装置１００の学習部１１０において学習された価値関数は、学習済みモデルとして機械学習に係るソフトウェアの一部であるプログラムモジュールとして利用することが可能である。本発明の学習済みモデルは、ＣＰＵやＧＰＧＰＵ等のプロセッサとメモリを備えるコンピュータにて用いることができる。より具体的には、コンピュータのプロセッサが、メモリに記憶された学習済みモデルからの指令に従って、環境の状態と搬送機の搬送動作の制御行動を入力として演算を行い、演算結果に基づいて当該環境の状態に対する搬送機の搬送動作の制御行動の価値を出力するように動作する。本発明の学習済みモデルは、外部記憶媒体やネットワーク等を介して他のコンピュータに対して複製して利用することが可能で有る。
【００５４】
また、本発明の学習済みモデルを他のコンピュータに対して複製して新しい環境で利用する際に、当該環境で得られた新たな状態変数や判定データに基づいて当該学習済みモデルに対して更なる学習を行わせることもできる。このようにした場合、当該環境による学習済みモデルから派生した学習済みモデル（以下、派生モデルとする）を得ることが可能である。本発明の派生モデルは、所定の状態における行動の選択の価値を出力するという点では元の学習済みモデルと同じだが、元の学習済みモデルよりも新しい環境に適合した結果を出力するという点で異なる。この派生モデルもまた、外部記憶媒体やネットワーク等を介して他のコンピュータに対して複製して利用することが可能で有る。
【００５５】
更に、本発明の学習済みモデルを組み込んだ機械学習装置に対する入力（所定の状態における行動の選択）に対して得られる出力（価値）を用いて、他の機械学習装置において１から学習を行うことで得られる学習済みモデル（以下、蒸留モデルとする）を作成し、これを利用することも可能である（このような学習工程を蒸留と言う）。蒸留において、元の学習済みモデルを教師モデル、新たに作成する蒸留モデルを生徒モデルとも言う。一般に、蒸留モデルは元の学習済みモデルよりもサイズが小さく、それでいてと元の学習済みモデルと同等の正確度を出せるため、外部記憶媒体やネットワーク等を介した他のコンピュータに対する配布により適している。
【００５６】
上記した搬送機の制御装置１の構成は、プロセッサ１０１が実行する機械学習方法（或いはソフトウェア）として記述できる。この機械学習方法は、搬送機７０の搬送動作の制御を学習する機械学習方法であって、コンピュータのＣＰＵが、搬送動作データＳ１，搬送物状態データＳ２を、搬送機７０の搬送動作の制御を行う環境の現在状態を表す状態変数Ｓとして観測するステップと、決定された搬送機７０の搬送動作に基づく搬送機７０の制御の結果としての搬送速度、搬送物の状態の適否判定結果を示す判定データＤを取得するステップと、状態変数Ｓと判定データＤとを用いて、搬送物状態データＳ２と、搬送機７０の搬送動作とを関連付けて学習するステップとを有する。
【００５７】
図７は、第２の実施形態による搬送機の制御装置２を示す。第２の実施形態による搬送機の制御装置２は、第１の実施形態と同様のハードウェア構成を備える。制御装置２は、機械学習装置１２０と、状態観測部１０６が観測する状態変数Ｓの搬送動作データＳ１、搬送物状態データＳ２を状態データＳ０として取得する状態データ取得部３とを備える。状態データ取得部３は、制御装置２の各部、センサ６０により検出された検出値の解析結果、搬送機７０から取得された値、作業者による適宜のデータ入力等から、状態データＳ０を取得することができる。
【００５８】
制御装置２が有する機械学習装置１２０は、搬送機７０の搬送動作を機械学習により自ら学習するためのソフトウェア（学習アルゴリズム等）及びハードウェア（プロセッサ１０１等）に加えて、学習結果に基づいて求めた搬送機７０の搬送動作を制御装置２への指令として出力するためのソフトウェア（演算アルゴリズム等）及びハードウェア（プロセッサ１０１等）を含むものである。制御装置２が含む機械学習装置１２０は、１つの共通のプロセッサが、学習アルゴリズム、演算アルゴリズム等の全てのソフトウェアを実行する構成を有することもできる。
【００５９】
意思決定部１２２は、例えばプロセッサ１０１の一機能として構成できる。或いは意思決定部１２２は、例えばプロセッサ１０１を機能させるためのＲＯＭ１０２に記憶されたソフトウェアとして構成できる。意思決定部１２２は、学習部１１０が学習した結果に基づいて、搬送機が搬送している搬送物の状態に対する、搬送機７０の搬送動作を決定する指令を含む指令値Ｃを生成し、生成した指令値Ｃとして出力する。意思決定部１２２が指令値Ｃを搬送機の制御装置２に対して出力した場合、これに応じて、環境の状態が変化する。意思決定部１２２が出力する指令値Ｃには、例えば搬送機７０の搬送速度（必要に応じて搬送する方向を含む）を変更乃至指定する指令や、搬送機７０の加速度（必要に応じて加速する方向を含む）を変更乃至指定する指令を含んでいても良い。また、意思決定部１２２が出力する指令値Ｃには、例えば搬送機７０による搬送物の姿勢変更乃至指定に係る指令を含んでいても良い。
【００６０】
状態観測部１０６は、意思決定部１２２による環境への指令値Ｃを出力した後に変化した状態変数Ｓを次の学習周期において観測する。学習部１１０は、変化した状態変数Ｓを用いて、例えば価値関数Ｑ（すなわち行動価値テーブル）を更新することで、搬送機７０の搬送動作の制御を学習する。なお、その際に状態観測部１０６は、搬送動作データＳ１を状態データ取得部３が取得する状態データＳ０から取得するのではなく、第１の実施形態で説明したように機械学習装置１２０のＲＡＭ１０３から観測するようにしても良い。
【００６１】
意思決定部１２２は、学習結果に基づいて決定した搬送機７０の搬送動作の設定を指令する指令値Ｃを搬送機の制御装置２へと出力する。この学習周期を繰り返すことにより、機械学習装置１２０は搬送機７０の搬送動作の学習を進め、自身が決定する搬送機７０の搬送動作の信頼性を徐々に向上させる。
【００６２】
上記構成を有する搬送機の制御装置２が備える機械学習装置１２０は、前述した機械学習装置１００と同等の効果を奏する。特に機械学習装置１２０は、意思決定部１２２の出力によって環境の状態を変化させることができる。他方、機械学習装置１００では、学習部１１０の学習結果を環境に反映させるための意思決定部に相当する機能を、外部装置に求めることができる。
【００６３】
図８は、搬送機の制御装置１６０を備えた一実施形態によるシステム１７０を示す。システム１７０は、少なくとも同一の作業を行う複数の制御装置１６０、１６０’と、それら制御装置１６０、１６０’を互いに接続する有線／無線のネットワーク１７２とを備え、複数の制御装置１６０のうち少なくとも１つが、上記した機械学習装置１２０を備える制御装置１６０として構成される。またシステム１７０は、機械学習装置１２０を備えない制御装置１６０’を含むことができる。制御装置１６０、１６０’は、同じ目的の作業に必要とされる機構を有する。
【００６４】
上記構成を有するシステム１７０は、複数の搬送機の制御装置１６０、１６０’のうちで機械学習装置１２０を備える制御装置１６０が、学習部１１０の学習結果を用いて、搬送機が搬送している搬送物の状態に対する、搬送機７０の搬送動作の制御を、演算や目算によらずに自動的に、しかも正確に求めることができる。また、少なくとも１つの制御装置１６０の機械学習装置１２０が、他の複数の制御装置１６０、１６０’のそれぞれについて得られた状態変数Ｓ及び判定データＤに基づき、全ての制御装置１６０、１６０’に共通する搬送機７０の搬送動作の制御を学習し、その学習結果を全ての制御装置１６０、１６０’が共有するように構成できる。したがってシステム１７０によれば、より多様なデータ集合（状態変数Ｓ及び判定データＤを含む）を入力として、搬送機７０の搬送動作の制御の学習の速度や信頼性を向上させることができる。
【００６５】
図９は、搬送機の制御装置１６０’を備えた他の実施形態によるシステム１７０’を示す。システム１７０’は、機械学習装置１２０（又は１００）と、同一の機械構成を有する複数の制御装置１６０’と、それら制御装置１６０’と機械学習装置１２０（又は１００）とを互いに接続する有線／無線のネットワーク１７２とを備える。
【００６６】
上記構成を有するシステム１７０’は、機械学習装置１２０（又は１００）が、複数の制御装置１６０’のそれぞれについて得られた状態変数Ｓ及び判定データＤに基づき、全ての制御装置１６０’に共通する搬送機が搬送している搬送物の状態に対する搬送機７０の搬送動作の制御を学習し、その学習結果を用いて、搬送機が搬送している搬送物の状態に対する搬送機７０の搬送動作を、演算や目算によらずに自動的に、しかも正確に求めることができる。
【００６７】
システム１７０’は、機械学習装置１２０（又は１００）が、ネットワーク１７２に用意されたクラウドサーバ等に存在する構成を有することができる。この構成によれば、複数の制御装置１６０’のそれぞれが存在する場所や時期に関わらず、必要なときに必要な数の制御装置１６０’を機械学習装置１２０（又は１００）に接続することができる。
【００６８】
システム１７０、１７０’に従事する作業者は、機械学習装置１２０（又は１００）による学習開始後の適当な時期に、機械学習装置１２０（又は１００）による搬送機７０の搬送動作の制御の学習の到達度（すなわち搬送機７０の搬送動作の制御の信頼性）が要求レベルに達したか否かの判断を実行することができる。
【００６９】
本発明の搬送機の制御装置１（又は２，１６０）が制御する搬送機７０は、搬送物を搬送するために用いられるもので、搬送速度の制御可能であり、搬送物の状態を何らかセンサを用いて検出可能なものであれば良い。
例えば、図１０に示すように、搬送台に載置され、液体が充填された容器を搬送する搬送機（コンベア）であってもよい。このような搬送機７０において、搬送物の状態を検出するセンサ６０としては、例えば容器内に設置されたフロートスイッチなどの液面センサを用いることができる。機械学習装置１００（又は１２０）は、センサ６０により検出される液面の高さを搬送物の状態として検出し、液面の高さの最大値が予め定めた所定の許容値を超えた時にマイナスの報酬を与えるような学習を行うことで、搬送物が容器からこぼれるという不都合が起きない範囲で搬送におけるサイクルタイムを最大にするような搬送速度、加速度の制御を行うことができる。
【００７０】
また、図１１に示すように、複数の液体が充填された容器を搬送する搬送機に対しても同様に適用可能である。この場合、複数の容器のそれぞれに対して設置されたフロートスイッチなどの液面センサをセンサ６０として用いることができ、このような場合には、例えば各センサ６０から検出された各容器における液面の高さからそれぞれ搬送物の状態の適否判定結果算出し、これを積算して報酬を求めるようにしても良い。
【００７１】
図１２に示すように、吊り下げられた透明なパック等に充填された液体を搬送する搬送機への適用も考えられる。このような搬送機７０において、搬送物の状態を検出するセンサ６０として、例えばパックが通過する左右の位置に光学センサを設け、液体が光を遮るか否かで液面の高さを検出することができる。機械学習装置１００（又は１２０）は、センサ６０により検出される液面の高さを搬送物の状態として検出し、液面の高さの最大値が予め定めた所定の許容値を超えた時にマイナスの報酬を与えるような学習を行うことで、搬送物が容器からこぼれるという不都合が起きない範囲で搬送におけるサイクルタイムを最大にするような搬送速度、加速度の制御を行うことができる。
【００７２】
また、図１３に示すような自動搬送機に対して適用しても、本発明の制御装置は充分に効果を発揮する。このような搬送機７０においては、搬送機７０そのものに設置されたカメラや、搬送経路の各位置に設置された固定カメラなどをセンサ６０として利用できる。それぞれのカメラで、搬送物の積み上げられた状態を撮像し、撮像された画像を解析することで搬送物の載値状態（理想状態からのズレ）を取得して搬送物の状態を示すデータとして利用でき、搬送物の落下なども検出できるので、このような不都合が起きない範囲で搬送におけるサイクルタイムを最大にするような搬送速度、加速度の制御を行うことができる。更に、固定カメラにより搬送機７０の位置を検出することで、搬送位置データＳ３として観測し、これを学習に利用することも可能である。
【００７３】
本発明の制御装置は、図１４に示すような、ロボットによる搬送物の置き換えに際しても利用可能である。このような搬送機７０においては、搬送機７０そのものに設置されたカメラや、搬送機７０の近傍にもうけられた固定カメラなどをセンサ６０として利用し、ロボットハンドが把持するまたはアーム上に載置された搬送物を撮像し、撮像された画像を解析することで搬送物の載値状態（搬送物の姿勢や重心のズレなど）を取得して搬送物の状態を示すデータとして利用でき、搬送物の落下なども検出することができるので、このような不都合が起きない範囲で搬送におけるサイクルタイムを最大にするような搬送速度、加速度の制御を行うことができる。また、搬送機７０の搬送動作の制御の中で搬送物の姿勢変更なども指令できる。
【００７４】
本発明の制御装置が制御する搬送機は、図１５に示すような、荷重センサを備えた搬送台に載置された搬送物を搬送する搬送機（コンベア）であってもよい。また、本発明の制御装置が制御する搬送機は、図１６に示すような、荷重センサを備えた搬送台に載置された、収納容器に納められた複数の搬送物を搬送する搬送機（コンベア）であってもよい。得たこのような搬送機７０において、搬送物の状態を検出するセンサ６０としては、搬送台に設置された荷重センサが利用できる。機械学習装置１００（又は１２０）は、センサ６０により検出される力の掛かり具合から搬送物の載置位置のズレや重心のズレを搬送物の状態として検出し、ズレが大きい場合にはマイナスの報酬を与えるような学習を行うことで、搬送物が搬送台上でずれたり収納容器から落下したりするという不都合が起きない範囲で搬送におけるサイクルタイムを最大にするような搬送速度、加速度の制御を行うことができる。
【００７５】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００７６】
例えば、機械学習装置１００，１２０が実行する学習アルゴリズム、機械学習装置１２０が実行する演算アルゴリズム、搬送機の制御装置１、２が実行する制御アルゴリズム等は、上述したものに限定されず、様々なアルゴリズムを採用できる。
【００７７】
また、上記した実施形態では搬送機の制御装置１（又は２）と機械学習装置１００（又は１２０）が異なるＣＰＵを有する装置として説明しているが、機械学習装置１００（又は１２０）は搬送機の制御装置１（又は２）が備えるＣＰＵ１１と、ＲＯＭ１２に記憶されるシステム・プログラムにより実現するようにしても良い。
【符号の説明】
【００７８】
１，２  制御装置
３  状態データ取得部
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１８，２１  インタフェース
１９  制御回路
２０  バス
６０  センサ
７０  搬送機
１００  機械学習装置
１０１  プロセッサ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  不揮発性メモリ
１０６  状態観測部
１０８  判定データ取得部
１１０  学習部
１１２  報酬計算部
１１４  価値関数更新部
１２０  機械学習装置
１２２  意思決定部
１６０，１６０’  制御装置
１７０，１７０’  システム
１７２  ネットワーク
【図１】
2019034836.tif 000005
【図２】
2019034836.tif 000006
【図３】
2019034836.tif 000007
【図４】
2019034836.tif 000008
【図５】
2019034836.tif 000009
【図６Ａ】
2019034836.tif 000010
【図６Ｂ】
2019034836.tif 000011
【図７】
2019034836.tif 000012
【図８】
2019034836.tif 000013
【図９】
2019034836.tif 000014
【図１０】
2019034836.tif 000015
【図１１】
2019034836.tif 000016
【図１２】
2019034836.tif 000017
【図１３】
2019034836.tif 000018
【図１４】
2019034836.tif 000019
【図１５】
2019034836.tif 000020
【図１６】
2019034836.tif 000021