JP2021033712A - 画像処理装置、撮像装置、ロボット及びロボットシステム - Google Patents

画像処理装置、撮像装置、ロボット及びロボットシステム Download PDF

Info

Publication number
JP2021033712A
JP2021033712A JP2019154074A JP2019154074A JP2021033712A JP 2021033712 A JP2021033712 A JP 2021033712A JP 2019154074 A JP2019154074 A JP 2019154074A JP 2019154074 A JP2019154074 A JP 2019154074A JP 2021033712 A JP2021033712 A JP 2021033712A
Authority
JP
Japan
Prior art keywords
image
subject
unit
article
contour
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.)
Granted
Application number
JP2019154074A
Other languages
English (en)
Other versions
JP7453762B2 (ja
Inventor
栄二 吉桑
Eiji Yoshikuwa
栄二 吉桑
利彦 宮崎
Toshihiko Miyazaki
利彦 宮崎
誠太 大野
Seita Ono
誠太 大野
天奮 徐
Tianfen Xu
天奮 徐
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.)
Kawasaki Heavy Industries Ltd
Original Assignee
Kawasaki Heavy Industries Ltd
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 Kawasaki Heavy Industries Ltd filed Critical Kawasaki Heavy Industries Ltd
Priority to JP2019154074A priority Critical patent/JP7453762B2/ja
Priority to PCT/JP2020/031992 priority patent/WO2021039775A1/ja
Priority to CN202080060123.8A priority patent/CN114341930A/zh
Priority to US17/638,218 priority patent/US20220292702A1/en
Priority to DE112020003605.7T priority patent/DE112020003605T5/de
Publication of JP2021033712A publication Critical patent/JP2021033712A/ja
Application granted granted Critical
Publication of JP7453762B2 publication Critical patent/JP7453762B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • 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/04Viewing devices
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/752Contour matching
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)
  • Image Analysis (AREA)

Abstract

【課題】画像上で被写体を特定するための処理量を低減する画像処理装置等を提供する。【解決手段】画像処理装置は、画像を処理する画像処理装置であって、被写体の形状を記憶する記憶部と、カメラが前記被写体を撮像した第一画像から、一部の領域である対象領域の第二画像を抽出する抽出部と、前記第二画像を処理することで、前記対象領域内に写し出される少なくとも3つの部位から前記カメラまでの距離を検出する距離検出部と、前記少なくとも3つの部位での距離を用いて前記対象領域内に写し出される平面を推定する平面推定部と、前記カメラの光軸に対する前記平面の角度を検出する角度検出部と、前記記憶部に記憶される前記被写体の形状と、前記平面の角度とを用いて、前記第一画像に写し出される前記被写体の輪郭である被写体輪郭を推定する輪郭推定部と、前記被写体輪郭を用いて、前記第一画像上で前記被写体を特定する特定部とを備える。【選択図】図6

Description

本発明は、画像処理装置、撮像装置、ロボット及びロボットシステムに関する。
従来、ワークを撮像した画像を用いて動作を制御するロボットがある。例えば、特許文献1は、カメラによってワークを撮像した画像を用いて、ワークの3次元位置及び姿勢を計測し、計測された情報を用いて、ロボットアーム先端部及びロボットハンドを制御する装置を開示している。特許文献1のカメラは、左右のレンズ機構と撮像素子とを備える。ワークは、左右のレンズ機構によって同時に撮像され、撮像素子に記録される。さらに、左右のレンズ機構のワークの2つの画像間でステレオマッチング法を用いた画像処理を行うことで、ワークの3次元位置及び姿勢が算出される。
特開2009−241247号公報
しかしながら、特許文献1には、2つの画像上においてワークを特定するための手法が開示されていない。カメラとワークとの位置関係及びカメラに対するワークの姿勢に対応して、画像に写し出されるワークの形状、サイズ、色彩及び模様等が種々に変化する。このため、画像上においてワークを特定するために多くの処理が必要となる場合がある。
そこで、本発明は、画像上でワーク等の被写体を特定するための処理量を低減する画像処理装置、撮像装置、ロボット及びロボットシステムを提供することを目的とする。
上記目的を達成するために、本発明の一態様に係る画像処理装置は、画像を処理する画像処理装置であって、被写体の形状を記憶する記憶部と、カメラが前記被写体を撮像した第一画像から、一部の領域である対象領域の第二画像を抽出する抽出部と、前記第二画像を処理することで、前記対象領域内に写し出される少なくとも3つの部位から前記カメラまでの距離を検出する距離検出部と、前記少なくとも3つの部位での距離を用いて前記対象領域内に写し出される平面を推定する平面推定部と、前記カメラの光軸に対する前記平面の角度を検出する角度検出部と、前記記憶部に記憶される前記被写体の形状と、前記平面の角度とを用いて、前記第一画像に写し出される前記被写体の輪郭である被写体輪郭を推定する輪郭推定部と、前記被写体輪郭を用いて、前記第一画像上で前記被写体を特定する特定部とを備える。
また、本発明の一態様に係る画像処理装置は、画像を処理する画像処理装置であって、被写体の形状を記憶する記憶部と、カメラが前記被写体を撮像した第一画像から、一部の領域である対象領域の第二画像を抽出する抽出部と、前記第二画像を処理することで、前記対象領域内に写し出される少なくとも3つの部位から前記カメラまでの距離を検出する距離検出部と、前記少なくとも3つの部位での距離を用いて前記対象領域内に写し出される平面を推定する平面推定部と、前記カメラの光軸に対する前記平面の角度を検出する角度検出部と、前記平面と垂直な方向である第一方向に前記カメラの光軸の方向を合わせるように前記カメラを方向付ける方向決定部と、前記光軸が前記第一方向に方向付けられた前記カメラが前記被写体を撮像した第三画像に写し出される前記被写体の輪郭である被写体輪郭を、前記記憶部に記憶される前記被写体の形状を用いて推定する輪郭推定部と、前記被写体輪郭を用いて、前記第三画像上で前記被写体を特定する特定部とを備える。
また、本発明の一態様に係る撮像装置は、カメラと、前記カメラが撮像した画像を処理する本発明の一態様に係る画像処理装置とを備える。
また、本発明の一態様に係るロボットは、本発明の一態様に係る撮像装置と、物品に対して処理動作を行うエンドエフェクタを有するロボットアームと、前記特定部によって特定された前記被写体としての前記物品の画像に基づき、前記エンドエフェクタ及び前記ロボットアームの動作を制御する制御装置とを備える。
また、本発明の一態様に係るロボットシステムは、本発明の一態様に係るロボットと、前記ロボットを操作するための操作装置とを備える。
本発明によれば、画像上で被写体を特定するための処理量の低減が可能となる。
実施の形態に係るロボットシステムの構成の一例を示す図 図1のロボットを拡大した側面図 実施の形態に係るカメラの構成の一例を示す断面側面図 実施の形態に係るロボットシステムのハードウェア構成の一例を示すブロック図 実施の形態に係る制御装置の機能的構成の一例を示すブロック図 実施の形態に係る画像処理部の機能的構成の一例を示すブロック図 2つのカメラが撮像した画像の一例を示す図 カメラ座標系における推定平面の一例を示す図 画像処理部によって推定される物品の輪郭の形状の一例を示す図 実施の形態に係るロボットシステムの動作の一例を示すフローチャート 変形例1に係る画像処理部の機能的構成の一例を示すブロック図 変形例1に係るロボットシステムの動作の一例を示すフローチャート 変形例2に係る画像処理部の機能的構成の一例を示すブロック図 変形例2に係るロボットシステムの動作の一例を示すフローチャート 変形例3に係る画像処理部の機能的構成の一例を示すブロック図 変形例3に係るロボットシステムの動作の一例を示すフローチャート 変形例4に係る画像処理部の機能的構成の一例を示すブロック図 変形例4に係るロボットシステムの動作の一例を示すフローチャート 変形例5に係る画像処理部の機能的構成の一例を示すブロック図
以下において、本発明の実施の形態を、図面を参照しつつ説明する。なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、添付の図面における各図は、模式的な図であり、必ずしも厳密に図示されたものでない。さらに、各図において、実質的に同一の構成要素に対しては同一の符号を付しており、重複する説明は省略又は簡略化される場合がある。また、本明細書及び特許請求の範囲では、「装置」とは、1つの装置を意味し得るだけでなく、複数の装置からなるシステムも意味し得る。
<ロボットシステムの構成>
実施の形態に係るロボットシステム1の構成を説明する。図1は、実施の形態に係るロボットシステム1の構成の一例を示す図である。図1に示すように、ロボットシステム1は、ロボット10と、入力装置20と、出力装置30と、カメラ41と、制御装置100とを構成要素として備える。なお、上記構成要素の全てが必須ではない。
本実施の形態では、ロボットシステム1は、ロボット10を用いて物品Aを移動する作業を行うシステムであるとして、以下の説明を行うが、これに限定されない。例えば、ロボットシステム1は、ロボット10が物品に対して何らかの処理動作を行うシステムであればよい。さらに、ロボット10が移動する物品Aは、段ボールケースであるとして、以下の説明を行うが、これに限定されない。物品Aは、その外表面に平面を含むことが好ましい。このような物品Aは、所定の形状を有する他の物体であってもよく、岩石等の所定の形状を有しない物体であってもよい。入力装置20は、ロボット10を操作するための装置であり、オペレータの入力に対応する信号を制御装置100に出力する。制御装置100は、ロボットシステム1の全体を制御し、例えば、入力装置20からの信号に対応する制御信号をロボット10に出力しロボット10の動作を制御する。
<ロボットの構成>
ロボット10の構成を説明する。図2は、図1のロボット10を拡大した側面図である。図1及び図2に示すように、ロボット10は、収容部11と、ロボットアーム12と、ロボットハンド(「エンドエフェクタ」とも呼ばれる)13と、搬送車14とを備える。収容部11、ロボットアーム12及びロボットハンド13は、搬送車14に配置されている。搬送車14は、床面等の上でロボット10を移動させることが可能であり、走行手段としての車輪14aと、車輪14aを駆動する搬送駆動装置14b(図示せず)とを備えるが、これに限定されず、クローラ(「キャタピラ(登録商標)」とも呼ばれる)等の他の走行手段を備えてもよい。搬送駆動装置14bは、電力を動力源とし、電気モータとしてサーボモータを有するが、いかなる動力源を用いてもよい。このような搬送車14は、例えばAGV(無人搬送車:Automated Guided Vehicle)であってもよい。なお、ロボット10は、搬送車14を備えず、床面等に固定等されて配置されてもよい。
収容部11は、搬送車14上に配置され、制御装置100、電源装置16(図示せず)及び負圧発生装置17(図示せず)等を収容する。電源装置16は、電力を消費するロボット10の各構成要素に電力を供給する。電源装置16は、二次電池を備え、二次電池の電力を各構成要素に供給してもよく、商用電源又はロボット10の外部の装置等の外部電源と接続されるように構成され、外部電源の電力を各構成要素に供給してもよい。電源装置16は、二次電池を備え且つ外部電源と接続されるように構成されてもよい。二次電池は、電力の充放電が可能である蓄電池であり、鉛蓄電池、リチウムイオン二次電池、ニッケル・水素蓄電池、ニッケル・カドミウム蓄電池等であってもよい。電源装置16は、電力の放電のみが可能である一次電池を備えてもよい。
ロボットアーム12の基部は、搬送車14に取り付け固定され、ロボットアーム12の先端部には、ロボットハンド13が取り付けられている。ロボットハンド13は、段ボールケースである物品Aを保持することができるように構成されている。ロボットアーム12及びロボットハンド13は、制御装置100の制御に従って動作し、例えば、ロボットハンド13で保持した物品Aを他の場所に移動させる。本実施の形態では、ロボットハンド13は、負圧により吸着することで物品Aを保持するが、例えば、把持、掬い上げ、吊り上げ、係合、粘着力及び磁力等により物品Aを保持するように構成されてもよい。また、ロボット10は、以下に説明するように垂直多関節型の産業用ロボットとして構成されるが、これに限定されない。
ロボットアーム12は、その基部から先端に向かって順に配置されたリンク12a〜12fと、リンク12a〜12fを順次接続する関節JT1〜JT6と、関節JT1〜JT6それぞれを回転駆動するアーム駆動装置M1〜M6とを備えている。アーム駆動装置M1〜M6の動作は、制御装置100によって制御される。アーム駆動装置M1〜M6はそれぞれ、電力を動力源とし、これらを駆動する電気モータとしてサーボモータを有するが、いかなる動力源を用いてもよい。なお、ロボットアーム12の関節の数量は、6つに限定されず、7つ以上であってもよく、1つ以上5つ以下であってもよい。
リンク12aは関節JT1を介して搬送車14に取り付けられ、ロボットハンド13はリンク12fの先端部に取り付けられている。関節JT1は、搬送車14とリンク12aの基端部とを、搬送車14を支持する床面に対して垂直である鉛直方向の軸周りに回転可能に連結する。関節JT2は、リンク12aの先端部とリンク12bの基端部とを、当該床面に対して水平方向の軸周りに回転可能に連結する。関節JT3は、リンク12bの先端部とリンク12cの基端部とを、水平方向の軸周りに回転可能に連結する。関節JT4は、リンク12cの先端部とリンク12dの基端部とを、リンク12cの長手方向の軸周りに回転可能に連結する。関節JT5は、リンク12dの先端部とリンク12eの基端部とを、リンク12dの長手方向と直交する方向の軸周りに回転可能に連結する。関節JT6は、リンク12eの先端部とリンク12fの基端部とを、リンク12eに対する捻れ回転可能に連結する。
ロボットハンド13は、本体部13aと、1つ以上の吸着部13bと、支持部13cとを有する。本体部13aは板状の形状を有し、本体部13aの一方の主面にリンク12fが接続され、上記主面と反対側の主面に吸着部13b及び支持部13cが配置される。本体部13aは、リンク12fと共に、リンク12fの捻れ回転軸Sを中心に回動する。支持部13cは、板状の形状を有し本体部13aから軸S方向に突出する。
吸着部13bは軸Sと垂直な方向で支持部13cから離れて配置されている。吸着部13bは、例えば、テーパ筒状等の中空の形状を有し、図示しない配管を介して負圧発生装置17と接続されている。吸着部13bは、軸S方向に開放している。負圧発生装置17の構成は、吸着部13bの中空部分に負圧を発生させることができれば特に限定されず、既存のいかなる構成が用いられてもよい。例えば、負圧発生装置17は、圧縮空気を送入することで負圧又は真空を発生するエジェクタの構成を有してもよく、空気を吸引することで負圧又は真空を発生する真空ポンプ又は空気圧シリンダの構成を有してもよい。
ロボットハンド13は、物品Aの側面等の表面に吸着部13bを接触させ、吸着部13bに負圧を発生させることで、吸着部13bを介して物品Aを吸着する。これにより、ロボットハンド13は、物品Aを持ち上げる等の物品Aを保持し移動させることができる。さらに、ロボットハンド13は、支持部13cを物品Aの底面等の表面に当接させることで、支持部13cによって支持しつつ物品Aを保持することができる。
<入力装置の構成>
入力装置20の構成を説明する。図1に示すように、入力装置20は、オペレータ等による指令及び情報の入力を受け付け、当該指令及び情報を制御装置100に出力する。入力装置20は、制御装置100と有線通信又は無線通信を介して接続される。有線通信及び無線通信の形式はいかなる形式であってもよい。例えば、入力装置20は、ロボット10を遠隔操作するために用いられ、ロボット10から所定の距離だけ離して配置される。
入力装置20は、オペレータによるロボット10の手動操作を構成する個々の操作の入力を受け付け、当該操作の指令値を制御装置100に出力してもよい。入力装置20は、ロボット10の自動操作の操作内容の入力を受け付け、当該操作内容の指令値を制御装置100に出力してもよい。入力装置20は、ロボット10の移動対象の物品Aの形状及び/又はサイズ等の情報の入力を受け付け、当該情報を制御装置100に出力してもよい。
このような入力装置20は、ハンドル、レバー、ペダル、ボタン、タッチパネル、マイク及びカメラ等の装置を備えてもよい。入力装置20は、入力される指令及び情報として、ハンドル又はレバーの変位、方向、速度及び操作力、ボタンの押し下げ、タッチパネルの画面への接触、接触軌跡及び接触圧、スピーカによって集音される音声信号、カメラによって撮像されたオペレータのジェスチャなどの画像の解析結果等を受け付けてもよい。
<出力装置の構成>
出力装置30の構成を説明する。図1に示すように、出力装置30は入力装置20の近傍に配置される。出力装置30は、カメラ41から取得される画像の信号を画像として出力しオペレータに表示する。出力装置30の例は、液晶ディスプレイ(Liquid Crystal Display)及び有機又は無機ELディスプレイ(Electro-Luminescence Display)であるが、これらに限定されない。出力装置30は、音声を発するスピーカを備えてもよい。出力装置30は、制御装置100によって出力される操作等のための画像及び/又は音声を出力してもよい。
<カメラの構成>
カメラ41の構成を説明する。カメラ41は、デジタル画像を撮像するカメラであり、撮像された画像内の被写体までの距離等の3次元位置の検出を可能にするカメラである。図2に示すように、カメラ41は、ロボットハンド13の前方を視野とするように配置及び方向付けられている。具体的には、カメラ41は、リンク12dに配置され、リンク12dの長手方向に沿って、リンク12dの先端に向かって方向付けられている。このようなカメラ41は、ロボットハンド13の移動対象の物品Aを撮像することができる。
図3は、実施の形態に係るカメラ41の構成の一例を示す断面側面図である。図3に示すように、本実施の形態では、カメラ41は、2つ以上のカメラを含む複眼カメラである。カメラ41は、異なる位置に配置された2つのカメラ41a及び41bを含む。カメラ41a及び41bは同様の構成及び性能を有するが、異なっていてもよい。カメラ41a及び41bは、図3のように一体化されていてもよく、分離して配置されていてもよい。カメラ41a及び41bは、互いの視野が重複するように配置されている。カメラ41a及び41bはそれぞれ、レンズ42と撮像素子43とを含む。カメラ41aにおいて、レンズ42の光軸中心LAa上に撮像素子43が配置されている。カメラ41bにおいて、レンズ42の光軸中心LAb上に撮像素子43が配置されている。光軸中心LAa及びLAbは互いに平行であるが、平行でなくてもよい。光軸中心LAa及びLAbは、カメラ41の光軸の一例である。
撮像素子43は、レンズ42を通って入射する光を受光し、受光した光から像を形成する。撮像素子43の例は、CMOS(Complementary Metal-Oxide Semiconductor)イメージセンサ及びCCD(Charge Coupled Device)イメージセンサ等である。撮像素子43は、格子状に平面的に配列された複数の受光素子を含む。各受光素子は、受光した光の強度を示す画素値を制御装置100に出力する。画素値の例は、輝度値である。図3では、2つの撮像素子43が配置されているが、一体化されていてもよい。つまり、2つの撮像素子43の領域にわたる1つの撮像素子が配置されてもよい。
カメラ座標系がカメラ41に設定されている。カメラ座標系は、カメラ41a及び41bを基準とするローカル座標系であり、カメラ41a及び41bのレンズ42の中心の中点である原点Оと、互いに直交するX軸、Y軸及びZ軸とによって定義される。Z軸は、光軸中心LAa及びLAbと平行である。X軸は、光軸中心LAa及びLAbを含む平面と平行である。Y軸は、光軸中心LAa及びLAbを含む平面と垂直である。撮像素子43における受光する表面である受光面は、XY平面と平行である。カメラ41a及び41bによって撮像された画像は、XY平面と平行な面へ被写体を投影した画像である。
<ロボットシステムのハードウェア構成>
ロボットシステム1のハードウェア構成を説明する。図4は、実施の形態に係るロボットシステム1のハードウェア構成の一例を示すブロック図である。図4に示すように、ロボットシステム1は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、メモリ104と、入力I/F(インタフェース:Interface)21と、撮像素子I/F44と、ビデオカード31と、モータ駆動回路52と、負圧駆動回路62と、入力装置20と、カメラ41a及び41bと、出力装置30と、サーボモータ51と、負圧発生装置17とを構成要素として含む。上記構成要素はそれぞれ、バス、有線通信又は無線通信を介して接続されている。なお、上記構成要素の全てが必須ではない。
これに限定されないが、本実施の形態では、CPU101、ROM102、RAM103、メモリ104、入力I/F21、撮像素子I/F44及びビデオカード31は、制御装置100を構成する。CPU101はプロセッサであり、ロボットシステム1の処理及び動作の全体を制御する。ROM102は不揮発性半導体メモリ等で構成され、CPU101に処理及び動作を制御させるためのプログラム及びデータ等を格納する。RAM103は揮発性半導体メモリ等構成され、CPU101で実行するプログラム及び処理途中又は処理済みのデータ等を一時的に格納する。メモリ104は、揮発性メモリ及び不揮発性メモリなどの半導体メモリ、ハードディスク(HDD:Hard Disc Drive)及びSSD(Solid State Drive)等の記憶装置で構成される。
CPU101が動作するためのプログラムは、ROM102又はメモリ104に予め保持されている。CPU101は、ROM102又はメモリ104からプログラムをRAM103に読み出して展開する。CPU101は、RAM103に展開されたプログラム中のコード化された各命令を実行する。
入力I/F21は、入力装置20と接続され、入力装置20からの情報及び指令等の入力を受け付ける。入力I/F21は、入力信号を変換する回路等を含んでもよい。
撮像素子I/F44は、プログラムの実行に対応して、カメラ41a及び41bの撮像素子43の駆動を制御し、カメラ41a及び41bによって撮像された画像をRAM103又はメモリ104に取り込む。撮像素子I/F44は、撮像素子43の駆動のための回路等を含んでもよい。
ビデオカード31は、プログラムの実行に対応して、カメラ41a及び41bによって撮像された画像、及び/又は、当該画像から生成された画像を処理して、出力装置30に出力し表示させる。
モータ駆動回路52は、CPU101の指令に従って、電源装置16の電力を各サーボモータ51に供給し当該サーボモータ51の駆動を制御する。サーボモータ51は、ロボットアーム12のアーム駆動装置M1〜M6及び搬送車14の搬送駆動装置14bのサーボモータである。モータ駆動回路52は全てのサーボモータ51の駆動を制御する。
なお、各サーボモータ51は、電気モータと、電気モータの回転子の回転角を検出するエンコーダとを備えている。各サーボモータ51は、CPU101から出力される指令等に従って、電気モータを動作させ、エンコーダの検出値及び電気モータの電流値をCPU101に出力する。CPU101は、各サーボモータ51からフィードバックされたエンコーダの検出値及び電流値に基づき、当該サーボモータ51の回転子の回転量、回転速度及び回転トルク等を検出し、検出結果を用いて当該サーボモータ51の回転開始、回転停止、回転速度及び回転トルクを制御する。これにより、CPU101は、各サーボモータ51を任意の回転位置で停止させることができ、任意の回転速度で回転させることができ、任意の回転トルクで動作させることができる。よって、CPU101は、ロボットアーム12及び搬送車14を多様に且つ緻密に動作させることができる。
負圧駆動回路62は、CPU101の指令に従って、電源装置16の電力を負圧発生装置17に供給し負圧発生装置17の駆動を制御する。
上述のような制御装置100の各機能は、CPU101、ROM102及びRAM103等からなるコンピュータシステムによって実現されてもよく、電子回路又は集積回路等の専用のハードウェア回路によって実現されてもよく、上記コンピュータシステム及びハードウェア回路の組み合わせにより実現されてもよい。プログラムは、アプリケーションとして、インターネット等の通信網を介した通信、モバイル通信規格による通信、その他の無線ネットワーク、有線ネットワーク、又は放送等で提供されるものであってもよい。
例えば、制御装置100の各機能は、LSI(Large Scale Integration:大規模集積回路)、システムLSI等の回路によって実現されてもよい。複数の構成要素の機能は、個別に1チップ化されてもよく、一部又は全てを含むように1チップ化されてもよい。また、回路は、それぞれ、汎用的な回路でもよく、専用の回路でもよい。LSIとして、LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、LSI内部の回路セルの接続及び/又は設定を再構成可能なリコンフィギュラブルプロセッサ、又は、特定用途向けに複数の機能の回路が1つにまとめられたASIC(Application Specific Integrated Circuit)等が利用されてもよい。
<制御装置の機能的構成>
制御装置100の機能的構成を説明する。図5は、実施の形態に係る制御装置100の機能的構成の一例を示すブロック図である。図5に示すように、制御装置100は、入力処理部201と、出力処理部301と、撮像制御部401と、画像処理部111と、アーム制御部112と、ハンド制御部113と、搬送制御部114と、記憶部115とを機能的構成要素として含む。なお、上記機能的構成要素の全てが必須ではない。制御装置100は、画像処理装置の一例である。
記憶部115を除く機能的構成要素の機能は、CPU101等によって実現される。記憶部115の機能は、メモリ104、ROM102及びRAM103等によって実現される。撮像制御部401、画像処理部111、並びに、カメラ41a及び41bは、撮像装置40を構成する。
記憶部115は、種々の情報を格納し、格納している情報の読み出しを可能にする。記憶部115は、カメラ41a及び41bのカメラパラメタ、並びに、ロボット10が移動し得る対象の物品の形状及びサイズ等を格納する。また、記憶部115は、カメラ41a及び41bによって撮像された画像の中で画像処理部111が処理する領域の情報を格納する。記憶部115は、プログラムを格納してもよい。
カメラパラメタは、外部パラメータと内部パラメータとを含む。外部パラメータの例は、カメラ41a及び41bの位置及び向き等を示すパラメータである。内部パラメータの例は、カメラ41a及び41bのレンズの歪み、焦点距離、撮像素子43の1画素のサイズ及び光軸中心の画素座標等を示すパラメータである。画素座標は、画素を単位とする座標であり、画像上での2次元座標である。
物品の形状は、物品の3次元形状及び/又は2次元形状である。物品の形状は、物品の3次元形状及び/又は2次元形状を表す情報として記憶部115に格納されてもよい。物品の3次元形状及び2次元形状はそれぞれ、物品の3次元モデル及び2次元モデルとして記憶部115に格納されてもよい。例えば、物品の2次元形状は、様々な方向から物品を投影したときの投影面上での物品の輪郭形状であってもよい。
物品のサイズは、実際の物品のサイズ、つまり実物のサイズを示す。物品のサイズは、物品の3次元形状及び2次元形状の各部の寸法を示してもよく、3次元形状及び2次元形状の特徴部分の寸法を示してもよい。例えば、特徴部分の寸法は、物品の外形の幅、高さ及び奥行き等の外形の代表的な寸法、並びに、物品の辺の寸法及び断面寸法等の物品の代表的な一部の寸法等であってもよい。
入力処理部201は、入力装置20から取得される指令及び情報を、制御装置100の各機能的構成要素に出力する。
出力処理部301は、カメラ41a及び41bによって撮像された画像、及び、画像処理部111によって処理された画像、並びに、制御装置100の各機能的構成要素の動作結果及び検出結果等の出力情報を、出力装置30に出力する。出力処理部301は、ロボット10の操作用の画面を出力装置30に出力する。
撮像制御部401は、カメラ41a及び41bの動作を制御する。撮像制御部401は、入力装置20に入力される撮像実行の指令に従って、カメラ41a及び41bに撮像させてもよい。撮像制御部401は、カメラ41a及び41bに互いに同期させて撮像させる。撮像制御部401は、カメラ41a及び41bによって同時刻に撮像された画像を対応付けて記憶部115等に出力する。
画像処理部111は、カメラ41a及び41bによって撮像された画像を用いて、当該画像に写し出される物品を特定し、当該物品の3次元の位置及び姿勢を検出する。画像処理部111は、物品の3次元の位置及び姿勢の情報を、アーム制御部112、ハンド制御部113及び搬送制御部114に出力する。画像処理部111は、当該情報を記憶部115に出力し格納してもよい。画像処理部111の詳細は後述する。
アーム制御部112は、入力処理部201から受け取る指令等に従って、画像処理部111から受け取る情報を用いて、アーム駆動装置M1〜M6の動作を制御することで、ロボットアーム12に対応する動作をさせる。アーム制御部112は、アーム駆動装置M1〜M6のサーボモータ51の回転量等の動作量に基づき、ロボットアーム12の各リンク12a〜12f及びロボットハンド13の位置、姿勢、移動方向及び移動速度等を含む位置姿勢情報を検出する。アーム制御部112は、位置姿勢情報に基づき、アーム駆動装置M1〜M6の動作を制御する。また、アーム制御部112は、位置姿勢情報をハンド制御部113及び搬送制御部114に出力する。
ハンド制御部113は、入力処理部201から受け取る指令等に従って、負圧発生装置17の動作を制御する。例えば、ハンド制御部113は、画像処理部111から受け取る情報と、アーム制御部112から受け取るロボットハンド13の位置姿勢情報とに基づき、吸着部13bと物品との接触又は接近を検出し、当該検出後、負圧発生装置17を起動させることで吸着部13bに物品を吸着させる。
搬送制御部114は、入力処理部201から受け取る指令等に従って、搬送駆動装置14bの動作を制御することで、搬送車14に対応する動作をさせる。例えば、搬送制御部114は、画像処理部111から受け取る情報と、アーム制御部112から受け取るロボットアーム12及びロボットハンド13の位置姿勢情報とを用いて、移動対象の物品がロボットアーム12のリーチ範囲内であるか否かを検出してもよい。リーチ範囲外である場合、搬送制御部114は、搬送車14を当該物品に接近させるように動作させてもよい。
なお、搬送制御部114は、搬送駆動装置14bのサーボモータ51の回転量等の動作量に基づき、搬送車14の位置及び向きを検出し、当該位置及び向き等に基づき搬送駆動装置14bを制御してもよい。また、搬送車14は、GPS(Global Positioning System)受信機及びIMU(慣性計測装置:Inertial Measurement Unit)等の位置計測装置を備え、位置計測装置の計測結果を用いて搬送車14の位置及び向きを検出してもよい。また、搬送制御部114は、例えば、床面に埋設された電線から微弱な誘導電流を検出し、この検出値に基づき搬送車14の位置及び向きを検出してもよい。
<画像処理部の機能的構成>
画像処理部111の機能的構成を説明する。図6は、実施の形態に係る画像処理部111の機能的構成の一例を示すブロック図である。図6に示すように、画像処理部111は、抽出部111aと、距離検出部111bと、平面推定部111cと、角度検出部111dと、輪郭推定部111eと、エッジ抽出部111fと、特定部111gと、被写体検出部111hとを機能的構成要素として含む。
図7は、カメラ41a及び41bが撮像した画像の一例を示す図である。図6及び図7に示すように、抽出部111aは、カメラ41a及び41bそれぞれによって撮像された画像(以下、「第一画像」とも呼ぶ)IAa及びIAbそれぞれから、一部の領域である対象領域TAの画像(以下、「第二画像」とも呼ぶ)IBa及びIBbを抽出し、距離検出部111bに出力する。第一画像IAa及びIAbは同時刻に撮像された画像である。第一画像IAa及びIAbにおける対象領域TAの位置、形状及びサイズは、同一であり、予め設定されている。対象領域TAの位置、形状及びサイズの情報は、記憶部115に格納されている。対象領域TAの位置、形状及びサイズは、例えば、画素座標を用いて設定されてもよい。
対象領域TAは、第一画像IAa及びIAbよりも小さいサイズの矩形形状を有し、第一画像IAa及びIAbの中心に配置されている。なお、対象領域TAのサイズ、形状及び位置は特に限定されず、対象領域TAが、第一画像IAa及びIAbよりも小さく、第一画像IAa及びIAb内に収まるように配置されればよい。対象領域TAは、後述するように平面推定部111cが第二画像IBa及びIBb内で物品の平面領域を推定できるような形状及びサイズであることが好ましい。例えば、対象領域TAは、第一画像に写し出される1つの物品の外形よりも小さくてもよい。対象領域TAのサイズが小さくなる程、距離検出部111b及び平面推定部111cの処理量の低減が可能である。
また、対象領域TAの位置、形状及びサイズは、変更可能であってもよい。例えば、当該変更は、入力装置20を介して行われてもよい。入力装置20に、変更後の対象領域TAの位置、形状及びサイズの情報が入力されると、抽出部111aは、変更後の対象領域TAの位置、形状及びサイズで、記憶部115に格納される対象領域TAの位置、形状及びサイズを置き換える、つまり更新する。このように、対象領域TAの位置、形状及びサイズは、任意に設定可能であってよい。
距離検出部111bは、第二画像IBa及びIBbを処理することで、対象領域TA内に写し出される被写体からカメラ41までの実際の距離を検出し、平面推定部111cに出力する。カメラ41における距離の基準点の位置は、任意の位置であってもよい。例えば、上記基準点は、カメラ41aに設定された基準点、カメラ41bに設定された基準点、又は、カメラ41a及び41bの中間点О(図3参照)等であってもよい。本実施の形態では、距離検出部111bは、第二画像IBa及びIBbの全ての画素のペアについて、当該画素のペアに写し出される被写体とカメラ41との実際の距離である3次元距離(以下、単に「距離」とも呼ぶ)を算出する。第二画像IBa及びIBbの画素のペアは、同じ被写体を写し出す対応する画素のペアである。なお、距離検出部111bは、第二画像IBa及びIBbにおいて、画素位置が異なる少なくとも3つの画素のペアについて、上記距離を算出してもよい。
例えば、距離検出部111bは、第二画像IBa及びIBbを用いたステレオ視により、少なくとも3つの画素のペアそれぞれが写し出す被写体からカメラ41までの距離を検出する。このとき、距離検出部111bは、第二画像IBa及びIBbと、記憶部115に格納されるカメラ41a及び41bのカメラパラメタとを用いる。具体的には、距離検出部111bは、第二画像IBa上の各画素について、当該画素の画素座標と、当該画素に写し出されている被写体と同じ被写体が表されている第二画像IBb上の対応点の画素座標とを検出する。検出手法は、既知のいかなる手法であってもよい。
距離検出部111bは、第二画像IBa及びIBbの間で、画素に写し出される被写体とカメラ41との距離に応じて生じる視差を算出する。「視差」とは、異なる位置にあるカメラ41a及び41bから同一の対象点を視た場合の当該対象点の方向又は位置の差である。視差は、第二画像IBa及びIBbの間における同一の点を写し出す画素の位置のずれに対応する。つまり、画素のペアの画素座標の画素位置の差異が視差である。距離検出部111bは、画素のペアの2つの画素座標に基づく視差とカメラパラメタとを用いたステレオ視により、当該画素のペアに写し出されている被写体とカメラ41との距離を算出する。距離検出部111bは、第二画像IBa上の全ての画素について上記処理を行う。これにより、距離検出部111bは、各画素の位置での距離値を算出する。距離検出部111bは、各画素の位置での距離値を当該画素の画素値とする距離画像を生成してもよい。
さらに、距離検出部111bは、第二画像IBa及びIBbの少なくとも一方の各画素における距離値と、カメラ41a及び41bから当該画素に向かう視線の方向とを用いて、当該画素に写し出される被写体の実際の3次元位置を算出し、平面推定部111cに出力してもよい。以下において、「画素に写し出される被写体の3次元位置」を、「画素に対応する3次元位置」と表現する場合もある。3次元位置は、地球上での位置を示す世界座標系又はカメラ座標系での3次元座標等で示されてもよい。
平面推定部111cは、第二画像IBa及びIBbの少なくとも一方における少なくとも3つの部位での距離を用いて対象領域TA内に写し出される平面を推定する。本実施の形態では、1つの部位が1つの画素であるとして説明するが、これに限定されない。例えば、1つの部位は、1つの点、1つの画素、及び、複数の画素からなる1つの画素群等であってもよい。平面推定部111cは、第二画像IBa又はIBbにおける少なくとも3つの画素に対応する3次元位置を距離検出部111bから取得する、又は、自身で算出する。平面推定部111cは、少なくとも3つの画素に対応する3次元位置を用いて上記平面を推定する。平面推定部111cは、少なくとも3つの画素に対応する3次元位置又はその近傍を通る平面を、推定対象の平面として算出してもよい。平面推定部111cは、算出した平面である推定平面を示す情報を角度検出部111dに出力する。当該情報は、3次元空間内で推定平面を表す情報である。推定平面は、世界座標系又はカメラ座標系等での座標で示されてもよい。
又は、平面推定部111cは、第二画像IBa又はIBbの複数の画素における距離値を平均化することでノイズ成分を除去し平滑化してもよい。平均化の手法は、既知のいかなる手法であってよい。平面推定部111cは、第二画像IBa又はIBbの全画素について平均化してもよく、一部の画素について平均化してもよい。後者の場合、平面推定部111cは、第二画像IBa又はIBbから、隣り合う画素間での距離値の差異が第一閾値以内である画素を抽出し、抽出した画素の画素群について平均化してもよい。第一閾値は、推定する平面の平滑度及び粗度等に応じて任意に設定され、記憶部115に格納されていてもよい。複数の画素群が抽出された場合、平面推定部111cは、画素群間の距離が第二閾値以内である画素群を抽出し、抽出した画素群を1つの平面を表す画素群であるとみなしてもよい。第二閾値は、物品の形状等に応じて任意に設定され、記憶部115に格納されていてもよい。
平面推定部111cは、平均化後の各画素の距離値と、カメラ41a又は41bから当該画素に向かう視線の方向とを用いて、当該画素に対応する3次元位置を算出する。そして、平面推定部111cは、各画素に対応する3次元位置又はその近傍を通る平面を、推定対象の平面として算出する。
角度検出部111dは、カメラ41a及び41bの光軸中心LAa及びLAbに対する推定平面の角度を検出し、輪郭推定部111eに出力する。例えば、角度検出部111dは、推定平面を表す座標又は関数等と光軸中心LAa及びLAbを表す座標又は関数等とを用いて、上記角度を算出する。例えば、図8に示すように、角度検出部111dは、カメラ座標系を用いて上記角度を算出してもよい。図8は、カメラ座標系における推定平面の一例を示す図である。
推定平面の角度は、推定平面PEとZ軸との角度である。本実施の形態では、角度検出部111dは、推定平面PEとYZ平面との交線LaがZ軸と交差する角度θaを算出する。角度θaは、Y軸正方向での角度を示す場合に正の値をとり、Y軸負方向での角度を示す場合に負の値をとる。図8では、角度θaは正の値である。さらに、角度検出部111dは、推定平面PEとXZ平面との交線LbがZ軸と交差する角度θbを算出する。角度θbは、X軸正方向での角度を示す場合に正の値をとり、X軸負方向での角度を示す場合に負の値をとる。図8では、角度θbは正の値である。角度検出部111dは、角度θa及びθbを、推定平面の角度として算出する。これにより、Z軸に対する推定平面の傾斜方向及び傾斜角度の特定が可能である。
輪郭推定部111eは、記憶部115に記憶される物品Aの形状と、推定平面の角度とを用いて、第一画像IAa及びIAbに写し出される物品Aの輪郭を推定する。輪郭推定部111eは、推定した輪郭の情報を特定部111gに出力する。具体的には、輪郭推定部111eは、推定平面とZ軸との角度を、光軸中心LAa及びLAbに対する物品Aの姿勢を示す角度とみなす。このとき、輪郭推定部111eは、物品Aの形状から物品Aの外表面上の平面を抽出する。さらに、輪郭推定部111eは、抽出平面と光軸中心LAa及びLAbとの角度、つまり抽出平面とZ軸との角度が推定平面とZ軸との角度と一致する場合の物品Aの姿勢を算出し、当該姿勢を物品Aの姿勢とみなす。
さらに、輪郭推定部111eは、物品Aの形状に基づき、当該姿勢にある物品AをXY平面に投影した像の輪郭の形状(以下、「輪郭形状」とも呼ぶ)を算出する。当該輪郭形状は、第一画像IAa及びIAbに写し出される物品Aの輪郭形状に対応する。当該輪郭形状は、抽出平面に対して垂直な方向で見た場合の物品Aの輪郭形状に対して変形している場合があり、物品Aの見かけの輪郭形状を表す。このように、輪郭推定部111eは、物品Aの形状を推定平面の角度に対応して変形させた形状を、第一画像IAa及びIAbに写し出される物品Aの輪郭形状として推定する。なお、輪郭推定部111eは、物品Aの形状として、物品Aの3次元モデルを用いてもよい。これにより、物品Aの輪郭形状の算出精度が向上し得る。また、複数の抽出平面が存在する等により、物品Aの複数の姿勢が算出された場合、輪郭推定部111eは、各姿勢での物品Aの輪郭形状を算出する。
図7に示すように、本実施の形態では、物品Aは直方体形状の段ボールケースであり、同形状の複数の物品Aが上下左右に積み上げられている。このため、推定平面の角度θa及びθbのうち、角度θaは略90°であり、角度θbは0°超90°以下である。そして、図9に示すように、輪郭推定部111eによって推定される物品Aの輪郭CAの形状は、台形状又は矩形状である。図9は、画像処理部111の輪郭推定部111eによって推定される物品Aの輪郭CAの形状の一例を示す図である。
エッジ抽出部111fは、第一画像IAa及びIAbの少なくとも一方において、エッジを抽出する。エッジ抽出部111fは、抽出されたエッジのみを含むエッジ画像を生成し、特定部111gに出力する。エッジ画像は、エッジのみを写し出す第一画像IAa又はIAbに対応する画像である。
特定部111gは、輪郭推定部111eによって推定された物品Aの輪郭形状を用いて、第一画像IAa及びIAbの少なくとも一方において当該物品Aを特定する。具体的には、特定部111gは、第一画像IAa又はIAbのエッジ画像上において、当該エッジ画像に含まれるエッジの形状と、物品Aの輪郭形状とを比較しパターンマッチングすることで、当該物品Aを示すエッジを特定する。さらに、特定部111gは、特定されたエッジのエッジ画像での位置に基づき、第一画像IAa又はIAb上で物品Aの位置を特定してもよい。複数の物品Aの輪郭形状が推定された場合、特定部111gは、複数の物品Aの輪郭形状とエッジの形状とをパターンマッチングする。また、第一画像IAa及びIAbに物品Aの全体が写し出されない場合、特定部111gは、物品Aの輪郭形状の一部とエッジの形状との部分的なパターンマッチングにより、当該物品Aを示すエッジを特定してもよい。上記のようなパターンマッチングは、幾何学形状パターンマッチングであり、既知のいかなる手法が用いられてもよい。
図9の例では、画像に写し出される物品Aの輪郭CAのエッジは、当該画像に対して左上又は右上に向いて突出する角部を含むことを特徴とする。よって、特定部111gは、左上又は右上に向いて突出する角部を示すエッジを探索し、角部を基準としてパターンマッチングを行う。これにより、特定部111gの処理量の低減が可能になる。
被写体検出部111hは、特定部111gによって特定された第一画像IAa又はIAb上での物品Aの画像と、推定平面との角度とを用いて、物品Aの3次元の位置及び姿勢を検出する。具体的には、被写体検出部111hは、第一画像IAa又はIAb上で物品Aを表す画素に対応する距離値又は3次元位置を取得する。このとき、被写体検出部111hは、第二画像IBa又はIBbの画素の距離値又は3次元位置を用いる。被写体検出部111hは、取得した距離値又は3次元位置を用いて、物品Aの3次元の位置を検出する。さらに、被写体検出部111hは、推定平面の角度と物品Aの形状とを用いて、物品Aの3次元の姿勢を検出する。被写体検出部111hは、検出結果をアーム制御部112、ハンド制御部113及び搬送制御部114に出力する。
<ロボットシステムの動作>
実施の形態に係るロボットシステム1の動作を説明する。図10は、実施の形態に係るロボットシステム1の動作の一例を示すフローチャートである。図10に示すように、ロボットシステム1の制御装置100の撮像制御部401は、ロボット10の移動対象の物品A(以下、「物品A1」とも呼ぶ)の画像である第一画像IAa及びIAbをカメラ41a及び41bに撮像させ取得させる(ステップS101)。例えば、物品A1が、ロボット10の動作に伴って移動するカメラ41a及び41bの視野内に入ったタイミングで、撮像制御部401が撮像を実行する。この場合、出力装置30に表示されるカメラ41a及び/又は41bの画像を視認するオペレータ等が上記タイミングを判定し、入力装置20に撮像実行の指令を入力してもよい。又は、ロボットハンド13に図示しない距離センサが設けられ、当該距離センサが検出する距離値が物品A1へのロボットハンド13の接近を示すと、撮像制御部401が撮像を実行してもよい。
なお、ステップS101の前又はステップS101において、オペレータ等は、物品A1の情報を、入力装置20を介して入力してもよい。物品A1の情報は、物品A1の形状を示す情報を少なくとも含む。例えば、オペレータ等は、上記情報として、物品A1の形状に付けられた名称又は記号等を入力してもよく、出力装置30に物品の形状のリストを表示させ、当該リストから物品A1の形状を選択してもよい。当該リストは、制御装置100の記憶部115に予め格納されていてもよい。
次いで、制御装置100の画像処理部111は、第一画像IAa及びIAbそれぞれにおいて対象領域TAを特定し、対象領域TAに含まれる第二画像IBa及びIBbを抽出する(ステップS102)。
次いで、画像処理部111は、カメラ41から第二画像IBa及びIBbに写し出される被写体までの実際の距離を検出する(ステップS103)。本例では、画像処理部111は、第二画像IBa及びIBb間で互いに対応する全ての画素のペアについて上記距離を検出するが、少なくとも3つの画素のペアについて上記距離を検出してもよい。さらに、画像処理部111は、第二画像IBa又はIBbを用いた距離画像を生成してもよい。
次いで、画像処理部111は、第二画像IBa及びIBbに写し出される平面を推定する(ステップS104)。本例では、画像処理部111は、第二画像IBa又はIBbの複数の画素の距離値を平均化し、平均化後の各画素の距離値に基づき、平面を写し出す画素群を推定する。
次いで、画像処理部111は、カメラ41の光軸に対する推定平面の角度を検出する(ステップS105)。具体的には、画像処理部111は、推定平面を写し出す各画素の距離値と、カメラ41a又は41bから当該画素に向かう視線の方向とを用いて、当該画素に対応する3次元位置、つまり、推定平面の3次元位置を算出する。さらに、画像処理部111は、推定平面の3次元位置に基づき、光軸中心LAa及びLAbに対する推定平面の角度を検出する。
次いで、画像処理部111は、推定平面の角度と、記憶部115に記憶される物品A1の形状とを用いて、第一画像IAa及びIAbに写し出される物品A1の輪郭を推定する(ステップS106)。具体的には、画像処理部111は、物品A1上の平面の光軸中心LAa及びLAbに対する角度と推定平面の角度と一致させた場合の物品A1の姿勢を算出し、当該姿勢の物品A1を第一画像IAa及びIAbに投影した像の輪郭の形状を推定する。
次いで、画像処理部111は、第一画像IAa又はIAb上でエッジを抽出し、抽出されたエッジのみを含むエッジ画像を生成する(ステップS107)。さらに、画像処理部111は、エッジ画像と物品A1の輪郭形状とを用いて、第一画像IAa又はIAb上で物品A1を特定する(ステップS108)。具体的には、画像処理部111は、エッジ画像上において物品A1の輪郭形状を示すエッジを特定し、エッジ画像上での当該エッジの位置に基づき、第一画像IAa又はIAb上で物品A1を特定する。
次いで、画像処理部111は、第一画像IAa又はIAb上での物品A1の画像と、推定平面の角度とを用いて、物品A1の3次元の位置及び姿勢を検出する(ステップS109)。具体的には、画像処理部111は、第二画像IBa又はIBbに含まれ且つ物品A1を写し出す画素に対応する距離値又は3次元位置を用いて、物品A1の3次元位置を検出する。画像処理部111は、推定平面の角度と物品A1の形状とを用いて、物品A1の3次元の姿勢を検出する。
次いで、画像処理部111は、ステップS109での検出結果を、アーム制御部112、ハンド制御部113及び搬送制御部114等に出力する。アーム制御部112、ハンド制御部113及び搬送制御部114等は、上記検出結果に基づき、ロボットアーム12、ロボットハンド13及び搬送車14の動作を制御することで、ロボットハンド13で物品A1を吸着し移動させる(ステップS110)。
ステップS101〜S110によって、制御装置100は、カメラ41a及び41bに撮像させた物品A1の第一画像を用いて、第一画像に写し出される平面の光軸に対する角度、つまり姿勢を推定する。制御装置100は、推定された平面の姿勢に基づき、第一画像に写し出される物品A1の姿勢を推定し、当該姿勢に基づき、第一画像に写し出される物品A1の輪郭形状を推定する。さらに、制御装置100は、推定された物品A1の輪郭形状を用いて、第一画像上で物品A1を特定する。
<効果等>
実施の形態に係る画像処理装置としての制御装置100は、被写体としての物品Aの形状を記憶する記憶部115と、カメラ41が物品Aを撮像した第一画像から、一部の領域である対象領域の第二画像を抽出する抽出部111aと、第二画像を処理することで、対象領域内に写し出される少なくとも3つの部位からカメラ41までの距離を検出する距離検出部111bと、少なくとも3つの部位での距離を用いて対象領域内に写し出される平面を推定する平面推定部111cと、カメラ41の光軸に対する推定平面の角度を検出する角度検出部111dと、記憶部115に記憶される物品Aの形状と、推定平面の角度とを用いて、第一画像上に写し出される物品Aの輪郭を推定する輪郭推定部111eと、物品Aの輪郭を用いて、第一画像上で物品Aを特定する特定部111gとを備える。
上記構成によると、対象領域内に写し出される推定平面の角度は、カメラ41の光軸に対する物品Aの姿勢を示し得る。このような推定平面の角度と物品Aの形状とを用いることによって、第一画像上での物品Aの輪郭を推定することが可能である。さらに、このような輪郭を用いることによって、第一画像上で物品Aを精度よく特定することが可能になり、物品Aを特定するための処理量の低減も可能になる。また、推定平面の推定に、第一画像の一部の領域の画像を用いるため、処理量の低減が可能である。よって、画像処理精度及び速度が向上する。
また、輪郭推定部111eは、記憶部115に記憶される物品Aの形状を推定平面の角度に対応して変形させた形状を、第一画像上での物品Aの輪郭として推定してもよい。上記構成によると、推定される物品Aの輪郭は、第一画像上での物品Aの見かけの輪郭を示す。例えば、光軸に対する推定平面の角度が90°でない場合、当該推定平面は第一画像上では歪んで表示される。第一画像上での物品Aの見かけの輪郭は、このような推定平面の歪みが反映された高い精度の輪郭を表すことができる。
また、輪郭推定部111eは、推定平面の角度を、カメラ41の光軸に対する物品Aの姿勢を示す角度として用いて、第一画像上での物品Aの輪郭を推定してもよい。上記構成によると、第一画像上での物品Aの輪郭を推定するための処理量の低減が可能になる。
また、制御装置100は、画像からエッジを抽出するエッジ抽出部111fを備え、特定部111gは、エッジの形状と物品Aの輪郭とを比較することで、物品Aを特定してもよい。上記構成によると、物品Aを特定するための処理量の低減が可能になる。
また、制御装置100は、特定部111gによって特定された物品Aの画像と推定平面の角度とを用いて、物品Aの3次元の位置及び姿勢を検出する被写体検出部111hを備えてもよい。上記構成によると、3次元空間内での物品Aの検出が可能になる。
また、実施の形態に係る撮像装置40は、カメラ41と、カメラ41が撮像した画像を処理する制御装置100とを備える。上記構成によると、実施の形態に係る制御装置100と同様の効果が得られる。
なお、カメラ41は、少なくとも2つのカメラ41a及び41bで構成され、抽出部111aは、少なくとも2つのカメラ41a及び41bが撮像した第一画像から、少なくとも2つの第二画像を抽出し、距離検出部111bは、少なくとも2つの第二画像を用いたステレオ視により、対象領域内に写し出される少なくとも3つの部位からカメラ41までの距離を検出してもよい。上記構成によると、上記少なくとも3つの部位までの距離の検出精度が向上する。
また、実施の形態に係るロボット10は、撮像装置40と、物品に対して処理動作を行うエンドエフェクタとしてのロボットハンド13を有するロボットアーム12と、特定部111gによって特定された物品Aの画像に基づき、ロボットハンド13及びロボットアーム12の動作を制御する制御装置100とを備える。上記構成によると、実施の形態に係る撮像装置40と同様の効果が得られる。
また、撮像装置40は、特定部111gによって特定された物品Aの画像と推定平面の角度とを用いて、物品Aの3次元の位置及び姿勢を検出し、制御装置100は、物品Aの3次元の位置及び姿勢に基づき、ロボットハンド13及びロボットアーム12の動作を制御してもよい。上記構成によると、ロボット10は、物品Aの画像を用いて検出された物品Aの3次元の位置及び姿勢に基づき、ロボットハンド13及びロボットアーム12を用いて、物品Aに対する動作を行うことができる。
また、実施の形態に係るロボットシステム1は、ロボット10と、ロボット10を操作するための操作装置としての入力装置20とを備える。上記構成によると、実施の形態に係るロボット10と同様の効果が得られる。
(変形例1)
実施の形態の変形例1を説明する。変形例1に係る制御装置100の画像処理部111Aは、サイズ推定部111iを含む点で実施の形態と異なる。以下、変形例1について、実施の形態と異なる点を中心に説明し、実施の形態と同様の点の説明を適宜省略する。
図11は、変形例1に係る画像処理部111Aの機能的構成の一例を示すブロック図である。図11に示すように、画像処理部111Aは、実施の形態に係る画像処理部111に対して、サイズ推定部111iをさらに機能的構成要素として含む。本変形例では、記憶部115は、ロボット10が移動し得る対象の物品の形状及びサイズの情報を格納する。物品のサイズは、物品の実物のサイズである。
サイズ推定部111iは、記憶部115に格納された物品のサイズである第一サイズを用いて、第一画像IAa及びIAb上での物品A1のサイズである第二サイズを推定する。具体的には、距離検出部111bは、第二画像IBa又はIBb上の少なくとも2つの画素に対応する3次元位置を検出する。サイズ推定部111iは、当該少なくとも2つの画素に対応する3次元位置と、第二画像IBa又はIBb上における当該少なくとも2つの画素の2次元位置とを比較することで、実像と当該画像上での像との間でのサイズの比率を算出する。サイズ推定部111iは、上記比率と物品A1の第一サイズとを用いて、物品A1の第二サイズを推定する。
また、特定部111gは、輪郭推定部111eによって推定された物品A1の輪郭形状と、物品A1の第二サイズとを用いて、第一画像IAa又はIAb上で物品A1を特定する。具体的には、特定部111gは、第二サイズに対応するように物品A1の輪郭形状のサイズを決定し、決定されたサイズ及びその近傍のサイズの輪郭形状を用いて、第一画像IAa又はIAbのエッジ画像上において物品A1を示すエッジを特定する。特定部111gは、エッジ画像上での当該エッジの位置に基づき、第一画像IAa又はIAb上で物品A1の位置を特定する。
変形例1に係るロボットシステム1の動作を説明する。図12は、変形例1に係るロボットシステム1の動作の一例を示すフローチャートである。図12に示すように、ステップS201〜S206の処理はそれぞれ、実施の形態におけるステップS101〜S106と同様である。なお、ステップS201の前又はステップS201において、オペレータ等は、物品A1の形状及びサイズを示す情報を少なくとも含む物品A1の情報を、入力装置20を介して入力してもよい。また、ステップS203において、制御装置100の画像処理部111Aは、第二画像IBa及びIBb間の互いに対応する全ての画素のペアについて、当該画素のペアに対応する3次元位置を検出する。
ステップS207において、画像処理部111Aは、第二画像IBa及びIBbの各画素に対応する3次元位置と、当該画像上での各画素の2次元位置と、物品A1の第一サイズとを用いて、第一画像IAa及びIAb上での物品A1の第二サイズを推定する。また、ステップS208、S210及びS211の処理はそれぞれ、実施の形態におけるステップS107、S109及びS110と同様である。
ステップS209において、画像処理部111Aは、物品A1の輪郭形状及び第二サイズを用いて、第一画像IAa又はIAb上で物品A1を特定する。
上述のような変形例1によれば、実施の形態と同様の効果が得られる。さらに、変形例1に係る画像処理部111Aは、カメラ41が撮像した画像上における物品Aのサイズである第二サイズを推定するサイズ推定部111iを備え、記憶部115は、物品Aの実際のサイズである第一サイズを記憶し、距離検出部111bは、対象領域内に写し出される部位での距離を用いて、当該部位での3次元位置を検出してもよい。さらに、サイズ推定部111iは、当該部位での3次元位置と、カメラ41が撮像した画像上における当該部位の2次元位置と、第一サイズとを用いて、第二サイズを推定し、特定部111gは、物品Aの輪郭及び第二サイズを用いて、物品Aを特定してもよい。上記構成によると、物品Aは、物品Aの輪郭と画像上での物品Aのサイズとを用いて画像上で特定される。よって、物品Aの特定精度が向上する。さらに、物品Aを特定するための処理量の低減も可能になる。
(変形例2)
実施の形態の変形例2を説明する。変形例2に係る制御装置100の画像処理部111Bは、方向決定部111jを含む点で実施の形態と異なる。以下、変形例2について、実施の形態及び変形例1と異なる点を中心に説明し、実施の形態及び変形例1と同様の点の説明を適宜省略する。
図13は、変形例2に係る画像処理部111Bの機能的構成の一例を示すブロック図である。図13に示すように、画像処理部111Bは、実施の形態に係る画像処理部111に対して、方向決定部111jをさらに機能的構成要素として含む。
方向決定部111jは、平面推定部111cによって推定された推定平面と垂直な方向である第一方向にカメラ41の光軸方向を合わせるようにカメラ41を方向付ける。具体的には、方向決定部111jは、推定平面と垂直な第一方向にカメラ41a及び41bの光軸中心LAa及びLAbの方向を決定する。さらに、方向決定部111jは、光軸中心LAa及びLAbの方向と第一方向とが一致するようにカメラ41a及び41bを方向付ける指令と、方向付け後にカメラ41a及び41bに撮像させる指令とを撮像制御部401に出力する。方向付け後、カメラ41a及び41bが物品A1に向き、光軸中心LAa及びLAbは推定平面に垂直である。
撮像制御部401は、アーム制御部112に指令を出力してロボットアーム12を動作させることで、カメラ41a及び41bを所望の向きに方向付けてもよい。また、カメラ41は、カメラ41の向きを任意に変更することができる図示しないシンバルを介してロボットアーム12に配置され、撮像制御部401がシンバルの動作を制御し、カメラ41a及び41bを所望の向きに方向付けてもよい。撮像制御部401は、方向付け後、カメラ41a及び41bに物品A1の画像である第三画像を撮像させ、第三画像を輪郭推定部111eに出力する。撮像制御部401は、第三画像を記憶部115に格納してもよい。
輪郭推定部111eは、記憶部115に記憶される物品A1の形状を用いて、第三画像に写し出される物品A1の輪郭を推定する。輪郭推定部111eは、物品A1上の平面と光軸中心LAa及びLAbとが垂直である場合の物品A1の姿勢を算出する。さらに、輪郭推定部111eは、物品A1の形状に基づき、算出された姿勢にある物品A1をカメラ座標系のXY平面に投影した像の輪郭形状を算出する。物品A1上の平面と光軸中心LAa及びLAbとが垂直である場合に算出され得る輪郭形状の数量は、垂直でない場合よりも少なくなる。このため、特定部111gの処理量が低減され得る。
変形例2に係るロボットシステム1の動作を説明する。図14は、変形例2に係るロボットシステム1の動作の一例を示すフローチャートである。図14に示すように、ステップS301〜S305の処理はそれぞれ、実施の形態におけるステップS101〜S105と同様である。
ステップS306において、制御装置100の画像処理部111Bは、ステップS305において推定された推定平面の角度に合わせてカメラ41を方向付ける。具体的には、画像処理部111Bは、カメラ41a及び41bの光軸中心LAa及びLAbの方向が推定平面に対して垂直となる方向にカメラ41a及び41bを方向付ける指令を撮像制御部401に出力する。本例では、撮像制御部401は、アーム制御部112に指令を出力してロボットアーム12を動作させることで、カメラ41a及び41bを上記方向に方向付ける。次いで、撮像制御部401は、方向付け完了後のカメラ41a及び41bに物品A1を撮像させ、物品A1を含む第三画像を取得する(ステップS307)。
次いで、画像処理部111Bは、第三画像上での物品A1の輪郭を推定する(ステップS308)。具体的には、画像処理部111Bは、物品A1上の平面が光軸中心LAa及びLAbと垂直である場合の物品A1を第三画像に投影した像の輪郭形状を推定する。本例では、物品A1の輪郭形状は矩形である。次いで、画像処理部111Bは、第三画像上でエッジを抽出することでエッジ画像を生成する(ステップS309)。さらに、画像処理部111Bは、エッジ画像と物品A1の輪郭形状とを用いて、第三画像上で物品A1を特定する(ステップS310)。
次いで、画像処理部111Bは、第三画像上での物品A1の画像を用いて、物品A1の3次元の位置及び姿勢を検出する(ステップS311)。具体的には、画像処理部111Bは、第二画像の場合と同様に、カメラ41a及び41bの2つの第三画像を用いたステレオ視により、物品A1の3次元の位置及び姿勢を検出する。また、ステップS312の処理は、実施の形態におけるステップS110と同様である。
上述のような変形例2によれば、実施の形態と同様の効果が得られる。さらに、変形例2に係る画像処理部111Bは、平面推定部111cによって推定された推定平面と垂直な方向である第一方向にカメラ41の光軸の方向を合わせるようにカメラ41を方向付ける方向決定部111jを備え、輪郭推定部111eは、光軸が第一方向に方向付けられたカメラ41が物品Aを撮像した第三画像に写し出される物品Aの輪郭を、記憶部115に記憶される物品Aの形状を用いて推定してもよい。上記構成によると、カメラ41は、光軸の方向が推定平面及び物品A上の平面と垂直である第一方向となるように方向付けられる。このようなカメラ41が撮像した第三画像上での物品Aの輪郭は、物品A上の当該平面を正面から見た場合の輪郭を示す。よって、物品Aの輪郭の推定精度の向上及びその処理量の低減が可能になる。
(変形例3)
実施の形態の変形例3を説明する。変形例3に係る制御装置100の画像処理部111Cは、サイズ推定部111iを含む点で変形例2と異なる。以下、変形例3について、実施の形態及び変形例1〜2と異なる点を中心に説明し、実施の形態及び変形例1〜2と同様の点の説明を適宜省略する。
図15は、変形例3に係る画像処理部111Cの機能的構成の一例を示すブロック図である。図15に示すように、画像処理部111Cは、変形例2に係る画像処理部111Bに対して、サイズ推定部111iをさらに機能的構成要素として含む。サイズ推定部111iの構成は、変形例1と同様である。
変形例3に係るロボットシステム1の動作を説明する。図16は、変形例3に係るロボットシステム1の動作の一例を示すフローチャートである。図16に示すように、ステップS401〜S405の処理はそれぞれ、変形例2におけるステップS301〜S305と同様である。ステップS406の処理は、変形例1におけるステップS207と同様である。ステップS407〜S410の処理はそれぞれ、変形例2におけるステップS306〜S309と同様である。
ステップS411において、制御装置100の画像処理部111Cは、ステップS409で推定された第三画像上での物品A1の輪郭形状と、ステップS406で推定された第一画像上での物品A1の第二サイズとを用いて、第三画像で物品A1を特定する。具体的には、画像処理部111Cは、第二サイズに対応するように物品A1の輪郭形状のサイズを決定し、決定されたサイズ及びその近傍のサイズの物品A1の輪郭形状を用いて、第三画像のエッジ画像上において物品A1を示すエッジを特定する。画像処理部111Cは、エッジ画像上での当該エッジの位置に基づき、第三画像上で物品A1の位置を特定する。また、ステップS412及びS413の処理はそれぞれ、変形例2におけるステップS311及びS312と同様である。そして、上述のような変形例3によれば、変形例1及び2と同様の効果が得られる。
(変形例4)
実施の形態の変形例4を説明する。変形例4に係る制御装置100の画像処理部111Dは、表面領域抽出部111kを含む点で実施の形態と異なる。以下、変形例4について、実施の形態及び変形例1〜3と異なる点を中心に説明し、実施の形態及び変形例1〜3と同様の点の説明を適宜省略する。
図17は、変形例4に係る画像処理部111Dの機能的構成の一例を示すブロック図である。図17に示すように、画像処理部111Dは、実施の形態に係る画像処理部111に対して、表面領域抽出部111kをさらに機能的構成要素として含む。本変形例では、記憶部115は、ロボット10が移動し得る対象物品の表面状態の情報を格納する。物品の表面状態の情報は、物品の表面の色及びテクスチャ等の表面状態を表す表面要素の情報である。
表面領域抽出部111kは、画像上において、対象物品である物品A1の表面状態に対応する像を写し出す領域である表面領域を抽出する。具体的には、表面領域抽出部111kは、物品A1の表面状態と同様の状態の像を写し出す表面領域を抽出する。
例えば、表面領域抽出部111kは、物品A1の表面の色と同様の色を写し出す表面領域を抽出する。この場合、表面領域抽出部111kは、画像内の画素を順に走査し、物品A1の表面の色と同じ又は類似する色を表す輝度値の画素を抽出画素として抽出する。さらに、表面領域抽出部111kは、隣り合う抽出画素の一群が形成する領域を表面領域として抽出する。例えば、表面領域抽出部111kは、所定の数量以上の抽出画素を含む領域を表面領域としてもよい。所定の数量は、物品A1の構成、及びカメラ41から物品A1までの距離等に応じて決められてもよい。
例えば、表面領域抽出部111kは、物品A1の表面のテクスチャと同様のテクスチャを写し出す表面領域を抽出する。この場合、表面領域抽出部111kは、物品A1の表面のテクスチャの特徴量と同じ又は類似する特徴量のテクスチャを表す領域を抽出する。具体的には、表面領域抽出部111kは、走査枠を移動させて画像全体を走査し、走査中の各検出位置において、走査枠内の画素が形成するテクスチャの特徴量を検出する。検出位置は、全ての検出位置での走査枠全体が画像全体を覆うように配置されてもよい。例えば、検出位置は、隣り合う検出位置の走査枠が互いに隣接する又は部分的に重なるように配置されてもよい。
表面領域抽出部111kは、記憶部115に記憶される物品A1の表面のテクスチャの特徴量と、各検出位置での走査枠内のテクスチャ特徴量とを比較し、テクスチャの同一、類似及び非類似を判定する。表面領域抽出部111kは、テクスチャが同一又は類似である検出位置での走査枠内の領域を表面領域とする。走査枠の大きさは、表面領域とみなすことができるような所定の数量以上の画素を含む大きさとされてもよい。
表面領域抽出部111kは、色及びテクスチャ等の表面要素の少なくとも1つが対象物品A1の表面状態と同一又は類似する領域を表面領域に決定してもよい。
また、特定部111gは、輪郭推定部111eによって推定された物品A1の輪郭形状と、表面領域抽出部111kによって抽出された表面領域とを用いて、第一画像IAa又はIAb上で物品A1を特定する。具体的には、特定部111gは、表面領域を構成する画素の画素座標に基づき、第一画像IAa又はIAbのエッジ画像上で表面領域を特定する。さらに、特定部111gは、当該エッジ画像上において、表面領域の近傍のエッジを抽出する。表面領域の近傍のエッジは、表面領域と重なるエッジ、表面領域と隣り合うエッジ、表面領域から所定距離以内のエッジ、及び、表面領域の少なくとも一部を囲むエッジ等を含んでもよい。特定部111gは、抽出されたエッジの形状と、物品A1の輪郭形状とを比較しパターンマッチングすることで、物品A1を示すエッジを特定する。特定部111gは、エッジ画像上での当該エッジの位置に基づき、第一画像IAa又はIAb上で物品A1の位置を特定する。
変形例4に係るロボットシステム1の動作を説明する。図18は、変形例4に係るロボットシステム1の動作の一例を示すフローチャートである。図18に示すように、ステップS501〜S506の処理はそれぞれ、実施の形態におけるステップS101〜S106と同様である。
ステップS507において、制御装置100の画像処理部111Dは、第一画像IAa又はIAb上で、物品A1の表面状態に対応する像を写し出す表面領域を抽出する。次いで、ステップS508において、画像処理部111Dは、第一画像IAa又はIAbのエッジ画像を生成する。次いで、ステップS509において、画像処理部111Dは、エッジ画像と、物品A1の輪郭形状と、物品A1の表面状態に対応する表面領域の情報とを用いて、第一画像IAa又はIAb上で物品A1を特定する。また、ステップS510及びS511の処理はそれぞれ、実施の形態におけるステップS109及びS110と同様である。
上述のような変形例4によれば、実施の形態と同様の効果が得られる。さらに、変形例4に係る画像処理部111Dは、カメラ41が撮像した画像上で物品Aの表面状態に対応する表面領域を抽出する表面領域抽出部111kを備え、表面領域抽出部111kは、記憶部115に記憶される表面状態の情報を用いて上記表面領域を抽出し、特定部111gは、物品Aの輪郭及び表面領域を用いて、物品Aを特定してもよい。上記構成によると、物品Aは、物品Aの輪郭と物品Aに対応する表面領域とを用いて画像上で特定される。よって、物品Aの特定精度が向上する。なお、画像処理部111Dの表面領域抽出部111kを用いた処理が、変形例1〜3に適用されてもよい。
(変形例5)
実施の形態の変形例5を説明する。変形例5に係る制御装置100の画像処理部111Eは、画像内で他の物品を探索するように構成される点で実施の形態と異なる。以下、変形例5について、実施の形態及び変形例1〜4と異なる点を中心に説明し、実施の形態及び変形例1〜4と同様の点の説明を適宜省略する。
図19は、変形例5に係る画像処理部111Eの機能的構成の一例を示すブロック図である。図19に示すように、画像処理部111Eは、実施の形態に係る画像処理部111に対して、周辺探索部111pをさらに機能的構成要素として含む。
周辺探索部111pは、第一画像IAa及びIAbの少なくとも一方において、特定部111gによって特定された物品A1の像の周囲を探索することで、物品A1と同様の他の物品Aの像を検出する。具体的には、周辺探索部111pは、第一画像IAa又はIAbのエッジ画像上において、物品A1の像の周囲のエッジの形状と、輪郭推定部111eによって推定された物品A1の輪郭形状とを比較しパターンマッチングすることで、他の物品Aを示すエッジを特定する。これに限定されないが、本実施の形態では、周辺探索部111pは、物品A1上の平面の姿勢と他の物品A上の平面の姿勢とが同様であるとみなすことで、他の物品Aのエッジを特定する。
例えば、図7の第一画像IAa及びIAbに示すように、対象領域TAに写し出される物品A1の周囲において、全体が写し出される物品Aと、一部が写し出される物品Aとが存在し得る。このため、周辺探索部111pは、全体形状及び部分形状のパターンマッチングを行う。
周辺探索部111pは、特定された他の物品Aのエッジの位置に基づき、第一画像IAa及びIAb上で他の物品Aの位置を特定する。さらに、周辺探索部111pは、第一画像IAa及びIAb上での他の物品Aの位置情報を撮像制御部401に出力する。物品Aの位置情報は、当該物品Aの中心、角又は辺等の特定部位の位置を示す情報であり、例えば、画素座標で表されてもよい。周辺探索部111pは、複数の物品Aを検出した場合、1つの物品Aの位置情報を出力してもよく、2つ以上の物品Aの位置情報を出力してもよい。例えば、周辺探索部111pは、1つの物品Aの位置情報を出力する場合、物品A1から最も近い物品Aを出力対象に決定してもよく、上下方向又は左右方向等の予め設定された物品Aの移動順序に従って出力対象の物品Aを決定してもよい。
ロボット10による物品A1の移動後、撮像制御部401は、周辺探索部111pから受け取った位置情報の対象の物品Aが画像の中心となるようにカメラ41a及び41bを方向付け、上記物品Aを撮像させる。このようなカメラ41a及び41bによって撮像された画像において、上記物品Aは対象領域TAに写し出され、画像処理部111Eによる処理を受け得る。
上述のような変形例5によれば、実施の形態と同様の効果が得られる。さらに、変形例5に係る画像処理部111Eは、第一画像上で、特定部111gによって特定された物品A1の周囲を探索する周辺探索部111pを備える。さらに、周辺探索部111pは、輪郭推定部111eによって推定された物品A1の輪郭を用いて、物品A1に類似する他の物品Aを探索し、第一画像上での他の物品Aの位置を検出する。上記構成によると、画像処理部111Eは、物品A1と類似する物品Aの像及びその位置を第一画像上で検出することができる。撮像制御部401は、物品Aの位置に基づき、物品A1の次の移動対象として、カメラ41に物品Aを撮像させることができる。さらに、画像処理部111Eは、輪郭推定部111eによって推定された物品A1の輪郭を探索に用いるため、その処理量を低く抑えることができる。なお、画像処理部111Eの周辺探索部111pを用いる処理が、変形例1〜4に適用されてもよい。
<その他の実施の形態>
以上、本発明の実施の形態の例について説明したが、本発明は、上記実施の形態及び変形例に限定されない。すなわち、本発明の範囲内で種々の変形及び改良が可能である。例えば、各種変形を実施の形態及び変形例に施したもの、及び、異なる実施の形態及び変形例における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
例えば、実施の形態及び変形例において、カメラ41は複眼カメラを含む構成であり、具体的にはステレオカメラを含む構成であったが、これに限定されない。例えば、カメラ41は、単眼カメラ、TOFカメラ(トフカメラ:Time-of-Flight-Camera)、縞投影等のパターン光投影カメラ、又は光切断法を用いたカメラ等を含む構成であってもよい。例えば、カメラ41が単眼カメラを含む構成である場合、カメラ41はレーザ又はライダ(Lidar)等の測距装置をさらに含んでもよい。この場合、画像処理部は、カメラ画像内における測距装置の光線の位置と、測距装置の計測結果とに基づき、光線の照射先の位置とカメラ41との距離、及び、光線の照射先の3次元位置を検出してもよい。又は、カメラ41が測距装置を含まない場合、画像処理部は、単眼カメラの撮像位置の変化に伴う、カメラ画像に写し出される被写体の形状及びサイズ等の変化に基づき、カメラ41と当該被写体との距離、及び当該被写体の3次元位置を検出してもよい。
また、実施の形態及び変形例に係るロボットシステム1において、入力装置20及びロボット10の数量及び構成は、いかなる数量及び構成であってもよい。例えば、ロボットシステム1は、1つ以上の入力装置20と1つ以上のロボット10とを備えてもよい。また、ロボット10は、1つ以上のロボットアーム12を備えてもよい。また、ロボット10は、垂直多関節型の産業用ロボットに限定されず、例えば、水平多関節型、極座標型、円筒座標型、直角座標型、垂直多関節型、又はその他の形式の産業用ロボットとして構成されてもよい。さらに、ロボット10は、産業用ロボット以外のロボットであってもよく、サービスロボット、建設機械、クレーン、荷役搬送車、及びヒューマノイド等であってもよい。サービスロボットは、介護、医療、清掃、警備、案内、救助、調理、商品提供等の様々なサービス業で使用されるロボットである。
また、上記で用いた序数、数量等の数字は、全て本発明の技術を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。また、構成要素間の接続関係及びステップの順序は、本発明の技術を具体的に説明するために例示するものである。本発明の機能を実現する構成要素間の接続関係及びステップの順序は、実施の形態及び変形例に限定されず、変更又は入れ替え可能である。
また、機能ブロック図におけるブロックの分割は一例であり、複数のブロックを1つのブロックとして実現する、1つのブロックを複数に分割する、及び/又は、一部の機能を他のブロックに移してもよい。また、類似する機能を有する複数のブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
1 ロボットシステム
10 ロボット
12 ロボットアーム
13 ロボットハンド(エンドエフェクタ)
20 入力装置(操作装置)
40 撮像装置
41,41a,41b カメラ
100 制御装置(画像処理装置)
111,111A,111B,111C 画像処理部
111a 抽出部
111b 距離検出部
111c 平面推定部
111d 角度検出部
111e 輪郭推定部
111f エッジ抽出部
111g 特定部
111h 被写体検出部
111i サイズ推定部
111j 方向決定部
111k 表面領域抽出部
111p 周辺探索部

Claims (13)

  1. 画像を処理する画像処理装置であって、
    被写体の形状を記憶する記憶部と、
    カメラが前記被写体を撮像した第一画像から、一部の領域である対象領域の第二画像を抽出する抽出部と、
    前記第二画像を処理することで、前記対象領域内に写し出される少なくとも3つの部位から前記カメラまでの距離を検出する距離検出部と、
    前記少なくとも3つの部位での距離を用いて前記対象領域内に写し出される平面を推定する平面推定部と、
    前記カメラの光軸に対する前記平面の角度を検出する角度検出部と、
    前記記憶部に記憶される前記被写体の形状と、前記平面の角度とを用いて、前記第一画像に写し出される前記被写体の輪郭である被写体輪郭を推定する輪郭推定部と、
    前記被写体輪郭を用いて、前記第一画像上で前記被写体を特定する特定部とを備える
    画像処理装置。
  2. 前記輪郭推定部は、前記記憶部に記憶される前記被写体の形状を前記平面の角度に対応して変形させた形状を、前記被写体輪郭として推定する
    請求項1に記載の画像処理装置。
  3. 前記輪郭推定部は、前記平面の角度を、前記カメラの光軸に対する前記被写体の姿勢を示す角度として用いて、前記被写体輪郭を推定する
    請求項2に記載の画像処理装置。
  4. 画像を処理する画像処理装置であって、
    被写体の形状を記憶する記憶部と、
    カメラが前記被写体を撮像した第一画像から、一部の領域である対象領域の第二画像を抽出する抽出部と、
    前記第二画像を処理することで、前記対象領域内に写し出される少なくとも3つの部位から前記カメラまでの距離を検出する距離検出部と、
    前記少なくとも3つの部位での距離を用いて前記対象領域内に写し出される平面を推定する平面推定部と、
    前記カメラの光軸に対する前記平面の角度を検出する角度検出部と、
    前記平面と垂直な方向である第一方向に前記カメラの光軸の方向を合わせるように前記カメラを方向付ける方向決定部と、
    前記光軸が前記第一方向に方向付けられた前記カメラが前記被写体を撮像した第三画像に写し出される前記被写体の輪郭である被写体輪郭を、前記記憶部に記憶される前記被写体の形状を用いて推定する輪郭推定部と、
    前記被写体輪郭を用いて、前記第三画像上で前記被写体を特定する特定部とを備える
    画像処理装置。
  5. 画像からエッジを抽出するエッジ抽出部をさらに備え、
    前記特定部は、前記エッジの形状と前記被写体輪郭とを比較することで、前記被写体を特定する
    請求項1〜4のいずれか一項に記載の画像処理装置。
  6. 前記カメラが撮像した画像上における前記被写体のサイズである第二サイズを推定するサイズ推定部をさらに備え、
    前記記憶部は、前記被写体の実際のサイズである第一サイズを記憶し、
    前記距離検出部は、前記部位での距離を用いて、前記部位での3次元位置を検出し、
    前記サイズ推定部は、前記部位での3次元位置と、前記カメラが撮像した画像上における前記部位の2次元位置と、前記第一サイズとを用いて、前記第二サイズを推定し、
    前記特定部は、前記被写体輪郭と前記第二サイズとを用いて、前記被写体を特定する
    請求項1〜5のいずれか一項に記載の画像処理装置。
  7. 前記特定部によって特定された前記被写体の画像と前記平面の角度とを用いて、前記被写体の3次元の位置及び姿勢を検出する被写体検出部をさらに備える
    請求項1〜6のいずれか一項に記載の画像処理装置。
  8. 前記第一画像上で前記被写体の表面状態に対応する表面領域を抽出する表面領域抽出部をさらに備え、
    前記記憶部は、前記被写体の表面状態の情報を記憶し、
    前記表面領域抽出部は、前記記憶部に記憶された前記表面状態の情報を用いて前記表面領域を抽出し、
    前記特定部は、前記被写体輪郭及び前記表面領域を用いて、前記第一画像上で前記被写体を特定する
    請求項1〜7のいずれか一項に記載の画像処理装置。
  9. 前記第一画像上で、前記特定部によって特定された前記被写体の周囲を探索する周辺探索部をさらに備え、
    前記周辺探索部は、前記被写体輪郭を用いて、前記被写体と類似する他の被写体を検出する
    請求項1〜8のいずれか一項に記載の画像処理装置。
  10. カメラと、
    前記カメラが撮像した画像を処理する請求項1〜9のいずれか一項に記載の画像処理装置とを備える
    撮像装置。
  11. 請求項10に記載の撮像装置と、
    物品に対して処理動作を行うエンドエフェクタを有するロボットアームと、
    前記特定部によって特定された前記被写体としての前記物品の画像に基づき、前記エンドエフェクタ及び前記ロボットアームの動作を制御する制御装置とを備える
    ロボット。
  12. 前記撮像装置は、前記特定部によって特定された前記物品の画像と前記平面の角度とを用いて、前記物品の3次元の位置及び姿勢を検出し、
    前記制御装置は、前記物品の3次元の位置及び姿勢に基づき、前記エンドエフェクタ及び前記ロボットアームの動作を制御する
    請求項11に記載のロボット。
  13. 請求項11または12に記載のロボットと、
    前記ロボットを操作するための操作装置とを備える
    ロボットシステム。
JP2019154074A 2019-08-26 2019-08-26 画像処理装置、撮像装置、ロボット及びロボットシステム Active JP7453762B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019154074A JP7453762B2 (ja) 2019-08-26 2019-08-26 画像処理装置、撮像装置、ロボット及びロボットシステム
PCT/JP2020/031992 WO2021039775A1 (ja) 2019-08-26 2020-08-25 画像処理装置、撮像装置、ロボット及びロボットシステム
CN202080060123.8A CN114341930A (zh) 2019-08-26 2020-08-25 图像处理装置、拍摄装置、机器人以及机器人系统
US17/638,218 US20220292702A1 (en) 2019-08-26 2020-08-25 Image processor, imaging device, robot and robot system
DE112020003605.7T DE112020003605T5 (de) 2019-08-26 2020-08-25 Bildverarbeitungseinrichtung, abbildungsvorrichtung, roboter und robotersystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019154074A JP7453762B2 (ja) 2019-08-26 2019-08-26 画像処理装置、撮像装置、ロボット及びロボットシステム

Publications (2)

Publication Number Publication Date
JP2021033712A true JP2021033712A (ja) 2021-03-01
JP7453762B2 JP7453762B2 (ja) 2024-03-21

Family

ID=74678289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019154074A Active JP7453762B2 (ja) 2019-08-26 2019-08-26 画像処理装置、撮像装置、ロボット及びロボットシステム

Country Status (5)

Country Link
US (1) US20220292702A1 (ja)
JP (1) JP7453762B2 (ja)
CN (1) CN114341930A (ja)
DE (1) DE112020003605T5 (ja)
WO (1) WO2021039775A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT202000006856A1 (it) * 2020-04-01 2021-10-01 Daniele Bernardini Sistema automatizzato per l’acquisizioni di immagini per il training automatizzato di algoritmi di intelligenza artificiale per il riconoscimento di oggetti
JP2022144478A (ja) * 2021-03-19 2022-10-03 川崎重工業株式会社 ウエハ搬送ロボット及びウエハ取出方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009241247A (ja) 2008-03-10 2009-10-22 Kyokko Denki Kk ステレオ画像型検出移動装置
US20150262346A1 (en) 2012-10-18 2015-09-17 Konica Minolta, Inc. Image processing apparatus, image processing method, and image processing program
JP2015076026A (ja) 2013-10-11 2015-04-20 キヤノン株式会社 パターンマッチング装置及びパターンマッチング方法
JP2017039189A (ja) 2015-08-20 2017-02-23 株式会社東芝 配置検出装置およびピッキング装置

Also Published As

Publication number Publication date
JP7453762B2 (ja) 2024-03-21
WO2021039775A1 (ja) 2021-03-04
US20220292702A1 (en) 2022-09-15
DE112020003605T5 (de) 2022-05-05
CN114341930A (zh) 2022-04-12

Similar Documents

Publication Publication Date Title
US9679385B2 (en) Three-dimensional measurement apparatus and robot system
JP5897624B2 (ja) ワークの取出工程をシミュレーションするロボットシミュレーション装置
JP4309439B2 (ja) 対象物取出装置
JP6855492B2 (ja) ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法
JP2018176334A (ja) 情報処理装置、計測装置、システム、干渉判定方法および物品の製造方法
JP2013184279A (ja) 情報処理装置、情報処理方法
CN111151463A (zh) 一种基于3d视觉的机械臂分拣抓取系统及方法
JP2014205209A (ja) ロボットシステム、及びロボットシステムの制御方法
WO2021039775A1 (ja) 画像処理装置、撮像装置、ロボット及びロボットシステム
JP2012030320A (ja) 作業システム、作業ロボット制御装置および作業プログラム
JP2018144144A (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
JP6598814B2 (ja) 情報処理装置、情報処理方法、プログラム、システム、および物品製造方法
CN111225143B (zh) 图像处理装置及其控制方法以及程序存储介质
JP2019089180A (ja) ロボット及びロボットシステム
KR20110095700A (ko) 작업대상물 픽업을 위한 산업용 로봇 제어방법
JP2008168372A (ja) ロボット装置及び形状認識方法
US11607803B2 (en) Image information processing device, gripping system, and image information processing method
US20210197391A1 (en) Robot control device, robot control method, and robot control non-transitory computer readable medium
JP2018146347A (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
CN116175542B (zh) 确定夹具抓取顺序的方法、装置、电子设备和存储介质
EP4245480A1 (en) Measuring system, measuring device, measuring method, and measuring program
CN116197887B (zh) 生成抓取辅助图像的图像数据处理方法、装置、电子设备和存储介质
US20230264352A1 (en) Robot device for detecting interference of constituent member of robot
CN116188559A (zh) 图像数据处理方法、装置、电子设备和存储介质
Macias Visual and gesture guided robotic block stacking

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231218

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: 20240213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240308

R150 Certificate of patent or registration of utility model

Ref document number: 7453762

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150