(57)【要約】【課題】搬送機を用いてロボットにより作業を行う際のパフォーマンスを向上させる。【解決手段】情報処理装置が、搬送機により搬送される複数の作業対象候補を含む領域を撮影した撮影画像に基づき、作業対象候補の位置と、作業対象候補を作業対象としたときに当該作業対象に対する作業のパフォーマンスを最大化する搬送機の制御パラメータである搬送機最適制御パラメータと、の組合せを複数求め、上記組合せに基づき、上記作業対象候補の中から作業対象を決定し、決定した作業対象の搬送機最適制御パラメータに基づき搬送機を制御し、決定した作業対象の位置と当該作業対象の搬送機最適制御パラメータとに基づき、ロボットの制御計画を生成し、生成した制御計画に従ってロボットを制御する。【選択図】図４
2019150911.tif 000002
【特許請求の範囲】
【請求項１】
搬送機により搬送される作業対象に対してロボットが作業を行うシステムであって、
プロセッサ及び記憶装置を有する情報処理装置を備え、
前記プロセッサが記憶装置に記憶されているプログラムを読み出して実行することにより実現される、
搬送機により搬送される複数の作業対象候補を含む領域を撮影した撮影画像に基づき、前記作業対象候補の位置と、前記作業対象候補を作業対象としたときに当該作業対象に対する作業のパフォーマンスを最大化する前記搬送機の制御パラメータである搬送機最適制御パラメータと、の組合せを複数求める認識処理部と、
前記組合せに基づき、前記作業対象候補の中から作業対象を決定する作業対象決定部と、
決定した前記作業対象の前記搬送機最適制御パラメータに基づき前記搬送機を制御する搬送機制御部と、
決定した前記作業対象の位置と当該作業対象の前記搬送機最適制御パラメータとに基づき、前記ロボットの制御計画を生成するロボット制御計画生成部と、
を備える、ロボット作業システム。
【請求項２】
請求項１に記載のロボット作業システムであって、
前記作業対象決定部は、前記組合せのうち前記パフォーマンスが最大となる前記作業対象候補を作業対象として決定する、
ロボット作業システム。
【請求項３】
請求項１に記載のロボット作業システムであって、
前記パフォーマンスは、前記搬送機の搬送速度、前記作業の成功率、及び前記搬送速度と前記成功率とを乗算した値、のうちの少なくともいずれかである、
ロボット作業システム。
【請求項４】
請求項１乃至３のいずれか一項に記載のロボット作業システムであって、
前記認識処理部は、複数の作業対象候補を含む領域を撮影することにより取得される撮影画像を入力とし、前記作業対象候補の位置と前記搬送機最適制御パラメータとの組合せを出力とした学習データを機械学習することにより生成される学習モデルによって実現される、
ロボット作業システム。
【請求項５】
請求項４に記載のロボット作業システムであって、
前記学習モデルは畳み込みニューラルネットワークを用いて構成され、
前記学習モデルの中間層は、前記撮影画像を入力として与えることにより、複数の前記作業対象候補の位置と前記作業対象候補の夫々の前記搬送機最適制御パラメータとを出力する、
ロボット作業システム。
【請求項６】
請求項１乃至３のいずれか一項に記載のロボット作業システムであって、
前記認識処理部は、複数の作業対象候補を含む領域を撮影することにより取得される撮影画像を入力とし、前記作業対象候補の位置と前記作業対象候補の前記搬送機最適制御パラメータと前記パフォーマンスとの組合せを出力とした学習データを機械学習することにより生成される学習モデルによって実現される、
ロボット作業システム。
【請求項７】
請求項６に記載のロボット作業システムであって、
前記学習モデルは畳み込みニューラルネットワークを用いて構成され、
前記学習モデルの中間層は、前記撮影画像を入力として与えることにより、複数の前記作業対象候補の位置と前記作業対象候補の夫々の前記搬送機最適制御パラメータと前記パフォーマンスとを出力する、
ロボット作業システム。
【請求項８】
請求項１乃至３のいずれか一項に記載のロボット作業システムであって、
前記認識処理部は、複数の作業対象候補を含む領域を撮影することにより取得される撮影画像を入力とし、前記作業対象候補の位置と、前記作業対象候補の前記搬送機最適制御パラメータと、前記パフォーマンスと前記パフォーマンスを最大化する前記ロボットの制御パラメータであるロボット最適制御パラメータとの組合せを出力とした学習データを機械学習することにより生成される学習モデルによって実現される、
ロボット作業システム。
【請求項９】
請求項８に記載のロボット作業システムであって、
前記学習モデルは畳み込みニューラルネットワークを用いて構成され、
前記学習モデルの中間層は、前記撮影画像を入力として与えることにより、複数の前記作業対象候補の位置と前記作業対象候補の夫々の前記搬送機最適制御パラメータと前記パフォーマンスと前記ロボット最適制御パラメータとを出力する、
ロボット作業システム。
【請求項１０】
請求項１乃至３のいずれか一項に記載のロボット作業システムであって、
前記認識処理部は、複数の作業対象候補を含む領域を撮影することにより取得される撮影画像を入力とし、前記作業対象候補の位置と、前記搬送機の制御パラメータを固定した場合における前記パフォーマンスとの組合せを出力とした学習データを機械学習することにより生成される学習モデルによって実現される、
ロボット作業システム。
【請求項１１】
請求項１乃至３のいずれか一項に記載のロボット作業システムであって、
前記認識処理部は、複数の前記作業対象候補を含む領域を撮影することにより取得される撮影画像を入力とし、前記作業対象候補の位置と、前記搬送機の制御パラメータを固定した場合における、前記作業対象候補の前記パフォーマンスと前記パフォーマンスを最大化する前記ロボットの制御パラメータであるロボット最適制御パラメータとの組合せを出力とした学習データを機械学習することにより生成される学習モデルによって実現される、
ロボット作業システム。
【請求項１２】
請求項１０に記載のロボット作業システムであって、
前記認識処理部は、前記搬送機の制御パラメータの離散値ごとに準備した複数の前記学習モデルによって実現される、
ロボット作業システム。
【請求項１３】
請求項１乃至３のいずれか一項に記載のロボット作業システムであって、
前記認識処理部は、複数の作業対象候補を含む領域を撮影することにより取得される撮影画像を入力とし、前記作業対象候補の位置と、前記パフォーマンスを最大化する前記ロボットの制御パラメータであるロボット最適制御パラメータを固定した場合における前記パフォーマンスとの組合せを出力とした学習データを学習することにより得られる機械学習の学習モデルによって実現される、ロボット作業システム。
【請求項１４】
請求項１３に記載のロボット作業システムであって、
前記認識処理部は、前記ロボットの制御パラメータの離散値ごとに準備した複数の前記学習モデルによって実現される、
ロボット作業システム。
【請求項１５】
搬送機により搬送される作業対象に対してロボットが作業を行うロボット作業システムの制御方法であって、
プロセッサ及び記憶装置を有する情報処理装置が、
搬送機により搬送される複数の作業対象候補を含む領域を撮影した撮影画像に基づき、前記作業対象候補の位置と、前記作業対象候補を作業対象としたときに当該作業対象に対する作業のパフォーマンスを最大化する前記搬送機の制御パラメータである搬送機最適制御パラメータと、の組合せを複数求めるステップと、
前記組合せに基づき、前記作業対象候補の中から作業対象を決定するステップと、
決定した前記作業対象の前記搬送機最適制御パラメータに基づき前記搬送機を制御するステップと、
決定した前記作業対象の位置と当該作業対象の前記搬送機最適制御パラメータとに基づき、前記ロボットの制御計画を生成するステップと、
を実行する、ロボット作業システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット作業システム、及びロボット作業システムの制御方法に関する。
【背景技術】
【０００２】
特許文献１には、「バラ積みされた状態を含む、乱雑に置かれた複数のワークからハンド部によってワークを取り出すロボットの動作を学習する機械学習装置を開示する。当該機械学習装置は、ワーク毎の三次元マップを取得する三次元計測器の出力データを含むロボットの状態量を観測する状態量観測部と、ハンド部によってワークを取り出すロボットの取り出し動作の結果を取得する動作結果取得部と、状態量観測部からの出力および動作結果取得部からの出力を受け取り、ワークの取り出し動作をロボットに指令する指令データを含む操作量を、ロボットの状態量および取り出し動作の結果に関連付けて学習する学習部と、を備える。」と記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−３０１３５号公報
【非特許文献１】H. Deng, Z. Xia and J. Xiong, “Robotic Manipulation Planning Using Dynamic RRT,” Proc. of The 2016 IEEE Int. Conf. on Real-time Computing and Robotics, pp. 500-504, 2016.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
自動車等の機械部品の組立て、電気部品の組立て、商品（食品、薬品、化粧品等）の分類や仕分け等、ロボットを用いて作業を自動化したシステムが様々な用途に幅広く活用されている。こうしたシステムにおいては、部品や商品等の物品をロボットによる作業が可能な場所まで搬送するために搬送ロボットやベルトコンベア等の搬送機が用いられることが多い。
【０００５】
しかし従来、こうしたシステムにおいては、ロボットによる作業が行われる際、ロボットが作業を行うために搬送機を一旦静止させる必要があり、その分、作業に時間を要してこれがシステム全体のパフォーマンスを低下させる要因となっている。
【０００６】
ここで上記の特許文献１では、機械学習により乱雑に置かれたワークを取り出すときのロボットの最適な動作を人間の介在無しに学習することが記載されている。しかしシステム全体のパフォーマンスを向上するために搬送機の動作を考慮することについては何も記載されていない。
【０００７】
本発明は、こうした観点に鑑みてなされたもので、搬送機を用いてロボットにより作業を行う際のパフォーマンスを向上させることが可能な、ロボット作業システム、及びロボット作業システムの制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するための本発明のうちの一つは、搬送機により搬送される作業対象に対してロボットが作業を行うシステムであって、プロセッサ及び記憶装置を有する情報処理装置を備え、前記プロセッサが記憶装置に記憶されているプログラムを読み出して実行することにより実現される、搬送機により搬送される複数の作業対象候補を含む領域を撮影した撮影画像に基づき、前記作業対象候補の位置と、前記作業対象候補を作業対象とし
たときに当該作業対象に対する作業のパフォーマンスを最大化する前記搬送機の制御パラメータである搬送機最適制御パラメータと、の組合せを複数求める認識処理部と、前記組合せに基づき、前記作業対象候補の中から作業対象を決定する作業対象決定部と、決定した前記作業対象の前記搬送機最適制御パラメータに基づき前記搬送機を制御する搬送機制御部と、決定した前記作業対象の位置と当該作業対象の前記搬送機最適制御パラメータとに基づき、前記ロボットの制御計画を生成するロボット制御計画生成部と、を備える。
【０００９】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄、及び図面により明らかにされる。
【発明の効果】
【００１０】
本発明によれば、搬送機を用いてロボットにより作業を行う際のパフォーマンスを向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】ロボット作業システム１の第１例の概略的な構成を示す図である。
【図２】ロボット作業システム１の第２例の概略的な構成を示す図である。
【図３】情報処理装置のハードウェア構成の一例である。
【図４】情報処理装置が備える主な機能及びデータを示す図である。
【図５】ロボット制御処理を説明するフローチャートである。
【図６】認識処理の第１の実現方法に用いる畳み込みニューラルネットワークを説明する図である。
【図７】撮影画像を格子に分割した場合における出力層の具体例を示す図である。
【図８】第１の実現方法における学習データの生成方法を説明するフローチャートである。
【図９】第１の実現方法における学習データの生成方法を説明する図である。
【図１０】学習データの生成を情報処理装置がシミュレーションにより自動的に行う場合を説明する図である。
【図１１】第１の実現方法における学習モデル生成処理を説明するフローチャートである。
【図１２】第１の実現方法における総合差分値算出処理を説明するフローチャートである。
【図１３】認識処理の第２の実現方法に用いる畳み込みニューラルネットワークを説明する図である。
【図１４】撮影画像を格子に分割した場合における出力層の具体例を示す図である。
【図１５】第２の実現方法における学習データの生成方法を説明するフローチャートである。
【図１６】第２の実現方法における個別学習モデル生成処理を説明するフローチャートである。
【図１７】第２の実現方法における総合差分値算出処理を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照しつつ実施形態について説明する。尚、以下の説明において、同一の又は類似する構成について共通の符号を付して重複した説明を省略することがある。
【００１３】
図１に実施形態として示すロボット作業システム１の第１例を示している。同図に示すように、ロボット作業システム１は、情報処理装置１０、マニピュレータ２０、搬送機３０、及び撮影装置４０を含む。情報処理装置１０は、マニピュレータ２０、搬送機３０、及び撮影装置４０と通信可能に接続し、これらの装置との間でのデータの送受信やこれら
の装置の制御を行う。
【００１４】
第１例のロボット作業システム１は、搬送機３０に載せられている箱２に収容されている複数の物品５を箱２の上方開口から１つずつ取り出して移動先６（作業台や他の箱、搬送コンベア等）に載置する作業を行う、いわゆるピッキングシステムである。ロボット作業システム１は、上記の作業を搬送機３０が搬送中の状態（動いている状態）で行うこともできる。
【００１５】
ロボット作業システム１は、箱２に収容されている複数の物品５（作業対象候補）の中からピッキング対象（作業対象）とする物品５を一つ決定し、決定した物品５に対して作業（ピッキング）を行う。作業は当該作業を効率よく行うために物品５の表面に設定された把持点位置をマニピュレータ２０が把持することにより行われる。
【００１６】
マニピュレータ２０は、例えば、ロボットアームや産業用ロボット等のロボットである。尚、図１にはマニピュレータ２０を一つしか描いていないが、ロボット作業システム１は、情報処理装置１０と通信可能に接続された複数のマニピュレータ２０を含んでいてもよい。
【００１７】
マニピュレータ２０は、例えば、多軸多関節型で構成されたアーム２１及びハンド２２を有する。マニピュレータ２０の各関節部２３の駆動軸は、情報処理装置１０による制御が可能な駆動機構（サーボモータ等）によって制御される。マニピュレータ２０は、例えば、アーム２１の先端とハンド２２との間に６軸の力覚センサを有する。力覚センサは、ハンド２２にかかる過負荷を検出する。マニピュレータ２０が、例えば、バラ積みされた物品５を箱２から取り出す場合、ハンド２２又はハンド２２に把持された物品５が箱２の壁面や他の物品５と干渉（衝突又は接触）することにより生じる過負荷を検出すると、情報処理装置１０は検出された過負荷を逃がすようにマニピュレータ２０の駆動軸を制御する。
【００１８】
力覚センサはハンド２２に作用する力を検出する。ハンド２２が物品５を把持した場合、ハンド２２に物品５の重さが作用する。例えば情報処理装置１０は、物品５のピッキングを実行した後、力覚センサの検出値が所定の閾値を超えていれば、ハンド２２が現在、物品５を把持していると判定する。ハンド２２が現在、物品５を把持しているか否かの判定を、情報処理装置１０が触覚センサ等の他の種類のセンサを用いて行うようにしてもよい。ハンド２２が現在、物品５を把持しているか否かの判定を、カメラにより撮影された画像に基づき情報処理装置１０が判定するようにしてもよい。またハンド２２が吸着式ハンドである場合、圧力計の計測結果から情報処理装置１０が物品５を把持しているか否かを判定するようにしてもよい。尚、ハンド２２は、物品５を把持可能であれば様々な形態のものを採用することができる。例えば、ハンド２２は、複数の指を開閉することによって物品５を把持するタイプのものでもよいし、物品５を吸引することにより把持するタイプのものでもよい。
【００１９】
搬送機３０は、例えば、自律搬送ロボット、ＡＩ（Artificial Intelligence） 搬送ロボット、自律走行ロボット等のいわゆる搬送ロボットである。搬送機３０は、例えば、撮影装置４０による撮影が可能な範囲（以下、撮影可能範囲と称する。）や、マニピュレータ２０による作業が可能な範囲（以下、作業可能範囲と称する。）まで箱２（物品５）を搬送する。搬送機３０は、自律的な制御によって能動的に、もしくは情報処理装置１０から送られてくる制御信号による制御により受動的に動作することができる。上記制御は、例えば、搬送機３０の移動速度、搬送機３０の移動方向、搬送機３０の移動ルート等の制御である。
【００２０】
情報処理装置１０は、搬送機３０の現在位置や移動速度、移動方向等の情報を、測距センサ（レーザ式測距センサ、超音波式測距センサ、ステレオカメラ等）、測位センサ（無線ＬＡＮ、ＧＰＳ（Global Positioning System）、無線信号の位相差を利用した位置検
知センサ、加速度センサ、ジャイロセンサ、磁気センサ、光センサ、ミリ波レーダ等を利用して、搬送機３０自身により直接的に、もしくは情報処理装置１０により間接的に、取得することができる。
【００２１】
撮影装置４０は、例えば、光学式カメラ、距離画像を取得可能な装置（タイムオブフライト（TOF: Time Of Flight）カメラ、ステレオカメラ等）等を用いて構成される。撮影
装置４０は、箱２及び箱２に収容されている複数の物品５を箱２の上方開口側から撮影した二次元もしくは深さ（奥行）の情報を含む三次元の画像（以下、撮影画像と称する。）を取得する。撮影装置４０は、搬送機３０が撮影可能範囲に存在するときに上記の撮影画像を取得し、取得した撮影画像を情報処理装置１０に送信する。
【００２２】
情報処理装置１０は、撮影画像について後述の認識処理を行い、認識処理の結果に基づき搬送機３０やマニピュレータ２０を制御する。認識処理の詳細については後述する。
【００２３】
図２はロボット作業システム１の第２例として示すネジ締め作業システムである。同図に示すように、ロボット作業システム１は、情報処理装置１０、マニピュレータ２０、搬送機３０、及び撮影装置４０を含む。第１例と同様、情報処理装置１０は、マニピュレータ２０、搬送機３０、及び撮影装置４０と通信可能に接続し、これらの装置との間でのデータの送受信やこれらの装置の制御を行う。
【００２４】
第２例の搬送機３０はベルトコンベアであり、物品５を作業可能範囲まで搬送する。搬送機３０は、情報処理装置１０から送られてくる制御信号によって受動的に制御（搬送速度等の制御）することができる。尚、第２例の搬送機３０についても第１例と同様に能動的な制御が可能な構成としてもよい。
【００２５】
第２例のロボット作業システム１は、搬送機３０に載せられて搬送されてくる物品５に設けられている複数のネジ孔（作業対象候補）の中から作業対象とするネジ孔を決定し、決定した作業対象に対してネジ締め作業を行う。ロボット作業システム１は、上記の作業を搬送機３０が物品５を搬送中の状態（動いている状態）で行うことができる。
【００２６】
第２例のマニピュレータ２０の基本的な構成は第１例と同様であるが、第２例のマニピュレータ２０の先端にはネジ回し工具２５が設けられている。第２例の撮影装置４０の構成は第１例と同様である。また第２例の情報処理装置１０の構成も第１例と基本的に同じであり、情報処理装置１０は撮影画像について後述する認識処理を行い、認識処理の結果に基づきマニピュレータ２０を制御する。
【００２７】
同図に示すように、第２例のロボット作業システム１は、情報処理装置１０によって個別に制御される複数（同図では２つ）のマニピュレータ２０を含む。情報処理装置１０は、例えば、撮影装置４０によって取得された一つの撮影画像に基づき認識処理を行い、情報処理装置１０は、上記認識処理の結果に基づき、マニピュレータ２０の夫々が異なる作業対象（ネジ孔）に対して作業を行うように各マニピュレータ２０を制御することができる。
【００２８】
尚、ロボット作業システム１は、例えば、搬送されてくる物品５に対して半田付けや組付け等の他の作業を行うシステムであってもよい。以下、とくに断らない限り、第１例のロボット作業システム１を例として説明する。
【００２９】
図３は情報処理装置１０のハードウェア構成の一例である。同図に示すように、情報処理装置１０は、プロセッサ１１０、主記憶装置１２０、補助記憶装置１３０、入力装置１４０、出力装置１５０、及び通信装置１６０を備える。これらは図示しないバス等の通信手段を介して互いに通信可能に接続されている。尚、情報処理装置１０は、独立したハードウェアであってもよいし、例えば、マニピュレータ２０に実装されているマイクロコンピュータのようにロボット作業システム１の他の構成が備えるハードウェアを利用するものであってもよい。また情報処理装置１０は、例えば、クラウドシステムにより提供されるクラウドサーバのような仮想的な情報処理資源を用いて実現されるものであってもよい。
【００３０】
プロセッサ１１０は、例えば、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＦＰＧＡ（Field-Programmable Gate Array）、ＧＰＵ（Graphics Processing Unit）、ＡＩチップ等を用いて構成されている。プロセッサ１１０が、主記憶
装置１２０に格納されているプログラムを読み出して実行することにより、情報処理装置１０の様々な機能が実現される。主記憶装置１２０は、プログラムやデータを記憶する装置であり、例えば、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、不揮発性メモリ（ＮＶＲＡＭ（Non Volatile RAM））等である。補助記憶装置１３０は、例えば、ハードディスクドライブ、ＳＳＤ（Solid State Drive）、光学式記憶装置（ＣＤ
（Compact Disc）、ＤＶＤ（Digital Versatile Disc）等）、ストレージシステム、ＩＣカード、ＳＤカードや光学式記録媒体等の記録媒体の読取／書込装置、クラウドサーバの記憶領域等である。補助記憶装置１３０には、記録媒体の読取装置や通信装置１６０を介してプログラムやデータを読み込むことができる。補助記憶装置１３０に記憶されているプログラムやデータは主記憶装置１２０に随時読み込まれる。
【００３１】
入力装置１４０は、外部からの入力を受け付けるインタフェースであり、例えば、キーボード、マウス、タッチパネル、カードリーダ、音声入力装置等である。
【００３２】
出力装置１５０は、処理経過や処理結果等の各種情報（例えば、後述する、撮影画像４５１、認識結果４５２、搬送機制御パラメータ４５３、マニピュレータ制御計画４５４、学習データ４６１、学習モデル４６２等）を出力するインタフェースであり、例えば、上記の各種情報を可視化する表示装置（液晶モニタ、ＬＣＤ（Liquid Crystal Display）、グラフィックカード等）、音声出力装置（スピーカ等）、印字装置等である。尚、例えば、情報処理装置１０が通信装置１６０を介して他の装置との間で情報の入力や出力を行う構成としてもよい。
【００３３】
通信装置１６０は、マニピュレータ２０、搬送機３０、及び撮影装置４０との間の通信を実現する装置である。通信装置１６０は、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）、インターネット等の通信手段を介した他の装置との間の通信を実現
する有線方式又は無線方式の通信インタフェースであり、例えば、ＮＩＣ（Network Interface Card）、無線通信モジュール、ＵＳＢ（Universal Serial Interface）モジュール、シリアル通信モジュール等である。
【００３４】
図４に情報処理装置１０が備える主な機能及びデータを示す。同図に示すように、情報処理装置１０は、撮影処理部４１１、認識処理部４１２、作業対象決定部４１３、搬送機制御部４１４、マニピュレータ制御計画生成部４１５（ロボット制御計画生成部）、マニピュレータ制御部４１６（ロボット制御部）、学習データ生成部４２１、及び学習モデル生成部４２２の各機能を備える。これらの機能は、情報処理装置１０のプロセッサ１１０が、主記憶装置１２０に格納されているプログラムを読み出して実行することにより実現される。情報処理装置１０は、オペレーティングシステム、ファイルシステム、ＤＢＭＳ（Data Base Management System）等を備えていてもよい。
【００３５】
同図に示すように、情報処理装置１０は、撮影画像４５１、認識結果４５２、搬送機制御パラメータ４５３、マニピュレータ制御計画４５４、学習データ４６１、及び学習モデル４６２を記憶する。情報処理装置１０は、これらのデータを、例えば、ファイル、ＤＢＭＳによって管理されるデータベースのテーブル等として管理する。
【００３６】
上記機能のうち、撮影処理部４１１は、撮影対象が撮影可能範囲に入ると後述する撮影タイミングに合わせて撮影対象を撮影し、撮影した画像を撮影画像４５１として記憶する。
【００３７】
認識処理部４１２は、撮影画像について後述する認識処理を行い認識結果４５２を生成して記憶する。生成された認識結果４５２は、作業対象の決定、搬送機３０やマニピュレータ２０の制御等に用いられる。認識処理は、学習データ生成部４２１による機械学習によって生成された学習モデル４６２を用いて実現される。作業対象決定部４１３は、認識結果４５２に基づき、作業対象候補の中から作業対象を決定する。
【００３８】
搬送機制御部４１４は、作業対象決定部４１３が決定した作業対象についての後述の搬送機最適制御パラメータに基づき後述の搬送機制御パラメータ４５３を生成し、生成した搬送機制御パラメータ４５３を搬送機３０に送信することにより搬送機３０を制御する。
【００３９】
マニピュレータ制御計画生成部４１５は、作業対象決定部４１３が決定した作業対象の位置（撮影画像における作業対象候補の位置）と後述の搬送機制御パラメータとに基づき、マニピュレータ２０の動作や制御タイミングを規定した情報を含むマニピュレータ制御計画４５４を生成する。マニピュレータ制御部４１６は、作業対象が後述する制御準備開始距離内に入ったことを検知すると、マニピュレータ制御計画４５４に従ってマニピュレータ２０を制御し、決定した作業対象に対して作業を行う。
【００４０】
学習データ生成部４２１は、学習モデル４６２の機械学習に用いる学習データ４６１を生成する。学習モデル生成部４２２は、例えば相当数の学習データ４６１を学習することにより学習モデル４６２を生成する。学習データ生成部４２１及び学習モデル生成部４２２の夫々が行う処理の詳細については後述する。
【００４１】
撮影画像４５１は、撮影装置４０によって撮影（取得）された画像であり、例えば、ピクセル（pixel）形式の画像である。
【００４２】
認識結果４５２は、例えば、撮影画像４５１における（撮影画像４５１に設定した二次元又は三次元座標系における）作業対象候補の位置と、作業対象候補の夫々の後述する搬送機最適制御パラメータと、の組合せを含む。また認識結果４５２は、例えば、撮影画像４５１における作業対象候補の位置と、作業対象候補の夫々の後述する搬送機最適制御パラメータと後述するパフォーマンスの組合せと、を含む。また認識結果４５２は、例えば、作業対象候補の位置と、作業対象候補の夫々の後述する搬送機最適制御パラメータと後述するマニピュレータ２０の最適制御パラメータの組合せと、を含む。また認識結果４５２は、例えば、作業対象候補の位置と、作業対象候補の夫々の後述する搬送機最適制御パラメータと後述するパフォーマンスと後述するマニピュレータ２０の最適制御パラメータとの組合せと、を含む。
【００４３】
学習データ４６１は、学習モデル４６２の機械学習に用いる多数のデータ（教師データ、訓練データ）を含む。学習データ４６１は、例えば、撮影画像と、作業対象候補の位置と作業対象候補の夫々の後述する搬送機最適制御パラメータと、の組合せを含む。また学習データ４６１は、例えば、撮影画像と、作業対象候補の位置と作業対象候補の夫々の後
述する搬送機最適制御パラメータと後述するパフォーマンスの組合せと、を含む。また学習データ４６１は、例えば、撮影画像と、作業対象候補の位置と作業対象候補の夫々の後述する搬送機最適制御パラメータと後述するマニピュレータ２０の最適制御パラメータの組合せと、を含む。また学習データ４６１は、例えば、撮影画像と、作業対象候補の位置と、作業対象候補の夫々の後述する搬送機最適制御パラメータと後述するパフォーマンスと後述するマニピュレータ２０の最適制御パラメータとの組合せと、を含む。
【００４４】
学習モデル４６２は、後述する認識処理を実現するための畳み込みニューラルネットワーク（CNN:Convolutional Neural Network）の後述する中間層６１２を構成するパラメータ群を含む。上記パラメータは、例えば、畳み込みニューラルネットワークの各パーセプトロンに与えられる重み（バイアスを含む。）である。
【００４５】
図５は、作業対象に対して作業を行う際に情報処理装置１０が行う処理（以下、ロボット制御処理と称する。）を説明するフローチャートである。以下、同図とともにロボット制御処理について説明する。尚、符号の前に付している「Ｓ」の文字は処理ステップを意味する。
【００４６】
同図に示すように、情報処理装置１０の撮影処理部４１１は、撮影対象が撮影装置４０から所定距離（以下、撮影準備開始距離と称する。）内に入った否かをリアルタイムに監視している（Ｓ５１１：ＮＯ）。撮影処理部４１１が撮影装置４０から撮影準備開始距離内に入ったことを検知すると（Ｓ５１１：ＹＥＳ）、処理はＳ５１２に進む。
【００４７】
尚、撮影処理部４１１は、例えば、搬送機３０又は撮影対象の現在位置を示す情報、撮影装置４０の周辺に設けられた物体検知センサや測距センサ等から取得される情報、搬送機３０や撮影対象を撮影した映像等に基づき、撮影対象が撮影装置４０から撮影準備開始距離内に入ったことを検知する。
【００４８】
Ｓ５１２では、撮影処理部４１１は、撮影対象の撮影タイミングを求める。即ち、撮影対象は搬送機３０とともに動いているため、撮影処理部４１１は、例えば、撮影対象が撮影装置４０から撮影準備開始距離内に入ってから撮影装置４０の撮影位置に至るまでの時間を求め、求めた時間に基づき撮影タイミングを求める。
【００４９】
尚、撮影対象が撮影装置４０から撮影準備開始距離内に入ってから撮影装置４０の撮影位置に至るまでの時間は、例えば、搬送機３０の現在位置、移動速度、移動方向、移動ルート等の情報に基づき求める。ロボット作業システム１が第１例である場合、撮影対象は箱２と箱２に収容されている物品５であり、第２例である場合、撮影対象は搬送機３０に載せられている物品５である。
【００５０】
続いて、撮影処理部４１１は、撮影対象が撮影可能範囲に入るとＳ５１２で求めた撮影タイミングに合わせて撮影対象を撮影し、撮影画像４５１として記憶する（Ｓ５１３）。
【００５１】
続いて、認識処理部４１２が、Ｓ５１３で取得した撮影画像４５１を学習モデル４６２（中間層６１２）に入力することにより、撮影画像４５１における作業対象候補の（撮影画像４５１の座標系における）位置と、上記作業対象候補の夫々についての搬送機３０の最適な制御パラメータ（以下、搬送機最適制御パラメータと称する。）と、の組合せを求める処理（以下、認識処理と称する。）を実行し、求めた結果を認識結果４５２として記憶する処理（以下、認識処理Ｓ５１４と称する。）を行う。このように認識処理Ｓ５１４により、学習モデル４６２を用いて撮影画像４５１における作業対象候補の位置と、上記作業対象候補の夫々についての搬送機最適制御パラメータと、の組合せを求めることで、作業の効率（以下、パフォーマンスと称する。）を最大化するための搬送機３０の制御パ
ラメータを精度よく求めることができる。
【００５２】
上記の搬送機最適制御パラメータは、例えば、搬送機３０の物品５の搬送速度や、搬送機３０の移動ルート等である。また上記のパフォーマンスは、ロボット作業システム１が行う作業の効率（搬送機３０とマニピュレータ２０が協調することにより得られる効率）を評価する指標であり、例えば、搬送機３０の搬送速度、作業の成功率（以下、作業成功率と称する。）、上記搬送速度と上記作業成功率とを乗算した値等である。尚、上記の作業成功率は、例えば、実際のシステムを用いた実験や情報処理装置によるシミュレーション等によって取得することができる。作業成功率は、搬送機３０の物品５の搬送速度を増減することで変化し、搬送機３０の移動ルートをマニピュレータ２０に近づけたり、遠ざけたりすることでも、物品５とマニピュレータ２０との位置関係が変わり、変化する。
【００５３】
尚、認識処理Ｓ５１４は、例えば、撮影画像４５１における作業対象候補の位置と、作業対象候補の夫々の後述する搬送機最適制御パラメータと後述するパフォーマンスの組合せと、の組合せを求める処理であってもよい。また認識処理Ｓ５１４は、例えば、作業対象候補の位置と作業対象候補の夫々の搬送機最適制御パラメータとマニピュレータ２０の最適制御パラメータ（以下、マニピュレータ最適制御パラメータと称する。）の組合せを求める処理であってもよい。ここで、マニピュレータ最適制御パラメータとは、例えば、マニピュレータ２０が作業対象候補を掴む瞬間の、搬送機３０の移動方向の位置である。このマニピュレータ最適パラメータを変えることでパフォーマンスが変化する。更に認識処理Ｓ５１４は、例えば、撮影画像４５１における作業対象候補の位置と、作業対象候補の夫々の搬送機最適制御パラメータと後述するパフォーマンスとマニピュレータ最適制御パラメータ（ロボット最適制御パラメータ）との組合せを求める処理であってもよい。認識処理Ｓ５１４をこのような処理とすることで、作業全体のパフォーマンスを最大化するための搬送機３０の制御パラメータやマニピュレータ２０の制御パラメータとして適切なものを求めることができる。
【００５４】
続いて、作業対象決定部４１３が、認識結果４５２に基づき、作業対象候補の中から作業対象を決定する（Ｓ５１５）。作業対象決定部４１３は、例えば、作業のパフォーマンスが最大となる作業対象候補を作業対象として決定する。このように、作業対象決定部４１３は、パフォーマンス（搬送機３０とマニピュレータ２０が協調することにより得られる効率）が最大となる作業対象候補を作業対象として決定するので、ロボット作業システム１の全体的な視点から作業の効率を最適化することができる。
【００５５】
続いて、搬送機制御部４１４が、決定した作業対象の搬送機最適制御パラメータに基づき搬送機３０の制御パラメータ（以下、搬送機制御パラメータと称する。）を生成し（Ｓ５１６）、生成した制御パラメータを搬送機３０に送信する（Ｓ５１７）。
【００５６】
続いて、マニピュレータ制御計画生成部４１５が、決定した作業対象の位置（撮影画像における作業対象候補の位置）と搬送機制御パラメータとに基づき、マニピュレータ２０の動作と制御のタイミング（以下、制御タイミングと称する。）とを含むマニピュレータ２０の制御計画（マニピュレータ制御計画４５４）を生成する（Ｓ５１８）。尚、認識処理Ｓ５１４でマニピュレータ最適制御パラメータを求めた場合、マニピュレータ制御計画生成部４１５がマニピュレータ最適制御パラメータに基づきマニピュレータ制御計画４５４を生成するようにしてもよい。
【００５７】
続いて、マニピュレータ制御部４１６は、作業対象がマニピュレータ２０から所定距離（以下、制御準備開始距離と称する。）内に入った否かを監視する（Ｓ５１９：ＮＯ）。マニピュレータ制御部４１６が、作業対象が制御準備開始距離内に入ったことを検知すると（Ｓ５１９：ＹＥＳ）、処理はＳ５２０に進む。マニピュレータ制御部４１６は、例え
ば、搬送機３０又は作業対象の現在位置、マニピュレータ２０の周辺に設けられた物体検知センサや測距センサ等から取得される情報、搬送機３０又は作業対象を撮影した映像等に基づき、作業対象がマニピュレータ２０から制御準備開始距離内に入ったと判定する。
【００５８】
Ｓ５２０では、マニピュレータ制御部４１６が、Ｓ５１８で生成したマニピュレータ制御計画に従ってマニピュレータ２０を制御し、作業対象に対して作業を行う。例えば、第１例の場合であれば、マニピュレータ制御部４１６はマニピュレータ２０を制御して作業対象である物品５をピッキングし、また例えば、第２例の場合であれば、マニピュレータ制御部４１６はマニピュレータ２０を制御して作業対象であるネジ孔についてネジ締めを行う。
【００５９】
Ｓ５２１では、情報処理装置１０は、当該ロボット制御処理を終了する否かを判定する。情報処理装置１０がロボット制御処理を終了しないと判定した場合（Ｓ５２１：ＮＯ）、処理はＳ５１１に戻る。情報処理装置１０がロボット制御処理を終了すると判定した場合（Ｓ５２１：ＹＥＳ）、当該処理は終了する。情報処理装置１０は、例えば、ユーザから作業の停止操作を受け付けた場合にロボット制御処理を終了すると判定する。
【００６０】
続いて、図５の認識処理Ｓ５１４の実現方法について説明する。
【００６１】
［認識処理の第１の実現方法］
図６は認識処理Ｓ５１４の第１の実現方法に用いる畳み込みニューラルネットワークの構造を説明する図である。畳み込みニューラルネットワークの入力層６１１には撮影画像が入力される。中間層６１２は、複数（例えば２０層程度）の畳み込み層を含む。中間層６１２は、出力層６１３における、搬送機最適制御パラメータｒ１，０、作業対象候補位置ｒ２，０、作業対象候補可能性ｒ３，０、及び非作業対象候補可能性ｒ４，０等の各予測値を求める。ここで上記の各予測値に付している添え字の１つ目は出力値の種類を表し、添え字の２つ目は入力層６１１に与えられる撮影画像を複数の正方形状の単位領域（複数の作業対象候補の予測位置が同一領域内に入らない程度の大きさの領域。以下、格子と称する。）に分割して生成される各格子の識別子である。
【００６２】
図７は撮影画像をＳ個（本例ではＳ＝２５）の格子に分割した場合における出力層６１３の具体例を示す。同図において（ｕ，ｖ）は格子内の位置を示す座標である。格子内に示す円の中心は作業対象候補の把持点位置を示す。円の色は搬送機３０の搬送速度を表す。
【００６３】
学習モデル４６２（中間層６１２の各層のパラメータを含む。）の生成に際し、学習モデル生成部４２２は、例えば、中間層６１２が求めた予測値との差が許容範囲内である学習データ４６１を特定し、特定した学習データ４６１の予測値を損失関数（以下、総合差分値Ｌとする。）に与え、総合差分値Ｌの値を減らす方向に中間層６１２の各層のパラメータを更新していくことにより学習モデル４６２を生成する。上記のパラメータの更新は、例えば、確率的勾配降下法や誤差逆伝播法により行ってもよい。総合差分値Ｌの算出方法の例を以下に示す。
2019150911.tif 000003
2019150911.tif 000004
2019150911.tif 000005
2019150911.tif 000006
尚、上記の各重要度は、作業対象候補における搬送機制御パラメータの重要度を１としたときの相対値である。
【００６４】
以上のように、第１の実現方法によれば、作業のパフォーマンスを最大化する搬送機３０の制御パラメータ（搬送機最適制御パラメータ）を求めることができ、搬送機３０が動いている状態で作業を行ったときに作業のパフォーマンスが最大となる搬送機３０の制御パラメータを求めることができる。
【００６５】
尚、以上では、中間層６１２が、搬送機最適制御パラメータｒ１，０、作業対象候補位置ｒ２，０、作業対象候補可能性ｒ３，０、及び非作業対象候補可能性ｒ４，０を予測値として求める場合を例示したが、中間層６１２が、パフォーマンスｒ５，０やマニピュレータ最適制御パラメータｒ６，０を更に出力層６１３として求める構成としてもよい。
【００６６】
図８は第１の実現方法における学習データ４６１の生成方法を説明するフローチャートであり、図９は第１の実現方法における学習データ４６１の生成方法を説明する図である。尚、学習データ４６１の生成は、例えば、第１例や第２例として示した図１又は図２に示すロボット作業システム１の構成を利用して行うことができる。以下、これらの図とともに第１の実現方法における学習データ４６１の生成方法について説明する。
【００６７】
まずユーザは、撮影装置４０により複数の物品５が収容された箱２を、箱２の上方開口
側から撮影することにより撮影画像を取得する（Ｓ８１１）。
【００６８】
続いて、学習データ生成部４２１は、出力装置１５０に撮影画像を表示しつつ、入力装置１４０を介してユーザから作業対象候補（図９の符号７）の設定（第１例であれば物品５の把持点位置の設定、第２例であればネジ孔位置の設定）の入力を受け付ける（Ｓ８１２）。
【００６９】
続くＳ８１３では、学習データ生成部４２１は、当該処理（Ｓ８１３）で未選択の作業対象候補を一つ選択する。
【００７０】
続くＳ８１４では、学習データ生成部４２１は、当該処理（Ｓ８１４）で未選択の搬送機制御パラメータを一つ選択する。尚、情報処理装置１０は、選択可能な複数の搬送機制御パラメータ（例えば、搬送機３０の移動速度であれば0.1m/s、0.2m/s・・・1.0m/s等。搬送機３０の移動ルートであれば、マニピュレータ２０との距離10cm、15cm・・・30cm等。）を予め記憶しているものとする。また図６においてマニピュレータ最適制御パラメータを出力層６１３として求める構成とする場合、情報処理装置１０は、選択可能な複数のマニピュレータ制御パラメータ（例えば、マニピュレータ２０が作業対象を掴む瞬間の、マニピュレータ２０から見た搬送機３０の移動方向の位置0cm、±5cm、±10cm・・・±25cm等。）を予め記憶しているものとする。
【００７１】
続いて、学習データ生成部４２１は、選択中の搬送機制御パラメータに基づき、搬送機３０が作業対象候補を搬送する中（搬送機３０が動いている中）、マニピュレータ２０により作業を行ったときのパフォーマンスを求める（Ｓ８１５）。尚、マニピュレータ２０により作業を行ったときのパフォーマンスは、例えば、作業成功率であり、非特許文献１に開示されている方法（dynamic RRT = dynamic Rapidly-exploring Random Tree）によ
り作業遂行のためのマニピュレータ２０の動作の計画を複数回試行し、その動作計画の成功率として求めることができる。
【００７２】
続いて、学習データ生成部４２１は、Ｓ８１４において未選択の搬送機制御パラメータが存在するか否かを判定する（Ｓ８１６）。未選択の搬送機制御パラメータが存在する場合（Ｓ８１６：ＹＥＳ）、処理はＳ８１４に戻って他の未選択の搬送機制御パラメータを選択する。未選択の搬送機制御パラメータが存在しない場合（Ｓ８１６：ＮＯ）、処理はＳ８１７に進む。
【００７３】
Ｓ８１７では、学習データ生成部４２１は、Ｓ８１４〜Ｓ８１６の処理で選択した搬送機制御パラメータのうち作業のパフォーマンスが最大のものを、Ｓ８１３で選択中の作業対象物候補の搬送機最適制御パラメータとして選出する。
【００７４】
続いて、学習データ生成部４２１は、Ｓ８１３で未選択の作業対象候補が存在するか否かを判定する（Ｓ８１８）。未選択の作業対象候補が存在する場合（Ｓ８１８：ＹＥＳ）、処理はＳ８１３に戻って他の未選択の作業対象候補を選択し、以上と同様の処理を行う。未選択の搬送機制御パラメータが存在しない場合（Ｓ８１８：ＮＯ）、処理はＳ８１９に進む。
【００７５】
Ｓ８１９では、学習データ生成部４２１は、Ｓ８１１で取得した撮影画像と、作業対象候補の位置と作業対象候補の夫々についての搬送機最適制御パラメータの組合せと、を含むデータを学習データ４６１として記憶する。
【００７６】
続くＳ８２０では、ユーザが十分な数の学習データを取得することができたか否かを判定する（Ｓ８２０）。十分な数の学習データを取得できていないとユーザが判定した場合
（Ｓ８２０：ＮＯ）、処理はＳ８１１に戻る。また十分な数の学習データを取得することができたとユーザが判定した場合（Ｓ８２０：ＹＥＳ）、学習データの生成は終了する。
【００７７】
尚、前述したように、中間層６１２が、パフォーマンスｒ５，０やマニピュレータ最適制御パラメータｒ６，０を更に出力層６１３として求める構成とする場合、例えば、Ｓ８１４乃至Ｓ８１９のループと同様のループを、パフォーマンスやマニピュレータ最適制御パラメータについても行うようにする。またその場合、Ｓ８１９では、学習データ生成部４２１が、撮影画像と、作業対象候補の位置と作業対象候補の夫々の搬送機最適制御パラメータ及びパフォーマンス（又はマニピュレータ最適制御パラメータ）の組合せと、を含むデータを学習データ４６１として記憶するようにする。
【００７８】
ところで、図８では撮影画像の取得（Ｓ８１１）や作業対象候補の位置の設定をユーザが行っているが（Ｓ８１２）、これらの作業を情報処理装置１０がシミュレーションにより自動的に行う構成としてもよい。
【００７９】
即ち、例えば図１０に示すように、情報処理装置１０が物品の形状やテクスチャ、寸法を含む物体モデルを用いて複数の物品５が箱２に収容されている状態の撮影画像を生成し（Ｓ１０１１）、物品５の面を特定して、例えば、その面の中心位置を作業対象候補とする（Ｓ１０１２）。そして搬送機３０が作業対象候補を搬送する中、マニピュレータ２０による作業を行った場合をシミュレーションして（Ｓ１０１３）パフォーマンスを求める（Ｓ１０１４）。そのようにすることで、図８において手作業で行われている部分の多くを自動化することができる。
【００８０】
図１１及び図１２は、第１の実現方法における学習データ４６１を用いて行われる学習モデル４６２の生成処理（以下、学習モデル生成処理と称する。）を説明するフローチャートである。以下、これらの図とともに学習モデル生成処理について説明する。
【００８１】
図１１に示すように、まず学習モデル生成部４２２は、学習モデル（中間層６１２）のパラメータの初期値を設定する（Ｓ１１１１）。
【００８２】
続いて、学習モデル生成部４２２は、現在設定中のパラメータの学習モデル（以下、現在モデルと称する。）について後述する総合差分値（以下、現在モデル総合差分値と称する。）を求める（Ｓ１１１２）。
【００８３】
続いて、学習モデル生成部４２２は、現在設定中のパラメータの周辺のパラメータを設定した学習モデル（以下、周辺モデルと称する。）について後述する総合差分値（以下、周辺モデル総合差分値と称する。）を求める（Ｓ１１１３）。
【００８４】
続いて、学習モデル生成部４２２は、Ｓ１１１２で求めた現在モデル総合差分値と周辺モデル総合差分値とに基づき、現在モデル総合差分値が現在よりも小さくなるように現在モデルのパラメータを更新する（Ｓ１１１４）。
【００８５】
続いて、学習モデル生成部４２２は、学習モデル生成処理を終了するか否かを判定する。学習モデル生成部４２２が学習モデル生成処理を終了しないと判定した場合（Ｓ１１１５：ＮＯ）、処理はＳ１１１２に戻り、更新後のパラメータの現在モデルについてＳ１１１２からの処理を行う。学習モデル生成部４２２が学習モデル生成処理を終了すると判定した場合（Ｓ１１１５：ＹＥＳ）、学習モデル生成部４２２は最終的に生成された学習モデルを学習モデル４６２として記憶し、学習モデル生成処理は終了する。
【００８６】
尚、例えばＳ１１１４でパラメータを更新しても現在モデル総合差分値が収束しない場
合（Ｓ１１１２〜Ｓ１１１５の１ループ実行後の総合差分値の減少量が閾値以下となった場合）や、Ｓ１１１２〜Ｓ１１１５のループの実行回数が予め設定された回数に達した場合に学習モデル生成部４２２は学習モデル生成処理を終了すると判定する。
【００８７】
図１２は、図１１の第１の実現方法における学習モデル生成処理のＳ１１１２又はＳ１１１３の処理（現在モデル総合差分値又は周辺モデル総合差分値を求める処理。以下、総合差分値算出処理と称する。）を説明するフローチャートである。
【００８８】
まず学習モデル生成部４２２は、学習データ４６１に含まれている撮影画像のうち未選択のものを一つ選択する（Ｓ１２１１）。
【００８９】
続いて、学習モデル生成部４２２は、設定中のパラメータ（総合差分値算出処理の呼び出し元がＳ１１１２の場合は現在モデルのパラメータ、総合差分値算出処理の呼び出し元がＳ１１１３の場合は周辺モデルのパラメータ。）のモデル（現在モデル又は周辺モデル）を用いて、Ｓ１２１１で選択した撮影画像を入力層６１１に与えて作業対象候補と搬送機最適制御パラメータとの組を複数予測する（Ｓ１２１２）。
【００９０】
続いて、学習モデル生成部４２２は、予測した上記作業対象候補と搬送機最適制御パラメータとの組の夫々について、選択中の撮影画像の学習データ４６１との差分値を求める（Ｓ１２１３）。
【００９１】
続いて、学習モデル生成部４２２は、Ｓ１２１１で未選択の撮影画像が存在するか否かを判定する（Ｓ１２１４）。未選択の撮影画像が存在する場合（Ｓ１２１４：ＹＥＳ）、学習モデル生成部４２２は、他の学習データの撮影画像を選択してＳ１２１１からの処理を繰り返す。未選択の撮影画像が存在しない場合（Ｓ１２１４：ＹＥＳ）、学習モデル生成部４２２は、総合差分値算出処理を終了し、処理は図１２の学習モデル生成処理のＳ１１１２又はＳ１１１３の処理に後続する処理に進む。
【００９２】
尚、中間層６１２が、パフォーマンスｒ５，０、及びマニピュレータ最適制御パラメータｒ６，０を更に出力層６１３の要素として求める構成とする場合、例えば、搬送機最適制御パラメータについて行っているＳ１２１２及びＳ１２１３と同様の処理を、パフォーマンス及びマニピュレータ最適制御パラメータの夫々についても行うようにする。
【００９３】
［認識処理の第２の実現方法］
続いて、図５の認識処理Ｓ５１４の第２の実現方法について説明する。第２の実現方法では、搬送機制御パラメータ（例えば、搬送機３０の搬送速度や、搬送機３０の移動ルート等。）を固定して学習モデル４６２を生成する。そして、搬送機制御パラメータの離散値ごとに学習モデル４６２を準備して、夫々の学習モデル４６２に対し、撮影画像を入力として、作業対象候補位置とパフォーマンスを認識結果の一つとして出力する。その出力された結果のうち、パフォーマンスが最大となる作業対象候補が得られた学習モデル４６２の搬送機制御パラメータが、搬送機最適制御パラメータとなる。このように搬送機制御パラメータを固定して学習モデル４６２を生成した場合、学習モデル４６２の複雑さが低下するため学習精度の向上が期待でき、固定した個々の学習モデル４６２は軽負荷で生成することができる。尚、以下において、第１の実現方法と共通する部分については説明を省略する。
【００９４】
図１３は第２の実現方法において用いる畳み込みニューラルネットワークの構造を説明する図である。畳み込みニューラルネットワークの入力層６１１には撮影画像が入力される。中間層６１２は、複数（例えば２０層程度）の畳み込み層を含む。中間層６１２は、出力層６１３における、パフォーマンスｒ１，０、作業対象候補位置ｒ２，０、作業対象
候補可能性ｒ３，０、非作業対象候補可能性ｒ４，０等の各予測値を求める。
【００９５】
図１４は第２の実現方法における出力層６１３の具体例である。同図において（ｕ，ｖ）は格子内の位置を示す座標である。格子内に示す円の中心は作業対象候補の把持点位置を示す。円の色はパフォーマンス（作業成功率）を表す。本例では搬送機３０の搬送速度を0.5m/sに固定した場合である。
【００９６】
第１の実現方法と同様、学習モデル４６２の生成に際し、学習モデル生成部４２２は、例えば、中間層６１２により求められた予測値との差が許容範囲内である学習データ４６１を特定し、特定した学習データ４６１の予測値を総合差分値Ｌに与え、総合差分値Ｌの値を減らす方向に中間層６１２の各層のパラメータを更新していくことにより学習モデル４６２を生成する。上記のパラメータの更新は、例えば、確率的勾配降下法や誤差逆伝播法により行ってもよい。第２の実現方法における、学習モデル４６２（中間層６１２の各層のパラメータを含む。）の生成に際して用いる総合差分値Ｌの算出方法の例を以下に示す。
2019150911.tif 000007
2019150911.tif 000008
2019150911.tif 000009
2019150911.tif 000010
尚、上記の各重要度は、作業対象候補における搬送機制御パラメータの重要度を１としたときの相対値である。
【００９７】
式３及び式４の構成は、第１の実現方法における式１及び式２と類似するが、第２の実現方法では、式３における総合差分値Ｌ及び画像別差分値Λｉは、いずれも固定値である搬送機制御パラメータ毎に定義される。また第２の実現方法では、第１の実現方法の式２における「搬送機最適制御パラメータr1」が「パフォーマンスr1」となり、また式２における「非作業対象候補における搬送機制御パラメータ予測の重要度」が「非作業対象候補におけるパフォーマンス予測の重要度」となる。
【００９８】
図１５は第２の実現方法における学習データ４６１の生成方法を説明するフローチャートである。以下、同図とともに第２の実現方法における学習データ４６１の生成方法について説明する。
【００９９】
まずユーザは、撮影装置４０により複数の物品５が収容された箱２を、箱２の上方開口側から撮影することにより撮影画像を取得する（Ｓ１５１１）。
【０１００】
続いて、学習データ生成部４２１は、出力装置１５０に撮影画像を表示しつつ、入力装置１４０を介してユーザから作業対象候補に関する設定（第１例であれば物品５の把持点位置の設定、第２例であればネジ孔位置の設定）の入力（指定）を受け付ける（Ｓ１５１２）。
【０１０１】
続くＳ１５１３では、学習データ生成部４２１は、当該処理（Ｓ１５１３）で未選択の作業対象候補を一つ選択する。
【０１０２】
続くＳ１５１４では、学習データ生成部４２１は、当該処理（Ｓ１５１４）で未選択の搬送機制御パラメータを一つ選択する。尚、情報処理装置１０は、選択可能な複数の搬送機制御パラメータ（例えば、搬送機３０の搬送速度（0.1m/s、0.2m/s・・・1.0m/s等）や、搬送機の移動ルート（マニピュレータ２０からの距離10cm、15cm・・・25cm））を予め記憶しているものとする。
【０１０３】
続いて、学習データ生成部４２１は、選択中の搬送機制御パラメータに基づき、搬送機３０が動いている中（作業対象候補を搬送する中）、マニピュレータ２０により作業を行ったときのパフォーマンスを求める（Ｓ１５１５）。尚、マニピュレータ２０により作業を行った場合におけるパフォーマンスは、例えば、作業成功率であり、非特許文献１に開示されている方法（dynamic RRT）により作業遂行のためのマニピュレータ２０の動作の
計画を複数回試行し、その動作計画の成功率として求めることができる。
【０１０４】
続いて、学習データ生成部４２１は、Ｓ１５１４において未選択の搬送機制御パラメータが存在するか否かを判定する。未選択の搬送機制御パラメータが存在する場合（Ｓ１５１６：ＹＥＳ）、処理はＳ１５１４に戻って他の未選択の搬送機制御パラメータを選択する。未選択の搬送機制御パラメータが存在しない場合（Ｓ１５１６：ＮＯ）、処理はＳ１５１７に進む。
【０１０５】
続いて、学習データ生成部４２１は、Ｓ１５１３で未選択の作業対象候補が存在するか
否かを判定する（Ｓ１５１７）。未選択の作業対象候補が存在する場合（Ｓ１５１７：ＹＥＳ）、処理はＳ１５１３に戻って他の未選択の作業対象候補を選択する。未選択の搬送機制御パラメータが存在しない場合（Ｓ１５１７：ＮＯ）、処理はＳ１５１８に進む。
【０１０６】
Ｓ１５１８では、学習データ生成部４２１は、Ｓ１５１１で取得した撮影画像と、作業対象候補の位置と作業対象候補の夫々のパフォーマンスの組合せと、を含むデータを学習データ４６１として記憶する。
【０１０７】
続くＳ１５１９では、ユーザが十分な数の学習データを取得することができたか否かを判定する（Ｓ１５１９）。十分な数の学習データを取得できていないとユーザが判定した場合（Ｓ１５１９：ＮＯ）、処理はＳ１５１９に戻る。また十分な数の学習データを取得することができたとユーザが判定した場合（Ｓ１５１９：ＹＥＳ）、学習データの生成は終了する。
【０１０８】
尚、中間層６１２が、例えば、マニピュレータ２０の制御パラメータ（以下、マニピュレータ制御パラメータと称する。）ｒ５，０を更に出力層６１３の要素として求める構成としてもよい。その場合、例えば、Ｓ１５１４乃至Ｓ１５１８のループと同様のループをマニピュレータ制御パラメータ（例えば、マニピュレータ２０が作業対象を掴む瞬間の、マニピュレータ２０から見た搬送機３０の進行方向の位置（0cm、±5cm、±10cm・・・±25cm等））についても行うようにする。またその場合、Ｓ１５１８では、学習データ生成部４２１が、撮影画像と、作業対象候補の位置と作業対象候補の夫々のパフォーマンス及びマニピュレータ制御パラメータの組合せと、を含むデータを学習データ４６１として記憶するようにする。
【０１０９】
図１６及び図１７は、第２の実現方法における学習モデル４６２の生成処理（以下、個別学習モデル生成処理と称する。）を説明するフローチャートである。以下、これらの図とともに個別学習モデル生成処理について説明する。
【０１１０】
図１６に示すように、まず学習モデル生成部４２２は、学習モデル（中間層６１２）のパラメータの初期値（搬送機制御パラメータを固定した初期値）を設定する（Ｓ１６１１）。
【０１１１】
続いて、学習モデル生成部４２２は、現在設定中のパラメータの学習モデル（以下、現在モデルと称する。）について後述する総合差分値（以下、現在モデル総合差分値と称する。）を求める（Ｓ１６１２）。
【０１１２】
続いて、学習モデル生成部４２２は、現在設定中のパラメータの周辺のパラメータを設定した学習モデル（以下、周辺モデルと称する。）について後述する総合差分値（以下、周辺モデル総合差分値と称する。）を求める（Ｓ１６１３）。
【０１１３】
続いて、学習モデル生成部４２２は、Ｓ１６１２で求めた現在モデル総合差分値と周辺モデル総合差分値とに基づき、現在モデル総合差分値が現在よりも小さくなるように現在モデルのパラメータを更新する（Ｓ１６１４）。
【０１１４】
続くＳ１６１５では、学習モデル生成部４２２は、個別学習モデル生成処理を終了するか否かを判定する。学習モデル生成部４２２が個別学習モデル生成処理を終了しないと判定した場合（Ｓ１６１５：ＮＯ）、処理はＳ１６１２に戻り、更新後のパラメータの現在モデルについてＳ１６１２からの処理を行う。学習モデル生成部４２２が個別学習モデル生成処理を終了すると判定した場合（Ｓ１６１５：ＹＥＳ）、学習モデル生成部４２２は最終的に生成された学習モデルを学習モデル４６２として記憶し、個別学習モデル生成処
理は終了する。尚、例えば、Ｓ１６１４でパラメータを更新しても現在モデル総合差分値が収束しない場合（総合差分値の減少量が閾値以下となった場合）や、Ｓ１６１２〜Ｓ１６１５の繰り返し実行回数が予め設定された回数に達した場合、学習モデル生成部４２２は個別学習モデル生成処理を終了すると判定する。
【０１１５】
図１７は、図１６の個別学習モデル生成処理のＳ１６１２又はＳ１６１３の処理（現在モデル総合差分値又は周辺モデル総合差分値を求める処理。以下、総合差分値算出処理と称する。）を説明するフローチャートである。
【０１１６】
まず学習モデル生成部４２２は、学習データ４６１に含まれている撮影画像のうち未選択のものを一つ選択する（Ｓ１７１１）。
【０１１７】
続いて、学習モデル生成部４２２は、設定中のパラメータ（総合差分値算出処理の呼び出し元がＳ１６１２の場合は現在モデルのパラメータ、総合差分値算出処理の呼び出し元がＳ１６１３の場合は周辺モデルのパラメータ。）のモデル（現在モデル又は周辺モデル）を用いて、Ｓ１７１１で選択した撮影画像を入力層６１１に与えて作業対象候補とパフォーマンスとの組を複数予測する（Ｓ１７１２）。
【０１１８】
続いて、学習モデル生成部４２２は、予測した上記作業対象候補とパフォーマンスとの組の夫々について、選択中の撮影画像の学習データ４６１との差分値を求める（Ｓ１７１３）。
【０１１９】
続いて、学習モデル生成部４２２は、Ｓ１７１１で未選択の撮影画像が存在するか否かを判定する（Ｓ１７１４）。未選択の撮影画像が存在する場合（Ｓ１７１４：ＹＥＳ）、学習モデル生成部４２２は、他の学習データの撮影画像を選択してＳ１７１１からの処理を繰り返す。未選択の撮影画像が存在しない場合（Ｓ１７１４：ＹＥＳ）、学習モデル生成部４２２は、総合差分値算出処理を終了し、処理は図１６の個別学習モデル生成処理のＳ１６１２又はＳ１６１３の処理に後続する処理に進む。
【０１２０】
尚、前述したように、中間層６１２がマニピュレータ制御パラメータｒ５，０を更に出力層６１３として求める構成とする場合、例えば、パフォーマンスについて行っているＳ１６１２及びＳ１６１３と同様の処理を、マニピュレータ制御パラメータの夫々についても行うようにする。
【０１２１】
ところで、以上に説明した認識処理の第２の実現方法では、搬送機制御パラメータを固定した学習モデルを用いたが、これと同様に、例えば、マニピュレータ制御パラメータを固定した学習モデルを用いてもよい。その場合、マニピュレータ制御パラメータの離散値ごとに学習モデル４６２を準備して、夫々の学習モデル４６２に対し、撮影画像を入力として、作業対象候補位置とパフォーマンスを認識結果の一つとして出力する。その出力された結果のうち、パフォーマンスが最大となる作業対象候補が得られた学習モデル４６２のマニピュレータ制御パラメータが、マニピュレータ最適制御パラメータとなる。
【０１２２】
またパフォーマンスの要素（搬送速度、作業成功率等）を出力層６０３として学習モデル４６２を生成し、パフォーマンスについては上記の要素に基づき（例えば、搬送速度と作業成功率とを乗算して）求めるようにしてもよい。
【０１２３】
尚、以上の実施形態では畳み込みニューラルネットワークのモデルを用いたが、教師有り学習のモデルであれば畳み込みニューラルネットワークのモデルに限定されず、例えば、サポートベクターマシンやランダムフォレストの他のモデルにより機械学習を行う構成としてもよい。
【０１２４】
以上に説明したように、本実施形態のロボット作業システム１によれば、搬送機３０を用いてマニピュレータ２０（ロボット）により作業を行う際に、搬送機３０の動作についても考慮してロボット作業システム１全体として作業のパフォーマンスを向上させることができる。
【０１２５】
ところで、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換をしてもよい。
【０１２６】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【０１２７】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Solid State Drive）等の記憶装置、又は、ＩＣ（Integrated Circuit）カ
ード、ＳＤカード、ＤＶＤ（Digital Versatile Disc）の記録媒体に格納することができる。
【０１２８】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【０１２９】
１  ロボット作業システム、２  箱、５  物品、６  移動先、１０  情報処理装置、２０
マニピュレータ、２１  アーム、２３  関節部、３０  搬送機、４０  撮影装置、４１１  撮影処理部、４１２  認識処理部、４１３  作業対象決定部、４１４  搬送機制御部、４１５  マニピュレータ制御計画生成部、４１６  マニピュレータ制御部、４２１  学習データ生成部、４２２  学習モデル生成部、４５１  撮影画像、４５２  認識結果、４５３  搬送機制御パラメータ、４５４  マニピュレータ制御計画、４６１  学習データ、４６２  学習モデル
【図１】
2019150911.tif 000011
【図２】
2019150911.tif 000012
【図３】
2019150911.tif 000013
【図４】
2019150911.tif 000014
【図５】
2019150911.tif 000015
【図６】
2019150911.tif 000016
【図７】
2019150911.tif 000017
【図８】
2019150911.tif 000018
【図９】
2019150911.tif 000019
【図１０】
2019150911.tif 000020
【図１１】
2019150911.tif 000021
【図１２】
2019150911.tif 000022
【図１３】
2019150911.tif 000023
【図１４】
2019150911.tif 000024
【図１５】
2019150911.tif 000025
【図１６】
2019150911.tif 000026
【図１７】
2019150911.tif 000027