(57)【要約】【課題】機械によるハンドリング性能を向上する。【解決手段】工業部品１０の形状情報を取得するカメラ２及び画像認識部１１と、工業部品１０に直接接触してハンドリング動作を行う複数種類のエンドエフェクタ８と、機械学習プロセスでの学習内容に基づき、形状情報に対応して、工業部品１０側の接触位置であるハンドリング位置の推定と、工業部品１０に対してハンドリング動作させるエンドエフェクタ８の選択を行うハンドリング設定部と、エンドエフェクタ８を装着して当該エンドエフェクタ８と工業部品１０の移送動作を行うハンドリングロボット５と、推定されたハンドリング位置に選択されたエンドエフェクタ８を接触させるようハンドリングロボット５のハンドリング動作を制御する作業計画部１３及び逆キネマティクス演算部１４と、を有する。【選択図】図１
2018118343.tif 000002
【特許請求の範囲】
【請求項１】
対象物の形状情報を取得する形状取得部と、
前記対象物に直接接触してハンドリング動作を行う複数種類のエンドエフェクタと、
機械学習プロセスでの学習内容に基づき、前記形状情報に対応して、前記対象物側の接触位置であるハンドリング位置の推定と、前記対象物に対してハンドリング動作させるエンドエフェクタの選択を行うハンドリング設定部と、
を有することを特徴とするハンドリングシステム。
【請求項２】
前記エンドエフェクタを装着して当該エンドエフェクタと前記対象物の移送動作を行うハンドリングロボットと、
推定されたハンドリング位置に選択されたエンドエフェクタを接触させるよう前記ハンドリングロボットのハンドリング動作を制御するハンドリング制御部と、
を有することを特徴とする請求項１記載のハンドリングシステム。
【請求項３】
前記ハンドリング設定部は、
ハンドリング位置を推定してから、当該ハンドリング位置に対応するエンドエフェクタを選択することを特徴とする請求項１又は２記載のハンドリングシステム。
【請求項４】
前記ハンドリング設定部は、
エンドエフェクタを選択してから、当該エンドエフェクタに対応するハンドリング位置を推定することを特徴とする請求項１又は２記載のハンドリングシステム。
【請求項５】
前記ハンドリング設定部は、
ハンドリング位置の推定と、エンドエフェクタの選択を並行して行うことを特徴とする請求項１又は２記載のハンドリングシステム。
【請求項６】
前記機械学習プロセスは、ハンドリング動作を繰り返した際のそれぞれのハンドリング結果に基づく強化学習により実行されることを特徴とする請求項１乃至５のいずれか１項に記載のハンドリングシステム。
【請求項７】
前記機械学習プロセスは、ハンドリング動作を繰り返した際に得られたハンドリング成否データに基づくデータ学習により実行されることを特徴とする請求項１乃至６のいずれか１項に記載のハンドリングシステム。
【請求項８】
前記機械学習プロセスは、所定の形状の対象物に対して実行されることを特徴とする請求項１乃至７のいずれか１項に記載のハンドリングシステム。
【請求項９】
前記機械学習プロセスは、多様な形状の対象物に対して実行されていることを特徴とする請求項１乃至７のいずれか１項に記載のハンドリングシステム。
【請求項１０】
前記エンドエフェクタの種類は、多指ハンド、グリッパ、及び吸着ノズルのうち少なくとも１つを含むことを特徴とする請求項１乃至９のいずれか１項に記載のハンドリングシステム。
【請求項１１】
機械学習プロセスでの学習内容に基づき、対象物の形状に対応して、前記対象物側の接触位置であるハンドリング位置の推定と、前記対象物に対してハンドリング動作させるエンドエフェクタの選択を行うハンドリング設定部、
を有することを特徴とするコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、ハンドリングシステム及びコントローラに関する。
【背景技術】
【０００２】
特許文献１には、部品の３次元モデルに基づいてロボットハンドが当該部品を把持する把持面の抽出と把持位置の算出を行う手法が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−０９３８７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来技術では把持面と把持位置をユーザが人為的に設計していたため、多様な形状と姿勢にある部品に対しては確実な把持計画が困難となり、把持性能が低かった。
【０００５】
本発明はこのような問題点に鑑みてなされたものであり、機械によるハンドリング性能を向上できるハンドリングシステム及びコントローラを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の一の観点によれば、対象物の形状情報を取得する形状取得部と、前記対象物に直接接触してハンドリング動作を行う複数種類のエンドエフェクタと、機械学習プロセスでの学習内容に基づき、前記形状情報に対応して、前記対象物側の接触位置であるハンドリング位置の推定と、前記対象物に対してハンドリング動作させるエンドエフェクタの選択を行うハンドリング設定部と、を有するハンドリングシステムが適用される。
【０００７】
また、本発明の別の観点によれば、機械学習プロセスでの学習内容に基づき、対象物の形状に対応して、前記対象物側の接触位置であるハンドリング位置の推定と、前記対象物に対してハンドリング動作させるエンドエフェクタの選択を行うハンドリング設定部、を有するコントローラが適用される。
【発明の効果】
【０００８】
本発明によれば、機械によるハンドリング性能を向上できる。
【図面の簡単な説明】
【０００９】
【図１】実施形態のハンドリングシステムの概略的なシステムブロック構成の一例を表す図である。
【図２】３種類のエンドエフェクタの構成を表す正面図である。
【図３】略卵型形状の工業部品に対するハンドリング位置の例を表す図である。
【図４】ボルト型形状の工業部品に対するハンドリング位置の例を表す図である。
【図５】平板形状の工業部品に対するハンドリング位置の例を表す図である。
【図６】２円錐結合型形状の工業部品に対するハンドリング位置の例を表す図である。
【図７】ハンドリング位置推定部のニューラルネットワークモデル概要構成の一例を表す図である。
【図８】エンドエフェクタ選択部のニューラルネットワークモデル概要構成の一例を表す図である。
【図９】データ学習処理を実現するために、ロボットコントローラのＣＰＵが実行する制御手順を表すフローチャートである。
【図１０】強化学習処理を実現するために、ロボットコントローラのＣＰＵが実行する制御手順を表すフローチャートである。
【図１１】ハンドリング位置推定部とエンドエフェクタ選択部の順番を入れ替えたロボットコントローラのシステムブロック構成の一例を表す図である。
【図１２】ハンドリング位置推定部とエンドエフェクタ選択部を並列かつ同一に構成したニューラルネットワークモデル概要構成の一例を表す図である。
【図１３】３次元カメラで食品の形状情報を取得する構成例を表す図である。
【図１４】２つの形状情報に基づいてハンドリング位置情報とエンドエフェクタ選択情報を出力する場合のニューラルネットワークのモデル概略構成の一例を表す図である。
【図１５】ロボットコントローラのハードウェア構成を表すシステムブロック図である。
【発明を実施するための形態】
【００１０】
以下、実施の形態について図面を参照しつつ説明する。
【００１１】
＜ハンドリングシステムの概略構成＞
図１は、本実施形態のハンドリングシステムの概略的なシステムブロック構成の一例を表している。このハンドリングシステムは、コンテナ７内に乱雑に配置された複数種類で多数個の工業部品を対象物とし、これらを種類別に分類して複数の目標容器に取り分けるようハンドリングして移送するシステムである。図１においてハンドリングシステム１は、カメラ２と、ロボットコントローラ３と、サーボアンプ４と、ハンドリングロボット５と、エンドエフェクタ交換部６とを有している。なお、本実施形態の例では、工業部品１０をハンドリングの対象物とした場合を示しているが、生産ラインで取り扱われるものであれば、工業部品１０の代わりに食品や化粧品、文房具などであってもよい。
【００１２】
カメラ２は、この例では光学的に２次元ピクセル列の画像データを撮像する撮像機器である。このカメラ２は、コンテナ７の上方に配置されており、そのコンテナ７の内部にそれぞれ乱雑な姿勢で配置されている複数種類で多数個の工業部品１０の全体を撮像可能となっている。
【００１３】
ロボットコントローラ３（コントローラ）は、上記カメラ２で撮像した画像データに基づいて、ハンドリングロボット５のハンドリング作業と移送作業に関する処理を行いサーボアンプ４に駆動指令を出力する。このロボットコントローラ３は、画像認識部１１と、ハンドリング設定部１２と、作業計画部１３と、逆キネマティクス演算部１４とを有している。
【００１４】
画像認識部１１は、上記のカメラ２で撮像した画像データを画像認識することで、その時点でコンテナ７内に配置されている複数個の工業部品１０それぞれの個体を認識し、当該画像データ中における各個体単独の外観部分画像（後述の図３〜６参照）をそれぞれ形状情報として抽出し出力する。なお画像認識部１１は、各形状情報（外観部分画像）それぞれの画像データ全体における配置位置情報も検出して、後述の作業計画部１３に別途出力しているが、図中では略記している。このような画像認識部１１の内部処理は、ニューラルネットワークなどでの機械学習を利用した公知の画像認識手法を用いればよく、ここでは詳細な説明を省略する。なお、上記カメラ２とこの画像認識部１１が、各請求項記載の形状取得部に相当する。
【００１５】
ハンドリング設定部１２は、上記画像認識部１１から入力された形状情報に基づいて、当該形状情報に対応する工業部品１０の個体を適切にハンドリングするための情報、すなわちハンドリング位置情報（図中では「ＨＤＬ位置情報」と略記）及びエンドエフェクタ選択情報（図中では「ＥＥ選択情報」と略記）を設定し、出力する。ここで本実施形態におけるハンドリングとは、対象となる工業部品１０の個体を安定的に移送できるよう、ハンドリングロボット５に装着した後述のエンドエフェクタで当該工業部品１０に接触し、固定させる動作そのものを意味している。本実施形態の例では、具体的に、後述する多指ハンド又はグリッパによる把持動作と、後述する吸着ノズルによる吸着動作がハンドリング動作に含まれる。このハンドリング設定部１２は、ハンドリング位置推定部２１と、エンドエフェクタ選択部２２とを有している。
【００１６】
ハンドリング位置推定部２１は、上記画像認識部１１から入力された形状情報に基づいて、当該形状情報に対応する工業部品１０の個体に対してハンドリング動作を行う際に適切と推定される工業部品１０側の接触位置をハンドリング位置情報として出力する。
【００１７】
エンドエフェクタ選択部２２は、上記ハンドリング位置推定部２１から入力されたハンドリング位置情報に基づいて、当該ハンドリング位置情報で示される接触位置で工業部品１０をハンドリングする際に適切なエンドエフェクタの種類を選択し、この種類をエンドエフェクタ選択情報として出力する。
【００１８】
なお本実施形態の例におけるこのハンドリング設定部１２の内部処理は、機械学習プロセスで学習したニューラルネットワークによって行うものであり、その処理内容や手法については後に詳述する。
【００１９】
作業計画部１３は、上記ハンドリング設定部１２から入力されたハンドリング位置情報とエンドエフェクタ選択情報、及び特に図示しない上記画像認識部１１から入力された配置位置情報に基づいて、ハンドリングロボット５に行わせる具体的なハンドリング動作及び移送動作の作業内容（後述するエンドエフェクタの軌道や動作など）を計画し、それにより生成した作業指令を逆キネマティクス演算部１４に出力する。
【００２０】
逆キネマティクス演算部１４は、上記作業計画部１３から入力された作業指令に基づいて、当該作業指令の作業内容（計画した軌道上でのエンドエフェクタの移動や動作など）を実現するために必要となるハンドリングロボット５の各駆動軸モータ（図示省略）の目標回転角度やエンドエフェクタ駆動用補器（図示省略）の動作値を演算し、対応する駆動指令を出力する。なお、上記作業計画部１３とこの逆キネマティクス演算部１４が、各請求項記載のハンドリング制御部に相当する。
【００２１】
なお、上述した画像認識部１１、ハンドリング設定部１２（ハンドリング位置推定部２１、エンドエフェクタ選択部２２）、作業計画部１３、逆キネマティクス演算部１４等における処理等は、これらの処理の分担の例に限定されるものではなく、例えば、更に少ない数の処理部（例えば１つの処理部）で処理されてもよく、また、更に細分化された処理部により処理されてもよい。また、ロボットコントローラ３は、後述するＣＰＵ９０１（図１５参照）が実行するプログラムによりソフトウェア的に実装されてもよいし、その一部又は全部がＡＳＩＣやＦＰＧＡ、その他の電気回路等（ニューロモーフィックチップ等）の実際の装置によりハードウェア的に実装されてもよい。
【００２２】
サーボアンプ４は、上記ロボットコントローラ３の逆キネマティクス演算部１４から入力された駆動指令に基づいて、ハンドリングロボット５の各駆動軸モータ（図示省略）やエンドエフェクタ駆動用補器（図示省略）を駆動制御する駆動電力の給電制御を行う。
【００２３】
ハンドリングロボット５は、図示する本実施形態の例では６つの関節軸を備えたマニプレータアーム（６軸ロボット）である。そのアーム先端部５ａは、工業部品１０をハンドリング可能な各種のエンドエフェクタ８が着脱交換可能となっており、装着したエンドエフェクタ８によってコンテナ７内の工業部品１０を１つずつハンドリングし、近傍の目標容器９へ移送できる機能を有している。また図示する例では、各種のエンドエフェクタ８を個別に保持可能なホルダとして機能するエンドエフェクタ交換部６がテーブルの一端に設けられており、ハンドリングロボット５はこのエンドエフェクタ交換部６で所望のエンドエフェクタ８をアーム先端部５ａに着脱交換可能となっている。
【００２４】
本実施形態のハンドリングシステム１の例では、図２に示すような多指ハンド８Ａ、グリッパ８Ｂ、及び吸着ノズル８Ｃの３種類のエンドエフェクタが使用可能となっている。なお、この図２中に示すハンドリング基準点Ｐと把持方向ベクトルＶについては、後に詳述する。
【００２５】
図２（ａ）に示す例の多指ハンド８Ａは、上記アーム先端部５ａに直接装着可能な基部８Ａａにおいて、平行に配置された２本の指部８Ａｂ，８Ａｃと、これら２本に対向するよう配置された１本の指部８Ａｄの合計３本の指部８Ａｂ〜８Ａｄが設けられている。各指部８Ａｂ〜８Ａｄは、それぞれの基部８Ａａに対する根元位置、及び長手方向の中間位置に関節を有しており、これらの関節が指間中央方向への屈曲動作と伸長動作を切り替えることで、その指間中央に位置する対象物（本実施形態の例の工業部品１０）に対して把持とリリースを切り替えて行うことが可能となっている。
【００２６】
図２（ｂ）に示す例のグリッパ８Ｂは、上記アーム先端部５ａに直接装着可能な基部８Ｂａにおいて、平行に配置された２つの爪部８Ｂｂ，８Ｂｃが設けられている。これら２つの爪部８Ｂｂ，８Ｂｃが相互に対向する方向での近接動作と離間動作を切り替えることで、爪部間中央に位置する対象物に対して把持とリリースを切り替えて行うことが可能となっている。なお、図示する２爪型以外にも、３つ以上の爪部を上記爪部間中央の中心軸周りに等間隔な配置で設けた構成としてもよい（図示省略）。
【００２７】
図２（ｃ）に示す吸着ノズル８Ｃは、上記アーム先端部５ａに直接装着可能な基部８Ｃａから中空管８Ｃｂが突設しており、この中空管８Ｃｂの先端に樹脂などの弾性材料で構成される吸着口８Ｃｃが設けられている。図示しない吸引ポンプによる空気吸引力が、基部８Ｃａ及び中空管８Ｃｂを介して吸着口８Ｃｃの開口部に付加されることで、当該吸着口８Ｃｃは対象物の表面を吸着して固定できる。
【００２８】
＜本実施形態の特徴＞
例えば規定の形状と大きさにある対象物（本実施形態の例の工業部品１０）が規定の位置と姿勢で配置されている場合には、接触するハンドリング位置や使用するエンドエフェクタ８についてユーザが人為的に設定、選択することでも機械による適切なハンドリング動作は容易に行える。
【００２９】
しかし、形状が異なる複数種類の対象物が混在している場合には、それら種類ごとにユーザが人為的にハンドリング位置の設定とエンドエフェクタ８の選択を行う必要があるためそれらの設定作業が増大してしまう。そして、そのような人為的な設定と選択の作業はユーザの経験や技量に依存するところが大きく、またそれが必ずしも最適である保証がないため、ハンドリング動作の確実性を確保できない。さらに、規定の形状にある対象物であっても配置される姿勢が不定である場合には、その姿勢に対応して確実にハンドリング動作を行うために設定すべきハンドリング位置と選択すべきエンドエフェクタ８が多様に変化するため、それらの組み合わせを逐一人為的に設定することは困難であった。そして以上により、不定形状、不定姿勢にある対象物をカメラ２で撮像しても、その撮像画像に基づいて機械が対象物を確実にハンドリング動作することはさらに困難とされていた。
【００３０】
これに対し本実施形態のハンドリングシステム１では、機械学習プロセスでの学習内容に基づき、対象物の形状情報に対応して、対象物側の接触位置であるハンドリング位置の推定と、対象物に対してハンドリング動作させるエンドエフェクタ８の選択を行うハンドリング設定部１２を有している。そして機械学習プロセスにおいて、形状と配置姿勢が多様に異なる対象物の形状情報に対し、それぞれ多様なハンドリング位置とエンドエフェクタ８の組み合わせで繰り返しハンドリング動作を試行した結果を学習する。この機械学習プロセスは、機械自身によって自動的に行うことができ、その試行回数（成否データ）が多いほどハンドリング動作の精度や確度が向上する。これにより人為的な設定作業によらず、ハンドリング設定部１２は対象物の形状と姿勢の組み合わせを表す形状情報に対応して、その対象物に対するハンドリング動作に最適なハンドリング位置の推定とエンドエフェクタ８の選択が可能となる。
【００３１】
＜ハンドリング動作の機械学習プロセスについて＞
図３〜図６には、多様な配置姿勢にある多様な形状の工業部品１０の外観形状を示す形状情報の例が示されている。これらの形状情報は、ハンドリングロボット５の作業空間中に設定された作業座標（図中のＸＹＺ座標）を基準として一律に同じ方向からの定点撮影により取得されている（なお、図示の理解が容易なように図１中に示すカメラ２の撮像方向とは相違している）。つまり、外観部分画像であるこの形状情報には、１つの工業部品１０の個体についてその配置姿勢と当該配置姿勢に対応する当該工業部品１０の外観形状の２つの情報が含まれている。また、上記コンテナ７中に乱雑に配置（又はバラ積み）された状態の多数の工業部品１０は、図示する以外にも多様な配置姿勢で形状情報が取得される。
【００３２】
そして上記ハンドリング設定部１２の機械学習プロセスでは、ある形状情報に含まれる外観形状と配置姿勢に対して、多様なハンドリング位置とエンドエフェクタ８の組み合わせでハンドリング動作を繰り返し試行する。例えば、図３（ａ）に示すように全体形状が卵型形状であってその長軸がＹ軸方向に略平行な配置姿勢にある工業部品１０Ａの形状情報に対し、多指ハンド８Ａにより多様な把持位置で把持したり、グリッパ８Ｂにより多様な把持位置で把持したり、吸着ノズル８Ｃにより多様な吸着位置で吸着するなどによりハンドリング動作を繰り返し試行する。
【００３３】
そして本実施形態の例における機械学習プロセスでは、これらのハンドリング動作の試行に基づくデータ学習によって、形状情報に対応する適切なハンドリング位置とエンドエフェクタ８を学習する。例えば、ある形状情報に対応して行われたハンドリング動作の試行においてそのハンドリングの成否（例えば工業部品１０を持ち上げることができたか否か）や確度（例えば安定性や信頼性）を試行結果として検出し、これらを元の形状情報及び試行したハンドリング位置とエンドエフェクタ８に対応付けてハンドリング成否データとして記録、保存する。そしてこのようなハンドリング成否データを大量に用いて機械学習（後述の図９参照）することにより、ハンドリング設定部１２は形状情報に対応した適切なハンドリング位置の推定とエンドエフェクタ８の選択が可能となる。
【００３４】
例えば、上記構成の多指ハンド８Ａの場合には、特に全体が略球体形状にある対象物に対してその外周側面を各指部８Ａｂ〜８Ａｄで包むような把持に有効である。このため上記機械学習プロセスによりハンドリング設定部１２は、図３に示すように略卵型の外観形状にある工業部品１０Ａに対しては、その短軸方向を挟む３点をハンドリング位置（接触位置；図中の破線部分の位置）として多指ハンド８Ａで把持することが適切であると学習することが想定される。
【００３５】
また例えば、上記構成の２爪グリッパ８Ｂの場合には、特に略平行に対向する配置の２つの平面（又は曲面）を有する対象物に対してその対向方向に各爪部８Ｂｂ，８Ｂｃで挟持するような把持に有効である。このため、上記機械学習プロセスによりハンドリング設定部１２は、図４に示すようにボルト型の外観形状にある工業部品１０Ｂに対しては、その配置姿勢に応じてボルト軸やボルト頭の軸径方向（対向側面）を挟む２点をハンドリング位置（接触位置；図中の破線部分の位置）として２爪グリッパ８Ｂで把持することが適切であると学習することが想定される。
【００３６】
また例えば、上記構成の吸着ノズル８Ｃの場合には、特に上方に平面を有する対象物に対してその平面を吸着口８Ｃｃで吸着して引き上げるのに有効である。このため上記機械学習プロセスによりハンドリング設定部１２は、図５に示すように略平板型の外観形状にある工業部品１０Ｃに対しては、その平面上の１点をハンドリング位置（吸着位置；図中の破線部分の位置）として吸着ノズル８Ｃで吸着することが適切であると学習することが想定される。
【００３７】
また同じ形状の対象物であっても、その配置姿勢によっては有効なハンドリング位置やエンドエフェクタ８が変化する場合がある。例えば、図６に示すように２つの円錐形状の各頂点部分を結合した形状の工業部品１０Ｄに対して、上記機械学習プロセスによりハンドリング設定部１２は、工業部品１０Ｄの軸方向が略水平方向にある配置姿勢（図６（ａ）、図６（ｂ）参照）では、結合部分を軸径方向に挟む２点をハンドリング位置（接触位置；図中の破線部分の位置）として２爪グリッパ８Ｂで把持することが適切であると学習することが想定される。また、同じ工業部品１０Ｄの軸方向が略垂直方向にある配置姿勢（図６（ｃ）参照）では、上方に位置する円錐部分の底面（上方に位置する平面）上の１点をハンドリング位置（吸着位置；図中の破線部分の位置）として吸着ノズル８Ｃで吸着することが適切であると学習することが想定される。
【００３８】
なお上記のいずれの場合もハンドリング動作の確度を考慮すると、上記機械学習プロセスによりハンドリング設定部１２は、各工業部品１０の重心に近い位置にハンドリング位置を設定することが適切であると学習することが期待される。また上述した各学習例におけるハンドリング位置とエンドエフェクタ８の組み合わせは、あくまで想定される例示であり、工業部品１０やエンドエフェクタ８等の詳細な構成や他の要因によっては、他のハンドリング位置とエンドエフェクタ８の組み合わせが適切であると学習する可能性もある。
【００３９】
＜ハンドリング設定部におけるニューラルネットワークの構成について＞
ハンドリング設定部１２は、上述したように、ニューラルネットワークを用いた深層学習の機械学習によってハンドリング位置の推定とエンドエフェクタ８の選択を行う。そして本実施形態の例では、まず先にハンドリング位置推定部２１が形状情報に基づいて先にハンドリング位置の推定し、次にエンドエフェクタ選択部２２がハンドリング位置情報に基づいてエンドエフェクタ８を選択する。以上から、ハンドリング設定部１２は、例えば図７のニューラルネットワークモデル概略図で示すようなハンドリング位置推定部２１と、図８のニューラルネットワークモデル概略図で示すようなエンドエフェクタ選択部２２とを組み合わせることで構成できる。
【００４０】
図７に示すハンドリング位置推定部２１のモデル概略図では、画像認識部１１から入力された２次元ピクセル列の画像データである形状情報に対して、推定したハンドリング位置を示すマーキング（図中の破線部分）を当該画像データ中に記入するよう画像の加工処理を行い、これをハンドリング位置情報として出力するよう設計されている。そのマーキングの記入位置は、上述した機械学習プロセスでの学習内容に基づくものであり、当該形状情報の画像データ中に含まれている工業部品１０の外観（形状、姿勢）に対応して適切にハンドリングできると推定した工業部品１０側の接触位置である。すなわち、このハンドリング位置推定部２１のニューラルネットワークは、形状情報に含まれる工業部品１０の外観形状パターンとハンドリング位置との相関を表す特徴量を学習している。
【００４１】
また図８に示すエンドエフェクタ選択部２２のモデル概要図では、ハンドリング位置推定部２１から入力された２次元ピクセル列の画像データであるハンドリング位置情報に基づいて、選択したエンドエフェクタ８の種類をクラスタリングして出力するよう設計されている。その選択したエンドエフェクタ８の種類は、上述した機械学習プロセスでの学習内容に基づくものであり、当該ハンドリング位置情報の画像データ中に含まれるマーキングの数や工業部品１０との配置関係に対応して適切にハンドリングできるよう選択したエンドエフェクタ８の種類である。すなわち、このエンドエフェクタ選択部２２のニューラルネットワークは、ハンドリング位置情報に含まれる工業部品１０の外観形状パターン及びマーキングの配置パターンと、エンドエフェクタ８の種類との相関を表す特徴量を学習している。
【００４２】
以上それぞれの基本仕様にあるニューラルネットワークにおいては、例えば入力層の直近をいわゆる畳み込み層とプーリング層の組み合わせである畳み込みニューラルネットワーク（特に図示せず）で構成することで柔軟なパターンの認識が可能となる。また例えば、出力層の直近をいわゆるパターン認識や最適値演算に適した全結合層（特に図示せず）で構成することも好適である。
【００４３】
＜機械学習プロセスのデータ学習について＞
上記ハンドリング位置推定部２１及びエンドエフェクタ選択部２２のそれぞれのニューラルネットワークに対する機械学習プロセスの具体的な手順について、以下に説明する。図９は、ロボットコントローラ３のＣＰＵ９０１（後述の図１５参照）が、本実施形態の例におけるデータ学習により機械学習プロセスを実行する場合の処理手順のフローチャートを示している。このフローに示すデータ学習処理は、例えば図示しない操作部から機械学習プロセスを実行するよう指令入力されることで開始する。
【００４４】
まずステップＳ５で、ＣＰＵ９０１は、カメラ２から画像データを取得する。
【００４５】
次にステップＳ１０へ移り、ＣＰＵ９０１は、上記ステップＳ５で取得した画像データに基づく上記画像認識部１１の画像認識処理により、独立した個々の工業部品１０の個体を認識し、その外観部分画像を形状情報として抽出し取得する。
【００４６】
次にステップＳ１５へ移り、ＣＰＵ９０１は、上記ステップＳ１０で取得した形状情報に含まれる所定の工業部品１０の個体の外観パターンに対して接触位置であるハンドリング位置をランダムに設定し、対応するハンドリング位置情報（マーキングが記入された画像情報）を生成する。
【００４７】
次にステップＳ２０へ移り、ＣＰＵ９０１は、上記ステップＳ１５で設定したハンドリング位置に対してハンドリングさせるエンドエフェクタ８の種類をランダムに選択する。このとき、ハンドリングロボット５は、選択したエンドエフェクタ８を実際にアーム先端部５ａに装着するようエンドエフェクタ交換部６での着脱交換作業を行う。
【００４８】
次にステップＳ２５へ移り、ＣＰＵ９０１は、上記ステップＳ１５で設定したハンドリング位置と、上記ステップＳ２０で選択したエンドエフェクタ８の種類の組み合わせで、上記所定の工業部品１０の個体に対するハンドリング動作と移送動作（目標容器への取り分け）をハンドリングロボット５に行わせる。このハンドリング動作は、上記作業計画部１３及び逆キネマティクス演算部１４での処理により制御する。
【００４９】
次にステップＳ３０へ移り、ＣＰＵ９０１は、特に図示しない別途の検出装置によって、上記ステップＳ２５でのハンドリング動作が成功したか否か、つまり工業部品１０の把持や吸着の試行結果としての成否を判定する。なお上記検出装置としては、例えばカメラやレーザースキャナなどの光学機器を用いた画像認識装置や、工業部品１０の重量を計測する重量センサ等を別途用いればよい。またここで、単にハンドリング動作の成否を判定するだけでなく、ハンドリングした後での高速な移送動作や、特定駆動軸での回転動作や、特定のアーム節の揺動動作などを実行し、その前後でのエンドエフェクタ８における工業部品１０のハンドリング状態の変化を検出することで、当該ハンドリングの確度（安定性、信頼性）を検出してもよい。
【００５０】
次にステップＳ３５へ移り、ＣＰＵ９０１は、上記ステップＳ１０で取得した形状情報と、上記ステップＳ１５で設定したハンドリング位置情報と、上記ステップＳ２０で選択したエンドエフェクタ８の種類と、上記ステップＳ３０で判定したハンドリング動作の試行結果とを対応付けて１つのハンドリング成否データを生成し、記録する。
【００５１】
次にステップＳ４０へ移り、ＣＰＵ９０１は、例えば上記コンテナ７内に配置された全ての工業部品１０の個体についてハンドリング動作の試行を行ったか否かを判定する。まだコンテナ７内にハンドリング（目標容器への取り分け）されていない工業部品１０がある場合には、判定は満たされず、上記ステップＳ５に戻って同様の手順を繰り返す。
【００５２】
一方、コンテナ７内の全ての工業部品１０がハンドリングされていた場合、判定が満たされ、ステップＳ４５へ移る。
【００５３】
ステップＳ４５では、ＣＰＵ９０１は、上記ステップＳ５〜ステップＳ３５の試行で生成されたハンドリング成否データに基づいて、ハンドリング位置推定部２１及びエンドエフェクタ選択部２２のそれぞれのニューラルネットワークに対するデータ学習を行う。例えばこのデータ学習では、取得した形状情報を入力データとし、設定したハンドリング位置情報や選択したエンドエフェクタ８を出力データとした組み合わせの教師データを用いて、各ニューラルネットワークの入力層と出力層の間の関係性が成立するよう各ノードどうしをつなぐ各エッジの重み係数を調整するいわゆるバックプロパゲーション処理により学習を行う。このバックプロパゲーション処理では、多数のハンドリング成否データのうち特にハンドリング動作が成功して確度の高いデータのみを抽出し、これだけを教師データに用いて各エッジの重み係数を強めるよう調整してもよい。または、全てのハンドリング成否データを教師データとし、それぞれの成否や確度に応じて各エッジの重み係数を強めたり弱めたりするよう調整してもよい。なお、このようなバックプロパゲーションの他にも、いわゆるオートエンコーダ、ドロップアウト、ノイズ付加、及びスパース正則化などの公知の多様な学習手法を併用して処理精度を向上させてもよい。その後、このフローを終了する。
【００５４】
なお、以上のデータ学習処理による機械学習プロセスは、当該ハンドリングシステム１の稼働開始前にハンドリング対象の工業部品１０に対して行ってもよいし、または工業部品１０の変更時や動作精度の向上を目的として稼働中の必要時に行ってもよい。
【００５５】
＜本実施形態による効果＞
以上説明したように、本実施形態のハンドリングシステム１は、機械学習プロセスでの学習内容に基づき、工業部品１０の個体の形状情報に対応して、ハンドリング位置を推定するハンドリング位置推定部２１と、ハンドリング動作させるエンドエフェクタ８の選択を行うエンドエフェクタ選択部２２とを備えたハンドリング設定部１２を有している。そして機械学習プロセスにおいて、形状と配置姿勢が多様に異なる工業部品１０の個体の形状情報に対し、それぞれ多様なハンドリング位置とエンドエフェクタ８の組み合わせで繰り返しハンドリング動作を試行した結果を学習する。この機械学習プロセスは、機械自身によって自動的に行うことができ、その試行回数（ハンドリング成否データ）が多いほどハンドリング動作の精度や確度が向上する。これにより人為的な設定作業によらず、ハンドリング設定部１２は工業部品１０の個体の形状と姿勢の組み合わせを表す形状情報に対応して、その工業部品１０に対するハンドリング動作に最適なハンドリング位置の推定とエンドエフェクタ８の選択が可能となる。この結果、機械によるハンドリング性能を向上できる。
【００５６】
また、本実施形態では特に、ハンドリングロボット５と、当該ハンドリングロボット５のハンドリング動作を制御する作業計画部１３及び逆キネマティクス演算部１４とを有している。これにより、多様な位置と姿勢に配置された工業部品１０に対してハンドリングロボット５を利用した確実なハンドリング動作と移送動作を実現できる。なお、本実施形態の例のように、１台のハンドリングロボット５に複数種類のエンドエフェクタ８を着脱交換可能とする構成に限られない。他にも、１台のハンドリングロボットに１種類のエンドエフェクタ８を装着してエンドエフェクタ８の種類と同数のハンドリングロボットを併設してもよいし、又は１台のハンドリングロボットに複数種類のエンドエフェクタ８を装着してそれらを切り替えて利用してもよい（以上、図示省略）。また、使用するハンドリングロボット自体についても、本実施形態の例の６軸ロボットのマニプレータアームに限られない。他にも、いわゆるスカラロボット、パラレルロボット、又は直交軸ロボット等（以上、図示省略）を適用してもよい。
【００５７】
また、本実施形態では特に、ハンドリング設定部１２は、ハンドリング位置を推定してから、当該ハンドリング位置に対応するエンドエフェクタ８を選択する。これにより、ハンドリング位置を基準としたエンドエフェクタ８の選択が可能となり、特に工業部品１０の姿勢に対応した柔軟なハンドリング動作が可能となる。
【００５８】
また、本実施形態では特に、機械学習プロセスでは、ハンドリング動作を繰り返した際に得られたハンドリング成否データに基づくデータ学習により実行される。これにより、機械学習プロセスにおいて、多様な形状と姿勢にある工業部品１０に対応した汎用性の高いハンドリング動作を学習できる。
【００５９】
また、本実施形態では特に、機械学習プロセスは、コンテナ７内に配置された限られた所定形状の工業部品１０に対して実行される。これにより、機械学習プロセスにおいて、所定の形状にある工業部品１０に限定した確度の高いハンドリング動作を迅速に学習できる。なお、このように限られた所定形状の工業部品１０だけでなく、多種多様な大きさと形状にある多くの工業部品１０に対して機械学習プロセスを実行してもよい。その場合には、同一のニューラルネットワークで学習した内容が、多様な形状の対象物に対して柔軟に対応可能な汎用性を向上することができ、それまでに学習対象としていなかった未知の形状（不定形状）にある対象物に対しても汎用性の高いハンドリング動作を学習できる。
【００６０】
また、本実施形態では特に、エンドエフェクタ８の種類は、多指ハンド８Ａ、グリッパ８Ｂ、及び吸着ノズル８Ｃのうち少なくとも１つを含んでいる。上述したように、多指ハンド８Ａでは特に工業部品１０の外周側面を包むような把持に有効であり、グリッパ８Ｂでは特に対向する２方向（又は３方向以上）で挟持する把持に有効であり、吸着ノズル８Ｃでは特に平面の引き上げに有効である。本実施形態では、これらのうちから選択可能としていることで多様な形状と姿勢にある国行部品に対応して汎用性の高いハンドリング動作が可能となる。なお、ハンドリングシステム１で用いるエンドエフェクタ８はこれら３種に限られず、特に図示しない他の種類のエンドエフェクタを適用してもよい。
【００６１】
＜変形例＞
なお、以上説明した実施形態は、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。
【００６２】
＜変形例１：機械学習プロセスを強化学習で行う場合＞
上記実施形態では、形状情報に対応する適切なハンドリング位置とエンドエフェクタ８の機械学習プロセスをデータ学習により行っていたが、これに限られない。他にも、図１０に例示するような強化学習処理の機械学習プロセスにより、ハンドリング位置推定部２１及びエンドエフェクタ選択部２２のそれぞれのニューラルネットワークの学習を行ってもよい。なお、図示する本変形例の強化学習処理では、いわゆるＱ学習の手法に基づいて行う。
【００６３】
まずステップＳ１０５で、ＣＰＵ９０１は、カメラ２から画像データを取得する。
【００６４】
次にステップＳ１１０へ移り、ＣＰＵ９０１は、上記ステップＳ１０５で取得した画像データに基づく上記画像認識部１１の画像認識処理により、独立した個々の工業部品１０の個体を認識し、その外観部分画像を形状情報として抽出し取得する。
【００６５】
次にステップＳ１１５へ移り、ＣＰＵ９０１は、上記ステップＳ１０で取得した形状情報に含まれる所定の工業部品１０の個体の外観パターンに対して新たな接触位置を探索する。この新たな接触位置の探索については、その時点まで適切（後述のいわゆるＱ値が最大）であるとして設定される接触位置から、小さな確率でランダムな方向に修正した接触位置を設定するか、もしくはそれ以外のほとんどの確率ではその適切であるとされる接触位置そのままとする。このように新たに探索した接触位置を今回のハンドリング位置として設定し、対応するハンドリング位置情報（マーキングが記入された画像情報）を生成する。
【００６６】
次にステップＳ１２０へ移り、ＣＰＵ９０１は、上記ステップＳ１１５で設定したハンドリング位置に対して新たなエンドエフェクタ８を探索する。この新たなエンドエフェクタ８の探索については、その時点まで適切（後述のいわゆるＱ値が最大）であるとして選択されたエンドエフェクタ８から、小さな確率でランダムに変更したエンドエフェクタ８を選択するか、もしくはそれ以外のほとんどの確率ではその適切であるとされるエンドエフェクタ８そのままとする。このように新たに探索したエンドエフェクタ８を今回使用するエンドエフェクタ８として選択し、対応するエンドエフェクタ選択情報を生成する。このとき、ハンドリングロボット５は、選択したエンドエフェクタ８を実際にアーム先端部５ａに装着するようエンドエフェクタ交換部６での着脱交換作業を行う。
【００６７】
次にステップＳ１２５へ移り、ＣＰＵ９０１は、上記ステップＳ１１５で探索設定したハンドリング位置と、上記ステップＳ１２０で探索選択したエンドエフェクタ８の種類の組み合わせで、上記所定の工業部品１０の個体に対するハンドリング動作と移送動作（目標容器への取り分け）をハンドリングロボット５に行わせる。このハンドリング動作は、上記作業計画部１３及び逆キネマティクス演算部１４での処理により制御する。
【００６８】
次にステップＳ１３０へ移り、ＣＰＵ９０１は、特に図示しない別途の検出装置によって、上記ステップＳ２５でのハンドリング動作が成功したか否か、つまり工業部品１０の把持や吸着の試行結果としての成否を判定する。なお上記検出装置としては、例えばカメラやレーザースキャナなどの光学機器を用いた画像認識装置や、工業部品１０の重量を計測する重量センサ等を別途用いればよい。またここで、単にハンドリング動作の成否を判定するだけでなく、ハンドリングした後での高速な移送動作や、特定駆動軸での回転動作や、特定のアーム節の揺動動作などを実行し、その前後でのエンドエフェクタ８における工業部品１０のハンドリング状態の変化を検出することで、当該ハンドリングの確度（安定性、信頼性）を検出してもよい。以上のような成否判定及び確度の検出によって今回のハンドリング動作に対する評価を行い、この評価に応じた報酬を算出する。
【００６９】
次にステップＳ１３５へ移り、ＣＰＵ９０１は、上記ステップＳ１１０で取得した形状情報と、上記ステップＳ１１５で探索設定したハンドリング位置情報と、上記ステップＳ１２０で探索選択したエンドエフェクタ８の種類と、上記ステップＳ１３０で算出したハンドリング動作の報酬に基づくいわゆるＱ学習により、ハンドリング位置推定部２１及びエンドエフェクタ選択部２２のそれぞれのニューラルネットワークに対する強化学習を行う。上記ステップＳ１０５〜ステップＳ１３５でのハンドリング動作の試行に対してその有効性を示すＱ値がより最大化するようハンドリング位置とエンドエフェクタ８を学習する。このＱ学習による強化学習については、公知の手法を用いればよくここでは詳細な説明を省略する。
【００７０】
次にステップＳ１４０へ移り、ＣＰＵ９０１は、ハンドリング位置推定部２１及びエンドエフェクタ選択部２２のそれぞれのニューラルネットワークに対し、十分な試行回数で機械学習が行われたか否かを判定する。機械学習が不十分であって当該強化学習処理を終了しない場合には、判定は満たされず、上記ステップＳ１０５に戻って同様の手順を繰り返す。
【００７１】
一方、機械学習が十分であって当該強化学習処理を終了する場合には、判定が満たされ、このフローを終了する。
【００７２】
以上説明したように、本変形例のハンドリングシステム１は、機械学習プロセスが、ハンドリング動作を繰り返した際のそれぞれのハンドリング結果に基づく強化学習により実行される。これにより、機械学習プロセスにおいて、特定の形状にある工業部品１０に限定した精度の高いハンドリング動作を迅速に学習できる。
【００７３】
＜変形例２：エンドエフェクタを選択してからハンドリング位置を推定する場合＞
上記実施形態では、ハンドリング設定部１２において、ハンドリング位置推定部２１が形状情報に対応したハンドリング位置情報を推定してから、エンドエフェクタ選択部２２がそのハンドリング位置情報に基づいてエンドエフェクタ８を選択していたが、これに限られない。他にも、図１１に示すようにロボットコントローラ３Ａ内のハンドリング設定部１２Ａにおいて、エンドエフェクタ選択部２２Ａが形状情報に対応したエンドエフェクタ８を選択してから、ハンドリング位置推定部２１Ａがそのエンドエフェクタ選択情報と形状情報に対応したハンドリング位置情報を推定してもよい。
【００７４】
この場合には、エンドエフェクタ選択部２２Ａのニューラルネットワークが、形状情報に含まれる工業部品１０の外観形状パターンと、それに対応してハンドリング動作に適切なエンドエフェクタ８の種類との相関を表す特徴量を学習する。またハンドリング位置推定部２１Ａのニューラルネットワークは、形状情報に含まれる工業部品１０の外観形状パターン及びエンドエフェクタ選択情報と、それらに対応してハンドリング動作に適切なハンドリング位置との相関を表す特徴量を学習する。
【００７５】
以上説明したように、本変形例のハンドリングシステム１は、ハンドリング設定部１２が、エンドエフェクタ８を選択してから、当該エンドエフェクタ８に対応するハンドリング位置を推定する。これにより、エンドエフェクタ８を基準としたハンドリング位置の推定が可能となり、特に工業部品１０の形状に対応した柔軟なハンドリング動作が可能となる。
【００７６】
また、ハンドリング位置推定部２１とエンドエフェクタ選択部２２は個別に構成せずに、図１２に示すように同一のニューラルネットワークで並列に処理するよう構成してもよい。この図示する構成では、選択するエンドエフェクタ８の種類をクラスタリングしてエンドエフェクタ選択情報を出力するとともに、ハンドリング基準目標点Ｐ′（Ｘｐ′，Ｙｐ′，Ｚｐ′）と把持方向目標ベクトルＶ′をハンドリング位置情報として出力するよう設計されている。なおハンドリング位置情報の出力は、いわゆる回帰問題により整数値の座標位置やベクトル値を出力するようニューラルネットワークを設計する。
【００７７】
ここでハンドリング基準目標点Ｐ′とは、各エンドエフェクタ８上に設定されたハンドリング基準点Ｐをハンドリング動作時に位置させる目標位置である。また把持方向目標ベクトルＶ′とは、各エンドエフェクタ８（多指ハンド８Ａ及びグリッパ８Ｂのみ）に設定された把持方向ベクトルＶをハンドリング動作時に一致させる目標方向である（以上、図３〜図６参照）。各エンドエフェクタ８のハンドリング基準点Ｐは、図２に示すように、例えば多指ハンド８Ａやグリッパ８Ｂの場合には各指部８Ａｂ〜８Ａｄ間又は各爪部８Ｂｂ，８Ｂｃ間の中央位置に設定され、吸着ノズル８Ｃの場合には吸着口８Ｃｃの端部中央位置に設定される。また、把持方向ベクトルＶは、多指ハンド８Ａ及びグリッパ８Ｂの場合における各指部８Ａｂ〜８Ａｄ又は各爪部８Ｂｂ，８Ｂｃの把持方向を示す方向ベクトルである。このように、ハンドリング動作時において適切と推定されるエンドエフェクタ８の位置と姿勢をハンドリング基準目標点Ｐ′及び把持方向目標ベクトルＶ′で示し、これらの数値情報をハンドリング位置情報として生成してもよい。
【００７８】
＜変形例３：複数のカメラで撮像した複数の画像データで個体認識する場合＞
図１３に示す例では、それぞれの撮像領域が重複する２台のカメラ４１，４２で構成されたいわゆる３次元カメラ４３を用いて１つの食品Ｆ（図示する例では鳥唐揚げ）をそれぞれ異なる撮像方向から撮像している。これにより、図１４の左側に示すように、１つの食品Ｆに対して相互に視差を有する２つの画像データ（２つの形状情報；それぞれ２次元ピクセル列）を取得することができる。
【００７９】
図１４に示す例では、同一のニューラルネットワークで並列に構成されたハンドリング位置推定部２１とエンドエフェクタ選択部２２が上記２つの形状情報をそのまま個別に入力され、それら２つの形状方向に基づいてエンドエフェクタ選択情報とハンドリング位置情報を出力するよう設計されている。このように３次元の画像データを用いることで、特に形状や大きさが不定である食品Ｆに対して立体形状の空間認識精度が向上する。なお、カメラは撮像領域が重複すれば３つ以上用いてもよいし、ニューラルネットワークにおいてそれぞれの形状情報の画像データを個別の畳み込みニューラルネットワークで処理してから同一の全結合層でパターン認識してもよい。
【００８０】
＜その他の変形例＞
また特に図示しないが、対象物の画像データを取得する光学的センシング手段としてレーザースキャナ等をカメラ２（および３次元センサ８）の代わりに用いてもよい。この場合には、例えばレーザースキャナから投光された走査線で対象物の表面上における各点との距離を計測し、これらの距離データの集合で画像データを取得する。また、画像認識部１１は、外観部分画像の画像データではなく、例えば３Ｄ立体モデルを形状情報として取得してもよい。
【００８１】
また、カメラ２は固定的に配置される以外にも、例えばハンドリングロボット５のアーム先端部５ａやエンドエフェクタ８にカメラを設置してもよい。
【００８２】
また、ハンドリング位置推定部２１やエンドエフェクタ選択部２２の処理アルゴリズムは、図示したニューラルネットワークを用いた深層学習（ディープラーニング）によるもの以外にも、例えばサポートベクトルマシンやベイジアンネットワーク等を利用した他の処理アルゴリズム（特に図示せず）を適用してもよい。
【００８３】
また、ハンドリングロボット５がエンドエフェクタ８を切り換えずに単一のものだけを装着してハンドリングする場合には、エンドエフェクタ選択部２２を省略してハンドリング位置推定部２１が当該エンドエフェクタ８に対応するハンドリング位置情報だけを学習し、出力させてもよい。また、装着するエンドエフェクタ８の種類は、上記図２に例示した３種類以外の他の種類のエンドエフェクタ（特に図示せず）を装着してもよく、それらのハンドリング態様に対応してハンドリング位置推定部２１がハンドリング位置情報を学習すればよい。
【００８４】
＜ロボットコントローラのハードウェア構成例＞
次に、図１５を参照しつつ、上記で説明したＣＰＵ９０１が実行するプログラムによりソフトウェア的に実装された画像認識部１１、ハンドリング設定部１２（ハンドリング位置推定部２１、エンドエフェクタ選択部２２）、作業計画部１３、逆キネマティクス演算部１４等による処理を実現するロボットコントローラ３のハードウェア構成例について説明する。
【００８５】
図１５に示すように、ロボットコントローラ３は、例えば、ＣＰＵ９０１と、ＲＯＭ９０３と、ＲＡＭ９０５と、ＡＳＩＣ又はＦＰＧＡ等の特定の用途向けに構築された専用集積回路９０７と、入力装置９１３と、出力装置９１５と、記録装置９１７と、ドライブ９１９と、接続ポート９２１と、通信装置９２３とを有する。これらの構成は、バス９０９や入出力インターフェース９１１を介し相互に信号を伝達可能に接続されている。
【００８６】
プログラムは、例えば、ＲＯＭ９０３やＲＡＭ９０５、記録装置９１７等に記録しておくことができる。
【００８７】
また、プログラムは、例えば、フレキシブルディスクなどの磁気ディスク、各種のＣＤ・ＭＯディスク・ＤＶＤ等の光ディスク、半導体メモリ等のリムーバブルな記録媒体９２５に、一時的又は永続的に記録しておくこともできる。このような記録媒体９２５は、いわゆるパッケージソフトウエアとして提供することもできる。この場合、これらの記録媒体９２５に記録されたプログラムは、ドライブ９１９により読み出されて、入出力インターフェース９１１やバス９０９等を介し上記記録装置９１７に記録されてもよい。
【００８８】
また、プログラムは、例えば、ダウンロードサイト・他のコンピュータ・他の記録装置等（図示せず）に記録しておくこともできる。この場合、プログラムは、ＬＡＮやインターネット等のネットワークＮＷを介し転送され、通信装置９２３がこのプログラムを受信する。そして、通信装置９２３が受信したプログラムは、入出力インターフェース９１１やバス９０９等を介し上記記録装置９１７に記録されてもよい。
【００８９】
また、プログラムは、例えば、適宜の外部接続機器９２７に記録しておくこともできる。この場合、プログラムは、適宜の接続ポート９２１を介し転送され、入出力インターフェース９１１やバス９０９等を介し上記記録装置９１７に記録されてもよい。
【００９０】
そして、ＣＰＵ９０１が、上記記録装置９１７に記録されたプログラムに従い各種の処理を実行することにより、上記の画像認識部１１、ハンドリング設定部１２（ハンドリング位置推定部２１、エンドエフェクタ選択部２２）、作業計画部１３、及び逆キネマティクス演算部１４等による処理が実現される。この際、ＣＰＵ９０１は、例えば、上記記録装置９１７からプログラムを直接読み出して実行してもよいし、ＲＡＭ９０５に一旦ロードした上で実行してもよい。更にＣＰＵ９０１は、例えば、プログラムを通信装置９２３やドライブ９１９、接続ポート９２１を介し受信する場合、受信したプログラムを記録装置９１７に記録せずに直接実行してもよい。
【００９１】
また、ＣＰＵ９０１は、必要に応じて、例えばマウス・キーボード・マイク（図示せず）等の入力装置９１３から入力する信号や情報に基づいて各種の処理を行ってもよい。
【００９２】
そして、ＣＰＵ９０１は、上記の処理を実行した結果を、例えば表示装置や音声出力装置等の出力装置９１５から出力してもよく、さらにＣＰＵ９０１は、必要に応じてこの処理結果を通信装置９２３や接続ポート９２１を介し送信してもよく、上記記録装置９１７や記録媒体９２５に記録させてもよい。
【００９３】
なお、以上の説明において、「垂直」「平行」「平面」等の記載がある場合には、当該記載は厳密な意味ではない。すなわち、それら「垂直」「平行」「平面」とは、設計上、製造上の公差、誤差が許容され、「実質的に垂直」「実質的に平行」「実質的に平面」という意味である。
【００９４】
また、以上の説明において、外観上の寸法や大きさ、形状、位置等が「同一」「同じ」「等しい」「異なる」等の記載がある場合は、当該記載は厳密な意味ではない。すなわち、それら「同一」「等しい」「異なる」とは、設計上、製造上の公差、誤差が許容され、「実質的に同一」「実質的に同じ」「実質的に等しい」「実質的に異なる」という意味である。
【００９５】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。その他、一々例示はしないが、上記実施形態や各変形例は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【符号の説明】
【００９６】
１            ハンドリングシステム
２            カメラ（形状取得部）
３，３Ａ      ロボットコントローラ（コントローラ）
４            サーボアンプ
５            ハンドリングロボット
６            エンドエフェクタ交換部
８            エンドエフェクタ
８Ａ          多指ハンド
８Ｂ          グリッパ
８Ｃ          吸着ノズル
１０          工業部品（対象物）
１１          画像認識部（形状取得部）
１２，１２Ａ  ハンドリング設定部
１３          作業計画部（ハンドリング制御部）
１４          逆キネマティクス演算部（ハンドリング制御部）
２１，２１Ａ  ハンドリング位置推定部
２２，２２Ａ  エンドエフェクタ選択部
【図１】
2018118343.tif 000003
【図２】
2018118343.tif 000004
【図３】
2018118343.tif 000005
【図４】
2018118343.tif 000006
【図５】
2018118343.tif 000007
【図６】
2018118343.tif 000008
【図７】
2018118343.tif 000009
【図８】
2018118343.tif 000010
【図９】
2018118343.tif 000011
【図１０】
2018118343.tif 000012
【図１１】
2018118343.tif 000013
【図１２】
2018118343.tif 000014
【図１３】
2018118343.tif 000015
【図１４】
2018118343.tif 000016
【図１５】
2018118343.tif 000017