JP2016013610A - ロボット、及び制御方法 - Google Patents
ロボット、及び制御方法 Download PDFInfo
- Publication number
- JP2016013610A JP2016013610A JP2014138127A JP2014138127A JP2016013610A JP 2016013610 A JP2016013610 A JP 2016013610A JP 2014138127 A JP2014138127 A JP 2014138127A JP 2014138127 A JP2014138127 A JP 2014138127A JP 2016013610 A JP2016013610 A JP 2016013610A
- Authority
- JP
- Japan
- Prior art keywords
- image
- robot
- unit
- jacobian matrix
- imaging unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 35
- 238000003384 imaging method Methods 0.000 claims abstract description 93
- 239000011159 matrix material Substances 0.000 claims abstract description 78
- 238000013519 translation Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 description 32
- 238000006243 chemical reaction Methods 0.000 description 28
- 238000004891 communication Methods 0.000 description 14
- 230000003287 optical effect Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 210000000078 claw Anatomy 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Manipulator (AREA)
Abstract
【課題】撮像部もしくは物体を動かすことなくヤコビ行列を算出することができるロボットを提供すること。
【解決手段】ロボットは、第1位置に配置された撮像部が撮像した第2位置に配置された物体の第1画像を取得し、物体を前記第1位置とは異なる複数の位置から撮像した画像に相当する複数の第2画像を用いて動作する。
【選択図】図3
【解決手段】ロボットは、第1位置に配置された撮像部が撮像した第2位置に配置された物体の第1画像を取得し、物体を前記第1位置とは異なる複数の位置から撮像した画像に相当する複数の第2画像を用いて動作する。
【選択図】図3
Description
この発明は、ロボット、及び制御方法に関する。
撮像部により撮像された撮像画像に基づいてロボットに所定の作業を行わせる技術が研究・開発されている。特に、工場における組立作業の自動化において、撮像部により撮像された撮像画像から作業対象の位置及び姿勢を推定することは、必要不可欠である。
これに関連し、ESM(Efficient Second-order Minimization Method)法を用いて作業対象の位置及び姿勢を推定するロボット装置が知られている(特許文献1参照)。
しかしながら、従来のロボット装置が三次元物体の位置及び姿勢を推定するためには、その三次元物体のヤコビ行列を導出する必要がある。ヤコビ行列を導出するためには、一般的には、撮像部もしくは物体を微小に動かす必要がある。そのため、撮像部もしくは物体を微小に動かすことができない状況下では、ヤコビ行列を導出することができず、ESM法を用いた、三次元物体の位置及び姿勢を推定することができなかった。
そこで本発明は、上記従来技術の問題に鑑みてなされたものであり、撮像部もしくは物体を動かすことなく作業を行うことができるロボット、及び制御方法を提供する。
本発明の一態様は、第1位置に配置された撮像部が撮像した第2位置に配置された物体の第1画像を取得し、前記物体を前記第1位置とは異なる複数の位置から撮像した画像に相当する複数の第2画像を用いて動作する、ロボットである。
この構成により、ロボットは、第1位置に配置された撮像部が撮像した第2位置に配置された物体の第1画像を取得し、物体を第1位置とは異なる複数の位置から撮像した画像に相当する複数の第2画像を用いて動作する。これにより、ロボットは、撮像部もしくは物体を動かすことなく作業を行うことができる。
この構成により、ロボットは、第1位置に配置された撮像部が撮像した第2位置に配置された物体の第1画像を取得し、物体を第1位置とは異なる複数の位置から撮像した画像に相当する複数の第2画像を用いて動作する。これにより、ロボットは、撮像部もしくは物体を動かすことなく作業を行うことができる。
また、本発明の他の態様は、ロボットにおいて、複数の前記第2画像を用いて算出されたヤコビ行列に基づいて動作する、構成が用いられてもよい。
この構成により、ロボットは、複数の第2画像を用いて算出されたヤコビ行列に基づいて動作する。これにより、ロボットは、撮像部もしくは物体を動かすことなく算出されたヤコビ行列によって作業を行うことができる。
この構成により、ロボットは、複数の第2画像を用いて算出されたヤコビ行列に基づいて動作する。これにより、ロボットは、撮像部もしくは物体を動かすことなく算出されたヤコビ行列によって作業を行うことができる。
また、本発明の他の態様は、ロボットにおいて、前記ヤコビ行列は、前記物体のリファレンスモデルと、前記第1画像との差分画像に基づいてステップサイズを算出し、算出された前記ステップサイズに基づいて算出される、構成が用いられてもよい。
この構成により、ロボットは、物体のリファレンスモデルと、前記第1画像との差分画像に基づいてステップサイズを算出し、算出された前記ステップサイズに基づいてヤコビ行列を算出する。これにより、ロボットは、最適化の進行度に応じた適切なステップサイズに基づいてヤコビ行列を算出することができる。
この構成により、ロボットは、物体のリファレンスモデルと、前記第1画像との差分画像に基づいてステップサイズを算出し、算出された前記ステップサイズに基づいてヤコビ行列を算出する。これにより、ロボットは、最適化の進行度に応じた適切なステップサイズに基づいてヤコビ行列を算出することができる。
また、本発明の他の態様は、ロボットにおいて、複数の前記第2画像は、前記第1画像に含まれる前記物体に微小回転を行うことで生成される、構成が用いられてもよい。
この構成により。ロボットは、第1画像に含まれる物体に微小回転を行うことで、複数の第2画像を生成する。これにより、ロボットは、撮像部10を動かすことなく、撮像部10を動かした場合に得られる複数の画像を得ることができる。
この構成により。ロボットは、第1画像に含まれる物体に微小回転を行うことで、複数の第2画像を生成する。これにより、ロボットは、撮像部10を動かすことなく、撮像部10を動かした場合に得られる複数の画像を得ることができる。
また、本発明の他の態様は、ロボットにおいて、複数の前記第2画像は、前記微小回転を行った後、前記第1画像に含まれる前記物体に微小並進を行うことで生成される、構成が用いられてもよい。
この構成により、ロボットは、第1画像に含まれる物体に微小回転を行った後、第1画像に含まれる物体に微小並進を行うことで、複数の前記第2画像を生成する。これにより、ロボットは、誤差の小さな画像であって撮像部を動かした場合に得られるであろう複数の画像を得ることができる。
この構成により、ロボットは、第1画像に含まれる物体に微小回転を行った後、第1画像に含まれる物体に微小並進を行うことで、複数の前記第2画像を生成する。これにより、ロボットは、誤差の小さな画像であって撮像部を動かした場合に得られるであろう複数の画像を得ることができる。
また、本発明の他の態様は、第1位置に配置された撮像部が撮像した第2位置に配置された物体の第1画像を取得し、前記物体を前記第1位置とは異なる複数の位置から撮像した画像に相当する複数の第2画像を用いて、ロボットを動作させる、制御方法である。
この構成により、制御方法は、第1位置に配置された撮像部が撮像した第2位置に配置された物体の第1画像を取得し、物体を第1位置とは異なる複数の位置から撮像した画像に相当する複数の第2画像を用いて、ロボットを動作させる。これにより、制御方法は、撮像部もしくは物体を動かすことなく作業を行うことができる。
この構成により、制御方法は、第1位置に配置された撮像部が撮像した第2位置に配置された物体の第1画像を取得し、物体を第1位置とは異なる複数の位置から撮像した画像に相当する複数の第2画像を用いて、ロボットを動作させる。これにより、制御方法は、撮像部もしくは物体を動かすことなく作業を行うことができる。
以上により、ロボット、及び制御方法は、第1位置に配置された撮像部が撮像した第2位置に配置された物体の第1画像を取得し、物体を第1位置とは異なる複数の位置から撮像した画像に相当する複数の第2画像を用いて動作する。これにより、ロボット、及び制御方法は、撮像部もしくは物体を動かすことなく作業を行うことができる。
<実施形態>
以下、本発明の本実施形態について、図面を参照して説明する。図1は、本実施形態に係るロボットシステム1の一例を示す構成図である。ロボットシステム1は、撮像部10と、ロボット20と、制御装置30を具備する。
以下、本発明の本実施形態について、図面を参照して説明する。図1は、本実施形態に係るロボットシステム1の一例を示す構成図である。ロボットシステム1は、撮像部10と、ロボット20と、制御装置30を具備する。
ロボットシステム1は、テーブルTB上に設置された物体Oを撮像部10により撮像し、撮像された撮像画像に基づいて、物体Oの位置及び姿勢を算出する。テーブルTBは、物体Oが配置される台等である。物体Oとは、ロボット20により行われる作業に係る物体であり、例えば、ネジやボルト、歯車、治具等の工業用の部品や、工業部品等を入れる容器等であるが、これらに限られず、ロボット20により行われる作業に係る物体であれば他の物体であってもよい。図1では、この物体Oを、直方体形状の物体として表す。なお、以下では、説明の便宜上、物体Oの位置及び姿勢を物体位置姿勢と称して説明する。また、物体Oが設置されるテーブルTB上の位置は、第2位置の一例である。
ロボットシステム1は、物体位置姿勢を算出すると、算出された物体位置姿勢に基づいてロボット20に物体Oを把持させる。そして、ロボットシステム1は、ロボット20に物体Oを図示しない所定の配置位置Xに配置させる。以下では、説明の便宜上、撮像部10による物体Oの撮像から、物体Oを配置位置Xに配置させるまでのロボットシステム1の一連の動作を所定の作業と称して説明する。
撮像部10は、例えば、集光された光を電気信号に変換する撮像素子であるCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等を備えたカメラである。また、撮像部10は、1台のカメラによって構成される単眼のカメラであるが、例えば、2台以上のカメラによって構成されてもよい。
撮像部10は、ケーブルによって制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB(Universal Serial Bus)等の規格によって行われる。なお、撮像部10と制御装置30とは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって接続される構成であってもよい。
撮像部10には、光学中心を原点とする三次元座標系Σが設定される。三次元座標系ΣのZ軸は、撮像部10の光軸方向と一致するように設定される。また、三次元座標系ΣのX軸及びY軸は、互いに直交し、且つZ軸と直交するように設定される。この三次元座標系Σは、撮像部10により撮像された撮像画像(すなわち、撮像素子)上の座標を表す。撮像部10は、例えば、光軸(すなわち、Z軸)が物体Oに予め設定される仮想的な平面と直交するように設置される。
この仮想的な平面は、物体Oと対応付けられた点を含む面であり、例えば、物体Oの角等を含む平面である。また、撮像部10は、テーブルTB上に設置された物体Oを含む範囲(以下、撮像範囲と称する)を撮像可能な位置に設置される。撮像範囲を撮像可能な撮像部10が設置される位置は、第1位置の一例である。なお、ロボットシステム1において、撮像部10は、ロボット20の腕(例えば、マニピュレーターMNPと把持部HNDの間等)に設置される構成であってもよい。
ロボット20は、例えば、把持部HNDと、マニピュレーターMNPと、図示しない複数のアクチュエーターを備えた単腕のロボットである。単腕のロボットとは、把持部HNDとマニピュレーターMNPにより構成される1本の腕を有するロボットを示す。また、ロボットシステム1は、単腕のロボットを具備する構成に代えて、スカラーロボット(水平多関節ロボット)や双腕のロボット等であってもよい。スカラーロボットとは、マニピュレーターが水平方向にのみ動き、マニピュレーターの先端のスライド軸のみが上下に動くロボットである。また、双腕のロボットとは、把持部HNDとマニピュレーターMNPによりそれぞれ構成される2本の腕を有するロボットを示す。
ロボット20の腕は、6軸垂直多関節型となっており、支持台とマニピュレーターMNPと把持部HNDとがアクチュエーターによる連携した動作よって6軸の自由度の動作を行うことができる。なお、ロボット20の腕は、5自由度(5軸)以下で動作するものであってもよいし、7自由度(7軸)以上で動作するものであってもよい。以下では、把持部HND及びマニピュレーターMNPを備えた腕によって行われるロボット20の動作について説明する。
ロボット20の把持部HNDは、物体を把持可能な爪部を備える。把持部HNDは、ハンドの一例である。
ロボット20の把持部HNDは、物体を把持可能な爪部を備える。把持部HNDは、ハンドの一例である。
ロボット20は、例えばケーブルによって制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、ロボット20と制御装置30とは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって接続されてもよい。また、ロボットシステム1では、ロボット20は、図1に示したようにロボット20の外部に設置された制御装置30と接続されている構成とするが、この構成に代えて、制御装置30がロボット20に内蔵されている構成であってもよい。
ロボット20は、制御装置30から制御信号を取得し、取得した制御信号に基づいて物体Oを把持し、把持した物体Oを配置位置Xに配置する。
ロボット20は、制御装置30から制御信号を取得し、取得した制御信号に基づいて物体Oを把持し、把持した物体Oを配置位置Xに配置する。
制御装置30は、撮像部10に前述の撮像範囲を静止画像又は動画像として撮像させ、撮像された撮像画像(前述の静止画像又は動画像)に基づいてビジュアルサーボによって物体Oをロボット20に把持させ、把持させた物体Oを配置位置Xに配置させる。より具体的には、制御装置30は、撮像部10により撮像された撮像画像と、図1に示した距離dとに基づいて物体位置姿勢を算出する。
ここで、距離dとは、撮像部10に設定された三次元座標系Σの原点と、前述した物体Oに予め設定された仮想的な面との間の距離を示す。なお、制御装置30には、この距離dを示す情報が予め登録されているとする。制御装置30は、撮像部10により撮像された撮像画像と、予め登録されている距離dと、予め登録されている物体Oのリファレンスモデルとに基づいて、物体Oのヤコビ行列を算出する。なお、距離dは、近似的に撮像部10とテーブルTBとの間の距離としてもよく、撮像部10とテーブルTBとの間の距離よりも所定の距離だけ短い又は長い距離としてもよい。
リファレンスモデルとは、物体O又は物体Oの形状、色彩、模様等を三次元モデル化して得られた三次元モデルデータのことである。リファレンスモデルは、撮像部10により撮像された物体Oとの比較対象となるものであり、例えば、三次元コンピューターグラフィックス(Computer Graphics;CG)で表現される。この三次元CGは、例えば、ポリゴンデータの集合として表される。
制御装置30は、算出された物体Oのヤコビ行列に基づいて物体位置姿勢を算出する。制御装置30は、算出された物体位置姿勢に基づいて把持部HNDにより物体Oを把持するようにロボット20を制御する。そして、制御装置30は、把持部HNDにより把持された物体Oを配置位置Xに配置するようにロボット20を制御する。
次に、図2を参照して、制御装置30のハードウェア構成について説明する。図2は、制御装置30のハードウェア構成の一例を示す図である。制御装置30は、例えば、CPU(Central Processing Unit)31と、記憶部32と、入力受付部33と、通信部34を備え、通信部34を介して制御装置30と通信を行う。これらの構成要素は、バスBusを介して相互に通信可能に接続されている。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)などを含み、制御装置30が処理する各種情報や画像、プログラム、前述した距離dを示す情報、前述したリファレンスモデルを示す情報等を格納する。なお、記憶部32は、制御装置30に内蔵されるものに代えて、USB等のデジタル入出力ポート等によって接続された外付け型の記憶装置でもよい。
入力受付部33は、例えば、キーボードやマウス、タッチパッド、その他の入力装置である。なお、入力受付部33は、表示部として機能することでタッチパネルとして構成されてもよい。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
次に、図3を参照して、制御装置30の機能構成について説明する。図3は、制御装置30の機能構成の一例を示す図である。制御装置30は、記憶部32と、画像取得部35と、制御部36を備える。制御部36が備える機能部のうち一部又は全部は、例えば、CPU31が、記憶部32に記憶された各種プログラムを実行することで実現される。また、これらの機能部のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
画像取得部35は、撮像部10から撮像画像を取得する。画像取得部35は、取得された撮像画像を制御部36に出力する。
制御部36は、制御装置30の全体を制御する。制御部36は、撮像制御部37と、画像生成部38と、ヤコビ行列算出部39と、ロボット制御部40を備える。
撮像制御部37は、撮像部10に物体Oを含む範囲を撮像させる。
制御部36は、制御装置30の全体を制御する。制御部36は、撮像制御部37と、画像生成部38と、ヤコビ行列算出部39と、ロボット制御部40を備える。
撮像制御部37は、撮像部10に物体Oを含む範囲を撮像させる。
画像生成部38は、記憶部32から距離dを示す情報を読み込む。また、画像生成部38は、記憶部32からリファレンスモデルを示す情報を読み込む。また、画像生成部38は、画像取得部35から撮像画像を取得する。画像生成部38は、画像取得部35から取得された撮像画像と、記憶部32から読み込まれた距離dと、記憶部32から読み込まれたリファレンスモデルとに基づいて、物体Oが異なる方向から撮像された場合に得られる撮像画像(以下、異方向画像と称する)を画像処理によって生成する。以下では、画像生成部38が行うこれらの処理をまとめて画像生成処理と称して説明する。なお、画像取得部35から取得される撮像画像は、第1画像の一例である。また、画像生成部38により生成される異方向画像は、第2画像の一例である。
ヤコビ行列算出部39は、記憶部32からリファレンスモデルを示す情報を読み込み、読み込まれたリファレンスモデルに基づいて、物体位置姿勢をESM法によって算出するためのヤコビ行列を算出する。本発明におけるヤコビ行列とは、画像特徴ベクトルを剛体運動パラメーターで微分したもの (画像特徴ベクトルは,単純に画素値を並べたものでもよい)を示す。以下では、説明の便宜上、このヤコビ行列を基準ヤコビ行列と称して説明する。
なお、ヤコビ行列は、例えば、物体位置姿勢を推定するために利用される非線形最小化手法に必要なパラメーターを含む行列である。非線形最小化手法とは、例えば、ESM法やレーベンバーグ・マルカート法、ニュートン法、ガウス・ニュートン法等である。これらの非線形最小化手法のうち、ESM法は、他の手法に比べて反復計算の回数が少ないため、物体位置姿勢をより高速に推定したい場合に、好適に用いることができる。そこで、以下では、非線形最小化手法としてESM法を採用し、算出したヤコビ行列は、ESM法に用いるパラメーターであるものとして説明する。
また、ヤコビ行列算出部39は、読み込まれたリファレンスモデルと、画像取得部35により取得された撮像画像と、画像生成部38により生成された複数の異方向画像とに基づいて、物体Oに係るヤコビ行列を算出する。以下では、説明の便宜上、このヤコビ行列を算出ヤコビ行列と称して説明する。なお、ヤコビ行列算出部39は、算出部の一例である。
ロボット制御部40は、ヤコビ行列算出部39により算出された基準ヤコビ行列と、ヤコビ行列算出部39により算出された算出ヤコビ行列に基づいてESM法により物体位置姿勢を算出する。また、ロボット制御部40は、算出された物体位置姿勢に基づいて把持部HNDにより物体Oを把持するようにロボット20を制御する。ロボット20が把持部HNDにより物体Oを把持した後、ロボット制御部40は、物体Oを配置位置Xに配置するようにロボット20を制御する。
以下、図4を参照して、制御装置30がロボット20に所定の作業を行わせる処理について説明する。図4は、制御装置30がロボット20に所定の作業を行わせる処理の流れの一例を示すフローチャートである。まず、撮像制御部37は、物体Oを含む範囲を撮像するように撮像部10を制御する(ステップS100)。
次に、画像取得部35は、撮像部10により撮像された撮像画像を撮像部10から取得する(ステップS110)。次に、画像生成部38は、画像取得部35により取得された撮像画像に対して画像生成処理を行う(ステップS120)。ここで、画像生成処理について説明する。画像生成部38は、記憶部32から距離dを示す情報を読み込む。画像生成部38は、読み込まれた距離dに基づいて画像取得部35により取得された撮像画像に対してホモグラフィー変換を行う。
ホモグラフィー変換とは、第1平面を、射影変換を用いて第1平面とは異なる第2平面に射影する変換のことである。画像生成部38は、このホモグラフィー変換により、ある方向から撮像部10により物体Oを含む範囲が撮像された撮像画像(前述の第1平面)を、他の方向から撮像部10により物体Oを含む範囲が撮像された時に取得される撮像画像(前述の第2平面)に近似的に変換する。
換言すると、画像生成部38は、他の方向から撮像部10により物体Oを含む範囲を撮像した場合に画像取得部35から取得されるであろう撮像画像を、画像取得部35から取得された撮像画像に対してホモグラフィー変換を行うことによって近似的に生成する。なお、画像生成部38は、このホモグラフィー変換を、撮像画像に含まれる物体Oに対して行う。これにより、画像生成部38は、ホモグラフィー変換を撮像画像全体に対して行う場合と比較して、このホモグラフィー変換に伴う計算量を抑制することができる。
他の方向とは、図1に示した三次元座標系ΣのX軸、Y軸、Z軸のうちいずれか一つの軸周りで撮像部10を仮想的に微小回転及び微小並進させた時に、撮像部10の光軸が向く方向である。以下では、他の方向から撮像部10により物体Oを含む範囲が撮像された撮像画像を、異方向画像と称して説明する。撮像部10を仮想的に微小回転及び微小並進させた時の複数の仮想的な撮像部10の位置は、第1位置とは異なる複数の位置の一例である。
なお、三次元座標系ΣのX軸、Y軸、Z軸のそれぞれの周りで撮像部10を微小回転させる方向は、正方向と負方向の2つの方向がある。従って、画像生成部38は、撮像画像に含まれる物体Oを、三次元座標系ΣのX軸、Y軸、Z軸のそれぞれの周りで正方向と負方向に微小回転させるため、ホモグラフィー変換によって6枚の異方向画像を生成する。なお、画像生成部38は、予め記憶部32に記憶されたX軸、Y軸、Z軸のそれぞれに係る微小回転量を読み込み、読み込まれた微小回転量に基づいて撮像画像に映る物体Oを微小回転させる。
ここで、図5を参照して、画像生成部38が異方向画像を生成する処理について説明する。図5は、画像生成部38により生成される6枚の異方向画像のうち、ホモグラフィー変換により前述した三次元座標系ΣのX軸、Y軸、Z軸のそれぞれの周りで正方向に撮像部10を微小回転させた時に撮像される画像として近似的に利用可能な3枚の異方向画像と、ホモグラフィー変換による微小回転が行われる前の画像取得部35から取得された撮像画像を例示する図である。なお、X軸、Y軸、Z軸のそれぞれの周りで負方向に撮像部10を微小回転させた時に撮像される画像として近似的に利用可能な3枚の異方向画像の生成に係る処理は、図5に示した3枚の異方向画像の生成に係る処理と同様なため、説明を省略する。
図5(A)に示した画像Pは、ホモグラフィー変換が行われる前の画像取得部35から取得された撮像画像の一例である。画像Pには、物体Oが含まれている(映っている)。図5(B)に示した画像PXは、X軸の周りで正方向に撮像部10を微小回転させた時に撮像される画像として近似的に利用可能な異方向画像の一例である。画像PXには、画像Pに含まれる物体Oにホモグラフィー変換による微小回転が行われた後の物体Oが映っている。また、画像PX上の点線POは、ホモグラフィー変換による微小回転が行われる前の物体Oの輪郭(すなわち、画像Pに含まれる物体Oの輪郭)を示す。
図5(B)に示したように、画像PXは、ホモグラフィー変換による微小並進が行われる前の画像であるため、物体Oは、点線POからずれている。このずれは、撮像部10の光軸と前述した仮想的な平面とが交差する位置が、ホモグラフィー変換による微小回転の影響で、その微小回転の前後でずれてしまうことにより生じる。また、このずれの大きさΔdyは、ホモグラフィー変換によって微小角度Δθだけ微小回転を行った場合、撮像部10と前述の仮想的な平面との間の距離dに応じて、以下に示した式(1)によって算出することができる。
Δdy=d×tan(Δθ)≒dΔθ ・・・(1)
ここで、上記の式(1)の最右辺は、Δθが微小角度であることによる近似を示す。従って、画像生成部38は、ホモグラフィー変換によって三次元座標系ΣのX軸の周りで正方向に撮像部10を微小角度Δθだけ微小回転させた時に撮像される画像として近似的に利用可能な異方向画像を生成する時、画像Pに含まれる物体Oにホモグラフィー変換による微小回転を行って画像PXを生成した後、上記の式(1)に基づいてY軸方向にΔdyだけ画像PXに含まれる物体Oを、撮像部10を微小角度Δθだけ微小回転させた時に撮像部10の光軸が動いた方向と反対方向に微小並進させる。これにより、画像生成部38は、ヤコビ行列を算出するために必要な異方向画像のうち、三次元座標系ΣのX軸の周りで正方向に撮像部10を微小角度Δθだけ微小回転させた時に撮像される画像として利用可能な異方向画像を生成する。
また、図5(B)に示した画像PYは、Y軸の周りで正方向に撮像部10を微小回転させた時に撮像される画像として近似的に利用可能な異方向画像の一例である。画像PYには、画像Pに含まれる物体Oにホモグラフィー変換による微小回転が行われた後の物体Oが映っている。また、画像PY上の点線POは、ホモグラフィー変換が行われる前の物体Oの輪郭を示す。
画像PXの場合と同様に、画像生成部38は、ホモグラフィー変換によって三次元座標系ΣのY軸の周りで正方向に撮像部10を微小角度Δφだけ微小回転させた時に撮像される画像として近似的に利用可能な異方向画像を生成する時、画像Pに含まれる物体Oにホモグラフィー変換による微小回転を行って画像PYを生成した後、以下の式(2)に基づいてX軸方向にΔdxだけ画像PXに含まれる物体Oを、撮像部10を微小角度Δφだけ微小回転させた時に撮像部10の光軸が動いた方向と反対方向に微小並進させる。
Δdx=d×tan(Δφ)≒dΔφ ・・・(2)
ここで、上記の式(1)の最右辺は、Δθが微小角度であることによる近似を示す。これにより、画像生成部38は、ヤコビ行列を算出するために必要な異方向画像のうち、三次元座標系ΣのY軸の周りで正方向に撮像部10を微小角度Δφだけ微小回転させた時に撮像される画像として利用可能な異方向画像を生成する。
また、図5(B)に示した画像PZは、Z軸の周りで正方向に撮像部10を微小回転させた時に撮像される画像として近似的に利用可能な異方向画像の一例である。画像PZには、画像Pに含まれる物体Oに対してホモグラフィー変換による微小回転が行われた後の物体Oが映っている。また、画像PZ上の点線POは、ホモグラフィー変換が行われる前の物体Oの輪郭を示す。
Z軸周りに撮像部10を回転させた場合、撮像部10の光軸周りに撮像部10を回転させることになるため、撮像部10の光軸と前述した仮想的な平面とが交差する位置が、ホモグラフィー変換による微小回転の影響でずれてしまうことがない。従って、画像生成部38は、ヤコビ行列を算出するために必要な異方向画像のうち、画像PXや画像PYの場合と異なり、微小並進を行うことなく三次元座標系ΣのZ軸の周りで正方向に撮像部10を微小角度Δφだけ微小回転させた時に撮像される画像として近似的に利用可能な異方向画像を生成する。
次に、ヤコビ行列算出部39は、基準ヤコビ行列と、算出ヤコビ行列を算出する(ステップS130)。より具体的には、ヤコビ行列算出部39は、記憶部32からリファレンスモデルを読み込む。なお、ヤコビ行列算出部39は、画像生成部38によりリファレンスモデルが読み込まれている場合、それを用いて以下で説明する処理を行ってもよい。ヤコビ行列算出部39は、基準ヤコビ行列を算出していない場合、リファレンスモデルに基づいて基準ヤコビ行列を算出する。
ここで、基準ヤコビ行列の導出について説明する。ヤコビ行列算出部39は、リファレンスモデルを読み込み、読み込まれたリファレンスモデルがある任意の位置に存在するときのヤコビ行列を導出する。なお、ヤコビ行列算出部39は、基準ヤコビ行列を算出するための処理を全てCG上で行うため、算出ヤコビ行列を導出する際に行ったようなホモグラフィー変換を行う必要は無く、CG上で撮像部を微小移動させた時に得られる画像を生成する。この時、CG上においても微小回転変化に伴うずれが発生するため、ヤコビ行列算出部39は、算出ヤコビ行列を求める際に行う微小並進させる処理(段落[0046]〜[0054])を、基準ヤコビ行列を導出するときについてもCG上で行う必要がある。
基準ヤコビ行列を算出した後、ヤコビ行列算出部39は、記憶部32に基準ヤコビ行列を示す情報を出力して記憶させる。ヤコビ行列算出部39は、すでに基準ヤコビ行列を算出している場合、記憶部32から基準ヤコビ行列を読み込む。また、ヤコビ行列算出部39は、画像取得部35から取得された撮像画像と、画像生成部38により生成された6枚の異方向画像とに基づいて、算出ヤコビ行列を算出する。
なお、ヤコビ行列算出部39は、予め登録されているステップサイズに基づいてヤコビ行列の計算に用いる数値微分を行い、三次元算出ヤコビ行列を算出する。ただし、リファレンスモデルと、画像取得部35から取得された撮像画像との隔たりが大きい場合、ヤコビ行列算出部39は、ヤコビ行列の計算に用いる数値微分のステップサイズΔを以下の式(3)に基づいて算出する構成であってもよい。
Δ=u(x)×(1.0+α×(E/E0)×Δ0) ・・・(3)
ここで、αは、設計定数を示し、例えば、200である。Eは、リファレンスモデルと、画像取得部35から取得された撮像画像との差分画像における非ゼロ画素数を示す。E0は、画像取得部35から取得された撮像画像中の物体Oの輪郭内に含まれる全画素数を示す。u(x)は、階段関数であり、例えば、引数xの値に応じて1、2、4、8のいずれかの値となる関数である。例えば、u(x)は、x>8の時に8、4<x≦8の時に4、2<x≦4の時に2、xがその他の値の時に1となる。Δ0は、設計段階で設定する基本ステップサイズを示す。なお、α、u(x)、Δ0のそれぞれは、パラメーター情報として予め記憶部32に記憶されているとする。
上記の式(3)に基づいてステップサイズΔを算出する場合、ヤコビ行列算出部39は、記憶部32からリファレンスモデルを読み込む。画像生成部38は、記憶部32から読み込まれたリファレンスモデルと、画像取得部35から取得された撮像画像との差分画像を生成する。そして、ヤコビ行列算出部39は、記憶部32からパラメーター情報を読み込み、読み込まれたパラメーター情報と、生成された差分画像と、画像取得部35から取得された撮像画像とに基づいて、上記の式(3)を用いてステップサイズΔを算出する。
ヤコビ行列算出部39は、算出されたステップサイズΔを用いて算出ヤコビ行列を算出する。これにより、ヤコビ行列算出部39は、上記の式(3)に基づいてステップサイズΔを算出しない場合と比較して、ステップサイズΔを大きくすることができる。その結果、ヤコビ行列算出部39は、画像取得部35から取得される撮像画像に映る物体Oと、リファレンスモデルとの隔たりを収束させるために掛かる計算量を抑制することができる。
次に、ロボット制御部40は、ステップS130で算出された基準ヤコビ行列と、算出ヤコビ行列とに基づいて物体位置姿勢を算出する。そして、ロボット制御部40は、算出された物体位置姿勢に基づいて把持部HNDにより物体Oを把持するようにロボット20を制御する(ステップS140)。次に、ロボット制御部40は、把持部HNDにより把持された物体Oを前述の配置位置Xに配置するようにロボット20を制御する(ステップS150)。
以上説明したように、本実施形態におけるロボットシステム1は、撮像画像であってテーブルTB上に設置された物体Oを含む撮像画像を取得し、物体Oを撮像部10が設置された位置とは異なる複数の位置から撮像した画像に相当する複数の異方向画像を生成し、生成された複数の異方向画像を用いてロボット20を動作させる。これにより、ロボットシステム1は、撮像部10もしくは物体Oを動かすことなくロボット20に作業を行わせることができる。
また、ロボットシステム1は、複数異方向画像を用いて算出されたヤコビ行列に基づいてロボット20を動作させる。これにより、ロボットシステム1は、撮像部10もしくは物体Oを動かすことなく算出されたヤコビ行列によってロボット20に作業を行わせることができる。
また、ロボットシステム1は、物体Oのリファレンスモデルと、画像取得部35から取得された撮像画像との差分画像に基づいてステップサイズを算出し、算出されたステップサイズに基づいて算出ヤコビ行列を算出する。これにより、ロボットシステム1は、算出ヤコビ行列を算出するための計算量を抑制することができる。
また、ロボットシステム1は、画像取得部35から取得される撮像画像に含まれる物体Oに微小回転を行うことで、複数の異方向画像を生成する。これにより、ロボットシステム1は、撮像部10を動かすことなく、撮像部10を動かした場合に得られるであろう複数の画像を得ることができる。
また、ロボットシステム1は、画像取得部35から取得される撮像画像に含まれる物体Oに微小回転を行った後、その撮像画像に含まれる物体Oに微小並進を行うことで、複数の異方向画像を生成する。これにより、ロボットシステム1は、誤差の小さな画像であって撮像部10を動かした場合に得られるであろう複数の画像を複数の異方向画像として得ることができる。
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
また、以上に説明した装置(例えば、ロボットシステム1の制御装置30)における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD(Compact Disk)−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM:Random Access Memory)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
1 ロボットシステム、10 撮像部、20 ロボット、30 制御装置、31 CPU、32 記憶部、33 入力受付部、34 通信部、35 画像取得部、36 制御部、37 撮像制御部、38 画像生成部、39 ヤコビ行列算出部、40 ロボット制御部
Claims (6)
- 第1位置に配置された撮像部が撮像した第2位置に配置された物体の第1画像を取得し、
前記物体を前記第1位置とは異なる複数の位置から撮像した画像に相当する複数の第2画像を用いて動作する、
ロボット。 - 請求項1に記載のロボットであって、
複数の前記第2画像を用いて算出されたヤコビ行列に基づいて動作する、
ロボット。 - 請求項2に記載のロボットであって、
前記ヤコビ行列は、前記物体のリファレンスモデルと、前記第1画像との差分画像に基づいてステップサイズを算出し、算出された前記ステップサイズに基づいて算出される、
ロボット。 - 請求項1又は2に記載のロボットであって、
複数の前記第2画像は、前記第1画像に含まれる前記物体に微小回転を行うことで生成される、
ロボット。 - 請求項4に記載のロボットであって、
複数の前記第2画像は、前記微小回転を行った後、前記第1画像に含まれる前記物体に微小並進を行うことで生成される、
ロボット。 - 第1位置に配置された撮像部が撮像した第2位置に配置された物体の第1画像を取得し、
前記物体を前記第1位置とは異なる複数の位置から撮像した画像に相当する複数の第2画像を用いて、ロボットを動作させる、
制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014138127A JP2016013610A (ja) | 2014-07-03 | 2014-07-03 | ロボット、及び制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014138127A JP2016013610A (ja) | 2014-07-03 | 2014-07-03 | ロボット、及び制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2016013610A true JP2016013610A (ja) | 2016-01-28 |
Family
ID=55230233
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014138127A Pending JP2016013610A (ja) | 2014-07-03 | 2014-07-03 | ロボット、及び制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2016013610A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113313707A (zh) * | 2021-06-25 | 2021-08-27 | 西安紫光展锐科技有限公司 | 原始图像处理方法、装置、设备及可读存储介质 |
-
2014
- 2014-07-03 JP JP2014138127A patent/JP2016013610A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113313707A (zh) * | 2021-06-25 | 2021-08-27 | 西安紫光展锐科技有限公司 | 原始图像处理方法、装置、设备及可读存储介质 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6380828B2 (ja) | ロボット、ロボットシステム、制御装置、及び制御方法 | |
| JP6180086B2 (ja) | 情報処理装置及び情報処理方法 | |
| JP6427972B2 (ja) | ロボット、ロボットシステム及び制御装置 | |
| CN105269578B (zh) | 指示装置以及机器人系统 | |
| JP6364836B2 (ja) | ロボット、ロボットシステム、及び制御装置 | |
| JP6443837B2 (ja) | ロボット、ロボットシステム、制御装置、及び制御方法 | |
| US20170277167A1 (en) | Robot system, robot control device, and robot | |
| JP6699097B2 (ja) | ロボット及び制御装置 | |
| JP2013036988A (ja) | 情報処理装置及び情報処理方法 | |
| JP2018051704A (ja) | ロボット制御装置、ロボット、及びロボットシステム | |
| JP2017124470A (ja) | ロボット、及びロボットシステム | |
| US20180215044A1 (en) | Image processing device, robot control device, and robot | |
| Kuo et al. | Pose determination of a robot manipulator based on monocular vision | |
| JP2015182212A (ja) | ロボットシステム、ロボット、制御装置、及び制御方法 | |
| JP2018017653A (ja) | 三次元計測装置、ロボット、ロボット制御装置、及びロボットシステム | |
| CN106476015A (zh) | 机器人、控制装置以及机器人系统 | |
| JP6455869B2 (ja) | ロボット、ロボットシステム、制御装置、及び制御方法 | |
| JP6488571B2 (ja) | 教示装置、及びロボットシステム | |
| JP2019111588A (ja) | ロボットシステム、情報処理装置、及びプログラム | |
| JP2016013610A (ja) | ロボット、及び制御方法 | |
| JP2018017610A (ja) | 三次元計測装置、ロボット、ロボット制御装置、及びロボットシステム | |
| JP2017100197A (ja) | ロボット、及び制御方法 | |
| JP2016013590A (ja) | 教示装置、及びロボットシステム | |
| JP2016120530A (ja) | ロボット、及びロボット校正システム | |
| JP2016217778A (ja) | 制御システム、ロボットシステム、及び制御方法 |