JP2018015856A - ロボット、ロボット制御装置、及びロボットシステム - Google Patents
ロボット、ロボット制御装置、及びロボットシステム Download PDFInfo
- Publication number
- JP2018015856A JP2018015856A JP2016149433A JP2016149433A JP2018015856A JP 2018015856 A JP2018015856 A JP 2018015856A JP 2016149433 A JP2016149433 A JP 2016149433A JP 2016149433 A JP2016149433 A JP 2016149433A JP 2018015856 A JP2018015856 A JP 2018015856A
- Authority
- JP
- Japan
- Prior art keywords
- freedom
- degree
- robot
- state
- target
- 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
Images
Landscapes
- Manipulator (AREA)
Abstract
【課題】制御対象の状態を変化させる複数の自由度のうちの所望の自由度を他の自由度よりも先に目標の状態に近づけることができるロボットを提供すること。【解決手段】撮像画像に基づいて制御対象の状態を目標の状態にするロボットであって、前記制御対象の状態を変化させる複数の自由度のうちの少なくとも1つの自由度である第1自由度を他の自由度である第2自由度と比べて、前記目標の状態に速く近づける、ロボット。【選択図】図4
Description
この発明は、ロボット、ロボット制御装置、及びロボットシステムに関する。
撮像部により撮像された撮像画像に基づいてロボットに所定の作業を行わせる技術の研究や開発が行われている。
これに関し、ロボットにより把持された対象物を撮像部により撮像し、撮像された撮像画像と、対象物の位置及び姿勢が目標の位置及び姿勢と一致した状態における対象物が撮像された撮像画像との差分を算出し、算出した当該差分に基づいてロボットを制御し、対象物の位置及び姿勢を目標の位置及び姿勢と一致させる方法(ビジュアルサーボ)が知られている(特許文献1参照)。
しかしながら、このような方法では、対象物の姿勢が目標の姿勢に近づくよりも速く、対象物の位置が目標の位置に近づいてしまう場合がある。このような場合において目標の位置の周辺に他の物体が存在していると、ロボットは、対象物の姿勢を目標の姿勢に近づけることによって対象物を当該物体に接触させてしまうことがある。その結果、ロボットは、対象物と当該物体との少なくとも一方を変形させてしまう場合がある。
上記課題の少なくとも一つを解決するために本発明の一態様は、撮像画像に基づいて制御対象の状態を目標の状態にするロボットであって、前記制御対象の状態を変化させる複数の自由度のうちの少なくとも1つの自由度である第1自由度を他の自由度である第2自由度と比べて、前記目標の状態に速く近づける、ロボットである。
この構成により、ロボットは、制御対象の状態を変化させる複数の自由度のうちの少なくとも1つの自由度である第1自由度を他の自由度である第2自由度と比べて、目標の状態に速く近づける。これにより、ロボットは、制御対象の状態を変化させる複数の自由度のうちの所望の自由度を他の自由度よりも先に目標の状態に近づけることができる。
この構成により、ロボットは、制御対象の状態を変化させる複数の自由度のうちの少なくとも1つの自由度である第1自由度を他の自由度である第2自由度と比べて、目標の状態に速く近づける。これにより、ロボットは、制御対象の状態を変化させる複数の自由度のうちの所望の自由度を他の自由度よりも先に目標の状態に近づけることができる。
また、本発明の他の態様は、ロボットにおいて、前記第1自由度には、前記制御対象の状態のうち前記制御対象の姿勢を変化させる3つの自由度のうちの少なくとも1つの自由度が含まれる、構成が用いられてもよい。
この構成により、ロボットは、制御対象の状態のうち制御対象の姿勢を変化させる3つの自由度のうちの少なくとも1つの自由度が含まれる第1自由度を他の自由度である第2自由度と比べて、目標の状態に速く近づける。これにより、ロボットは、制御対象の姿勢を変化させる3つの自由度のうちの少なくとも1つの自由度を、制御対象の状態を変化させる複数の自由度のうちの他の自由度よりも先に目標の状態に近づけることができる。
この構成により、ロボットは、制御対象の状態のうち制御対象の姿勢を変化させる3つの自由度のうちの少なくとも1つの自由度が含まれる第1自由度を他の自由度である第2自由度と比べて、目標の状態に速く近づける。これにより、ロボットは、制御対象の姿勢を変化させる3つの自由度のうちの少なくとも1つの自由度を、制御対象の状態を変化させる複数の自由度のうちの他の自由度よりも先に目標の状態に近づけることができる。
また、本発明の他の態様は、ロボットにおいて、前記制御対象の状態を変化させる前記複数の前記自由度のそれぞれ毎に、前記撮像画像に含まれる前記制御対象の状態における前記自由度の値と前記目標の状態における前記自由度の値との差分と、前記自由度に応じたゲインとに基づいて、前記自由度に応じた量であって前記制御対象を動かす変位量を算出し、算出した当該変位量に基づいて前記第1自由度を前記第2自由度と比べて、前記目標の状態に速く近づける、構成が用いられてもよい。
この構成により、ロボットは、制御対象の状態を変化させる複数の自由度のそれぞれ毎に、撮像画像に含まれる制御対象の状態における自由度の値と目標の状態における自由度の値との差分と、自由度に応じたゲインとに基づいて、自由度に応じた量であって制御対象を動かす変位量を算出し、算出した当該変位量に基づいて第1自由度を第2自由度と比べて、目標の状態に速く近づける。これにより、ロボットは、自由度毎の差分及びゲインに基づいて、制御対象の状態を変化させる複数の自由度のうちの所望の自由度を他の自由度よりも先に目標の状態に近づけることができる。
この構成により、ロボットは、制御対象の状態を変化させる複数の自由度のそれぞれ毎に、撮像画像に含まれる制御対象の状態における自由度の値と目標の状態における自由度の値との差分と、自由度に応じたゲインとに基づいて、自由度に応じた量であって制御対象を動かす変位量を算出し、算出した当該変位量に基づいて第1自由度を第2自由度と比べて、目標の状態に速く近づける。これにより、ロボットは、自由度毎の差分及びゲインに基づいて、制御対象の状態を変化させる複数の自由度のうちの所望の自由度を他の自由度よりも先に目標の状態に近づけることができる。
また、本発明の他の態様は、ロボットにおいて、前記第1自由度に応じた前記ゲインは、前記第2自由度に応じた前記ゲインと比べて大きい、構成が用いられてもよい。
この構成により、ロボットは、撮像画像に含まれる制御対象の状態における第1自由度の値と目標の状態における第1自由度の値との差分と、第2自由度に応じたゲインよりも大きいゲインである第1自由度に応じたゲインとに基づいて、第1自由度に応じた量であって制御対象を動かす変位量を算出し、撮像画像に含まれる制御対象の状態における第2自由度の値と目標の状態における第2自由度の値との差分と、第2自由度に応じたゲインとに基づいて、第2自由度に応じた量であって制御対象を動かす変位量を算出する。これにより、ロボットは、第1自由度に応じたゲインと第2自由度に応じたゲインとに基づいて、制御対象の状態を変化させる複数の自由度のうちの所望の自由度を他の自由度よりも先に目標の状態に近づけることができる。
この構成により、ロボットは、撮像画像に含まれる制御対象の状態における第1自由度の値と目標の状態における第1自由度の値との差分と、第2自由度に応じたゲインよりも大きいゲインである第1自由度に応じたゲインとに基づいて、第1自由度に応じた量であって制御対象を動かす変位量を算出し、撮像画像に含まれる制御対象の状態における第2自由度の値と目標の状態における第2自由度の値との差分と、第2自由度に応じたゲインとに基づいて、第2自由度に応じた量であって制御対象を動かす変位量を算出する。これにより、ロボットは、第1自由度に応じたゲインと第2自由度に応じたゲインとに基づいて、制御対象の状態を変化させる複数の自由度のうちの所望の自由度を他の自由度よりも先に目標の状態に近づけることができる。
また、本発明の他の態様は、ロボットにおいて、前記撮像画像に含まれる前記制御対象の状態における前記第1自由度の値と前記目標の状態における前記第1自由度の値との差分が所定閾値未満であると判定された場合、前記第2自由度に応じた前記ゲインを大きくする、構成が用いられてもよい。
この構成により、ロボットは、撮像画像に含まれる制御対象の状態における第1自由度の値と目標の状態における第1自由度の値との差分が所定閾値未満であると判定された場合、第2自由度に応じたゲインを大きくする。これにより、ロボットは、制御対象の状態を変化させる複数の自由度のうちの所望の自由度を他の自由度よりも先に目標の状態に近づけてから、当該他の自由度を目標の状態に近づけることができる。
この構成により、ロボットは、撮像画像に含まれる制御対象の状態における第1自由度の値と目標の状態における第1自由度の値との差分が所定閾値未満であると判定された場合、第2自由度に応じたゲインを大きくする。これにより、ロボットは、制御対象の状態を変化させる複数の自由度のうちの所望の自由度を他の自由度よりも先に目標の状態に近づけてから、当該他の自由度を目標の状態に近づけることができる。
また、本発明の他の態様は、ロボットにおいて、前記第1自由度には、前記制御対象の状態のうち前記制御対象の位置を変化させる3つの自由度のうちのいずれか1つの自由度が含まれる、構成が用いられてもよい。
この構成により、ロボットは、制御対象の状態のうち制御対象の位置を変化させる3つの自由度のうちのいずれか1つの自由度が含まれる第1自由度を他の自由度である第2自由度と比べて、目標の状態に速く近づける。これにより、ロボットは、対象物の位置を変化させる3つの自由度のうちのいずれか1つの自由度を、対象物の状態を変化させる複数の自由度のうちの他の自由度よりも先に目標の状態に近づけることができる。
この構成により、ロボットは、制御対象の状態のうち制御対象の位置を変化させる3つの自由度のうちのいずれか1つの自由度が含まれる第1自由度を他の自由度である第2自由度と比べて、目標の状態に速く近づける。これにより、ロボットは、対象物の位置を変化させる3つの自由度のうちのいずれか1つの自由度を、対象物の状態を変化させる複数の自由度のうちの他の自由度よりも先に目標の状態に近づけることができる。
また、本発明の他の態様は、ロボットにおいて、前記第1自由度には、前記制御対象の状態のうち前記制御対象の姿勢を変化させる3つの自由度が含まれ、前記第2自由度には、前記制御対象の状態のうち前記制御対象の位置を変化させる3つの自由度が含まれる、構成が用いられてもよい。
この構成により、ロボットは、制御対象の状態のうち制御対象の姿勢を変化させる3つの自由度が含まれる第1自由度を、制御対象の状態のうち制御対象の位置を変化させる3つの自由度が含まれる第2自由度と比べて、目標の状態に速く近づける。これにより、ロボットは、制御対象の姿勢を目標の状態に近づけてから制御対象の位置を目標の状態に近づけることができる。
この構成により、ロボットは、制御対象の状態のうち制御対象の姿勢を変化させる3つの自由度が含まれる第1自由度を、制御対象の状態のうち制御対象の位置を変化させる3つの自由度が含まれる第2自由度と比べて、目標の状態に速く近づける。これにより、ロボットは、制御対象の姿勢を目標の状態に近づけてから制御対象の位置を目標の状態に近づけることができる。
また、本発明の他の態様は、ロボットにおいて、前記制御対象の状態のうち前記制御対象の位置を変化させる3つの前記自由度の少なくとも1つの前記自由度について、前記撮像画像に含まれる前記制御対象の状態における当該自由度の値と前記目標の状態における当該自由度の値との差分に応じた速さに基づいて、前記制御対象の状態を前記目標の状態に近づける、構成が用いられてもよい。
この構成により、ロボットは、制御対象の状態のうち制御対象の位置を変化させる3つの自由度の少なくとも1つの自由度について、撮像画像に含まれる制御対象の状態における当該自由度の値と目標の状態における当該自由度の値との差分に応じた速さに基づいて、制御対象の状態を目標の状態に近づける。これにより、ロボットは、撮像画像に含まれる制御対象の状態における当該自由度の値と目標の状態における当該自由度の値との差分に応じた速さに基づいて、制御対象の状態を変化させる複数の自由度のうちの所望の自由度を目標の状態に近づける時間を変化させることができる。
この構成により、ロボットは、制御対象の状態のうち制御対象の位置を変化させる3つの自由度の少なくとも1つの自由度について、撮像画像に含まれる制御対象の状態における当該自由度の値と目標の状態における当該自由度の値との差分に応じた速さに基づいて、制御対象の状態を目標の状態に近づける。これにより、ロボットは、撮像画像に含まれる制御対象の状態における当該自由度の値と目標の状態における当該自由度の値との差分に応じた速さに基づいて、制御対象の状態を変化させる複数の自由度のうちの所望の自由度を目標の状態に近づける時間を変化させることができる。
また、本発明の他の態様は、ロボットにおいて、前記差分が小さくなるほど当該差分に応じた速さを遅くする、構成が用いられてもよい。
この構成により、ロボットは、制御対象の状態のうち制御対象の位置を変化させる3つの自由度の少なくとも1つの自由度について、撮像画像に含まれる制御対象の状態における当該自由度の値と目標の状態における当該自由度の値との差分が小さくなるほど、当該差分に応じた速さを遅くする。これにより、ロボットは、撮像画像に含まれる制御対象の状態における当該自由度の値と目標の状態における当該自由度の値との差分に応じて当該差分に応じた速さを遅くすることにより、制御対象の状態を変化させる複数の自由度のうちの所望の自由度を精度よく目標の状態に近づけることができる。
この構成により、ロボットは、制御対象の状態のうち制御対象の位置を変化させる3つの自由度の少なくとも1つの自由度について、撮像画像に含まれる制御対象の状態における当該自由度の値と目標の状態における当該自由度の値との差分が小さくなるほど、当該差分に応じた速さを遅くする。これにより、ロボットは、撮像画像に含まれる制御対象の状態における当該自由度の値と目標の状態における当該自由度の値との差分に応じて当該差分に応じた速さを遅くすることにより、制御対象の状態を変化させる複数の自由度のうちの所望の自由度を精度よく目標の状態に近づけることができる。
また、本発明の他の態様は、上記に記載のロボットを制御する、ロボット制御装置である。
この構成により、ロボット制御装置は、制御対象の状態を変化させる複数の自由度のうちの少なくとも1つの自由度である第1自由度を他の自由度である第2自由度と比べて、目標の状態に速く近づける。これにより、ロボット制御装置は、制御対象の状態を変化させる複数の自由度のうちの所望の自由度を他の自由度よりも先に目標の状態に近づけることができる。
この構成により、ロボット制御装置は、制御対象の状態を変化させる複数の自由度のうちの少なくとも1つの自由度である第1自由度を他の自由度である第2自由度と比べて、目標の状態に速く近づける。これにより、ロボット制御装置は、制御対象の状態を変化させる複数の自由度のうちの所望の自由度を他の自由度よりも先に目標の状態に近づけることができる。
また、本発明の他の態様は、前記撮像画像を撮像する撮像部と、上記に記載のロボットと、上記に記載のロボット制御装置と、を備えるロボットシステムである。
この構成により、ロボットシステムは、制御対象の状態を変化させる複数の自由度のうちの少なくとも1つの自由度である第1自由度を他の自由度である第2自由度と比べて、目標の状態に速く近づける。これにより、ロボットシステムは、制御対象の状態を変化させる複数の自由度のうちの所望の自由度を他の自由度よりも先に目標の状態に近づけることができる。
この構成により、ロボットシステムは、制御対象の状態を変化させる複数の自由度のうちの少なくとも1つの自由度である第1自由度を他の自由度である第2自由度と比べて、目標の状態に速く近づける。これにより、ロボットシステムは、制御対象の状態を変化させる複数の自由度のうちの所望の自由度を他の自由度よりも先に目標の状態に近づけることができる。
以上により、ロボット、ロボット制御装置、及びロボットシステムは、制御対象の状態を変化させる複数の自由度のうちの少なくとも1つの自由度である第1自由度を他の自由度である第2自由度と比べて、目標の状態に速く近づける。これにより、ロボット、ロボット制御装置、及びロボットシステムは、制御対象の状態を変化させる複数の自由度のうちの所望の自由度を他の自由度よりも先に目標の状態に近づけることができる。
<実施形態>
以下、本発明の実施形態について、図面を参照して説明する。
以下、本発明の実施形態について、図面を参照して説明する。
<ロボットシステムの構成>
まず、ロボットシステム1の構成について説明する。
図1は、実施形態に係るロボットシステム1の構成の一例を示す図である。ロボットシステム1は、撮像部10と、ロボット20と、ロボット制御装置30を備える。
まず、ロボットシステム1の構成について説明する。
図1は、実施形態に係るロボットシステム1の構成の一例を示す図である。ロボットシステム1は、撮像部10と、ロボット20と、ロボット制御装置30を備える。
撮像部10は、例えば、集光された光を電気信号に変換する撮像素子であるCCD(Charge Coupled Device)、CMOS(Complementary Metal Oxide Semiconductor)等を備えたカメラである。撮像部10は、ロボット20により把持された対象物O1と、作業台TBの上面に載置された対象物O2とを含む範囲を撮像可能な位置に設置される。
対象物O1は、対象物O2に嵌合する物体であり、例えば、製品に組み付けるネジ、ボルト等の産業用の部品や部材である。図1では、図の簡略化のため、対象物O1を直方体形状の物体として表している。なお、対象物O1は、産業用の部品や部材に代えて、日用品や生体等の他の物体であってもよい。また、対象物O1の形状は、直方体形状に代えて、他の形状であってもよい。
対象物O2は、対象物O1に嵌合される物体であり、例えば、製品に組み付けるプレート等の産業用の部品や部材である。対象物O2には、対象物O1が嵌合する嵌合部H1が形成されている。図1では、図の簡略化のため、嵌合部H1が形成された平板形状の物体として対象物O2を表している。なお、対象物O2は、産業用の部品や部材に代えて、日用品や生体等の他の物体であってもよい。また、対象物O2の形状は、平板形状に代えて、他の形状であってもよい。
作業台TBは、例えば、テーブル等の台である。なお、作業台TBは、テーブルに代えて、対象物O2を載置することが可能な台であれば、他の台であってもよい。
撮像部10は、ケーブルによってロボット制御装置30と通信可能に接続されている。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB(Universal Serial Bus)等の規格によって行われる。また、撮像部10は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
ロボット20は、アームAと、アームAを支持する支持台Bを備える単腕ロボットである。単腕ロボットは、この一例におけるアームAのような1本のアーム(腕)を備えるロボットである。なお、ロボット20は、単腕ロボットに代えて、複腕ロボットであってもよい。複腕ロボットは、2本以上のアーム(例えば、2本以上のアームA)を備えるロボットである。なお、複腕ロボットのうち、2本のアームを備えるロボットは、双腕ロボットとも称される。すなわち、ロボット20は、2本のアームを備える双腕ロボットであってもよく、3本以上のアーム(例えば、3本以上のアームA)を備える複腕ロボットであってもよい。また、ロボット20は、スカラロボット、直交座標ロボット、円筒型ロボット等の他のロボットであってもよい。直交座標ロボットは、例えば、ガントリロボットである。
アームAは、エンドエフェクターEと、マニピュレーターMを備える。
エンドエフェクターEは、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。なお、エンドエフェクターEは、当該指部を備えるエンドエフェクターに代えて、空気の吸引や磁力、治具等によって物体を持ち上げることが可能なエンドエフェクターや、他のエンドエフェクターであってもよい。
エンドエフェクター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は、撮像部10が撮像可能な範囲を撮像部10に撮像させる。ロボット制御装置30は、撮像部10が撮像した撮像画像を撮像部10から取得する。ロボット制御装置30は、取得した撮像画像に基づいて、ロボット20に所定の作業を行わせる。所定の作業は、この一例において、エンドエフェクターEにより把持された対象物O1を対象物O2の嵌合部H1に嵌合させる作業である。なお、所定の作業は、これに代えて、他の作業であってもよい。
<ロボット制御装置がロボットに所定の作業を行わせる処理の概要>
以下、ロボット制御装置30がロボット20に所定の作業を行わせる処理の概要について説明する。
以下、ロボット制御装置30がロボット20に所定の作業を行わせる処理の概要について説明する。
ロボット制御装置30は、エンドエフェクターEに予め対応付けられた位置に、エンドエフェクターEとともに動く制御対象を設定する。以下では、一例として、当該制御対象が制御点Tである場合について説明する。なお、制御対象は、制御点Tに代えて、対象物O1等のエンドエフェクターEとともに動く他の物体、エンドエフェクターEとともに動く仮想的な点等であってもよい。エンドエフェクターEに予め対応付けられた位置は、ロボット座標系RCにおける位置である。エンドエフェクターEに予め対応付けられた位置は、例えば、エンドエフェクターEにより把持された対象物O1の重心の位置である。制御点Tは、例えば、TCP(Tool Center Point)である。なお、制御点Tは、TCPに代えて、アームAの一部に対応付けられた仮想的な点等の他の仮想的な点であってもよい。すなわち、制御点Tは、エンドエフェクターEに対応付けられた位置に代えて、エンドエフェクターEの他の部位の位置に設定される構成であってもよく、マニピュレーターMに対応付けられた何らかの位置に設定される構成であってもよい。
制御点Tには、制御点Tの位置を示す情報である制御点位置情報と、制御点Tの姿勢を示す情報である制御点姿勢情報とが対応付けられている。当該位置は、ロボット座標系RCにおける位置である。当該姿勢は、ロボット座標系RCにおける姿勢である。なお、制御点Tには、これらに加えて、他の情報が対応付けられる構成であってもよい。制御点位置情報及び制御点姿勢情報をロボット制御装置30が指定(決定)すると、制御点Tの位置及び姿勢が決まる。当該位置及び当該姿勢は、ロボット座標系RCにおける位置及び姿勢である。ロボット制御装置30は、この一例において、撮像部10から取得した撮像画像に基づいて、制御点位置情報及び制御点姿勢情報を指定する。ロボット制御装置30は、アームAを動作させ、ロボット制御装置30が指定した制御点位置情報が示す位置に制御点Tの位置を一致させるとともに、ロボット制御装置30が指定した制御点姿勢情報が示す姿勢に制御点Tの姿勢を一致させる。以下では、説明の便宜上、ロボット制御装置30が指定した制御点位置情報が示す位置を目標位置(目標の位置)と称し、ロボット制御装置30が指定した制御点姿勢情報が示す姿勢を目標姿勢(目標の姿勢)と称して説明する。すなわち、ロボット制御装置30は、制御点位置情報及び制御点姿勢情報を指定することにより、ロボット20を動作させ、制御点Tの位置及び姿勢を目標位置及び目標姿勢と一致させる。
この一例において、制御点Tの位置は、制御点座標系TCの原点のロボット座標系RCにおける位置によって表される。また、制御点Tの姿勢は、制御点座標系TCの各座標軸のロボット座標系RCにおける方向によって表される。制御点座標系TCは、制御点Tとともに動くように制御点Tに対応付けられた三次元局所座標系である。ここで、この一例では、制御点Tとともに対象物O1が動くため、制御点Tの位置及び姿勢は、対象物O1の位置及び姿勢を表す。
ロボット制御装置30は、ユーザーから予め入力された制御点設定情報に基づいて制御点Tを設定する。制御点設定情報は、例えば、エンドエフェクターEの重心の位置及び姿勢と制御点Tの位置及び姿勢との相対的な位置及び姿勢を示す情報である。なお、制御点設定情報は、これに代えて、エンドエフェクターEに対応付けられた何らかの位置及び姿勢と制御点Tの位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよく、マニピュレーターMに対応付けられた何らかの位置及び姿勢と制御点Tの位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよく、ロボット20の他の部位に対応付けられた何らかの位置及び姿勢と制御点Tの位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよい。
ロボット制御装置30は、撮像部10が撮像可能な範囲を撮像部10に撮像させる。ロボット制御装置30は、撮像部10が撮像した撮像画像を撮像部10から取得する。ロボット制御装置30は、取得した撮像画像に基づいて、制御点Tの状態を目標の状態にすることにより所定の作業を行う。制御点Tの状態は、制御点Tの位置及び姿勢によって表される。また、目標の状態は、所定の作業が行われた後の対象物O1の位置及び姿勢、すなわち対象物O1が嵌合部H1に嵌合された状態における対象物O1の位置及び姿勢である終了位置及び終了姿勢によって表される。従って、ロボット制御装置30は、制御点Tの位置及び姿勢を終了位置及び終了姿勢と一致させることにより、制御点Tの状態を目標の状態にする。
より具体的には、ロボット制御装置30は、撮像部10から取得した撮像画像と、ロボット制御装置30に予め記憶された終了画像とに基づいて、当該撮像画像に含まれる対象物O1の位置及び姿勢と、終了位置及び終了姿勢との差分を算出する。終了画像は、所定の作業が行われた後の対象物O1、すなわち対象物O1が嵌合部H1に嵌合された状態における対象物O1が撮像部10により撮像された撮像画像である。ロボット制御装置30は、算出した差分に基づいて目標位置及び目標姿勢を算出する。ロボット制御装置30は、算出した目標位置を示す制御点位置情報と、算出した目標姿勢を示す制御点姿勢情報とを指定することによって制御点Tの位置及び姿勢を目標位置及び目標姿勢と一致させることにより、制御点Tの状態を変化させる。このような撮像部10による撮像から制御点Tの状態を変化させるまでの処理を繰り返すことにより、ロボット制御装置30は、制御点Tの位置及び姿勢を終了位置及び終了姿勢と一致させ、制御点Tの状態を目標の状態にする。すなわち、ロボット制御装置30は、ビジュアルサーボによってロボット20を制御し、ロボット20に所定の作業を行わせる。
ここで、ロボット制御装置30がビジュアルサーボによってロボット20に所定の作業を行わせた場合、制御点Tの位置は、制御点Tの姿勢が終了姿勢に近づくよりも先に目標位置に近づいてしまうことがある。その結果、対象物O1は、図2に示したように、対象物O2の部位のうち嵌合部H1と異なる部位に接触する場合がある。図2は、制御点Tの姿勢が終了姿勢に近づくよりも先に制御点Tの位置が目標位置に近づいた場合における対象物O1及び対象物O2の一例を示す図である。なお、図2において、図が煩雑になることを避けるため、対象物O1を把持しているエンドエフェクターEを省略している。
図2において、対象物VO1は、対象物O1の位置及び姿勢が終了位置及び終了姿勢に近づく前のあるタイミングにおける対象物O1の輪郭を表している。また、制御点座標系VTCは、当該タイミングにおける対象物O1(すなわち、対象物VO1)の位置及び姿勢を表している。また、図2には、制御点Tの姿勢が終了姿勢に近づくより先に制御点Tの位置が終了位置に近づいた後のタイミングにおける対象物O1が示されている。
ここで、ロボット制御装置30は、制御点Tの位置と終了位置との差分が第1所定閾値未満である場合、制御点Tの位置が終了位置に近づいたと判定する。また、ロボット制御装置30は、制御点Tの姿勢と終了姿勢との差分が第2所定閾値未満である場合、制御点Tの姿勢が終了姿勢に近づいたと判定する。
図2に示したように、制御点Tの姿勢が終了姿勢に近づくより先に制御点Tの位置が終了位置に近づいた後のタイミングでは、対象物O1の姿勢が終了姿勢(この一例において、対象物O1が嵌合部H1に嵌合された状態における対象物O1の姿勢)に近づいていないため、対象物O1の一部が対象物O2の部位のうち嵌合部H1と異なる部位に接触する場合がある。この場合、ロボット20は、所定の作業において、対象物O1と対象物O2のうちの少なくとも一方を変形させてしまう場合がある。
そこで、ロボット制御装置30は、制御点Tの状態を変化させる複数の自由度のうちの少なくとも1つの自由度である第1自由度を他の自由度である第2自由度と比べて、目標の状態に速く近づける。これにより、ロボット制御装置30は、制御点Tの状態を変化させる複数の自由度のうちの所望の自由度を他の自由度よりも先に目標の状態に近づけることができる。その結果、ロボット制御装置30は、制御点Tとともに動く物体(この一例において、対象物O1)を変形させてしまうことを抑制することができる。ここで、制御点Tの状態を変化させる複数の自由度には、制御点Tの位置を変化させる自由度であるX軸座標、Y軸座標、Z軸座標の3つの自由度と、制御点Tの姿勢を変化させる自由度であるU軸座標、V軸座標、W軸座標の3つの自由度とが含まれている。当該X軸座標は、制御点座標系TCの原点のロボット座標系RCにおけるX軸の座標のことである。当該Y軸座標は、制御点座標系TCの原点のロボット座標系RCにおけるY軸の座標のことである。当該Z軸座標は、制御点座標系TCの原点のロボット座標系RCにおけるZ軸の座標のことである。当該U軸座標は、制御点座標系TCにおけるX軸周りの姿勢(回転角度)を表す座標軸であるU軸の座標のことである。当該V軸座標は、制御点座標系TCにおけるY軸周りの姿勢(回転角度)を表す座標軸であるV軸の座標のことである。当該W軸座標は、制御点座標系TCにおけるZ軸周りの姿勢(回転角度)を表す座標軸であるW軸の座標のことである。以下では、一例として、第1自由度に制御点Tの姿勢を変化させる自由度であるU軸座標、V軸座標、W軸座標の3つの自由度が含まれ、第2自由度に制御点Tの位置を変化させる自由度であるX軸座標、Y軸座標、Z軸座標の3つの自由度が含まれる場合について説明する。なお、第1自由度には、制御点Tの状態のうち制御点Tの姿勢を変化させる3つの自由度のうちの少なくとも1つの自由度が含まれる構成であってもよく、制御点Tの状態のうち制御点Tの位置を変化させる3つの自由度のうちのいずれか1つの自由度が含まれる構成であってもよい。以下では、ロボット制御装置30がロボット20に所定の作業を行わせる処理のうち、第1自由度を第2自由度と比べて、目標の状態に速く近づける処理について詳しく説明する。
<ロボット制御装置のハードウェア構成>
以下、図3を参照し、ロボット制御装置30のハードウェア構成について説明する。図3は、ロボット制御装置30のハードウェア構成の一例を示す図である。
以下、図3を参照し、ロボット制御装置30のハードウェア構成について説明する。図3は、ロボット制御装置30のハードウェア構成の一例を示す図である。
ロボット制御装置30は、例えば、CPU(Central Processing Unit)31と、記憶部32と、入力受付部33と、通信部34と、表示部35を備える。これらの構成要素は、バスBusを介して相互に通信可能に接続されている。また、ロボット制御装置30は、通信部34を介して撮像部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が処理する各種情報、ロボット20を動作させる動作プログラムを含む各種プログラム、各種画像等を格納する。
記憶部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が処理する各種情報、ロボット20を動作させる動作プログラムを含む各種プログラム、各種画像等を格納する。
入力受付部33は、例えば、表示部35と一体に構成されたタッチパネルである。なお、入力受付部33は、キーボードやマウス、タッチパッド、その他の入力装置であってもよい。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
<ロボット制御装置の機能構成>
以下、図4を参照し、ロボット制御装置30の機能構成について説明する。図4は、ロボット制御装置30の機能構成の一例を示す図である。
以下、図4を参照し、ロボット制御装置30の機能構成について説明する。図4は、ロボット制御装置30の機能構成の一例を示す図である。
ロボット制御装置30は、記憶部32と、制御部36を備える。
制御部36は、ロボット制御装置30の全体を制御する。制御部36は、撮像制御部41と、画像取得部43と、ロボット制御部45を備える。制御部36が備えるこれらの機能部は、例えば、CPU31が、記憶部32に記憶された各種プログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
撮像制御部41は、撮像部10が撮像可能な範囲を撮像部10に撮像させる。
画像取得部43は、撮像部10が撮像した撮像画像を撮像部10から取得する。
ロボット制御部45は、画像取得部43が取得した撮像画像に基づくビジュアルサーボによってロボット20に所定の作業を行わせる。
画像取得部43は、撮像部10が撮像した撮像画像を撮像部10から取得する。
ロボット制御部45は、画像取得部43が取得した撮像画像に基づくビジュアルサーボによってロボット20に所定の作業を行わせる。
<ロボット制御装置がロボットに所定の作業を行わせる処理>
以下、図5を参照し、ロボット制御装置30がロボット20に所定の作業を行わせる処理について説明する。図5は、ロボット制御装置30がロボット20に所定の作業を行わせる処理の流れの一例を示すフローチャートである。
以下、図5を参照し、ロボット制御装置30がロボット20に所定の作業を行わせる処理について説明する。図5は、ロボット制御装置30がロボット20に所定の作業を行わせる処理の流れの一例を示すフローチャートである。
撮像制御部41は、撮像部10が撮像可能な範囲を撮像部10に撮像させる(ステップS110)。次に、画像取得部43は、ステップS110において撮像部10が撮像した撮像画像を撮像部10から取得する(ステップS120)。次に、ロボット制御部45は、記憶部32に予め記憶された終了画像を記憶部32から読み出す。そして、ロボット制御部45は、読み出した終了画像と、ステップS120において画像取得部43が取得した撮像画像とに基づいて、撮像画像に含まれる対象物O1の位置及び姿勢と、終了画像に含まれる対象物O1の位置及び姿勢である終了位置及び終了姿勢との差分Δpを算出する(ステップS130)。差分Δpは、X軸方向の差分Δxを1つ目の成分、Y軸方向の差分Δyを2つ目の成分、Z軸方向の差分Δzを3つ目の成分、U軸方向の差分Δuを4つ目の成分、V軸方向の差分Δvを5つ目の成分、W軸方向の差分Δwを6つ目の成分として有する6次元のベクトルである。差分Δxは、当該撮像画像に含まれる対象物O1のロボット座標系RCにおけるX軸方向の位置を表すX軸座標と、終了位置の当該X軸方向の位置を表すX軸座標との差分である。差分Δyは、当該撮像画像に含まれる対象物O1のロボット座標系RCにおけるY軸方向の位置を表すY軸座標と、終了位置の当該Y軸方向の位置を表すY軸座標との差分である。差分Δzは、当該撮像画像に含まれる対象物O1のロボット座標系RCにおけるZ軸方向の位置を表すZ軸座標と、終了位置の当該Z軸方向の位置を表すZ軸座標との差分である。差分Δuは、当該撮像画像に含まれる対象物O1のロボット座標系RCにおけるU軸方向の姿勢(回転角度)を表すU軸座標と、終了姿勢の当該U軸方向の姿勢(回転角度)を表すU軸座標との差分である。差分Δvは、当該撮像画像に含まれる対象物O1のロボット座標系RCにおけるV軸方向の姿勢(回転角度)を表すV軸座標と、終了姿勢の当該V軸方向の姿勢(回転角度)を表すV軸座標との差分である。差分Δwは、当該撮像画像に含まれる対象物O1のロボット座標系RCにおけるW軸方向の姿勢(回転角度)を表すW軸座標と、終了姿勢の当該W軸方向の姿勢(回転角度)を表すW軸座標との差分である。すなわち、差分Δpを横ベクトルとして表した場合、差分Δpは、(Δx,Δy,Δz,Δu,Δv,Δw)と表される。なお、ステップS130においてロボット制御部45が当該撮像画像と当該終了画像とに基づいて差分Δpを算出する方法は、ビジュアルサーボにおける既知の方法であってもよく、これから開発される方法であってもよい。また、ロボット制御部45は、終了画像に代えて、対象物O1が嵌合部H1に嵌合された状態における対象物O1の位置及び姿勢を表すCG(Computer Graphic)に基づいて、差分Δpを算出する構成であってもよい。この場合、記憶部32には、終了画像に代えて、当該CGが予め記憶される。
ステップS130の処理が行われた後、ロボット制御部45は、ステップS130において算出した差分Δpのうち対象物O1の姿勢を変化させる3つの自由度(すなわち、u軸座標、v軸座標、w軸座標)のそれぞれについての差分(すなわち、差分Δu、差分Δv、差分Δw)が所定条件を満たすか否かを判定する(ステップS140)。所定条件は、この一例において、当該差分のうちの最も大きな差分が前述の第2所定閾値未満であることである。すなわち、ステップS140の処理は、対象物O1の姿勢が目標姿勢に近づいたか否かを判定する処理である。なお、所定条件は、これに代えて、当該3つの自由度についての差分の平均が第2所定閾値未満であること等の当該差分に基づく他の条件であってもよい。第2所定閾値は、所定閾値の一例である。
差分Δpのうち対象物O1の姿勢を変化させる3つの自由度についての差分が所定条件を満たさないと判定した場合(ステップS140−NO)、ロボット制御部45は、対象物O1の姿勢が目標姿勢に近づいていないと判定する。そして、ロボット制御部45は、対象物O1の姿勢を、対象物O1の位置が終了位置に近づくより先に終了姿勢へと近づけるため、記憶部32に予め記憶された第1ゲイン行列を記憶部32から読み出す(ステップS150)。ここで、この一例におけるビジュアルサーボによる目標位置及び目標姿勢の算出方法と、第1ゲイン行列とについて説明する。
この一例におけるビジュアルサーボでは、ロボット制御部45は、算出した差分Δpと、画像ヤコビアン行列Jimgとに基づいて、現在の制御点Tの位置及び姿勢から終了位置及び終了姿勢までの変位量ΔPを算出する。画像ヤコビアン行列Jimgは、ステップS120において画像取得部43が取得した撮像画像に基づく画像ヤコビアン行列である。ロボット制御部45は、当該撮像画像に基づいて画像ヤコビアン行列Jimgを算出する。ロボット制御部45が当該撮像画像に基づいて画像ヤコビアン行列Jimgを算出する方法は、ビジュアルサーボにおける既知の方法であってもよく、これから開発される方法であってもよい。ロボット制御部45は、画像ヤコビアン行列Jimgに対して右から差分Δpを乗算することにより、変位量ΔPを算出する。すなわち、変位量ΔPは、X軸方向の変位量ΔXを1つ目の成分、Y軸方向の変位量ΔYを2つ目の成分、Z軸方向の変位量ΔZを3つ目の成分、U軸方向の変位量ΔUを4つ目の成分、V軸方向の変位量ΔVを5つ目の成分、W軸方向の変位量ΔWを6つ目の成分として有する6次元のベクトルである。このようにして算出された変位量ΔPは、現在の制御点Tの位置及び姿勢から終了位置及び終了姿勢まで制御点Tの位置及び姿勢を変位させる量である。
ここで、ロボット制御部45は、算出した変位量ΔPに対して、0以上1以下の値であるゲインλを乗算し、後述するステップS170の処理において制御点Tの位置及び姿勢を変位させる変位量ΔP’を0以上ΔP以下の範囲内の量として算出する。すなわち、ロボット制御部45は、以下に示した式(1)に基づいて変位量ΔP’を算出する。
上記の式(1)における画像ヤコビアンJimgの−1乗は、画像ヤコビアンJimgの逆行列を表している。ここで、上記の式(1)におけるゲインλがスカラー量である場合、変位量ΔP’の算出方法は、既存のビジュアルサーボによる方法と同じである。一方、この一例におけるビジュアルサーボでは、上記の式(1)におけるゲインλがスカラー量ではなく、以下の式(2)に示すような対角行列となっている。
上記の式(2)に示した行列が、ステップS150においてロボット制御部45が記憶部32から読み出す第1ゲイン行列の一例である。すなわち、ロボット制御部45は、ステップS150において、第1ゲイン行列を上記の式(1)におけるゲインλとして記憶部32から読み出す。第1ゲイン行列の成分λt1は、変位量ΔPの成分のうちの変位量ΔX、変位量ΔY、変位量ΔZのそれぞれに乗算されるゲインである。変位量ΔXに乗算されるゲインは、制御点Tの状態を変化させる自由度のうちのX軸座標に応じたゲインである。変位量ΔYに乗算されるゲインは、制御点Tの状態を変化させる自由度のうちのY軸座標に応じたゲインである。変位量ΔZに乗算されるゲインは、制御点Tの状態を変化させる自由度のうちのZ軸座標に応じたゲインである。また、第1ゲイン行列の成分λr1は、変位量ΔPの成分のうちの変位量ΔU、変位量ΔV、変位量ΔWのそれぞれに乗算されるゲインである。変位量ΔUに乗算されるゲインは、制御点Tの状態を変化させる自由度のうちのU軸座標に応じたゲインである。変位量ΔVに乗算されるゲインは、制御点Tの状態を変化させる自由度のうちのV軸座標に応じたゲインである。変位量ΔWに乗算されるゲインは、制御点Tの状態を変化させる自由度のうちのW軸座標に応じたゲインである。なお、変位量ΔXに乗算されるλt1と、変位量ΔYに乗算されるλt1と、変位量ΔZに乗算されるλt1とのそれぞれは、この一例において、互いに同じ値であるが、これに代えて、互いに異なる値であってもよい。また、変位量ΔUに乗算されるλr1と、変位量ΔVに乗算されるλr1と、変位量ΔWに乗算されるλr1とのそれぞれは、この一例において、互いに同じ値であるが、これに代えて、互いに異なる値であってもよい。
ここで、第1ゲイン行列の成分のうち制御点Tの位置を変位させる変位量に乗算される成分は、第1ゲイン行列の成分のうち制御点Tの姿勢を変位させる変位量に乗算される成分よりも小さい。具体的には、この一例では、λt1とλr1との間には、λt1<λr1という関係がある。第1ゲイン行列の成分が当該関係を有することにより、ロボット制御部45は、制御点Tの状態を変化させる複数の自由度のうちの少なくとも1つの自由度である第1自由度を他の自由度である第2自由度と比べて、目標の状態に速く近づけることができる。前述した通り、この一例では、第1自由度には、制御点Tの姿勢を変化させる自由度であるU軸座標、V軸座標、W軸座標の3つの自由度が含まれる。また、第2自由度には、制御点Tの位置を変化させる自由度であるX軸座標、Y軸座標、Z軸座標の3つの自由度が含まれる。従って、この一例では、第1自由度に応じたゲインが第2自由度に応じたゲインよりも大きいため、ロボット制御部45は、図6に示したように、制御点Tの状態を変化させる複数の自由度のうちの制御点Tの姿勢を変化させる自由度である第1自由度を、制御点Tの位置を変化させる自由度である第2自由度と比べて、目標の状態に速く近づけることができる。
図6は、制御点Tの位置が終了位置に近づくよりも先に制御点Tの姿勢が目標姿勢に近づいた場合における対象物O1及び対象物O2の一例を示す図である。なお、図6において、図が煩雑になることを避けるため、対象物O1を把持しているエンドエフェクターEを省略している。
図6において、対象物VO1は、対象物O1の位置及び姿勢が終了位置及び終了姿勢に近づく前のあるタイミングにおける対象物O1の輪郭を表している。また、制御点座標系VTCは、当該タイミングにおける対象物O1(すなわち、対象物VO1)の位置及び姿勢を表している。また、図6には、制御点Tの位置が終了位置に近づくより先に制御点Tの姿勢が終了姿勢に近づいた後のタイミングにおける対象物O1が示されている。
図6に示したように、制御点Tの位置が終了位置に近づくより先に制御点Tの姿勢を終了姿勢に近づけた場合、ロボット制御部45は、対象物O1の一部が対象物O2の部位のうち嵌合部H1と異なる部位に接触してしまうことを抑制することができる。その結果、ロボット制御部45は、制御点Tの位置を終了位置に近づけること、すなわち対象物O1を図6に示した矢印A1の方向に移動させることにより、対象物O1と対象物O2の両方を変形させることなく対象物O1を嵌合部H1に嵌合させることができる。図6に示した例では、当該方向は、制御点座標系TCにおけるZ軸の負方向である。
ステップS150の処理が行われた後、ロボット制御部45は、ステップS120において画像取得部43が取得した撮像画像に基づいて画像ヤコビアン行列Jimgを算出する。ロボット制御部45は、算出した画像ヤコビアン行列Jimgと、ステップS150において記憶部32から読み出した第1ゲイン行列と、ステップS130において算出した差分Δpと、上記の式(1)とに基づいて変位量ΔP’を算出する。そして、ロボット制御部45は、算出した変位量ΔP’に基づいて、制御点Tの位置及び姿勢を変化させる目標となる目標位置及び目標姿勢(図5において目標位置姿勢と称している)を算出する(ステップS160)。具体的には、ロボット制御部45は、ステップS120において画像取得部43が取得した撮像画像に基づいて、撮像画像に含まれる対象物O1の位置及び姿勢を算出する。ここで、ロボット制御部45には、撮像画像上における位置と、ロボット座標系RCにおける位置とを対応付けるキャリブレーションが予め行われている。ロボット制御部45は、算出した対象物O1の位置及び姿勢と、算出した変位量ΔP’とに基づいて、変位量ΔP’によって当該位置及び当該姿勢を変位させた後の位置及び姿勢を目標位置及び目標姿勢として算出する。
次に、ロボット制御部45は、ステップS160において算出された目標位置を示す制御点位置情報と、ステップS160において算出された目標姿勢を示す制御点姿勢情報とを指定し、制御点Tを移動させ、制御点Tの位置及び姿勢を目標位置及び目標姿勢と一致させる(ステップS170)。
次に、ロボット制御部45は、所定の終了条件が満たされたか否かを判定する(ステップS180)。終了条件は、この一例において、以下の条件1)、条件2)の2つの条件を満たすことである。
条件1)現在の制御点Tの位置(すなわち、ステップS170における目標位置)と、終了位置との差分のうち最も大きな差分が前述の第1所定閾値未満であること
条件2)現在の制御点Tの姿勢(すなわち、ステップS170における目標姿勢)と、終了姿勢との差分のうち最も大きな差分が前述の第2所定閾値未満であること
条件2)現在の制御点Tの姿勢(すなわち、ステップS170における目標姿勢)と、終了姿勢との差分のうち最も大きな差分が前述の第2所定閾値未満であること
すなわち、ステップS180の処理は、制御点T1の状態が目標の状態に近づいたか否かを判定する処理である。なお、終了条件は、上記の条件に代えて、他の条件であってもよい。終了条件が満たされていないとロボット制御部45が判定した場合(ステップS180−NO)、撮像制御部41は、ステップS110に遷移し、再び撮像部10が撮像可能な範囲を撮像部10に撮像させる。一方、終了条件が満たされているとロボット制御部45が判定した場合(ステップS180−YES)、ロボット制御部45は、所定の作業を完了させたと判定し、処理を終了する。
一方、ステップS140において、差分Δpのうち対象物O1の姿勢を変化させる3つの自由度についての差分が所定条件を満たすと判定した場合(ステップS140−YES)、ロボット制御部45は、対象物O1の姿勢が目標姿勢に近づいていると判定する。そして、ロボット制御部45は、対象物O1の位置を終了位置に近づけるため、記憶部32に予め記憶された第2ゲイン行列を前述のゲインλとして記憶部32から読み出す(ステップS190)。ここで、第2ゲイン行列について説明する。
第2ゲイン行列は、以下に示した式(3)のように、第1ゲイン行列が有する成分と異なる成分を有する対角行列である。
ロボット制御部45は、ステップS190において、第2ゲイン行列を上記の式(1)におけるゲインλとして記憶部32から読み出す。第2ゲイン行列の成分λt2は、変位量ΔPの成分のうちの変位量ΔX、変位量ΔY、変位量ΔZのそれぞれに乗算されるゲインである。変位量ΔXに乗算されるゲインは、制御点Tの状態を変化させる自由度のうちのX軸座標に応じたゲインである。変位量ΔYに乗算されるゲインは、制御点Tの状態を変化させる自由度のうちのY軸座標に応じたゲインである。変位量ΔZに乗算されるゲインは、制御点Tの状態を変化させる自由度のうちのZ軸座標に応じたゲインである。また、第2ゲイン行列の成分λr2は、変位量ΔPの成分のうちの変位量ΔU、変位量ΔV、変位量ΔWのそれぞれに乗算されるゲインである。変位量ΔUに乗算されるゲインは、制御点Tの状態を変化させる自由度のうちのU軸座標に応じたゲインである。変位量ΔVに乗算されるゲインは、制御点Tの状態を変化させる自由度のうちのV軸座標に応じたゲインである。変位量ΔWに乗算されるゲインは、制御点Tの状態を変化させる自由度のうちのW軸座標に応じたゲインである。なお、変位量ΔXに乗算されるλt2と、変位量ΔYに乗算されるλt2と、変位量ΔZに乗算されるλt2とのそれぞれは、この一例において、互いに同じ値であるが、これに代えて、互いに異なる値であってもよい。また、変位量ΔUに乗算されるλr2と、変位量ΔVに乗算されるλr2と、変位量ΔWに乗算されるλr2とのそれぞれは、この一例において、互いに同じ値であるが、これに代えて、互いに異なる値であってもよい。
ここで、第2ゲイン行列の成分のうち制御点Tの位置を変位させる変位量に乗算される成分は、第1ゲイン行列の成分のうち制御点Tの姿勢を変位させる変位量に乗算される成分よりも大きい。具体的には、この一例では、λt2とλr2との間には、λt2>λr2という関係がある。第2ゲイン行列の成分が当該関係を有することにより、ロボット制御部45は、第1自由度を目標の状態に近づけた後に第2自由度を目標の状態に近づけることができる。
ステップS190の処理が行われた後、ロボット制御部45は、ステップS160に遷移し、第1ゲイン行列に代えて第2ゲイン行列を用いてステップS160の処理を行う。このため、ステップS190の処理が行われた後のステップS160の処理については、省略する。
このように、ロボット制御装置30は、ステップS110〜ステップS190の処理を行うことにより、制御点Tの状態を変化させる複数の自由度のうちの少なくとも1つの自由度である第1自由度を他の自由度である第2自由度と比べて、目標の状態に速く近づける。これにより、ロボット制御装置30は、制御点Tの状態を変化させる複数の自由度のうちの所望の自由度を他の自由度よりも先に目標の状態に近づけることができる。その結果、ロボット20の制御点Tとともに動く物体(この一例において、対象物O1)を変形させてしまうことを抑制することができる。
なお、前述した通り、第1自由度には、制御点Tの状態のうち制御点Tの姿勢を変化させる3つの自由度のうちの少なくとも1つの自由度(すなわち、U軸座標、V軸座標、W軸座標のうちの少なくとも1つ)が含まれる構成であってもよい。これにより、ロボット制御装置30は、制御点Tの姿勢を変化させる3つの自由度のうち所望の自由度を、制御点Tの状態を変化させる自由度のうちの他の自由度と比べて目標の状態に速く近づけることができる。
また、前述した通り、第1自由度には、制御点Tの状態のうち制御点Tの位置を変化させる3つの自由度のうちのいずれか1つの自由度(すなわち、X軸座標、Y軸座標、Z軸座標のうちの少なくとも1つ)が含まれる構成であってもよい。これにより、ロボット制御装置30は、対象物O1を嵌合部H1に対して所望の角度から嵌合させることができる。その結果、ロボット制御装置30は、ロボット20の制御点Tとともに動く物体(この一例において、対象物O1)を変形させてしまうことを、より確実に抑制することができる。
また、第1自由度には、制御点Tの状態のうち制御点Tの姿勢を変化させる3つの自由度と、制御点Tの状態のうち制御点Tの位置を変化させる3つの自由度とのうちの一部又は全部の組み合わせが含まれる構成であってもよい。これにより、ロボット制御装置30は、制御点Tの状態を所望の状態にした後、制御点Tの状態を目標の状態にすることができる。
<実施形態の変形例>
以下、実施形態の変形例について説明する。
実施形態の変形例に係るロボット制御装置30は、制御点Tの状態のうち制御点Tの位置を変化させる3つの自由度の少なくとも1つの自由度について、撮像画像に含まれる制御点Tの状態における当該自由度の値と目標の状態における当該自由度の値との差分に応じた速さによって、制御点Tの状態を目標の状態に近づける。以下では、一例として、当該少なくとも1つの自由度が、X軸座標である場合について説明する。なお、当該自由度は、Y軸座標であってもよく、Z軸座標であってもよく、X軸座標、Y軸座標、Z軸座標の一部又は全部の組み合わせであってもよい。
以下、実施形態の変形例について説明する。
実施形態の変形例に係るロボット制御装置30は、制御点Tの状態のうち制御点Tの位置を変化させる3つの自由度の少なくとも1つの自由度について、撮像画像に含まれる制御点Tの状態における当該自由度の値と目標の状態における当該自由度の値との差分に応じた速さによって、制御点Tの状態を目標の状態に近づける。以下では、一例として、当該少なくとも1つの自由度が、X軸座標である場合について説明する。なお、当該自由度は、Y軸座標であってもよく、Z軸座標であってもよく、X軸座標、Y軸座標、Z軸座標の一部又は全部の組み合わせであってもよい。
具体的には、第1ゲイン行列の成分のうち変位量ΔXに乗算されるλt1は、差分Δxの関数λt1(Δx)である場合、ロボット制御装置30は、制御点Tの状態のうち制御点Tの位置を変化させる3つの自由度のうちのX軸座標について、撮像画像に含まれる制御点Tの状態におけるX軸座標の値と目標の状態におけるX軸座標の値との差分に応じた速さによって、制御点Tの状態を目標の状態に近づけることができる。
関数λt1(Δx)の関数形は、例えば、以下に示した式(4)によって表されるシグモイド関数である。
なお、関数λt1(Δx)の関数形は、シグモイド関数に代えて、他の関数形であってもよい。上記の式(4)における係数aは、関数λt1(Δx)の変化率を示す係数であり、制御点Tの状態のうち制御点TのX軸座標を変化させる速さに応じてユーザーにより決定される係数である。
ここで、図7は、差分Δxの変化に対する関数λt1(Δx)の変化を表すグラフの一例を示す図である。図7に示したグラフの横軸は、差分Δxを示す。当該グラフの縦軸は、関数λt1(Δx)の値を示す。図7に示したように、上記の式(4)に示した関数λt1(Δx)は、差分Δxが小さくなるほど小さくなる。これにより、ロボット制御装置30は、制御点Tの状態のうち制御点TのX軸座標を変化させる速さを、制御点TのX軸座標が終了位置におけるX軸座標に近づくほど(すなわち、差分Δxが小さくなるほど)遅くすることができる。
なお、ロボット制御装置30は、制御点Tの状態のうち制御点Tの姿勢を変化させる3つの自由度の少なくとも1つの自由度について、撮像画像に含まれる制御点Tの状態における当該自由度の値と目標の状態における当該自由度の値との差分に応じた速さによって、制御点Tの状態を目標の状態に近づける構成であってもよい。この場合、第1ゲイン行列の成分のうち変位量ΔU、変位量ΔV、変位量ΔWの少なくとも1つに乗算されるゲインが、上記の式(4)のような関数となる。
以上のように、ロボット20は、制御対象(この一例において、制御点T)の状態を変化させる複数の自由度のうちの少なくとも1つの自由度である第1自由度を他の自由度である第2自由度と比べて、目標の状態に速く近づける。これにより、ロボット20は、制御対象の状態を変化させる複数の自由度のうちの所望の自由度を他の自由度よりも先に目標の状態に近づけることができる。
また、ロボット20は、制御対象の状態のうち制御対象の姿勢を変化させる3つの自由度(この一例において、U軸座標、V軸座標、W軸座標)のうちの少なくとも1つの自由度が含まれる第1自由度を他の自由度である第2自由度と比べて、目標の状態に速く近づける。これにより、ロボット20は、制御対象の姿勢を変化させる3つの自由度のうちの少なくとも1つの自由度を、制御対象の状態を変化させる複数の自由度のうちの他の自由度よりも先に目標の状態に近づけることができる。
また、ロボット20は、制御対象の状態を変化させる複数の自由度のそれぞれ毎に、撮像画像に含まれる制御対象の状態における自由度の値と目標の状態における自由度の値との差分と、自由度に応じたゲインとに基づいて、自由度に応じた量であって制御対象を動かす変位量を算出し、算出した当該変位量に基づいて第1自由度を第2自由度と比べて、目標の状態に速く近づける。これにより、ロボット20は、自由度毎の差分及びゲインに基づいて、制御対象の状態を変化させる複数の自由度のうちの所望の自由度を他の自由度よりも先に目標の状態に近づけることができる。
また、ロボット20は、撮像画像に含まれる制御対象の状態における第1自由度の値と目標の状態における第1自由度の値との差分と、第2自由度に応じたゲインよりも大きいゲインである第1自由度に応じたゲインとに基づいて、第1自由度に応じた量であって制御対象を動かす変位量を算出し、撮像画像に含まれる制御対象の状態における第2自由度の値と目標の状態における第2自由度の値との差分と、第2自由度に応じたゲインとに基づいて、第2自由度に応じた量であって制御対象を動かす変位量を算出する。これにより、ロボット20は、第1自由度に応じたゲインと第2自由度に応じたゲインとに基づいて、制御対象の状態を変化させる複数の自由度のうちの所望の自由度を他の自由度よりも先に目標の状態に近づけることができる。
また、ロボット20は、撮像画像に含まれる制御対象の状態における第1自由度の値と目標の状態における第1自由度の値との差分が所定閾値未満であると判定された場合、第2自由度に応じたゲインを大きくする。これにより、ロボット20は、制御対象の状態を変化させる複数の自由度のうちの所望の自由度を他の自由度よりも先に目標の状態に近づけてから、当該他の自由度を目標の状態に近づけることができる。
また、ロボット20は、制御対象の状態のうち制御対象の位置を変化させる3つの自由度(この一例において、X軸座標、Y軸座標、Z軸座標)のうちのいずれか1つの自由度が含まれる第1自由度を他の自由度である第2自由度と比べて、目標の状態に速く近づける。これにより、ロボット20は、対象物の位置を変化させる3つの自由度のうちのいずれか1つの自由度を、対象物の状態を変化させる複数の自由度のうちの他の自由度よりも先に目標の状態に近づけることができる。
また、ロボット20は、制御対象の状態のうち制御対象の姿勢を変化させる3つの自由度が含まれる第1自由度を、制御対象の状態のうち制御対象の位置を変化させる3つの自由度が含まれる第2自由度と比べて、目標の状態に速く近づける。これにより、ロボット20は、制御対象の姿勢を目標の状態に近づけてから制御対象の位置を目標の状態に近づけることができる。
また、ロボット20は、制御対象の状態のうち制御対象の位置を変化させる3つの自由度の少なくとも1つの自由度について、撮像画像に含まれる制御対象の状態における当該自由度の値と目標の状態における当該自由度の値との差分に応じた速さに基づいて、制御対象の状態を目標の状態に近づける。これにより、ロボット20は、撮像画像に含まれる制御対象の状態における当該自由度の値と目標の状態における当該自由度の値との差分に応じた速さに基づいて、制御対象の状態を変化させる複数の自由度のうちの所望の自由度を目標の状態に近づける時間を変化させることができる。
また、ロボット20は、制御対象の状態のうち制御対象の位置を変化させる3つの自由度の少なくとも1つの自由度について、撮像画像に含まれる制御対象の状態における当該自由度の値と目標の状態における当該自由度の値との差分が小さくなるほど、当該差分に応じた速さを遅くする。これにより、ロボット20は、撮像画像に含まれる制御対象の状態における当該自由度の値と目標の状態における当該自由度の値との差分に応じて当該差分に応じた速さを遅くすることにより、制御対象の状態を変化させる複数の自由度のうちの所望の自由度を精度よく目標の状態に近づけることができる。
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
また、以上に説明した装置(例えば、ロボット制御装置30)における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD(Compact Disk)−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
1…ロボットシステム、10…撮像部、20…ロボット、30…ロボット制御装置、31…CPU、32…記憶部、33…入力受付部、34…通信部、35…表示部、36…制御部、41…撮像制御部、43…画像取得部、45…ロボット制御部
Claims (11)
- 撮像画像に基づいて制御対象の状態を目標の状態にするロボットであって、
前記制御対象の状態を変化させる複数の自由度のうちの少なくとも1つの自由度である第1自由度を他の自由度である第2自由度と比べて、前記目標の状態に速く近づける、
ロボット。 - 前記第1自由度には、前記制御対象の状態のうち前記制御対象の姿勢を変化させる3つの自由度のうちの少なくとも1つの自由度が含まれる、
請求項1に記載のロボット。 - 前記制御対象の状態を変化させる前記複数の前記自由度のそれぞれ毎に、前記撮像画像に含まれる前記制御対象の状態における前記自由度の値と前記目標の状態における前記自由度の値との差分と、前記自由度に応じたゲインとに基づいて、前記自由度に応じた量であって前記制御対象を動かす変位量を算出し、算出した当該変位量に基づいて前記第1自由度を前記第2自由度と比べて、前記目標の状態に速く近づける、
請求項1又は2に記載のロボット。 - 前記第1自由度に応じた前記ゲインは、前記第2自由度に応じた前記ゲインと比べて大きい、
請求項3に記載のロボット。 - 前記撮像画像に含まれる前記制御対象の状態における前記第1自由度の値と前記目標の状態における前記第1自由度の値との差分が所定閾値未満であると判定された場合、前記第2自由度に応じた前記ゲインを大きくする、
請求項3又は4に記載のロボット。 - 前記第1自由度には、前記制御対象の状態のうち前記制御対象の位置を変化させる3つの自由度のうちのいずれか1つの自由度が含まれる、
請求項1から5のうちいずれか一項に記載のロボット。 - 前記第1自由度には、前記制御対象の状態のうち前記制御対象の姿勢を変化させる3つの自由度が含まれ、
前記第2自由度には、前記制御対象の状態のうち前記制御対象の位置を変化させる3つの自由度が含まれる、
請求項1から5のうちいずれか一項に記載のロボット。 - 前記制御対象の状態のうち前記制御対象の位置を変化させる3つの前記自由度の少なくとも1つの前記自由度について、前記撮像画像に含まれる前記制御対象の状態における当該自由度の値と前記目標の状態における当該自由度の値との差分に応じた速さに基づいて、前記制御対象の状態を前記目標の状態に近づける、
請求項1から7のうちいずれか一項に記載のロボット。 - 前記差分が小さくなるほど当該差分に応じた速さを遅くする、
請求項8に記載のロボット。 - 請求項1から9のうちいずれか一項に記載のロボットを制御する、
ロボット制御装置。 - 前記撮像画像を撮像する撮像部と、
請求項1から9のうちいずれか一項に記載のロボットと、
請求項10に記載のロボット制御装置と、
を備えるロボットシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016149433A JP2018015856A (ja) | 2016-07-29 | 2016-07-29 | ロボット、ロボット制御装置、及びロボットシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016149433A JP2018015856A (ja) | 2016-07-29 | 2016-07-29 | ロボット、ロボット制御装置、及びロボットシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018015856A true JP2018015856A (ja) | 2018-02-01 |
Family
ID=61075669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016149433A Pending JP2018015856A (ja) | 2016-07-29 | 2016-07-29 | ロボット、ロボット制御装置、及びロボットシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018015856A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020022041A1 (ja) * | 2018-07-23 | 2020-01-30 | オムロン株式会社 | 制御システム、制御方法およびプログラム |
JP2020019083A (ja) * | 2018-07-31 | 2020-02-06 | オムロン株式会社 | 情報処理装置、制御システム、情報処理方法およびプログラム |
-
2016
- 2016-07-29 JP JP2016149433A patent/JP2018015856A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020022041A1 (ja) * | 2018-07-23 | 2020-01-30 | オムロン株式会社 | 制御システム、制御方法およびプログラム |
JP2020015101A (ja) * | 2018-07-23 | 2020-01-30 | オムロン株式会社 | 制御システム、制御方法およびプログラム |
JP7115096B2 (ja) | 2018-07-23 | 2022-08-09 | オムロン株式会社 | 制御システム、制御方法およびプログラム |
JP2020019083A (ja) * | 2018-07-31 | 2020-02-06 | オムロン株式会社 | 情報処理装置、制御システム、情報処理方法およびプログラム |
WO2020026712A1 (ja) * | 2018-07-31 | 2020-02-06 | オムロン株式会社 | 情報処理装置、制御システム、情報処理方法およびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11090814B2 (en) | Robot control method | |
US10589424B2 (en) | Robot control device, robot, and robot system | |
CN107336229B (zh) | 机器人以及机器人系统 | |
EP2915635B1 (en) | Robot, robot system, control device, and control method | |
US10434646B2 (en) | Robot control apparatus, robot, and robot system | |
US20180093379A1 (en) | Robot control apparatus, robot, and robot system | |
US20170277167A1 (en) | Robot system, robot control device, and robot | |
US10377043B2 (en) | Robot control apparatus, robot, and robot system | |
JP2017071018A (ja) | ロボットシステム、ロボット、及びロボット制御装置 | |
US11440197B2 (en) | Robot system and imaging method | |
US20170203434A1 (en) | Robot and robot system | |
US20180085920A1 (en) | Robot control device, robot, and robot system | |
US20180215044A1 (en) | Image processing device, robot control device, and robot | |
JP2018015856A (ja) | ロボット、ロボット制御装置、及びロボットシステム | |
JP2017047479A (ja) | ロボット、制御装置、及びロボットシステム | |
JP6958091B2 (ja) | ロボットシステム、及びロボット制御方法 | |
JP2018017610A (ja) | 三次元計測装置、ロボット、ロボット制御装置、及びロボットシステム | |
JP2019111588A (ja) | ロボットシステム、情報処理装置、及びプログラム | |
JP2018034245A (ja) | ロボット、ロボット制御装置、及びロボットシステム | |
JP2016013590A (ja) | 教示装置、及びロボットシステム | |
JP2017100197A (ja) | ロボット、及び制御方法 | |
JP2018001321A (ja) | ロボット、ロボット制御装置、及びロボットシステム | |
JP2016013610A (ja) | ロボット、及び制御方法 | |
JP2017119321A (ja) | 制御装置、及びロボットシステム | |
JP2019034386A (ja) | ロボット制御装置、ロボット、ロボットシステム、及びロボット制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20180910 |