(57)【要約】【課題】配置された物体の中心点の位置を精度良く検出すること。【解決手段】物体が載置された平面の第１の方向（Ｘ方向）を決定し（Ｓ２０１）、平面における第１の方向に直交する第２の方向（Ｙ方向）に所定の間隔で定められた複数の第１の方向に延びる第１の認識ラインにおける、物体の平面に直交する第３の方向（Ｚ方向）の第１の距離に基づいて、第１の認識ラインごとに、第２の方向に延びる第２の認識ラインを決定し（Ｓ２０２、Ｓ２０３）、第１の距離と、第２の認識ラインにおける物体の第３の方向の第２の距離と、に基づいて、物体の中心部の位置および両端部の位置を特定し（Ｓ２０４〜Ｓ２０９）、特定された物体枠から、当該物体枠の中心点を特定する（Ｓ２１０）。【選択図】図２
2018155685.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
物体が載置された平面の第１の方向を決定し、
前記平面における前記第１の方向に直交する第２の方向に所定の間隔で定められた複数の前記第１の方向に延びる第１の認識ラインにおける、前記物体の前記平面に直交する第３の方向の第１の距離に基づいて、前記第１の認識ラインごとに、前記第２の方向に延びる第２の認識ラインを決定し、
前記第１の距離と、前記第２の認識ラインにおける前記物体の前記第３の方向の第２の距離と、に基づいて、前記物体の中心部の位置および両端部の位置を特定し、
特定された前記物体の両端部の位置から、前記物体が位置する物体枠を特定し、
特定された前記物体枠から、当該物体枠の中心点を特定する、
処理を実行することを特徴とする物体検出方法。
【請求項２】
前記物体の前記第３の方向の距離のばらつきに基づいて、前記第１の方向を決定することを特徴とする請求項１に記載の物体検出方法。
【請求項３】
物体が載置された平面におけるそれぞれ直交する２つの方向のうち、当該２つの方向における前記物体の前記第３の方向の距離のばらつきが小さい方向を、前記第１の方向に決定することを特徴とする請求項２に記載の物体検出方法。
【請求項４】
前記中心部を通る、前記第１の認識ラインと平行の認識ラインにおける前記物体の前記第３の方向の第３の距離に基づいて、前記物体の前記第１の方向における両端部の位置を特定することを特徴とする請求項１〜３のいずれか一つに記載の物体検出方法。
【請求項５】
前記第３の距離の変化パターンにおける谷部の位置を、前記物体の前記第１の方向における両端部の位置とすることを特徴とする請求項４に記載の物体検出方法。
【請求項６】
前記第１の距離の変化パターンにおける山部の位置を、前記第２の認識ラインの位置とすることを特徴とする請求項１〜５のいずれか一つに記載の物体検出方法。
【請求項７】
前記第２の距離の変化パターンにおける山部の位置を、前記物体の前記第２の方向における中心部の位置とすることを特徴とする請求項１〜６のいずれか一つに記載の物体検出方法。
【請求項８】
前記第２の距離の変化パターンにおける谷部の位置を、前記物体の前記第２の方向における両端部の位置とすることを特徴とする請求項１〜７のいずれか一つに記載の物体検出方法。
【請求項９】
コンピュータに、
物体が載置された平面の第１の方向を決定し、
前記平面における前記第１の方向に直交する第２の方向に所定の間隔で定められた複数の前記第１の方向に延びる第１の認識ラインにおける、前記物体の前記平面に直交する第３の方向の第１の距離に基づいて、前記第１の認識ラインごとに、前記第２の方向に延びる第２の認識ラインを決定し、
前記第１の距離と、前記第２の認識ラインにおける前記物体の前記第３の方向の第２の距離と、に基づいて、前記物体の中心部の位置および両端部の位置を特定し、
特定された前記物体の両端部の位置から、前記物体が位置する物体枠を特定し、
特定された前記物体枠から、当該物体枠の中心点を特定する、
処理を実行させることを特徴とする物体検出プログラム。
【請求項１０】
物体が載置された平面に直交する方向における当該物体の距離を測定する測定部と、
前記平面の第１の方向を決定し、
前記平面における前記第１の方向に直交する第２の方向に所定の間隔で定められた複数の前記第１の方向に延びる第１の認識ラインにおける、前記測定部が測定した距離の第１の距離に基づいて、前記第１の認識ラインごとに、前記第２の方向に延びる第２の認識ラインを決定し、
前記第１の距離と、前記第２の認識ラインにおける、前記測定部が測定した距離の前記第３の方向の第２の距離と、に基づいて、前記物体の中心部の位置および両端部の位置を特定し、
特定された前記物体の中心部の位置および両端部の位置から、前記物体が位置する物体枠を特定し、
特定された前記物体枠から、当該物体枠の中心点を特定する、
処理部を備えることを特徴とする物体検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体検出方法、物体検出プログラムおよび物体検出装置に関する。
【背景技術】
【０００２】
従来、ピッキングの対象となる物体の距離画像データを生成し、生成された距離画像データを用いて物体の配置位置を認識するピッキング・システムにあっては、物体の一定間隔の縦および横の認識ラインにおける高さ方向の距離を取得し、当該距離に基づいて、山部評価による配置パターン検出をおこなわれる。
【０００３】
また、先行技術として、距離画上に設定された複数の区分のそれぞれについて、区分内に存在する距離値のヒストグラムに基づいて距離代表値を算出することで、複数種の物体を精度良く検出する技術がある（たとえば、下記特許文献１参照。）。
【０００４】
また、先行技術として、移動物体の中心と画素の累積数のピークとが異なる場合にも、移動体の中心位置を高い精度で検出して接近した複数の移動物体の中から個別の移動体の輪郭を抽出する技術がある（たとえば、下記特許文献２参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−４５９７４号公報
【特許文献２】特開２００５−１９６３５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来技術にあっては、物体の配置具合によっては、物体の中心位置を誤検出してしまう場合があるという問題点がある。そして、物体の中心位置を誤検出することによって、物体のピッキングに失敗したり、ピッキングされた物体が途中で落下してしまう虞れがあり、ピッキングを効率的におこなうことができないという問題点がある。
【０００７】
一つの側面では、本発明は、配置された物体の中心点の位置を精度良く検出することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様によれば、物体が載置された平面の第１の方向を決定し、平面における第１の方向に直交する第２の方向に所定の間隔で定められた複数の第１の方向に延びる第１の認識ラインにおける、物体の平面に直交する第３の方向の第１の距離に基づいて、第１の認識ラインごとに、第２の方向に延びる第２の認識ラインを決定し、第１の距離と、第２の認識ラインにおける前記物体の前記第３の方向の第２の距離と、に基づいて、物体の中心部の位置および両端部の位置を特定し、特定された物体の両端部の位置から、物体が位置する物体枠を特定し、特定された物体枠から、当該物体枠の中心点を特定する物体検出方法、物体検出プログラムおよび物体検出装置が提案される。
【発明の効果】
【０００９】
本発明の一側面によれば、配置された物体の中心点の位置を精度良く検出することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態にかかる物体検出装置を含むピッキング・システムの外観の一例を示す説明図である。
【図２】図２は、実施の形態にかかる物体検出装置の処理の手順の一例を示すフローチャートである。
【図３】図３は、第１の方向の決定処理の内容を示す説明図（その１）である。
【図４】図４は、第１の方向の決定処理の内容を示す説明図（その２）である。
【図５】図５は、第１の方向の決定処理の内容を示す説明図（その３）である。
【図６】図６は、第１の認識ラインの決定処理の内容を示す説明図である。
【図７】図７は、物体の中心部の位置および第２の認識ライン方向における両端部の位置の特定処理の内容を示す説明図である。
【図８】図８は、第１の認識ライン方向における両端部の位置の特定処理および物体枠の特定処理の内容を示す説明図である。
【図９】図９は、物体枠の中心点の特定処理の内容を示す説明図である。
【図１０】図１０は、実施の形態にかかる物体検出装置のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、本発明にかかる物体検出方法、物体検出プログラムおよび物体検出装置の実施の形態を詳細に説明する。
【００１２】
（実施の形態）
（物体検出装置の概要）
図１は、実施の形態にかかる物体検出装置を含むピッキング・システムの外観の一例を示す説明図である。図１において、容器（たとえば、番重など）１００内には、物体（たとえば、袋詰めされたパン、菓子など）１０１が載置されている。なお、図１においては、袋は省略している。
【００１３】
また、ピッキング・システムは、測定部（たとえば、距離センサ）１１０と、ピッキング部材（たとえば、ピッキングハンド）１２０と、を備えている。
【００１４】
測定部（距離センサ）１１０の一例であるＫｉｎｅｃｔセンサは、生成する距離画像を利用して、物体の凹凸により位置を特定する。測定部１１０が測定する距離は、容器１００の底面をＸＹ平面としたとき、Ｚ方向（高さ方向）の距離情報である。距離情報は、Ｘ方向およびＹ方向のそれぞれに沿った複数点で取得する。
【００１５】
測定部１１０による距離画像の生成は、ピッキング部材１２０によって物体がピッキングされるごとにおこなわれ、その距離画像に基づいて、残された物体の物体枠の中心点を特定する。
【００１６】
ピッキング部材（たとえば、ピッキングハンド）１２０は、バキューム式のロボットハンドであり、物体１０１の中心点付近へ移動して、物体を吸着し、吸着した状態で、物体を所定の場所（たとえば、配送用の別の容器の所定の位置）へ搬送し、吸着を解除する。図示は省略するが、ピッキングハンドは物量の多い物体（製品）の配置パターンに合わせて２個同時ピッキングが可能な配置にしてもよい。これにより物量の多い物体の仕分け処理の効率を上げることができる。
【００１７】
その際、吸引力が強すぎると、包装紙がしわになり、物品（商品）の品質が低下するので、それを抑えるために、できるだけ吸引力を下げたい。そのために、より正確な物体の中心点を取得することが重要である。
【００１８】
（物体検出装置の処理の手順）
図２は、実施の形態にかかる物体検出装置の処理の手順の一例を示すフローチャートである。
【００１９】
図２のフローチャートにおいて、物体検出装置の処理部は、まず、第１の方向を決定する（ステップＳ２０１）。第１の方向とは、物体が載置された平面の任意の一方向である。具体的には、たとえば、物体が載置される矩形の容器の縦方向または横方向であるとよい。
【００２０】
第１の方向は、物体の第３の方向（すなわち、平面に対する高さ方向（Ｚ方向））の距離のばらつきに基づいて決定するようにしてもよい。より具体的には、物体が載置された平面におけるそれぞれ直交する２つの方向のうち、当該２つの方向における物体の第３の方向の距離の変化パターン（たとえば、山部）のばらつきが小さい方向を、第１の方向に決定するようにしてもよい。第１の方向の決定に関する処理の詳細については後述する。
【００２１】
つぎに、第１の認識ラインによる第１の距離を取得する（ステップＳ２０２）。第１の認識ラインとは、平面における第１の方向に直交する第２の方向に所定の間隔で定められた複数の第１の方向に延びる認識ラインである。第２の方向は、第１の方向をＸ方向とした場合に、Ｘ方向に直交するＹ方向である。第１の距離とは、第１の認識ラインにおける、物体の平面に直交する第３の方向（Ｚ方向）の距離であり、いわゆる物体の高さに相当する。第１の距離の取得は、複数存在する第１の認識ラインごとにそれぞれおこない、それらの距離を集めることで、距離の変化パターンとなる。
【００２２】
つぎに、第２の認識ラインを決定する（ステップＳ２０３）。第２の認識ラインは、第２の方向（Ｙ方向）に延びる認識ラインである。第２の認識ラインは、第１の認識ラインごとのそれぞれの第１の距離に基づいて、第１の認識ラインごとに決定する。具体的には、たとえば、第１の距離の変化パターンにおける山部の位置を、第２の認識ラインの位置とするようにしてもよい。
【００２３】
つぎに、第２の認識ラインによる第２の距離を取得する（ステップＳ２０４）。第２の距離とは、第２の認識ラインにおける物体の第３の方向（Ｚ方向）の距離である。
【００２４】
つぎに、物体の中心部の位置を特定する（ステップＳ２０５）。ステップＳ２０２において取得した第１の距離と、ステップＳ２０４において取得した第２の距離と、に基づいて、物体の中心部の位置を特定する。具体的には、たとえば、第２の距離の変化パターンにおける山部の位置を、物体の第２の方向における中心部の位置とし、その中心部の位置に存在する第２の認識ラインの位置を第１の方向における中心部の位置とするようにしてもよい。原則として、存在する物体の数と同数の中心部の位置を特定する。
【００２５】
また、第２の認識ライン方向における両端部の位置を特定する（ステップＳ２０６）。ステップＳ２０５において物体の中心部の位置を特定するとともに、中心部の位置が特定できた物品の両端部の位置を、ステップＳ２０２において取得した第１の距離と、ステップＳ２０４において取得した第２の距離と、に基づいて特定する。具体的には、たとえば、第２の距離の変化パターンにおける谷部の位置を、物体の第２の方向における両端部の位置とするようにしてもよい。
【００２６】
つぎに、第３の距離を取得する（ステップＳ２０７）。第３の距離とは、ステップＳ２０５において特定した物体の中心部を通る、第１の認識ラインと平行（すなわちＸ方向）の認識ラインにおける第３の方向（Ｚ方向）の距離である。特定した物品の各中心部ごとに第３の距離をそれぞれ取得する。
【００２７】
つぎに、第１の認識ライン方向における両端部の位置を特定する（ステップＳ２０８）。ステップＳ２０７において取得した第３の距離に基づいて、物体の第１の方向における両端部の位置を特定する。具体的には、たとえば、第３の距離の変化パターンにおける谷部の位置を、物体の第１の方向における両端部の位置とするようにしてもよい。
【００２８】
つぎに、物体枠を特定する（ステップＳ２０９）。物体枠とは、物体を囲む枠であり、第１の方向と第２の方向を各辺とする矩形枠である。ステップＳ２０６において特定された物体の第２の方向における両端部の位置およびステップＳ２０８において特定された物体の第１の方向における両端部の位置から、物体が位置する物体枠を特定する。
【００２９】
つぎに、物体枠の中心点を特定する（ステップＳ２１０）。ステップＳ２０９において特定された物体が位置する物体枠（矩形枠）の対角の頂点を結んだ直線の交点を中心点として特定するようにすればよい。これによって、一連の処理を完了する。
【００３０】
（第１の方向の決定処理）
つぎに、図２のフローチャートのステップＳ２０１で示した第１の方向の決定処理の内容について説明する。図３〜図５は、第１の方向の決定処理の内容を示す説明図であり、容器１００内に載置された物体１０１を上から見た上面図を示している。すなわち、図３〜図５は、測定部（距離センサ）１１０の一例であるＫｉｎｅｃｔセンサから見た状態を示している。
【００３１】
図３においては、楕円形状の９つの物体１０１Ａ〜１０１Ｉ（たとえば、パンなど）が容器１００内に載置されている。図３において、容器の横方向をＸ方向とし、容器の縦方向をＹ方向とすると、Ｙ方向には、物体１０１の並びが揃っている。
【００３２】
具体的には、物体１０１Ａと物体１０１Ｂと物体１０１Ｃの並びは揃っている。また、物体１０１Ｄと物体１０１Ｅと物体１０１Ｆの並びも揃っている。また、物体１０１Ｇと物体１０１Ｈと物体１０１Ｉの並びも揃っている。
【００３３】
これに対して、Ｘ方向には、物体１０１の並びは揃っていない。具体的には、物体１０１Ａと物体１０１Ｄと物体１０１Ｇの並びは揃っていない。同様に、物体１０１Ｂと物体１０１Ｅと物体１０１Ｈの並びも、物体１０１Ｃと物体１０１Ｆと物体１０１Ｉの並びも、揃っていない。
【００３４】
このように、両方向における物体の並びがより揃っている方、すなわち、物品の配置のばらつきがより小さい方の方向を第１の方向とする。図３における物品の配置の例においては、横方向、すなわちＸ方向を第１の方向とする。そして、図４に示すように、横認識ラインを第１の認識ライン４０１に決定する。
【００３５】
より具体的には、Ｘ方向とＹ方向における物品の配置のばらつきを比較するために、図５に示すように、各方向に所定の間隔で設けられた認識ライン（Ｘ方向の認識ライン５０１およびＹ方向の認識ライン５０２）におけるＺ方向の距離を取得する。そして、各方向ごとの距離におけるデータのばらつきの大きさを表す標準偏差の平均値を取得し、その平均値がより小さい方がばらつきが小さいと判断する。
【００３６】
このようにして、容器１００のＸ方向とＹ方向のいずれかの方向を第１の方向に決定する。第１の方向の決定方法は、この方法には限定されず、別の方法によって第１の方向を決定するようにしてもよい。
【００３７】
（第１の認識ラインによる第１の距離の取得処理）
つぎに、図２のフローチャートのステップＳ２０２で示した第１の認識ラインによる第１の距離の取得処理の内容について、図６を用いて説明する。図６は、第１の認識ラインの決定処理の内容を説明する説明図であり、容器１００内に載置された物体１０１を上から見た上面図を示している。すなわち、図６（後述する図７〜図９も同じ）は、測定部（距離センサ）１１０の一例であるＫｉｎｅｃｔセンサから見た状態を示している。
【００３８】
図６において、容器１００には、４つの物体６０１Ａ（図６における左上）、６０１Ｂ（図６における左下）、６０１Ｃ（図６における右上）、６０１Ｄ（図６における右下）が載置されている。そして、容器１００の横方向（Ｘ方向）が第１の方向として決定されている。したがって、Ｘ方向に延びるライン認識ライン６１１〜６１８が所定の間隔（図６においては等間隔）で設けられている。
【００３９】
また、図６において、第１の距離データ６２１は、第１の認識ライン６１１において取得した第３の方向（Ｚ方向）の距離データである。距離データ６２１によって、第１の認識ライン６１１における第３の方向（Ｚ方向）の距離の変化パターンがわかる。
【００４０】
同様に、距離データ６２２は、第１の認識ライン６１２において取得したＺ方向の距離データであり、第１の距離データ６２３は、第１の認識ライン６１３において取得したＺ方向の距離データであり、第１の距離データ６２４は、第１の認識ライン６１４において取得したＺ方向の距離データである。第１の認識ライン６１５〜６１８における第１の距離データについてもそれぞれ取得するが、それらの図示は省略する。
【００４１】
第１の距離データ６２１において、その変化のパターンを見ると、左右に２つの山部が存在する。左側の山部は、物体６０１Ａに対応する山部である。一方、右側の山部は、物体６０１Ｃに対応する山部である。
【００４２】
このようにして、第１認識ライン６１１〜６１８による第１の距離を取得することができる。
【００４３】
（第２の認識ラインの決定処理）
つぎに、図２のフローチャートのステップＳ２０３で示した第２の認識ラインの決定処理の内容について、引き続き、図６を用いて説明する。
【００４４】
図６において、第１の認識ライン６１１上における左側の山部のＸ方向の座標位置を通るＹ方向に延びるライン６５１を、物体６０１Ａに対応する、第１の認識ライン６１１における第２の認識ラインとして決定する。また、第１の認識ライン６１１上における右側の山部のＸ方向の座標位置を通るＹ方向に延びるライン６６１を、物体６０１Ｃに対応する、第１の認識ライン６１１における第２の認識ラインとして決定する。
【００４５】
同様に、第１の認識ライン６１２上における左側の山部のＸ方向の座標位置を通るＹ方向に延びるライン６５２を、物体６０１Ａに対応する、第１の認識ライン６１２における第２の認識ラインとして決定する。また、第１の認識ライン６１２上における右側の山部のＸ方向の座標位置を通るＹ方向に延びるライン６６２を、物体６０１Ｃに対応する、第１の認識ライン６１２における第２の認識ラインとして決定する。
【００４６】
同様に、第１の認識ライン６１３上における左側の山部のＸ方向の座標位置を通るＹ方向に延びるライン６５３を、物体６０１Ａに対応する、第１の認識ライン６１３における第２の認識ラインとして決定する。また、第１の認識ライン６１３上における右側の山部のＸ方向の座標位置を通るＹ方向に延びるライン６６３を、物体６０１Ｃに対応する、第１の認識ライン６１３における第２の認識ラインとしている。
【００４７】
同様に、第１の認識ライン６１４上における左側の山部のＸ方向の座標位置を通るＹ方向に延びるライン６５４を、物体６０１Ａに対応する、第１の認識ライン６１４における第２の認識ラインとして決定する。また、第１の認識ライン６１４上における右側の山部のＸ方向の座標位置を通るＹ方向に延びるライン６６４を、物体６０１Ｃに対応する、第１の認識ライン６１４における第２の認識ラインとして決定する。
【００４８】
また、物体６０１Ｂにおいては、第１の認識ライン６１５に対応する第２の認識ライン６５５、第１の認識ライン６１６に対応する第２の認識ライン６５６、第１の認識ライン６１７に対応する第２の認識ライン６５７、第１の認識ライン６１８に対応する第２の認識ライン６５８を、それぞれ決定する。
【００４９】
また、物体６０１Ｄにおいては、第１の認識ライン６１５に対応する第２の認識ライン６６５、第１の認識ライン６１６に対応する第２の認識ライン６６６、第１の認識ライン６１７に対応する第２の認識ライン６６７、第１の認識ライン６１８に対応する第２の認識ライン６６８をそれぞれ決定する。
【００５０】
このようにして、第２の認識ラインは、第１の認識ラインごとのそれぞれの第１の距離に基づいて、第１の距離の変化パターンにおける山部の位置を、第２の認識ラインの位置とすることにより、第１の認識ラインごとに決定することができる。
【００５１】
（第２の認識ラインによる第２の距離の取得処理）
つぎに、図２のフローチャートのステップＳ２０４で示した第２の認識ラインによる第２の距離の取得処理の内容について、図７を用いて説明する。図７は、物体の中心部の位置および第２の認識ライン方向における両端部の位置の特定処理の内容を説明する説明図であり、図６と同様に、容器１００内に載置された物体１０１を上から見た上面図である。
【００５２】
図７において、第２の距離データ７２１は、第２の認識ライン６６１〜６６８において取得した第３の方向（Ｚ方向）の距離データである。第２の距離データ７２１によって、第２の認識ライン６６１〜６６８における第３の方向（Ｚ方向）の距離の変化パターンがわかる。第２の認識ライン６５１〜６５８における距離データについても第２の距離データを取得するが、その図示は省略する。
【００５３】
第２の距離データ７２１において、その変化のパターンを見ると、左右（図７においては上下）に２つの山部が存在する。左側（図７における上側）の山部は、物体６０１Ｃに対応する山部である、一方、右側（図７における下側）の山部は、物体６０１Ｄに対応する山部である。
【００５４】
このようにして、第２の認識ライン６５１〜６５８、および、第２の認識ライン６６１〜６６８による第２の距離を取得することができる。
【００５５】
（物体の中心部の位置の特定処理）
つぎに、図２のフローチャートのステップＳ２０５で示した物体の中心部の位置の特定処理の内容について、引き続き、図７を用いて説明する。
【００５６】
図７において、第２の距離７２１の変化パターンにおける左側の山部７３１に対応する第２の認識ライン６６２における、山部７３１のＹ方向の座標位置を、物体６０１Ｃの中心部７０１Ｃの位置と特定する。
【００５７】
山部７３１のピークの変化パターンの形状によっては、物体６０１Ｃの中心部７０１Ｃの位置を、山部７３１のＹ方向の座標位置とする際、その中心座標は、第１の認識ライン６１２と、第１の認識ライン６１２の隣の第１の認識ライン６１１および第１の認識ライン６１３のそれぞれの中間ラインを中心座標の上限および下限として中心部７０１Ｃの位置を決定するようにしてもよい。
【００５８】
また、第２の距離の変化パターンにおける右側の山部７３２に対応する第２の認識ライン６６７における、山部７３２のＹ方向の座標位置を、物体６０１Ｄの中心部７０１Ｄの位置と特定する。物体６０１Ａの中心部７０１Ａ、物体６０１Ｂの中心部７０１Ｂも同様の処理によって特定する。
【００５９】
このように、第２の距離の変化パターンにおける山部の位置を、物体６０１Ａ〜６０１Ｄの第２の方向（Ｙ方向）における中心部の位置とし、その中心部の位置に存在する第２の認識ラインの位置を第１の方向（Ｘ方向）における中心部の位置とする。これにより、第１の距離と第２の距離とに基づいて、物体６０１Ａ〜６０１Ｄの中心部７０１Ａ〜７０１Ｄの位置を特定することができる。
【００６０】
（第２の認識ライン方向における両端部の位置の特定処理）
つぎに、図２のフローチャートのステップＳ２０６で示した第２の認識ライン方向における両端部の位置の特定処理の内容について、引き続き、図７を用いて説明する。
【００６１】
図７において、第２の距離７２１の変化パターンにおける、山部７３１を挟んだ両側の谷部７４１および７４２のＹ方向の座標位置を、それぞれ物体６０１Ｃの両端部の位置として特定する。そして、この両端部の位置に基づいて、物体６０１Ｃの物体枠の横方向（Ｘ方向）の各辺７５０Ｃおよび７６０Ｃが決まる。
【００６２】
同様に、第２の距離７２１の変化パターンにおける、山部７３２を挟んだ両側の谷部７４２および７４３のＹ方向の座標位置を、それぞれ物体６０１Ｄの両端部の位置として特定する。そして、この両端部の位置に基づいて、物体６０１Ｄの物体枠の横方向（Ｘ方向）の各辺７５０Ｄおよび７６０Ｄが決まる。物体６０１Ａおよび物体６０１Ｂの両端部も同様の処理によって特定する。図示は省略するが、物体６０１Ａ、６０１Ｂの物体枠の横方向（Ｘ方向）の各辺も決まる。
【００６３】
このように、中心部の位置が特定できた物品の両端部の位置を、第１の距離と、第２の距離と、に基づいて特定することができる。
【００６４】
（第３の距離の取得処理）
つぎに、図２のフローチャートのステップＳ２０７で示した第３の距離の取得処理の内容について、図８を用いて説明する。図８は、第１の認識ライン方向における両端部の位置の特定処理および物体枠の特定処理の内容を説明する説明図であり、図６、図７と同様に、容器１００内に載置された物体１０１を上から見た上面図である。
【００６５】
図８において、まず、物体６０１Ａの各中心部７０１Ａの位置を通る、第１の認識ラインと平行（すなわち、Ｘ方向）の認識ライン８０１Ａを設ける。そして、認識ライン８０１ＡにおけるＺ方向の第３の距離（図示を省略）を取得する。
【００６６】
同様に、物体６０１Ｂの各中心部７０１Ｂの位置を通る、第１の認識ラインと平行（すなわち、Ｘ方向）の認識ライン８０１Ｂを設ける。そして、認識ライン８０１ＢにおけるＺ方向の第３の距離（図示を省略）を取得する。
【００６７】
同様に、物体６０１Ｃ、６０１Ｄの各中心部７０１Ｃ、７０１Ｄの位置を通る、認識ライン８０１Ｃ、８０１Ｄを設け、そして、認識ライン８０１Ｃ、８０１ＤにおけるＺ方向の第３の距離（図示を省略）を取得する。
【００６８】
（第１の認識ライン方向における両端部の位置の特定処理）
つぎに、図２のフローチャートのステップＳ２０８で示した第１認識ライン方向における両端部の位置の特定処理の内容について、引き続き、図８を用いて説明する。
【００６９】
図８において、第３の距離の変化パターンにおける、山部を挟んだ両側の谷部の位置を、それぞれ、物体６０１Ａの両端部の位置として特定する。そして、その両端部の位置に基づいて、物体６０１Ａの物体枠の縦方向（Ｙ方向）の各辺８５０Ａおよび８６０Ａが決まる。
【００７０】
同様に、物体６０１Ｂについて認識ライン８０１Ｂを設け、認識ライン８０１ＢにおけるＺ方向の第３の距離を取得する。そして、第３の距離の変化パターンにおける、山部を挟んだ両側の谷部の位置を、それぞれ、物体６０１Ｂの両端部の位置として特定する。そして、その両端部の位置に基づいて、物体６０１Ｂの物体枠の縦方向（Ｙ方向）の各辺８５０Ｂおよび８６０Ｂが決まる。
【００７１】
物体６０１Ｃ、６０１Ｄにおいても、同様に、山部を挟んだ両側の谷部の位置を、それぞれ、物体６０１Ｃ、物体６０１Ｄの両端部の位置として特定し、それによって、物体６０１Ｃ、物体６０１Ｄの物体枠の縦方向（Ｙ方向）の各辺８５０Ｃおよび８６０Ｃ、各辺８５０Ｄおよび８６０Ｄが決まる。
【００７２】
（物体枠の特定処理）
つぎに、図２のフローチャートのステップＳ２０９で示した物体枠の特定処理の内容について、引き続き、図８を用いて説明する。
【００７３】
物体６０１Ａにおいては、物体６０１Ａの物体枠の横方向（Ｘ方向）の各辺７５０Ａおよび７６０Ａと、縦方向（Ｙ方向）の各辺８５０Ａおよび８６０Ａの４つの辺で囲まれた枠（矩形枠）を物体枠として特定する。
【００７４】
物体６０１Ｂにおいては、物体６０１Ｂの物体枠の横方向（Ｘ方向）の各辺７５０Ｂおよび７６０Ｂと、縦方向（Ｙ方向）の各辺８５０Ｂおよび８６０Ｂの４つの辺で囲まれた枠（矩形枠）を物体枠として特定する。
【００７５】
物体６０１Ｃにおいても、同様に、各辺７５０Ｃと、７６０Ｃと、８５０Ｃと、８６０Ｃの４つの辺で囲まれた枠（矩形枠）を物体枠として特定する。また、物体６０１Ｄにおいても、同様に、各辺７５０Ｄと、７６０Ｄと、８５０Ｄと、８６０Ｄの４つの辺で囲まれた枠（矩形枠）を物体枠として特定する。
【００７６】
このようにして、特定された物体の第２の方向における両端部の位置および物体の第１の方向における両端部の位置から、物体が位置する物体枠を特定することができる。
【００７７】
（物体枠の中心点の特定処理）
つぎに、図２のフローチャートのステップＳ２１０で示した物体枠の中心点の特定処理の内容について、図９を用いて説明する。図９は、物体枠の中心点の特定処理の内容を説明する説明図であり、容器１００内に載置された物体１０１を上から見た上面図およびである。
【００７８】
図９において、物体６０１Ａにおいて、各辺７５０Ａ、７６０Ａ、８５０Ａ、８６０Ａの４つの辺で囲まれた物体枠（矩形枠）の対角の頂点を結んだ交点を中心点９０１Ａとする。この中心点９０１Ａの位置は、図２のフローチャートのステップＳ２０５で特定した物体の中心部の位置とは、必ずしも一致しない。
【００７９】
同様に、物体６０１Ｂにおいて、各辺７５０Ｂ、７６０Ｂ、８５０Ｂ、８６０Ｂの４つの辺で囲まれた物体枠（矩形枠）の対角の頂点を結んだ交点を中心点９０１Ｂとする。また、物体６０１Ｃにおいて、各辺７５０Ｃ、７６０Ｃ、８５０Ｃ、８６０Ｃの４つの辺で囲まれた物体枠（矩形枠）の対角の頂点を結んだ交点を中心点９０１Ｃとする。また、物体６０１Ｄにおいて、各辺７５０Ｄ、７６０Ｄ、８５０Ｄ、８６０Ｄの４つの辺で囲まれた物体枠（矩形枠）の対角の頂点を結んだ交点を中心点９０１Ｄとする。
【００８０】
このように、特定された物体枠から、当該物体枠の中心点を特定することができる。
【００８１】
（物体検出装置のハードウェア構成例）
つぎに、実施の形態にかかる物体検出装置のハードウェア構成について説明する。図１０は、実施の形態にかかる物体検出装置のハードウェア構成の一例を示すブロック図である。図１０において、物体検出装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１００１と、メモリ１００２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）１００３と、ディスクドライブ１００４と、ディスク１００５と、を有する。また、各構成部は、バス１０００によってそれぞれ接続される。
【００８２】
ここで、ＣＰＵ１００１は、物体検出装置の全体の制御を司る。メモリ１００２は、たとえば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、たとえば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭは記憶部としてＣＰＵ１００１のワークエリアとして使用される。メモリ１００２に記憶されるプログラムは、ＣＰＵ１００１にロードされることで、コーディングされている処理をＣＰＵ１００１に実行させる。
【００８３】
Ｉ／Ｆ１００３は、通信回線を通じてＬＡＮ、ＷＡＮ、インターネットなどのネットワーク１０５０に接続され、ネットワーク１０５０を介して他のコンピュータ（たとえば、各種センサ、ピッキング・システム、物品などの搬送用のコンベア制御装置など）に接続される。そして、Ｉ／Ｆ１００３は、ネットワーク１０５０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。Ｉ／Ｆ１００３には、たとえば、モデムやＬＡＮアダプタなどを採用することができる。
【００８４】
ディスクドライブ１００４は、ＣＰＵ１００１の制御にしたがってディスク１００５に対するデータのリード／ライトを制御する。ディスク１００５は、ディスクドライブ１００４の制御で書き込まれたデータを記憶する。ディスク１００５としては、たとえば、磁気ディスク、光ディスクなどが挙げられる。
【００８５】
なお、物体検出装置は、上述した構成部のほか、たとえば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、キーボード、マウス、プリンタ、ディスプレイなどを有することにしてもよい。
【００８６】
また、物体検出装置の機能的構成においては、たとえば、図示を省略する測定部と処理部とを含む。物体検出装置の測定部は、たとえば、物体が載置された平面に直交する方向における当該物体の距離は、図示を省略する測定部が測定する。
【００８７】
物体検出装置の測定部は、具体的には、たとえば、図１に示したｋｉｎｅｃｔセンサなどによってその機能を実現することができる。
【００８８】
また、処理部は、平面の第１の方向を決定し、平面における第１の方向に直交する第２の方向に所定の間隔で定められた複数の第１の方向に延びる第１の認識ラインにおける、測定部が測定した距離の第１の距離に基づいて、第１の認識ラインごとに、第２の方向に延びる第２の認識ラインを決定する。
【００８９】
また、物体検出装置の処理部は、第１の距離と、第２の認識ラインにおける、測定部が測定した距離の第３の方向の第２の距離と、に基づいて、物体の中心部の位置および両端部の位置を特定する。
【００９０】
そして、物体検出装置の処理部は、特定された前記物体の中心部の位置および両端部の位置から、物体が位置する物体枠を特定し、特定された物体枠から、当該物体枠の中心点を特定する。
【００９１】
物体検出装置の処理部は、たとえば、ＣＰＵ１００１と、メモリ１００２などによって、その機能を実現することができる。
【００９２】
以上のように、実施の形態にかかる物体検出方法、物体検出プログラムおよび物体検出装置によれば、物体が載置された平面の第１の方向を決定し（Ｓ２０１）、前記平面における前記第１の方向に直交する第２の方向に所定の間隔で定められた複数の前記第１の方向に延びる第１の認識ラインにおける、前記物体の前記平面に直交する第３の方向の第１の距離に基づいて、前記第１の認識ラインごとに、前記第２の方向に延びる第２の認識ラインを決定し（Ｓ２０３）、前記第１の距離と、前記第２の認識ラインにおける前記物体の前記第３の方向の第２の距離と、に基づいて、前記物体の中心部の位置および両端部の位置を特定し（Ｓ２０５、Ｓ２０６）、特定された前記物体の両端部の位置から、前記物体が位置する物体枠を特定し（Ｓ２０９）、特定された前記物体枠から、当該物体枠の中心点を特定する（Ｓ２１０）ので、配置された物体の中心点の位置を精度良く検出することができる。
【００９３】
精度良く検出された物体の中心点は、ピッキング部材（たとえば、バキューム式のロボットハンド）１２０が、物体を吸着する際に、その中心点に基づいて、吸着する位置を決定する。物体の中心点を吸着すれば、より弱い吸引力でも確実に物体を吸着し、所定の位置へ搬送することができる。物体の吸着の失敗や、搬送途中で物体の落下などを防止できるとともに、物体を包装している包装紙にしわを生じさせ、それによって商品品質を低下させることも軽減できる。
【００９４】
なお、実施の形態で説明した物体検出方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本物体検出プログラムは、ハードディスク、ＩＣメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本物体検出プログラムは、インターネット等のネットワークを介して配布してもよい。
【００９５】
上述した実施の形態に関し、さらに以下の付記を開示する。
【００９６】
（付記１）コンピュータが、
物体が載置された平面の第１の方向を決定し、
前記平面における前記第１の方向に直交する第２の方向に所定の間隔で定められた複数の前記第１の方向に延びる第１の認識ラインにおける、前記物体の前記平面に直交する第３の方向の第１の距離に基づいて、前記第１の認識ラインごとに、前記第２の方向に延びる第２の認識ラインを決定し、
前記第１の距離と、前記第２の認識ラインにおける前記物体の前記第３の方向の第２の距離と、に基づいて、前記物体の中心部の位置および両端部の位置を特定し、
特定された前記物体の両端部の位置から、前記物体が位置する物体枠を特定し、
特定された前記物体枠から、当該物体枠の中心点を特定する、
処理を実行することを特徴とする物体検出方法。
【００９７】
（付記２）前記物体の前記第３の方向の距離のばらつきに基づいて、前記第１の方向を決定することを特徴とする付記１に記載の物体検出方法。
【００９８】
（付記３）物体が載置された平面におけるそれぞれ直交する２つの方向のうち、当該２つの方向における前記物体の前記第３の方向の距離のばらつきが小さい方向を、前記第１の方向に決定することを特徴とする付記２に記載の物体検出方法。
【００９９】
（付記４）前記中心部を通る、前記第１の認識ラインと平行の認識ラインにおける前記物体の前記第３の方向の第３の距離に基づいて、前記物体の前記第１の方向における両端部の位置を特定することを特徴とすることを特徴とする付記１〜３のいずれか一つに記載の物体検出方法。
【０１００】
（付記５）前記第３の距離の変化パターンにおける谷部の位置を、前記物体の前記第１の方向における両端部の位置とすることを特徴とする付記４に記載の物体検出方法。
【０１０１】
（付記６）前記第１の距離の変化パターンにおける山部の位置を、前記第２の認識ラインの位置とすることを特徴とする付記１〜５のいずれか一つに記載の物体検出方法。
【０１０２】
（付記７）前記第２の距離の変化パターンにおける山部の位置を、前記物体の前記第２の方向における中心部の位置とすることを特徴とする付記１〜６のいずれか一つに記載の物体検出方法。
【０１０３】
（付記８）前記第２の距離の変化パターンにおける谷部の位置を、前記物体の前記第２の方向における両端部の位置とすることを特徴とする付記１〜７のいずれか一つに記載の物体検出方法。
【０１０４】
（付記９）特定された前記物体枠の対角に位置する頂点どうしを結んだ直線の交点を、当該物体枠の中心点とすることを特徴とする付記１〜８のいずれか一つに記載の物体検出方法。
【０１０５】
（付記１０）前記物体は、所定の容器内に載置されていることを特徴とする付記１〜９に記載の物体検出方法。
【０１０６】
（付記１１）コンピュータに、
物体が載置された平面の第１の方向を決定し、
前記平面における前記第１の方向に直交する第２の方向に所定の間隔で定められた複数の前記第１の方向に延びる第１の認識ラインにおける、前記物体の前記平面に直交する第３の方向の第１の距離に基づいて、前記第１の認識ラインごとに、前記第２の方向に延びる第２の認識ラインを決定し、
前記第１の距離と、前記第２の認識ラインにおける前記物体の前記第３の方向の第２の距離と、に基づいて、前記物体の中心部の位置および両端部の位置を特定し、
特定された前記物体の両端部の位置から、前記物体が位置する物体枠を特定し、
特定された前記物体枠から、当該物体枠の中心点を特定する、
処理を実行させることを特徴とする物体検出プログラム。
【０１０７】
（付記１２）物体が載置された平面に直交する方向における当該物体の距離を測定する測定部と、
前記平面の第１の方向を決定し、
前記平面における前記第１の方向に直交する第２の方向に所定の間隔で定められた複数の前記第１の方向に延びる第１の認識ラインにおける、前記測定部が測定した距離の第１の距離に基づいて、前記第１の認識ラインごとに、前記第２の方向に延びる第２の認識ラインを決定し、
前記第１の距離と、前記第２の認識ラインにおける、前記測定部が測定した距離の前記第３の方向の第２の距離と、に基づいて、前記物体の中心部の位置および両端部の位置を特定し、
特定された前記物体の中心部の位置および両端部の位置から、前記物体が位置する物体枠を特定し、
特定された前記物体枠から、当該物体枠の中心点を特定する、
処理部を備えることを特徴とする物体検出装置。
【０１０８】
（付記１３）付記１２に記載の物体検出装置と、
前記物体をピッキングするピッキング部材と、
を備えることを特徴とするピッキング・システム。
【０１０９】
（付記１４）前記ピッキング部材は、前記物体検出装置の前記処理部が特定した物体の中心点に関する情報に基づいて、当該物体をピッキングすることを特徴とする付記１３に記載のピッキング・システム。
【０１１０】
（付記１５）前記物体検出装置は、ピッキング部材によって前記物体がピッキングされるごとに、残された物体の物体枠の中心点を特定することを特徴とする付記１３または１４に記載のピッキング・システム。
【符号の説明】
【０１１１】
１００  容器
１０１（１０１Ａ〜１０１Ｉ）、６０１（６０１Ａ〜６０１Ｄ）  物体
１１０  距離センサ（測定部）
１２０  ピッキング部材
４０１、６１１〜６１８  第１の認識ライン
６２１〜６２４、７２１  距離データ
６５１〜６５８、６６１〜６６８  第２の認識ライン
７０１（７０１Ａ〜７０１Ｄ）  物体の中心部
７３１、７３２  山部
７４１、７４２、７４３  谷部
８０１（８０１Ａ〜８０１Ｄ）  認識ライン
９０１（９０１Ａ〜９０１Ｄ）  物体枠の中心点
【図１】
2018155685.tif 000003
【図２】
2018155685.tif 000004
【図３】
2018155685.tif 000005
【図４】
2018155685.tif 000006
【図５】
2018155685.tif 000007
【図６】
2018155685.tif 000008
【図７】
2018155685.tif 000009
【図８】
2018155685.tif 000010
【図９】
2018155685.tif 000011
【図１０】
2018155685.tif 000012