JP2020016446A - Information processing device, control method of information processing device, program, measurement device, and article production method - Google Patents
Information processing device, control method of information processing device, program, measurement device, and article production method Download PDFInfo
- Publication number
- JP2020016446A JP2020016446A JP2018137489A JP2018137489A JP2020016446A JP 2020016446 A JP2020016446 A JP 2020016446A JP 2018137489 A JP2018137489 A JP 2018137489A JP 2018137489 A JP2018137489 A JP 2018137489A JP 2020016446 A JP2020016446 A JP 2020016446A
- Authority
- JP
- Japan
- Prior art keywords
- orientation
- unit
- information processing
- distance information
- sensor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Manipulator (AREA)
Abstract
Description
本発明は、情報処理装置、情報処理装置の制御方法、プログラム、計測装置、及び物品製造方法に関する。 The present invention relates to an information processing device, a control method for the information processing device, a program, a measuring device, and an article manufacturing method.
近年のロボット技術の発展とともに、工業製品の組立のようなこれまで人間が行っていた複雑なタスクをロボットが代わりに行うようになりつつある。このようなロボットは、ハンドなどのエンドエフェクタによって部品をピッキングして組立を行う。従来、ピッキングするための部品の供給は、パーツフィーダと呼ばれる部品1つ1つを並べて供給するための装置を利用したり、パレット(容器)に部品を様々な姿勢で山積みしたりすることによって行われている。 With the development of robot technology in recent years, complicated tasks that have been performed by humans, such as assembly of industrial products, are being replaced by robots. Such a robot picks and assembles a part by an end effector such as a hand. Conventionally, parts for picking are supplied by using a device called a parts feeder for arranging and supplying parts one by one, or by stacking parts in various postures on a pallet (container). Have been done.
パーツフィーダを利用する場合は、部品1つ1つの位置姿勢が予め決まった状態で供給されるため、ロボットによるピッキングは比較的容易に行われる。しかしながら、パーツフィーダ装置を用意するためのコストが余計にかかる。また、部品の形状に合わせて異なるパーツフィーダを用意しなければならない。一方、部品を山積みにして供給する場合は、パレットに部品を置くだけで良いためコスト増を回避することができる。さらに、近年の少量多品種生産の傾向を受けて、様々な部品へ素早く対応することができる山積み供給に注目が集まっている。 In the case of using a parts feeder, since the position and orientation of each component are supplied in a predetermined state, picking by the robot is relatively easily performed. However, the cost for preparing the parts feeder device is extra. Also, different parts feeders must be prepared according to the shape of the parts. On the other hand, when parts are supplied in piles, it is only necessary to place the parts on a pallet, so that an increase in cost can be avoided. Further, in response to the recent trend of small-quantity multi-product production, attention has been paid to a piled supply capable of quickly responding to various parts.
このような動向の中、二次元カメラや三次元計測装置と部品認識との組み合わせによるピッキング作業システムの開発が行われている。物体の位置姿勢を認識するための情報処理装置として特許文献1、及び特許文献2に記載の技術がある。特許文献1には、ワークが取り出された領域に、測距センサを移動させて計測を行うロボットが記載されている。また、特許文献2には、ワークの位置、姿勢を視覚センサで計測し、それに基づいてワーク取り出し手段(ロボット)を移動させるワーク取り出し装置が記載されている。
Under such a trend, a picking operation system using a combination of a two-dimensional camera or a three-dimensional measuring device and component recognition has been developed. As information processing apparatuses for recognizing the position and orientation of an object, there are techniques described in
しかしながら、特許文献1、及び特許文献2では、1回目の計測で物体の位置姿勢を正しく計測できないと、2回目の計測での視覚センサ位置姿勢を決定できず、2回目の計測でも物体の位置姿勢を正しく計測できないという問題がある。
However, in
本発明は、例えば、精度よく物体の位置姿勢を取得可能にする技術を提供することを目的とする An object of the present invention is, for example, to provide a technology that enables accurate acquisition of the position and orientation of an object.
上記課題を解決するために、本発明は、撮像部によって撮像され、物体の距離情報を含む撮像画像を取得する画像取得手段と、物体の距離情報から物体の位置姿勢を取得する位置姿勢取得手段と、位置姿勢取得手段によって位置姿勢が取得された物体とは異なる物体が撮像画像に含まれる場合に、物体の距離情報から物体の存在範囲を推定する推定手段と、物体の存在範囲に基づき、撮像部の位置姿勢を決定する決定手段と、を備える、ことを特徴とする。 In order to solve the above-described problems, the present invention provides an image acquisition unit that acquires an image captured by an imaging unit and includes distance information of an object, and a position and orientation acquisition unit that acquires a position and orientation of the object from the distance information of the object. And, when an object different from the object whose position and orientation has been acquired by the position and orientation acquisition unit is included in the captured image, based on estimating means for estimating the existence range of the object from the distance information of the object, based on the existence range of the object, Determining means for determining the position and orientation of the imaging unit.
本発明によれば、例えば、精度よく物体の位置姿勢を取得可能にする技術を提供することができる。 According to the present invention, for example, it is possible to provide a technology that enables the position and orientation of an object to be acquired with high accuracy.
以下、本発明を実施するための形態について図面などを参照して説明する。 Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings.
(第1実施形態)
[ハードウェア構成]
図1は、第1実施形態に係る情報処理装置105を含むロボットシステム1の一例を示す模式図である。ロボットシステム1は、パレット107の中にバラ積みされた物体106を取り出すピッキングシステムである。ロボットシステム1は、ロボットアーム101と、ロボット制御装置103と、センサ部104と、情報処理装置105と、を含む。ロボットアーム101は、例えば、多関節ロボットであり、ロボット制御装置103からの制御命令を受けて稼働する。ロボットアーム101の先端にはハンド102が装着されている。ハンド102は、物体106を把持してパレット107から取り出す。ハンド102は、例えば、チャック機構を持つハンドを用いても良いし、モータ駆動可能なハンドを用いても良い。また、空気圧で物体106を吸着する吸着パッドを用いてもよい。
(1st Embodiment)
[Hardware configuration]
FIG. 1 is a schematic diagram illustrating an example of a
ロボット制御装置103は、ロボットアーム101を制御して、パレット107の中にバラ積みされた物体106が、センサ部104の視野に入る位置にハンド102を移動させる。また、ロボット制御装置103は、情報処理装置105に物体106の位置姿勢の計測を指示する。このとき、ロボット制御装置103は、ハンド102の位置姿勢を情報処理装置105に送信する。なお、ロボット制御装置103は、ロボットアーム101と一体であっても良い。
The
情報処理装置105は、ロボット制御装置103から物体106の位置姿勢の計測指示を受信すると、センサ部104を制御して物体106を含む撮像画像を取得する。情報処理装置105は、撮像画像とハンド102の位置姿勢とに基づいて、物体106の位置姿勢を取得し、ロボット制御装置103に送信する。
When receiving the instruction to measure the position and orientation of the
センサ部104は、2次元画像を撮像する撮像部である。センサ部104は、ロボットアーム101の先端にあるハンド102に固定して取り付けられている。センサ部104は、撮像対象にパターン光を投影し、パターン画像を取得する。パターン画像は、投影したパターン光を観測した画像である。また、センサ部104は、撮像対象の濃淡画像を取得する。濃淡画像は、各画素の明るさを白から黒の階調で表した画像である。なお、情報処理装置105は、センサ部104に組み込まれ、一体であってもよいし、ロボット制御装置103に組み込まれ、ロボット制御装置の一部を構成する形態であってもよい。
The
図2は、情報処理装置105のハードウェア構成例を示すブロック図である。本実施形態に係る情報処理装置105は、例えばコンピュータであり、CPU(マイクロプロセッサ)201と、ランダムアクセスメモリなどのメモリ202を備える。また、キーボードなどの入力部203、ハードディスクドライブなどの外部記憶装置204を備える。また、センサ部104との間の通信インタフェイス(以下、撮像I/Fと呼ぶ)205と、ロボット制御装置103との間の通信インタフェイス(以下、RCI/Fと呼ぶ)206を備える。CPU201は、メモリ202に格納されたプログラムに従って種々の処理を実行するものであり、特に、後述する位置姿勢の取得処理を実行する。これらのプログラムは、外部記憶装置204に記憶しておくか、または不図示の外部装置から供給されうる。
FIG. 2 is a block diagram illustrating a hardware configuration example of the
情報処理装置105は、撮像I/F205を介してセンサ部104におけるパターン光の光量や、露光時間などの撮像条件をセンサ部104に送信する。また、撮像I/F205を介して、センサ部104へ撮像の実施を指示すると共に、センサ部104が撮像した撮像画像を受信する。また、情報処理装置105は、RCI/F206を介して、ロボット制御装置103から計測指示を受信すると共に、計算した計測対象の位置姿勢をロボット制御装置103へ送信する。さらに、情報処理装置105は、ビデオI/F207を介してモニタ208に種々の情報を出力すると共に、入力部203を通じて各種情報を入力する。
The
[ソフトウェア構成]
図3は、第1実施形態に係る情報処理装置を搭載したロボットシステムの機能構成を示す図である。情報処理装置105は、画像取得部304、パレット計測部305、位置姿勢取得部306、決定部307、推定部308を有する。
[Software Configuration]
FIG. 3 is a diagram illustrating a functional configuration of a robot system equipped with the information processing device according to the first embodiment. The
画像取得部304は、センサ部104において撮像されたパターン画像を取得し、取得した画像から計測対象となる物体の距離情報を表す距離点群を取得する。距離点群の取得は、例えばグレイコードパターン法や位相シフト法等、公知の方法により実現することができる。グレイコードパターン法を用いる手法では、数百本のスリットを2進数でコード化し、2値パターンを時系列的に投影することで空間をコード化する。位相シフト法を用いる手法では、位相をずらしながら、投影強度を正弦波に変調した縞パターンを投影することで距離点群を取得する。
The
パレット計測部305は、パレット107を検出し、その位置姿勢を計測する。パレット計測部305における、パレット107の位置姿勢計測時の入力は、濃淡画像、パターン画像、及び距離点群であり、パレット計測部305は入力された濃淡画像、パターン画像、及び距離点群からパレット107の位置姿勢を計測する。パレット計測部305は、計測したパレット107の位置姿勢を出力する。
The
位置姿勢取得部306は、濃淡画像、パターン画像、及び距離点群を用いて、計測対象である物体を検出し、その位置姿勢を取得する。位置姿勢取得部306は、テンプレートマッチングを用いる手法やニューラルネットワークを用いる手法、ICPアルゴリズムを用いる手法等、公知の方法により実現することができる。テンプレートマッチングを用いる手法では、テンプレート画像を濃淡画像上で走査し、最も高類似度な時のテンプレート画像の位置によって、物体の位置を取得する。また、ニューラルネットワークを用いる手法では、濃淡画像から物体の位置を取得するネットワークを学習し、そのネットワークを用いて物体の位置を取得する。ICPアルゴリズムを用いる手法では、3Dモデルから得られる点群を用いて、位置合わせを繰り返すことによって、物体の位置姿勢を取得する。
The position and
推定部308は、位置姿勢取得部306によって位置姿勢が取得された物体とは異なる物体が撮像画像に含まれる場合に、物体の距離情報から物体の存在範囲を推定する。即ち、推定部308は、位置姿勢取得部306によって位置姿勢が取得できない物体が撮像画像に含まれる場合に、位置姿勢が取得できない物体の存在範囲を推定する。推定部308は、濃淡画像、パターン画像、及び距離点群を用いて、位置姿勢が取得できない物体の存在範囲を推定する。
The estimating
決定部307は、推定部308によって推定された物体の存在範囲に基づき、センサ部104の位置姿勢を決定する。センサ部104の位置姿勢の決定処理の詳細は、図6〜8を用いて後述する。
The
ロボット制御装置103は、センサ位置制御部302、ハンド制御部303を有する。センサ位置制御部302は、ロボットアーム101を制御して、決定部307において決定された位置姿勢にセンサ部104を移動させる。ハンド制御部303は、位置姿勢取得部306で取得された物体106の位置姿勢に基づき、ハンド102を制御して、物体を把持し、移動する。
The
[実施形態の概要]
図4は、第1実施形態に係る情報処理装置105のユースケースの一例を示す図である。図4(A)は、第1の計測における状態を示す図である。物体106は、第1の計測において計測対象となる物体である。パレット107は、物体106が収容される容器である。視野範囲405は、第1の計測におけるセンサ部104の視野範囲である。図4(A)では、センサ部104がパレット107の真上に存在する。また物体106はパレット107内側の側面に寄りかかり、縦置きの状態となっている。このときセンサ部104と物体106との相対位置関係により、視野範囲405では、物体106の僅かな面しか撮像できない。この場合、物体106の位置姿勢の取得に十分な情報が得られのないため、物体106の正しい位置姿勢を計測することが困難となる。即ち、このとき物体106は、位置姿勢取得部306によって位置姿勢が取得できない物体であるといえる。
[Overview of Embodiment]
FIG. 4 is a diagram illustrating an example of a use case of the
図4(B)は、第2の計測における状態を示す図である。なお、ここで、第2の計測は、第1の計測の後に実施される計測である。視野範囲410は、第2の計測におけるセンサ部104の視野範囲である。図4(B)では、センサ部104が、パレット107の斜め上の方向から物体106を撮像している。このとき視野範囲410では、物体106の多くの面を観測できる。この場合、物体106の位置姿勢の取得に十分な情報が得られるため、位置姿勢の計測が容易となり、物体106の正しい位置姿勢を計測することができる。本実施形態では、第1の計測において位置姿勢が取得できなかった物体106の存在範囲に基づいて、第2の計測におけるセンサ部104の位置姿勢を決定する。
FIG. 4B is a diagram illustrating a state in the second measurement. Here, the second measurement is a measurement performed after the first measurement. The
[処理フロー]
図5は、第1実施形態に係る情報処理装置の処理フローを示すフローチャートである。以降、各ステップの処理を示す。まずステップS501において、センサ位置制御部302が、センサ部104を第1のセンサ位置姿勢へ移動させる。センサ部104は、ハンド102に取り付けられているため、センサ位置制御部302は、ロボットアーム101及びハンド102を駆動することにより、センサ部104の位置姿勢を制御する。第1のセンサ位置姿勢は、第1の計測におけるセンサ部104の位置姿勢である。第1のセンサ位置姿勢には、ユーザが事前登録した位置姿勢を用いても良いし、初期設定により設定された位置姿勢を用いても良い。
[Processing flow]
FIG. 5 is a flowchart illustrating a processing flow of the information processing apparatus according to the first embodiment. Hereinafter, the processing of each step will be described. First, in step S501, the sensor
次にステップS502において、センサ部104が第1のパターン画像、及び第1の濃淡画像を撮像し、画像取得部304がセンサ部104から第1のパターン画像、及び第1の濃淡画像を取得する。第1のパターン画像、及び第1の濃淡画像は、第1の計測に用いられる。そして、ステップS503において、画像取得部304が第1のパターン画像から距離点群(第1の距離点群)を算出する。なお、距離点群の算出は、センサ部104において行われても良い。第1の距離点群は、第1の計測に用いられる。ステップS504において、パレット計測部305がパレット107の位置姿勢を計測する。このとき、パレット計測部305への入力は第1の濃淡画像、第1のパターン画像、及び第1の距離点群である。パレット計測部305は、入力された第1の濃淡画像、第1のパターン画像、及び第1の距離点群からパレット107の位置姿勢を計測し、6自由度で表現されたパレット107の位置姿勢を出力する。ステップS504は、例えばテンプレートマッチングを用いる手法やニューラルネットワークを用いる手法、及び位置合わせの手法の一つであるICPアルゴリズムを用いる手法等、公知の方法により実現することができる。
Next, in step S502, the
ステップS505において、位置姿勢取得部306が物体106を検出し、その概略位置姿勢を取得する。ステップS506において、位置姿勢取得部306が物体の概略位置姿勢を取得できたか否かを判定する。判定の評価値には、概略位置姿勢の取得で得られる認識スコアを用いる。認識スコアは、観測された物体と認識辞書に登録された物体の類似度を示すスコアである。認識スコアが閾値threcog以上である場合、概略位置姿勢の取得できたと判断し、認識スコアが閾値threcog未満である場合、概略位置姿勢を取得できなかったと判断する。概略位置姿勢を取得できた場合(Yes)、後述のステップS507に処理を進め、ステップS507において、位置姿勢取得部306が計測対象である物体106の詳細な位置姿勢を取得する。その後、ステップS516に処理を進める。
In step S505, the position and
概略位置姿勢を取得できなかった場合(No)、後述のステップS508に処理を進め、ステップS508において、推定部308が物体106の存在範囲を推定する。物体106の存在範囲は、点群によって示される。ステップS508の詳細は、図6を用いて後述する。ステップS509において、ステップS508において推定された物体106の存在範囲に基づき、決定部307がセンサ部104の視野範囲内に物体106が存在するか否かを判定する。このとき、決定部307への入力は、推定された物体の存在範囲、及び第1の濃淡画像である。ここで、センサ部104の視野範囲内に物体106が存在するか否かの判定方法について説明する。まず、物体106の存在範囲を濃淡画像へ射影し、物体106の存在範囲が占める画素数を算出する。そして物体106の存在範囲を占める画素数が、閾値thexit以上である場合、物体が存在すると判定する。物体106の存在範囲を占める画素数が、閾値thexit未満である場合、物体106が存在しないと判定する。物体が存在すると判定された場合(Yes)、後述のステップS510に処理を進める。物体が存在しないと判定された場合(No)、“パレット107は空である”と判定し、情報処理装置の処理を終了する。
If the approximate position and orientation cannot be acquired (No), the process proceeds to step S508 described below, and in step S508, the
ステップS510において、決定部307が物体106の存在範囲に基づき、第2のセンサ位置姿勢を決定する。第2のセンサ位置姿勢は、第2の計測におけるセンサ部104の位置姿勢である。ステップS510の詳細は、図7を用いて後述する。ステップS511において、センサ位置制御部302が、第2のセンサ位置姿勢へセンサ部104を移動させる。ステップS512において、センサ部104が第2のパターン画像、及び第2の濃淡画像を撮像し、画像取得部304がセンサ部104から第2のパターン画像、及び第2の濃淡画像を取得する。第2のパターン画像、及び第2の濃淡画像は、第2の計測に用いられる。ステップS513において、画像取得部304が第2のパターン画像から距離点群(第2の距離点群)を算出する。第2の距離点群は第2の計測に用いられる。
In step S510, the
ステップS514において、位置姿勢取得部306がステップS505と同様に物体106を検出し、その概略位置姿勢を推定する。ステップS515において、位置姿勢取得部306がステップS507と同様に計測対象である物体106の詳細な位置姿勢を取得する。ステップS516において、ハンド制御部303が、ステップS507またはステップS515で取得された物体106の位置姿勢に基づき、ハンド102を駆動し、ハンド102に物体106を把持させ、物体106をパレット107から取り出す。ステップS516完了後、情報処理装置105は、再びステップS501に処理を進め、パレット107に物体106が無くなるまで処理を繰り返す。なお、第2の計測において位置姿勢が取得できる物体106が無くなった場合に、第2の距離点群から物体の存在範囲を推定し、次の計測におけるセンサ位置姿勢を決定しても良い。
In step S514, the position and
図6は、ステップS508における物体106の存在範囲推定の処理を示すフローチャートである。本フローにおける各ステップは推定部308によって実行されうる。物体106の存在する範囲と存在しない範囲では、距離点群のうち、奥行きを表すz値(z方向の値)に大きな差異が生じる。そこでステップS508では、推定部308がz値の差分に基づき、物体106の存在範囲を推定する。なお、ステップS508における推定部308への入力は、第1の距離点群、ステップS504において計測されたパレット107の位置姿勢、及び空であるときのパレット107の距離点群である。空であるときのパレット107の距離点群(基準距離情報)は、事前に空のパレットを計測し、記憶する。また第1の距離点群を用いて、平面推定によって空であるときのパレット107の距離点群を算出しても良い。推定部308は、第1の距離点群、パレット107の位置姿勢、及び空であるときのパレット107の距離点群に基づき、物体106の存在範囲を推定し、出力する。以降、ステップS508の各処理を説明する。
FIG. 6 is a flowchart illustrating the process of estimating the existence range of the
まずステップS601において、第1の距離点群と空であるときのパレット107の距離点群の間で、z方向の差分点群を取得する。第1の距離点群をPi measure(xi m,yi m,zi m)と、空であるときのパレット107底面、即ち、物体106が載置される面に射影した距離点群をPi empty(xi e,yi e,zi e)とする。また、z方向の差分点群をPi diff(xi d,yi d,zi d)と定義する。このときiは、距離点群に含まれる点のidである。また、z方向の差分点群は、xi d=xim,yi d=yi m,zi d=zi m−zi eとして算出される。
First, in step S601, a difference point group in the z direction is acquired between the first distance point group and the distance point group of the
次にステップS602において、z方向の差分点群Pi diffから背景点を除去する。具体的には、zi dが閾値thobjectよりも小さい場合、背景点と判定する。背景点と判定された場合、点Pk measureは物体106の存在範囲に含まれない。背景点と判定されなかった場合、点Pk measureは物体106の存在範囲に含まれる。このときPk measureは、Pi measureに含まれるある点を表す。ステップS603において、物体106の存在範囲をクラスタリングする。ステップS603は、例えば最短距離法等、公知の方法により実現することができる。最短距離法では、2つのクラスターのサンプル同士で最も小さいサンプル間距離をクラスター間の距離とする。ステップS603では、クラスタリング結果を出力する。
Next, in step S602, the background point is removed from the difference point group P i diff in the z direction. Specifically, when z i d is smaller than the threshold value th object, it determines that the background point. If determined to be a background point, the point P k measure is not included in the existence range of the
ステップS604において、ステップS603において出力されたクラスタリング結果に基づき、クラスター群からノイズクラスターを除去する。具体的には、まず各クラスターにおいて構成する点の個数を合算する。そして合算した結果が、閾値thclassに満たない場合、ノイズクラスターと判定する。ノイズクラスターと判定された場合、そのクラスターを構成する点群は、物体の存在範囲から除外される。ノイズクラスターと判定されなかった場合、そのクラスターを構成する点群は、物体106の存在範囲から除外されない。
In step S604, a noise cluster is removed from the cluster group based on the clustering result output in step S603. Specifically, first, the number of points constituting each cluster is added up. If the sum is less than the threshold th class, it is determined to be a noise cluster. If it is determined that the cluster is a noise cluster, the point cloud forming the cluster is excluded from the range of the object. If it is not determined that the cluster is a noise cluster, the point cloud forming the cluster is not excluded from the range in which the
ステップS605において、物体106の存在範囲に対し、点群の補間を施す。クラスター群を構成する各点は、第1のパターン画像で死角とならなかった箇所のみに対応する。しかしセンサ部104の死角となった箇所にも物体106は存在しうるため、それらに対応する点群を補間する。ただし、物体106の存在範囲の内側にあり、いずれのセンサ位置姿勢からも死角となる点は、第2のセンサ位置姿勢の推定に寄与しない。そこで物体106の存在範囲の外側にあり、いずれかのセンサ位置姿勢から視野に収まる点のみを補完する。以下、ステップS605の処理の流れの詳細を説明する。まず、クラスター群において、クラスター内外の境界を構成する点を選択し、境界点とする。次に選択した境界点に対し、パレット107の底面に射影した点を接地点とする。続いて境界点と接地点とを結ぶ線分上に一定間隔で点を補完し、稜点とする。物体106の存在範囲に接地点と稜点を補完し、物体106の存在範囲推定は終了する。
In step S605, point group interpolation is performed on the existence range of the
なお、本実施形態において、物体106の存在範囲は一例として点群としたが、z値の背景差分が大きい距離点群を内在する3次元空間上の直方体やポリゴン状の閉空間でも良い。また、濃淡画像の背景差分によって得られる画素の集合や、画素の集合を包含する矩形でも良い。
In the present embodiment, the existence range of the
図7は、第1実施形態に係るステップS510の処理を説明する模式図である。図7(A)は、計測対象の物体が収容されるパレットの一例を示す図である。本図は、パレット107を+Z方向から見た図である。パレット空間704a〜704eは、物体106が配置される空間であるパレット107中の三次元空間を分割した部分空間である。パレット空間704a〜704eは、例えば、決定部307によって各パレット空間の面積が所定値以下になるように機械的に分割されても良いし、パレット107の内側の各側面と隣接する空間を含むように機械的に分割されても良い。パレット空間704a〜704eがパレット107の内側の各側面と隣接する空間を含むことにより、物体106はパレット107内側の側面に寄りかかり、縦置きの状態となっている場合でも、第2のセンサ位置姿勢を正しく決定ですることが可能となる。また、パレット空間704a〜704eは、ユーザからの指定によって分割されても良い。
FIG. 7 is a schematic diagram illustrating the process of step S510 according to the first embodiment. FIG. 7A is a diagram illustrating an example of a pallet in which an object to be measured is stored. This figure is a view of the
図7(B)は、第1の計測を実施している状態におけるパレット107の断面図である。図7(C)は、パレット空間704a〜704eのそれぞれに対応する第2のセンサ位置姿勢を示すリストである。第2のセンサ位置姿勢708a〜708eは、パレット空間704a〜704eのそれぞれに対応する。第2のセンサ位置姿勢708a〜708eは、例えば、決定部307によって値が設定されても良い。決定部307は、パレット空間に計測対象となる物体106が存在する場合に、センサ部104の視野範囲に収まる物体106の表面積が最大となるようなセンサ位置姿勢を対応する第2のセンサ位置姿勢として設定しても良い。また、決定部307は、パレット空間に計測対象となる物体106が存在する場合に、センサ部104によって撮像される撮像画像における物体106の面積が最大となるような位置姿勢を対応する第2のセンサ位置姿勢として設定しても良い。さらに、対応する第2のセンサ位置姿勢は、ユーザによって値が設定されてもよい。
FIG. 7B is a cross-sectional view of the
ここで、第2のセンサ位置姿勢の処理について説明する。ここでは、一例として、物体106の存在範囲702がパレット空間704c内に存在する場合について説明する。ステップS510における第2のセンサ位置姿勢決定では、決定部307が物体106の存在範囲702やその付近を計測するのに適したセンサ位置姿勢を選択する。決定部307は、パレット空間704a〜704eのうちから、物体106の存在範囲702を多く含むパレット空間であるパレット空間704cを選択する。そして、第2のセンサ位置姿勢708a〜708eのうちから、パレット空間704cに対応する第2のセンサ位置姿勢708cを選択し、第2のセンサ位置姿勢が決定される。決定部307は、決定した第2センサ位置姿勢の情報をロボット制御装置103へ出力する。
Here, the processing of the second sensor position and orientation will be described. Here, as an example, a case where the
図8は、第1実施形態に係るステップS510の処理を示すフローチャートである。本フローにおける各ステップは決定部307によって実行されうる。まず、ステップS801において、パレット107内の三次元空間を複数のパレット空間に分割する。分割された複数のパレット空間には、上述の通り、それぞれに対応する第2のセンサ位置姿勢が設定される。次に、ステップS802において、第2の計測の計測対象となるパレット空間を決定する。具体的には、各パレット空間において、物体106の存在範囲を構成する点を最も多く含むパレット空間を、計測対象のパレット空間とする。
FIG. 8 is a flowchart illustrating the process of step S510 according to the first embodiment. Each step in this flow can be executed by the
最後にステップS803において、決定された計測対象となるパレット空間に対応する第2のセンサ位置姿勢を取得し、第2のセンサ位置姿勢が決定される。なお、本実施形態において、第2のセンサ位置姿勢は一例として物体106の存在範囲を多く含むパレット空間に基づき決定したが、物体106の存在範囲の中心を含むパレット空間に基づき決定しても良い。
Finally, in step S803, the second sensor position and orientation corresponding to the determined pallet space to be measured are acquired, and the second sensor position and orientation are determined. In the present embodiment, the second sensor position and orientation are determined based on the pallet space including a large range of the
以上のように、本実施形態によれば、計測対象である物体の存在範囲に基づき第2のセンサ位置姿勢を決定するため、例えば、物体がパレット等の容器の内側の側面に寄りかかり縦置きになっていても、第2のセンサ位置姿勢を正しく決定できる。よって、第2の計測において物体の位置姿勢を取得することが可能となる。また、例えば、縦置きになっている物体の位置姿勢を計測にする際でも、第2のセンサ位置姿勢を誤って決定することを低減でき、計測時間を短縮することもできる。 As described above, according to the present embodiment, in order to determine the second sensor position and orientation based on the existence range of the object to be measured, for example, the object leans against the inner side surface of a container such as a pallet and is placed vertically. However, the position and orientation of the second sensor can be correctly determined. Therefore, it is possible to acquire the position and orientation of the object in the second measurement. In addition, for example, even when measuring the position and orientation of a vertically placed object, erroneous determination of the second sensor position and orientation can be reduced, and the measurement time can be shortened.
<第2の実施形態>
第1の実施形態において、ステップS510は物体106の存在範囲に基づいて第2のセンサ位置姿勢を決定した。しかし、例えば、パレット107の中心に物体が縦置きになっている場合、センサ部104の視野範囲において、パレット107などの容器による物体106の遮蔽が発生する場合がある。このような場合、各第2のセンサ位置姿勢で物体106の見え方が大きく異なるため、第2のセンサ位置姿勢を物体の存在範囲のみから正しく判断することが困難となる。第2の実施形態では、物体106の存在範囲の形状も考慮して第2のセンサ位置姿勢を決定する。なお本実施形態の構成、及び処理フローは、ステップS510以外、第1の実施形態と同様のため説明を省略する。
<Second embodiment>
In the first embodiment, step S510 determines the second sensor position and orientation based on the existence range of the
図9は、第2の実施形態に係るステップS510の処理を示すフローチャートである。本フローにおける各ステップは決定部307によって実行されうる。第2の実施形態では、物体106の存在範囲の形状を考慮し、物体106の面をより多く計測できるような第2のセンサ位置姿勢を決定する。
FIG. 9 is a flowchart illustrating the process of step S510 according to the second embodiment. Each step in this flow can be executed by the
まず、ステップS901では、物体106の存在範囲の点群からメッシュ面を生成する。決定部307は、例えば、頂点情報及び各頂点を結んだ面の情報で構成されたメッシュモデルを生成する。S901は、例えばオクトツリーベース分割法等、公知の方法により実現することができる。オクトツリーベース分割法は、8分木のボクセルで領域の境界を再現してから、各ボクセルを4面体に分割し、最後に境界より外側の四面体を取り除く方法である。ステップS902では、生成されたメッシュ面を簡略化する。ステップS902は、例えばQSlim等、公知の方法により実現することができる。QSlimを用いる手法は、局所的な幾何・位相操作を優先度付きキューで行い、元の形状を近似しながらメッシュ数を減らす方法である。
First, in step S901, a mesh surface is generated from a group of points in the existing range of the
ステップS903〜905では、各第2のセンサ位置姿勢において、各メッシュ面が計測可能であるか否かを判定する。ステップS903では、簡略化した判定対象となるメッシュ面が、判定対象となる第2のセンサ位置姿勢におけるセンサ部104の視野内に収まるか否かを判定する。センサ部104の視野範囲は、6自由度のセンサ位置姿勢パラメータによって決定される。判定対象の第2のセンサ位置姿勢のとき、判定対象のメッシュ面の閾値thS%以上がセンサ部104の視野範囲に収まる場合、そのメッシュ面は視野内であり計測可能と判定する。判定対象となるメッシュ面の閾値thS%以上がセンサ部104の視野範囲に収まらない場合、そのメッシュ面は視野内ではないため計測不可能と判定する。
In steps S903 to S905, it is determined whether or not each mesh surface can be measured at each second sensor position and orientation. In step S903, it is determined whether the simplified mesh surface to be determined falls within the field of view of the
ステップS904において、判定対象のメッシュ面と判定対象の第2のセンサ位置姿勢におけるセンサ部104の傾きが十分に小さいか否かを判定する。判定対象のメッシュ面と判定対象の第2のセンサ位置姿勢におけるセンサ部104とのなす角が閾値thangle以下の場合、そのメッシュ面は計測可能と判定する。判定対象のメッシュ面と判定対象の第2のセンサ位置姿勢におけるセンサ部104とのなす角が閾値thangle以下ではない場合、そのメッシュ面は計測不可能と判定する。
In step S904, it is determined whether the inclination of the
ステップS905では、判定対象の第2のセンサ位置姿勢におけるセンサ部104と判定対象のメッシュ面との間で、パレット107による遮蔽が十分に小さいか否かを判定する。判定対象のメッシュ面のうちパレット107により隠れている面の割合が、閾値thocclusion以下の場合、そのメッシュ面は計測可能と判定する。判定対象のメッシュ面のうちパレットにより隠れている面の割合が、閾値thocclusionを超える場合、そのメッシュ面は計測不可能と判定する。ステップS906では、判定対象の第2のセンサ位置姿勢における、全てのメッシュ面の判定が完了したかを判定する。全てのメッシュ面の判定が完了していないと判定した場合(No)、全てのメッシュ面の判定が完了するまで、ステップS903〜905を繰り返す。全てのメッシュ面の判定が完了したと判定した場合(Yes)、後述のステップS907に処理を進める。
In step S905, it is determined whether or not the
ステップS907では、計測対象の第2のセンサ位置姿勢における、計測可能なメッシュ面の面積和を算出する。計測可能なメッシュ面の面積和には、ステップS903〜905の全てにおいて計測可能と判定されたメッシュ面の面積のみが含まれる。その後、ステップS908では、全ての第2のセンサ位置姿勢の判定が完了したかを判定する。全ての第2のセンサ位置姿勢の判定が完了していないと判定した場合(No)、全ての第2のセンサ位置姿勢の判定が完了するまで、ステップS903〜908を繰り返す。全ての第2のセンサ位置姿勢の判定が完了したと判定した場合(Yes)、後述のステップS909に処理を進める。 In step S907, the sum of the measurable mesh surface areas in the second sensor position and orientation to be measured is calculated. The area sum of the measurable mesh surfaces includes only the areas of the mesh surfaces determined to be measurable in all of steps S903 to S905. After that, in step S908, it is determined whether the determination of all the second sensor positions is completed. If it is determined that the determination of all the second sensor positions is not completed (No), steps S903 to S908 are repeated until the determination of all the second sensor positions is completed. If it is determined that the determination of all the second sensor positions has been completed (Yes), the process proceeds to step S909 described below.
ステップS909では、各第2のセンサ位置姿勢のパラメータから、最良なパラメータを選択する。各第2のセンサ位置姿勢のパラメータは、6自由度の各パラメータ値の範囲と間隔に基づき、決定部307によって自動生成されるセンサ位置姿勢パラメータでも良い。また、ユーザがリストアップした第2のセンサ位置姿勢パラメータであっても良い。最良な第2のセンサ位置姿勢パラメータは、計測可能なメッシュ面の面積和が最大かつセンサ部104と物体106の存在範囲の距離が最小な第2のセンサ位置姿勢パラメータである。そして、最良なセンサ位置姿勢パラメータに基づき、第2のセンサ位置姿勢が決定される。計測対象である物体のより多くの面を計測できるような第2のセンサ位置姿勢で計測することで、正しく物体の位置姿勢を計測することができる。
In step S909, the best parameter is selected from the parameters of each second sensor position and orientation. The parameter of each second sensor position and orientation may be a sensor position and orientation parameter automatically generated by the
以上のように、第2の実施形態によれば、例えば、パレット107の中心に物体が縦置きになり、パレット107などの容器による物体106の遮蔽が発生する場合であっても、物体106の位置姿勢が計測可能な第2のセンサ位置姿勢を決定できる。そのため第2のセンサ位置姿勢を誤って決定することを低減でき、計測時間を短縮することもできる。
As described above, according to the second embodiment, for example, even if the object is placed vertically at the center of the
<第3の実施形態>
第2の実施形態において、ステップS510は物体の存在範囲とその形状のみに基づいて、第2のセンサ位置姿勢を決定した。しかし、パレット107に第1の計測で計測困難な物体が複数残っている場合、各物体の一部のみを視野に収めるような第2のセンサ位置姿勢を決定してしまう恐れがある。各物体の一部のみを視野に収めるような第2のセンサ位置姿勢では、いずれの物体も視野から見きれてしまうため、物体の位置姿勢の取得に十分な情報が得られないため、物体の正しい位置姿勢を計測することが困難となる。そこで、第3の実施形態では、物体の存在範囲とその形状に加えて、物体の存在範囲の分布も用いて第2のセンサ位置姿勢を決定する。なお本実施形態の構成、及び処理フローは、ステップS510以外、第1及び第2の実施形態と同様のため説明を省略する。
<Third embodiment>
In the second embodiment, step S510 determines the second sensor position and orientation based only on the existence range and the shape of the object. However, when a plurality of objects that are difficult to be measured by the first measurement remain on the
図10は、第3の実施形態に係るステップS510の処理を示すフローチャートである。本フローにおける各ステップは決定部307によって実行されうる。本実施形態では、物体の存在範囲の分布も考慮して、第2のセンサ位置姿勢を決定する。すなわち一定以上に点群がまとまった物体の存在範囲を、必ず視野におさめるように第2のセンサ位置姿勢を決定する。
FIG. 10 is a flowchart illustrating the process of step S510 according to the third embodiment. Each step in this flow can be executed by the
ステップS901〜908は、第2の実施形態における図9と同様であるため、説明を省略する。ステップS1001では、判定対象の第2のセンサ位置姿勢で計測可能なクラスターの個数を算出する。計測可能なクラスターとは、そのクラスターに含まれるメッシュ面のうち、計測可能なメッシュ面の面積和が閾値thcluSter以上のクラスターである。ステップS909では、各センサ位置姿勢パラメータから、最良なセンサ位置姿勢パラメータを選択する。最良なセンサ位置姿勢パラメータは、前記計測可能クラスターの個数が最大かつ視覚センサと物体の存在範囲までの距離が最小なセンサ位置姿勢パラメータである。そして前記最良なセンサ位置姿勢パラメータに基づき、第2のセンサ位置姿勢が決定される。 Steps S901 to S908 are the same as those in FIG. 9 in the second embodiment, and a description thereof will not be repeated. In step S1001, the number of clusters that can be measured with the second sensor position and orientation to be determined is calculated. The measurable cluster is a cluster in which the sum of the measurable mesh surfaces is equal to or larger than the threshold th clSter among the mesh surfaces included in the cluster. In step S909, the best sensor position and orientation parameter is selected from each sensor position and orientation parameter. The best sensor position / posture parameter is the sensor position / posture parameter in which the number of the measurable clusters is the largest and the distance between the visual sensor and the object existence range is the smallest. Then, a second sensor position and orientation is determined based on the best sensor position and orientation parameters.
以上のように、本発明第3の実施例によれば、第1の計測で計測困難な複数の物体に対しては、物体の存在範囲の分布も用いて第2のセンサ位置姿勢を決定する。それにより、物体の一部のみを視野に収めるような誤った第2のセンサ位置姿勢を決定することが無くなる。そのためいずれの物体も視野から見きれ、計測に失敗することが無くなる。したがって少ない計測時間で物体の位置姿勢を計測できるという効果がある。 As described above, according to the third embodiment of the present invention, for a plurality of objects that are difficult to measure by the first measurement, the second sensor position and orientation are determined using the distribution of the existence range of the objects. . Thereby, it is not necessary to determine an erroneous second sensor position and orientation such that only a part of the object is included in the field of view. Therefore, any object can be seen from the visual field, and the measurement does not fail. Therefore, there is an effect that the position and orientation of the object can be measured in a short measurement time.
(物品製造方法に係る実施形態)
上述した情報処理装置105は、物品の製造方法に使用しうる。かかる物品の製造方法は、情報処理装置105により位置姿勢の取得を行われた物体の移動をロボットにより行い、移動を行われた物体の処理を行って物品を製造する。当該処理は、例えば、加工、切断、搬送、組立(組付)、検査、および選別のうちの少なくともいずれか一つを含みうる。本実施形態の物品製造方法は、従来の方法に比べて、物品の性能・品質・生産性・生産コストのうちの少なくとも1つにおいて有利である。
(Embodiment related to article manufacturing method)
The
(その他の実施形態)
以上、本発明の実施の形態を説明してきたが、本発明はこれらの実施の形態に限定されず、その要旨の範囲内において様々な変更が可能である。
(Other embodiments)
The embodiments of the present invention have been described above, but the present invention is not limited to these embodiments, and various changes can be made within the scope of the gist.
104 センサ部
105 情報処理装置
106 物体
304 画像取得部
306 位置姿勢取得部
307 決定部
308 推定部
104
Claims (13)
前記物体の距離情報から前記物体の位置姿勢を取得する位置姿勢取得手段と、
前記位置姿勢取得手段によって位置姿勢が取得された物体とは異なる物体が前記撮像画像に含まれる場合に、前記物体の距離情報から前記物体の存在範囲を推定する推定手段と、
前記物体の存在範囲に基づき、前記撮像部の位置姿勢を決定する決定手段と、を備える、ことを特徴とする情報処理装置。 Image acquisition means which is imaged by the imaging unit and acquires a captured image including distance information of the object,
Position and orientation acquisition means for acquiring the position and orientation of the object from the distance information of the object,
When an object different from the object whose position and orientation has been acquired by the position and orientation acquisition unit is included in the captured image, an estimation unit that estimates the existence range of the object from the distance information of the object,
Determining means for determining the position and orientation of the imaging unit based on the existence range of the object.
前記物体の距離情報から前記物体の位置姿勢を取得する位置姿勢取得工程と、
前記取得工程において位置姿勢が取得された物体とは異なる物体が前記撮像画像に含まれる場合に、前記物体の距離情報から前記物体の存在範囲を推定する推定工程と、
前記物体の存在範囲に基づき、前記撮像部の位置姿勢を決定する決定工程と、を含む、ことを特徴とする情報処理装置の制御方法。 An image acquisition step of acquiring a captured image that is captured by the imaging unit and includes distance information of the object,
A position and orientation acquisition step of acquiring the position and orientation of the object from the distance information of the object,
When an object different from the object whose position and orientation is obtained in the obtaining step is included in the captured image, an estimation step of estimating the existence range of the object from the distance information of the object,
A determining step of determining the position and orientation of the imaging unit based on the existence range of the object.
前記物体の距離情報から前記物体の位置姿勢を取得する位置姿勢取得部と、
前記位置姿勢取得部によって位置姿勢が取得された物体とは異なる物体が前記撮像画像に含まれる場合に、前記物体の距離情報から前記物体の存在範囲を推定する推定部と、
前記物体の存在範囲に基づき、前記撮像部の位置姿勢を決定する決定部と、を備える、ことを特徴とする計測装置 An imaging unit that captures a captured image including distance information of an object,
A position and orientation acquisition unit that acquires the position and orientation of the object from the distance information of the object,
When an object different from the object whose position and orientation has been acquired by the position and orientation acquisition unit is included in the captured image, an estimation unit that estimates the existence range of the object from the distance information of the object,
A determination unit that determines the position and orientation of the imaging unit based on the existence range of the object.
請求項1乃至9のうちいずれか1項に記載の情報処理装置により位置姿勢の取得を行われた物体の移動をロボットにより行い、
前記移動を行われた前記物体の処理を行って前記物品を製造する、
ことを特徴とする物品の製造方法。
A method of manufacturing an article, comprising:
An object whose position and orientation have been obtained by the information processing apparatus according to any one of claims 1 to 9 is moved by a robot,
Manufacturing the article by performing the processing of the moved object;
A method for manufacturing an article, comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018137489A JP2020016446A (en) | 2018-07-23 | 2018-07-23 | Information processing device, control method of information processing device, program, measurement device, and article production method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018137489A JP2020016446A (en) | 2018-07-23 | 2018-07-23 | Information processing device, control method of information processing device, program, measurement device, and article production method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020016446A true JP2020016446A (en) | 2020-01-30 |
Family
ID=69580255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018137489A Pending JP2020016446A (en) | 2018-07-23 | 2018-07-23 | Information processing device, control method of information processing device, program, measurement device, and article production method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020016446A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022030242A1 (en) | 2020-08-03 | 2022-02-10 | ソニーグループ株式会社 | Information processing device, information processing method, and program |
WO2023054535A1 (en) * | 2021-09-28 | 2023-04-06 | 京セラ株式会社 | Information processing device, robot controller, robot control system, and information processing method |
-
2018
- 2018-07-23 JP JP2018137489A patent/JP2020016446A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022030242A1 (en) | 2020-08-03 | 2022-02-10 | ソニーグループ株式会社 | Information processing device, information processing method, and program |
WO2023054535A1 (en) * | 2021-09-28 | 2023-04-06 | 京セラ株式会社 | Information processing device, robot controller, robot control system, and information processing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6323993B2 (en) | Information processing apparatus, information processing method, and computer program | |
US10288418B2 (en) | Information processing apparatus, information processing method, and storage medium | |
JP6415026B2 (en) | Interference determination apparatus, interference determination method, and computer program | |
JP6573354B2 (en) | Image processing apparatus, image processing method, and program | |
JP5132832B1 (en) | Measuring apparatus and information processing apparatus | |
US8687057B2 (en) | Three-dimensional measurement apparatus and control method therefor | |
JP5624394B2 (en) | Position / orientation measurement apparatus, measurement processing method thereof, and program | |
JP5612916B2 (en) | Position / orientation measuring apparatus, processing method thereof, program, robot system | |
JP6092530B2 (en) | Image processing apparatus and image processing method | |
WO2019028075A1 (en) | Intelligent robots | |
JP6983828B2 (en) | Systems and methods for simultaneously considering edges and normals in image features with a vision system | |
JP2016091053A (en) | Information processing apparatus, container shape estimation method, work-piece picking system, and program | |
JP5092711B2 (en) | Object recognition apparatus and robot apparatus | |
JP2014028415A (en) | Device for unloading bulk loaded commodities with robot | |
CN107680125B (en) | System and method for automatically selecting three-dimensional alignment algorithm in vision system | |
JP2022519194A (en) | Depth estimation | |
WO2019177539A1 (en) | Method for visual inspection and apparatus thereof | |
JP2018091656A (en) | Information processing apparatus, measuring apparatus, system, calculating method, program, and article manufacturing method | |
JP2010541065A (en) | 3D beverage container positioning device | |
JP6817742B2 (en) | Information processing device and its control method | |
JP2020016446A (en) | Information processing device, control method of information processing device, program, measurement device, and article production method | |
Kriegel | Autonomous 3D modeling of unknown objects for active scene exploration | |
CN115082550A (en) | Apparatus and method for locating position of object from camera image of object | |
JP6061631B2 (en) | Measuring device, information processing device, measuring method, information processing method, and program | |
JP7405607B2 (en) | 3D data generation device and robot system that interpolates 3D data |