(57)【要約】【課題】  物体を包装材で包装した包装物を安定して吸着および搬送する。【解決手段】  上記課題を解決する本発明にかかる情報処理装置は、物体を包装材で包装した包装物を吸着装置に吸着させる制御を行う情報処理装置であって、前記包装物を撮像した画像を入力する入力手段と、前記画像に基づいて特定された前記包装物の表面の状態から決定された吸引を開始するタイミングに従って、前記吸着装置を制御する制御手段とを有することを特徴とする。【選択図】  図１
2019217608.tif 000002
【特許請求の範囲】
【請求項１】
物体を包装材で包装した包装物を吸着装置に吸着させる制御を行う情報処理装置であって、
前記包装物を撮像した画像を入力する入力手段と、
前記画像に基づいて特定された前記包装物の表面の状態から決定された吸引を開始するタイミングに従って、前記吸着装置を制御する制御手段とを有することを特徴とする情報処理装置。
【請求項２】
前記包装物の表面の状態と吸引に関するタイミングとの組み合わせに対して、吸着が成功したか否かを示す結果が紐付けられたデータに基づいて、前記包装物の表面の状態から吸引を開始するタイミングを決定する決定手段を更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記決定手段は、前記包装物の表面の状態から、前記吸着装置と前記包装物とが接触してから前記吸着装置が移動を開始するまでの時間を示す第１の静止時間を決定し、
前記制御手段は、前記第１の静止時間に従って、前記吸着装置を制御することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記決定手段は、前記包装物の表面の状態から、前記吸着装置が吸引を停止してから前記吸着装置が移動を開始するまでの時間を示す第２の静止時間を決定し、
前記制御手段は、前記第２の静止時間に従って、前記吸着装置を制御することを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記決定手段は、前記吸着装置によって吸引を開始するタイミングが、前記吸着装置と前記包装物とが接触する前か、若しくは、接触した後か決定することを特徴とする請求項２乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記入力手段によって入力された画像に対して、前記包装物の表面の状態と吸着に適した位置を対応させた画像特徴であるテンプレートを照合することによって、前記吸着装置を前記包装物に吸着させる吸着位置を抽出する抽出手段と、
前記決定手段は、前記吸着位置に対応する画像領域に対して吸引を開始するタイミングを決定することを特徴とする請求項２乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記包装物の表面の状態は、前記包装物の表面にあるしわの量を表すことを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
前記吸着部の真空圧を観測することによって前記包装物を搬送するタスクが成功したか否かの結果を判定する判定手段とを有し、
前記判定手段によって前記真空圧が所定の値より小さいと判定された場合には成功データを、前記判定手段によって前記真空圧が所定の値より大きいと判定された場合には失敗データを、前記包装物の表面の状態と吸引を開始するタイミングとの組み合わせに対して与えることによって吸引を開始するタイミングを学習する学習手段とを有することを特徴とする請求項１乃至７の何れか１項に記載の情報処理装置。
【請求項９】
大きさの異なる複数の前記吸着部を切り替える切り替え手段を更に有し、
前記決定手段は、さらに前記吸着部の大きさに基づいて吸引を開始するタイミングを決定することを特徴とする請求項２乃至８の何れか１項に記載の情報処理装置。
【請求項１０】
入力された画像から吸引を開始するタイミングを推定する学習モデルにおいて、前記包装物を運ぶタスクにおいて目的毎に生成された複数の重み付けセットからひとつの重み付けセットを選択する選択手段を更に有し、
前記決定手段は、前記重み付けセットを適用した前記学習モデルに基づいて吸引を開始するタイミングを決定することを特徴とする請求項２乃至９の何れか１項に記載の情報処理装置。
【請求項１１】
コンピュータを請求項１乃至１０の何れか１項に記載の情報処理装置が有する各手段として機能させるためのプログラム。
【請求項１２】
物体を包装材で包装した包装物を吸着装置に吸着させる制御を行う情報処理方法であって、
前記包装物を撮像した画像を入力する入力工程と、
前記画像に基づいて特定された前記包装物の表面の状態から決定された吸引を開始するタイミングに従って、前記吸着装置を制御する制御工程とを有することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ロボットにより物体を吸着する技術に関する。
【背景技術】
【０００２】
産業用ロボットでは、ロボットアームの先端に吸着パッド等の吸着部を取り付け、物体を吸着することによって搬送することがしばしば行われる。吸着を行う際には、物体の表面上で吸着しやすい領域に、吸着パッドを当て、吸引する必要がある。物体が包装材で袋詰めされているときには、袋に入った状態の物体を吸着する必要がある。
【０００３】
特許文献１には、吸着部が、袋詰めにされた物体全体を覆うようにして吸引することによって、吸着させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−２１３３９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
吸引時に吸着部内に入り込んで引き込まれる包装材の量や、引き込みが生じる速度は、包装材の種類や表面状態によって様々である。特許文献１の手法では、吸引を中断した直後に吸着部が移動等の動作を行うと、対象物体を放り出してしまう恐れがある。包装材の種類や状態によっては吸着パッド内に包装材を多く引き込んで対象物体が吸着パッドから離れづらいためである。すなわち、物流などのロボットピッキングにおいて、包装材の表面の状態が分からない場合には、吸着および搬送が不安定になりうる。
【０００６】
本発明は上記問題に鑑みてなされたものであり、物体を包装材で包装した包装物を、安定して吸着および搬送することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決する本発明にかかる情報処理装置は、物体を包装材で包装した包装物を吸着装置に吸着させる制御を行う情報処理装置であって、前記包装物を撮像した画像を入力する入力手段と、前記画像に基づいて特定された前記包装物の表面の状態から決定された吸引を開始するタイミングに従って、前記吸着装置を制御する制御手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、物体を包装材で包装した包装物を安定して吸着および搬送することができる。
【図面の簡単な説明】
【０００９】
【図１】情報処理システムの構成例を示す図
【図２】情報処理装置の機能構成例を示す図
【図３】情報処理装置のハードウェア構成を示す図
【図４】情報処理システムが実行する処理手順を示すフローチャート
【図５】情報処理装置の機能構成例を示す図
【図６】情報処理システムが実行する処理手順を示すフローチャート
【図７】情報処理装置の機能構成例を示す図
【図８】情報処理システムが実行する処理手順を示すフローチャート
【図９】情報処理装置の機能構成例を示す図
【図１０】情報処理システムが実行する処理手順を示すフローチャート
【図１１】情報処理装置の機能構成例を示す図
【図１２】情報処理システムが実行する処理手順を示すフローチャート
【図１３】情報処理装置の機能構成例を示す図
【図１４】情報処理システムが実行する処理手順を示すフローチャート
【図１５】情報処理装置が実行する処理手順を示すフローチャート
【図１６】情報処理装置が実行する処理手順を示すフローチャート
【図１７】決定部の処理について説明する図
【図１８】吸引を行うタイミングについて説明する図
【図１９】リクエストについて説明する図
【発明を実施するための形態】
【００１０】
本発明にかかる実施形態を説明するのに先立ち、用語の定義について説明する。
【００１１】
包装材とは、ビニールやナイロン、紙、布などを指す。包装物とは、物体を包装材によって包装したものである。例えば、ビニールに入ったケーブル、袋入りポテトチップス、ラッピングされたスーツケースなどである。
【００１２】
図１８を用いて本実施形態で扱う用語について説明する。図１８は、包装物１３を吸着式のピッキングマシーンで目的地の容器１５に搬送するタスクを時系列的に説明する図である。本実施形態における情報処理装置は、包装物の表面の状態に基づいて、ピッキングマシーンが吸着を行うタイミングを制御する吸着パラメータを決定する。吸着パラメータ（Ｐｋとする）とは、具体的には、吸引を開始するタイミング（Ｐ１とする）、包装物を吸着した時に吸着パッドを静止させる時間（Ｐ２とする）、吸引を停止させた後に吸着パッドを静止させる時間（Ｐ３とする）の３つのパラメータである。つまり、吸着パラメータとは包装物の吸着に関する方法を定める制御値である。この吸着パラメータに従って、情報処理装置は吸着制御のタイミングを制御する。本実施形態において、吸着パラメータは包装物の表面の状態に依存して変化するパラメータである。なお、Ｐ１、Ｐ２、Ｐ３のうちいずれかのパラメータが、包装物の表面の状態に関わらず決定されてもよい。その場合、予め固定されたパラメータやユーザが設定した値に基づいて決定される。
【００１３】
吸引を開始するタイミング（Ｐ１）とは、吸着を行う際に、包装物に吸着パッドを接触させてから吸引を開始するか、包装物に吸着パッドを接触させる前から吸引を開始して、吸引しながら吸着パッドを包装物に近づけていくかを決めるパラメータである。図１８において、Ｔ＝Ｔ１が吸着部１２と包装物１３が接触する時間を示し、ΔＴは任意の微小時間を示す。Ｐ１＝０の場合は、吸着部と包装物が接触する前（Ｔ＝Ｔ１−ΔＴ）に、Ｐ１＝１の場合は、接触後（Ｔ＝Ｔ１）に吸引を開始する。よって吸引を開始するタイミングには、接触前か、接触時かの２値のパラメータである。例えば、包装物の表面にしわが無く、吸着パッドを包装物の表面に密着させやすい場合等には、接触させてから（接触時）吸引を開始することで、吸着を成功させやすい。一方で、包装物の表面にしわが有り、そのまま吸着パッドを包装物の表面に押し当てても真空漏れが生じることがある。この場合は、先に吸引を開始して、吸引しながら包装物に近づくことで（接触前）、しわになっている包装材部分を吸い込んで吸着パッド内に引き込むことで真空漏れを回避し、吸着を成功させやすい。
【００１４】
第１の静止時間とは、包装物を吸着した時に吸着パッドを静止させる時間である。つまり、第１の静止時間とは、吸着を行う際に、包装物に吸着パッドを接触させてから、搬送のために包装物を吊上げる動きに入るまでの時間を表すパラメータである。図１８において、Ｔ＝Ｔ１の場面１８２は吸着部１２と包装物１３が接触したときの様子である。搬送を開始する時間をＴ２とすると、Ｐ２＝Ｔ２−Ｔ１である。例えば、Ｐ２は０秒、０．１秒、０．５秒、１．０秒などの連続的な値を取り得る。包装材が薄く柔らかい場合やしわが有る場合には、包装物に接触して吸引していても、包装材が動いてしまいやすく、比較的長い時間静止させてから包装物を吊上げなければ、真空漏れが生じることがある。一方で、包装材が動きにくい場合には、包装物に接触してから吸引していても、すぐに包装物を吊上げることができる。
【００１５】
第２の静止時間とは、吸引を停止させた後に吸着パッドを静止させる時間である。つまり、第２の静止時間とは、包装物を搬送した先で、リリースする（吸引を停止することで、吸着パッドから包装物を離して置く）際に、吸引を停止してから次のタスクを行うために動作を開始するまでの時間である。図１８において、Ｔ＝Ｔ３の場面１８４は包装物１３を目的地の容器１５まで搬送を完了した様子である。この状態でＴ３からＰ３秒だけ静止させる。例えば、Ｐ３は０秒、０．１秒、０．５秒、１．０秒などの連続的な値を取り得る。引き込みが生じやすい包装物をリリースする場合、吸着パッド内に引き込まれている包装材によって、吸引を停止しても包装物がすぐには吸着パッドから離れない。包装物が吸着パッドから離れないうちに次のタスクの動作を開始すると、包装物を放り投げてしまう恐れがある。
【００１６】
尚、吸着部の位置と姿勢を制御するパラメータを制御パラメータと呼ぶ。この制御パラメータは吸着部の位置と姿勢、包装材（被搬送物）の位置と姿勢、搬送先の位置によって決定され、吸着パラメータとは区別されるものとする。つまり、制御パラメータとは、アクチュエータ部１１が吸着部１２の位置を移動制御するためのパラメータである。
【００１７】
（第１の実施形態）
第１の実施形態の情報処理装置は、山積みされた複数の包装物が入れられた容器から包装物をひとつずつ吸着して取り出し、所定の位置まで搬送して置くタスクを行う場合について説明する。包装物を吸着するには、吸着するためのエアが抜けて真空漏れが起こらないように、吸着パッドを搬送対象である包装物に密着させて吸引する必要がある。例えば、包装物の包装材であるビニールがしわになっている領域に吸着パッドを押し当ててから吸引しても、ビニールのしわがある領域から真空漏れが起こり、吸着することはできない。一方で、吸着パッドを密着させる前に吸引を開始して、吸引しながら包装物に吸着パッドを近づけると、薄くて柔らかい包装材であれば、吸着パッド内に包装材を引き込んで吸着することができる。そのため、本実施形態では、包装物を撮影した画像から、包装材の表面の状態に関する情報に基づいて、吸引を開始するタイミング、第１の静止時間、第２の静止時間の３つの吸着パラメータを求めて吸着を制御することによって、安定して吸着、搬送を行う。本実施形態では、実行モードと学習モードに分けて説明する。まず、吸着パラメータを決定し、吸着・搬送を行う実行モードの処理について説明する。図１（ａ）は本実施形態における情報処理システム１００００の構成を示した図である。情報処理システム１００００は情報処理装置１、撮像部１０、アクチュエータ部１１、吸着部１２からなる。アクチュエータ部１１に取り付けられた撮像部１０で撮影した画像情報に基づいて、ロボットアームであるアクチュエータ部１１を制御する。そして、容器１４に入った包装物１３をアクチュエータ部１１の先端に取り付けた吸着部１２で吸着して、搬送先である容器１５まで運ぶタスクを行う。なお、吸着部１２の先端は吸着パッドとよばれる吸着面になっており、様々な形状をとる。また、吸着部１２の圧力は図示しない圧力計が吸着パッド内の真空圧を計測し、情報処理装置１がその計測結果を取得できる。
【００１８】
図２は本実施形態における情報処理装置１の機能構成例を示す図である。情報処理装置１は、入力部２００、抽出部２０１、決定部２０２、制御部２０３、保持部２０５を備えている。入力部２００は撮像部１０と接続され、アクチュエータ制御部２０３１はアクチュエータ部１１と接続され、吸着制御部２０３２は吸着部１２と接続されている。ただし、図２は、機能構成の一例であり、本発明の適用範囲を限定するものではない。撮像部１０では、包装物と容器が写ったシーンのカラー画像と距離画像を撮像する。すなわち、撮像部１０には、例えばステレオカメラ、ＲＧＢ−Ｄカメラ等を用いる。本実施形態では、例えば、包装物１３および容器１４を含むシーンを撮像して、カラー画像および距離画像を出力する。入力部２００は、搬送される包装物を撮像した画像を入力する。撮像部１０が撮像するシーンのカラー画像と距離画像を入力し、抽出部２０１に出力する。
【００１９】
抽出部２０１は、入力された画像に対して、包装物の表面の状態と吸着に適した位置を対応させた画像特徴であるテンプレートを照合することによって、吸着装置を包装物に吸着させる吸着位置を抽出する。すなわち、入力部２００が入力したカラー画像または距離画像に基づいて吸着部１２を吸着させる位置を抽出する。ここでは、テンプレートを用いたパターンマッチングによって包装物の重心の位置を抽出する。吸着位置を取得する具体的な方法は後述する。取得した吸着位置に関する情報を決定部２０２およびアクチュエータ制御部２０３１に出力する。
【００２０】
決定部２０２は、包装物の表面の状態と吸引に関する制御するタイミングとの組み合わせに対して、吸着が成功したか否かを示す結果が紐付けられたデータに基づいて、包装物の表面の状態からタイミングを決定する。すなわち、抽出部２０１が入力した吸着位置に対応する画像領域において、保持部２０５が保持する包装材吸着特徴データベースに基づいて吸着パラメータを抽出する。ここでは、包装物の表面の状態は包装物の表面にあるしわの量を表す。包装材吸着特徴データベースについては後述する。また、具体的な処理については後述する。抽出した吸着パラメータは吸着制御部２０３２に出力する。また、吸着部１２の移動を制御する制御パラメータを決定する。制御パラメータは、吸着部１２の位置と姿勢、容器１４または容器１５の位置に基づいて決定される。
【００２１】
制御部２０３は、決定部によって決定された吸着パラメータまたは制御パラメータに従って、吸着部を制御する。制御部２０３は、アクチュエータ制御部２０３１と吸着制御部２０３２から構成される。アクチュエータ制御部２０３１は、吸着パラメータまたは制御パラメータに従ってアクチュエータ部１１を制御する。すなわち、抽出部２０１が入力した吸着位置に基づいて、包装物１３を吸着して搬送制御するためにアクチュエータ部１１を制御する。また、吸着する際には、吸着のタイミングなどを吸着制御部２０３２と連携して制御を行う。吸着制御部２０３２は、決定部２０２が入力した吸着パラメータに従って、包装物１３を吸着する際の吸引を開始するタイミング、第１の静止時間、第２の静止時間を設定して吸着を制御する。また、アクチュエータ制御部２０３１と連携して、包装物１３を吸着するために吸着パラメータに従って吸着部１２の吸引の制御を行う。保持部２０５は、決定部２０２が用いる包装材吸着特徴データベースおよび対応する特徴フィルタを保持しており、決定部２０２にデータベースと特徴フィルタの情報を出力する。なお、フィルタとは、画像における特徴量の変化を計算するための行列や処理を指す。
【００２２】
図１７を用いて決定部２０２で行う処理の概念を説明する。まず、決定部２０２は、抽出部２０１が入力した吸着位置に対応する画像領域において、画像パッチ１７０のカラー画像パッチや画像パッチ１７１の距離画像パッチを取得する。なお、画像パッチ１７０は包装物１３の吸着位置を撮影した画像であり、包装材の表面にしわが２本入った状態である。画像パッチ１７１は、画像パッチ１７０と対応した領域について、距離センサや視差画像から得た距離値を画像の各画素に対応させた画像である。包装材吸着特徴とは、撮像した画像中の包装材が存在する画像パッチ（対象画像を部分的に切り出したもの）領域において、画像パッチと後述する吸着パラメータの組み合わせに対して、吸着と搬送の成否判定結果が紐付けられたデータである。すなわち、ある包装物の表面の状態に適した吸着パラメータ（吸着に関するタイミング）を示すデータである。また、そのようなデータを大量に集めたものを包装材吸着特徴データベースと呼ぶ。包装材吸着特徴データベースのパッチ群に対して包装材の特性を抽出する特徴フィルタ１７２を画像パッチ１７０や画像パッチ１７１に適用すると、特徴ベクトル群が得られる。これによって、画像パッチ１７０について包装物の表面の状態を特徴ベクトル１７３０―１として取得する。特徴ベクトル１７３０−１とは、包装材の表面の状態を（特徴空間に）表したものである。同一、または類似の特徴ベクトルをひとまとまりにした特徴ベクトル群１７３１−１に、吸着パラメータと判定結果を対応付ける。そして、特徴ベクトルに対して、判定結果が成功となっている割合が高い吸着パラメータの値を選ぶことによって、判定が成功になりやすい吸着パラメータを求めることができる。例えば、包装物の表面にしわがないという特徴をもつ特徴ベクトルの群を特徴ベクトル群１７３１−１、１７３１−２、１７３１−３…１７３１−ｋというふうにクラスタリングする。また、このような複数の特徴ベクトル群から構成される空間を特徴ベクトル空間１７３と呼ぶ。特徴ベクトル空間１７３は、包装物の表面の特徴毎に特徴ベクトル部分空間１７４に分割できる。例えば、特徴ベクトル部分空間１７４はしわの量を軸にした１次元の空間である。また、特徴ベクトルについて他の軸を追加または集約することによって、平面１７５のように平面で表現することもできる。包装材の特性を抽出する特徴フィルタについては、例えば、エッジの密度は包装材のしわの生じやすさ、すなわち包装材の柔らかさや厚みを表現しており、包装材が重なった領域とそうでない領域との輝度や彩度の比は包装材の透過率や厚さを表現している。このような特徴フィルタを準備することによって、包装材の特性を表す特徴ベクトルを抽出できる。例えば、具体的にしわの数を求める場合であれば、例えばエッジを抽出するためのＳｏｂｅｌフィルタ、Ｌａｐｌａｃｉａｎフィルタ、Ｃａｎｎｙフィルタなどを用いて、しわの線を抽出する。
【００２３】
包装材吸着特徴データベースにおける成否判定結果の具体例を挙げる。被搬送物に接触して吸引している時に真空圧が閾値以下まで下がったか否か、被搬送物を吸着して吊上げることができたか否か、搬送先に被搬送物を搬送できたか否かの３つの判定結果がある。それぞれについて吸着パラメータの値ごとに成功または失敗の結果がそのデータ数分与えられている。さらに、これら３つの成否判定結果は、吸着パラメータにおける吸引を開始するタイミング、第１の静止時間、第２の静止時間とそれぞれ対応している。例えば、ある包装材吸着特徴のデータに関して、吸引を開始するタイミングの値（Ｐ１）に対応する成否判定結果を考える。Ｐ１に対する成否判定結果は、包装物に接触して吸引している時に真空圧が閾値以下まで下がったか否かについて、真空圧が所定の閾値以下まで下がった場合は、吸着パラメータの吸引を開始するタイミングの値が適切であると判断する。よって、包装材吸着特徴データベースでは、画像パッチに対応する特徴ベクトルが定まると、各吸着パラメータに関して、成功データ数と失敗データ数の割合から、成功データ数の割合が最も高い値を吸着パラメータとすればよい。ここでは、３つの成否判定結果がそれぞれ３つの吸着パラメータと独立に対応しているとして説明したが、これに限るものではない。例えば、成否判定結果３つ全てが成功である時のみ、対応する吸着パラメータ３つの組み合わせが適切であると判断してもよい。
【００２４】
図３は、情報処理装置１のハードウェア構成を示す図である。Ｈ１１はＣＰＵであり、システムバスＨ２０に接続された各種デバイスの制御を行う。Ｈ１２はＲＯＭであり、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）のプログラムやブートプログラムを記憶する。Ｈ１３はＲＡＭであり、ＣＰＵであるＨ１１の主記憶装置として使用される。Ｈ１４は外部メモリであり、情報処理装置１が処理するプログラムを格納する。入力部Ｈ１５はタッチパネルやキーボード、マウス、ロボットコントローラーであり、情報等の入力に係る処理を行う。表示部Ｈ１６はＨ１１からの指示に従って情報処理装置１の演算結果を表示装置に出力する。なお、表示装置は液晶表示装置やプロジェクタ、ＬＥＤインジケータなど、種類は問わない。Ｈ１７は通信インターフェイスであり、ネットワークを介して情報通信を行うものであり、通信インターフェイスはイーサネット（登録商標）でもよく、ＵＳＢやシリアル通信、無線通信等種類は問わない。Ｈ１８は入出力部（Ｉ／Ｏ）であり、カメラＨ１９と接続されている。なお、カメラＨ１９は撮像部１０に相当する。
【００２５】
第１の実施形態において、撮像部１０はアクチュエータ部１１に取り付けられている。撮像部１０で撮像した画像上で吸着可能な位置と姿勢を決定したとき、その位置にアクチュエータ部１１を移動させるために、アクチュエータ部１１の座標系と撮像部１０の座標系との関係を事前に校正し、６自由度のパラメータが得られているものとする。このパラメータは、ロボットの座標系に対する撮像部（カメラ）の座標系の相対関係を表す回転行列と平行移動ベクトルで表され、回転行列が３自由度、平行移動ベクトルが３自由度の自由度をそれぞれ持つ。同様に、吸着部１２はアクチュエータ部１１の先端に取り付けられている。吸着部１２を所望の位置に移動させるために、アクチュエータ部１１と吸着部１２の座標系との関係を事前に校正し、６自由度のパラメータが得られているものとする。
【００２６】
次に、本実施形態における処理手順について説明する。以下の説明では、各工程（ステップ）について先頭にＳを付けて表記する。まず、情報処理装置１が実行する処理について簡単に説明し、後で情報処理システムのフローチャートで処理の具体例を説明する。図１５は、情報処理装置１が実行する処理手順を示すフローチャートである。Ｓ４０００では、情報処理装置１が、パラメータの初期化を行う。Ｓ４０２０では、入力部２００が、撮像部１０にて撮像された画像を入力する。Ｓ４０３０では、抽出部２０１が、入力された画像から、包装物１３の吸着位置を抽出する。Ｓ４０４０では、決定部２０２が、入力された画像から包装物１３を包装する包装材の表面の状態から、吸着パラメータを決定する。Ｓ４０８０では、制御部２０３が、吸着部１２の吸引を開始する制御を行う。Ｓ４１４０では、情報処理装置１が、タスクが終了したか判断し、終了した場合は処理を終了し、タスクが終了していない場合はＳ４０２０に戻る。
【００２７】
図４は、本実施形態における情報処理装置１を含む情報処理システム１００００が実施する処理手順を示すフローチャートである。ただし、情報処理システム１００００はこのフローチャートで説明するすべてのステップを必ずしも行わなくてもよい。
【００２８】
Ｓ４０００では、情報処理装置１が、システムの初期化を行う。すなわち、外部メモリＨ１４からプログラムを読み込み、情報処理装置１を動作可能な状態にする。撮像部１０やアクチュエータ部１１の起動およびパラメータの読み込み、撮像部１０、アクチュエータ部１１、吸着部１２の校正情報の読み込み、撮像部１０の内部パラメータ（焦点距離、画像中心位置、レンズ歪み等）は、事前に校正したものを用いる。また、容器１４や容器１５の位置を読み込む。さらに、保持部２０５から包装材吸着特徴データベースと対応する特徴フィルタを読み込み、包装材吸着特徴データベースの画像パッチ群に対して特徴フィルタを適用し、画像パッチに対応する特徴ベクトルを求めておく。そして、同一または類似した特徴ベクトルごとに分類して、各特徴ベクトルに対して成否判定結果を参照して、成功しやすい吸着パラメータを紐付けておく。また、撮像する前に、アクチュエータ制御部２０３１が、校正された位置に基づいて、アクチュエータ部１１を制御することによって、撮像部１０が容器１４に入った包装物１３を撮像できる位置に移動させておく。
【００２９】
Ｓ４０１０では、撮像部１０が、容器１４に入った包装物１３を、カラー画像および距離画像として撮像する。Ｓ４０２０では、入力部２００が、包装物を撮像した画像を入力する。Ｓ４０１０で撮像したカラー画像および距離画像を抽出部２０１へ入力する。包装材の表面を観測できるものであれば、グレースケール画像、赤外線画像を取得してもよい。Ｓ４０３０では、抽出部２０１が、吸着装置を包装物に吸着させる吸着位置を抽出する。具体的には、包装物の特徴を示すテンプレート（画像特徴）と、Ｓ４０１０で抽出した画像を照合することによって包装物の位置を抽出する。テンプレート毎に吸着位置（物体の重心位置）のデータが与えられている。つまり、カラー画像から容器１４の中で山積みになっている包装物１３を検出するための画像特徴を抽出して、包装物１３の特徴を示すテンプレートとマッチングすることによって、包装物１３の吸着位置を特定する。ここで、テンプレートとは、包装物１３と吸着位置（物体の重心位置）を様々な姿勢で観測して、画像における特徴とその画像に含まれる包装物１３の吸着位置と姿勢とを紐付けたものであり、その特徴が似ていれば類似の姿勢状態であることを示すものである。また、テンプレートごとに吸着位置が決まっている。そのため、入力された画像のある部分がテンプレートとマッチングした場合、対応する部分を吸着位置として取得する。なお、テンプレートは保持部２０５で保持しているか、外部の記憶部に保持しているものを取得する。テンプレートは２次元の画像でもよいし、包装物の３次元モデルでもよい。ここでは複数の包装物の２次元における位置を取得する。さらに、Ｓ４０１０で取得した距離画像（３次元情報）において、他の包装物と干渉していない包装物の位置を特定し、距離画像から３次元的に包装物の姿勢を抽出する。そして、吸着可能な面が存在する包装物の吸着候補領域（抽出結果）を取得する。すなわち、包装物が存在する領域を包装物の画像特徴と照合することで包装物の２次元の位置を抽出し、さらに距離画像の奥行情報を用いて吸着部が吸着可能な複数の包装物の３次元位置を抽出した結果が吸着候補領域である。包装物の３次元位置を用いることによって精度よく吸着させる位置を決定できる。距離画像において、山積み状態の包装物１３の中で、手前の方に存在しており、他の包装物と干渉していない包装物１３の位置を特定し、距離画像から３次元的に姿勢を求める。つまり、複数の包装物のうち撮像部１０からの奥行を示す値が最小である吸着候補領域を吸着位置として決定する。山積みの包装物を上から吸着していくことで山が崩れることを防げるため、安定的に吸着できる。なお、吸着位置を抽出する方法はこの方法に限らない。
【００３０】
Ｓ４０４０では、決定部２０２が、包装物の表面の状態と吸着に関するタイミングの組み合わせに対して吸着が成功したか否かの結果が紐付けられたデータに基づいて、包装物の表面の状態から吸着パラメータを決定する。カラー画像および距離画像と包装材吸着特徴情報データベースを利用して、Ｓ４０３０で取得した吸着位置およびその周辺における吸着パラメータを決定する。具体的には、まず、吸着位置およびその周辺のカラー画像または距離画像の画像パッチを抽出する。この時、画像パッチのサイズは実寸で吸着パッド径が収まる大きさの正方形となるように距離画像に基づいて設定する。実際に吸着パッドが押し当てられる領域（＝吸着パッド径が収まる大きさ）だけが、吸着パラメータの推定に大きく影響するため、画像パッチの大きさを吸着パッド径に合わせる。実寸サイズに合わせて取得した画像パッチは、距離に応じて画素サイズが異なるため、リサイズして一定のサイズになるよう拡大縮小する。例えば縦横６４画素にリサイズする。そして、リサイズした画像パッチに特徴フィルタを適用して特徴ベクトルを求める。次に、包装材吸着特徴データベースで特徴ベクトルとの照合を行う。類似した特徴ベクトルが見つかると、それに紐付けられた成功しやすい吸着パラメータを抽出することによって、吸着パラメータを求める。ここではカラー画像および距離画像を用いる例について述べたが、これに限るものではなく、カラー画像と距離画像のどちらか一方を用いて包装材吸着特徴データベースとの照合を行ってもよい。また、カラー画像以外であっても、モノクロ画像や赤外光画像や紫外線画像などを用いてもよいし、吸着位置を様々な視点から撮影した複数の画像を用いてもよいし、パターン光を投影して撮影した画像を用いてもよい。いずれの場合も、入力に対して照合可能な形式の包装材吸着特徴データベースが準備されているものとする。ここでは、画像パッチのサイズは縦横６４画素として説明したが、これに限るものではない。
【００３１】
Ｓ４０５０では、決定部２０２が、吸着部１２の初期位置と、包装物１３、容器１５の位置情報に基づいて制御パラメータを決定する。制御パラメータとは、アクチュエータ部１１が吸着部１２の位置を移動制御するためのパラメータである。例えば、包装物１３の位置まで吸着部１２を移動させる制御をパラメータとして決定する。Ｓ４０６０では、アクチュエータ制御部２０３１が、Ｓ４０５０で決定された制御パラメータに従って、抽出部２０１が入力した吸着位置付近に吸着部１２が到達するようにアクチュエータ部１１を制御する。Ｓ４０７０では、情報処理装置１は、吸着制御部２０３２が求めた吸着パラメータのうち、吸引を開始するタイミングＰ１を参照して判断を行う。吸引を先に開始する（Ｐ１＝０）場合には、Ｙｅｓと判断してＳ４０８０に進む。一方、吸引を接触した（Ｐ１＝１）後で行う場合には、Ｎｏと判断してＳ４０７１に進む。Ｓ４０８０では、吸着制御部２０３２が吸着部１２の吸引を開始する制御を行う。Ｓ４０９０では、アクチュエータ制御部２０３１が、Ｓ４０５０で決定された制御パラメータに従って、吸着部１２を包装物１３に吸引しながら接触させるようにアクチュエータ部１１を制御する。そしてＳ４１００に進む。Ｓ４０７１では、アクチュエータ制御部２０３１が、Ｓ４０５０で決定された制御パラメータに従って、吸着部１２を包装物１３に接触させるようにアクチュエータ部１１を制御する。Ｓ４０７２では、吸着制御部２０３２が吸着部１２の吸引を開始する制御を行う。この時、吸着部１２は包装物１３に接触している状態である。そしてＳ４１００に進む。なお、Ｓ４０５０で決定された制御パラメータに従って制御されることで吸着部１２は包装物１３の吸着位置に到達することが可能であるが、吸着部１２と包装物１３が接触したか否かを判断することによってより安定的にピッキングを行える。例えば、図示しない観測部が吸着部の真空圧を観測し、所定の値より真空圧が下がった場合に接触したと判断してもよい。あるいは、ロボットハンドや吸着パッドに接触センサを搭載しておき、図示しない検知部によって接触を検知してもよい。
【００３２】
ここで図１８を使って吸引を開始するタイミングの具体例を説明する。グラフ１８には、縦軸には吸着部１２の吸引制御について吸引がＯＮになっている状態とＯＦＦになっている状態を示し、横軸は時間を表現している。Ｔ＝０では、容器１４に入った包装物を容器１５に搬送するタスクを開始したタイミングを表す。Ｔ＝Ｔ１では、吸着部と包装物が接触するタイミングを表す。Ｔ＝Ｔ２では、包装物の搬送を開始するタイミングを表す。Ｔ＝Ｔ３は吸引を停止して包装物をリリースするタイミングを表す。場面１８０は、Ｔ＝０の時点における撮像部１０、吸着部１２、包装物（被搬送物）１３、容器１４、残りの搬送物が示されている。撮像部１０、吸着部１２はそれぞれ情報処理装置１に接続されてある。情報処理装置１は、撮影された画像から包装物１３の吸着位置を抽出する。Ｔ＝０で、撮像部１０は包装物１３と容器１４を撮影する。容器１４には山積みされた複数の包装物１４があり、山の頂上には包装物１３が積まれている。グラフ１８において、吸着パラメータがＰ１＝０である場合は実線、Ｐ１＝１である場合は点線で吸引制御が表される。場面１８１のように、吸着部１２が包装物１３に到達する直前（Ｔ＝Ｔ１−ΔＴ秒）において、吸着パラメータＰ１＝０である場合はこの時点で吸引を開始する。吸着開始パラメータ（Ｐ１）がＰ１＝１であるときは、Ｔ＝Ｔ１のタイミングで吸着部１１の吸引を開始する。場面１８２で表されるように、Ｔ＝Ｔ１では包装物１３と吸着部１１が接触する。次に、Ｐ２に数値が設定されている場合、Ｐ２秒間だけ場面１８２の状態で吸引したまま静止する。接触してからＰ２秒後であるＴ＝Ｔ２のタイミングで、吸着部１２は包装物１３の搬送を開始する。場面１８３は搬送中の状態である。搬送後、目的地である容器１５の付近に到達したＴ＝Ｔ３を設置する。このとき場面１８４のようになる。ここでＰ３が設定されている場合は、吸引を停止して、吸着部をＰ３秒間だけ静止する。Ｔ３＋Ｐ３秒後に、再び吸着部を動かす。このように、情報処理装置１は、決定された吸着パラメータに従って吸引するタイミングを変更する。
【００３３】
Ｓ４１００では、アクチュエータ制御部２０３１が、Ｓ４０４０で決定された吸着パラメータのうち、第１の静止時間（Ｐ２）に従って、吸着部１２を包装物１３に接触させて吸引している状態で第１の静止時間（Ｐ２秒）の間だけ静止させる。つまり、アクチュエータ部１１がＰ２秒間静止する。ここで静止することによって、例えば、包装物の表面がしわが多い状態である場合、吸着部を包装物の表面にあてながら吸引することでしわを引き込んで伸ばせるので十分に吸着させることができる。Ｓ４１１０では、アクチュエータ制御部２０３１が、Ｓ４０５０で決定された制御パラメータに従って、アクチュエータ部１１を制御して包装物１３を容器１５まで搬送する。Ｓ４１２０では、吸着制御部２０３２が、吸着部１２で吸着していた包装物１３を容器１５にリリースするために、吸着部１２の吸引を停止する制御を行う。Ｓ４１３０では、アクチュエータ制御部２０３１が、吸着パラメータのうち、第２の静止時間（Ｐ３）に従って、Ｓ４１２０で吸引を停止してから第２の静止時間（Ｐ３秒）の間だけ静止する。この静止時間中に、包装物１３は吸着部１２から容器１５に完全にリリースされる。例えば、包装材が柔らかめの材質で吸着部から離れにくい場合でも、少し静止することによって、リリースの成功率が向上する。
【００３４】
Ｓ４１４０では、情報処理装置１が、タスクを終了する場合に処理を終了する。処理を終了しない場合には、Ｓ４１４１に進む。ここでタスクを終了する判断は、これ以上、容器１４から容器１５に包装物を搬送しなくてもよい状態になった場合である。例えば、容器内の包装物が無くなった時、容器１５にこれ以上包装物が入らない時、ユーザが必要とする個数だけ包装物を搬送し終えた時などが挙げられる。Ｓ４１４１では、アクチュエータ制御部２０３１が、アクチュエータ部１１を制御して容器１４内の包装物を撮影できる位置姿勢まで移動する。そしてＳ４０１０に戻る。
【００３５】
以上の処理により、包装物１３を容器１４から容器１５に吸着・搬送することができる。第１の実施形態の実行モードでは、包装物を吸着する位置における包装材の情報に基づいて、吸引を開始するタイミング、第１の静止時間、第２の静止時間の３つの吸着パラメータを決定して吸着の制御を行う。そのため、包装材に包装された物体を安定して吸着、搬送を行うことができる。
【００３６】
実行モードでは、容器に入った山積み状態の包装物を容器から吸着して取り出し、所定の位置まで搬送して置くタスクを行う際に、包装材吸着特徴データベースが前もって準備されている場合について述べた。これに対して、学習モードでは、保持部が保持する包装吸着特徴データベースを学習によって獲得する場合について説明する。学習モードにおける情報処理システムは、情報処理装置内に図示しないモード切替部を有しており、タスクを行う実行モードと、学習を行う学習モードとを切り替えることができる。ここでは、学習モードについて説明する。学習モードにおける情報処理システム１００００の構成は第１の実施形態に示した図１と同様であるため省略する。
【００３７】
図５は、学習モードにおける情報処理装置１の機能構成例を示す図である。学習モードにおける情報処理装置１は実行モードに示した図２と同様の機能構成がある。すなわち、図５の情報処理装置１は、入力部５００、抽出部５０１、決定部５０２、制御部５０３、保持部５０５を有する。図５の情報処理装置１は、さらに判定部５０６、データ取得部５０７、学習部５０８を有する。
【００３８】
入力部５００は、包装物を撮像した画像を入力する。つまり、撮像部１０が包装物を撮像したカラー画像と距離画像を入力し、抽出部５０１に出力する。抽出部５０１は、入力された画像に対して、包装物の表面の状態と吸着に適した位置を対応させた画像特徴であるテンプレートを照合することによって、吸着装置を包装物に吸着させる吸着位置を抽出する。つまり、入力部５００が入力したカラー画像または距離画像に基づいて吸着部１２を吸着させる位置を抽出する。抽出された吸着位置に関する情報を決定部５０２およびアクチュエータ制御部５０３１に出力する。決定部５０２は、包装物の表面の状態と吸着に関するタイミングの組み合わせに対して吸着が成功したか否かを示す結果が紐付けられたデータに基づいて、吸着を行う時間またはタイミングを示す吸着に関するタイミングを決定する。つまり、抽出部５０１が入力した吸着位置に対して、保持部５０５が入力した包装材吸着特徴データベースにおけるリクエストに基づいて吸着パラメータを取得する。具体的には、吸着位置に対応する画像パッチに対して、包装材吸着特徴データベースに対応する特徴フィルタを用いて特徴ベクトルを求める。そして、包装材吸着特徴データベースにおいて、特徴ベクトルごとにデータを収集するべき３つの吸着パラメータそれぞれの値がリクエストとして設定されているため、それを吸着パラメータとして取得する。取得した吸着パラメータは吸着制御部５０３２に出力する。包装材吸着特徴データベースにおけるリクエストの設定の詳細については後述する。
【００３９】
制御部５０３は、画像に基づいて特定された包装物の表面の状態から決定された吸着に関するタイミングに従って、吸着装置を制御する。すなわち、決定手段によって決定された吸着に関するタイミングに従って、吸着部を制御する。制御部５０３は、アクチュエータ制御部５０３１と吸着制御部５０３２から構成される。アクチュエータ制御部５０３１は、抽出部５０１が入力した吸着位置に基づいて、包装物１３を吸着して搬送制御するためにアクチュエータ部１１を制御する。また、吸着する際には、吸着のタイミングなどを吸着制御部５０３２と連携して制御を行う。吸着制御部５０３２は、決定部５０２が入力した吸着パラメータに従って、包装物１３を吸着する際の吸引を開始するタイミング、第１の静止時間、第２の静止時間を設定して吸着を制御する。また、アクチュエータ制御部５０３１と連携して、包装物１３を吸着するために吸着パラメータに従って吸着部１２の吸引の制御を行う。保持部５０５は、包装材吸着特徴データベースおよび対応する特徴フィルタを保持しており、決定部５０２および学習部５０８にデータベースと特徴フィルタの情報を出力する。また、後述する学習部５０８が包装材吸着特徴データベースのデータおよびリクエストを追加更新した場合には、保持部５０５はデータベースとリクエストの更新を行う。
【００４０】
判定部５０６は、吸着部の真空圧を観測することによって包装物を搬送するタスクが成功したか否かの結果を判定する。各チェックポイントで正常な状態か否かの判定を行い、判定結果をデータ取得部５０７に出力する。判定部５０６が判定するチェックポイントは、以下が具体例である。吸着部１２が包装物１３と接触して吸引している時に真空圧が閾値以下まで下がっていたか。吸着して搬送を開始して包装物１３を吊上げることができたか（吊上げる位置まで上昇した時にも真空圧は閾値以下になっているか）。リリース後に所望の範囲内に包装物２３が配置されているか等である。ただし、チェックポイントはこれらに限るものではなく、これらの少なくとも一つを含んでいればよい。例えば、吸引を開始するタイミングが接触前の場合に、包装物に接触（して停止）するよりも前に真空圧が下がったかどうかを判定してもよい。吸引を開始するタイミングが接触前であるにも関わらず、接触する前に真空圧が全く下がらなかった場合には、接触前に吸引を開始する意味が無いため、接触時に吸引を開始すればよいことを学習させることができる。データ取得部５０７は、判定部５０６が入力した吸着、搬送を行った判定結果と対応する吸着パラメータ、およびその際の吸着位置におけるカラー画像および距離画像の画像パッチを受け取り、データを収集する。収集したデータは統合して包装材吸着特徴のデータ群として学習部５０８に出力する。学習部５０８は、包装物の表面の状態と吸着に関するタイミングとの組み合わせに対して、タスクの結果データを与えることによって吸着に関するタイミングを学習する。判定手段によって真空圧が所定の値より小さいと判定された場合には成功データを与える。包装物の表面の状態に対して、判定手段によって真空圧が所定の値より大きいと判定された場合には失敗データを与える。また、保持部５０５が入力した包装材吸着特徴データベースおよび対応する特徴フィルタに基づいて、データベースを改善するのに必要なデータの吸着パラメータを含むリクエストを取得する。加えて、データ取得部５０７が収集したデータを基にして、包装材吸着特徴データベースとリクエストを更新する。そして更新した包装材吸着特徴データベースとリクエストを保持部５０５に出力する。学習部５０８における詳細な手順については後述する。
【００４１】
図１９（ａ）を用いてリクエストについて説明する。包装材吸着特徴データベースによる特徴フィルタを用いて画像パッチを特徴ベクトルに変換する。さらに類似の特徴ベクトルをひとまとまり（特徴ベクトル群）にした際に、特徴ベクトル群（図１７における１７３１−１、１７３１−２、１７３１−３…）ごとにデータ収集を必要とする３つの吸着パラメータそれぞれの値を設定したものがリクエストである。すなわち、リクエストは、各特徴ベクトル群に定義され、３つの吸着パラメータに対してデータの要求があるか否かを２値で表す。例えば、図１９（ａ）では特徴ベクトル群１７３１−１に関して、吸引を開始するタイミングが接触前は要、第１の静止時間が０．１秒は要、第２の静止時間が０秒は要というふうに吸着パラメータのデータを要求することを示す。次に、リクエストの設定方法について説明する。まず、包装材吸着特徴データベースに全く登録されていない段階では、特徴ベクトルのまとまりごとに３つの吸着パラメータのそれぞれのパラメータ空間からランダムに値を選んで設定すればよい。ただし、吸着パラメータ空間では、設定するべき吸着パラメータが離散的に値を持っているものとする。例えば、吸引を開始するタイミングは接触前か接触時の２値、第１の静止時間は０．０秒から１．０秒まで０．１秒刻みで値を取りうるとする。
【００４２】
次に、包装材吸着特徴データベースにいくつか包装材吸着特徴のデータが登録されている状態の処理について説明する。同様にして求めた特徴ベクトルのまとまりごとに、吸着パラメータに対応する成否判定結果を吸着パラメータ空間にマッピングする。つまり、３つの吸着パラメータに関して、それぞれのパラメータ空間における離散値に対して成功データおよび失敗データの度数が得られる。この時、特徴ベクトルのまとまりに対して、それぞれの吸着パラメータにおいて、成功率が高い値が存在していれば、その値を吸着パラメータとして用いればよい。ここで、成功率は同じ吸着パラメータで所定の回数以上、吸着・搬送を行った際に成功した確率として求められる。こうして、成功率の高い吸着パラメータの値を見つけられれば、データを収集するためのリクエストを設定する必要がなくなる。リクエストを設定する必要がなくなった吸着パラメータについては、データ要否を否とする。現在の吸着位置において、データ要否が全て否の場合には、吸着位置を変更してデータ収集を行う。次に、成功率が高い吸着パラメータが見つかっていない場合について述べる。まず、成功データが存在している吸着パラメータにおいて、成功データの数と失敗データの数の和が小さい吸着パラメータについては、よりデータを増やして成功データが増えるかどうかを確認するためにその吸着パラメータの値をリクエストとして設定する。そして、成功データと失敗データの数の和が閾値Ｔｔ以上になっても成功データの数が失敗データの数のよりも閾値Ｔｄだけ大きくならない場合には、この吸着パラメータの値は成功率が高くない（適切でない）値であると判断し、リクエストの対象から除外する。失敗データ数が明らかに多い吸着パラメータについても、成功率が低い吸着パラメータの値であると判断して、その吸着パラメータの値をリクエスト対象から除外する。成功データも失敗データも得られていないような、データ収集を試みていない吸着パラメータが複数存在する場合については、吸着パラメータ空間で近くに成功データが存在している吸着パラメータの値を優先的にリクエストとして設定されるようにする。または、近くに失敗データが存在していない吸着パラメータの値を、優先的にリクエストとして設定されるようにする。このようにして、特徴ベクトルのまとまりに対して、適切な吸着パラメータが１組以上求まるまで、除外されていない中から吸着パラメータの値をリクエストとして設定し、データを収集する。ただし、全ての特徴ベクトルに対して吸着パラメータを求める必要は必ずしもない。例えば、ある吸着・搬送タスクにおいて滅多に出現しない特徴ベクトルについては、適切な吸着パラメータを求めなくてもよい。また、リクエストの設定方法については、これに限るものではない。例えば、いつもランダムに値を設定してもよい。
【００４３】
次に、本実施形態の学習モードにおける処理手順について説明する。まず、学習モードで行う処理の概略について説明する。図１６は、情報処理装置１が実行する処理手順を示すフローチャートである。Ｓ６０００では、情報処理装置１が初期化を行う。Ｓ６０２０では、入力部５００が、撮像部１０によって撮像された画像を抽出部５０１に入力する。Ｓ６０３０では、抽出部５０１が、Ｓ６０２０で入力された画像に基づいて、包装物１３の吸着位置と、その周辺の画像から吸着位置の包装材の表面の状態を抽出する。Ｓ６０４０では、決定部５０２が、吸着位置の包装材の表面の状態から吸着パラメータを決定する。Ｓ６０８０では、制御部５０３が吸着パラメータに従ってアクチュエータ部１１または吸着部１２を制御する。Ｓ６１６０では、判定部５０６が、決定された吸着パラメータが適切であったかを吸着および搬送の成否に基づいて判定する。Ｓ６１７０では、データ取得部５０７が、包装材の表面の状態と吸着パラメータの組合せに対して、吸着の成否の判定結果が紐づけられたデータを取得する。Ｓ６１８０では、学習部５０８が、Ｓ６１７０で取得されたデータを用いて、収集したデータを基にして包装材吸着特徴データベースの更新を行う。Ｓ６２００では、情報処理装置１がタスクを終了するか判断する。タスクが終了した場合は、処理を終了し、タスクが終了していない場合はＳ６０２０に戻る。次に、詳細な処理について説明する。図６は、本実施形態における情報処理装置１を含む情報処理システム１００００が学習モードにおいて実施する処理手順を示すフローチャートである。
【００４４】
Ｓ６０００では、情報処理システム１００００が、システムの初期化を行う。すなわち、外部メモリＨ１４からプログラムを読み込み、情報処理装置１を動作可能な状態にする。撮像部１０やアクチュエータ部１１の起動およびパラメータの読み込み、撮像部１０、アクチュエータ部１１、吸着部１２の校正情報の読み込み、撮像部１０の内部パラメータ（焦点距離、画像中心位置、レンズ歪み等）は、事前に校正したものを用いる。また、容器１４や容器１５の位置を読み込む。さらに、保持部５０５から包装材吸着特徴データベースと対応する特徴フィルタを読み込み、包装材吸着特徴データベースの画像パッチ群に対して特徴フィルタを適用し、画像パッチに対応する特徴ベクトルを求めておく。そして、同一または類似した特徴ベクトルごとに分類して、各特徴ベクトルに対して成否判定結果を参照して、成功しやすい吸着パラメータを紐付けておく。また、撮像する前に、アクチュエータ制御部５０３１が、校正された位置に基づいて、アクチュエータ部１１を制御することによって、撮像部１０が容器１４に入った包装物１３を撮像できる位置に移動させておく。Ｓ６００１では、学習部５０８が、足りていない成否結果のデータを得られるように、成否結果を取得するべき吸着パラメータの組をリスト化することでリクエストの生成を行い、保持部５０５のリクエストを更新する。そしてＳ６０１０に進む。Ｓ６０１０では、撮像部１０が、容器１４に入った包装物１３を、カラー画像および距離画像として撮像する。Ｓ６０２０では、入力部５００が、包装物を撮像した画像を入力する。撮像部１０によって撮像された画像を抽出部５０１に入力する。
【００４５】
Ｓ６０３０では、抽出部５０１が、入力された画像に対して、包装物の表面の状態と吸着に適した位置を対応させた画像特徴であるテンプレートを照合することによって、吸着装置を包装物に吸着させる吸着位置を抽出する。そしてＳ６０４０に進む。具体的な処理については、Ｓ４０３０で説明したものと同様である。さらにＳ６０３０は、Ｓ６０４１から遷移してきた場合には、先に求めた吸着位置とは異なる吸着位置を抽出する。つまり、吸着位置の画像パッチに対応する特徴ベクトルにおいて、３つの吸着パラメータいずれにおいてもリクエストが無い場合には、吸着候補領域の中で既に確認が不要となった吸着位置を除外する。その上で、その他の吸着位置候補の中から吸着位置を求めて決定部５０２に出力する。
【００４６】
Ｓ６０４０では、決定部５０２が、吸着位置における包装材の表面の状態に応じて吸着に関するタイミング（吸着パラメータ）を決定する。すなわち吸着位置におけるカラー画像および距離画像の画像パッチに対して、保持部５０５が入力した包装材吸着特徴情報データベースに対応する特徴フィルタを適用して特徴ベクトルを求める。保持部５０５が入力したリクエストに基づいて、特徴ベクトルに対応する吸着パラメータを取得する。ここで、画像パッチは実寸で吸着パッド径が収まる範囲の正方形領域をリサイズして縦横６４画素にしたものである。こうして取得した吸着パラメータを吸着制御部５０３２に出力する。そしてＳ６０４１に進む。ただし、吸着パラメータの各要素のうち、リクエストが無い要素については、既に成功しやすい吸着パラメータ要素が分かっているので、それを用いる。また吸着パラメータのいずれの要素においてもリクエストが無い場合には、リクエストが無いものとしてＳ６０４１に進む。
【００４７】
Ｓ６０４１では、決定部５０２が、決定部５０２で決定された吸着パラメータに、学習部５０８からのリクエストに含まれていた吸着パラメータが含まれているかを判断する。決定された吸着パラメータにリクエストされた吸着パラメータが含まれていない場合にはＳ６０３０に戻って、新たな吸着位置を取得する。決定された吸着パラメータの中に、リクエストに含まれる３つの吸着パラメータが１つでも存在する場合にはＳ６０５０に進む。Ｓ６０５０では、決定部５０２が、Ｓ６０４０で取得した吸着パラメータと、吸着部１２の初期位置と、包装物１３、容器１５の位置情報に基づいて制御パラメータを決定する。制御パラメータとは、アクチュエータ部１１が吸着部１２の位置を移動制御するためのパラメータである。Ｓ６０６０では、アクチュエータ制御部５０３１が、Ｓ６０５０で決定された制御パラメータに従って、抽出部５０１が入力した吸着位置付近に吸着部１２が到達するようにアクチュエータ部１１を制御する。
【００４８】
Ｓ６０７０では、吸着制御部５０３２が、Ｓ６０４０で求めた吸着パラメータのうち、吸引を開始するタイミングＰ１を参照して判断を行う。吸引を先に開始する（Ｐ１＝０）場合には、Ｙｅｓと判断してＳ６０８０に進む。一方、吸引を接触した（Ｐ１＝１）後で行う場合には、Ｎｏと判断してＳ６０７１に進む。
【００４９】
Ｓ６０８０では、吸着制御部５０３２が吸着部１２の吸引を開始する。Ｓ６０９０では、アクチュエータ制御部５０３１が、Ｓ６０５０で決定された制御パラメータに従って、吸着部１２を包装物１３に吸引しながら接触させるようにアクチュエータ部１１を制御する。そしてＳ６０９１に進む。Ｓ６０７１では、アクチュエータ制御部５０３１が、Ｓ６０５０で決定された制御パラメータに従って、吸着部１２を包装物１３に接触させるようにアクチュエータ部１１を制御する。Ｓ６０７２では、吸着制御部５０３２が吸着部１２の吸引を開始する。この時、吸着部１２は包装物１３に接触している状態である。そしてＳ６０９１に進む。
【００５０】
Ｓ６０９１では、判定部５０６が、真空圧が閾値Ｔ１まで下がっているか否かを判定する。真空圧がＴ１より低い場合は吸着に成功（真空漏れが生じていない）しており、Ｓ６１００に進む。真空圧がＴ１より高い場合は吸着に失敗（真空漏れが生じている）しており、Ｓ６０９２に進む。なお、Ｔ１は包装物の重さと吸着パッドの大きさに基づいて、包装物を吊上げられる力になるように真空圧の閾値を設定する。Ｓ６０９２では、判定部５０６が、設定した吸着パラメータのうち吸引を開始するタイミング（Ｐ１）について失敗の判定を付ける。吸着できていないため、搬送などは行わずＳ６１７０に進む。
【００５１】
Ｓ６１００では、アクチュエータ制御部５０３１が、Ｓ６０４０で決定された吸着パラメータのうち、第１の静止時間（Ｐ２）に従って、吸着部１２を包装物１３に接触させて吸引している状態で第１の静止時間（Ｐ２秒）の間だけ静止させる。ここで静止することによって、例えば、包装物の表面がしわが多い状態である場合、吸着部を包装物の表面にあてながら吸引することでしわを引き込んで伸ばせるので十分に吸着させることができる。
【００５２】
Ｓ６１０１では、アクチュエータ制御部５０３１が、アクチュエータ部１１を制御して吸着部１２を上方向に少し動かす。第１の静止時間（Ｐ２秒）の成否を判断するために行う制御である。動かす量としては、吸着部１２に包装物が吸着されているとした場合に、包装物が宙に浮くことを確認できる程度であればよい。そしてＳ６１０２に進む。
【００５３】
Ｓ６１０２では、判定部５０６が、真空圧が閾値Ｔ２まで下がっているか否かを判定する。真空圧がＴ２より低い場合は、吸着して保持することに成功しており、Ｓ６１１０に進む。真空圧がＴ２より高い場合は吸着して保持することに失敗しており、Ｓ６１０３に進む。なお、Ｔ２はＴ１＞＝Ｔ２であるとする。
【００５４】
Ｓ６１０３では、判定部５０６が、設定した吸着パラメータのうち第１の静止時間（Ｐ２）について失敗の判定を付ける。そして、Ｓ６１７０に進む。Ｓ６１１０では、アクチュエータ制御部５０３１が、Ｓ６０５０で決定された制御パラメータに従って、アクチュエータ部１１を制御して包装物１３を容器１５まで搬送する。Ｓ６１２０では、吸着制御部５０３２が、吸着部１２で吸着していた包装物１３を容器１５にリリースするために、吸着部１２の吸引を停止する。
【００５５】
Ｓ６１３０では、アクチュエータ制御部５０３１が、吸着パラメータのうち第２の静止時間（Ｐ３）に従って、Ｓ６１２０で吸引を停止してから第２の静止時間（Ｐ３秒）の間だけアクチュエータ部１１を静止させる。この静止時間中に、包装物１３は吸着部１２から容器１５に完全にリリースされる。例えば、包装材が固めの材質で吸着部から離れにくい場合でも、少し静止することによって、リリースの成功率が向上する。
【００５６】
Ｓ６１４０では、アクチュエータ制御部５０３１が、アクチュエータ部１１を制御して包装物の配置を確認するための位置に移動させる。確認するための位置とは搬送先を撮像部２０で撮像できる位置である。Ｓ６０００において予めこの位置を取得しておく。Ｓ６１５０では、判定部５０６が、包装物を搬送先に配置できたどうかを判定する。判定方法としては、搬送先を撮像部２０で撮像して、包装物が搬送先で所望の位置または姿勢で配置されているかどうか、包装物の位置姿勢認識結果を判定する。位置姿勢認識では、撮影された画像から包装物の位置と姿勢を推定して、目標の位置と姿勢を比較する。重力センサのような物体の有無判定を行うようなセンサを用いてもよい。そして、Ｓ６１６０に進む。
【００５７】
Ｓ６１６０では、判定部５０６が、設定した吸着パラメータのうち第２の静止時間（Ｐ３）について、Ｓ６１５０での判定で、位置姿勢認識の結果が所望の位置姿勢の範囲内である場合には成功の判定を付ける。位置姿勢認識の結果が所望の位置姿勢の範囲外である場合には失敗の判定を付ける。また、吸着パラメータの吸引を開始するタイミング（Ｐ１）と第１の静止時間（Ｐ２）については成功の判定を付ける。そしてＳ６１７０へ進む。なお、対象物を適切に配置できていると見なせる範囲は、吸着部１２を十分に長い時間静止させたときに包装物が配置される範囲とする。何度か同様の処理を繰り返して経験的に取得してもよい。
【００５８】
Ｓ６１７０では、データ取得部５０７が、吸着パラメータの判定結果とカラー画像および距離画像の画像パッチを受け取り、包装材吸着特徴のデータとして収集する。そしてＳ６１８０に進む。吸着パラメータの判定結果は、Ｓ６０９２、Ｓ６１０３、Ｓ６１６０のいずれかの判定結果である。具体的には、Ｓ６０９２を経由した場合は、吸引を開始するタイミングは失敗、その他はデータ無しというデータを与える。Ｓ６１０３を経由した場合は、吸引を開始するタイミングは成功、第１の静止時間は失敗、第２の静止時間データ無しというデータを与える。Ｓ６１６０を経由した場合は、吸引を開始するタイミングは成功、第１の静止時間は成功、第２の静止時間は成功または失敗というデータが与えられる。
【００５９】
Ｓ６１８０では、学習部５０８が、収集したデータを基にして包装材吸着特徴データベースの更新を行う。そしてＳ６１９０へ進む。具体的には、データ取得部５０７から包装材吸着特徴のデータを受け取り、受け取ったデータに関して、画像パッチから特徴ベクトルを求める。そして、求めた特徴ベクトルの成功データ、失敗データを、包装材吸着特徴データベースの特徴ベクトルのまとまりごとに存在する吸着パラメータ空間に追加する。そして、特徴ベクトルのまとまりごとに、最も成功率が高い吸着パラメータの組を求める。こうして求めた吸着パラメータの組が、実行モードに切り替えた場合に抽出される暫定的な吸着パラメータとなる。ただし、事前に定めたリクエストの候補に対して、網羅的にデータをサンプルしても成功データが得られなかった場合は、学習を打ち切るものとする。または、成功データが得られてもその吸着パラメータでの成功データの確率が著しく低いことが確認された時点（各パラメータセットでＮ＝１０回データをサンプルし、Ｍ＝２回以下しか成功していない等）で、学習を打ち切るものとする。例えば、包装物の表面に穴が開いている状態を示す特徴ベクトルにおいては、どんな吸着パラメータを変更しても吸着を失敗する可能性が高い。このような、適切な吸着パラメータが見つからない特徴ベクトルについては、学習モードにおいては学習を打ち切り、実行モードにおいては、吸着位置を変更する処理を行うものとする。このようにして、包装材吸着特徴データベースを更新する。更新したデータベースを用いれば、画像パッチが入力されると、特徴ベクトルを経由して、より適切な吸着パラメータを出力することができる。
【００６０】
Ｓ６１９０では、学習部５０８が、更新された包装材吸着特徴データベースを用いて、リクエストを更新する。そして保持部５０５においてリクエストの更新を行う。そしてＳ６２００に進む。Ｓ６２００では、情報処理装置１が、データ収集をこれで終える場合には処理を終了する。まだデータ収集を続ける場合にはＳ６２０１に進む。データ収集を終える条件としては、学習部５０８が特徴ベクトルのまとまりごとに生成したリクエストの総数が閾値以下になった場合である。ただし、終了条件はこれに限るものではなく、データを収集した数が閾値以上になった場合や、データを収集するのに費やした時間が閾値以上になった場合などでもよい。Ｓ６２０１では、アクチュエータ制御部５０３１がアクチュエータ部１１を制御して次の包装物を撮影するための撮影位置に移動させる。そしてＳ６０１０に戻って次の包装物の吸着搬送のために撮影からやり直す。以上に述べたように、学習モードでは、情報処理システムの学習モードにおいて、包装材吸着特徴データベースを学習によって求める。これよって、新しい包装材で包装された包装物に対しても吸着に最適な吸着パラメータを求めて吸着、搬送する情報処理システムを提供することができる。
【００６１】
第１の実施形態では、アクチュエータ部１１や容器１４は固定されているものとして説明したが、これに限るものではない。例えば、ＡＧＶ（Ａｕｔｏｍａｔｉｃ  Ｇｕｉｄｅｄ  Ｖｅｈｉｃｌｅ）などの移動装置の上にアクチュエータ部１１または容器１４を載せて吸着および搬送を行ってもよい。これによって、アクチュエータ部１１を移動装置に載せれば、容器１５が遠い場所であっても搬送することができる。また、容器１４を移動装置に載せれば、倉庫などに保管されている様々な容器内に入っている様々な種類の包装物を取り出して集めることができる。
【００６２】
第１の実施形態では、撮像部１０はアクチュエータ部１１に取り付けたカメラ構成の例について説明したが、これに限るものではない。例えば、撮像部１０は容器１４とその中の包装物１３が計測できる位置に取り付けた固定したカメラ構成でもよい。その場合、撮像部１０とアクチュエータ部１１の土台は事前に校正されているものとする。固定したカメラを使うことにより安定して包装物の位置を求めることができる。
【００６３】
情報処理装置１に、さらにディスプレイなどの表示部を備えていてもよい。例えば、撮像画像、距離画像、吸着候補領域、吸着位置、吸着パラメータの値などを表示してもよい。またロボットの次の動作工程を表示してもよい。これによって、ユーザは処理の過程やシステムの内部状態について知ることができる。
【００６４】
第１の実施形態では、包装材吸着特徴はカラー画像または距離画像の画像パッチと吸着パラメータとの関係を対応付けるものとして説明したが、入力は画像パッチに限るものではない。例えば、ビニールやナイロン等の包装材の種類や包装物の重さ等の包装物に関する情報を入力してもよい。例えば包装材の材質は人手で入力する場合、材質に関して「ビニール」「ポリエチレン」等とキーボード入力する。入力結果を情報処理装置１が取得して利用する。こうすることにより、見た目以外の入力を加えて、より効果的に吸着パラメータを求めることができる。
【００６５】
第１の実施形態では、包装材吸着特徴データベースにおける特徴フィルタは予め準備されたフィルタとして説明したが、これに限るものではない。例えば、第１の実施形態における学習モードにおいて、大量に包装材吸着特徴データを収集できた場合に、それらのデータベースから適切な特徴フィルタを設計し直してもよい。この場合、Ｄｅｅｐ  Ｌｅａｒｎｉｎｇなどの学習手法を用いて大量のデータから特徴フィルタを学習するため、人手によって特徴フィルタを準備する必要がなくなる。具体的には、画像パッチと対応する吸着パラメータおよび成功データまたは失敗データに対して、同一または類似の吸着パラメータごとに、画像パッチ群をフィルタ変換した特徴ベクトルのまとまりにする。この時、成功データと失敗データとが、異なる特徴ベクトルのまとまりに分離されやすくなるようなフィルタ変換を特徴フィルタとすればよい。このようにして特徴フィルタを求めることによって、より適切な吸着パラメータを選ぶことができるようになる。
【００６６】
第１の実施形態における学習モードでは、吸着パラメータの各要素３つがそれぞれ独立して判定できる例について述べたが、これに限るものではない。例えば、図６において、Ｓ６０９１の条件分岐ではＳ６１００へ、Ｓ６１０２の条件分岐ではＳ６１１０へ進む。それぞれ条件である真空圧の値によらず進むものとして、Ｓ６１５０で配置まで正しく行えているか否かの１度だけ判定を行い、３つの吸着パラメータ１組に対して、１つの判定を返すようにしてもよい。このようにすることで、吸着パラメータの要素間での因果関係が存在する場合であっても、適切に吸着パラメータを推定するデータベースを構築することができる。
【００６７】
第１の実施形態における学習モードでは、逐次的にデータを収集しながら学習して更新する例について述べたが、これに限るものではない。例えば、データを一定の量集めてから、まとめて学習や更新を行うようにしてもよい。
【００６８】
第１の実施形態における学習モードでは、成功データと失敗データの数や分布から、吸着パラメータを求めるための学習を行う例について述べたが、これに限るものではない。データベースを更新する、すなわち（成功データや失敗データなどの）サンプルデータを増やして学習を行う（吸着パラメータを求められるようにする）方法以外でもよい。例えば、さらに報酬部を備えるものとして、強化学習の枠組みで学習を行ってもよい。例えば、学習部５０８はリクエストとして毎回１組の吸着パラメータを生成し、保持部５０５を経由して決定部５０２に出力する。吸着パラメータに対して、判定部５０６が成功と判定した場合には、報酬部はプラスの報酬を得るものとし、判定部５０６が失敗と判定した場合には、マイナスの報酬を得るものとする。学習部５０８はなるべくプラスの報酬が得られるように、入力された画像パッチに対して適切な吸着パラメータを出力するようなＤｅｅｐ  Ｌｅａｒｎｉｎｇのネットワークを強化学習の枠組みで学習する。このように学習を行うことによって、特徴フィルタの設計や、吸着パラメータの求め方を定義する必要がなくなる。また、包装材吸着特徴データベースは、画像パッチと吸着パラメータとそれに対する成功、失敗、または報酬のみをデータとして保存しておけばよい。こうすることによって、特徴フィルタを設計する手間や、毎回データベース内でリクエストを求める手間を削減できる。
【００６９】
第１の実施形態における学習モードでは、３つの吸着パラメータそれぞれに対してリクエストの値を取得して、吸着、搬送を行い、その判定結果からデータを収集して学習する例について述べたが、これに限るものではない。例えば、吸着パラメータのうち、第１の静止時間と第２の静止時間についてはリクエストによる吸着パラメータの取得を行わない。リアルタイムで真空圧の値を観測し、閾値を超える、または閾値を下回るまでの時間を計測することで、適切な第１の静止時間と第２の静止時間を直接取得してもよい。このようにデータを取得することによって、失敗データが少なくなるため効率良くデータを取得することができる。
【００７０】
第１の実施形態における学習モードでは、特徴ベクトルのまとまりに対して、成功率が高い吸着パラメータ３つが一組でも見つかっていれば、リクエストは不要であるとして説明したが、これに限るものではない。例えば、より高い成功率の吸着パラメータの組み合わせを見つけ出せるように、リクエストをさらに送るようにしてもよい。
【００７１】
図４におけるＳ４０３０では、抽出部２０１が、複数存在する包装物１３の中で手前かつ他の包装物と干渉していない領域から吸着候補位置を求めるとして説明したが、これに限るものではない。例えば、距離画像から各画素における法線を求め、法線が吸着しやすい面（容器１４の口が開いている方向）を向いているほど、吸着候補として適しているとしてもよい。または、容器１４との干渉や摩擦が生じないように、容器１４の側面から離れているほど吸着候補として適しているとしてもよい。また、容器１４の位置や大きさの情報を使って、取り出しやすい包装物１３の候補を検出してもよい。容器１４の内側の端に近い位置にある包装物は、容器の端に吸着部がぶつかる可能性がある。具体的には、容器の端と包装物との距離が、吸着部（又は吸着パッド）の大きさまたは包装物の大きさよりも大きい場合に、吸着可能であることを吸着候補領域に反映する。容器１４の位置も考慮することで安定して吸着を行うことが出来る。また、手前で干渉していない、法線の面が適切、容器１４から離れている等の要素を数値化して、その数値が高いほど吸着候補領域として適切であるとし、それらの重み付け線形和によって吸着候補領域を求めてもよい。
【００７２】
また、図４におけるＳ４０３０では、抽出部２０１が吸着位置を取得するために、テンプレートマッチングによって包装物の位置を特定し、吸着候補領域を求める例について述べたが、これに限るものではない。例えば、カラー画像または距離画像を入力として、包装物１３の位置や姿勢を出力するようなＣＮＮモデルを用いてもよい。その場合、カラー画像または距離画像と包装物１３の位置と姿勢の対応データセットを大量に準備して、予め学習しておいてもよい。具体的には、包装物の重心の位置を吸着位置として正解ラベルを付けた学習用画像を用いて学習した学習モデルを使って、画像から吸着位置を推定する。あるいは、包装物の位置に基づいて、ユーザが予め指定した吸着位置を取得してもよい。図６のＳ６０３０における抽出部５０１も同様のことが言える。
【００７３】
図４におけるＳ４０４０では、決定部２０２が、吸着位置およびその周辺のカラー画像および距離画像のパッチから吸着パラメータを求める例について述べたが、入力はこれに限るものではない。例えば、抽出部５０１が包装物１３の重さを取得して、決定部５０２が画像および距離画像のパッチと包装物の重さに基づいて吸着パラメータを決定してもよい。その場合、包装材吸着特徴データベースにおいても、包装物の重さの軸をさらに備えたデータベースを構成する。または、包装材吸着特徴データベースを用いた処理についてはＳ４０４０の通りに行う。追加の後処理として、包装物が重いほど、第１の静止時間を長く、第２の静止時間を短く設定を行うように、重さに合わせて吸着パラメータの値を変換する処理を行ってもよい。図６のＳ６０４０における決定部５０２も同様のことが言える。
【００７４】
図６におけるＳ６１００では、第１の静止時間（Ｐ２）の間だけ静止する例について述べたが、これに限るものではない。例えば、吸着部が包装物に接触して吸引している状態で、真空圧をリアルタイムに観測し、閾値以下に下がった段階で静止を止めるようにしてもよい。同様に、Ｓ６１３０では、第２の静止時間（Ｐ３）の間だけ静止する例について述べたが、これに限るものではない。例えば、容器１５にリリースする時の吸着部１２と包装物１３を観測できるようなビデオカメラを用いて、包装物１３が吸着部１２から離れたことを検知したら静止を止めるようにしてもよい。こうすることで、吸着パラメータの数を減らすことができるため、学習モードにおける吸着パラメータの学習が容易になる。または包装材吸着特徴データベースのサイズが小さくなる。
【００７５】
図６におけるＳ６１５０では、包装物が適切に配置されたことを撮像することで確認する例について述べたが、これに限るものではない。例えば、搬送先が箱などの容器であり、その内部に包装物を入れればよいタスクの場合、箱内の重さを計測すれば、包装物が配置されたかどうかを判断することができる。このようにすることで、確認のための撮影や包装物の認識を行う手間を省くことができる。またこの場合には、Ｓ６１４０では確認位置に移動する必要が無いため、Ｓ６２０１と同様にして、すぐに撮影位置に移動することで、サイクルタイムを短縮してもよい。
【００７６】
（第２の実施形態）
第１の実施形態では、ある特定の吸着部を用いた情報処理システムによって吸着・搬送のタスク、または学習を行う例について述べた。これに対して、第２の実施形態では、吸着切替部を有し、吸着部の切り替えを行いながら吸着・搬送を行う場合について、実行モードと学習モードそれぞれの例を述べる。本実施形態では、図１（ｂ）のように、大きさや材質が異なる複数の吸着部を有する。複数の吸着パッドが一体となった吸着部があって、それに切り替える場合も適用可能である。例えば、小さい対象物や吸着できる平面が少ない対象物を扱う場合には、吸着部の接触面が小さい吸着パッドでなければ、空気がリークして吸着することができない。そのため径の小さな吸着部に切り替える。また、大きくて重いものを吸着する場合には、吸引する空気の流量が大きい吸着部を用いたり、複数の吸着パッドが一体となっている吸着部で支点を増やしたり吸着面積を増やしたりすることで、安定して搬送することができる。すなわち、吸着する対象である包装物に合わせて、適切な吸着部を選択することによって、物体を包装材で包装した包装物を、安定して吸着および搬送することができる。
【００７７】
複数種類の吸着部を扱うに伴い、包装材吸着特徴には、さらに吸着部に関する情報が追加される。すなわち、包装材吸着特徴は、画像パッチと吸着パラメータと吸着部情報と吸着・搬送の成否判定結果が紐付けられたデータとなる。具体例を図１（ｂ）で説明すると、吸着部１２−１は半径ｒ１の吸着パッドである。同様に、吸着部１２−２は半径ｒ２の吸着パッドを有し、吸着部１２−３は一辺ａ３の正方形の吸着パッドを有する。吸着部１２−ｋのように、ｎ個の吸着パッドを有する構成でもよい。また、包装材吸着特徴データベースは、そのような吸着部情報が追加された包装材吸着特徴を集めたデータベースである。本実施形態における情報処理システム１００００の構成は第１の実施形態に示した図１（ａ）に加えて、吸着部１２に図１（ｂ）のようなｋ種類の吸着部を有する。
【００７８】
図７は、本実施形態において、図示しないモード切替部によって学習モードと実行モードのうち、学習モードを選択した場合における情報処理装置１の機器構成例を示す図である。図７の情報処理装置１は、入力部５００、抽出部５０１、決定部５０２、アクチュエータ制御部５０３１、吸着制御部５０３２、保持部５０５、判定部５０６、データ取得部７０７、学習部７０８、吸着切替部７０９、吸着部情報取得部７１０から構成される。また、図７の情報処理装置１は、撮像部１０、アクチュエータ部１１と接続されている。さらに、図７の情報処理装置１は、ｎ個の吸着部１２−１、１２−２、…、１２−ｎと接続されている。これらの吸着部１２−ｎは、それぞれ異なる材質や異なる大きさの吸着パッドである。本実施形態の学習モードにおける情報処理装置１は第１の実施形態（学習モード）に示した図５と略同様である。同様の機能については説明を省略し、違いのある吸着部情報取得部７１０、データ取得部７０７、吸着切替部７０９、学習部７０８について説明を行う。
【００７９】
吸着部情報取得部７１０は、吸着部１２−１から吸着部に関する情報（吸着部情報）を取得して、データ取得部７０７に出力する。ここで、吸着部に関する情報とは、吸着パッドの大きさや径、襞の有無などの形状情報と、吸着パッドの素材に関する情報である。
【００８０】
データ取得部７０７は、判定部３０６が入力した判定結果と吸着部情報取得部７１０が入力した吸着部情報に基づいて、学習するための教師データを収集する。収集した教師データ群は学習部７０８に出力する。
【００８１】
吸着切替部７０９は、学習部７０８から吸着部１２−１を切り替える命令を受け取ると、吸着部１２−１の切り替えを行う。切り替え候補が複数存在する場合には、学習部７０８が送る命令に切り替えるべき候補が記されている。吸着部１２−１を切り替える方法としては、ハンドチェンジャーによって吸着部１２−１とアクチュエータ部１１の先端とを接合する構成になっている。アクチュエータ制御部５０３１がアクチュエータ部を制御して現在の吸着部を取り外し、新たな吸着部を取り付ける動作を行う。ただし、切り替え方法はこれに限るものではなく、アクチュエータ部１１の内部に吸着部１２−１が複数内蔵されており、それらを切り替えてもよい。また、図示しない表示部に切り替えを促す表示を出力して、ユーザに切り替えさせてもよい。
【００８２】
学習部７０８は、データ取得部７０７が入力した教師データ群に基づいて、学習を行う。吸着部の情報も含めた包装材吸着特徴データベースを更新し、画像パッチと吸着部の情報を入力すると、適切な吸着パラメータを出力できるようにする。学習した内容は保持部５０５に出力する。また、学習部７０８はデータベースを改善するのに必要なデータのリクエストを生成し、保持部５０５に出力する。リクエストは、図１９（ｂ）のように、吸着部に関するデータも集める。さらに、データベースを改善するのに吸着部を切り替える必要がある場合には、吸着切替部７０９に切り替えるべき吸着部の命令を送る。ここで、第２の実施形態における画像パッチは、実寸で切り替え可能な吸着部の最大パッド径が収まる正方形領域を、一定の画素サイズにリサイズしたものである。
【００８３】
次に、本実施形態の学習モードにおける処理手順について説明する。図８は、本実施形態における情報処理装置１を含む情報処理システム１００００が学習モードにおいて実施する処理手順を示すフローチャートである。第１の実施形態における図６のフローチャートと同様の処理については説明を簡略化する。Ｓ８０００では、情報処理システム１００００が、第１の実施形態におけるＳ６０００と同様にシステムの初期化を行う。Ｓ６０００の処理に追加して、吸着部情報取得部７１０が現在の吸着部１２−１の吸着部情報（例えば吸着パッドの径の大きさｒ１）を取得しておく。そしてＳ８００１に進む。
【００８４】
Ｓ８００１では、学習部７０８が、リクエストの生成を行い、保持部５０５のリクエストを更新する。そしてＳ８０１０に進む。リクエストの生成方法については、第１の実施形態の学習モードで説明したものと略同様であるが、包装材吸着特徴において、吸着部情報が追加されている。その結果、吸着パラメータ空間において、吸着部情報に関する新たな次元が追加されることになる。図１９（ｂ）は吸着部情報を含むリクエストの例である。よって、特徴ベクトルのまとまりごとに、さらに吸着部情報ごとに、吸着パラメータと対応する成否判定結果を吸着パラメータ空間にマッピングして、吸着部情報の次元も含めてリクエストを生成すればよい。例えば、吸着部１２−１は小さい径（ｒ１）である吸着パッドで、吸着部１２−２は大きい径（ｒ２；ｒ１＜ｒ２）である吸着パッドであるとする。また、特徴ベクトルのまとまりごとに、切り替え可能な吸着部に関してリクエストが存在するかどうかを確認し、データ収集が必要な吸着部に切り替える命令を生成する。具体的には、現在の吸着部と切り替え可能な吸着部とを比較して、現在の吸着部よりもデータ収集を優先するべき吸着部があれば、その吸着部に切り替える命令を生成する。データ収集優先するべきと判断する条件としては、例えば、ぞれぞれの吸着部における成功率を比較して、現在の吸着部の成功率が閾値以上上回っている場合である。ただし、条件はこれに限るものではない。Ｓ６０１０では、撮像部１０が包装物１３を撮像する。Ｓ６０２０では、撮像部１０によって撮像された画像を入力する。
【００８５】
Ｓ６０３０では、抽出部５０１が、Ｓ６０２０で入力された画像に基づいて、包装物１３の吸着位置と、その周辺の画像から吸着位置の包装材の表面の状態を抽出する。Ｓ６０４０では、リクエストに従って、吸着パラメータを決定する。Ｓ６０４１では、決定部５０２が、学習部７０８からのリクエストの有無を判断する。ない場合はＳ６０３０に戻る。ある場合はＳ６０５０に進む。Ｓ６０５０では、決定部５０２が制御パラメータを決定する。Ｓ８０５１では、学習部７０８が、出力したリクエストに応じて吸着部１２−１の切り替えが必要かどうかを判定する。吸着部１２−１を切り替える場合にはＳ８０５２に進む。切り替えない場合にはＳ６０６０に進む。Ｓ８０５２では、吸着切替部７０９が吸着部１２−１の切り替えを行い、Ｓ８０５３に進む。Ｓ８０５３では、吸着部情報取得部７１０が、切り替えられた吸着部１２−２に関する情報を取得する。そしてＳ６０６０に進む。Ｓ６０６０からＳ６１６０の処理は第１の実施形態と同様なので省略する。Ｓ８１７０では、データ取得部７０７が、吸着パラメータの判定結果と吸着部情報とカラー画像および距離画像の画像パッチを受け取り、包装材吸着特徴のデータを取得する。そしてＳ６１８０に進む。Ｓ６１８０以降の処理も、第１の実施形態と同様である為、説明を省略する。以上の処理により、情報処理システム１００００は、学習モードにおいて吸着部を切り替えながら教師データを収集して包装材吸着特徴データベースを学習することができる。
【００８６】
次に、実行モードについて説明する。図９は、本実施形態において、図示しないモード切替部によって学習モードとタスク実行モードのうち、実行モードを選択した場合における情報処理装置１の機器構成例を示す図である。本実施形態の実行モードにおける情報処理装置１は第１の実施形態に示した図２と略同様である。図９における情報処理装置１は、入力部２００、抽出部２０１、決定部９０２、アクチュエータ制御部２０３１、吸着制御部２０３２、保持部２０５に加えてさらに、吸着部情報取得部９１０、吸着切替部９０９を有している。更に、図９情報処理装置１は、撮像部１０、アクチュエータ部１１、複数の吸着部１２−１、１２−２、１２−Ｉと接続されている。同様の機能については説明を省略し、違いのある吸着部情報取得部９１０、決定部９０２、吸着切替部９０９について説明を行う。
【００８７】
吸着部情報取得部９１０は、吸着部１２から吸着部に関する情報を取得して、決定部９０２に出力する。吸着部に関する情報は、例えば切り替え可能な複数の吸着部それぞれにおける、吸着パッドの大きさや径、襞の有無などの形状情報と、吸着パッドの素材に関する情報などである。決定部９０２は、抽出部２０１が入力した吸着位置に対応する画像領域において、保持部２０５が保持する包装材吸着特徴データベースと吸着部情報取得部９１０が入力した吸着部情報に基づいて吸着パラメータを抽出する。また、切り替え可能な吸着部のうち最適な吸着部に関する情報を求める。具体的な処理については後述する。抽出した吸着パラメータは制御部２０３に出力する。また最適な吸着部に関する情報を吸着切替部９０９に出力する。吸着切替部９０９は、決定部９０２が入力した最適な吸着部に関する情報に基づいて、必要があれば吸着部１２を指定された吸着部へと切り替えを行う。
【００８８】
次に、本実施形態の実行モードにおける処理手順について説明する。図１０は、本実施形態における情報処理装置１を含む情報処理システム１００００がタスク実行モードにおいて実施する処理手順を示すフローチャートである。本実施形態におけるフローチャートは、第１の実施形態における図４のフローチャートと略同様である。図１０における処理の概略を説明する。Ｓ１００００では、第１の実施形態におけるＳ４０００と同様にシステムの初期化を行う。Ｓ４０００の処理に追加して、吸着部情報取得部９１０が切り替え可能な吸着部に関する情報を取得しておく。Ｓ４０１０では、撮像部１０が搬送する包装物１３を撮像する。Ｓ４０２０では、入力部２００が、撮像部１０にて撮像された画像を入力する。Ｓ４０３０では、抽出部２０１が、入力された画像から、包装物１３の吸着位置を抽出する。Ｓ１００４０では、決定部９０２が、カラー画像および距離画像と包装材吸着特徴データベースを利用して、Ｓ４０３０で取得した吸着位置において、最適な吸着部と吸着パラメータを決定する。具体的には、まず、吸着位置およびその周辺のカラー画像および距離画像のパッチを抽出して、特徴フィルタを適用して特徴ベクトルを求める。そして、包装材吸着特徴データベースで特徴ベクトルとの照合を行う。類似した特徴ベクトルが見つかると、それに紐付けられた成功しやすい吸着パラメータを切り替え可能な吸着部ごとに抽出することができる。そして、取り替え可能な吸着部ごとに、成功率および取り替えにかかるコストに基づいたスコアを計算し、スコアが最大となる吸着部および吸着パラメータを選択する。スコアの計算方法としては、吸着部Ｉにおいて最適な吸着パラメータを選んだ際の成功率をＳ＿Ｉとして、吸着部Ｉに切り替える時のコストをＣ＿Ｉとすると、吸着部Ｉに取り替えた場合のスコアＳｃｏｒｅ＿Ｉは、
Ｓｃｏｒｅ＿Ｉ＝ｇ（Ｓ＿Ｉ）−Ｃ＿Ｉ  ・・・（数式１）
で求められる。ただし、ｇ（Ｘ）は成功率Ｘをスコアに換算するための単調増加関数、Ｃ＿Ｉは正の値の切り替えコストであり、大きい値であるほど切り替えのコストが大きいことを示す。また、Ｉが現在の吸着部と同一である場合は切り替え不要であるためＣ＿Ｉ＝０とする。Ｉが現在の吸着部とは異なる場合には、吸着部の切り替えを行うことになる。これに対してＡＲＧＭＡＸ（Ｓｃｏｒｅ＿Ｉ）を求めればよい。このようにして、切り替えるべき吸着部Ｉおよびその時の最適な吸着パラメータを求める。
【００８９】
Ｓ１００４１では、Ｓ１００４０で求めたＩが現在の吸着部と異なるかどうかを判定し、現在の吸着部と吸着部Ｉが異なる場合には吸着部を切り替えるためにＳ１００４２に進む。現在の吸着部と吸着部Ｉが同じ場合はＳ４０５０に進む。Ｓ１００４２では、吸着切替部９０９が、吸着部１２―１を吸着部Ｉに切り替える。そして、Ｓ４０５０に進む。Ｓ４０５０以降の処理は第１の実施形態と同様の為、説明は省略する。以上の処理により、情報処理システム１００００は、実行モードにおいて吸着部１２を切り替えながら、より吸着成功率の高い吸着を行うことができる。
【００９０】
以上に述べたように、第２の実施形態では、情報処理システムの学習モードおよびタスク実行モードそれぞれにおいて、吸着部を切り替えることによって、より吸着成功率を高めて包装材で包装された包装物を吸着、搬送することができる。また、より吸着成功率を高めるための吸着部情報も含めた学習を行うことができる。
【００９１】
第２の実施形態では、吸着部情報取得部７１０および９１０は、吸着部１２−１から吸着部１２−１に関する情報を取得するものとして説明したが、これに限るものではない。例えば、切り替え可能な吸着部に関する情報は保持部２０５および５０５に保持されており、吸着部情報取得部は保持部から情報を取得してもよい。
【００９２】
また、吸着部情報取得部７１０および９１０は、吸着部に関する情報として、吸着パッドの大きさや径、襞の有無などの形状情報と、吸着パッドの素材に関する情報を取得するとして説明したが、これに限るものではない。例えば、吸着パッドの型番やＩＤを取得するようにして、それぞれの吸着パッドを区別できるようにするだけでもよい。こうすることで、吸着パッドの情報を登録する手間を削減しつつ、吸着パッドの切り替えにも対応することができる。
【００９３】
第２の実施形態では、図８におけるＳ８０５１で吸着部を切り替えるかどうかを判定するものとして説明したが、吸着部を切り替えるタイミングはこれに限るものではない。例えば、Ｓ６２０１で撮影位置に移動する前に吸着部の切替判定を判定して切替えてもよい。また、データ収集は吸着部の種類ごとに行うものとして、現在取り付けている吸着部におけるデータ収集を終了したら、吸着部切替を行うようにしてもよい。
【００９４】
Ｓ６０９１およびＳ６１０２では、真空圧に対する閾値Ｔ１、Ｔ２との比較を行っているが、この閾値は吸着部情報に応じて変更してもよい。こうすることで、吸着部の種類に応じて、より正確な吸着判定を行うことができる。
【００９５】
図１０におけるＳ１００４０では、カラー画像および距離画像のパッチと吸着部に関する情報に基づいて吸着パラメータを求める例について述べたが、入力はこれに限るものではない。例えば、図示しない対象情報取得部が包装物の重さを取得して、カラー画像および距離画像のパッチと吸着部に関する情報と対象情報として包装物の重さに基づいて吸着パラメータを取得してもよい。この場合、包装材吸着特徴データベースにおいて、包装物の重さに関する軸がさらに追加されており、画像のパッチと包装物の重さに基づいて成功しやすい吸着パラメータＳ＿Ｉを求めることができる。
【００９６】
（第３の実施形態）
第１の実施形態および第２の実施形態では、情報処理システムによって吸着および搬送の成功率が高くなるようにタスクを実行、または学習を行う例について述べた。これに対して、第３の実施形態では、スピード優先、品質優先、コスト優先、周囲環境優先などの優先項目に応じて、吸着パラメータを変更する場合について、学習モードと実行モードそれぞれの例を述べる。本実施形態では、優先項目に応じて最適な吸着計画を行えるように全体最適な学習モデルのパラメータを選択する選択部を有する。
【００９７】
それぞれの吸着に関するタイミングにはメリットとデメリットがあり、目的毎に最適な吸着制御が異なる。吸引を開始するタイミングでは、吸着部と包装物が接触する前に吸引を開始すると、より安定して吸着を成功させることが出来るが、コストや騒音といったデメリットがある。第１の静止時間については、例えば、吸着時に十分な時間静止することで、吸着を成功させやすいが、繰り返し吸着を行う作業の場合には、サイクルタイムが長くなってしまう問題がある。第２の静止時間については、吸引停止後に十分な時間静止することで、リリースを成功させやすいが、繰り返し吸着して搬送する作業の場合には、サイクルタイムが長くなってしまう問題がある。その場合は優先すべき目的（優先項目）毎に吸着に関するタイミングを学習させる。
【００９８】
優先項目について説明する。優先項目とは、情報処理システム１００００が包装物を搬送するタスクを行うときに、優先的に改善したい数値（例えば、サイクルタイム、失敗率、欠品率等）を指す。スピード優先は、より短い時間でタスクを終わらせることを望まれている状況である。この場合、静止時間を出来るだけ少なくするといった吸着に関するタイミングが望まれる。品質優先は、被搬送物の状態を損ねないことを望まれている状況である。例えば、停止後に被搬送物を丁寧に置くために、静止時間をある程度確保するといった吸着に関するタイミングが望まれる。コスト優先とは、ランニングコストを小さくすることを望まれている状況である。ランニングコストには、例えばロボットアームの消費電力が含まれる。スピードや品質を優先して、吸引を開始するタイミングを早くした場合（接触前）には、吸引するための空気や電気代などのコストが増える可能性がある。吸引には電力がかかるため、吸引時間を最小限に抑えることによってランニングコストを小さくすることが可能である。周囲環境優先とは、主に騒音を小さくすることを望まれている状況である。吸引動作には騒音を伴うため、なるべく吸引時間を減らすことによって騒音を抑えることがある。例えば、周囲に作業者などがいる場合には、吸引時に生じる音がうるさい等の恐れがある。
【００９９】
第３の実施形態における包装材吸着特徴データベースは、これまでの包装材吸着特徴データベースと２つ異なる点がある。１つ目は、吸着と搬送の結果に関する情報として、成否判定結果だけでなく、タスクの実行にかかった時間や、包装材表面へのダメージ量、吸着時に用いる空気の使用量、吸引による音の量を表すデータも一緒に保持している点である。なお、抽出部はこれらのデータを他のセンサ等から取得できる。タスクにかかった時間はタイマーを使ってプログラムから取得する。ダメージ量は、後工程の品質検査において、包装材表面の状態を目視確認して、どの程度の割合でＮＧ品が混じっているか統計的に得る。または、吸着前と搬送後でそれぞれ画像を取得して（照明条件や観測する角度を変えて複数枚撮影してもよい）、エッジ検出処理などにより包装材表面の傷を抽出し、吸着前と搬送後での差分から求める。空気の使用量は、吸引に用いている装置（エアコンプレッサー）のメモリを読み取る。２つ目は、保持している包装材の特性を抽出する特徴フィルタの代わりに、画像パッチから吸着パラメータを求めるための推定器（学習モデル）を保持している点である。この推定器は複数のパラメータの関係をグラフ構造のネットワークとして構成したもので、以後ではネットワークと呼称する。このネットワークは画像パッチを入力として、吸着パラメータを出力とする構造をしており、優先項目に応じてネットワークの重み付けセットを変更する。ネットワーク（学習モデル）の重み付けセットとは、ニューラルネットワークにおける各層の各素子を結合する重み付け係数のセットである。ネットワークの重み付けセットは優先項目の数だけ存在しており、優先項目を切り替えると、ネットワークの重み付けセットが切り替わることで、求められる吸着パラメータが変化する。また、ネットワークの重み付けセットは、それぞれ優先項目ごとに学習が行われ、その結果がネットワークの重み付けセットに反映される。ただし、学習に用いるデータについては、優先項目によらず共有することができる。第３の実施形態ではこれらのネットワークの重み付けセットを、強化学習の枠組みで優先項目ごとに学習し、実行モードでは、これらのネットワーク（学習モデル）の重み付けセットを用いて吸着パラメータの抽出を行う。つまり、強化学習における「状態」が画像パッチ、「行動」が吸着パラメータの値、「方策」が吸着パラメータの設定、「報酬」が優先項目ごとに決まるスコアである。そして、優先項目ごとに報酬が最大となる方策を見つけ出すために、様々な行動（吸着パラメータ）でデータを取得して、その時の報酬を求めることが、学習モードで行うべきことである。また、得られた画像パッチに対して、優先項目ごとに報酬が最大となる方策によって吸着パラメータを設定して吸着・搬送を行うことが、実行モードで行うべきことである。本実施形態における情報処理システム１００００の構成は第１の実施形態に示した図１と同様であるため省略する。
【０１００】
図１１は、本実施形態において、図示しないモード切替部によって学習モードと実行モードのうち、学習モードを選択した場合における情報処理装置１の機器構成例を示す図である。本実施形態の学習モードにおける情報処理装置１は第１の実施形態（学習モード）に示した図５と略同様である。図１１の情報処理装置１は、入力部５００、抽出部１１０１、決定部１１０２、アクチュエータ制御部５０３１、吸着制御部５０３２、保持部１１０５、判定部１１０６、データ取得部５０７、学習部１１０８、選択部１１１１を有する。同様の機能については説明を省略し、違いのある選択部１１１１、保持部１１０５、抽出部１１０１、決定部１１０２、判定部１１０６、学習部１１０８について説明を行う。
【０１０１】
選択部１１１１は、スピード、品質、コスト、周囲環境の４つの中からどの優先項目を学習するかを選択し、対応する重み付けセットを学習部１１０８に出力する。４つの優先項目全てを学習するか、そのうちの任意のいくつかを学習するかについては、ユーザが後述する実行モードで選びたい優先項目に基づいて設定する。複数の優先項目を学習する場合には、その順番を決める必要がある。優先項目を選ぶ順番としては、学習を行う際に必要なデータが少ない順に行う。例えば、スピード、コスト、周囲環境、品質の順に学習を行う。ただし、これに限るものではなく、例えば、ユーザが学習する優先項目およびその順番を設定してもよいし、重点的にデータ収集できるように成功率の低い優先項目を選んで設定してもよい。また、他の優先項目用にデータを収集している間に、報酬が高くなるはずであるのに失敗して報酬が低くなってしまう事例が多く生じている優先項目を選んでもよい。
【０１０２】
保持部１１０５は、包装材吸着特徴データベースおよび吸着パラメータを求めるためのネットワークと、優先項目ごとにそのネットワークに対応する重みを保持している。そしてこれらを決定部１１０２および学習部１１０８に出力する。また、学習部１１０８から学習した結果として包装材吸着特性データベースとネットワークの重みを更新する。抽出部１１０１は、入力部５００が入力したカラー画像または距離画像に基づいて吸着部１２を吸着させる位置を抽出する。取得した吸着位置に関する情報をアクチュエータ制御部５０３１、学習部１１０８に出力する。決定部１１０２は、学習部１１０８が入力した吸着パラメータを取得し、吸着制御部５０３２に出力する。判定部１１０６は、吸着・搬送した結果に対して、成功したか否か判定を行う。さらに、タスクの実行にかかった時間や、包装材表面へのダメージ量、吸着時に用いる空気の使用量、吸引による音の量を取得し、成否判定結果と共にそれらを吸着パラメータとともにデータ取得部５０７に出力する。
【０１０３】
学習部１１０８は、選択部１１１１が入力した優先項目に基づいて、保持部１１０５が入力した吸着パラメータを求めるネットワークと、優先項目に対応するネットワークの重みを用いる。包装材吸着特徴データベースおよびデータ取得部１１０７が入力したデータに基づいて吸着パラメータを求めるためのネットワークを構築する。また、抽出部１１０１が入力した吸着位置に対して、ネットワークを利用して、適切な吸着パラメータを求める。または、ある確率で試してみるべき吸着パラメータをランダムに求める。こうして求めた吸着パラメータをリクエストとして設定し、決定部１１０２に出力する。また、データ取得部５０７が入力したデータ群に基づいて優先項目に関する報酬の計算を行い、強化学習によってネットワークの重みの更新を行う。更新したネットワークの重みおよびデータベースは保持部１１０５に出力する。詳細な手順については後述する。
【０１０４】
次に、学習モードにおける処理手順について説明する。図１２は、本実施形態における情報処理装置１を含む情報処理システム１００００が実施する処理手順を示すフローチャートである。第１の実施形態の学習モードにおける図６のフローチャートと同様の処理についての説明は省略し、違いがある処理については詳細に説明する。
【０１０５】
Ｓ１２０００では、Ｓ６０００と同様にシステムの初期化を行う。ただし、保持部１１０５から読み込むのは、包装材吸着特徴データベース、吸着パラメータを求めるネットワーク構造、およびネットワークの重み付けセットである。そしてＳ１２００１に進む。Ｓ１２００１では、選択部１１１１が、スピード、品質、コスト、周囲環境の４つの優先項目の中から、今から学習を行う優先項目を選択する。また、学習部１１０８が、選択された優先項目に対応するネットワークの重みをロードして吸着パラメータを求めるためのネットワークを構築しておく。そして、Ｓ６０１０に進む。Ｓ６０１０では、撮像部１０が包装物１３を撮像する。Ｓ６０２０では、撮像部１０によって撮像された画像を入力する。
【０１０６】
Ｓ１２０３０では、抽出部１１０１が、包装物の吸着位置を抽出する。そしてＳ１２０３１に進む。具体的な処理については、Ｓ４０３０で説明したものと同様である。Ｓ１２０３１では、学習部１１０８が、強化学習の方策としてネットワークを用いて、吸着位置における画像パッチを入力として、吸着パラメータを求める。ネットワークは本フローチャートを用いて学習を繰り返すことによって、設定した優先項目の報酬が高くなるように、ネットワークの重みを更新していくことができる。こうして求めた吸着パラメータを、リクエストとして決定部１１０２に出力する。第３の実施形態では、リクエストは１組の吸着パラメータを指す。そしてＳ１２０４０に進む。Ｓ１２０４０では、決定部１１０２は、学習部１１０８のよって入力されたリクエストから吸着パラメータを決定する。そしてＳ６０５０に進む。
【０１０７】
Ｓ６０６０では、アクチュエータ制御部５０３１が、Ｓ６０５０で決定された制御パラメータに従って、抽出部１１０１が入力した吸着位置付近に吸着部１２が到達するようにアクチュエータ部１１を制御する。Ｓ６０７０では、吸着制御部５０３２が、吸着パラメータのうち、吸引を開始するタイミングＰ１を参照して判断を行う。吸引を先に開始する（Ｐ１＝０）場合には、Ｙｅｓと判断してＳ６０８０に進む。一方、吸引を接触した（Ｐ１＝１）後で行う場合には、Ｎｏと判断してＳ６０７１に進む。Ｓ６０８０では、吸着制御部５０３２が吸着部１２の吸引を開始する。Ｓ６０９０では、アクチュエータ制御部５０３１が、Ｓ６０５０で決定された制御パラメータに従って、吸着部１２を包装物１３に吸引しながら接触させるようにアクチュエータ部１１を制御する。Ｓ６０７１では、アクチュエータ制御部５０３１が、吸着部１２を包装物１３に接触させるようにアクチュエータ部１１を制御する。Ｓ６０７２では、吸着制御部５０３２が吸着部１２の吸引を開始する。Ｓ６１００では、吸着制御部５０３２が、Ｓ６０４０で決定された吸着パラメータのうち、第１の静止時間（Ｐ２）に従って、吸着部１２を包装物１３に接触させて吸引している状態で第１の静止時間（Ｐ２秒）の間だけ静止させる。Ｓ６１１０では、アクチュエータ制御部５０３１が、アクチュエータ部１１を制御して包装物１３を容器１５まで搬送する。Ｓ６１２０では、吸着制御部５０３２が、吸着部１２の吸引を停止する。Ｓ６１３０では、アクチュエータ制御部５０３１が、吸着パラメータのうち第２の静止時間（Ｐ３）に従って、Ｓ６１２０で吸引を停止してから第２の静止時間（Ｐ３秒）の間だけ静止する。Ｓ６１４０では、アクチュエータ制御部５０３１が、アクチュエータ部１１を制御して包装物の配置を確認するための位置に移動させる。Ｓ８１５０では、判定部１１０６が、包装物を搬送先に配置できたどうかを判定する。
【０１０８】
Ｓ１２１６０では、判定部１１０６が、吸着パラメータに対して、Ｓ８１５０で確認した位置姿勢が所望の位置姿勢の範囲内である場合にはプラスの報酬を与え、そうでない場合にはマイナスの報酬を与える。また、スピード、品質、コスト、周囲環境のそれぞれの優先項目に対応した報酬を計算する。スピードについては、Ｓ６０１０で画像を撮像する時点から、今までにかかった時間を計測しておき、短いほど高い報酬を与える。品質については、Ｓ６０１０で撮像した画像と、Ｓ８１５０で確認のために撮像した画像とを比較して、包装物の傷や変形の有無を検出する。包装材表面のダメージ量が少ないほど高い報酬を与える。例えば、エッジ検出を用いて、包装材の表面に吸着による痕が検出された場合には、報酬が小さくなる。コストについては、吸引を開始する前の時点から、今までに用いた空気の使用量を計測しておき、空気の使用量が少ないほど高い報酬を与える。周囲環境については、吸引を開始する前の時点から、今までに生じた吸引による音の量を計測しておき、音の量が少ないほど高い報酬を与える。これらの報酬は選択した優先項目に限らず取得しておく。これにより、優先項目によらず学習データを共有することができる。画像パッチ、吸着パラメータ、各種報酬をまとまりとしてデータ取得部５０７に出力する。そしてＳ８１７０へ進む。
【０１０９】
Ｓ８１７０では、データ取得部５０７が、吸着パラメータの判定結果と吸着部情報とカラー画像および距離画像の画像パッチを受け取り、包装材吸着特徴のデータを取得する。Ｓ１２１８０では、学習部１１０８は、データ取得部１１０７が入力した画像パッチ、吸着パラメータ、各種報酬を用いて、Ｄｅｅｐ  Ｑ−Ｎｅｔｗｏｒｋの強化学習の枠組みで吸着パラメータを求めるネットワークの重みを更新する。優先項目ごとに求めた報酬に対して、優先項目ごとに用意されたネットワークの重みを学習する。つまり、強化学習における状態は画像パッチ、方策は吸着パラメータの決定および吸着・搬送、報酬は設定した優先項目によって異なり成否判定結果等から計算する。そして、強化学習の枠組みで最適な吸着パラメータを求めるネットワークの重みを学習する。そして、Ｓ１２１８１に進む。
【０１１０】
Ｓ１２１８１では、学習部１１０８は、先ほど学習に用いたデータ群を包装材吸着特徴データベースに追加する。そして、保持部１１０５が保持する包装材吸着特徴データベースを更新する。そして、Ｓ１２２００に進む。Ｓ１２２００では、学習部１１０８は、現在の優先項目に関して、データ収集を終了するか否かを判定する。終了する場合にはＳ１２２１０に進む。終了しない場合にはＳ１２２０１に進む。終了と判定する条件としては、現在の優先項目に対応するネットワークの重みを用いて出力した吸着パラメータで吸着・搬送を行ったとき、現在の優先項目における報酬が閾値以上となることが、Ｎ回続いた場合とする。そうでない場合は、終了しないとする。Ｓ１２２０１では、アクチュエータ制御部５０３１がアクチュエータ部１１を制御して次の包装物を撮影するための撮影位置に移動させる。
【０１１１】
Ｓ１２２１０では、学習部１１０８は、優先項目を変更するか否かを判定する。変更する場合にはＳ１２２１１に進む。変更しない場合には処理を終了する。優先項目を変更する条件としては、一度も選択されていない優先項目が存在するときである。または、全ての優先項目を少なくとも一度は選択しているが、他の優先項目のために収集したデータの中に、矛盾した事例数が閾値を越える優先項目が存在していたときである。矛盾した事例とは、例えば、本来ならば吸着・搬送が成功して報酬が高くなるはずであるのに、失敗して報酬が低くなってしまった等の事例である。例えば、既に優先項目を「品質」としたデータ収集は終えていて、次に、優先項目を「スピード」としてデータ収集を開始したときを考える。「スピード」を速くすることが必要なので、例えば、第１の静止時間や第２の静止時間を最小化する必要がある。このとき、既に得られている学習データでは不足しているデータを収集するために、それら２つの吸着パラメータに関して複数回ずつ計測していく。例えば、（０秒，０秒）、（０．１秒，０．１秒）、（０．１秒，０．２秒）、（０．２秒，０．１秒）、（０．２秒，０．２秒）・・というふうに計測する。ここで、ある特徴ベクトル群に対する（０．２秒，０．２秒）の吸着パラメータについて考える。この組み合わせについて、優先項目を「品質」としてデータを収集する。４回中４回とも（０．２秒，０．２秒）で落下させずに搬送するとき、包装材表面が傷つくことはないため、「品質」に関して「成功」した。にもかかわらず、「スピード」でのデータ収集時に２回行うと２回とも落下したとき、「品質」に関して「失敗」したデータを得る。そのような場合、一通りの優先項目の学習を終えたら、再び「品質」の学習をしなおして、（０．２秒，０．２秒）では優先項目を「品質」とした際の成功率として不十分なので、より「成功」しやすいパラメータを探す必要がある。Ｓ１２２１１では、アクチュエータ制御部５０３１がアクチュエータ部１１を制御して次の包装物を撮影するための撮影位置に移動させる。そしてＳ１２００１に戻って優先項目の選択からやり直す。
【０１１２】
以上の処理により、情報処理システム１００００は学習モードにおいて、優先項目に応じて吸着パラメータを求めるネットワークを強化学習によって獲得することができる。これよって、優先項目に合わせて吸着に最適な吸着パラメータを求めて吸着、搬送する情報処理システムの実行モードを提供することができる。
【０１１３】
図１３は、本実施形態において、図示しないモード切替部によって学習モードとタスク実行モードのうち、実行モードを選択した場合における情報処理装置１の機器構成例を示す図である。本実施形態の実行モードにおける情報処理装置１は第１の実施形態に示した図２と略同様である。図１３の情報処理装置１は、入力部２００、抽出部２０１、アクチュエータ制御部２０３１、吸着制御部２０３２、保持部１３０５、選択部１３１１から構成される。同様の機能については説明を省略し、違いのある決定部１３０２、保持部１３０５、選択部１３１１について説明を行う。
【０１１４】
決定部１３０２は、選択部１３１１で選択された重み付けセット（パラメータ）に基づいて、吸着パラメータ（吸着に関するタイミング）を決定する。抽出部２０１が入力した吸着位置に対応する画像領域において、保持部１３０５が保持する吸着パラメータを求めるためのネットワーク、および選択部１３１１が入力した優先項目に対応するネットワークの重み付けセットを用いる。抽出した吸着パラメータは制御部２０３に出力する。保持部１３０５は、吸着パラメータを求めるためのネットワークと各優先項目に対応するネットワークの重み付けセットを保持しており、決定部１３０２にこれらを出力する。タスク選択部１３１１は、優先項目として、スピード、品質、コスト、周囲環境の４つの中からどれを優先して吸着・搬送を行うかを設定し、それを決定部１３０２に出力する。
【０１１５】
次に、本実施形態の実行モードにおける処理手順について説明する。図１４は、本実施形態における情報処理装置１を含む情報処理システム１００００がタスク実行モードにおいて実施する処理手順を示すフローチャートである。本実施形態におけるフローチャートは、第１の実施形態における図４のフローチャートと略同様である。図１４における情報処理システム１００００が実行する処理を説明する。Ｓ１４０００では、情報処理システム１００００は、Ｓ４０００と同様にシステムの初期化を行う。ただし、保持部１３０５から読み込むのは、吸着パラメータを求めるネットワーク構造、およびネットワークの重み付けセットである。そしてＳ１４００１に進む。Ｓ１４００１では、選択部１３１１がスピード、品質、コスト、周囲環境の４つの中から優先項目に関するネットワークの重み付けセットを選択する。優先項目を選ぶ方法としては、図示しないユーザインタフェース部を用いてユーザにスピード、品質、コスト、周囲環境のいずれかを選択してもらい、それを設定してもよい。そして、決定部１３０２が、保持部１３０５からネットワークと選択された優先項目に応じたネットワークの重みを受け取り、吸着パラメータを求めるためのネットワークを構成する。そしてＳ４０１０に進む。Ｓ４０１０では、撮像部１０が搬送する包装物１３を撮像する。Ｓ４０２０では、入力部２００が、撮像部１０にて撮像された画像を入力する。Ｓ４０３０では、抽出部２０１が、入力された画像から、包装物１３の吸着位置を抽出する。Ｓ１４０４０では、決定部１３０２が、カラー画像および距離画像とネットワークを利用して、Ｓ４０３０で取得した吸着位置における吸着パラメータを決定する。この吸着パラメータは、設定した優先項目に対応する重みセットによって求められたものであり、優先したい目的に適した吸着パラメータとなっている。そして、Ｓ４０５０に進む。Ｓ４０５０以降は、第１の実施形態における図４のフローチャートの処理と同様の為、説明を省略する。
【０１１６】
以上の処理により、情報処理システム１００００は、実行モードにおいて優先項目に基づいて吸着・搬送を行うことができる。以上に述べたように、第３の実施形態では、情報処理システムの学習モードおよびタスク実行モードそれぞれにおいて、優先項目を切り替える。これによって、スピード、品質、コスト、周囲環境を向上させる目的に対して最適な吸着パラメータを求めて吸着、搬送することができる。また、各優先項目に対応するネットワークの重み付けセットを学習することができる。
【０１１７】
第３の実施形態における学習モードでは、第１の実施形態における学習モードのＳ６０９２やＳ６１０３のように、吸着を開始してから搬送するまでの間の確認は行わず、Ｓ１２１６０でまとめて確認を行っている。ただし、これに限るものではなく、第１の実施形態における学習モードのＳ６０９２やＳ６１０３と同様に、段階的に確認を行って吸着パラメータの判定を行い、Ｓ８１７０のデータ収集に進んでもよい。この場合、吸着・搬送のタスクとしては失敗しているが、搬送などのステップをショートカットしているため、タスクを実行する時間は非常に短くなっている。そのため、優先項目がスピード優先であった場合には、報酬が大きくなり過ぎないように、調整を行う必要がある。
【０１１８】
図１２におけるＳ１２１６０では、吸着、搬送による成否結果や優先項目ごとに報酬を計算する例について説明したが、報酬を計算するタイミングはこれに限るものではない。例えば、Ｓ１２１６０では、成否結果や優先項目ごとの計測値をデータ取得部５０７に出力する。そして、Ｓ１２１８０でデータ群を受け取った学習部１１０８で報酬を計算するようにしてもよい。こうすることで、包装材吸着特徴データベースには成否結果や優先項目ごとの計測値が保存されているため、報酬の計算方法を変更した場合の効果を容易に検討することができる。
【０１１９】
図１２におけるＳ１２２００では、現在選択している優先項目に対して、求めた吸着パラメータが高い報酬を繰り返した場合にデータ収集を終了して、次の優先項目の学習を行う例について述べたが、これに限るものではない。例えば、各優先項目を少しずつ学習していくために、データ収集を所定の回数行う度にデータ収集を終了して、Ｓ１２２１０へ進み、優先項目を変更することを繰り返してもよい。
【０１２０】
図１２におけるＳ１２２１０は、処理の流れの中では学習モードの最後の処理として説明したが、これに限るものではない。例えば、ある吸着位置における画像パッチに対して、既に十分に報酬の高くなる吸着パラメータが得られるようになっている場合を考える。このとき、Ｓ１２０３１において、優先項目を一時的に切り替える。そして、ネットワークの重みセットも変更する。切り替えた優先項目において必要となる吸着パラメータを求めて学習を行ってもよい。そのようにすることで、ある優先項目においては、既に適切な吸着パラメータを選ぶことのできるような入力画像パッチに対して、過剰な学習を防ぐ。その結果、別の優先項目で足りていない学習データを効率良く取得することができる。
【０１２１】
図１４におけるＳ１４００１では、選択部１３１１が優先項目を選択する際には、ユーザが選択する例について述べたが、優先項目の選び方はこれに限るものではない。例えば、図示しない管理部が、１日に行うべきピックアンドプレースの総量（ノルマ）を管理している場合を考える。例えば、「スピード優先」でピックアンドプレースを行う。本日のノルマを十分に達成できる見込みであることを管理部が検知したときに、優先項目を「品質優先」に変更するように選択部１３１１に指令を出す。そして、選択部１３１１が優先項目を品質に変更する。また、作業者が増える時間帯には、管理部が優先項目を「周囲環境優先」に変更するように選択部１３１１に指示を出してもよい。
【０１２２】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、データ通信用のネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。また、そのプログラムをコンピュータが読み取り可能な記録媒体に記録して提供してもよい。
【符号の説明】
【０１２３】
１  情報処理装置
１０  撮像部
１１  アクチュエータ部
１２  吸着部
１３  包装物
１００００  情報処理システム
【図１】
2019217608.tif 000003
【図２】
2019217608.tif 000004
【図３】
2019217608.tif 000005
【図４】
2019217608.tif 000006
【図５】
2019217608.tif 000007
【図６】
2019217608.tif 000008
【図７】
2019217608.tif 000009
【図８】
2019217608.tif 000010
【図９】
2019217608.tif 000011
【図１０】
2019217608.tif 000012
【図１１】
2019217608.tif 000013
【図１２】
2019217608.tif 000014
【図１３】
2019217608.tif 000015
【図１４】
2019217608.tif 000016
【図１５】
2019217608.tif 000017
【図１６】
2019217608.tif 000018
【図１７】
2019217608.tif 000019
【図１８】
2019217608.tif 000020
【図１９】
2019217608.tif 000021