JP2018051704A - ロボット制御装置、ロボット、及びロボットシステム - Google Patents

ロボット制御装置、ロボット、及びロボットシステム Download PDF

Info

Publication number
JP2018051704A
JP2018051704A JP2016191980A JP2016191980A JP2018051704A JP 2018051704 A JP2018051704 A JP 2018051704A JP 2016191980 A JP2016191980 A JP 2016191980A JP 2016191980 A JP2016191980 A JP 2016191980A JP 2018051704 A JP2018051704 A JP 2018051704A
Authority
JP
Japan
Prior art keywords
robot
evaluation value
calculated
gripping
virtual
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
Application number
JP2016191980A
Other languages
English (en)
Inventor
高志 南本
Takashi Minamimoto
高志 南本
一弘 小菅
Kazuhiro Kosuge
一弘 小菅
賢悟 山口
Kengo Yamaguchi
賢悟 山口
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 JP2016191980A priority Critical patent/JP2018051704A/ja
Priority to US15/716,927 priority patent/US10589424B2/en
Publication of JP2018051704A publication Critical patent/JP2018051704A/ja
Pending legal-status Critical Current

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/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0084Programme-controlled manipulators comprising a plurality of manipulators
    • B25J9/0087Dual arms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • 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/39344Cooperative impedance control, between fingers or arms

Abstract

【課題】対象物を安定してロボットに把持させることができるロボット制御装置を提供すること。
【解決手段】対象物の表面の三次元形状を表す三次元点群のうち前記対象物を把持するロボットの把持部に対応付けられた1以上の領域に含まれる部分点群に基づいて評価値を算出し、算出した前記評価値に基づき前記対象物を前記把持部に把持させる際の前記把持部の位置及び姿勢を算出し、算出した前記把持部の位置及び姿勢に基づいて前記対象物を前記把持部に把持させる、ロボット制御装置。
【選択図】図3

Description

この発明は、ロボット制御装置、ロボット、及びロボットシステムに関する。
ロボットに物体を把持させる動作を含む作業をロボットに行わせる技術の研究や開発が行われている。
これに関し、ロボット装置が具備する複数の腕部の各々について、対象物を把持する把持姿勢もしくは把持姿勢に至るまでの遷移姿勢を取る容易性を定量評価した把持容易性の指標を算出し、各腕部について算出された把持容易性の指標の値に基づいて、実際に対象物を把持するのに用いる腕部を選定するロボット装置が知られている(特許文献1参照)。
特開2013−111726号公報
しかしながら、このようなロボット装置では、三次元計測機を用いた対象物の三次元位置測定における誤差(不確かさ)が考慮されておらず、対象物の安定した把持を行えない場合があった。
上記課題の少なくとも一つを解決するために本発明の一態様は、対象物の表面の三次元形状を表す三次元点群のうち前記対象物を把持するロボットの把持部に対応付けられた1以上の領域に含まれる部分点群に基づいて評価値を算出し、算出した前記評価値に基づき前記対象物を前記把持部に把持させる際の前記把持部の位置及び姿勢を算出し、算出した前記把持部の位置及び姿勢に基づいて前記対象物を前記把持部に把持させる、ロボット制御装置である。
この構成により、ロボット制御装置は、対象物の表面の三次元形状を表す三次元点群のうち対象物を把持するロボットの把持部に対応付けられた1以上の領域に含まれる部分点群に基づいて評価値を算出し、算出した評価値に基づき対象物を把持部に把持させる際の把持部の位置及び姿勢を算出し、算出した把持部の位置及び姿勢に基づいて対象物を把持部に把持させる。これにより、ロボット制御装置は、対象物を安定してロボットに把持させることができる。
また、本発明の他の態様は、ロボット制御装置において、前記領域は、前記把持部に対応付けられた1以上の仮想的な点のそれぞれに基づく領域である、構成が用いられてもよい。
この構成により、ロボット制御装置では、対象物の表面の三次元形状を表す三次元点群のうち対象物を把持するロボットの把持部に対応付けられた1以上の領域は、把持部に対応付けられた1以上の仮想的な点のそれぞれに基づく領域である。これにより、ロボット制御装置は、把持部に対応付けられた1以上の仮想的な点のそれぞれに基づく領域に基づいて、対象物を安定してロボットに把持させることができる。
また、本発明の他の態様は、ロボット制御装置において、前記部分点群の密度と、前記部分点群を構成する点のばらつきを表す値との少なくとも一方に基づいて前記評価値を算出し、算出した前記評価値に基づき前記対象物を前記把持部に把持させる際の前記把持部の位置及び姿勢を算出する、構成が用いられてもよい。
この構成により、ロボット制御装置は、部分点群の密度と、当該部分点群を構成する点のばらつきを表す値との少なくとも一方に基づいて評価値を算出し、算出した評価値に基づき対象物を把持部に把持させる際の把持部の位置及び姿勢を算出する。これにより、ロボット制御装置は、部分点群の密度と、当該部分点群を構成する点のばらつきを表す値との少なくとも一方に基づいて算出した評価値に基づいて、対象物を安定してロボットに把持させることができる。
また、本発明の他の態様は、ロボット制御装置において、前記部分点群に基づいて前記対象物の前記把持部による把持の安定性を表す第1評価値、前記密度、前記値のそれぞれを算出し、算出した前記第1評価値に前記密度及び前記値に基づく重みを乗算した第2評価値を前記評価値として算出し、算出した当該評価値に基づいて、前記対象物を前記把持部に把持させる際の前記把持部の位置及び姿勢を算出する、構成が用いられてもよい。
この構成により、ロボット制御装置は、部分点群に基づいて対象物の把持部による把持の安定性を表す第1評価値、部分点群の密度、部分点群を構成する点のばらつきを表す値のそれぞれを算出し、算出した第1評価値に当該密度及び当該値に基づく重みを乗算した第2評価値を評価値として算出し、算出した当該評価値に基づいて、対象物を把持部に把持させる際の把持部の位置及び姿勢を算出する。これにより、ロボット制御装置は、第1評価値に部分点群の密度及び部分点群を構成する点のばらつきを表す値に基づく重みを乗算した第2評価値に基づいて、対象物を安定してロボットに把持させることができる。
また、本発明の他の態様は、上記に記載のロボット制御装置に制御される、ロボットである。
この構成により、ロボットは、対象物の表面の三次元形状を表す三次元点群のうち対象物を把持するロボットの把持部に対応付けられた1以上の領域に含まれる部分点群に基づいて評価値が算出され、算出された評価値に基づき対象物を把持部に把持させる際の把持部の位置及び姿勢が算出され、算出された把持部の位置及び姿勢に基づいて対象物を把持部によって把持する。これにより、ロボットは、対象物を安定して把持することができる。
また、本発明の他の態様は、上記に記載のロボット制御装置と、前記ロボット制御装置に制御される前記ロボットと、を備えるロボットシステムである。
この構成により、ロボットシステムは、対象物の表面の三次元形状を表す三次元点群のうち対象物を把持するロボットの把持部に対応付けられた1以上の領域に含まれる部分点群に基づいて評価値を算出し、算出した評価値に基づき対象物を把持部に把持させる際の把持部の位置及び姿勢を算出し、算出した把持部の位置及び姿勢に基づいて対象物を把持部に把持させる。これにより、ロボットシステムは、対象物を安定してロボットに把持させることができる。
以上により、ロボット制御装置、及びロボットシステムは、対象物の表面の三次元形状を表す三次元点群のうち対象物を把持するロボットの把持部に対応付けられた1以上の領域に含まれる部分点群に基づいて評価値を算出し、算出した評価値に基づき対象物を把持部に把持させる際の把持部の位置及び姿勢を算出し、算出した把持部の位置及び姿勢に基づいて対象物を把持部に把持させる。これにより、ロボット制御装置、及びロボットシステムは、対象物を安定してロボットに把持させることができる。
また、ロボットは、対象物の表面の三次元形状を表す三次元点群のうち対象物を把持するロボットの把持部に対応付けられた1以上の領域に含まれる部分点群に基づいて評価値が算出され、算出された評価値に基づき対象物を把持部に把持させる際の把持部の位置及び姿勢が算出され、算出された把持部の位置及び姿勢に基づいて対象物を把持部によって把持する。これにより、ロボットは、対象物を安定して把持することができる。
実施形態に係るロボットシステム1の構成の一例を示す図である。 ロボット制御装置30のハードウェア構成の一例を示す図である。 ロボット制御装置30の機能構成の一例を示す図である。 ロボット制御装置30がロボット20に所定の作業を行わせる処理の流れの一例を示すフローチャートである。 仮想空間VR内に配置された全周点群の一例を示す図である。 図5に示した仮想空間VR内において、ステップS150において選択された仮想把持位置に仮想把持部VHの位置が一致している様子の一例を示す図である。 図6に示した仮想指部VH1と仮想指部VH2との間の距離がステップS170において選択された指部間距離と一致している様子の一例を示す図である。 ステップS250において算出された把持位置姿勢に把持部Hの位置及び姿勢が一致した場合の対象物Oの部位であって指部H1及び指部H2のそれぞれが対象物Oに接触する部位の一例を示す図である。
<実施形態>
以下、本発明の実施形態について、図面を参照して説明する。
<ロボットシステムの構成>
まず、ロボットシステム1の構成について説明する。
図1は、実施形態に係るロボットシステム1の構成の一例を示す図である。ロボットシステム1は、1以上の撮像部と、ロボット20と、ロボット制御装置30を備える。以下では、一例として、ロボットシステム1が4台の撮像部である撮像部11〜撮像部14を備える場合について説明する。ただし、図1では、図を簡略化するため、撮像部11のみを示し、撮像部12〜撮像部14のそれぞれを省略している。
撮像部11〜撮像部14のそれぞれは、例えば、集光された光を電気信号に変換する撮像素子であるCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等を備えたステレオカメラである。この一例において、撮像部11〜撮像部14のそれぞれは、図1に示した作業台TBの上面に載置された対象物Oを互いに異なる方向からステレオ撮像可能な位置に設置される。撮像部11〜撮像部14のそれぞれが対象物Oをステレオ撮像する方向は、撮像部11〜撮像部14のそれぞれによって対象物Oの外から見える表面の一部又は全部がステレオ撮像される方向であれば如何なる方向であってもよい。当該表面は、作業台TBと接面している対象物Oの下面を除いた対象物Oの表面のことである。以下では、一例として、撮像部11〜撮像部14のそれぞれが対象物Oをステレオ撮像する方向が、撮像部11〜撮像部14のそれぞれによって対象物Oの外から見える表面の全部がステレオ撮像される方向である場合について説明する。この場合、作業台TBの上面に載置された対象物Oの外から見える表面は、撮像部11〜撮像部14のそれぞれによって余すところなくステレオ撮像される。換言すると、作業台TBの上面に載置された対象物Oの外から見える表面のうちの一部は、如何なる一部であっても撮像部11〜撮像部14のそれぞれがステレオ撮像した撮像画像のいずれかに含まれる。
撮像部11〜撮像部14のそれぞれは、ケーブルによってロボット制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB(Universal Serial Bus)等の規格によって行われる。なお、撮像部11〜撮像部14のうちの一部又は全部は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
ロボット20は、アームAと、アームAを支持する支持台Bを備える単腕ロボットである。単腕ロボットは、この一例におけるアームAのような1本のアーム(腕)を備えるロボットである。なお、ロボット20は、単腕ロボットに代えて、複腕ロボットであってもよい。複腕ロボットは、2本以上のアーム(例えば、2本以上のアームA)を備えるロボットである。なお、複腕ロボットのうち、2本のアームを備えるロボットは、双腕ロボットとも称される。すなわち、ロボット20は、2本のアームを備える双腕ロボットであってもよく、3本以上のアーム(例えば、3本以上のアームA)を備える複腕ロボットであってもよい。また、ロボット20は、スカラロボット、直交座標ロボット、円筒型ロボット等の他のロボットであってもよい。直交座標ロボットは、例えば、ガントリロボットである。
アームAは、エンドエフェクターEと、マニピュレーターMを備える。
エンドエフェクターEは、この一例において、物体を把持可能な指部H1及び指部H2を有する把持部Hを備えるエンドエフェクターである。指部H1と指部H2とは、把持部Hが有する面のうちマニピュレーターM側の面と反対側の面に設けられている。また、指部H1と指部H2とは、当該面に沿って互いに近づく方向又は遠ざかる方向へ移動可能に設けられている。これにより、把持部Hは、指部H1と指部H2との間の距離を変化させることにより、物体を把持すること(すなわち、掴むこと)ができる。この一例において、把持部Hの予め決められた位置には、把持部Hとともに動く三次元局所座標系である把持部座標系が対応付けられている。このため、把持部Hの位置は、把持部座標系の原点のロボット座標系RCにおける位置によって表される。また、把持部Hの姿勢は、把持部座標系における各座標軸のロボット座標系RCにおける方向によって表される。把持部Hの予め決められた位置は、例えば、把持部Hの重心の位置である。なお、把持部Hの予め決められた位置は、これに代えて、把持部Hに応じた他の位置であってもよい。なお、エンドエフェクターEは、把持部Hを備えるエンドエフェクターに代えて、空気の吸引や磁力、治具等によって物体を持ち上げることが可能なエンドエフェクターや、他のエンドエフェクターであってもよい。
エンドエフェクターEは、ケーブルによってロボット制御装置30と通信可能に接続されている。これにより、エンドエフェクターEは、ロボット制御装置30から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。また、エンドエフェクターEは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
マニピュレーターMは、6つの関節を備える。また、当該6つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、マニピュレーターMを備えるアームAは、6軸垂直多関節型のアームである。アームAは、支持台Bと、エンドエフェクターEと、マニピュレーターMと、マニピュレーターMが備える6つの関節それぞれのアクチュエーターとによる連携した動作によって6軸の自由度の動作を行う。なお、アームAは、5軸以下の自由度で動作する構成であってもよく、7軸以上の自由度で動作する構成であってもよい。
マニピュレーターMが備える6つの(関節に備えられた)アクチュエーターはそれぞれ、ケーブルによってロボット制御装置30と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置30から取得される制御信号に基づいて、マニピュレーターMを動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。また、マニピュレーターMが備える6つのアクチュエーターのうちの一部又は全部は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
ロボット制御装置30は、この一例において、ロボット20を制御する(動作させる)コントローラーである。ロボット制御装置30は、ロボット20を動作させ、ロボット20に所定の作業を行わせる。
なお、ロボットシステム1が1台の撮像部のみを備える場合、当該撮像部は、作業台TBの上面に載置された対象物Oを複数の方向から撮像可能な移動機構を備える。この場合、ロボット制御装置30は、当該移動機構を制御して当該撮像部を移動させ、複数の方向から対象物Oを当該撮像部にステレオ撮像させる。
<ロボットが行う所定の作業の概要>
以下、ロボット20が行う所定の作業の概要について説明する。
この一例において、ロボット20が作業可能な領域である作業領域には、前述した作業台TBが配置されている。また、作業台TBの上面には、対象物Oが載置されている。作業台TBは、例えば、テーブル等の台である。なお、作業台TBは、テーブルに代えて、床面や棚等の対象物Oを載置可能な他の物体であってもよい。対象物Oは、例えば、製品に組み付けるプレート、ネジ、ボルト等の産業用の部品や部材である。図1では、図の簡略化のため、対象物Oを、エンドエフェクターEにより把持可能な程度の大きさを有する直方体形状の物体として表している。なお、対象物Oは、産業用の部品や部材に代えて、日用品や生体等の他の物体であってもよい。また、対象物Oの形状は、直方体形状に代えて、他の形状であってもよい。
ロボット20は、アームAを動作させ、対象物Oを把持し、把持した対象物Oを図示しない給材領域に載置する作業を所定の作業として行う。なお、所定の作業は、これに代えて、対象物Oを把持する動作を含む作業であれば如何なる作業であってもよい。
<ロボット制御装置がロボットに所定の作業を行わせる処理の概要>
以下、ロボット制御装置30がロボット20に所定の作業を行わせる処理の概要について説明する。
ロボット制御装置30は、撮像部11〜撮像部14のそれぞれに対象物Oをステレオ撮像させる。ロボット制御装置30は、撮像部11によりステレオ撮像された撮像画像を撮像部11から第1撮像画像として取得する。また、ロボット制御装置30は、撮像部12によりステレオ撮像された撮像画像を撮像部12から第2撮像画像として取得する。また、ロボット制御装置30は、撮像部13によりステレオ撮像された撮像画像を撮像部13から第3撮像画像として取得する。また、ロボット制御装置30は、撮像部14によりステレオ撮像された撮像画像を撮像部14から第4撮像画像として取得する。
ロボット制御装置30は、取得した第1撮像画像〜第4撮像画像に基づいて、当該第1撮像画像〜第4撮像画像のそれぞれに含まれる対象物Oの三次元形状を表す三次元点群を生成する。より具体的には、ロボット制御装置30は、第1撮像画像〜第4撮像画像に基づいて、第1撮像画像〜第4撮像画像のそれぞれに含まれる対象物Oの外から見える表面の各点の三次元位置(三次元座標)を検出する。ロボット制御装置30は、検出した当該三次元位置に基づいて当該表面の三次元形状を表す点群である三次元点群のそれぞれを生成する。すなわち、各三次元点群を構成する各点は、三次元位置を示す。当該三次元位置は、ワールド座標系WCにおける三次元位置であってもよく、ロボット座標系RCにおける三次元位置であってもよく、他の三次元座標系における三次元位置であってもよい。以下では、一例として、ロボット制御装置30が第1撮像画像〜第4撮像画像のそれぞれに基づいて、第1撮像画像〜第4撮像画像のそれぞれに含まれる対象物Oの外から見える表面の各点のロボット座標系RCにおける三次元位置を検出する場合について説明する。なお、ロボット制御装置30が第1撮像画像〜第4撮像画像のそれぞれから三次元点群を生成する方法は、既知の方法であってもよく、これから開発される方法であってもよい。
ロボット制御装置30は、生成した4つの三次元点群に基づいて、作業台TBの上面に載置された対象物Oの外から見える表面全部の形状を表す三次元点群である全周点群を生成する。互いに異なる一部であって当該表面の一部の形状を表す4つの三次元点群に基づいて、当該表面全部の形状を表す三次元点群を生成する方法は、既知の方法であってもよく、これから開発される方法であってもよい。
ここで、ロボット制御装置30と異なるロボット制御装置(例えば、従来のロボット制御装置)は、例えば、生成した全周点群が表す対象物Oの形状に応じて、把持部Hに対象物Oを把持させる際の把持部Hの位置及び姿勢を算出し、算出した当該位置及び当該姿勢と把持部Hの位置及び姿勢を一致させてから対象物Oを把持部Hに把持させることができる。しかし、対象物Oの撮像条件、対象物Oの材質等によって撮像部11〜撮像部14のそれぞれによりステレオ撮像された第1撮像画像〜第4撮像画像のそれぞれに含まれる対象物Oの撮像状態に起因する誤差や、4つの三次元点群に基づいて全周点群を生成する際の誤差等により、全周点群は、対象物Oの外から見える表面の三次元形状を精度よく表していない場合がある。このような場合、当該ロボット制御装置は、対象物Oの安定した把持をロボット20に行わせることができないことがあった。対象物Oの把持が不安定な場合、把持部Hと把持部Hにより把持された対象物Oとの相対的な位置関係は、例えば、ロボット20が把持部Hにより対象物Oを把持してから対象物Oを給材領域に載置するまでの間に、ロボット20の動作に起因する振動等によって変化してしまう場合がある。その結果、当該ロボット制御装置は、ロボット20に所定の作業を精度よく行わせることができない場合がある。
そこで、この一例におけるロボット制御装置30は、対象物Oの安定した把持をロボット20に行わせるため、生成した全周点群のうち対象物Oを把持するロボット20の把持部Hに対応付けられた1以上の領域に含まれる部分点群に基づいて評価値を算出し、算出した評価値に基づき対象物Oを把持部Hに把持させる際の把持部Hの位置及び姿勢を算出し、算出した把持部Hの位置及び姿勢に基づいて対象物Oを把持部Hに把持させる。これにより、ロボット制御装置30は、対象物Oを安定してロボット20に把持させることができる。ここで、対象物Oを把持部Hに把持させる際の把持部Hのある位置及び姿勢の評価値は、当該位置及び当該姿勢に把持部Hの位置及び姿勢が一致した場合における把持部Hによる対象物Oの把持が安定している度合いを表す値である。当該評価値は、高い値であるほど、当該場合においてロボット20が安定して対象物Oを把持することができることを表している。
以下では、ロボット制御装置30がロボット20に所定の作業を行う処理のうち、ロボット制御装置30が生成した全周点群のうち対象物Oを把持するロボット20の把持部Hに対応付けられた1以上の領域に含まれる部分点群に基づいて評価値を算出する処理と、評価値に基づき対象物Oを把持部Hに把持させる際の把持部Hの位置及び姿勢を算出する処理とについて詳しく説明する。
<ロボット制御装置のハードウェア構成>
以下、図2を参照し、ロボット制御装置30のハードウェア構成について説明する。図2は、ロボット制御装置30のハードウェア構成の一例を示す図である。
ロボット制御装置30は、例えば、CPU(Central Processing Unit)31と、記憶部32と、入力受付部33と、通信部34と、表示部35を備える。これらの構成要素は、バスBusを介して相互に通信可能に接続されている。また、ロボット制御装置30は、通信部34を介して撮像部11、撮像部12、撮像部13、撮像部14、ロボット20のそれぞれと通信を行う。
CPU31は、記憶部32に格納された各種プログラムを実行する。
記憶部32は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、EEPROM(Electrically Erasable Programmable Read−Only Memory)、ROM(Read−Only Memory)、RAM(Random Access Memory)等を含む。なお、記憶部32は、ロボット制御装置30に内蔵されるものに代えて、USB等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部32は、ロボット制御装置30が処理する各種情報、各種プログラム、各種画像等を格納する。
入力受付部33は、例えば、キーボードやマウス、タッチパッド、その他の入力装置である。なお、入力受付部33は、これらに代えて、表示部35と一体に構成されたタッチパネルであってもよい。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
<ロボット制御装置の機能構成>
以下、図3を参照し、ロボット制御装置30の機能構成について説明する。図3は、ロボット制御装置30の機能構成の一例を示す図である。
ロボット制御装置30は、記憶部32と、制御部36を備える。
制御部36は、ロボット制御装置30の全体を制御する。制御部36は、撮像制御部40と、画像取得部42と、三次元点群生成部44と、評価値算出部46と、把持位置姿勢算出部48と、ロボット制御部50を備える。制御部36が備えるこれらの機能部は、例えば、CPU31が、記憶部32に記憶された各種プログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
撮像制御部40は、撮像部11が撮像可能な範囲を撮像部11にステレオ撮像させる。また、撮像制御部40は、撮像部12が撮像可能な範囲を撮像部12にステレオ撮像させる。また、撮像制御部40は、撮像部13が撮像可能な範囲を撮像部13にステレオ撮像させる。また、撮像制御部40は、撮像部14が撮像可能な範囲を撮像部14にステレオ撮像させる。
画像取得部42は、撮像部11がステレオ撮像した撮像画像を撮像部11から第1撮像画像として取得する。また、画像取得部42は、撮像部12がステレオ撮像した撮像画像を撮像部12から第2撮像画像として取得する。また、画像取得部42は、撮像部13がステレオ撮像した撮像画像を撮像部13から第3撮像画像として取得する。また、画像取得部42は、撮像部14がステレオ撮像した撮像画像を撮像部14から第4撮像画像として取得する。
三次元点群生成部44は、画像取得部42が取得した第1撮像画像に基づいて、第1撮像画像に含まれる対象物Oの三次元点群を生成する。また、三次元点群生成部44は、画像取得部42が取得した第2撮像画像に基づいて、第2撮像画像に含まれる対象物Oの三次元点群を生成する。また、三次元点群生成部44は、画像取得部42が取得した第3撮像画像に基づいて、第3撮像画像に含まれる対象物Oの三次元点群を生成する。また、三次元点群生成部44は、画像取得部42が取得した第4撮像画像に基づいて、第4撮像画像に含まれる対象物Oの三次元点群を生成する。また、三次元点群生成部44は、第1撮像画像〜第4撮像画像のそれぞれに基づいて生成された4つの三次元点群に基づいて、前述の全周点群を生成する。
評価値算出部46は、三次元点群生成部44が生成した全周点群に基づく評価値を算出する。
把持位置姿勢算出部48は、評価値算出部46が算出した評価値に基づいて、把持部Hに対象物Oを把持させる際の把持部Hの位置及び姿勢である把持位置姿勢を算出する。
ロボット制御部50は、把持位置姿勢算出部48が算出した把持位置姿勢に基づいてロボット20を動作させ、ロボット20に所定の作業を行わせる。
<ロボット制御装置がロボットに所定の作業を行わせる処理>
以下、図4を参照し、ロボット制御装置30がロボット20に所定の作業を行わせる処理について説明する。図4は、ロボット制御装置30がロボット20に所定の作業を行わせる処理の流れの一例を示すフローチャートである。
撮像制御部40は、撮像部11〜撮像部14のそれぞれに対象物Oをステレオ撮像させる(ステップS110)。具体的には、撮像制御部40は、撮像部11が撮像可能な範囲を撮像部11に撮像させる。また、撮像制御部40は、撮像部12が撮像可能な範囲を撮像部12に撮像させる。また、撮像制御部40は、撮像部13が撮像可能な範囲を撮像部13に撮像させる。また、撮像制御部40は、撮像部14が撮像可能な範囲を撮像部14に撮像させる。
次に、画像取得部42は、ステップS110において撮像部11〜撮像部14のそれぞれがステレオ撮像した撮像画像を撮像部11〜撮像部14のそれぞれから取得する(ステップS120)。具体的には、画像取得部42は、撮像部11がステレオ撮像した撮像画像を撮像部11から第1撮像画像として取得する。また、画像取得部42は、撮像部12がステレオ撮像した撮像画像を撮像部12から第2撮像画像として取得する。また、画像取得部42は、撮像部13がステレオ撮像した撮像画像を撮像部13から第3撮像画像として取得する。また、画像取得部42は、撮像部14がステレオ撮像した撮像画像を撮像部14から第4撮像画像として取得する。
次に、三次元点群生成部44は、ステップS120において画像取得部42が取得した第1撮像画像〜第4撮像画像のそれぞれに基づいて、前述の全周点群を生成する(ステップS140)。次に、評価値算出部46は、記憶部32の記憶領域内に予め生成された仮想空間VRに、ステップS140において生成された全周点群を配置する(ステップS143)。この際、評価値算出部46は、全周点群を構成する各点を、当該各点のロボット座標系RCにおける三次元位置に対応する三次元位置であって仮想空間VR内の三次元位置に配置する。なお、仮想空間VR内における三次元位置と、ロボット座標系RCにおける三次元位置とは、キャリブレーションにより予め対応付けられている。
ここで、図5を参照し、仮想空間VR内に配置された全周点群について説明する。図5は、仮想空間VR内に配置された全周点群の一例を示す図である。図5に示した全周点群VOは、仮想空間VR内に配置された全周点群の一例である。仮想空間VR内に配置された全周点群VOを構成する各点の位置は、図5に示した仮想空間座標系VCにおける座標によって表される。なお、図5では、図を簡略化するため、全周点群のうちの対象物Oの上面の形状を表す部分点群を省略してある。
次に、評価値算出部46は、記憶部32に予め記憶された把持部情報を記憶部32から読み出す。把持部情報は、把持部Hの形状や大きさ等を示す情報である。評価値算出部46は、読み出した把持部情報に基づいて仮想的な把持部Hである仮想把持部VHを生成する。評価値算出部46は、生成した仮想把持部VHを仮想空間VR内における所定位置に配置する(ステップS145)。この際、評価値算出部46は、仮想把持部VHの姿勢を所定姿勢と一致させる。仮想空間VR内における所定位置及び所定姿勢は、仮想空間VR内における如何なる位置及び姿勢であってもよい。
次に、評価値算出部46は、仮想空間VR内において仮想把持部VHの位置を一致させる目標となる1以上の位置である仮想把持位置を特定する(ステップS147)。ここで、ステップS147の処理について説明する。仮想把持部VHの予め決められた位置には、仮想把持部VHとともに動く三次元局所座標系である仮想把持部座標系HCが対応付けられている。このため、仮想把持部VHの位置は、仮想把持部座標系HCの原点の仮想空間座標系VCにおける位置によって表される。仮想把持部座標系HCは、前述の把持部座標系に対応する三次元座標系である。このため、仮想把持部VHの予め決められた位置は、把持部Hの重心の位置に対応する位置であり、この一例において、仮想把持部VHの重心の位置である。
評価値算出部46は、仮想把持部VHが有する仮想指部VH1及び仮想指部VH2それぞれの位置と、全周点群とに基づいて、仮想空間VR内において以下に示す所定の領域条件を満たす領域である把持部配置可能領域を特定する。仮想指部VH1は、把持部Hが有する指部H1に対応する仮想的な指部H1のことである。また、仮想指部VH2は、把持部Hが有する指部H2に対応する仮想的な指部H2のことである。
領域条件は、仮想把持部VHを配置した場合において、仮想指部VH1と仮想指部VH2との間の距離を近づけることにより仮想把持部VHが全周点群を仮想的に挟んで掴むこと(挟んで把持すること)が可能な領域であることである。
評価値算出部46は、上記の領域条件に基づいて特定した把持部配置可能領域を以下に示す所定の分割条件に基づいて複数の分割領域に分割する。
分割条件は、各分割領域の大きさ及び形状が同じであることである。
以下では、一例として、各分割領域の形状が立方体形状である場合について説明する。なお、分割条件は、これに代えて、複数の分割領域のうちの一部又は全部の形状及び大きさが互いに異なること等の他の条件であってもよい。
評価値算出部46は、分割領域を仮想的に分割している直線同士の交点それぞれを、複数の仮想把持位置として特定する。なお、評価値算出部46は、他の方法によって仮想把持位置を特定する構成であってもよい。例えば、評価値算出部46は、ユーザーから受け付けた操作に基づいて、当該操作によって指定された位置であって仮想空間VR内における1以上の位置を仮想把持位置として特定する構成であってもよい。
次に、評価値算出部46は、ステップS147において特定した1以上の仮想把持位置のそれぞれ毎に、ステップS155〜ステップS240の処理を繰り返し行う(ステップS150)。
評価値算出部46は、記憶部32に予め記憶された仮想把持姿勢情報を記憶部32から読み出す。仮想把持姿勢情報は、1以上の仮想把持姿勢のそれぞれを示す情報である。仮想把持姿勢は、各仮想把持位置において仮想把持部VHが取り得る姿勢の中からユーザーが選択した1以上の姿勢のそれぞれである。仮想把持姿勢は、仮想把持部座標系HCにおける各座標軸の仮想空間座標系VCにおける方向によって表される。当該方向は、仮想空間座標系におけるU軸、V軸、W軸のそれぞれの座標によって表される。当該U軸は、仮想把持部座標系HCを仮想空間座標系VCにおけるX軸周りに回転させた場合の回転角を表す座標軸である。また、当該V軸は、仮想把持部座標系HCを仮想空間座標系VCにおけるY軸周りに回転させた場合の回転角を表す座標軸である。また、当該W軸は、仮想把持部座標系HCを仮想空間座標系VCにおけるZ軸周りに回転させた場合の回転角を表す座標軸である。評価値算出部46は、記憶部32から読み出した仮想把持姿勢情報が示す1以上の仮想把持姿勢のそれぞれ毎に、ステップS160〜ステップS240の処理を繰り返し行う(ステップS155)。
次に、評価値算出部46は、仮想空間VR内において仮想把持部VHを移動させ、仮想把持部VHの位置を、ステップS150において選択された仮想把持位置に一致させるとともに、仮想把持部VHの姿勢を、ステップS155において選択された仮想把持姿勢に一致させる(ステップS160)。ここで、図6を参照し、ステップS160の処理について説明する。
図6は、図5に示した仮想空間VR内において、ステップS150において選択された仮想把持位置に仮想把持部VHの位置が一致している様子の一例を示す図である。図6に示した仮想把持部座標系HCの原点の仮想空間座標系VCにおける位置は、ステップS150において選択された仮想把持位置の一例である。また、図6において二点鎖線によって示した2つの長方形はそれぞれ、仮想指部VH1と仮想指部VH2とのそれぞれを表している。前述した通り、仮想把持位置に仮想把持部VHの位置が一致している場合、仮想把持部VHは、仮想指部VH1と仮想指部VH2との間の距離を近づけることにより、全周点群を掴むこと(把持すること)ができる。図6に示した例では、仮想指部VH1を矢印A1が示す方向へ移動させるとともに、仮想指部VH2を矢印A2が示す方向へ移動させることにより、仮想指部VH1と仮想指部VH2との両方が全周点群の一部に接触する。すなわち、図6に示した仮想把持位置に仮想把持部VHの位置を一致させた場合、仮想把持部VHは、仮想指部VH1と仮想指部VH2との間の距離を近づけることにより、全周点群を掴んで把持することができる。前述の通り、全周点群は、作業台TBの上面に載置された対象物Oの外から見える表面全部の形状を表す三次元点群である。すなわち、仮想把持部VHが全周点群を掴んで把持することができるということは、仮想空間VR内において、仮想把持部VHが仮想的な対象物Oを掴んで把持することが可能であることを意味している。ここで、矢印A1が示す方向は、矢印A2が示す方向と逆の方向であり、仮想指部VH1が仮想指部VH2に近づく方向である。また、矢印A2が示す方向は、矢印A1が示す方向と逆の方向であり、仮想指部VH2が仮想指部VH1に近づく方向である。また、図6に示した仮想把持部座標系HCにおける各座標軸の仮想空間座標系VCにおける方向は、ステップS155において選択された仮想把持姿勢の一例を表している。
ステップS160の処理が行われた後、評価値算出部46は、予め決められた1以上の指部間距離のそれぞれ毎に、ステップS180〜ステップS230の処理を繰り返し行う(ステップS170)。ここで、指部間距離は、予め決められた1以上の距離であって仮想指部VH1と仮想指部VH2との間の距離を一致させる目標となる距離である。
評価値算出部46は、仮想指部VH1を図6に示した矢印A1が示す方向に移動させるとともに、仮想指部VH2を図6に示した矢印A2が示す方向に移動させることにより、仮想指部VH1と仮想指部VH2との間の距離をステップS170において選択された指部間距離と一致させる(ステップS180)。
次に、評価値算出部46は、仮想指部VH1の輪郭のうち全周点群と接触する可能性のある部分の輪郭の形状を表す1以上の仮想的な点を第1接触点候補として当該輪郭上に生成するとともに、仮想指部VH2の輪郭のうち全周点群と接触する可能性のある部分の輪郭の形状を表す1以上の仮想的な点を第2接触点候補として当該輪郭上に生成する(ステップS190)。第1接触点候補、第2接触点候補のそれぞれは、把持部に対応付けられた1以上の仮想的な点の一例である。
ここで、図7を参照し、ステップS180〜ステップS190の処理について説明する。
図7は、図6に示した仮想指部VH1と仮想指部VH2との間の距離がステップS170において選択された指部間距離と一致している様子の一例を示す図である。図7に示した仮想指部VH1と仮想指部VH2との間の距離は、ステップS170において選択された指部間距離の一例である。
ステップS180において仮想指部VH1と仮想指部VH2との間の距離をステップS170において選択された指部間距離と一致させた後、評価値算出部46は、ユーザーから予め受け付けた操作に基づいて第1接触点候補と第2接触点候補とを生成する。図7に示した7つの第1接触点候補P1のそれぞれは、評価値算出部46が生成した第1接触点候補の一例である。また、図7に示した7つの第2接触点候補P2のそれぞれは、評価値算出部46が生成した第2接触点候補の一例である。なお、評価値算出部46は、ユーザーから予め受け付けた操作に基づいて第1接触点候補と第2接触点候補とを生成する構成に代えて、記憶部32に予め記憶された把持部情報と、全周点群の形状とに基づいて第1接触点候補及び第2接触点候補を生成する構成であってもよい。例えば、評価値算出部46は、仮想指部VH1の輪郭の形状を表す所定数の点を第1接触点候補として生成するとともに、仮想指部VH2の輪郭の形状を表す所定数の点を第2接触点候補として生成する構成であってもよい。
ステップS190の処理が行われた後、評価値算出部46は、仮想指部VH1、仮想指部VH2のそれぞれ毎に、ステップS195〜ステップS230の処理を繰り返し行う(ステップS193)。
以下ではまず、ステップS193において仮想指部VH1が選択された場合について説明する。評価値算出部46は、ステップS190において生成された第1接触点候補のそれぞれ毎に、ステップS200〜ステップS230の処理を繰り返し行う(ステップS195)。
評価値算出部46は、ステップS195において選択された第1接触点候補のレンチを算出する(ステップS200)。レンチは、指部から対象物に対し作用可能な力とモーメントをベクトルで表したものである。ここで、ステップS193において仮想指部VH1が選択された場合のステップS200の処理について説明する。
以下、ステップS193において仮想指部VH1が選択された場合におけるステップS200〜ステップS230の処理において評価値算出部46が処理を行う対象となる第1接触点候補を対象第1接触点候補と称して説明する。また、ステップS200においてレンチを算出する方法は、既知の方法を用いてもよく、これから開発される方法を用いてもよいため要点のみを説明する。
評価値算出部46は、対象第1接触点候補を中心とした所定半径の第1球形状領域に含まれる複数の点であって全周点群を構成する点に基づいて、当該複数の点に基づく法線ベクトルを算出する。ここで、各第1接触点候補を中心とした第1球形状領域のそれぞれは、ロボットの把持部に対応付けられた1以上の領域の一例である。また、当該第1球形状領域のそれぞれに含まれる複数の点であって全周点群を構成する点は、ロボットの把持部に対応付けられた1以上の領域に含まれる部分点群の一例である。評価値算出部46は、算出した法線ベクトルを中心軸(摩擦円錐方向)とした対象第1接触点候補における摩擦円錐を算出し、算出した摩擦円錐を多面体に近似する。ここで、指部H1が対象物Oに加える力と、指部H1と対象物Oとの間に発生する摩擦力に係る摩擦係数とは、ユーザーにより予めロボット制御装置30に入力されている。評価値算出部46は、摩擦円錐を近似した多面体が有する各稜線(摩擦円錐の頂点から摩擦円錐の底面へ向かう各斜辺)の方向に係るレンチを算出する。ここで、当該レンチは、対象第1接触点候補において指部H1が対象物Oに加える力と、当該力によって対象物Oに発生するモーメントとを成分として有するベクトルである。なお、当該モーメントには、スケール変換を行う係数が乗算されていてもよい。
ステップS193において仮想指部VH1が選択された場合のステップS200の処理が行われた後、評価値算出部46は、前述の第1球形状領域に含まれる複数の点であって全周点群を構成する点の密度を算出する(ステップS210)。ここで、ステップS193において仮想指部VH1が選択された場合のステップS210について説明する。
評価値算出部46は、全周点群と、第1球形状領域と同じ形状及び大きさの領域とに基づいて、当該領域に全周点群の一部が含まれるように当該領域を全周点群に対して配置した場合において当該領域に含まれる点であって全周点群を構成する点の数が最大となる当該領域の全周点群に対する配置位置を算出する。評価値算出部46は、算出した配置位置に当該領域が配置されている場合における当該領域に含まれる点であって全周点群を構成する点の数を最大点数として算出する。
また、評価値算出部46は、前述の第1球形状領域に含まれる点であって全周点群を構成する点の数を対象点数として算出する。そして、評価値算出部46は、算出した最大点数と、算出した対象点数とに基づいて、第1球形状領域に含まれる複数の点であって全周点群を構成する点の密度を算出する。具体的には、評価値算出部46は、当該最大点数によって当該対象点数を除した値を当該密度として算出する。
ステップS193において仮想指部VH1が選択された場合のステップS210の処理が行われた後、評価値算出部46は、第1球形状領域に含まれる複数の点であって全周点群を構成する点のばらつきを表す値を算出する(ステップS220)。
評価値算出部46は、第1球形状領域に含まれる複数の点であって全周点群を構成する点に基づいて、前述の矢印A1が示す方向である第1縦方向と、第1縦方向と直交する第1横方向とのそれぞれにおける当該点の分散を算出する。評価値算出部46は、第1横方向における当該点の分散から第1縦方向における当該点の分散を差し引いた値を、第1横方向における当該点の分散と第1縦方向における当該点の分散との和によって除した値を、当該点のばらつきを表す値として算出する。なお、当該点のばらつきを表す値は、これに代えて、これらの分散に基づく他の値であってもよい。
ステップS193において仮想指部VH1が選択された場合のステップS220の処理が行われた後、評価値算出部46は、当該場合のステップS200において算出したレンチと、当該場合のステップS210において算出した密度と、当該場合のステップS220において算出したばらつきを表す値とを乗じた値を第1評価値として算出する(ステップS230)。すなわち、当該密度と当該ばらつきを表す値とは、当該レンチに乗じる重みである。当該第1評価値が算出された後、評価値算出部46は、ステップS195に遷移し、次の第1接触点候補を選択する。ただし、評価値算出部46は、ステップS195において未選択の第1接触点候補が存在しない場合、ステップS193に遷移し、仮想指部VH2を選択する。なお、評価値算出部46は、当該場合のステップS230において、当該場合のステップS210において算出した密度と、当該場合のステップS220において算出したばらつきを表す値とに基づく重みを、当該場合のステップS200において算出したレンチに乗じた値を第1評価値として算出する構成であってもよい。この場合、例えば、評価値算出部46は、当該密度と当該ばらつきを表す値に何らかの係数を乗じた値を当該重みとして算出し、算出した当該重みを当該レンチに乗じた値を第1評価値として算出する。
ここで、ステップS193において仮想指部VH2が選択された場合について説明する。ステップS195において、評価値算出部46は、ステップS190において生成された第2接触点候補のそれぞれ毎に、ステップS200〜ステップS230の処理を繰り返し行う。
ステップS200において、評価値算出部46は、ステップS195において選択された第2接触点候補のレンチを算出する。ここで、ステップS193において仮想指部VH2が選択された場合のステップS200の処理について説明する。
以下、ステップS193において仮想指部VH2が選択された場合におけるステップS200〜ステップS230の処理において評価値算出部46が処理を行う対象となる第2接触点候補を対象第2接触点候補と称して説明する。
評価値算出部46は、対象第2接触点候補を中心とした所定半径の第2球形状領域に含まれる複数の点であって全周点群を構成する点に基づいて、当該複数の点に基づく法線ベクトルを算出する。ここで、各第2接触点候補を中心とした第2球形状領域のそれぞれは、ロボットの把持部に対応付けられた1以上の領域の一例である。また、当該第2球形状領域のそれぞれに含まれる複数の点であって全周点群を構成する点は、ロボットの把持部に対応付けられた1以上の領域に含まれる部分点群の一例である。評価値算出部46は、算出した法線ベクトルを中心軸(摩擦円錐方向)とした対象第2接触点候補における摩擦円錐を算出し、算出した摩擦円錐を多面体に近似する。ここで、指部H2が対象物Oに加える力と、指部H2と対象物Oとの間に発生する摩擦力に係る摩擦係数とは、ユーザーにより予めロボット制御装置30に入力されている。評価値算出部46は、摩擦円錐を近似した多面体が有する各稜線(摩擦円錐の頂点から摩擦円錐の底面へ向かう各斜辺)の方向に係るレンチを算出する。ここで、当該レンチは、対象第2接触点候補において指部H2が対象物Oに加える力と、当該力によって対象物Oに発生するモーメントとを成分として有するベクトルである。なお、当該モーメントには、スケール変換を行う係数が乗算されていてもよい。
ステップS193において仮想指部VH2が選択された場合のステップS200の処理が行われた後、当該場合のステップS210において評価値算出部46は、前述の第2球形状領域に含まれる複数の点であって全周点群を構成する点の密度を算出する。ここで、当該場合のステップS210について説明する。
評価値算出部46は、前述の第2球形状領域に含まれる点であって全周点群を構成する点の数を対象点数として算出する。そして、評価値算出部46は、前述の最大点数と、算出した対象点数とに基づいて、球形状領域に含まれる複数の点であって全周点群を構成する点の密度を算出する。具体的には、評価値算出部46は、当該最大点数によって当該対象点数を除した値を当該密度として算出する。
ステップS193において仮想指部VH2が選択された場合のステップS210の処理が行われた後、当該場合のステップS220において評価値算出部46は、第2球形状領域に含まれる複数の点であって全周点群を構成する点のばらつきを表す値を算出する。
評価値算出部46は、第2球形状領域に含まれる複数の点であって全周点群を構成する点に基づいて、前述の矢印A2が示す方向である第2縦方向と、第2縦方向と直交する第2横方向とのそれぞれにおける当該点の分散を算出する。評価値算出部46は、第2横方向における当該点の分散から第2縦方向における当該点の分散を差し引いた値を、第2横方向における当該点の分散と第2縦方向における当該点の分散との和によって除した値を、当該点のばらつきを表す値として算出する。なお、当該点のばらつきを表す値は、これに代えて、これらの分散に基づく他の値であってもよい。
ステップS193において仮想指部VH2が選択された場合のステップS220の処理が行われた後、当該場合のステップS230における評価値算出部46は、当該場合のステップS200において算出したレンチと、当該場合のステップS210において算出した密度と、当該場合のステップS220において算出したばらつきを表す値とを乗じた値を第1評価値として算出する。当該第1評価値が算出された後、評価値算出部46は、ステップS195に遷移し、次の第2接触点候補を選択する。ただし、評価値算出部46は、ステップS195において未選択の第2接触点候補が存在しない場合、ステップS170に遷移し、次の指部間距離を選択する。なお、評価値算出部46は、当該場合のステップS230において、当該場合のステップS210において算出した密度と、当該場合のステップS220において算出したばらつきを表す値とに基づく重みを、当該場合のステップS200において算出したレンチに乗じた値を第1評価値として算出する構成であってもよい。この場合、例えば、評価値算出部46は、当該密度と当該ばらつきを表す値に何らかの係数を乗じた値を当該重みとして算出し、算出した当該重みを当該レンチに乗じた値を第1評価値として算出する。
ステップS170〜ステップS240の繰り返し処理を行われた後、評価値算出部46は、ステップS230が実行される毎に算出された第1評価値をすべて足し合わせた値を、第1評価値の数によって除した値である第2評価値を前述の評価値として算出する(ステップS240)。当該評価値は、ステップS150において選択された仮想把持位置及びステップS155において選択された仮想把持姿勢に把持部Hの位置及び姿勢が一致した場合における把持部Hによる対象物Oの把持が安定している度合いを表す値である。当該第2評価値が算出された後、評価値算出部46は、ステップS155に遷移し、次の仮想把持姿勢を選択する。ただし、評価値算出部46は、ステップS155において未選択の仮想把持姿勢が存在しない場合、ステップS150に遷移し、次の仮想把持位置を選択する。
ステップS150〜ステップS240の繰り返し処理が行われた後、把持位置姿勢算出部48は、ステップS240において算出された複数の評価値(すなわち、第2評価値)のうちの最大の評価値が算出された場合のステップS150において選択された仮想把持位置、及び当該場合のステップS155において選択された仮想把持姿勢を、前述の把持位置姿勢として算出(特定)する(ステップS250)。
次に、ロボット制御部50は、ステップS250において算出(特定)された把持位置姿勢に基づいてアームAを動作させ、把持部Hの位置を当該把持位置姿勢に一致させる。ロボット制御部50は、把持部Hが有する指部H1と指部H2との間の距離を近づけて対象物Oを把持部Hに把持させる。ロボット制御部50は、ロボット20を動作させ、把持部Hに把持させた対象物Oを図示しない給材領域に載置し、処理を終了する。
ここで、図8を参照し、ステップS250において算出される把持位置姿勢について説明する。図8は、ステップS250において算出された把持位置姿勢に把持部Hの位置及び姿勢が一致した場合の対象物Oの部位であって指部H1及び指部H2のそれぞれが対象物Oに接触する部位の一例を示す図である。図8には、全周点群を構成する複数の点の密度やばらつきを明確に示すため、図5〜図7に示した全周点群とは異なる全周点群の一例である全周点群VO2が示されている。なお、図8では、図を簡略化するため、全周点群VO2を構成する部分点群のうち全周点群VO2が表す形状を有する物体の上面の形状を表す部分点群を省略している。以下、説明の便宜上、当該物体を対象物O2と称して説明する。
評価値算出部46は、図4に示したフローチャートの処理によってステップS250において把持位置姿勢を、指部H1及び指部H2のそれぞれが、全周点群VO2の部位のうち密度が高い部位であり且つ厚みが薄い部位を掴むこと(把持すること)が可能な位置及び姿勢として算出する。図8に示した例では、評価値算出部46は、全周点群VO2の部位のうち点線RA1によって囲まれた領域内の部位と、全周点群VO2の部位のうち点線RA2によって囲まれた領域内の部位とを掴むこと(把持すること)が可能な位置及び姿勢を、ステップS250において把持位置姿勢として算出する。
ステップS250において算出された把持位置姿勢がこのような特徴を有する理由は、第1評価値を算出する際にレンチに乗じる重みが、第1球形状領域又は第2球形状領域に含まれる複数の点の密度及びばらつきを表す値に基づく値だからである。全周点群VO2の部位のうち当該密度が高い部位であり且つ当該ばらつきを表す値が小さい部位は、対象物O2の外から見える表面の形状が精度よく表されている部位である。このため、ロボット制御装置30は、当該特徴を有する把持位置姿勢をステップS250において算出することができるため、対象物を安定してロボット20に把持させることができる。
なお、ロボット制御装置30は、図4に示したステップS193において、仮想指部VH1と仮想指部VH2とのいずれか一方のみを選択する構成であってもよい。
また、ロボット制御装置30は、図4に示したステップS240において、仮想指部VH1について算出された第1評価値のそれぞれを足し合わせた値と、仮想指部VH2について算出された第1評価値のそれぞれを足し合わせた値との平均値等のこれらの値に基づく値を第2評価値として算出する構成であってもよい。
以上のように、ロボット制御装置30は、対象物(この一例において、対象物O)の表面の三次元形状を表す三次元点群(この一例において、全周点群VO)のうち対象物を把持するロボット(この一例において、ロボット20)の把持部(この一例において、把持部H)に対応付けられた1以上の領域(この一例において、第1球形状領域又は第2球形状領域)に含まれる部分点群に基づいて評価値(この一例において、第2評価値)を算出し、算出した評価値に基づき対象物を把持部に把持させる際の把持部の位置及び姿勢(この一例において、把持位置姿勢)を算出し、算出した把持部の位置及び姿勢に基づいて対象物を把持部に把持させる。これにより、ロボット制御装置30は、対象物を安定してロボットに把持させることができる。
また、ロボット制御装置30では、対象物の表面の三次元形状を表す三次元点群のうち対象物を把持するロボットの把持部に対応付けられた1以上の領域は、把持部に対応付けられた1以上の仮想的な点(この一例において、第1接触点候補又は第2接触点候補)のそれぞれに基づく領域である。これにより、ロボット制御装置30は、把持部に対応付けられた1以上の仮想的な点のそれぞれに基づく領域に基づいて、対象物を安定してロボットに把持させることができる。
また、ロボット制御装置30は、部分点群の密度と、当該部分点群を構成する点のばらつきを表す値との少なくとも一方に基づいて評価値を算出し、算出した評価値に基づき対象物を把持部に把持させる際の把持部の位置及び姿勢を算出する。これにより、ロボット制御装置30は、部分点群の密度と、当該部分点群を構成する点のばらつきを表す値との少なくとも一方に基づいて算出した評価値に基づいて、対象物を安定してロボットに把持させることができる。
また、ロボット制御装置30は、部分点群に基づいて対象物の把持部による把持の安定性を表す第1評価値、部分点群の密度、部分点群を構成する点のばらつきを表す値のそれぞれを算出し、算出した第1評価値に当該密度及び当該値に基づく重みを乗算した第2評価値を評価値として算出し、算出した当該評価値に基づいて、対象物を把持部に把持させる際の把持部の位置及び姿勢を算出する。これにより、ロボット制御装置30は、第1評価値に部分点群の密度及び部分点群を構成する点のばらつきを表す値に基づく重みを乗算した第2評価値に基づいて、対象物を安定してロボットに把持させることができる。
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
また、以上に説明した装置(例えば、ロボット制御装置30)における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD(Compact Disk)−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
1…ロボットシステム、11、12、13、14…撮像部、20…ロボット、30…ロボット制御装置、31…CPU、32…記憶部、33…入力受付部、34…通信部、35…表示部、36…制御部、40…撮像制御部、42…画像取得部、44…三次元点群生成部、46…評価値算出部、48…把持位置姿勢算出部、50…ロボット制御部

Claims (6)

  1. 対象物の表面の三次元形状を表す三次元点群のうち前記対象物を把持するロボットの把持部に対応付けられた1以上の領域に含まれる部分点群に基づいて評価値を算出し、算出した前記評価値に基づき前記対象物を前記把持部に把持させる際の前記把持部の位置及び姿勢を算出し、算出した前記把持部の位置及び姿勢に基づいて前記対象物を前記把持部に把持させる、
    ロボット制御装置。
  2. 前記領域は、前記把持部に対応付けられた1以上の仮想的な点のそれぞれに基づく領域である、
    請求項1に記載のロボット制御装置。
  3. 前記部分点群の密度と、前記部分点群を構成する点のばらつきを表す値との少なくとも一方に基づいて前記評価値を算出し、算出した前記評価値に基づき前記対象物を前記把持部に把持させる際の前記把持部の位置及び姿勢を算出する、
    請求項1又は2に記載のロボット制御装置。
  4. 前記部分点群に基づいて前記対象物の前記把持部による把持の安定性を表す第1評価値、前記密度、前記値のそれぞれを算出し、算出した前記第1評価値に前記密度及び前記値に基づく重みを乗算した第2評価値を前記評価値として算出し、算出した当該評価値に基づいて、前記対象物を前記把持部に把持させる際の前記把持部の位置及び姿勢を算出する、
    請求項3に記載のロボット制御装置。
  5. 請求項1から4のうちいずれか一項に記載のロボット制御装置に制御される、
    ロボット。
  6. 請求項1から4のうちいずれか一項に記載のロボット制御装置と、
    前記ロボット制御装置に制御される前記ロボットと、
    を備えるロボットシステム。
JP2016191980A 2016-09-29 2016-09-29 ロボット制御装置、ロボット、及びロボットシステム Pending JP2018051704A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016191980A JP2018051704A (ja) 2016-09-29 2016-09-29 ロボット制御装置、ロボット、及びロボットシステム
US15/716,927 US10589424B2 (en) 2016-09-29 2017-09-27 Robot control device, robot, and robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016191980A JP2018051704A (ja) 2016-09-29 2016-09-29 ロボット制御装置、ロボット、及びロボットシステム

Publications (1)

Publication Number Publication Date
JP2018051704A true JP2018051704A (ja) 2018-04-05

Family

ID=61687605

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016191980A Pending JP2018051704A (ja) 2016-09-29 2016-09-29 ロボット制御装置、ロボット、及びロボットシステム

Country Status (2)

Country Link
US (1) US10589424B2 (ja)
JP (1) JP2018051704A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020093341A (ja) * 2018-12-12 2020-06-18 アズビル株式会社 容易度判定装置及び容易度判定方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017110975A (ja) * 2015-12-15 2017-06-22 キヤノン株式会社 計測装置、システム、計測方法、決定方法及びプログラム
JP6823008B2 (ja) * 2018-05-18 2021-01-27 ファナック株式会社 バラ積みされたワークを取り出すロボットシステムおよびロボットシステムの制御方法
JP6725587B2 (ja) 2018-05-18 2020-07-22 ファナック株式会社 バラ積みされたワークを取り出すロボットシステムおよびロボットシステムの制御方法
CN108838733A (zh) * 2018-07-18 2018-11-20 张国民 一种车床辅助设备
CN109079786B (zh) * 2018-08-17 2021-08-27 上海非夕机器人科技有限公司 机械臂抓取自学习方法及设备
CN108789384B (zh) * 2018-09-03 2024-01-09 深圳市波心幻海科技有限公司 一种柔性驱动机械手以及基于三维建模的物体识别方法
CN109940604B (zh) * 2019-01-29 2021-10-15 中国工程物理研究院激光聚变研究中心 基于点云数据的工件三维定位系统及方法
CN110014426B (zh) * 2019-03-21 2020-10-02 同济大学 一种利用低精度深度相机高精度抓取形状对称工件的方法
CN110238840B (zh) * 2019-04-24 2021-01-29 中山大学 一种基于视觉的机械臂自主抓取方法
CN110232710B (zh) * 2019-05-31 2021-06-11 深圳市皕像科技有限公司 基于三维相机的物品定位方法、系统及设备
CN110653820B (zh) * 2019-09-29 2022-11-01 东北大学 一种结合几何约束的机器人抓取位姿估计方法
US11694452B1 (en) * 2019-10-07 2023-07-04 Deshazo, LLC Crane-mounted system for automated object detection and identification
CN111015655B (zh) * 2019-12-18 2022-02-22 深圳市优必选科技股份有限公司 机械臂抓取方法、装置、计算机可读存储介质及机器人
CN111300423B (zh) * 2020-03-17 2021-05-18 北京理工大学 一种机器人关节力矩控制系统及其负载补偿方法
JP2022076096A (ja) * 2020-11-09 2022-05-19 セイコーエプソン株式会社 圧電駆動装置の制御方法およびマニピュレーターの制御方法
CN113146623B (zh) * 2021-03-23 2022-06-17 华中科技大学 基于云计算的机器人位置控制方法及设备
JP2023026187A (ja) * 2021-08-13 2023-02-24 株式会社東芝 ロボットハンド、ハンドリングシステム、ロボットハンド制御装置、ロボットハンドの制御方法、プログラム、及び記憶媒体
CN115578460B (zh) * 2022-11-10 2023-04-18 湖南大学 基于多模态特征提取与稠密预测的机器人抓取方法与系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013111726A (ja) 2011-11-30 2013-06-10 Sony Corp ロボット装置及びその制御方法、並びにコンピューター・プログラム
US9014857B2 (en) 2012-01-13 2015-04-21 Toyota Motor Engineering & Manufacturing North America, Inc. Methods and computer-program products for generating grasp patterns for use by a robot

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020093341A (ja) * 2018-12-12 2020-06-18 アズビル株式会社 容易度判定装置及び容易度判定方法
JP7296719B2 (ja) 2018-12-12 2023-06-23 アズビル株式会社 容易度判定装置及び容易度判定方法

Also Published As

Publication number Publication date
US10589424B2 (en) 2020-03-17
US20180085923A1 (en) 2018-03-29

Similar Documents

Publication Publication Date Title
JP2018051704A (ja) ロボット制御装置、ロボット、及びロボットシステム
US11090814B2 (en) Robot control method
JP6380828B2 (ja) ロボット、ロボットシステム、制御装置、及び制御方法
US20170277167A1 (en) Robot system, robot control device, and robot
JP2017071018A (ja) ロボットシステム、ロボット、及びロボット制御装置
US20200316783A1 (en) Robot System And Imaging Method
JP2016068169A (ja) ロボット、ロボットシステム、制御装置、及び制御方法
US20180085920A1 (en) Robot control device, robot, and robot system
JP6926906B2 (ja) ロボットシステム、制御装置及びロボット制御方法
US20180215044A1 (en) Image processing device, robot control device, and robot
JP2017202549A (ja) ロボット制御装置、ロボット、及びロボットシステム
JP2017047479A (ja) ロボット、制御装置、及びロボットシステム
JP6455869B2 (ja) ロボット、ロボットシステム、制御装置、及び制御方法
JP6958091B2 (ja) ロボットシステム、及びロボット制御方法
JP2015157343A (ja) ロボット、ロボットシステム、制御装置、および制御方法
JP2016120530A (ja) ロボット、及びロボット校正システム
JP2017219359A (ja) 形状測定装置、ロボット制御装置、及びロボット
JP2018017610A (ja) 三次元計測装置、ロボット、ロボット制御装置、及びロボットシステム
JP2019111588A (ja) ロボットシステム、情報処理装置、及びプログラム
JP2018015856A (ja) ロボット、ロボット制御装置、及びロボットシステム
JP2018001321A (ja) ロボット、ロボット制御装置、及びロボットシステム
US9925668B2 (en) Robot, control unit, and control method
JP2017100197A (ja) ロボット、及び制御方法
JP2017052073A (ja) ロボットシステム、ロボット、及びロボット制御装置
JP2016013610A (ja) ロボット、及び制御方法

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20181026