JP7275759B2 - 物体検出方法、物体検出装置およびロボットシステム - Google Patents

物体検出方法、物体検出装置およびロボットシステム Download PDF

Info

Publication number
JP7275759B2
JP7275759B2 JP2019064848A JP2019064848A JP7275759B2 JP 7275759 B2 JP7275759 B2 JP 7275759B2 JP 2019064848 A JP2019064848 A JP 2019064848A JP 2019064848 A JP2019064848 A JP 2019064848A JP 7275759 B2 JP7275759 B2 JP 7275759B2
Authority
JP
Japan
Prior art keywords
orientation
robot
imaging
unit
image
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.)
Active
Application number
JP2019064848A
Other languages
English (en)
Other versions
JP2020163502A (ja
Inventor
淳 戸田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2019064848A priority Critical patent/JP7275759B2/ja
Priority to CN202010223866.4A priority patent/CN111745640B/zh
Priority to US16/831,987 priority patent/US11393063B2/en
Publication of JP2020163502A publication Critical patent/JP2020163502A/ja
Application granted granted Critical
Publication of JP7275759B2 publication Critical patent/JP7275759B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • G06F18/24155Bayesian classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/653Three-dimensional objects by matching three-dimensional models, e.g. conformal mapping of Riemann surfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39514Stability of grasped objects
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40053Pick 3-D object from pile of objects
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40584Camera, non-contact sensor mounted on wrist, indep from gripper
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection

Description

本発明は、物体検出方法、物体検出装置およびロボットシステムに関するものである。
ロボットが作業を行う際には、ワーク等の対象物体の位置姿勢をロボットに認識させる必要がある。
例えば、特許文献1には、対象物の位置及び/又は姿勢を対象物状態として、対象物が取り得る対象物状態に対する、対象物が対象物状態となる確率の分布を取得する第1の取得手段と、撮像装置の位置姿勢に対して予め定められた相対的な対象物状態に対する、該撮像装置が該対象物状態を有する前記対象物を撮像することで得られる撮像画像から前記対象物の識別に成功する成功率の分布を取得する第2の取得手段と、前記撮像装置が取り得る複数の位置姿勢のそれぞれについての、予め定められた相対的な対象物状態に対する成功率の分布と、前記確率の分布と、に基づいて、該撮像装置の取るべき位置姿勢を決定する決定手段とを備える情報処理装置が開示されている。そして、このような情報処理装置によれば、撮像装置を用いて撮像した画像中の対象物の識別精度が高くなるような撮像装置の位置や姿勢を決定することができる。これにより、決定された位置姿勢に基づいて、ロボットアームを制御し、対象物をピッキングすることができる。
特開2013-117795号公報
しかしながら、特許文献1に記載の情報処理装置では、山積みとなった対象部品をピッキングする場合、対象物に対する照明等の条件または対象物が山積みされている状態が変化していく状況では、識別精度が低下するおそれがある。
本発明の適用例に係る物体検出方法は、
ロボットアームを備えるロボット、前記ロボットアームに装着されている保持部、前記ロボットの駆動を制御するロボット制御装置、および、撮像部、を用い、対象物の物体位置姿勢を検出する物体検出方法であって、
前記撮像部により複数の前記対象物を撮像し、第1画像を取得する工程と、
前記第1画像に基づいて、前記対象物の物体位置姿勢を認識する工程と、
前記対象物の物体位置姿勢を認識することができた数を物体位置姿勢認識数として計数する工程と、
前記対象物の物体位置姿勢に基づいて、前記保持部により前記対象物を保持させる信号を出力する工程と、
前記保持部により前記対象物を保持することができたか否かの結果を、前記ロボット制御装置を介して取得し、タスク評価値として算出する工程と、
前記物体位置姿勢認識数と前記タスク評価値とを含む評価指標に基づいて、前記撮像部の撮像位置姿勢から前記評価指標を推定するモデルを更新し、更新後の前記モデルに基づいて、前記撮像部の更新撮像位置姿勢を決定する工程と、
前記更新撮像位置姿勢で複数の前記対象物を撮像して第2画像を取得する工程と、
前記第2画像に基づいて、前記対象物の物体位置姿勢を認識する工程と、
を有する。
第1実施形態に係るロボットシステムを示す機能ブロック図である。 図1に示す物体検出装置のハードウェア構成の一例を示す図である。 第1実施形態に係る物体検出方法を示すフローチャートである。 ばら積みされている対象物と撮像位置姿勢を決定するための評価指標の一例との関係を示すグラフである。 対象物としてボルトを用い、ボルトがばら積みされている様子を撮像した第1画像の例である。 対象物のばら積み状態が、図4に示す対象物のばら積み状態から変化した場合を示す図である。 第2実施形態に係るロボットシステムを示す機能ブロック図である。 第3実施形態に係るロボットシステムを示す機能ブロック図である。
以下、本発明の物体検出方法、物体検出装置およびロボットシステムを添付図面に示す実施形態に基づいて詳細に説明する。
1.第1実施形態
1.1 ロボットシステム
まず、第1実施形態に係るロボットシステムについて説明する。
図1は、第1実施形態に係るロボットシステムを示す機能ブロック図である。
なお、図1では、互いに直交する3軸として、X軸、Y軸およびZ軸を図示している。また、説明の便宜上、Z軸の先端方向を「上」とし、Z軸の基端方向を「下」とする。
図1に示すロボットシステム100は、例えば、電子部品等の対象物91(物体)の保持、搬送および組立て等の作業に用いられる。このロボットシステム100は、ロボットアーム10を備えるロボット1と、ロボットアーム10に設置されている撮像機能を有するカメラ3(撮像部)と、対象物91を検出する物体検出装置4と、物体検出装置4の検出結果に基づいてロボット1の駆動を制御するロボット制御装置5と、を有する。以下、各部について順次説明する。
1.1.1 ロボット
図1に示すロボット1は、いわゆる6軸の垂直多関節ロボットであり、基台110と、基台110に接続されたロボットアーム10と、を有する。
基台110は、ロボット1を任意の設置箇所に取り付ける部分である。本実施形態では、基台110は、例えば床等の設置箇所に設置されている。なお、基台110の設置箇所は、床等に限定されず、例えば、壁、天井、移動可能な台車上等であってもよい。したがって、図1のZ軸は、鉛直軸に限定されない。
図1に示すロボットアーム10は、その基端が基台110に接続されており、アーム11、アーム12、アーム13、アーム14、アーム15およびアーム16を有する。これらアーム11~16は、基端から先端に向かってこの順に連結されている。各アーム11~16は、隣り合うアームまたは基台110に対して回動可能になっている。
また、ロボット1は、それぞれ図示しないものの、基台110に対してアーム11を回動させる駆動装置、アーム11に対してアーム12を回動させる駆動装置、アーム12に対してアーム13を回動させる駆動装置、アーム13に対してアーム14を回動させる駆動装置、アーム14に対してアーム15を回動させる駆動装置、およびアーム15に対してアーム16を回動させる駆動装置を有している。各駆動装置は、モーターと、モーターの駆動を制御するコントローラーと、モーターの回転量を検出するエンコーダーと、を備えており、ロボット制御装置5によって互いに独立に制御される。
ロボットアーム10の先端には、図1に示すように、対象物91を吸着可能なエンドエフェクター17が装着されている。エンドエフェクター17は、例えば把持ハンド、吸着ハンド、磁気ハンド等を備えており、テーブル92上に置かれている対象物91を保持して、各種作業を行う。
1.1.2 撮像部
図1に示すカメラ3は、ロボットアーム10の先端部に装着されている。そして、図1に示すカメラ3は、ロボットアーム10の駆動によって撮像位置姿勢が変更されるようになっており、テーブル92上に置かれている対象物91を撮像することができる。なお、「撮像位置姿勢」とは、例えばカメラ3についての6自由度の位置姿勢である。
カメラ3は、物体検出装置4と通信可能に接続されている。なお、カメラ3と物体検出装置4との接続は、有線による接続の他、無線による接続であってもよい。
カメラ3は、対象物91やその周囲について、カラー画像、モノクロ画像、赤外線画像等の二次元画像を取得可能なデバイス、つまり2Dカメラ、および、深度画像(表面点群データ)を撮像可能なデバイス、つまり3Dカメラ、のいずれか一方または双方である。このうち、デプス画像を取得可能なデバイスとしては、例えば、位相シフト法、アクティブステレオ法等により、撮像対象の三次元形状を計測する三次元計測装置等が挙げられる。
1.1.3 物体検出装置
物体検出装置4は、カメラ3およびロボット制御装置5と通信可能に接続されている。なお、物体検出装置4とロボット制御装置5との接続は、有線による接続の他、無線による接続であってもよい。
また、図1に示す物体検出装置4は、カメラ制御部41(撮像制御部)と、物体位置姿勢算出部42と、認識評価部43と、保持位置姿勢算出部44と、タスク評価部45と、撮像位置姿勢決定部46と、表示部47と、を有している。図1に示す物体検出装置4は、例えばテーブル92上にばら積みされた対象物91をエンドエフェクター17で保持するため、対象物91を検出するとともに、その物体位置姿勢を推定する。そして、検出結果および推定結果に基づき、ロボット制御装置5を介してロボット1の動作を制御し、エンドエフェクター17に対象物91を保持させることができる。なお、「物体位置姿勢」とは、対象物91についての6自由度の位置姿勢であり、例えば、X軸に沿った位置、Y軸に沿った位置、Z軸に沿った位置、方位角についての姿勢、仰角についての姿勢、および、回転角についての姿勢である。
以下、物体検出装置4の各部について説明する。
図1に示すカメラ制御部41は、カメラ3と接続され、テーブル92上に置かれている対象物91をカメラ3により撮像させ、第1画像および第2画像を取得する。そして、取得した第1画像および第2画像をそれぞれ物体位置姿勢算出部42に出力する。例えばカメラ3が2Dカメラと3Dカメラの双方で構成されている場合、第1画像および第2画像は、それぞれ、二次元画像と深度画像とで構成されている。
また、カメラ制御部41は、撮像位置姿勢決定部46から出力された撮像位置姿勢の情報に基づき、カメラ3の撮像位置姿勢を変更させる場合には、ロボットアーム10の制御信号をロボット制御装置5に出力する。そして、ロボット制御装置5を介してロボットアーム10を制御し、カメラ3の撮像位置姿勢を変更する。
図1に示す物体位置姿勢算出部42は、カメラ制御部41から出力された第1画像または第2画像に基づき、対象物91の撮像位置姿勢を認識する。具体的には、第1画像または第2画像から対象物91を検出するとともに、検出した対象物91の物体位置姿勢を推定する演算を行う。そして、物体位置姿勢の算出結果を認識評価部43および保持位置姿勢算出部44に出力する。
図1に示す認識評価部43は、物体位置姿勢算出部42から出力された算出結果に基づき、第1画像の物体位置姿勢認識数を計数する。具体的には、物体位置姿勢算出部42において第1画像から対象物91の物体位置姿勢を算出することができた数を物体位置姿勢認識数とする。そして、この物体位置姿勢認識数を撮像位置姿勢決定部46に出力する。
図1に示す保持位置姿勢算出部44は、物体位置姿勢算出部42から出力された対象物91の物体位置姿勢に基づき、対象物91を保持するエンドエフェクター17(保持部)の保持位置姿勢を算出する。この保持位置姿勢は、対象物91の種類ごとに保存しておいたデータベースに基づいて算出することができる。すなわち、対象物91を例えば吸着ハンドで吸着保持する場合、吸着に適した面(吸着面)の物体位置姿勢をあらかじめデータベースに登録しておけばよい。これにより、対象物91の物体位置姿勢に基づいて、吸着面の物体位置姿勢を求めることができるので、それに基づいてエンドエフェクター17の保持位置姿勢を算出することができる。また、対象物91を例えば把持ハンドで把持する場合、把持に適した面の物体位置姿勢をあらかじめデータベースに登録しておけばよい。これにより、把持に適したエンドエフェクター17の保持位置姿勢を算出することができる。そして、エンドエフェクター17の保持位置姿勢をロボット制御装置5に出力する。すなわち、この保持位置姿勢でエンドエフェクター17により対象物91を保持させるべく、そのための制御信号をロボット制御装置5に向けて出力する。なお、「保持位置姿勢」とは、例えばエンドエフェクター17についての6自由度の位置姿勢である。
図1に示すタスク評価部45は、エンドエフェクター17(保持部)によって対象物91を保持することができたか否かの結果、つまり保持の成否の情報を取得する。そして、保持の成否をタスク評価値として撮像位置姿勢決定部46に出力する。なお、保持の成否は、例えばエンドエフェクター17を撮像するカメラや、エンドエフェクター17に装着された力検出器等の検出結果に基づいて求めることができる。保持の成否を確認するカメラは、前述したカメラ3と同じであってもよく、異なっていてもよい。
図1に示す撮像位置姿勢決定部46は、認識評価部43から出力された物体位置姿勢認識数と、タスク評価部45から出力されたタスク評価値と、を含む評価指標を求める。そして、この評価指標に基づいて、撮像位置姿勢から評価指標を推定する推定モデルを更新し、更新後の推定モデルに基づいてカメラ3の撮像位置姿勢を決定する。また、決定した撮像位置姿勢を、カメラ制御部41に出力する。
図1に示す表示部47は、撮像位置姿勢決定部46と通信可能に接続されている。そして、図1に示す物体検出装置4は、認識評価部43から出力された物体位置姿勢認識数、タスク評価部45から出力されたタスク評価値、および、これらが含む前述した評価指標のうちの少なくとも1つを表示する表示部47を有している。
このような表示部47を有することにより、例えば、物体検出装置4における推定モデルの妥当性を数値で確認することができる。これにより、物体検出装置4の健全性を定量的に評価する指標を目視にて確認することができる。
なお、表示部47としては、例えば液晶表示装置等が挙げられる。また、表示部47に表示するのは、上記の情報に限定されず、それ以外の情報であってもよい。
以上、第1実施形態に係る物体検出装置4の構成について説明したが、物体検出装置4の作動、すなわち物体検出方法については後に詳述する。
図2は、図1に示す物体検出装置4のハードウェア構成の一例を示す図である。
図2に示す物体検出装置4は、プロセッサー4aと、記憶部4bと、外部インターフェース4cと、を含んでいる。そして、これらの各要素は、システムバス4dを介して相互に通信可能に接続されている。
プロセッサー4aは、CPU(Central Processing Unit)等を備えている。そして、記憶部4bに記憶されている各種プログラム等を読み出し、実行する。これにより、物体検出装置4における各種演算や各種処理等を実現する。
記憶部4bは、プロセッサー4aで実行可能な各種プログラム等を保存する。記憶部4bとしては、例えば、RAM(Random Access Memory)等の揮発性メモリー、ROM(Read Only Memory)等の不揮発性メモリー、着脱式の外部記憶装置等が挙げられる。なお、記憶部4bには、プログラムの他に、前述した各部から出力されたデータや設定値等についても記憶される。
外部インターフェース4cは、例えば有線LAN(Local Area Network)、無線LAN等が挙げられる。
なお、物体検出装置4の各部の機能は、プロセッサー4aがプログラムを実行することにより実現されるが、少なくとも一部がハードウェア上で実現されるようになっていてもよい。
また、物体検出装置4は、ロボット1の筐体内に配置されていてもよく、筐体外に配置されていてもよく、ネットワーク等を介して遠隔地に設けられていてもよい。
1.1.4 ロボット制御装置
ロボット制御装置5は、ロボット1の作動を制御する機能を有し、図1に示すように、ロボット1および物体検出装置4に対して通信可能に接続されている。なお、ロボット制御装置5と、ロボット1および物体検出装置4との間は、それぞれ、有線で接続されていてもよいし、無線で接続されていてもよい。また、ロボット制御装置5には、モニター等の表示装置、キーボード、タッチパネル等の入力装置等が接続されていてもよい。
ロボット制御装置5は、図示しないものの、プロセッサーと、記憶部と、外部インターフェースと、を含み、これらの各要素が、種々のバスを介して相互通信可能に接続されている。
プロセッサーは、CPU(Central Processing Unit)等のプロセッサーを備え、記憶部に記憶された各種プログラム等を実行する。これにより、ロボット1の駆動の制御や各種演算および判断等の処理を実現できる。
1.2 物体検出方法
次に、第1実施形態に係る物体検出方法について説明する。
図3は、第1実施形態に係る物体検出方法を示すフローチャートである。
図3に示す物体検出方法は、対象物91の物体位置姿勢を検出する方法である。本実施形態に係る物体検出方法は、例えばばら積みされている対象物91の状態が短時間で変化したとしても、対象物91を安定して検出することを可能にする。そして、対象物91の検出結果に基づき、ロボット制御装置5を介してロボット1の動作を制御し、エンドエフェクター17に対象物91を安定して保持させることができる。
図3に示す物体検出方法は、対象物91の物体位置姿勢を検出する方法であって、カメラ3の撮像位置姿勢を決定する工程S10と、撮像位置姿勢にカメラ3を配置する工程S111と、カメラ3により複数の対象物91を撮像して第1画像を取得する工程S112と、対象物91の物体位置姿勢を認識する工程S12と、物体位置姿勢認識数を計数して認識結果を評価する工程S13と、エンドエフェクター17の保持位置姿勢を算出する工程S141と、エンドエフェクター17により対象物91を保持させる制御信号を出力する工程S142と、対象物91を保持することができたか否かの結果をタスク評価値として算出し、保持結果を評価する工程S15と、物体位置姿勢認識数とタスク評価値とを含む評価指標に基づいて、推定モデルを更新し、更新後の推定モデルに基づいて、カメラ3の更新撮像位置姿勢を決定する工程S16と、更新撮像位置姿勢にカメラ3を配置する工程S171と、カメラ3により対象物91を撮像して第2画像を取得する工程S172と、対象物91の物体位置姿勢を認識する工程S18と、対象物91の撮像を終了するか否かを判断する工程S19と、を有する。
このような物体検出方法によれば、対象物91を撮像するカメラ3の撮像位置姿勢が対象物91の認識の成否やタスクの成否に影響を与えることを踏まえ、認識数やタスク成功数が高くなるように、更新撮像位置姿勢を決定することができる。しかも、稼働中に更新撮像位置姿勢を逐次変更することができるので、対象物91の周辺環境が短時間で変わる場合でも、対象物91の適切な保持が可能である。このため、例えば、照明等の条件が変化しやすい環境で対象物91を保持する作業や、山積みされた対象物91を保持する作業等においても、対象物91を認識させるチューニングに手間をかけることなく、対象物91を認識することができる。
以下、各工程について順次説明する。
1.2.1 撮像位置姿勢を決定(工程S10)
まず、撮像位置姿勢決定部46により、カメラ3の撮像位置姿勢を決定する。本工程は、初期状態であるため、撮像位置姿勢を決定するための画像が存在しない。このため、この段階では、撮像位置姿勢を任意に決定してもよいが、本実施形態では、撮像位置姿勢決定部46が保有する推定モデルに基づいて決定する。この推定モデルは、後述するが、カメラ3の撮像位置姿勢から前述した評価指標を推定するモデルである。最初の工程である本工程S10では、推定モデルが過去の経験を踏まえた内容になっていないため、任意に与えられた推定モデルに基づいて撮像位置姿勢を決定するようにすればよい。
図4は、ばら積みされている対象物91と撮像位置姿勢を決定するための評価指標の一例との関係を示すグラフである。なお、カメラ3の撮像位置姿勢は、6つの自由度を有しているが、図4では、このうちのX軸に沿った並進の自由度である位置xについてのみ図示している。また、以下の説明において、X軸に沿った並進についてのみ説明している。したがって、本実施形態では説明していないが、物体検出方法は、残る5つの自由度、つまり、Y軸に沿った並進、Z軸に沿った並進、X軸まわりの姿勢、Y軸まわりの姿勢、およびZ軸まわりの姿勢についても、認識数やタスク成功数に応じた適切な撮像位置姿勢を決定することが可能である。
図4には、本工程において決定した撮像位置姿勢の一例として位置aを示している。
1.2.2 カメラの配置(工程S111)
次に、決定した撮像位置姿勢になるように、カメラ3を移動させる。すなわち、カメラ3のX軸に沿った位置xが、位置aになるように、カメラ3を移動させる。本実施形態では、カメラ3がロボットアーム10の先端部に装着されている。カメラ制御部41は、撮像位置姿勢決定部46から出力された撮像位置姿勢に基づき、ロボット制御装置5に制御信号を出力する。これにより、ロボットアーム10を制御し、カメラ3を目的とする撮像位置姿勢になるように移動させる。
1.2.3 対象物の撮像(工程S112)
次に、その撮像位置姿勢で、カメラ3により、複数の対象物91が同一視野内に入るように第1画像を撮像する。撮像した第1画像は、カメラ制御部41で取得する。そして、第1画像を物体位置姿勢算出部42に出力する。
1.2.4 対象物の位置姿勢の認識(工程S12)
次に、物体位置姿勢算出部42により、第1画像に基づいて、対象物91の物体位置姿勢を認識する。対象物91の物体位置姿勢を認識するとは、第1画像において対象物91を検出すること、および、対象物91の物体位置姿勢を推定すること、の双方を行うことをいう。
第1画像において対象物91を検出する具体的な方法の1つとしては、例えば、第1画像に含まれた二次元画像のコントラストに基づいて、対象物91の輪郭を特定する方法が挙げられる。
対象物91の物体位置姿勢を認識する具体的な方法の1つとしては、例えば、第1画像と対象物91の設計データとをマッチングさせる方法が挙げられる。対象物91の設計データとは、例えば、三次元設計図ソフトで取り扱うことができる三次元CAD(Computer-Aided Design)のデータや、点、線、面といったモデルの構成要素で構成され、三次元コンピューターグラフィックスソフトで取り扱うことができる三次元CG(Computer Graphics)のデータ等である。
また、対象物91の物体位置姿勢を認識する具体的な方法の別の1つとしては、例えば、第1画像と物体位置姿勢ラベルとのペアで表現される学習データを用いた機械学習により、第1画像から対象物91の物体位置姿勢を推定する方法等も挙げられる。物体位置姿勢ラベルとは、画像中における対象物91の位置を表す座標データである。
図5は、対象物91としてボルトを用い、ボルトがばら積みされている様子を撮像した第1画像の例である。そして、物体位置姿勢算出部42において認識することができた対象物91には、その輪郭を囲む線が付与されている。
なお、第1画像は、例えば二次元画像または深度画像とされ、好ましくは二次元画像と深度画像の双方を含む。これらの第1画像を取得することにより、第1画像に基づいて対象物91の位置姿勢を認識することができる。
このようにして対象物91の物体位置姿勢を認識すると、その認識結果、すなわち物体位置姿勢を認識することができた数を、認識評価部43に出力する。
1.2.5 認識結果の評価(工程S13)
次に、認識評価部43では、第1画像において対象物91の物体位置姿勢を認識することができた数を物体位置姿勢認識数として取り扱う。そして、物体位置姿勢認識数が多い場合、その第1画像を撮像した撮像位置姿勢が、認識成功数が多い撮像位置姿勢であると評価することができる。そして、物体位置姿勢認識数を、撮像位置姿勢決定部46に出力する。
また、認識評価部43では、第1画像において複数の対象物91を認識した場合には、認識した複数の対象物91の中から、エンドエフェクター17で保持すべき1つを決定する。決定の際の基準は、特に限定されないが、例えば図5に示すように推定結果を二次元画像上に投影した際の輪郭の一致度の他、推定結果を深度画像上に投影した際の深度の一致度、カメラ3と対象物91との近さ等が挙げられる。そして、決定した、エンドエフェクター17で保持すべき1つの対象物91の物体位置姿勢情報を、保持位置姿勢算出部44に出力する。
1.2.6 エンドエフェクターの保持位置姿勢の算出(工程S141)
次に、保持位置姿勢算出部44により、エンドエフェクター17で保持すべき1つの対象物91の物体位置姿勢情報に基づいて、その対象物91を保持するエンドエフェクター17の保持位置姿勢を算出する。なお、保持位置姿勢の算出には、前述したように、対象物91の種類ごとに保存しておいたデータベースを用い、このデータベースに基づいて、対象物91を保持するのに最適なエンドエフェクター17の保持位置姿勢を算出する。
1.2.7 対象物の保持(工程S142)
そして、エンドエフェクター17により、前述した保持位置姿勢で対象物91を保持させる制御信号を出力する。制御信号は、ロボット制御装置5に出力される。ロボット制御装置5では、この制御信号に基づき、ロボット1の駆動を制御して、エンドエフェクター17の保持位置姿勢を変更させる。そして、エンドエフェクター17により、対象物91の保持を試みる。
1.2.8 保持結果の評価(工程S15)
次に、エンドエフェクター17によって対象物91を保持することができたか否かの結果、つまり保持の成否の情報を、ロボット制御装置5を介してタスク評価部45により取得する。タスク評価部45では、保持の成否をタスク評価値として算出し、これを撮像位置姿勢決定部46に出力する。
1.2.9 更新撮像位置姿勢の決定(工程S16)
次に、撮像位置姿勢決定部46において、認識評価部43から出力された物体位置姿勢認識数と、タスク評価部45から出力されたタスク評価値と、を含む評価指標を算出する。そして、算出した評価指標を、撮像位置姿勢決定部46において保有している推定モデルに反映させる。この推定モデルは、例えばベイズ推定を用いたモデルである。ベイズ推定では、過去の経験を踏まえたモデルを有し、そのモデルに直近の評価指標を反映させることで、モデルを更新する。これにより、過去の経験と直近の評価結果とを踏まえて、最適な更新撮像位置姿勢を決定することができる。
撮像位置姿勢決定部46において算出する評価指標の例としては、以下の式のような、物体位置姿勢認識数とタスク評価値との線形結合が挙げられる。
f(x)=D(x)+S(x)
なお、f(x)は評価指標を表す評価関数であり、D(x)が物体位置姿勢認識数であり、S(x)がタスク評価値である。なお、タスク評価値は、前述したエンドエフェクター17による保持が成功した場合に、失敗した場合よりも大きい数値になるように設定される。例えば、1枚の第1画像における物体位置姿勢認識数が10である場合、その第1画像から検出した1つの対象物91について試みた保持に成功したときのタスク評価値を5とし、保持に失敗した場合のタスク評価値を0とすればよい。そうすると、保持に成功した場合の評価関数f(x)は、10+5=15となり、保持に失敗した場合の評価関数f(x)は、10+0=10となる。このようにして、物体位置姿勢認識数だけでなく、タスク評価値も含めた評価指標を採用し、これを反映させることによって推定モデルを更新する。これにより、推定モデルは、多くの対象物91を認識可能であるとともに、対象物91の保持を成功しやすい位置xを探索するように逐次更新される。
また、推定モデルを逐次更新することにより、対象物91を取り巻く環境の変化に推定モデルを追従させることができる。これにより、この推定モデルに基づいて更新撮像位置姿勢を決定することにより、エンドエフェクター17による保持の成功率を高められる更新撮像位置姿勢を求めることが可能になる。
なお、タスク評価値の値は、上記の値に限定されず、いかなる値であってもよい。
また、ベイズ推定では、様々な位置xについての評価関数f(x)を取得して推定モデルに反映させることにより、徐々に評価関数f(x)の値を高め得る位置xを探索する。この探索を繰り返すと、位置xと評価関数f(x)との関係を表す図4に示すような相関曲線R1が得られる。図4では、縦軸に評価関数f(x)をとっているので、縦軸の先端ほど評価関数f(x)の値が大きいことを表している。本工程では、説明の便宜上、この時点で、何度かの位置xの探索を通じて、この相関曲線R1がある程度求められているものとする。
そうすると、図4に示す相関曲線R1では、撮像位置姿勢の位置xを、位置aから位置bに変更することで、評価関数f(x)の値を相対的に大きくすることが可能であると推定できる。したがって、本工程では、この位置bを新たな撮像位置姿勢(更新撮像位置姿勢)として決定し、その決定結果をカメラ制御部41に出力する。この新たな撮像位置姿勢は、確率上、エンドエフェクター17による保持の成功率が高い撮像位置姿勢ということになる。
1.2.10 カメラの配置(工程S171)
次に、決定した更新撮像位置姿勢になるように、ロボット1のロボットアーム10の駆動を制御して、カメラ3を配置する。
1.2.11 対象物の撮像(工程S172)
次に、カメラ3により、複数の対象物91が同一視野内に入るように第2画像を撮像する。撮像した第2画像は、カメラ制御部41で取得する。そして、第2画像を物体位置姿勢算出部42に出力する。
1.2.12 対象物の物体位置姿勢の認識(工程S18)
次に、物体位置姿勢算出部42により、第2画像に基づいて、対象物91の物体位置姿勢を認識する。第2画像に基づく対象物91の認識方法は、前述した第1画像に基づく対象物91の認識方法と同様である。
このようにして対象物91の物体位置姿勢を認識すると、その認識結果、すなわち物体位置姿勢を認識することができた数を、認識評価部43に出力する。
1.2.13 対象物の撮像を終了するか否かの判断(工程S19)
次に、対象物91の撮像を終了するか否かを判断する。すなわち、テーブル92上に置かれている対象物91の全ての保持を完了しているのであれば、撮像を終了すればよい。一方、保持すべき対象物91がまだ残っている場合には、前述した工程S13の前に戻る。
そして、再び、工程S13、工程S141、工程S142、工程S15、工程S16、工程S171、工程S172および工程S18と同様の各工程を、対象物91の数だけ繰り返す。これにより、対象物91を次々に保持するとともに、推定モデルを更新することができる。
ここで、これらの工程の2回目を、工程S13-2、工程S14-2(工程S141-2、工程S142-2)、工程S15-2、工程S16-2、工程S17-2(工程S171-2、工程S172-2)、および工程S18-2として説明する。
1.2.14 認識結果の評価(工程S13-2)
次に、認識評価部43により、第2画像において対象物91の物体位置姿勢を認識することができた数を物体位置姿勢認識数として計数する。
また、第2画像において認識した対象物91から、エンドエフェクター17で保持すべき1つを決定する。
1.2.15 エンドエフェクターの保持位置姿勢の算出(工程S141-2)
次に、保持位置姿勢算出部44により、エンドエフェクター17で保持すべき1つの対象物91の物体位置姿勢情報に基づいて、その対象物91を保持するエンドエフェクター17の保持位置姿勢を算出する。なお、保持位置姿勢の算出には、前述したように、対象物91の種類ごとに保存しておいたデータベースを用い、このデータベースに基づいて、対象物91を保持するのに最適なエンドエフェクター17の保持位置姿勢を算出する。
1.2.16 対象物の保持(工程S142-2)
そして、エンドエフェクター17により、前述した保持位置姿勢で対象物91を保持させる制御信号を出力する。制御信号は、ロボット制御装置5に出力される。ロボット制御装置5では、この制御信号に基づき、ロボット1のロボットアーム10の駆動を制御して、エンドエフェクター17の保持位置姿勢を変更させる。そして、エンドエフェクター17により、対象物91の保持を試みる。
1.2.17 保持結果の評価(工程S15-2)
次に、エンドエフェクター17によって対象物91を保持することができたか否かの結果、つまり保持の成否の情報を、ロボット制御装置5を介してタスク評価部45により取得する。タスク評価部45では、保持の成否をタスク評価値として算出し、これを撮像位置姿勢決定部46に出力する。
1.2.18 更新撮像位置姿勢の決定(工程S16-2)
次に、撮像位置姿勢決定部46において、認識評価部43から出力された物体位置姿勢認識数と、タスク評価部45から出力されたタスク評価値と、を含む評価指標を算出する。そして、算出した評価指標を、撮像位置姿勢決定部46において保有している推定モデルに反映させ、推定モデルをさらに更新する。これにより、更新後の推定モデルに基づいて、最適な更新撮像位置姿勢を決定することができる。
1.2.19 カメラの配置(工程S171-2)
次に、決定した更新撮像位置姿勢になるように、ロボット1のロボットアーム10の駆動を制御して、カメラ3を配置する。
1.2.20 対象物の撮像(工程S172-2)
次に、配置した更新撮像位置姿勢で、カメラ3により、複数の対象物91が同一視野内に入るように第3画像を撮像する。撮像した第3画像は、カメラ制御部41で取得する。そして、第3画像を物体位置姿勢算出部42に出力する。
1.2.21 対象物の保持位置姿勢の認識(工程S18-2)
次に、物体位置姿勢算出部42により、第3画像に基づいて、対象物91の保持位置姿勢を認識する。第3画像に基づく対象物91の認識方法は、前述した第1画像に基づく対象物91の認識方法と同様である。
以上のような、2回目の各工程である、工程S13-2、工程S141-2、工程S142-2、工程S15-2、工程S16-2、工程S171-2、工程S172-2、および工程S18-2と同様の工程をさらに3回目、4回目・・・と繰り返すことにより、評価関数f(x)の値が高くなる位置xを探索するための推定モデルを更新し続けることができる。その結果、対象物91の保持の成功率をさらに高める位置xを探索し続けることができる。
このようにして推定モデルを更新すると、図4に示すように、撮像位置姿勢の位置xが、位置a→位置b→位置c→位置dと移動し、そのたびに、より大きな評価関数f(x)の値が得られている。本実施形態に係る物体検出方法では、物体位置姿勢認識数やタスク評価値を高められる撮像位置姿勢を探索し続けることができるので、例えば保持の成功率が高いと期待できる対象物91を効率よく認識、検出することができる。これにより、対象物91を保持する作業を効率よく行うことができる。
なお、推定モデルを更新すると、そのたびに相関曲線R1は変化していくが、図4では、説明の便宜上、相関曲線R1が変化しないものとして図示している。また、推定モデルを更新するたびに、評価関数f(x)の値が常に高くなることは必須ではなく、低くなることがあってもよい。
以上をまとめると、本実施形態に係る物体検出方法は、対象物91の物体位置姿勢を検出する方法であって、カメラ3(撮像部)により複数の対象物91を撮像して第1画像を取得する工程S11(工程S111、S112)と、第1画像に基づいて、対象物91の物体位置姿勢を認識する工程S12と、対象物91の物体位置姿勢を認識することができた数を物体位置姿勢認識数として計数する工程S13と、対象物91の物体位置姿勢に基づいて、エンドエフェクター17(保持部)により対象物91を保持させる制御信号を出力する工程S14(工程S141、S142)と、対象物91を保持することができたか否かの結果をタスク評価値として算出する工程S15と、物体位置姿勢認識数とタスク評価値とを含む評価指標に基づいて、カメラ3の撮像位置姿勢から評価指標を推定する推定モデルを更新し、更新後の推定モデルに基づいて、カメラ3の更新撮像位置姿勢を決定する工程S16と、更新撮像位置姿勢で複数の対象物91を撮像して第2画像を取得する工程S17(工程S171、S172)と、第2画像に基づいて、対象物91の物体位置姿勢を認識する工程S18と、を有する。
このような物体検出方法によれば、対象物91の周辺環境が短時間で変わっていく場合でも、その変化に追従して、対象物91を適切に認識することができる。このため、この認識結果に基づくことにより、ロボット1において対象物91を高い成功率で保持させることができる。これにより、例えば、照明等の条件が変化しやすい環境で対象物91を保持する作業や、山積みされた対象物91を保持する作業等においても、対象物91を認識させるチューニングに手間をかけることなく、対象物91を認識することができる。その結果、対象物91について様々な作業を効率よく行うことができる。
また、図6では、対象物91のばら積み状態が、図4に示す対象物91のばら積み状態から変化した場合について図示している。具体的には、図4では、テーブル92上において、やや左側に積み上げられていた対象物91が、図6では、やや右側に移行している。このような場合、図4に示すばら積み状態を反映していた相関曲線R1は、図6のばら積み状態を反映していないことになる。このため、図6に示すばら積み状態にある対象物91を保持しようとするとき、保持の成功率が高いと期待できる対象物91を認識するための撮像位置姿勢を求めるためには、撮像位置姿勢から評価指標を推定する推定モデルに、このばら積み状態の変化を反映させる必要がある。
そこで、本実施形態では、撮像位置姿勢の決定に用いる推定モデルとして、忘却率の概念を導入したベイズ推定のモデルを用いるのが好ましい。ベイズ推定は、前述したように、過去の経験と直近の評価結果とを踏まえて、最適な更新撮像位置姿勢を求めるアルゴリズムであるが、これに忘却率の概念を導入することによって、時間的に近接したデータほど信頼できるという前提を導入することができる。これにより、過去の経験を徐々に忘却しながら推定モデルが更新されることになる。その結果、例えば、図6に示す位置aの撮像位置姿勢で得られた評価指標については、推定モデルへの反映度合いを弱めることができる。そうすると、図4に示す対象物91のばら積み状態から図6に示すばら積み状態への変化が発生したとしても、推定モデルの更新を繰り返すことにより、図4に示すばら積み状態のデータを推定モデルから徐々に排除することができる。その結果、変化後のばら積み状態に最適化された推定モデルを徐々に構築することができる。
このようにして図6に示すばら積み状態に最適化された推定モデルが構築されると、位置xと評価関数f(x)との関係を表す相関曲線についても、新たな相関曲線R2として求めることができる。この相関曲線R2に基づけば、位置xを、例えば図6の位置eにすることで、相対的に大きな評価関数f(x)の値が得られると推定することができる。これにより、ばら積み状態の変化した場合でも、保持の成功率が高いと期待できる新たな更新撮像位置姿勢を求めることができる。
なお、忘却率の概念を導入したベイズ推定としては、例えば、人工知能学会論文誌、23巻1号E(2008年)第50頁~第57頁の「非定常データに対するSparse Bayesian Learning」に記載されている非定常SBL(Sparse Bayesian Learning)を用いることができる。
また、タスク評価値は、エンドエフェクター17(保持部)により対象物91を保持することができたか否かの結果以外の要素を含んでいてもよい。具体的には、タスク評価値は、エンドエフェクター17により対象物91を保持させた後、対象物91を用いた作業を行わせた結果を含んでいてもよい。このような作業としては、例えば、対象物91がボルトである場合、そのボルトをエンドエフェクター17によって保持した後、雌ねじが形成されている部材にボルトを挿入する作業等が挙げられる。そして、このような作業の成否を、前述した保持の成否と同様にして評価指標に組み込む。これにより、評価指標を用いて更新される推定モデルは、保持の成否だけでなく、保持した対象物91を用いた作業の成否も含んだタスク評価値を用いて更新されることになる。そうすると、保持の成否だけでなく、作業の成否についても成功率が高いと期待できる新たな更新撮像位置姿勢を求めることが可能になる。
なお、評価指標に作業の成否も組み込む場合、重みづけをすることにより、保持の成否の評価と、作業の成否の評価と、の重みを異ならせるようにしてもよい。
また、本実施形態に係る物体検出装置4は、対象物91の物体位置姿勢を検出する装置であって、カメラ3(撮像部)により、複数の対象物91を含む第1画像を撮像して、取得するカメラ制御部41(撮像制御部)と、第1画像に基づいて、対象物91の物体位置姿勢を認識する物体位置姿勢算出部42と、対象物91の物体位置姿勢を認識することができた数を物体位置姿勢認識数として計数する認識評価部43と、対象物91の物体位置姿勢に基づいて、対象物91を保持するエンドエフェクター17(保持部)の保持位置姿勢を算出し、その保持位置姿勢でエンドエフェクター17により対象物91を保持させる制御信号を出力する保持位置姿勢算出部44と、エンドエフェクター17によって対象物91を保持することができたか否かの結果を取得し、タスク評価値を算出するタスク評価部45と、物体位置姿勢認識数とタスク評価値とを含む評価指標に基づいて、カメラ3の撮像位置姿勢から評価指標を推定する推定モデルを更新し、更新後の推定モデルに基づいて、カメラ3の更新撮像位置姿勢を決定する撮像位置姿勢決定部46と、を有している。そして、カメラ制御部41は、更新撮像位置姿勢においてカメラ3に第2画像を撮像させて取得し、物体位置姿勢算出部42は、第2画像に基づいて、対象物91の物体位置姿勢を認識する。
このような物体検出装置4によれば、撮像位置姿勢から評価指標を推定する推定モデルを逐次更新するため、例えば保持の成功率が高いと期待できる対象物91を認識可能なように、更新撮像位置姿勢を求めることができる。したがって、かかる物体検出装置4を備えることにより、保持の成功率が高いロボットシステム100を実現することができる。
また、対象物91の周辺環境が短時間で変わっていく場合でも、推定モデルの逐次更新により、対象物91を適切に認識することができる。これにより、例えば、照明等の条件が変化しやすい環境で対象物91を保持する作業や、崩れやすい山積みされた対象物91を保持する作業等においても、対象物91を認識させるチューニングに手間をかけることなく、保持の成功率が高いと期待できる対象物91の認識が可能になる。その結果、このような環境下でも対象物91を効率よく保持することができる。
また、本実施形態に係るロボットシステム100は、ロボットアーム10を備えるロボット1と、ロボットアーム10に設置されているカメラ3(撮像部)と、前述した物体検出装置4と、物体検出装置4の検出結果に基づいてロボット1の駆動を制御するロボット制御装置5と、を有する。
このようなロボットシステム100によれば、物体検出装置4において、対象物91の周辺環境が短時間で変わっていく場合でも、その変化に追従するべく、対象物91を適切に認識することができる。このため、対象物91を効率よく保持することができるロボットシステム100を容易に実現することができる。
2.第2実施形態
次に、第2実施形態に係るロボットシステムについて説明する。
図7は、第2実施形態に係るロボットシステムを示す機能ブロック図である。
以下、第2実施形態に係るロボットシステムについて説明するが、以下の説明では、第1実施形態に係るロボットシステムとの相違点を中心に説明し、同様の事項についてはその説明を省略する。なお、図7において、第1実施形態と同様の構成については、同一の符号を付している。
本実施形態に係るロボットシステム100Aは、ロボット1を搭載する無人搬送車6を有する以外、第1実施形態に係るロボットシステム100と同様である。
この無人搬送車6は、AGV(Automated Guided Vehicle)とも呼ばれており、種々の誘導方式による誘導により、所定の経路を自動的に移動する。そして、本実施形態に係るロボットシステム100Aでは、この無人搬送車6上にロボット1が搭載されている。
このようなロボットシステム100Aによれば、互いに離れた場所に置かれている対象物91A、91Bについても、物体検出装置4においていずれも適切に認識することができる。つまり、場所が異なる場合、照明条件等が変化し、カメラ3による対象物91A、91Bの見え方も異なる。しかしながら、物体検出装置4では、推定モデルを逐次更新することにより、見え方の変化が保持の成功率に影響を与えにくくすることができる。つまり、対象物91A、91Bが互いに離れた場所に置かれている場合でも、それぞれの場所に合わせて推定モデルを更新することができる。その結果、無人搬送車6を用いた機動性の高いロボットシステム100Aを構築しつつ、対象物91A、91Bの保持の成功率の低下を抑えることができる。
なお、上記のようにロボット1の位置が変わるように構成されている場合、ロボット1の位置が変わっても同一の推定モデルを更新し続けるようにしてもよい。しかしながら、互いに離れている対象物91A、91Bの周辺環境は大きく異なることが多いため、それらの対象物91A、91Bを保持するロボット1では、カメラ3が撮像する画像の見え方も大きく変化する。この場合、対象物91Aの撮像位置姿勢を決める際に用いる推定モデルと、対象物91Bの撮像位置姿勢を決める際に用いる推定モデルと、が同一であると、更新によって推定モデルが発散する等の不具合が生じるおそれがあり、推定モデルの更新がかえって保持の成功率を低下させるおそれもある。
そこで、撮像位置姿勢決定部46は、ロボット1の位置が変わったときには、推定モデルを初期化するのが好ましい。換言すれば、互いに独立した複数の推定モデルをあらかじめ用意しておき、ロボット1の位置が変わるたびに推定モデルを切り替えるようにするのが好ましい。これにより、各推定モデルが、それぞれの環境に応じて最適に更新されることになるため、本実施形態に係るロボットシステム100Aのように、移動しながら対象物91A、91Bを保持する(ピッキングする)ような用途で用いられる場合でも、対象物91A、91Bの保持の成功率の低下を抑えることができる。
なお、図7に示すロボットシステム100Aは、無人搬送車6と接続されている無人搬送車制御部48を有している。無人搬送車制御部48は、ロボット制御装置5からの制御信号に基づいて無人搬送車6の駆動を制御する。また、無人搬送車6の位置に応じた信号を物体検出装置4に出力する。物体検出装置4では、この信号に基づいて、推定モデルを切り替えるようになっていてもよい。
以上のような第2実施形態においても、第1実施形態と同様の効果が得られる。
なお、ロボット1が搭載されるのは、無人搬送車6に限定されず、各種台車等であってもよい。また、対象物91A、91Bが置かれるのは、テーブルに限定されず、棚等であってもよい。
3.第3実施形態
次に、第3実施形態に係るロボットシステムについて説明する。
図8は、第3実施形態に係るロボットシステムを示す機能ブロック図である。
以下、第3実施形態に係るロボットシステムについて説明するが、以下の説明では、第1実施形態に係るロボットシステムとの相違点を中心に説明し、同様の事項についてはその説明を省略する。なお、図8において、第1実施形態と同様の構成については、同一の符号を付している。
本実施形態に係るロボットシステム100Bは、カメラ3(撮像部)がロボットアーム10の先端部ではなく、ロボットアーム10から離れたスタンド7上に搭載されている以外、第1実施形態に係るロボットシステム100と同様である。
すなわち、スタンド7は、ロボット1が設置されている床に敷かれたレール等に設置されている。そして、カメラ3は、スタンド7に固定され、テーブル92上に置かれている対象物91を撮像することができる。また、スタンド7は、図8には図示しないが、前述したカメラ制御部41からの制御信号に基づき、レール上を移動する。これにより、カメラ3を目的とする撮像位置姿勢に配置することができる。
このような固定されたカメラ3を用いたロボットシステム100Bにおいても、前述したロボットシステム100と同様の効果が得られる。
以上、本発明の物体検出方法、物体検出装置およびロボットシステムを図示の実施形態に基づいて説明したが、本発明は、これに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物が付加されていてもよい。さらに、前記実施形態に係るロボットシステムは、6軸の垂直多関節ロボットを備えたシステムであるが、垂直多関節ロボットの軸数は、5軸以下であっても7軸以上であってもよい。また、垂直多関節ロボットに代えて、水平多関節ロボットであってもよい。
1…ロボット、3…カメラ、4…物体検出装置、4a…プロセッサー、4b…記憶部、4c…外部インターフェース、4d…システムバス、5…ロボット制御装置、6…無人搬送車、7…スタンド、10…ロボットアーム、11…アーム、12…アーム、13…アーム、14…アーム、15…アーム、16…アーム、17…エンドエフェクター、41…カメラ制御部、42…物体位置姿勢算出部、43…認識評価部、44…保持位置姿勢算出部、45…タスク評価部、46…撮像位置姿勢決定部、47…表示部、48…無人搬送車制御部、91…対象物、91A…対象物、91B…対象物、92…テーブル、100…ロボットシステム、100A…ロボットシステム、100B…ロボットシステム、110…基台、R1…相関曲線、R2…相関曲線、S10…工程、S11…工程、S111…工程、S112…工程、S12…工程、S13…工程、S13-2…工程、S14…工程、S141…工程、S141-2…工程、S142…工程、S142-2…工程、S15…工程、S15-2…工程、S16…工程、S16-2…工程、S17…工程、S171…工程、S171-2…工程、S172…工程、S172-2…工程、S18…工程、S18-2…工程、S19…工程

Claims (9)

  1. ロボットアームを備えるロボット、前記ロボットアームに装着されている保持部、前記ロボットの駆動を制御するロボット制御装置、および、撮像部、を用い、対象物の物体位置姿勢を検出する物体検出方法であって、
    前記撮像部により複数の前記対象物を撮像し、第1画像を取得する工程と、
    前記第1画像に基づいて、前記対象物の物体位置姿勢を認識する工程と、
    前記対象物の物体位置姿勢を認識することができた数を物体位置姿勢認識数として計数する工程と、
    前記対象物の物体位置姿勢に基づいて、前記保持部により前記対象物を保持させる信号を出力する工程と、
    前記保持部により前記対象物を保持することができたか否かの結果を、前記ロボット制御装置を介して取得し、タスク評価値として算出する工程と、
    前記物体位置姿勢認識数と前記タスク評価値とを含む評価指標に基づいて、前記撮像部の撮像位置姿勢から前記評価指標を推定するモデルを更新し、更新後の前記モデルに基づいて、前記撮像部の更新撮像位置姿勢を決定する工程と、
    前記更新撮像位置姿勢で複数の前記対象物を撮像して第2画像を取得する工程と、
    前記第2画像に基づいて、前記対象物の物体位置姿勢を認識する工程と、
    を有することを特徴とする物体検出方法。
  2. 前記第1画像は、二次元画像または深度画像である請求項1に記載の物体検出方法。
  3. 前記モデルは、忘却率の概念を導入したベイズ推定のモデルである請求項1または2に記載の物体検出方法。
  4. 前記タスク評価値は、前記保持部により前記対象物を保持させ、前記対象物を用いた作業を行わせた結果を含む請求項1ないし3のいずれか1項に記載の物体検出方法。
  5. ロボットアームを備えるロボット、前記ロボットアームに装着されている保持部、前記ロボットの駆動を制御するロボット制御装置、および、撮像部、を用い、対象物の物体位置姿勢を検出する物体検出装置であって、
    前記撮像部により、複数の前記対象物を含む第1画像を撮像させ、取得する撮像制御部と、
    前記第1画像に基づいて、前記対象物の物体位置姿勢を認識する物体位置姿勢算出部と、
    前記対象物の物体位置姿勢を認識することができた数を物体位置姿勢認識数として計数する認識評価部と、
    前記対象物の物体位置姿勢に基づいて、前記対象物を保持する前記保持部の保持位置姿勢を算出し、前記保持位置姿勢で前記保持部により前記対象物を保持させる制御信号を出力する保持位置姿勢算出部と、
    前記保持部によって前記対象物を保持することができたか否かの結果を、前記ロボット制御装置を介して取得し、タスク評価値を算出するタスク評価部と、
    前記物体位置姿勢認識数と前記タスク評価値とを含む評価指標に基づいて、前記撮像部の撮像位置姿勢から前記評価指標を推定するモデルを更新し、更新後の前記モデルに基づいて、前記撮像部の更新撮像位置姿勢を決定する撮像位置姿勢決定部と、
    を有し、
    前記撮像制御部は、前記更新撮像位置姿勢において前記撮像部に第2画像を撮像させて取得し、
    前記物体位置姿勢算出部は、前記第2画像に基づいて、前記対象物の物体位置姿勢を認識することを特徴とする物体検出装置。
  6. 前記物体位置姿勢認識数、前記タスク評価値および前記評価指標のうちの少なくとも1つを表示する表示部を有する請求項5に記載の物体検出装置。
  7. 前記ロボットアームを備える前記ロボットと、
    前記ロボットアームに設置されている前記撮像部と、
    請求項5または6に記載の物体検出装置と、
    前記物体検出装置の検出結果に基づいて前記ロボットの駆動を制御する前記ロボット制御装置と、
    を有することを特徴とするロボットシステム。
  8. 前記ロボットを搭載する無人搬送車を有する請求項7に記載のロボットシステム。
  9. 前記撮像位置姿勢決定部は、前記ロボットの位置が変わったとき、前記モデルを初期化する請求項7または8に記載のロボットシステム。
JP2019064848A 2019-03-28 2019-03-28 物体検出方法、物体検出装置およびロボットシステム Active JP7275759B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019064848A JP7275759B2 (ja) 2019-03-28 2019-03-28 物体検出方法、物体検出装置およびロボットシステム
CN202010223866.4A CN111745640B (zh) 2019-03-28 2020-03-26 物体检测方法、物体检测装置以及机器人系统
US16/831,987 US11393063B2 (en) 2019-03-28 2020-03-27 Object detecting method, object detecting device, and robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019064848A JP7275759B2 (ja) 2019-03-28 2019-03-28 物体検出方法、物体検出装置およびロボットシステム

Publications (2)

Publication Number Publication Date
JP2020163502A JP2020163502A (ja) 2020-10-08
JP7275759B2 true JP7275759B2 (ja) 2023-05-18

Family

ID=72605927

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019064848A Active JP7275759B2 (ja) 2019-03-28 2019-03-28 物体検出方法、物体検出装置およびロボットシステム

Country Status (3)

Country Link
US (1) US11393063B2 (ja)
JP (1) JP7275759B2 (ja)
CN (1) CN111745640B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022091290A1 (ja) * 2020-10-29 2022-05-05 株式会社ニコン はんだ付け装置及びはんだ付けシステム、並びに、加工装置
JP2022123510A (ja) * 2021-02-12 2022-08-24 オムロン株式会社 支援システム、画像処理装置、支援方法およびプログラム
WO2023203727A1 (ja) * 2022-04-21 2023-10-26 ヤマハ発動機株式会社 多関節ロボットアーム制御装置
CN114783040B (zh) * 2022-06-23 2022-09-20 东莞先知大数据有限公司 一种楼宇内偷拍行为检测方法及检测装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293695A (ja) 1999-04-08 2000-10-20 Fanuc Ltd 画像処理装置
JP2004160567A (ja) 2002-11-11 2004-06-10 Fanuc Ltd 物品取出し装置
WO2008076942A1 (en) 2006-12-15 2008-06-26 Braintech Canada, Inc. System and method of identifying objects
JP2013144355A (ja) 2012-01-13 2013-07-25 Toyota Motor Engineering & Manufacturing North America Inc ロボットが用いる把持パターンを生成する方法及び計算機プログラム製品
JP2017047505A (ja) 2015-09-02 2017-03-09 トヨタ自動車株式会社 把持可否判定方法
JP2018149628A (ja) 2017-03-13 2018-09-27 ファナック株式会社 機械学習により補正した計測データでワークの取り出しを行うロボットシステム、計測データ処理装置および計測データ処理方法
JP2018158439A (ja) 2018-03-15 2018-10-11 株式会社東芝 物体ハンドリング装置、制御装置、および較正方法
JP2018161692A (ja) 2017-03-24 2018-10-18 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
JP2018179859A (ja) 2017-04-18 2018-11-15 株式会社キーエンス 画像処理装置、画像処理方法、及びコンピュータプログラム

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63174890A (ja) * 1987-01-16 1988-07-19 トヨタ自動車株式会社 物体の認識方法
JPH0863581A (ja) * 1994-06-17 1996-03-08 Fujitsu Ltd 外部環境認識装置
JP3525896B2 (ja) * 1999-03-19 2004-05-10 松下電工株式会社 3次元物体認識方法および同方法を使用したビンピッキングシステム
JP3300682B2 (ja) * 1999-04-08 2002-07-08 ファナック株式会社 画像処理機能を持つロボット装置
JP4087874B2 (ja) * 2006-02-01 2008-05-21 ファナック株式会社 ワーク取り出し装置
JP4238256B2 (ja) * 2006-06-06 2009-03-18 ファナック株式会社 ロボットシミュレーション装置
JP4298757B2 (ja) * 2007-02-05 2009-07-22 ファナック株式会社 ロボット機構のキャリブレーション装置及び方法
JP5393318B2 (ja) * 2009-07-28 2014-01-22 キヤノン株式会社 位置姿勢計測方法及び装置
JP5567922B2 (ja) 2010-07-21 2014-08-06 キヤノン株式会社 画像処理装置及びその制御方法
JP2012187651A (ja) * 2011-03-09 2012-10-04 Omron Corp 画像処理装置および画像処理システム、ならびにそれらに向けられたガイダンス装置
US9437005B2 (en) * 2011-07-08 2016-09-06 Canon Kabushiki Kaisha Information processing apparatus and information processing method
JP5806606B2 (ja) 2011-12-01 2015-11-10 キヤノン株式会社 情報処理装置、情報処理方法
JP5266377B2 (ja) * 2011-12-19 2013-08-21 ファナック株式会社 物品の姿勢を修正する機能を備えた取出し装置
JP5620445B2 (ja) * 2012-09-13 2014-11-05 ファナック株式会社 選択条件に基づいてロボットの保持位置姿勢を決定する物品取出装置
JP6370038B2 (ja) * 2013-02-07 2018-08-08 キヤノン株式会社 位置姿勢計測装置及び方法
JP6126437B2 (ja) * 2013-03-29 2017-05-10 キヤノン株式会社 画像処理装置および画像処理方法
WO2015079740A1 (ja) * 2013-11-28 2015-06-04 三菱電機株式会社 ロボットシステムおよびロボットシステムの制御方法
WO2015129473A1 (ja) * 2014-02-28 2015-09-03 ソニー株式会社 ロボットアーム装置、キャリブレーション方法及びプログラム
JP5877857B2 (ja) * 2014-03-10 2016-03-08 ファナック株式会社 ワークの取出工程をシミュレーションするロボットシミュレーション装置
JP2016099257A (ja) 2014-11-21 2016-05-30 キヤノン株式会社 情報処理装置及び情報処理方法
JP6573354B2 (ja) * 2014-11-28 2019-09-11 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
SG11201704378QA (en) * 2014-12-03 2017-06-29 Nec Corp Direction control device, direction control method and recording medium
JP6140204B2 (ja) * 2015-02-06 2017-05-31 ファナック株式会社 3次元センサを備えた搬送ロボットシステム
JP7022076B2 (ja) * 2016-12-19 2022-02-17 株式会社安川電機 産業機器用の画像認識プロセッサ及びコントローラ
JP7047249B2 (ja) * 2017-01-10 2022-04-05 オムロン株式会社 画像処理システム、画像処理装置、ワークのピックアップ方法、および、ワークのピックアッププログラム
JP2018161726A (ja) * 2017-03-27 2018-10-18 セイコーエプソン株式会社 ロボット制御装置、ロボット、及びロボットシステム
JP7116901B2 (ja) * 2017-08-01 2022-08-12 オムロン株式会社 ロボット制御装置、ロボット制御方法及びロボット制御プログラム

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293695A (ja) 1999-04-08 2000-10-20 Fanuc Ltd 画像処理装置
JP2004160567A (ja) 2002-11-11 2004-06-10 Fanuc Ltd 物品取出し装置
WO2008076942A1 (en) 2006-12-15 2008-06-26 Braintech Canada, Inc. System and method of identifying objects
JP2013144355A (ja) 2012-01-13 2013-07-25 Toyota Motor Engineering & Manufacturing North America Inc ロボットが用いる把持パターンを生成する方法及び計算機プログラム製品
JP2017047505A (ja) 2015-09-02 2017-03-09 トヨタ自動車株式会社 把持可否判定方法
JP2018149628A (ja) 2017-03-13 2018-09-27 ファナック株式会社 機械学習により補正した計測データでワークの取り出しを行うロボットシステム、計測データ処理装置および計測データ処理方法
JP2018161692A (ja) 2017-03-24 2018-10-18 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
JP2018179859A (ja) 2017-04-18 2018-11-15 株式会社キーエンス 画像処理装置、画像処理方法、及びコンピュータプログラム
JP2018158439A (ja) 2018-03-15 2018-10-11 株式会社東芝 物体ハンドリング装置、制御装置、および較正方法

Also Published As

Publication number Publication date
US11393063B2 (en) 2022-07-19
US20200311854A1 (en) 2020-10-01
CN111745640B (zh) 2023-01-10
JP2020163502A (ja) 2020-10-08
CN111745640A (zh) 2020-10-09

Similar Documents

Publication Publication Date Title
JP7275759B2 (ja) 物体検出方法、物体検出装置およびロボットシステム
US11338435B2 (en) Gripping system with machine learning
JP6180087B2 (ja) 情報処理装置及び情報処理方法
CN111684474B (zh) 运算装置、运算方法及记录介质
EP1905548B1 (en) Workpiece picking apparatus
JP2022145915A (ja) 推論方法、推論プログラム、推論装置、学習方法、学習プログラム、学習装置およびモデル生成方法
US7283661B2 (en) Image processing apparatus
JP7191569B2 (ja) 把持装置
WO2011105522A1 (en) Three-dimensional measurement apparatus, processing method, and non-transitory computer-readable storage medium
JP2014054715A (ja) 選択条件に基づいてロボットの保持位置姿勢を決定する物品取出装置
JP2012101320A (ja) 画像生成装置、画像生成方法、およびプログラム
CN112775959A (zh) 机械手的抓取位姿确定方法及系统、存储介质
JP2018169660A (ja) オブジェクト姿勢検出装置、制御装置、ロボットおよびロボットシステム
JP2022160363A (ja) ロボットシステム、制御方法、画像処理装置、画像処理方法、物品の製造方法、プログラム、及び記録媒体
JP5698815B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP6040264B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
CN111745639B (zh) 信息处理方法及装置、物体检测装置以及机器人系统
US20220092290A1 (en) Image Recognition Method And Robot System
WO2024023934A1 (ja) ワーク取出し装置、ワーク取出し方法及び制御装置
RU2745380C1 (ru) Способ и система захвата объектов с помощью роботизированного устройства
WO2023286138A1 (ja) ロボット制御システム、ロボットシステム、ロボット制御方法、およびロボット制御プログラム
WO2023100282A1 (ja) データ生成システム、モデル生成システム、推定システム、学習済みモデルの製造方法、ロボット制御システム、データ生成方法、およびデータ生成プログラム
Piao et al. Robotic tidy-up tasks using point cloud-based pose estimation
Chang et al. Simultaneous Localization and Calibration Employing Two Flying Cameras
JP2023009776A (ja) ピッキング方法、ピッキングシステムおよびピッキング制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230307

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230417

R150 Certificate of patent or registration of utility model

Ref document number: 7275759

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150