JP2017219365A - 位置姿勢算出装置、ロボット制御装置、及びロボット - Google Patents

位置姿勢算出装置、ロボット制御装置、及びロボット Download PDF

Info

Publication number
JP2017219365A
JP2017219365A JP2016112596A JP2016112596A JP2017219365A JP 2017219365 A JP2017219365 A JP 2017219365A JP 2016112596 A JP2016112596 A JP 2016112596A JP 2016112596 A JP2016112596 A JP 2016112596A JP 2017219365 A JP2017219365 A JP 2017219365A
Authority
JP
Japan
Prior art keywords
unit
pixel
orientation
correspondence information
projection
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
JP2016112596A
Other languages
English (en)
Inventor
智紀 原田
Tomonori Harada
智紀 原田
橋本 浩一
Koichi Hashimoto
浩一 橋本
翔悟 荒井
Shogo Arai
翔悟 荒井
直也 千葉
Naoya Chiba
直也 千葉
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 JP2016112596A priority Critical patent/JP2017219365A/ja
Publication of JP2017219365A publication Critical patent/JP2017219365A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

【課題】対象物の位置及び姿勢の算出における対象物の光学特性による誤差を抑制し、当該位置及び姿勢を高い精度で算出することができる位置姿勢算出装置を提供すること。【解決手段】少なくとも1台の撮像部と、少なくとも1台の投射部と、前記投射部により対象物を含む領域に2以上の互いに異なるランダムドットパターンのそれぞれを投射し、前記撮像部により前記領域が撮像された2以上の撮像画像に基づいて前記対象物の位置及び姿勢を算出する制御部と、を備える位置姿勢算出装置。【選択図】図3

Description

この発明は、位置姿勢算出装置、ロボット制御装置、及びロボットに関する。
対象物の三次元形状を表す三次元形状情報を生成し、生成した三次元形状情報に基づいて対象物に対する作業をロボットに行わせる技術の研究や開発が行われている。
これに関し、パターン投光手段によりパターン光を計測対象物に投光し、パターン光が投光された計測対象物を複数の撮像手段によりそれぞれ異なる方向から撮像し、パターン投光手段とそれぞれの撮像手段との間の校正を校正手段により行い、それぞれの撮像手段により撮像された画像に基づいて、それぞれの三次元点群を三次元点群計測手段により計測し、三次元点群計測手段により計測されたそれぞれの三次元点群を校正手段により得られた校正結果に基づいて所定の座標系に射影し、それぞれの信頼度を比較することによりそれぞれの三次元点群の計測結果を統合する三次元計測装置が知られている(特許文献1参照)。
特開2015−21862号公報
しかしながら、このような三次元計測装置では、対象物が光沢を有する物体や半透明な物体である場合、対象物の光学特性によって三次元点群の計測結果の精度を低下させてしまう場合があった。当該計測結果の精度が低下した場合、当該計測結果に基づいて算出される対象物の位置及び姿勢の精度も低下してしまう可能性が高い。
上記課題の少なくとも一つを解決するために本発明の一態様は、少なくとも1台の撮像部と、少なくとも1台の投射部と、前記投射部により対象物を含む領域に2以上の互いに異なるランダムドットパターンのそれぞれを投射し、前記撮像部により前記領域が撮像された2以上の撮像画像に基づいて前記対象物の位置及び姿勢を算出する制御部と、を備える位置姿勢算出装置である。
この構成により、位置姿勢算出装置は、投射部により対象物を含む領域に2以上の互いに異なるランダムドットパターンのそれぞれを投射し、撮像部により当該領域が撮像された2以上の撮像画像に基づいて対象物の位置及び姿勢を算出する。これにより、位置姿勢算出装置は、対象物の位置及び姿勢の算出における対象物の光学特性による誤差を抑制し、当該位置及び姿勢を高い精度で算出することができる。
また、本発明の他の態様は、位置姿勢算出装置において、前記制御部は、前記投射部により前記領域に前記ランダムドットパターンのそれぞれを投射する毎に前記撮像部により前記領域が撮像された前記撮像画像に基づいて前記対象物の位置及び姿勢を算出する、構成が用いられてもよい。
この構成により、位置姿勢算出装置は、投射部により対象物を含む領域に2以上の互いに異なるランダムドットパターンのそれぞれを投射する毎に撮像部により当該領域が撮像された撮像画像に基づいて対象物の位置及び姿勢を算出する。これにより、位置姿勢算出装置は、投射部によりランダムドットパターンのそれぞれを投射する毎に撮像部により撮像された撮像画像に基づいて、対象物の位置及び姿勢の算出における対象物の光学特性による誤差を抑制し、当該位置及び姿勢を高い精度で算出することができる。
また、本発明の他の態様は、位置姿勢算出装置において、前記制御部は、前記撮像画像に基づいて前記対象物の三次元形状を表す三次元形状情報を生成し、生成した前記三次元形状情報に基づいて前記対象物の位置及び姿勢を算出する、構成が用いられてもよい。
この構成により、位置姿勢算出装置は、撮像部により対象物を含む領域が撮像された2以上の撮像画像に基づいて対象物の三次元形状を表す三次元形状情報を生成し、生成した三次元形状情報に基づいて対象物の位置及び姿勢を算出する。これにより、位置姿勢算出装置は、生成した三次元形状情報に基づいて、対象物の位置及び姿勢を更に高い精度で算出することができる。
また、本発明の他の態様は、位置姿勢算出装置において、前記制御部は、前記撮像画像と、前記ランダムドットパターンとに基づいて、記憶された情報であって前記撮像画像の各画素の画素値と前記ランダムドットパターンの各画素の画素値とを対応付ける第1対応情報を更新し、更新した前記第1対応情報に基づいて前記三次元形状情報を生成する、構成が用いられてもよい。
この構成により、位置姿勢算出装置は、撮像部により対象物を含む領域が撮像された2以上の撮像画像と、投射部が当該領域に投射したランダムドットパターンとに基づいて、記憶された情報であって撮像画像の各画素の画素値とランダムドットパターンの各画素の画素値とを対応付ける第1対応情報を更新し、更新した第1対応情報に基づいて三次元形状情報を生成する。これにより、位置姿勢算出装置は、更新した第1対応情報に基づいて、対象物の位置及び姿勢の算出における対象物の光学特性による誤差を抑制し、当該位置及び姿勢を高い精度で算出することができる。
また、本発明の他の態様は、位置姿勢算出装置において、前記第1対応情報は、前記撮像画像の各画素の画素値と前記ランダムドットパターンの各画素の画素値とを対応付ける行列である、構成が用いられてもよい。
この構成により、位置姿勢算出装置は、撮像部により対象物を含む領域が撮像された2以上の撮像画像と、投射部により当該領域に投射されたランダムドットパターンとに基づいて、記憶された行列であって撮像画像の各画素の画素値とランダムドットパターンの各画素の画素値とを対応付ける行列を更新し、更新した当該行列に基づいて三次元形状情報を生成する。これにより、位置姿勢算出装置は、更新した行列であって撮像画像の各画素の画素値とランダムドットパターンの各画素の画素値とを対応付ける行列に基づいて、対象物の位置及び姿勢の算出における対象物の光学特性による誤差を抑制し、当該位置及び姿勢を高い精度で算出することができる。
また、本発明の他の態様は、位置姿勢算出装置において、前記行列は、前記撮像画像の各画素の画素値に対する前記ランダムドットパターンの各画素の画素値からの寄与を表す重みを成分として有する、構成が用いられてもよい。
この構成により、位置姿勢算出装置は、撮像部により対象物を含む領域が撮像された2以上の撮像画像と、投射部により当該領域に投射されたランダムドットパターンとに基づいて、記憶された行列であって撮像画像の各画素の画素値に対するランダムドットパターンの各画素の画素値からの寄与を表す重みを成分として有する行列を更新し、更新した当該行列に基づいて三次元形状情報を生成する。これにより、位置姿勢算出装置は、撮像画像の各画素の画素値に対するランダムドットパターンの各画素の画素値からの寄与を表す重みを成分として有する行列に基づいて、対象物の位置及び姿勢の算出における対象物の光学特性による誤差を抑制し、当該位置及び姿勢を高い精度で算出することができる。
また、本発明の他の態様は、位置姿勢算出装置において、前記制御部は、前記投射部により今回前記領域に投射した前記ランダムドットパターンと、前回更新した前記第1対応情報と、当該ランダムドットパターンが投射された前記領域が前記撮像部により撮像された前記撮像画像とに基づいて、当該第1対応情報を更新する、構成が用いられてもよい。
この構成により、位置姿勢算出装置は、投射部により今回対象物を含む領域に投射したランダムドットパターンと、前回更新した第1対応情報と、当該ランダムドットパターンが投射された対象物を含む領域が撮像部により撮像された撮像画像とに基づいて、当該第1対応情報を更新する。これにより、位置姿勢算出装置は、更新した第1対応情報に基づいて、対象物の位置及び姿勢の算出における対象物の光学特性による誤差を抑制し、当該位置及び姿勢を高い精度で算出することができる。
また、本発明の他の態様は、位置姿勢算出装置において、前記制御部は、前記投射部により今回前記領域に投射した前記ランダムドットパターンと、今回更新した前記第1対応情報と、当該ランダムドットパターンが投射された前記領域が前記撮像部により撮像された前記撮像画像とに基づいて、当該第1対応情報を更新するか否かを判定する、構成が用いられてもよい。
この構成により、位置姿勢算出装置は、投射部により今回対象物を含む領域に投射したランダムドットパターンと、今回更新した第1対応情報と、当該ランダムドットパターンが投射された対象物を含む領域が撮像部により撮像された撮像画像とに基づいて、当該第1対応情報を更新するか否かを判定する。これにより、位置姿勢算出装置は、第1対応情報を更新するか否かの判定結果に基づいて、繰り返し第1対応情報を更新することができる。
また、本発明の他の態様は、位置姿勢算出装置において、前記制御部は、生成した前記第1対応情報に基づいて、前記撮像画像の各画素と、前記ランダムドットパターンの各画素とを対応付ける第2対応情報を生成し、生成した前記第2対応情報と三角法に基づいて前記三次元形状情報を生成する、構成が用いられてもよい。
この構成により、位置姿勢算出装置は、生成した第1対応情報に基づいて、撮像画像の各画素と、ランダムドットパターンの各画素とを対応付ける第2対応情報を生成し、生成した第2対応情報と三角法に基づいて三次元形状情報を生成する。これにより、位置姿勢算出装置は、第1対応情報に基づいて算出された第2対応情報に基づいて、対象物の位置及び姿勢の算出における対象物の光学特性による誤差を抑制し、当該位置及び姿勢を高い精度で算出することができる。
また、本発明の他の態様は、位置姿勢算出装置において、前記ランダムドットパターンは、所定形状の画素の塊であるドットが複数規則的に配置された投射画像であり、前記ドット毎にランダムな画素値が割り当てられた前記投射画像である、構成が用いられてもよい。
この構成により、位置姿勢算出装置は、2以上の互いに異なる投射画像であって、所定形状の画素の塊であるドットが複数規則的に配置され、ドット毎にランダムな画素値が割り当てられた投射画像のそれぞれが投射部により対象物を含む領域に投射される毎に撮像部により当該領域が撮像された2以上の撮像画像に基づいて対象物の三次元形状を表す三次元形状情報を生成する。これにより、位置姿勢算出装置は、所定形状の画素の塊であるドットが複数規則的に配置された投射画像であって、ドット毎にランダムな画素値が割り当てられた投射画像が対象物に投射されることにより、対象物の位置及び姿勢の算出における対象物の光学特性による誤差を抑制し、当該位置及び姿勢を高い精度で算出することができる。
また、本発明の他の態様は、少なくとも1台の撮像部と、少なくとも1台の投射部と、前記投射部により対象物を含む領域に2以上の互いに異なる投射画像のそれぞれを投射する毎に前記撮像部により前記領域が撮像された2以上の撮像画像に基づいて、記憶された情報であって前記撮像画像の各画素の画素値と前記投射画像の各画素の画素値とを対応付ける対応情報を更新し、更新した前記対応情報に基づいて前記対象物の三次元形状を表す情報を生成する制御部と、を備える位置姿勢算出装置である。
この構成により、位置姿勢算出装置は、投射部により対象物を含む領域に2以上の互いに異なる投射画像のそれぞれを投射する毎に撮像部により当該領域が撮像された2以上の撮像画像に基づいて、記憶された情報であって撮像画像の各画素の画素値と投射画像の各画素の画素値とを対応付ける対応情報を更新し、更新した対応情報に基づいて対象物の三次元形状を表す情報を生成する。これにより、位置姿勢算出装置は、対象物の位置及び姿勢の算出における対象物の光学特性による誤差を抑制し、当該位置及び姿勢を高い精度で算出することができる。
また、本発明の他の態様は、上記に記載の位置姿勢算出装置が生成した前記三次元形状情報に基づいて前記対象物の位置及び姿勢を算出し、算出した当該位置及び姿勢に基づいてロボットに所定の作業を行わせる、ロボット制御装置である。
この構成により、ロボット制御装置は、上記に記載の位置姿勢算出装置が生成した三次元形状情報に基づいて対象物の位置及び姿勢を算出し、算出した当該位置及び姿勢に基づいてロボットに所定の作業を行わせる。これにより、ロボット制御装置は、高い精度で算出された対象物の位置及び姿勢に基づいて、ロボットに精度の高い作業を行わせることができる。
また、本発明の他の態様は、上記に記載のロボット制御装置に制御される、ロボットである。
この構成により、ロボットは、上記に記載の位置姿勢算出装置が生成した三次元形状情報に基づいて算出された対象物の位置及び姿勢に基づいて所定の作業を行う。これにより、ロボットは、高い精度で算出された対象物の位置及び姿勢に基づいて、精度の高い作業を行うことができる。
以上により、位置姿勢算出装置は、投射部により対象物を含む領域に2以上の互いに異なるランダムドットパターンのそれぞれを投射し、撮像部により当該領域が撮像された2以上の撮像画像に基づいて対象物の位置及び姿勢を算出する。これにより、位置姿勢算出装置は、対象物の位置及び姿勢を対象物の光学特性に依らずに高い精度で算出することができる。
また、ロボット制御装置は、上記に記載の位置姿勢算出装置が生成した三次元形状情報に基づいて対象物の位置及び姿勢を算出し、算出した当該位置及び姿勢に基づいてロボットに所定の作業を行わせる。これにより、ロボット制御装置は、高い精度で算出された対象物の位置及び姿勢に基づいて、ロボットに精度の高い作業を行わせることができる。
また、ロボットは、上記に記載の位置姿勢算出装置が生成した三次元形状情報に基づいて算出された対象物の位置及び姿勢に基づいて所定の作業を行う。これにより、ロボットは、高い精度で算出された対象物の位置及び姿勢に基づいて、精度の高い作業を行うことができる。
実施形態に係るロボットシステム1の構成の一例を示す図である。 ロボット制御装置30のハードウェア構成の一例を示す図である。 ロボット制御装置30の機能構成の一例を示す図である。 ロボット20に所定の作業を行わせる際にロボット制御装置30が行う処理の流れの一例を示すフローチャートである。 投射制御部40が生成する投射画像の一例を示す図である。 第1対応情報算出部43による第1ベクトル及び第2ベクトルの生成処理を説明するための図である。 位置姿勢算出装置50とロボット制御装置30の機能構成の一例を示す図である。
<実施形態>
以下、本発明の実施形態について、図面を参照して説明する。
<ロボットシステムの構成>
まず、ロボットシステム1の構成について説明する。
図1は、実施形態に係るロボットシステム1の構成の一例を示す図である。ロボットシステム1は、投射部5と、撮像部10と、ロボット20と、ロボット制御装置30を備える。
投射部5は、例えば、投射画像を投射するための液晶ライトバルブや投射レンズ、液晶駆動部、光源として超高圧水銀ランプやメタルハライドランプ等を備えるプロジェクターである。投射部5は、図1に示した作業台TBの上面に載置された対象物Oを含む範囲を投射領域R1として投射可能な位置に設置される。
投射部5は、ケーブルによってロボット制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB(Universal Serial Bus)等の規格によって行われる。なお、投射部5は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
作業台TBは、例えば、テーブル等の台である。なお、作業台TBは、テーブルに代えて、対象物Oを載置することが可能な台であれば、他の台であってもよい。
対象物Oは、例えば、製品に組み付けるプレート、ネジ、ボルト等の産業用の部品や部材である。なお、対象物Oは、産業用の部品や部材に代えて、日用品や生体等の他の物体であってもよい。図1に示した例では、対象物Oは、立方体形状の物体として表している。なお、対象物Oの形状は、立方体形状に代えて、他の形状であってもよい。
また、対象物Oは、例えば、投射した光の意図しない反射や透過を発生させる光学特性を有する物体である。以下では、一例として、対象物Oが、光が投射される表面の少なくとも一部に光沢を有する物体である場合について説明する。なお、対象物Oは、光沢を有する物体に代えて、半透明な物体であってもよく、当該光学特性を有さない物体、すなわち、光が投射される表面の少なくとも一部に光沢を有さない物体であってもよく、不透明な物体であってもよい。
なお、以下では、一例として、ロボットシステム1が1台の投射部5を備える場合について説明するが、これに代えて、ロボットシステム1が2台以上の投射部5を備える構成であってもよい。すなわち、ロボットシステム1は、少なくとも1台の投射部5を備える。
撮像部10は、例えば、集光された光を電気信号に変換する撮像素子であるCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等を備えた単眼のカメラである。なお、撮像部10は、単眼のカメラに代えて、ステレオカメラ等の複眼のカメラであってもよい。撮像部10は、作業台TBの上面に載置された対象物Oを含む範囲を撮像領域R2として撮像可能な位置に設置される。図1に示した例では、撮像領域R2は、投射領域R1の内側に含まれる。なお、撮像領域R2は、投射領域R1と同じ範囲であってもよく、投射領域R1を内側に含む範囲であってもよく、投射領域R1と部分的に重なる範囲であってもよい。撮像領域R2は、対象物を含む領域の一例である。
撮像部10は、ケーブルによってロボット制御装置30と通信可能に接続されている。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。また、撮像部10は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
なお、以下では、一例として、ロボットシステム1が1台の撮像部10を備える場合について説明するが、これに代えて、ロボットシステム1が2台以上の撮像部10を備える構成であってもよい。すなわち、ロボットシステム1は、少なくとも1台の撮像部10を備える。
ロボット20は、アームAと、アームAを支持する支持台Bを備える単腕ロボットである。単腕ロボットは、この一例におけるアームAのような1本のアーム(腕)を備えるロボットである。なお、ロボット20は、単腕ロボットに代えて、複腕ロボットであってもよい。複腕ロボットは、2本以上のアーム(例えば、2本以上のアームA)を備えるロボットである。なお、複腕ロボットのうち、2本のアームを備えるロボットは、双腕ロボットとも称される。すなわち、ロボット20は、2本のアームを備える双腕ロボットであってもよく、3本以上のアーム(例えば、3本以上のアームA)を備える複腕ロボットであってもよい。また、ロボット20は、スカラロボットや、円筒型ロボット等の他のロボットであってもよい。
アームAは、エンドエフェクターEと、マニピュレーターMを備える。
エンドエフェクターEは、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。なお、エンドエフェクターEは、当該指部を備えるエンドエフェクターに代えて、空気の吸引や磁力、治具等によって物体を持ち上げることが可能なエンドエフェクターや、他のエンドエフェクターであってもよい。
エンドエフェクター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は、この一例において、ロボットを制御する(動作させる)コントローラーである。ロボット制御装置30は、予め入力された動作プログラムに基づいて制御信号を生成する。ロボット制御装置30は、生成した制御信号をロボット20に送信し、ロボット20に所定の作業を行わせる。以下では、説明の便宜上、ロボット制御装置30による当該制御信号の生成及び送信についての説明を省略し、ロボット制御装置30がロボット20に行わせる動作、及びロボット20を動作させる際にロボット制御装置30が行う処理について説明する。
所定の作業は、この一例において、ロボット20がアームAを動作させ、作業台TBの上面に載置された対象物Oを把持し、把持した対象物Oを図示しない給材領域に載置する作業である。なお、所定の作業は、これに代えて、他の作業であってもよい。
<ロボットに所定の作業を行わせる際にロボット制御装置が行う処理の概要>
以下、ロボット20に所定の作業を行わせる際にロボット制御装置30が行う処理の概要について説明する。前述したように、この一例における対象物Oは、投射した光の意図しない反射や透過を発生させる光学特性を有する。この場合、投射部5により対象物Oに投射された投射画像が撮像部10により撮像された撮像画像には、当該反射による白飛び(撮像画像上における意図しない輝度の増大)や、当該透過による黒潰れ(撮像画像上における意図しない輝度の減少)が発生することがある。その結果、ロボット制御装置30と異なるロボット制御装置X30では、撮像部10により撮像領域R2が撮像された撮像画像に基づいて対象物Oの位置及び姿勢を算出した場合、算出した当該位置及び姿勢の精度が当該光学特性によって低下してしまう場合がある。
そこで、この一例におけるロボット制御装置30は、投射部5により対象物Oを含む投射領域R1に2以上の互いに異なる投射画像のそれぞれを投射し、撮像部10により撮像領域R2が撮像された2以上の撮像画像に基づいて対象物Oの位置及び姿勢を算出する。より具体的には、ロボット制御装置30は、投射部5により対象物Oを含む投射領域R1に2以上の互いに異なる投射画像のそれぞれを投射する毎に撮像部10により撮像領域R2が撮像された2以上の撮像画像に基づいて、記憶された情報であって撮像画像の各画素の画素値と投射画像の各画素の画素値とを対応付ける対応情報である第1対応情報を更新し、更新した第1対応情報に基づいて対象物Oの三次元形状を表す三次元形状情報を生成し、生成した三次元形状情報に基づいて対象物Oの位置及び姿勢を算出する。これにより、ロボット制御装置30は、対象物の位置及び姿勢の算出における対象物の光学特性による誤差を抑制し、当該位置及び姿勢を高い精度で算出することができる。
以下では、ロボット20に所定の作業を行わせる際にロボット制御装置30が行う処理について詳しく説明する。また、以下では、一例として、対象物Oの三次元形状情報が、対象物Oの表面の三次元形状を表す点群である三次元点群である場合について説明する。三次元点群を構成する各点は、ロボット座標系RCやワールド座標系等の三次元座標系における三次元位置(座標)を表す。なお、対象物Oの三次元形状情報は、対象物Oの三次元点群に代えて、対象物Oの表面の三次元形状を表す他の情報であってもよい。
<ロボット制御装置のハードウェア構成>
以下、図2を参照し、ロボット制御装置30のハードウェア構成について説明する。図2は、ロボット制御装置30のハードウェア構成の一例を示す図である。
ロボット制御装置30は、例えば、CPU(Central Processing Unit)31と、記憶部32と、入力受付部33と、通信部34と、表示部35を備える。これらの構成要素は、バスBusを介して相互に通信可能に接続されている。また、ロボット制御装置30は、通信部34を介して投射部5、撮像部10、ロボット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は、例えば、表示部35と一体に構成されたタッチパネルである。なお、入力受付部33は、キーボードやマウス、タッチパッド、その他の入力装置であってもよい。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
<ロボット制御装置の機能構成>
以下、図3を参照し、ロボット制御装置30の機能構成について説明する。図3は、ロボット制御装置30の機能構成の一例を示す図である。
ロボット制御装置30は、記憶部32と、制御部36を備える。
制御部36は、ロボット制御装置30の全体を制御する。制御部36は、投射制御部40と、撮像制御部41と、画像取得部42と、生成部49と、位置姿勢算出部47と、ロボット制御部48を備える。制御部36が備えるこれらの機能部は、例えば、CPU31が、記憶部32に記憶された各種プログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
投射制御部40は、投射画像を生成する。投射制御部40は、生成した投射画像を投射部5により投射領域R1に投射する。なお、投射制御部40は、投射画像を生成する構成に代えて、記憶部32に予め記憶された投射画像を記憶部32から読み出す構成であってもよい。この場合、投射制御部40は、記憶部32から読み出した投射画像を投射部5により投射領域R1に投射する。
撮像制御部41は、撮像部10に撮像領域R2を撮像させる。
画像取得部42は、撮像部10が撮像した撮像画像を撮像部10から取得する。
生成部49は、第1対応情報算出部43と、第2対応情報算出部44と、判定部45と、三次元点群生成部46を備える。
第1対応情報算出部43は、記憶部32に予め記憶された第1対応情報と、画像取得部42が取得した撮像画像とに基づいて、当該第1対応情報を更新する。第1対応情報は、前述した通り、撮像部10に撮像された撮像画像の各画素の画素値と、投射部5に投射された投射画像の各画素の画素値とを対応付ける対応情報のことである。ある画素の画素値は、例えば、当該画素の輝度値、明度値、彩度値、色相値等の当該画素に対応付けられた値である。以下では、一例として、ある画素の画素値が、当該画素の輝度値である場合について説明する。また、以下では、一例として、第1対応情報が、当該撮像画像の各画素の輝度値と、当該投射画像の各画素の輝度値とを対応付ける行列である光輸送行列である場合について説明する。
光輸送行列は、撮像画像の各画素の輝度値に対する投射画像の各画素の輝度値からの寄与を表す重みを成分として有する行列である。当該撮像画像は、撮像部10により撮像された撮像画像である。また、当該投射画像は、投射部5により投射された投射画像である。すなわち、この一例における第1対応情報算出部43は、記憶部32に予め記憶された光輸送行列と、画像取得部42が取得した撮像画像とに基づいて、当該光輸送行列の各成分を算出する。そして、第1対応情報算出部43は、算出した各成分を有する光輸送行列を記憶部32に記憶することにより、記憶部32に予め記憶された光輸送行列を更新する(新たに記憶し直す)。
なお、第1対応情報は、光輸送行列に代えて、撮像部10により撮像された撮像画像の各画素の輝度値と、投射部5により投射された投射画像の各画素の輝度値とが対応付けられた情報を格納するテーブル等の当該撮像画像の各画素の輝度値と、当該投射画像の各画素の輝度値とを対応付ける他の情報であってもよい。
第2対応情報算出部44は、第1対応情報算出部43が更新した(算出した)第1対応情報(この一例において、光輸送行列)に基づいて、撮像部10に撮像された撮像画像の各画素と、投射部5に投射された投射画像の各画素とを対応付ける第2対応情報を算出する。
判定部45は、記憶部32に記憶された第1対応情報(この一例において、光輸送行列)に基づいて、当該第1対応情報を更新するか否かを判定するための評価値を算出する。判定部45は、算出した評価値に基づいて当該第1対応情報を更新するか否かを判定する。
三次元点群生成部46は、第2対応情報算出部44が算出した第2対応情報と、画像取得部42が取得した撮像画像とに基づいて、対象物Oの三次元点群を生成する。
位置姿勢算出部47は、三次元点群生成部46が生成した三次元点群に基づいて、対象物Oの位置及び姿勢を算出する。位置姿勢算出部47は、算出部の一例である。
ロボット制御部48は、位置姿勢算出部47が算出した対象物Oの位置及び姿勢に基づいてロボット20に所定の作業を行わせる。
<ロボットに所定の作業を行わせる際にロボット制御装置が行う処理>
以下、図4を参照し、ロボット20に所定の作業を行わせる際にロボット制御装置30が行う処理について説明する。図4は、ロボット20に所定の作業を行わせる際にロボット制御装置30が行う処理の流れの一例を示すフローチャートである。
投射制御部40は、投射部5に投射させる投射画像を生成する(ステップS110)。
ここで、ステップS110の処理について説明する。この一例において、投射制御部40は、ランダムドットパターンを投射画像として生成する。ランダムドットパターンは、所定形状の画素の塊であるドットが複数規則的に配置された画像であり、ドット毎にランダムな輝度値が割り当てられた画像である。
図5は、投射制御部40が生成する投射画像の一例を示す図である。図5に示した投射画像Pは、ランダムドットパターンの一例である。図5に示した例では、ドットは、複数の画素の塊であって正方形状の塊である。また、当該例に示したように、各ドットの輝度値は、ランダムに割り当てられている。投射制御部40は、ステップS110の処理を実行する毎に、各ドットの輝度値をランダムに割り当てたランダムドットパターンを投射画像として生成する。
なお、ランダムドットパターンにおけるドットの形状は、正方形状に代えて、長方形状であってもよく、円形状であってもよく、楕円形状であってもよく、他の形状であってもよい。また、投射画像は、ランダムドットパターンに代えて、すべての画素の輝度値が一定の画像(輝度値が一様な画像)でなければ他の如何なる画像であってもよい。例えば、当該画像は、景色や人物が撮像された画像であってもよい。
ステップS110において投射画像を生成した後、投射制御部40は、投射部5によりステップS110において生成した投射画像を投射領域R1(この一例において、対象物Oを含む領域)に投射する(ステップS120)。
次に、撮像制御部41は、撮像部10に撮像領域R2(この一例において、対象物Oを含む領域)を撮像させる(ステップS130)。次に、画像取得部42は、ステップS130において撮像部10が撮像した撮像画像を撮像部10から取得する(ステップS140)。次に、第1対応情報算出部43は、記憶部32に記憶された光輸送行列を記憶部32から読み出す(ステップS150)。なお、1回目のステップS150の処理において第1対応情報算出部43が記憶部32から読み出す光輸送行列は、この一例において、すべての成分が1に初期化された行列であって記憶部32に予め記憶された行列である。なお、当該光輸送行列は、当該行列に代えて、0ではない他の値を成分として有する行列であってもよい。この場合、当該行列の各成分の値は、互いに同じであってもよく、互いに異なってもよい。また、当該行列が有する複数の成分のうちの一部の成分の値は、同じであってもよい。
次に、第1対応情報算出部43は、ステップS150において記憶部32から読み出した光輸送行列と、ステップS120において投射部5が投射した最新の投射画像(今回の投射画像)と、ステップS140において画像取得部42が取得した最新の撮像画像(今回の撮像画像)とに基づいて、当該光輸送行列を更新する(ステップS155)。当該光輸送行列は、前回更新した光輸送行列である。なお、前回更新した光輸送行列は、この一例において、記憶部32に予め記憶された光輸送行列であって1回も更新されていない光輸送行列を含む。ステップS155において光輸送行列を更新する際、第1対応情報算出部43は、例えば、第1ベクトルと第2ベクトルを生成する。第1ベクトルは、投射部5が投射した投射画像に基づくベクトルである。第2ベクトルは、画像取得部42が取得した撮像画像(すなわち、撮像部10が撮像した撮像画像)に基づくベクトルである。
ここで、図6を参照し、第1対応情報算出部43による第1ベクトル及び第2ベクトルの生成処理について説明する。図6は、第1対応情報算出部43による第1ベクトル及び第2ベクトルの生成処理を説明するための図である。
まず、第1対応情報算出部43による第1ベクトルの生成処理について説明する。ステップS155において、第1対応情報算出部43は、ステップS120において投射部5が投射した最新の投射画像に基づく第1ベクトルを生成する。図6に示した投射画像PNは、ステップS120において投射部5が投射した最新の投射画像の一例である。図6に示した例では、投射画像PNは、画素PP1〜画素PP4の4つの画素によって構成される。第1対応情報算出部43は、所定の変換ルールに基づいて、ステップS120において投射部5が投射した最新の投射画像の画素を仮想的に並べ替える。変換ルールは、この一例において、当該投射画像の画素がm行n列(m及びnは、2以上の整数)の行列状に並んでいる場合、i行j列目の画素を(i+m(j−1))番目の画素となるように一列に並べ替えることである。ここで、mは、2以上の整数であり、mの最大値は、第2ベクトルの成分数である。また、nは、2以上の整数であり、nの最大値は、第1ベクトルの成分数である。第1対応情報算出部43が投射画像PNを変換ルールに基づいて並べ替えた場合、投射画像PNを構成する4つの画素は、図6における上段中図に示したように画素PP1、画素PP2、画素PP3、画素PP4の順に一列に並べ替えられる。
第1対応情報算出部43は、変換ルールに基づいて、ステップS120において投射部5が投射した最新の投射画像の画素を仮想的に並べ替えた後、並べ替えた画素の輝度値に基づいて当該輝度値のそれぞれを成分として有するベクトルである第1ベクトルを生成する。具体的には、第1対応情報算出部43は、並べ替えた画素のうち並び順がk番目の画素の輝度値を、k番目の成分として有する第1ベクトルを生成する。図6における上段に示した例では、第1対応情報算出部43は、投射画像PNを構成する4つの画素であって並べ替えた後の画素のうち並び順が1番目の画素PP1の輝度値PL1を1番目の成分として有し、当該画素のうち並び順が2番目の画素PP2の輝度値PL2を2番目の成分として有し、当該画素のうち並び順が3番目の画素PP3の輝度値PL3を3番目の成分として有し、当該画素のうち並び順が4番目の画素PP4の輝度値PL4を4番目の成分として有する第1ベクトルVR1を生成する。このようにステップS155において生成された第1ベクトルは、前述した通りステップS120において投射部5が投射した最新の投射画像に基づくベクトルであり、当該投射画像の各画素の輝度値を表すベクトルである。
次に、第1対応情報算出部43による第2ベクトルの生成処理について説明する。ステップS155において、第1対応情報算出部43は、ステップS140において画像取得部42が取得した最新の撮像画像に基づく第2ベクトルを生成する。図6に示した撮像画像CNは、ステップS140において画像取得部42が取得した最新の撮像画像の一例である。図6に示した例では、撮像画像CNは、画素CP1〜画素CP4の4つの画素によって構成される。第1対応情報算出部43は、前述の変換ルールに基づいて、ステップS140において画像取得部42が取得した最新の撮像画像の画素を仮想的に並べ替える。第1対応情報算出部43が撮像画像CNを変換ルールに基づいて並べ替えた場合、撮像画像CNを構成する4つの画素は、図6における下段中図に示したように画素CP1、画素CP2、画素CP3、画素CP4の順に一列に並べ替えられる。
第1対応情報算出部43は、変換ルールに基づいて、ステップS140において画像取得部42が取得した最新の撮像画像の画素を仮想的に並べ替えた後、並べ替えた画素の輝度値に基づいて当該輝度値のそれぞれを成分として有するベクトルである第2ベクトルを生成する。具体的には、第1対応情報算出部43は、並べ替えた画素のうち並び順がk番目の画素の輝度値を、k番目の成分として有する第2ベクトルを生成する。図6における下段に示した例では、第1対応情報算出部43は、撮像画像CNを構成する4つの画素であって並べ替えた後の画素のうち並び順が1番目の画素CP1の輝度値CL1を1番目の成分として有し、当該画素のうち並び順が2番目の画素CP2の輝度値CL2を2番目の成分として有し、当該画素のうち並び順が3番目の画素CP3の輝度値CL3を3番目の成分として有し、当該画素のうち並び順が4番目の画素CP4の輝度値CL4を4番目の成分として有する第2ベクトルVR2を生成する。このようにステップS155において生成された第2ベクトルは、前述した通りステップS140において画像取得部42が取得した最新の撮像画像に基づくベクトルであり、当該撮像画像の各画素の輝度値を表すベクトルである。
第1対応情報算出部43はステップS155において、このようにして生成した第1ベクトル及び第2ベクトルと、ステップS150において記憶部32から読み出した光輸送行列とに基づいて、当該光輸送行列を更新する。光輸送行列は、前述したように、撮像画像の各画素の輝度値に対する投射画像の各画素の輝度値からの寄与を表す重みを成分として有する行列である。より具体的には、光輸送行列のp行q列目の成分は、第2ベクトルのp番目の成分(すなわち、輝度値)に対する寄与であって第1ベクトルのq番目の成分(すなわち、輝度値)からの寄与を表す重みである。
光輸送行列の各成分が正確に算出されている場合、第1対応情報算出部43は、光輸送行列に第1ベクトルを乗算することによって、第2ベクトルが有する成分と同じ成分を有するベクトルを算出することができる。以下では、説明の便宜上、光輸送行列に第1ベクトルを乗算することによって算出されるベクトルを第3ベクトルと称して説明する。光輸送行列の各成分が正確に算出されている場合、第2ベクトルと第3ベクトルとの差分である差分ベクトルは、ゼロベクトルである。一方、光輸送行列の各成分が正確に算出されていない場合、当該差分ベクトルは、ゼロベクトルではない。第1対応情報算出部43は、ステップS155において、当該差分ベクトルがゼロベクトルに近づくように光輸送行列を更新する。
第1ベクトルのq番目の成分をV1と表し、第2ベクトルのp番目の成分をV2と表し、第1対応情報算出部43による更新前の光輸送行列におけるp行q列目の成分をW1pqと表し、第1対応情報算出部43による更新後の光輸送行列におけるp行q列目の成分をW2pqと表すと、更新後の光輸送行列におけるp行q列目の成分W2pqは、以下に示す式(1)によって算出することができる。
W2pq=[1−α(V1−V2)]W1pq ・・・(1)
ここで、αは、上記の式(1)の大括弧内の値が負の値にならないようにするためのゲインである。αは、(V1−V2)の最大値分の1以下の値であれば如何なる値であってもよい。具体的には、この一例における(V1−V2)の最大値が255であるため、αは、1/255以下の値であり、例えば、4×10−3である。
このように、第1対応情報算出部43は、ステップS120において投射部5が投射した最新の投射画像に基づいて生成した第1ベクトルと、ステップS140において画像取得部42が取得した最新の撮像画像に基づいて生成した第2ベクトルと、ステップS150において記憶部32から読み出した光輸送行列と、上記の式(1)とに基づいて、更新後の光輸送行列の各成分を算出する。そして、第1対応情報算出部43は、算出した当該各成分の総和によって当該各成分を正規化する。第1対応情報算出部43は、正規化した後の当該各成分を有する光輸送行列を記憶部32に記憶し、ステップS150において記憶部32から読み出した光輸送行列を更新する。
ステップS155において光輸送行列が更新された後、判定部45は、ステップS155において更新された光輸送行列と、ステップS120において投射部5が投射した最新の投射画像と、ステップS140において画像取得部42が取得した最新の撮像画像とに基づいて、ステップS155において更新された後(更新後)の光輸送行列を(再び)更新するか否かを判定するための評価値を算出する(ステップS160)。ここで、ステップS160の処理について説明する。
第1対応情報算出部43は、ステップS120において投射部5が投射した最新の投射画像に基づいて生成した第1ベクトルを、ステップS155において更新した光輸送行列に乗じることによって第3ベクトルを算出する。第1対応情報算出部43は、算出した第3ベクトルと、ステップS140において画像取得部42が取得した最新の撮像画像に基づいて生成した第2ベクトルとの差分である差分ベクトルを算出する。そして、第1対応情報算出部43は、当該差分ベクトルのノルムを前述の評価値として算出する。なお、評価値は、これに代えて、当該ノルムに基づく他の値であってもよく、当該差分ベクトルに基づく他の値であってもよく、ステップS155において更新した光輸送行列に基づく他の値であってもよい。
ステップS160において評価値が算出された後、判定部45は、ステップS160において算出した評価値が所定閾値未満であるか否かを判定する(ステップS170)。所定閾値は、例えば、ステップS120において投射部5が投射した最新の投射画像に基づいて生成した第1ベクトルをステップS155において更新される前(更新前)の光輸送行列に乗じることによって算出される第3ベクトルと、ステップS140において画像取得部42が取得した最新の撮像画像に基づいて生成した第2ベクトルとの差分ベクトルのノルムである。なお、所定閾値は、これに代えて、他の値であってもよい。
ステップS160において算出した評価値が所定閾値未満であると判定部45が判定した場合(ステップS170−YES)、次回のステップS160において算出される評価値が、今回のステップS160において算出された評価値よりも小さくなる可能性があるため、投射制御部40は、ステップS110に遷移し、再び投射画像を生成する。一方、ステップS160において算出した評価値が所定閾値未満ではないと判定部45が判定した場合(ステップS170−NO)、次回のステップS160において算出される評価値が、今回のステップS160において算出された評価値よりも大きくなる可能性があるため、第2対応情報算出部44は、今回のステップS155において更新された後(更新後)の光輸送行列に基づいて、第2対応情報を算出する(ステップS180)。ここで、ステップS180の処理について説明する。
第2対応情報算出部44は、光輸送行列のq行目に含まれる成分のうちの最も大きな値の成分がp列目の成分(すなわち、q行p列目の成分)であった場合、第2ベクトルのq番目の成分に対応する画素であって撮像画像の画素と、第1ベクトルのp番目の成分に対応する画素であって投射画像の画素とを対応付ける。これにより、第2対応情報算出部44は、撮像部10に撮像された撮像画像の各画素と、投射部5に投射された投射画像の各画素とを対応付ける第2対応情報を算出する。第2対応情報は、撮像部10に撮像された撮像画像の各画素と、投射部5に投射された投射画像の各画素とを対応付ける行列であってもよく、撮像部10に撮像された撮像画像の各画素と、投射部5に投射された投射画像の各画素とを対応付ける情報が格納されたテーブルであってもよく、撮像部10に撮像された撮像画像の各画素と、投射部5に投射された投射画像の各画素とを対応付ける他の情報であってもよい。
なお、ステップS180において、第2対応情報算出部44は、今回のステップS155において更新される前(更新前)の光輸送行列に基づいて、第2対応情報を算出する構成であってもよい。この場合、第1対応情報算出部43は、ステップS155において光輸送行列を更新する際、更新前の光輸送行列の履歴を記憶部32に記憶する。
ステップS180において第2対応情報が算出された後、三次元点群生成部46は、ステップS180において算出された第2対応情報と、ステップS140において画像取得部42が取得した最新の撮像画像と、ステップS120において投射部5が投射した最新の投射画像と、三角法とに基づいて対象物Oの三次元形状情報(この一例において、対象物Oの三次元点群)を生成する(ステップS190)。なお、ステップS190の処理については、従来の方法によって行われてもよく、これから開発される方法によって行われてもよい。
次に、位置姿勢算出部47は、ステップS190において生成された三次元形状情報に基づいて、対象物Oの位置及び姿勢を算出する(ステップS200)。当該位置及び姿勢は、三次元のロボット座標系RCにおける位置及び姿勢である。次に、ロボット制御部48は、ステップS200において位置姿勢算出部47が算出した対象物Oの位置及び姿勢に基づいて、ロボット20に所定の作業を行わせ(ステップS210)、処理を終了する。
ここで、ロボット制御装置30は、ステップS110〜ステップS170の処理を繰り返し行うことにより、光輸送行列の更新を繰り返し、光輸送行列の各成分の値を正確な値に近づけることができる。この際、ロボット制御装置30は、ステップS110の処理を行う毎に、前回のステップS110の処理において生成した投射画像と異なる投射画像を生成する。すなわち、ロボット制御装置30は、ステップS120の処理を行う毎に、互いに異なる投射画像を対象物Oに投射する。その結果、対象物Oに投射画像が投射された場合において対象物Oの光学特性により生じる意図しない反射や透過による撮像画像への影響(例えば、白飛びや黒潰れ)が平均化され、ロボット制御装置30は、精度の高い光輸送行列を算出することができる。これにより、ロボット制御装置30は、ステップS180〜ステップS200の処理によって、対象物Oが光沢を有する物体や半透明な物体であっても、算出した光輸送行列に基づいて対象物Oの位置及び姿勢の算出における対象物Oの光学特性による誤差を抑制し、当該位置及び姿勢を高い精度で算出することができる。
なお、ロボット制御装置30は、2回目以降のステップS110の処理において、前回のステップS155において更新された後(更新後)の光輸送行列に応じた投射画像を生成する構成(すなわち、更新後の光輸送行列に応じたフィードバック処理を行う構成)であってもよい。例えば、ロボット制御装置30は、当該光輸送行列のz1列に含まれる成分の値がすべて第2所定閾値以下である場合、第2ベクトルの各成分に対する第1ベクトルのz1番目の成分からの寄与が無視できるほど小さいと判定し、ステップS110において生成する投射画像の画素のうちの第1ベクトルのz1番目の成分に対応する画素の輝度値を0にした当該投射画像をステップS110において生成する。第2所定閾値は、例えば、ロボット制御装置30が光輸送行列の更新処理を繰り返し行った結果に応じてユーザーが決定する値であり、例えば、0.1である。なお、第2所定閾値は、これに代えて、他の値であってもよい。ここで、z1は、1以上の整数である。z1の最大値は、当該光輸送行列の列数(又は第1ベクトルの成分数)である。これにより、ロボット制御装置30は、第1対応情報を更新するか否かの判定結果に基づいて、繰り返し第1対応情報を更新することができる。また、ロボット制御装置30は、光輸送行列の更新に要する計算量を少なくすることができるとともに、ステップS110〜ステップS170の処理を繰り返す回数を少なくすることができる。その結果、ロボット制御装置30は、ロボット20に所定の作業を行わせる時間を短縮することができる。
また、ロボット制御装置30は、ステップS155、ステップS180、ステップS190のうちの一部又は全部において、エピポーラ拘束と組み合わせた処理を行う構成であってもよい。例えば、ロボット制御装置30は、ステップS155において光輸送行列を更新する場合、第1ベクトルのz2番目の成分に対応する画素であって投射画像の画素が、第2ベクトルのどの成分に対応する画素に寄与するのかを、エピポーラ拘束によって予測することにより、光輸送行列の更新に要する計算量を少なくすることができる。その結果、ロボット制御装置30は、ロボット20に所定の作業を行わせる時間を短縮することができる。
また、制御部36の一部は、ロボット制御装置30と別体の装置である位置姿勢算出装置50に備えられる構成であってもよい。この場合、位置姿勢算出装置50とロボット制御装置30との機能構成は、例えば、図7に示したような機能構成となる。
図7は、位置姿勢算出装置50とロボット制御装置30の機能構成の一例を示す図である。
位置姿勢算出装置50は、記憶部52と、制御部56を備える。なお、図7では、図3に示した構成部と同様な構成部に対して同じ符号を付して説明を省略する。また、位置姿勢算出装置50は、図示しない通信部を介して投射部5、撮像部10、ロボット制御装置30のそれぞれと通信を行う。
記憶部52は、例えば、HDDやSSD、EEPROM、ROM、RAM等を含む。なお、記憶部52は、位置姿勢算出装置50に内蔵されるものに代えて、USB等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部52は、位置姿勢算出装置50が処理する各種情報や動作プログラムを含む各種のプログラム、投射画像、撮像画像等を格納する。記憶部52は、位置姿勢算出装置50において、ロボット制御装置30における記憶部32の役割と同様の役割を負う。
制御部56は、位置姿勢算出装置50の全体を制御する。制御部56は、投射制御部40と、撮像制御部41と、画像取得部42と、生成部49と、位置姿勢算出部47を備える。制御部56が備えるこれらの機能部は、例えば、図示しないCPUが、記憶部52に記憶された各種プログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。ここで、位置姿勢算出装置50が備える位置姿勢算出部47は、対象物Oの位置及び姿勢を算出した後、算出した当該位置及び姿勢を示す情報をロボット制御装置30に出力する。
ロボット制御装置30は、制御部36aを備える。
制御部36aは、ロボット制御装置30の全体を制御する。制御部36aは、ロボット制御部48を備える。ここで、当該ロボット制御部48は、位置姿勢算出装置50から対象物Oの位置及び姿勢を示す情報を取得し、取得した当該情報に基づいてロボット20に所定の作業を行わせる。
このように、制御部36の一部は、ロボット制御装置30と別体の位置姿勢算出装置50に備えられる構成であってもよい。なお、図7に示した位置姿勢算出装置50の機能構成は、一例に過ぎず、他の機能構成であってもよい。
以上のように、ロボット制御装置(この一例において、ロボット制御装置30)又は位置姿勢算出装置(この一例において、位置姿勢算出装置50)は、投射部(この一例において、投射部5)により対象物(この一例において、対象物O)を含む領域(この一例において、撮像領域R2)に2以上の互いに異なるランダムドットパターンのそれぞれを投射し、撮像部(この一例において、撮像部10)により当該領域が撮像された2以上の撮像画像に基づいて対象物の位置及び姿勢を算出する。これにより、ロボット制御装置又は位置姿勢算出装置は、対象物の位置及び姿勢の算出における対象物の光学特性による誤差を抑制し、当該位置及び姿勢を高い精度で算出することができる。
また、ロボット制御装置又は位置姿勢算出装置は、投射部により対象物を含む領域に2以上の互いに異なるランダムドットパターンのそれぞれを投射する毎に撮像部により当該領域が撮像された撮像画像に基づいて対象物の位置及び姿勢を算出する。これにより、ロボット制御装置又は位置姿勢算出装置は、投射部によりランダムドットパターンのそれぞれが投射される毎に撮像部により撮像された撮像画像に基づいて、対象物の位置及び姿勢の算出における対象物の光学特性による誤差を抑制し、当該位置及び姿勢を高い精度で算出することができる。
また、ロボット制御装置又は位置姿勢算出装置は、撮像部により対象物を含む領域が撮像された2以上の撮像画像に基づいて対象物の三次元形状を表す三次元形状情報(この一例において、三次元点群)を生成し、生成した三次元形状情報に基づいて対象物の位置及び姿勢を算出する。これにより、ロボット制御装置又は位置姿勢算出装置は、生成した三次元形状情報に基づいて、対象物の位置及び姿勢を更に高い精度で算出することができる。
また、ロボット制御装置又は位置姿勢算出装置は、撮像部により対象物を含む領域が撮像された2以上の撮像画像と、投射部が当該領域に投射したランダムドットパターンとに基づいて、記憶された情報であって撮像画像の各画素の画素値とランダムドットパターンの各画素の画素値(この一例において、輝度値)とを対応付ける第1対応情報(この一例において、光輸送行列)を更新し、更新した第1対応情報に基づいて三次元形状情報を生成する。これにより、ロボット制御装置又は位置姿勢算出装置は、更新した第1対応情報に基づいて、対象物の位置及び姿勢の算出における対象物の光学特性による誤差を抑制し、当該位置及び姿勢を高い精度で算出することができる。
また、ロボット制御装置又は位置姿勢算出装置は、撮像部により対象物を含む領域が撮像された2以上の撮像画像と、投射部により当該領域に投射されたランダムドットパターンとに基づいて、記憶された行列であって撮像画像の各画素の画素値とランダムドットパターンの各画素の画素値とを対応付ける行列(この一例において、光輸送行列)を更新し、更新した当該行列に基づいて三次元形状情報を生成する。これにより、ロボット制御装置又は位置姿勢算出装置は、更新した行列であって撮像画像の各画素の画素値とランダムドットパターンの各画素の画素値とを対応付ける行列に基づいて、対象物の位置及び姿勢の算出における対象物の光学特性による誤差を抑制し、当該位置及び姿勢を高い精度で算出することができる。
また、ロボット制御装置又は位置姿勢算出装置は、撮像部により対象物を含む領域が撮像された2以上の撮像画像と、投射部により当該領域に投射されたランダムドットパターンとに基づいて、記憶された行列であって撮像画像の各画素の画素値に対するランダムドットパターンの各画素の画素値からの寄与を表す重みを成分として有する行列を更新し、更新した当該行列に基づいて三次元形状情報を生成する。これにより、ロボット制御装置又は位置姿勢算出装置は、撮像画像の各画素の画素値に対するランダムドットパターンの各画素の画素値からの寄与を表す重みを成分として有する行列に基づいて、対象物の位置及び姿勢の算出における対象物の光学特性による誤差を抑制し、当該位置及び姿勢を高い精度で算出することができる。
また、ロボット制御装置又は位置姿勢算出装置は、投射部により今回対象物を含む領域に投射したランダムドットパターンと、前回更新した第1対応情報と、投射部により今回対象物を含む領域に投射したランダムドットパターンが撮像部により撮像された撮像画像とに基づいて、当該第1対応情報を更新する。これにより、ロボット制御装置又は位置姿勢算出装置は、更新した第1対応情報に基づいて、対象物の位置及び姿勢の算出における対象物の光学特性による誤差を抑制し、当該位置及び姿勢を高い精度で算出することができる。
また、ロボット制御装置又は位置姿勢算出装置は、投射部により今回対象物を含む領域に投射したランダムドットパターンと、今回更新した第1対応情報と、当該ランダムドットパターンが投射された前記領域が前記撮像部により撮像された撮像画像とに基づいて、当該第1対応情報を更新するか否かを判定する。これにより、ロボット制御装置又は位置姿勢算出装置は、第1対応情報を更新するか否かの判定結果に基づいて、繰り返し第1対応情報を更新することができる。
また、ロボット制御装置又は位置姿勢算出装置は、生成した第1対応情報に基づいて、撮像画像の各画素と、ランダムドットパターンの各画素とを対応付ける第2対応情報を生成し、生成した第2対応情報と三角法に基づいて三次元形状情報を生成する。これにより、ロボット制御装置又は位置姿勢算出装置は、第1対応情報に基づいて算出された第2対応情報に基づいて、対象物の位置及び姿勢の算出における対象物の光学特性による誤差を抑制し、当該位置及び姿勢を高い精度で算出することができる。
また、ロボット制御装置又は位置姿勢算出装置は、2以上の互いに異なる投射画像であって、所定形状の画素の塊であるドットが複数規則的に配置され、ドット毎にランダムな画素値が割り当てられた投射画像のそれぞれが投射部により対象物を含む領域に投射される毎に撮像部により当該領域が撮像された2以上の撮像画像に基づいて対象物の三次元形状を表す三次元形状情報を生成する。これにより、ロボット制御装置又は位置姿勢算出装置は、所定形状の画素の塊であるドットが複数規則的に配置された投射画像であって、ドット毎にランダムな画素値が割り当てられた投射画像が対象物に投射されることにより、対象物の位置及び姿勢の算出における対象物の光学特性による誤差を抑制し、当該位置及び姿勢を高い精度で算出することができる。
また、ロボット制御装置又は位置姿勢算出装置は、投射部により対象物を含む領域に2以上の互いに異なる投射画像のそれぞれを投射する毎に撮像部により当該領域が撮像された2以上の撮像画像に基づいて、記憶された情報であって撮像画像の各画素の画素値と投射画像の各画素の画素値とを対応付ける対応情報を更新し、更新した対応情報に基づいて対象物の三次元形状を表す情報を生成する。これにより、ロボット制御装置又は位置姿勢算出装置は、対象物の位置及び姿勢の算出における対象物の光学特性による誤差を抑制し、当該位置及び姿勢を高い精度で算出することができる。
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
また、以上に説明した装置(例えば、ロボット制御装置30、位置姿勢算出装置50)における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD(Compact Disk)−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
1…ロボットシステム、5…投射部、10…撮像部、20…ロボット、30…ロボット制御装置、31…CPU、32、52…記憶部、33…入力受付部、34…通信部、35…表示部、36、36a、56…制御部、40…投射制御部、41…撮像制御部、42…画像取得部、43…第1対応情報算出部、44…第2対応情報算出部、45…判定部、46…三次元点群生成部、47…位置姿勢算出部、48…ロボット制御部、49…生成部、50…位置姿勢算出装置

Claims (13)

  1. 少なくとも1台の撮像部と、
    少なくとも1台の投射部と、
    前記投射部により対象物を含む領域に2以上の互いに異なるランダムドットパターンのそれぞれを投射し、前記撮像部により前記領域が撮像された2以上の撮像画像に基づいて前記対象物の位置及び姿勢を算出する制御部と、
    を備える位置姿勢算出装置。
  2. 前記制御部は、
    前記投射部により前記領域に前記ランダムドットパターンのそれぞれを投射する毎に前記撮像部により前記領域が撮像された前記撮像画像に基づいて前記対象物の位置及び姿勢を算出する、
    請求項1に記載の位置姿勢算出装置。
  3. 前記制御部は、前記撮像画像に基づいて前記対象物の三次元形状を表す三次元形状情報を生成し、生成した前記三次元形状情報に基づいて前記対象物の位置及び姿勢を算出する、
    請求項1又は2に記載の位置姿勢算出装置。
  4. 前記制御部は、前記撮像画像と、前記ランダムドットパターンとに基づいて、記憶された情報であって前記撮像画像の各画素の画素値と前記ランダムドットパターンの各画素の画素値とを対応付ける第1対応情報を更新し、更新した前記第1対応情報に基づいて前記三次元形状情報を生成する、
    請求項3に記載の位置姿勢算出装置。
  5. 前記第1対応情報は、前記撮像画像の各画素の画素値と前記ランダムドットパターンの各画素の画素値とを対応付ける行列である、
    請求項4に記載の位置姿勢算出装置。
  6. 前記行列は、前記撮像画像の各画素の画素値に対する前記ランダムドットパターンの各画素の画素値からの寄与を表す重みを成分として有する、
    請求項5に記載の位置姿勢算出装置。
  7. 前記制御部は、前記投射部により今回前記領域に投射した前記ランダムドットパターンと、前回更新した前記第1対応情報と、当該ランダムドットパターンが投射された前記領域が前記撮像部により撮像された前記撮像画像とに基づいて、当該第1対応情報を更新する、
    請求項4から6のうちいずれか一項に記載の位置姿勢算出装置。
  8. 前記制御部は、前記投射部により今回前記領域に投射した前記ランダムドットパターンと、今回更新した前記第1対応情報と、当該ランダムドットパターンが投射された前記領域が前記撮像部により撮像された前記撮像画像とに基づいて、当該第1対応情報を更新するか否かを判定する、
    請求項7に記載の位置姿勢算出装置。
  9. 前記制御部は、生成した前記第1対応情報に基づいて、前記撮像画像の各画素と、前記ランダムドットパターンの各画素とを対応付ける第2対応情報を生成し、生成した前記第2対応情報と三角法に基づいて前記三次元形状情報を生成する、
    請求項4から8のうちいずれか一項に記載の位置姿勢算出装置。
  10. 前記ランダムドットパターンは、
    所定形状の画素の塊であるドットが複数規則的に配置された投射画像であり、前記ドット毎にランダムな画素値が割り当てられた前記投射画像である、
    請求項1から9のうちいずれか一項に記載の位置姿勢算出装置。
  11. 少なくとも1台の撮像部と、
    少なくとも1台の投射部と、
    前記投射部により対象物を含む領域に2以上の互いに異なる投射画像のそれぞれを投射する毎に前記撮像部により前記領域が撮像された2以上の撮像画像に基づいて、記憶された情報であって前記撮像画像の各画素の画素値と前記投射画像の各画素の画素値とを対応付ける対応情報を更新し、更新した前記対応情報に基づいて前記対象物の三次元形状を表す三次元形状情報を生成する生成部と、
    前記生成部が生成した前記三次元形状情報に基づいて前記対象物の位置及び姿勢を算出する算出部と、
    を備える位置姿勢算出装置。
  12. 請求項1から11のうちいずれか一項に記載の位置姿勢算出装置が算出した前記対象物の位置及び姿勢に基づいてロボットに所定の作業を行わせる、
    ロボット制御装置。
  13. 請求項12に記載のロボット制御装置に制御される、
    ロボット。
JP2016112596A 2016-06-06 2016-06-06 位置姿勢算出装置、ロボット制御装置、及びロボット Pending JP2017219365A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016112596A JP2017219365A (ja) 2016-06-06 2016-06-06 位置姿勢算出装置、ロボット制御装置、及びロボット

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016112596A JP2017219365A (ja) 2016-06-06 2016-06-06 位置姿勢算出装置、ロボット制御装置、及びロボット

Publications (1)

Publication Number Publication Date
JP2017219365A true JP2017219365A (ja) 2017-12-14

Family

ID=60657420

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016112596A Pending JP2017219365A (ja) 2016-06-06 2016-06-06 位置姿勢算出装置、ロボット制御装置、及びロボット

Country Status (1)

Country Link
JP (1) JP2017219365A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110332887A (zh) * 2019-06-27 2019-10-15 中国地质大学(武汉) 一种基于特征光标点的单目视觉位姿测量系统及方法
CN112066879A (zh) * 2020-09-11 2020-12-11 哈尔滨工业大学 基于计算机视觉的气浮运动模拟器位姿测量装置及方法
CN112229323A (zh) * 2020-09-29 2021-01-15 华南农业大学 基于手机单目视觉的棋盘格合作目标的六自由度测量方法及其应用
CN113305851A (zh) * 2021-06-17 2021-08-27 东莞理工学院 一种机器人微装配用在线检测装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110332887A (zh) * 2019-06-27 2019-10-15 中国地质大学(武汉) 一种基于特征光标点的单目视觉位姿测量系统及方法
CN112066879A (zh) * 2020-09-11 2020-12-11 哈尔滨工业大学 基于计算机视觉的气浮运动模拟器位姿测量装置及方法
CN112066879B (zh) * 2020-09-11 2021-11-19 哈尔滨工业大学 基于计算机视觉的气浮运动模拟器位姿测量装置及方法
CN112229323A (zh) * 2020-09-29 2021-01-15 华南农业大学 基于手机单目视觉的棋盘格合作目标的六自由度测量方法及其应用
CN113305851A (zh) * 2021-06-17 2021-08-27 东莞理工学院 一种机器人微装配用在线检测装置

Similar Documents

Publication Publication Date Title
JP6357949B2 (ja) 制御システム、ロボットシステム、及び制御方法
JP2018051704A (ja) ロボット制御装置、ロボット、及びロボットシステム
JP2017219365A (ja) 位置姿勢算出装置、ロボット制御装置、及びロボット
EP2963513A2 (en) Teaching apparatus and robot system
CN105729441A (zh) 机器人、机器人系统、控制装置以及控制方法
JP2017170571A (ja) ロボット、ロボット制御装置、及びロボットシステム
JP2015168040A (ja) ロボット、ロボットシステム、制御装置、及び制御方法
JP2017071018A (ja) ロボットシステム、ロボット、及びロボット制御装置
JP2013215866A (ja) ロボットシステム、ロボットシステムのキャリブレーション方法、キャリブレーション装置およびデジタルカメラ
JP2019030943A (ja) キャリブレーション方法、キャリブレーションシステム及びプログラム
JP6699097B2 (ja) ロボット及び制御装置
JP6772630B2 (ja) 三次元計測装置及び三次元物体認識方法
JP2015174172A (ja) ロボット、ロボットシステム、及び制御装置
JP2015087321A (ja) 制御装置、ロボット、制御システム、制御方法、及び制御プログラム
US20180215044A1 (en) Image processing device, robot control device, and robot
CN109323668B (zh) 三维形状测定装置、机器人系统以及三维形状测定方法
CN115042184A (zh) 机器人手眼坐标转换方法、装置、计算机设备和存储介质
US10369703B2 (en) Robot, control device, and robot system
CN111745639A (zh) 信息处理方法及装置、物体检测装置以及机器人系统
JP2018017610A (ja) 三次元計測装置、ロボット、ロボット制御装置、及びロボットシステム
JP2017202549A (ja) ロボット制御装置、ロボット、及びロボットシステム
JP2018034243A (ja) ロボット、ロボット制御装置、及びロボットシステム
JP2020091126A (ja) 計測装置、システム、表示方法及びプログラム
JP2004306249A (ja) ロボットに搭載されたステレオ・カメラの診断用装置、並びにロボット装置に搭載されたステレオ・カメラの診断方法
US20230130816A1 (en) Calibration system, calibration method, and calibration apparatus

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20181026