[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP6307431B2 - ロボット制御装置、ロボット制御方法、プログラム、記録媒体、ロボットシステム - Google Patents

ロボット制御装置、ロボット制御方法、プログラム、記録媒体、ロボットシステム Download PDF

Info

Publication number
JP6307431B2
JP6307431B2 JP2014516847A JP2014516847A JP6307431B2 JP 6307431 B2 JP6307431 B2 JP 6307431B2 JP 2014516847 A JP2014516847 A JP 2014516847A JP 2014516847 A JP2014516847 A JP 2014516847A JP 6307431 B2 JP6307431 B2 JP 6307431B2
Authority
JP
Japan
Prior art keywords
joint
robot
end effector
reference location
deviation
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.)
Active
Application number
JP2014516847A
Other languages
English (en)
Other versions
JPWO2013176212A1 (ja
Inventor
貞夫 川村
貞夫 川村
大西 浩之
浩之 大西
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.)
Ritsumeikan Trust
Original Assignee
Ritsumeikan Trust
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 Ritsumeikan Trust filed Critical Ritsumeikan Trust
Priority to JP2014516847A priority Critical patent/JP6307431B2/ja
Publication of JPWO2013176212A1 publication Critical patent/JPWO2013176212A1/ja
Application granted granted Critical
Publication of JP6307431B2 publication Critical patent/JP6307431B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • 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/39393Camera detects projected image, compare with reference image, position end effector
    • 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/42Servomotor, servo controller kind till VSS
    • G05B2219/42034Pi regulator
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/27Arm part
    • Y10S901/28Joint
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/46Sensing device
    • Y10S901/47Optical

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Description

この発明は、変位自在な関節を有して当該関節の変位に応じてエンドエフェクタを移動させるロボットに関し、特にエンドエフェクタを撮像した結果に基づき関節の変位を制御して、エンドエフェクタを目標位置に移動させる技術に関する。
特許文献1には、エンドエフェクタをカメラで撮像した結果に基づきロボットの関節の回転を制御して、エンドエフェクタを目標位置に移動させるといったビジュアルフィードバックを用いた制御が提案されている。このようなビジュアルフィードバックによる制御では、エンドエフェクタの位置情報が、カメラの撮像結果から求められる。こうして取得されたエンドエフェクタの位置情報は、関節の回転を制御する回転制御量に変換される。そして、この回転制御量に基づき関節の回転を制御することで、エンドエフェクタを目標位置に移動させることができる。
さらに、非特許文献1では、エンドエフェクタの位置情報を回転制御量としての関節のトルクに変換する項を具備した制御則が提案されている。この制御則では、エンドエフェクタの実際の位置Xと目標位置Xdとの位置偏差e(位置情報)に転置ヤコビ行列を作用させて、エンドエフェクタの位置情報を関節のトルクに変換する、運動学的な演算項が設けられている。この演算項により、エンドエフェクタの位置偏差e(=Xd−X)に基づき比例制御を行なうトルク(位置偏差に基づく比例トルク)が関節に働いて、位置偏差eを減少させる方向に関節を回転させ、エンドエフェクタを目標位置Xdまで移動させる。また、ビジュアルフィードバックによるロボット制御へこの制御則を適用するには、カメラの撮像結果から求めた位置偏差eを、制御則の演算項に当てはめれば良い。
特開2007−011978号公報
Cheah, C. C., M. Hirano, Kawamura, S. and Arimoto, S. (2003)."Approximate Jacobian Control for Robots with Uncertain Kinematics and Dynamics." IEEE Transactions on Robotics and Automation, 19(4), 692-702.
ただし、この制御則では、例えばエンドエフェクタがカメラとの間の障害物に隠れる等の理由によって、エンドエフェクタの位置偏差が正確に得られなくなると、エンドエフェクタを目標位置に近づけられない場合があった。なぜなら、エンドエフェクタの正確な位置偏差が求まらないと、上記の演算項により発生するトルクが、エンドエフェクタの位置偏差を減少させるように作用するとは限らないからである。
この問題に対応するために、関節の目標角度と実際の回転角度との角度偏差に基づき比例制御を行なうトルク(角度偏差に基づく比例トルク)を発生させる項を制御則に加えることが考えられる。ここで、関節の目標角度は、目標位置にエンドエフェクタがあるときのロボットの関節の回転角度に相当する。つまり、かかる項を加えることで、角度偏差を減少させる方向に回転させる比例トルクを関節に与えて、エンドエフェクタを目標位置に近づけられる。しかも、回転角度は、関節に取り付けられた内界センサにより検出できる。したがって、エンドエフェクタの位置偏差が得られなくても、内界センサの検出結果から関節の角度偏差は取得できるため、角度偏差に基づく比例トルクを関節に与えて、エンドエフェクタを目標位置に近づけられる。そして、エンドエフェクタの位置偏差が再び得られるようになれば、この位置偏差に基づく比例トルクによって、エンドエフェクタを目標位置にまで適切に移動できると期待できる。
しかしながら、エンドエフェクタの位置偏差に基づく比例トルクと、関節の角度偏差に基づく比例トルクとが、重畳して関節に働くことで、次のような問題が発生するおそれがあった。つまり、関節の目標角度は、カメラから取得した情報に運動学的演算を施すことで求められるため、関節の目標角度には誤差が生じうる。そのため、エンドエフェクタを目標位置へ近づける途中において、位置偏差に基づく比例トルクとして求められたトルクに対して、角度偏差に基づく誤差を含んだ比例トルクが逆向きに作用して、関節の回転を停止させてしまうおそれがあった。換言すれば、エンドエフェクタが目標位置に到達する前に、これらのトルクが互いに釣り合って、関節の回転が停止してしまい、エンドエフェクタが目標位置から外れた位置で落ち着いてしまうおそれがあった。
このような問題に対応するにあたっては、一つは、運動学的な演算を正確に実行できるように構成することが考えられる。そのためには、カメラのパラメータや、カメラとロボットの位置関係等を高精度にキャリブレーションする必要がある。しかしながら、このようなキャリブレーションを高精度に行うことは、時間的あるいは費用的に多大な負担をユーザに強いることとなる。
この発明は上記課題に鑑みなされたものであり、運動学的な演算に誤差があっても、エンドエフェクタを目標位置にまで移動させることを可能とし、キャリブレーションの負担を軽減できる技術の提供を目的とする。
この発明にかかるロボット制御装置は、上記目的を達成するために、変位自在な関節を有して関節の変位に応じてエンドエフェクタを移動させるロボットを制御するロボット制御装置において、ロボットに設けられた基準箇所と基準箇所の移動先を視野に捉えつつ基準箇所を撮像する撮像部と、関節の変位量を検出する変位量検出部と、撮像部の撮像結果に基づいて移動先との間の位置偏差を基準箇所について求める位置偏差取得部と、関節を変位させるために関節に印加する力あるいはトルクである印加量として、位置偏差に応じた値に積分演算を行った積分値を基準箇所について求めた結果から第1印加量を算出するとともに、基準箇所が対応する移動先に一致するときの関節の変位量である目標変位量と変位量検出部の検出変位量との変位量偏差に応じた値に比例演算を行って第2印加量を算出する印加量算出部と、第1印加量および第2印加量を関節に加えて、基準箇所をその移動先へ向けて移動させる駆動制御部とを備えている。
この発明にかかるロボット制御方法は、上記目的を達成するために、変位自在な関節を有して関節の変位に応じてエンドエフェクタを移動させるロボットを制御するロボット制御方法において、ロボットに設けられた基準箇所と基準箇所の移動先を視野に捉えつつ基準箇所を撮像する工程と、基準箇所を撮像した結果に基づいて移動先との間の位置偏差を基準箇所について求める工程と、関節の変位量を検出して検出変位量を求める工程と、関節を変位させるために関節に印加する力あるいはトルクである印加量として、位置偏差に応じた値に積分演算を行った積分値を基準箇所について求めた結果から第1印加量を算出するとともに、基準箇所が対応する移動先に一致するときの関節の変位量である目標変位量と検出変位量との変位量偏差に応じた値に比例演算を行って第2印加量を算出する工程と、第1印加量および第2印加量を関節に加えて、基準箇所をその移動先へ向けて移動させる工程とを備えている。
この発明にかかるプログラムは、上記目的を達成するために、変位自在な関節を有して関節の変位に応じてエンドエフェクタを移動させるロボットをコンピュータに制御させるロボット制御プログラムにおいて、ロボットに設けられた基準箇所と基準箇所の移動先を視野に捉えつつ基準箇所を撮像する工程と、基準箇所を撮像した結果に基づいて移動先との間の位置偏差を基準箇所について求める工程と、関節の変位量を検出して検出変位量を求める工程と、関節を変位させるために関節に印加する力あるいはトルクである印加量として、位置偏差に応じた値に積分演算を行った積分値を基準箇所について求めた結果から第1印加量を算出するとともに、基準箇所が対応する移動先に一致するときの関節の変位量である目標変位量と検出変位量との変位量偏差に応じた値に比例演算を行って第2印加量を算出する工程と、第1印加量および第2印加量を関節に加えて、基準箇所をその移動先へ向けて移動させる工程とを、コンピュータに実行させる。
この発明にかかる記録媒体は、上記目的を達成するために、上記プログラムをコンピュータにより読み出し可能に記録している。
この発明にかかるロボットシステムは、上記目的を達成するために、変位自在な関節を有して関節の変位に応じてエンドエフェクタを移動させるロボットと、ロボットに設けられた基準箇所と基準箇所の移動先を視野に捉えつつ基準箇所を撮像する撮像部と、関節の変位量を検出する変位量検出部と、撮像部の撮像結果に基づいて移動先との間の位置偏差を基準箇所について求める位置偏差取得部と、関節を変位させるために関節に印加する力あるいはトルクである印加量として、位置偏差に応じた値に積分演算を行った積分値を基準箇所について求めた結果から第1印加量を算出するとともに、基準箇所が対応する移動先に一致するときの関節の変位量である目標変位量と変位量検出部の検出変位量との変位量偏差に応じた値に比例演算を行って第2印加量を算出する印加量算出部と、第1印加量および第2印加量を関節に加えて、基準箇所をその移動先へ向けて移動させる駆動制御部とを備えている。
このように構成された発明(ロボット制御装置、ロボット制御方法、プログラム、記録媒体、ロボットシステム)は、ロボットに設けられた基準箇所をその移動先へ向けて移動させて、エンドエフェクタの位置を制御する。具体的には、基準箇所の移動先が視野に捉えられた状態で基準箇所が撮像されるとともに、関節の変位量が検出される。そして、これらの結果に基づいて、関節を変位させるために関節に印加する力あるいはトルクである印加量が算出される。つまり、基準箇所について求められる移動先との位置偏差に基づく第1印加量が撮像結果から算出されるとともに、目標変位量と関節の検出変位量との変位量偏差に基づく第2印加量が算出される。そして、これら第1および第2印加量が関節に重畳して加えられる。かかる構成では、撮像結果から基準箇所の位置偏差が得られなくなっても、関節の変位量は検出できるため、変位量偏差に基づく第2印加量により関節を変位させて基準箇所を移動先に近づけ、その結果、エンドエフェクタを目標位置へ向けて移動できる。
ただし、上述したのと同様に、位置偏差に基づく印加量と関節の変位量偏差に基づく印加量とが重畳して関節に働く構成では、運動学的な演算が確かでないと、位置偏差に基づく印加量が変位量偏差に基づく印加量に対して逆向きに作用して、関節の変位を停止させてしまうおそれがあった。この場合、位置偏差が残存した状態で、エンドエフェクタが停止してしまうこととなる。これと同様に、基準箇所と移動先との位置偏差に基づく第1印加量と変位量偏差に基づく第2印加量とを重畳して関節に加える構成では、運動学的な演算が確かでないために、位置偏差が残存した状態で関節が停止して、エンドエフェクタが目標位置から外れた位置で落ち着いてしまうおそれがあった。
これに対して、本発明では、第2印加量と重畳して関節に与えられる第1印加量は、基準箇所の位置偏差に応じた値に積分演算を行って求められたものである。したがって、基準箇所が移動先に到達する前に関節が停止あるいは停止しようとした場合には、位置偏差が残存するので、第1印加量は時間とともに増大して、停止あるいは停止しようとする関節を動かす。そして、この第1印加量は、最終的に位置偏差が無くなるまで関節を動かし続けて、基準箇所を移動先まで移動させる。その結果、エンドエフェクタは目標位置にまで移動することができる。したがって、本発明では、運動学的な演算に誤差があっても、第1印加量の機能によって、エンドエフェクタを目標位置に確実に移動させることができる。その結果、高精度のキャリブレーションを必要とせず、キャリブレーションの負担を軽減することが可能となっている。
この際、関節の回転に応じてエンドエフェクタを移動させるロボットを制御するロボット制御装置において、撮像部は、エンドエフェクタに設けられた基準箇所と基準箇所の移動先を捉えつつ基準箇所を撮像し、変位量検出部は、関節の回転角度を検出する角度検出部であり、印加量算出部は、位置偏差に応じた値に積分演算を行って第1トルクを第1印加量として算出するとともに、基準箇所が移動先にあるときの関節の回転角度である目標変位量としての目標角度と角度検出部の検出角度との角度偏差に応じた値に比例演算を行って第2トルクを第2印加量として算出するトルク算出部であり、駆動制御部は、第1トルクおよび第2トルクが関節に加わるように、関節を駆動する関節駆動機構を制御するように、ロボット制御装置を構成しても良い。
このように構成された発明では、エンドエフェクタに設けられた基準箇所の移動先(目標位置)を視野に含みつつ基準箇所が撮像されるとともに、関節の回転角度が検出される。そして、移動先とエンドエフェクタの基準箇所(換言すればエンドエフェクタの位置)との位置偏差に基づく第1トルクが撮像結果に基づき算出されるとともに、目標角度と関節の検出角度との角度偏差に基づく第2トルクが算出される。そして、これら第1および第2トルクが関節に重畳して加えられる。かかる構成では、エンドエフェクタの基準箇所の位置偏差が撮像結果から得られなくなっても、関節の回転角度は検出できるため、角度偏差に基づく第2トルクにより関節を回転させて、エンドエフェクタの基準箇所を移動先に近づけられる。ただし、上述と同様の理由により、これら第1および第2トルクが重畳して関節に与えられる構成では、運動学的な演算に誤差があると、エンドエフェクタの基準箇所が移動先に到達する前に関節の回転が停止して、エンドエフェクタが目標位置から外れた位置で落ち着いてしまうおそれがあった。
これに対して、本発明では、第2トルクと重畳して関節に与えられる第1トルクは、エンドエフェクタの基準箇所の位置偏差に応じた値に積分演算を行って求められたものである。したがって、運動学的な演算に誤差があるために、エンドエフェクタが目標位置に到達する前に関節の回転が停止あるいは停止しようとした場合には、第1トルクは時間とともに増大して、停止あるいは停止しようとする関節を回転させる。そして、この第1トルクは、最終的に位置偏差が無くなるまで、関節を回転させ続けて、エンドエフェクタを目標位置にまで移動させる。したがって、本発明では、運動学的な演算に誤差があっても、第1トルクの機能によって、エンドエフェクタを目標位置に確実に移動させることができる。その結果、高精度のキャリブレーションを必要とせず、キャリブレーションの負担を軽減することが可能となっている。
この際、トルク算出部位置偏差に応じた値に比例演算を行って算出したトルクが関節にさらに加わるように、駆動制御部は関節駆動機構を制御するようにロボット制御装置を構成しても良い。
また、トルク算出部は、転置ヤコビ行列が乗ぜられた位置偏差に対して積分演算を行って第1トルクを算出するようにロボット制御装置を構成しても良い。つまり、転置ヤコビ行列を位置偏差に乗じる運動学的な演算から求められた値に積分演算を行って、第1トルクを算出することができる。なお、上述のとおり本発明によれば、運動学的な演算に誤差があっても、エンドエフェクタを目標位置に確実に移動させることができる。したがって、転置ヤコビ行列が不正確で、第1トルクを求める運動学的な演算に誤差があっても、エンドエフェクタを目標位置に確実に移動させることができる。そのため、転置ヤコビ行列を正確に求めるために、キャリブレーションを高精度に実行する必要は特に無く、キャリブレーションの負担が軽減できる。
あるいは、関節を連結して6以上の自由度を持ったアームの一端にエンドエフェクタを取り付けたロボットを制御するロボット制御装置において、撮像部は、関節のうちの最も一端側の先端関節よりもエンドエフェクタ側に対して設定された少なくとも2箇所を含む、ロボットに対して設定された3箇所以上の基準箇所それぞれの移動先を視野に捉えつつ、基準箇所を撮像し、位置偏差取得部は、位置偏差を各基準箇所について求め、印加量算出部は、各関節について第1印加量および第2印加量を算出し、駆動制御部は、第1印加量および第2印加量を関節に加えて、3箇所以上の基準箇所をそれぞれの移動先へ向けて移動させることで、三次元でのエンドエフェクタの位置および姿勢を制御するように、ロボット制御装置を構成しても良い。
このように構成された発明は、先端関節よりもエンドエフェクタ側に対して設定された少なくとも2箇所を含む、ロボットに対して設定された3箇所以上の基準箇所を、それぞれの移動先へ向けて移動させて、エンドエフェクタの位置を制御する。具体的には、各基準箇所の移動先が視野に捉えられた状態で基準箇所が撮像されるとともに、関節の変位量が検出される。そして、これらの結果に基づいて、関節を変位させるために関節に印加する力あるいはトルクである印加量が算出される。つまり、各基準箇所について求められる移動先との位置偏差に基づく第1印加量が撮像結果から算出されるとともに、目標変位量と関節の検出変位量との変位量偏差に基づく第2印加量が算出される。そして、これら第1および第2印加量が関節に重畳して加えられる。かかる構成では、撮像結果から基準箇所の位置偏差が得られなくなっても、関節の変位量は検出できるため、変位量偏差に基づく第2印加量により関節を変位させて基準箇所を移動先に近づけ、その結果、エンドエフェクタを目標位置へ向けて移動できる。
ただし、上述したのと同様に、位置偏差に基づく印加量と関節の変位量偏差に基づく印加量とが重畳して関節に働く構成では、運動学的な演算が確かでないと、位置偏差に基づく印加量が変位量偏差に基づく印加量に対して逆向きに作用して、関節の変位を停止させてしまうおそれがあった。この場合、位置偏差が残存した状態で、エンドエフェクタが停止してしまうこととなる。これと同様に、基準箇所と移動先との位置偏差に基づく第1印加量と変位量偏差に基づく第2印加量とを重畳して関節に加える構成では、運動学的な演算が確かでないために、位置偏差が残存した状態で関節が停止して、エンドエフェクタが目標位置から外れた位置で落ち着いてしまうおそれがあった。
これに対して、本発明では、第2印加量と重畳して関節に与えられる第1印加量は、基準箇所の位置偏差に応じた値に積分演算を行って求められたものである。したがって、基準箇所が移動先に到達する前に関節が停止あるいは停止しようとした場合には、位置偏差が残存するので、第1印加量は時間とともに増大して、停止あるいは停止しようとする関節を動かす。そして、この第1印加量は、最終的に位置偏差が無くなるまで関節を動かし続けて、基準箇所を移動先まで移動させる。その結果、エンドエフェクタは目標位置にまで移動することができる。したがって、本発明では、運動学的な演算に誤差があっても、第1印加量の機能によって、エンドエフェクタを目標位置に確実に移動させることができる。その結果、高精度のキャリブレーションを必要とせず、キャリブレーションの負担を軽減することが可能となっている。
特にこの発明は、エンドエフェクタに対して設定された少なくとも2箇所を含む、ロボットに対して設定された3箇所以上の基準箇所を、それぞれの移動先へ向けて移動させて、エンドエフェクタの位置を制御する。その結果、三次元においてエンドエフェクタを目標の位置および姿勢に適切に制御することが可能となっている。
ところで、3箇所以上の基準箇所をそれぞれの移動先へ移動させる構成では、基準箇所の設定位置と移動先との位置関係によっては、全ての基準箇所をそれぞれの移動先へ収束させることが困難となるといった問題が生じるおそれがある。特に全ての基準箇所を先端関節よりもエンドエフェクタ側に対して設定した際に、かかる問題が発生しやすい。
そこで、駆動制御部は、先端関節あるいは先端関節よりも一端側の逆側である他端側に対して特定基準箇所として設定された基準箇所を含む3箇所以上の基準箇所のそれぞれを、対応する移動先へ向けて移動させるように、ロボット制御装置を構成しても良い。このように一部の基準箇所(特定基準箇所)を先端関節あるいは先端関節よりも他端側に設けることで、全ての基準箇所をそれぞれの移動先へ収束させることが容易となる。
さらには、複数の関節のうち一端側から順番に関節の自由度を数えた総計が3以上となる特定関節あるいは当該特定関節より他端側に特定基準箇所が設定されているように、ロボット制御装置を構成しても良い。このような構成では、特定基準箇所については特定関節より他端側の自由度によって適切に移動先へ収束させることができる。また、特定基準箇所よりエンドエフェクタ側に対して設定された基準箇所については、特定関節を含めて特定関節より一端側の3以上の自由度によって適切に移動先へ収束させることができる。つまり、特定基準箇所とそれ以外の基準箇所とで自由度を使い分ける制御が実行可能となる。その結果、各基準箇所を移動先へ適切に収束させることが容易となる。
この際、複数の関節のうち他端側から順番に関節の自由度を数えた総計が3以上となる関節よりも一端側に特定基準箇所が設定されているように、ロボット制御装置を構成してもよい。これによって、特定基準箇所を3以上の自由度でもって移動先へより確実に収束させることができる。
また、印加量算出部は、特定基準箇所についての積分値の重み係数が先端関節よりもエンドエフェクタ側に対して設定された基準箇所についての積分値の重み係数よりも大きい加重加算を各基準箇所の積分値に行って、第1印加量を算出するように、ロボット制御装置を構成しても良い。このような構成では、より大きな重み係数に対応する特定基準箇所をより速く移動先へ収束させた後に、先端関節よりもエンドエフェクタ側に対して設定された基準箇所を移動先へ収束させるといった動作が実行できる。したがって、特定関節を含めて特定関節より一端側の自由度、換言すれば特定基準箇所よりもエンドエフェクタ側の自由度を、実質的にエンドエフェクタに対して設定された基準箇所の移動にのみ用いることができる。よって、エンドエフェクタに対して設定された基準箇所を、十分な自由度でもって移動先へ確実に収束させることができる。
この際、印加量算出部は、位置偏差に応じた値に比例演算を行った比例値を各基準箇所について求めた結果から第3印加量を算出し、駆動制御部は、第3印加量を関節にさらに加えるように、ロボット制御装置を構成しても良い。
また、印加量算出部は、転置ヤコビ行列が乗ぜられた位置偏差に対して積分演算を行って積分値を求めて、第1印加量を算出するように、ロボット制御装置を構成しても良い。つまり、転置ヤコビ行列を位置偏差に乗じる運動学的な演算から求められた値に積分演算を行って、第1印加量を算出することができる。なお、上述のとおり本発明によれば、運動学的な演算に誤差があっても、エンドエフェクタを目標位置に確実に移動させることができる。したがって、転置ヤコビ行列が不正確で、第1印加量を求める運動学的な演算に誤差があっても、エンドエフェクタを目標位置に確実に移動させることができる。そのため、転置ヤコビ行列を正確に求めるために、キャリブレーションを高精度に実行する必要は特に無く、キャリブレーションの負担が軽減できる。
運動学的な演算に誤差があっても、エンドエフェクタを目標位置にまで移動させることが可能となり、キャリブレーションの負担を軽減できる。
本発明の第1実施形態にかかるロボットシステムの一例を示す模式図である。 図1のロボットシステムでエンドエフェクタの位置制御を担う電気的構成を示すブロック線図である。 ロボットシステムで実行されるエンドエフェクタの位置制御の一例を示すブロック線図である。 本発明の第2実施形態にかかるロボットシステムの一例を示す模式図である。 基準点をそれぞれの移動先へ動かす過程においてエンドエフェクタへ働くトルクの状態の一例を模式的に示す図である。 実施例1での実験結果を示す図である。 実施例1での実験結果を示す図である。 実施例2での実験結果を示す図である。 実施例2での実験結果を示す図である。 実施例2での実験結果を示す図である。 実施例2での実験結果を示す図である。 実施例3での実験結果を示す図である。 実施例3での実験結果を示す図である。 実施例4でのゲインの設定値を表として示す図である。 実施例4でのシミュレーション結果を示す図である。 実施例5でのゲインの設定値を表として示す図である。 実施例5でのシミュレーション結果を示す図である。 実施例6でのゲインの設定値を表として示す図である。 実施例6でのシミュレーション結果を示す図である。 実施例7でのゲインの設定値を表として示す図である。 実施例7でのシミュレーション結果を示す図である。 実施例8でのゲインの設定値を表として示す図である。 実施例8でのシミュレーション結果を示す図である。
第1実施形態
図1は、本発明の第1実施形態にかかるロボットシステムの一例を示す模式図である。同図に示すように、ロボットシステム1は、ロボット2と2台のカメラC1、C2とで構成される。なお、図1では、ロボット2は関節Q1〜Q3、リンクL1〜L3およびエンドエフェクタ4の記号表記によって模式的に示されており、カメラC1、C2はそれぞれの像面IM1、IM2で代表して模式的に示されている。
ロボット2は、回転自在な関節Q1〜Q3を有して当該関節Q1〜Q3の回転に応じて動くアーム3の先端に、エンドエフェクタ4(手先)を取り付けた概略構成を具備する。具体的には、関節Q1、Q2の間にリンクL1が取り付けられ、関節Q2、Q3の間にリンクL2が取り付けられ、関節Q3にリンクL3の一端が取り付けられて、アーム3が構成される。そして、エンドエフェクタ4はリンクL3の他端(アーム3の先端)に取り付けられる。関節Q1は、鉛直軸を中心として回転して、それよりエンドエフェクタ4側の部材を鉛直軸中心に回転させる。関節Q2は、回転することで、それよりエンドエフェクタ4側の部材とリンクL1との角度を変化させる。関節Q3は、回転することで、それよりエンドエフェクタ4側の部材とリンクL2との角度を変化させる。
このような構成を具備するロボット2では、関節Q1〜Q3の回転角度q1〜q3を変化させることで、エンドエフェクタ4を移動させることができる。特に、このロボットシステム1は、エンドエフェクタ4(具体的には、例えばTCP(Tool Center Point)等の代表点)の位置pをカメラC1、C2で検出した結果に基づき、関節Q1〜Q3の回転角度q1〜q3を調整して、エンドエフェクタ4の位置pを制御する。この際、代表点に例えばLED(Light Emitting Diode)等のマークを取り付けて、カメラC1、C2での視認性を向上させても良い。
つまり、カメラC1、C2は、エンドエフェクタ4の移動先である目標位置pdをそれぞれの視野に含むように位置決めされており、エンドエフェクタ4の位置pと目標位置pdとの位置偏差Δpを互いに異なる平面で捉える。具体的には例えば、像面IM1、IM2が互いに直交するようにカメラC1、C2を配置して、作業座標系のYZ平面をカメラC1で撮像するとともに、作業座標系のZX平面をカメラC2で撮像するように構成することができる。そして、カメラC1、C2の撮像結果から検出したエンドエフェクタ4の位置pと目標位置pdとの位置偏差Δpが縮まるように、関節Q1〜Q3の回転角度q1〜q3が調整されて、エンドエフェクタ4の位置制御が実行される(ビジュアルフィードバック)。
この際、特異点にあるロボット2の撮像結果は、エンドエフェクタ4の位置制御にフィードバックしないように構成することができる。具体例を挙げれば、特異点にあるロボット2がカメラC1、C2の視野から外れるように、カメラC1、C2を配置しても良い。これによって、特異点にあるロボット2の撮像結果に基づいてビジュアルフィードバックが行われて、ロボット2の制御が不安定になることを抑制できる。
ここで、エンドエフェクタ4の位置制御に用いられる座標系や各制御量の表記について説明しておく。図1に示すように、エンドエフェクタ4が作業を行う作業空間に対しては、互いに直交するX軸、Y軸、Z軸で構成された、Z軸を鉛直軸とする三次元の作業座標系が設けられる。よって、エンドエフェクタ4の位置pは、三次元ベクトル(px、py、pz)で与えられる。同様に、エンドエフェクタ4の目標位置pdも三次元ベクトル(pdx、pdy、pdz)で与えられる。
各カメラCiに対しては、互いに直交するUi軸、Vi軸、Wi軸で構成された三次元のカメラ座標系が設けられている。ここで、「i」はカメラを区別するための番号であり(i=1、2)、Ui軸はi番目のカメラCiの水平方向軸であり、Vi軸はi番目のカメラCiの垂直方向軸(鉛直軸)であり、Wi軸はi番目のカメラCiの奥行方向軸である。また、図1では、UiVi平面内にあるカメラCiの像面IMiが示されるとともに、位置p(基準点)を像面IMiに投影した座標αi(換言すれば、カメラCiの座標系における位置pの座標αi)と、目標位置pd(移動先)を像面IMiに投影した座標βi(換言すれば、カメラCiの座標系における目標位置pdの座標βi)とが示されている。これら座標αi、βiは、具体的には次のとおりである。
Figure 0006307431
ロボット2の関節Qの回転角度qは、関節Qnの回転角度qnを各成分とするベクトル(q1、q2、q3)として表される。ここで、関節Qとの表記は、関節Q1〜Q3を総称した表記であり、「n」は関節を区別するための番号である(n=1、2、3)。また、目標位置pdにエンドエフェクタ4があるときの関節Qの回転角度qを、目標角度qd(=qd1、qd2、qd3)とする。さらに、ロボット2の関節Qに与えられるトルクτは、関節Qnに働くトルクτnを各成分とするベクトル(τ1、τ2、τ3)として表される。
以上が座標系および制御量の表記に関する説明である。続いて、エンドエフェクタ4の位置制御の詳細について説明する。図2は、図1のロボットシステムでエンドエフェクタの位置制御を担う電気的構成を示すブロック線図である。図2に示すように、ロボットシステム1では、CPU(Central Processing Unit)やメモリー等で構成された演算機能を司るコントローラ5が設けられている。そして、このコントローラ5が、記録媒体6に記録されたプログラム7に従って、エンドエフェクタ4の位置制御を実行する。なお、記録媒体6としては、CD(Compact Disc)、DVD(Digital Versatile Disc)、USB(Universal Serial Bus)メモリー等の種々のメディアを用いることができる。さらに、ロボットシステム1では、関節Qnを駆動するモータMnが、関節Q1〜Q3のそれぞれについて設けられるとともに、モータMnの回転位置を検出するエンコーダEnが、モータM1〜M3のそれぞれについて設けられている。
そして、コントローラ5は、モータM1〜M3のそれぞれを制御することで、ロボット2の関節Qの回転角度qを調整する。この際、上述のビジュアルフィードバックを実行するために、コントローラ5は、カメラCi(外界センサ)によるエンドエフェクタ4の撮像結果から、エンドエフェクタ4の位置偏差Δp(=pd−p)を検出する。この際、コントローラ5は、目標位置pdがカメラCiの座標系の原点(像面IMiの中心)に一致あるいは近接するように、カメラCiのパン・チルトを制御しつつ、エンドエフェクタ4の位置偏差Δpの検出を行う。
また、エンドエフェクタ4の位置偏差Δpの検出と並行して、コントローラ5は、エンコーダE1〜E3(内界センサ)の出力から、関節Qの角度偏差Δq(=qd−q)を検出する。そして、コントローラ5は、位置偏差Δp(=pd−p)および角度偏差Δq(=qd−q)に基づいて、トルクτを算出する。そして、モータM1〜M3がトルクτを関節Qに与えることで、関節Qの回転角度qが調整される。このように、この実施形態では、カメラCiおよびエンコーダEnの検出結果がトルクτにフィードバックされて、エンドエフェクタ4の位置が制御される。
図3は、ロボットシステムで実行されるエンドエフェクタの位置制御の一例を示すブロック線図である。図3および以下の説明において、記号「〜」は、同記号が付された量が誤差を含みうることを示し、記号「T」を右肩に有する行列は、記号「T」の付された行列の転置行列を表し、記号「−1」を右肩に有する行列は、記号「−1」の付された行列の逆行列を表し、記号「s」はラプラス変換の変数(ラプラス変数)であり、記号「・」は微分を意味する。また、図3および以下の数式では、目標位置pdおよび目標角度qdに付された記号「d」等を下付きで適宜表記する。
トルクτがロボット2の関節Qに与えられると、ロボット2はロボットダイナミクス201に従って動き、ロボット2の関節Qは回転角度qを取る。ここで、ロボットダイナミクス201は、ロボット2の機構に働くトルクと当該トルクが生み出す加速との関係を規定するものである。その結果、エンドエフェクタ4は、ロボット運動学202に従って回転角度qに応じた位置pに移動する。また、上述のフィードバック制御を実行するために、コントローラ5は、位置偏差Δpをトルクτにフィードバックする外界ループLxと、角度偏差Δqをトルクτにフィードバックする内界ループLqとを有する。
外界ループLxでは、エンドエフェクタ4の位置pが2台のカメラC1、C2によって検出される。換言すれば、座標変換203によって、作業座標系におけるエンドエフェクタ4の位置pがカメラC1、C2それぞれの座標系の座標α1、α2へ変換される。そして、カメラC1、C2は、それぞれの座標系で位置偏差Δpを表した値(β1−α1)、(β2−α2)を出力する。具体的には、カメラCiの座標系で位置偏差Δpを表した値(βi−αi)は次のとおりである。
Figure 0006307431
そして、カメラC1、C2それぞれの座標系で表された位置偏差(βi−αi)から、作業座標系での位置偏差Δpに基づくトルクτが算出される。このトルクτの算出では、カメラ座標系および位置座標系それぞれの位置偏差の間に成立する関係を、用いることができる。
つまり、カメラCiの座標系と作業座標系の間には、次の関係が成立する。
Figure 0006307431
なお、カメラの内部パラメータAを表現する行列は、具体的に次式で与えられる。
Figure 0006307431
数3の関係が成立することから、カメラ座標系での位置偏差(βi−αi)と作業座標系での位置偏差(pd−p)との間には、次の関係が成立する。
Figure 0006307431
さらに、次の関係も成立する。
Figure 0006307431
そして、数5および数6から、次式が得られる。
Figure 0006307431
ここで、カメラCiの座標系で表された位置偏差(βi−αi)と、作業座標系で表された位置偏差(pd−p)とを関係付ける係数行列Γiを、次式で定義する。
Figure 0006307431
なお、カメラのレンズ歪みEを表現する行列は、具体的には次式を満たす。
Figure 0006307431
そして、数7および数8より、2台のカメラC1、C2それぞれの座標系で表された位置偏差(βi−αi)と作業座標系で表された位置偏差(pd−p)とを関係付ける次式が得られる。
Figure 0006307431
なお、数10では、目標位置pdまでの奥行距離の推定値が用いられる。この推定値は、適当な定数とすることができる。具体的には、作業座標系とカメラCiとの座標系とが十分に離れている場合には、これら座標系の原点間の距離を当該推定値としても良い。あるいは、カメラC1と目標位置pdとの両方をカメラC2の視野内に捉えて、カメラC1の当該推定値をカメラC2の撮像結果から求めるとともに、カメラC2の当該推定値についても同様にしてカメラC1の撮像結果から求めるようにしても良い。
さらに、補正行列を次式で定義する。
Figure 0006307431
この補正行列の逆行列は、数10の右辺で位置偏差(pd−p)にかかる係数を正規化する機能を持つ。したがって、補正行列の逆行列と当該係数との積は、単位行列に等しくなる。ただし、各パラメータに誤差があることから、この積は、厳密には位置pに応じた成分を有し、行列Φ(p)を用いて次のように表される。ここで、Φ(p)は、位置pに応じた成分を有する行列であり、単位行列に概ね等しい。
Figure 0006307431
その結果、数10および数12の関係から、次の関係が得られる。
Figure 0006307431
このように、2台のカメラC1、C2それぞれの座標系で表された位置偏差(β1−α1)(β2−α2)から、作業座標系で表された位置偏差(pd−p)に応じた位置偏差検出量(=Φ(p)(pd−p))を取得することができる。そこで、外界ループLxでは、図3に示すように、カメラC1、C2の座標系での位置偏差(β1−α1)(β2−α2)それぞれに演算204、205を施したものが足し合わされて、作業座標系における位置偏差検出量(=Φ(p)(pd−p))が算出される。
なお、後述するように、この実施形態では、高精度のキャリブレーションを要さずとも、エンドエフェクタ4を目標位置pdに正確に移動できるといった利点がある。そのため、演算204、205において、補正行列および係数行列は誤差を含んでいても構わない。これに対応して、図3のブロック線図では、これらに記号「〜」が付されている。
そして、コントローラ5では、転置ヤコビ行列(ヤコビ行列の転置行列)を位置偏差検出量に乗じる演算206が実行される。さらに、コントローラ5では、転置ヤコビ行列が乗ぜられた位置偏差検出量に対して、比例演算および積分演算が実行される。具体的には、転置ヤコビ行列が乗ぜられた位置偏差検出に、比例ゲインを乗じて比例演算が実行される(演算207)。また、転置ヤコビ行列が乗ぜられた位置偏差検出に、時間による積分演算が実行される(演算208)。さらに、積分演算値に対しては、積分ゲインが乗じられる(演算209)。そして、これら演算207、209の結果は、ロボットダイナミクス201の入力側(つまり、トルクτ)に帰還される。以上が、外界ループLxの動作である。
内界ループLqでは、関節Qの回転角度qを検出する角度検出210が実行される。なお、この角度検出により検出される回転角度qは誤差を含みうる。これに対応して、図3の角度検出210では、回転角度qの検出値が誤差関数ε(q)の出力値として表されている。この誤差関数は例えば、ε(q)=c1×q+c2というように、回転角度q(の真値)の1次関数で表すことができる。さらに、内界ループLqでは、回転角度qの検出値ε(q)に対して、微分演算および比例演算が実行される。具体的には、検出値ε(q)に、時間による微分演算が実行される(演算211)。さらに、微分演算値に対しては、微分ゲインが乗じられる(演算212)。また、目標角度qdとの偏差Δqに比例ゲインを乗じる比例演算213が実行される。これら演算212、213の結果は、ロボットダイナミクス201の入力側(つまり、トルクτ)に帰還される。以上が、内界ループLqの動作である。
コントローラ5は、これら外界ループLxおよび内界ループLqの演算結果に重力補償項g(q)を加算して、トルクτを決定する。ここで、重力補償項g(q)は、重力に抗してロボット2を静止させるために必要となるトルクに相当する。その結果、関節Qに加えられるトルクτは次式で与えられる。
Figure 0006307431
数14において、第1項は重力補償項であり、第2項は角度偏差Δqに対して比例制御を行なう項であり、第3項は回転角度qに対して微分制御を行なう項であり、第4項は位置偏差Δpに対して比例制御を行なう項であり、第5項は位置偏差Δpに対して積分制御を行なう項である。なお、数14では、積分区間が制御開始時刻toからの時間となっているが、積分区間はこれに限られず、適宜変更することもできる。具体例を挙げると、エンドエフェクタ4がカメラC1、C2両方の視野の外から移動を開始するような場合、エンドエフェクタ4がカメラC1、C2両方の視野に入って、ビジュアルフィードバックが適切に機能し始める時刻を積分区間の始点としても構わない。
以上に説明したように、この実施形態では、エンドエフェクタ4の目標位置pdを視野に含みつつエンドエフェクタ4が撮像されるとともに、関節Qの回転角度qが検出される(第1工程)。そして、エンドエフェクタ4の位置偏差Δpに基づくトルク(数14の第5項のトルク)が撮像結果に基づき算出されるとともに、関節Qの角度偏差Δqに基づくトルク(数14の第2項のトルク)が算出される(第2工程)。そして、これらのトルクが関節Qに加わるように、モータM1〜M3が制御される(第3工程)これによって、これらのトルクが関節Qに重畳して加えられる。かかる構成では、撮像結果からエンドエフェクタ4の位置偏差Δpが得られなくなっても、関節Qの回転角度qは検出できるため、角度偏差Δqに基づくトルクにより関節Qを回転させて、エンドエフェクタ4を目標位置pdに近づけられる。ただし、角度偏差Δqに基づくトルクと位置偏差Δpに基づくトルクが重畳して関節Qに与えられる構成では、運動学的な演算に誤差があると、エンドエフェクタ4が目標位置pdに到達する前に関節Qの回転が停止して、エンドエフェクタ4が目標位置pdから外れた位置で落ち着いてしまうおそれがあった。
これに対して、この実施形態では、角度偏差Δqに基づくトルクと重畳して関節Qに与えられる位置偏差Δpに基づくトルクは、位置偏差Δpに応じた値に積分演算を行って求められた位置偏差積分トルクである。したがって、運動学的な演算に誤差があるために、エンドエフェクタ4が目標位置pdに到達する前に関節Qの回転が停止あるいは停止しようとした場合には、位置偏差積分トルクは時間とともに増大して、停止あるいは停止しようとする関節Qを回転させる。そして、この位置偏差積分トルクは、最終的に位置偏差Δpが無くなるまで、関節Qを回転させ続けて、エンドエフェクタ4を目標位置pdにまで移動させる。したがって、この実施形態では、運動学的な演算に誤差があっても、位置偏差積分トルクの機能によって、エンドエフェクタ4を目標位置pdに確実に移動させることができる。その結果、高精度のキャリブレーションを必要とせず、キャリブレーションの負担を軽減することが可能となっている。
特に、この実施形態では、転置ヤコビ行列が乗ぜられた位置偏差Δpに対して積分演算を行うといった運動学的な演算から、位置偏差積分トルクが算出されている。これに対して、この実施形態によれば、運動学的な演算に誤差があっても、エンドエフェクタ4を目標位置pdに確実に移動させることができる。したがって、転置ヤコビ行列が不正確で、位置偏差積分トルクを求める運動学的な演算に誤差があっても、エンドエフェクタ4を目標位置pdに確実に移動させることができる。そのため、転置ヤコビ行列を正確に求めるために、キャリブレーションを高精度に実行する必要は特に無く、キャリブレーションの負担が軽減できる。
上述の技術内容は、次のように捉えることもできる。つまり、角度偏差Δqに基づくトルクと位置偏差Δpに基づくトルクとが重畳して関節Qに加えられる構成では、運動学的な演算に誤差があると、両トルクが拮抗して、関節Qの回転が停止するおそれがあった。これは、運動学的な演算に誤差があると、作業空間でのポテンシャル分布が目標位置pdとは別の位置に極小値を持ち、エンドエフェクタ4がこの極小値に陥るためと考えられる。これに対して、上記の位置偏差積分トルクを関節Qに加えた場合、時間とともに増大する位置偏差積分トルクの作用によって、エンドエフェクタ4を目標位置pdにまで移動させることができる。したがって、運動学的な演算の誤差に起因して目標位置pdとは別の位置に極小値が生じるような場合であっても、エンドエフェクタ4を目標位置pdに確実に移動させることができる。その結果、高精度のキャリブレーションを必要とせず、キャリブレーションの負担を軽減することが可能となっている。
ところで、この実施形態によれば、エンドエフェクタ4に位置偏差Δpがあれば、位置偏差積分トルクが関節Qに働いて、エンドエフェクタ4を目標位置pdにまで移動させることができる。上記説明では、この位置偏差Δpの原因として、運動学的な演算の誤差を挙げた。しかしながら、この実施形態は、エンドエフェクタ4の位置偏差Δpの発生原因を問わず、エンドエフェクタ4に位置偏差Δpがあればこれを解消するように、エンドエフェクタ4を目標位置pdにまで移動させる。つまり、重力補償のための項、目標角度qdあるいは検出した回転角度q等の値が不正確であることを原因とする位置偏差Δpも、位置偏差積分トルクの作用によって解消することができる。したがって、エンドエフェクタ4の位置偏差(Δp=pd−p)さえ求まれば、エンドエフェクタ4を目標位置pdに移動させることができる。その結果、精度の求められるパラメータが少ないため、キャリブレーションの負担は極めて軽く、場合によってはキャリブレーションを省略することも可能となる。
このように、第1実施形態では、ロボットシステム1が本発明の「ロボットシステム」の一例に相当し、ロボット2が本発明の「ロボット」の一例に相当し、コントローラ5、カメラCiおよびエンコーダEnが協働して本発明の「ロボット制御装置」の一例として機能し、コントローラ5が本発明の「コンピュータ」の一例に相当し、記録媒体6が本発明の「記録媒体」の一例に相当し、プログラム7が本発明の「プログラム」の一例に相当し、エンコーダEnが本発明の「角度検出部」の一例に相当し、コントローラ5が本発明の「トルク算出部」および「駆動制御部」の一例として機能し、モータMnが本発明の「関節駆動機構」の一例に相当する。また、数14において、第5項で与えられるトルクが本発明の「第1印加量」あるいは「第1トルク」の一例に相当し、第2項で与えられるトルクが本発明の「第2印加量」あるいは「第2トルク」の一例に相当する。
なお、本発明は上記した第1実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。例えば、上記第1実施形態では、エンドエフェクタ4に付されたマークをエンドエフェクタ4の位置として認識していた。しかしながら、エンドエフェクタ4の特徴的な箇所(例えば先端や穴等)や、エンドエフェクタ4が把持する対象物(例えばボルト等)の特徴的な箇所を、エンドエフェクタ4の位置として認識しても良い。
また、上記第1実施形態では、エンドエフェクタ4の1点を目標位置pdに移動させる場合について説明した。しかしながら、姿勢も考慮してエンドエフェクタ4を移動させる場合には、エンドエフェクタ4に3点の代表点を設けておき、3点をそれぞれの目標位置に移動させるように構成すれば良い。具体的には、エンドエフェクタ4に設けられた3点の位置をx、y、zで表し、それぞれの目標位置をxd、yd、zdで表したとき、3点の位置偏差は、Δx(=xd−x)、Δy(=yd−y)、Δz(=zd−z)で与えられる。そして、位置偏差Δx、Δy、Δzのそれぞれについて、上述と同様の位置偏差積分トルクを算出して、関節Qに加えれば良い。
また、数14で表された制御則に対しても適宜変更が可能である。具体例を挙げれば、重力補償のための第1項、回転角度qに対して微分制御を行なう第3項、あるいは位置偏差Δpに対して比例制御を行なう第4項を省略するといった変更が可能である。
また、目標位置pdがカメラCiの座標系の原点(像面IMiの中心)に一致あるいは近接するように、カメラCiのパン・チルトが制御されていた。しかしながら、目標位置pdとカメラCiの座標系の原点を一致させる必要は必ずしもない。
また、上記の外界ループLxと内界ループLqを重畳してトルクτにフィードバックする制御を常に行なう必要は無い。例えば、エンドエフェクタ4がカメラCiの視野から外れている場合は、外界ループLxからのフィードバック量をゼロに設定して、外界ループLxを作動させないように構成しても良い。そして、エンドエフェクタ4がカメラCiの視野に入ってから、外界ループLxを作動させても良い。
この際、エンドエフェクタ4がカメラCiの視野に入るまでの動作は、ロボット2に予めティーチングしておいても良い。かかるティーチングは、エンドエフェクタ4をカメラCiの視野にまで移動させるだけで良いので、粗いもので足りる。ただし、カメラCiの視野に入るまでのエンドエフェクタ4の軌跡をトラッキングして、エンドエフェクタ4をカメラCiの視野に収めるように制御しても、もちろん構わない。
あるいは、エンドエフェクタ4がカメラCiの視野に入っても、目標位置pdから所定範囲の外にある間は、外界ループLxを作動させずに、内界ループLqのみを用いるように構成することもできる。この場合には、エンドエフェクタ4が目標位置pdから所定範囲に入ってから外界ループLxを作動させれば良い。かかる構成では、エンドエフェクタ4を目標位置pdに移動させる最終段階での位置決めを、外界ループLxを用いて高精度に実行することができる。
第2実施形態
図4は、本発明の第2実施形態にかかるロボットシステムの一例を示す模式図である。同図に示すように、ロボットシステム1は、ロボット2と2台のカメラC1、C2とで構成される。なお、図1では、ロボット2は関節Q1〜Q6、リンク30およびエンドエフェクタ4の記号表記によって模式的に示されており、カメラC1、C2はそれぞれの像面IM1、IM2で代表して模式的に示されている。
ロボット2は、回転自在な関節Q1〜Q6を有して当該関節Q1〜Q6の回転に応じて動くアーム3の先端に、エンドエフェクタ4(手先)を取り付けた概略構成を具備する。具体的には、ロボット2の土台側(他端側)から先端側(一端側)へ向けて関節Q1〜Q6がこの順番でリンク30を介して連結され、さらに関節Q6から先端側へ向けて突き出すリンク30が設けられている。こうして関節Q1〜Q6およびリンク30からアーム3が構成される。そして、アーム3の先端(関節Q6から一端側へ突き出すリンク30の先端)にエンドエフェクタ4が取り付けられている。なお、リンク30を介して互いに連結される6個の関節Q1〜Q6のうち最も先端側にある関節Q6を、先端関節と適宜称することとする。
6個の関節Q1〜Q6はそれぞれ1の自由度を持って回転することができる。したがって、アーム3は関節Q1〜Q6の回転角度q1〜q6を変化させることで、先端に取り付けられたエンドエフェクタ4を6の自由度で移動させることができる。特に、このロボットシステム1では、基準点p1が先端関節Q6あるいは先端関節Q6よりも土台側の範囲に設定される一方、基準点p2、p3が先端関節Q6よりもエンドエフェクタ4側の範囲に設定される。より具体的には、図4に示す例では、基準点p1は関節Q3、Q4間のリンク30上に設定される一方、基準点p2、p3はエンドエフェクタ4上に設定されている。そして、基準点p1〜p3をカメラC1、C2で検出した結果に基づき、関節Q1〜Q6の回転角度q1〜q6が調整されて、三次元におけるエンドエフェクタ4の位置および姿勢が制御される。この際、基準点p1〜p3のそれぞれに例えばLED(Light Emitting Diode)等のマークを取り付けて、カメラC1、C2での視認性を向上させても良い。
つまり、カメラC1、C2は、基準点p1〜p3の移動先pd1〜pd3をそれぞれの視野に捉えるように位置決めされており、基準点p1〜p3と移動先pd1〜pd3との位置偏差Δp1〜Δp3を互いに異なる平面で捉える(Δp1=pd1−p1、Δp2=pd2−p2、Δp3=pd3−p3)。具体的には例えば、像面IM1、IM2が互いに直交するようにカメラC1、C2を配置して、作業座標系XYZのYZ平面をカメラC1で撮像するとともに、作業座標系XYZのZX平面をカメラC2で撮像するように構成することができる。そして、カメラC1、C2の撮像結果から検出した基準点p1〜p3と移動先pd1〜pd3との位置偏差Δp1〜Δp3が縮まるように、関節Q1〜Q6の回転角度q1〜q6が調整されて、三次元におけるエンドエフェクタ4の位置および姿勢が制御される(ビジュアルフィードバック)。
このビジュアルフィードバックでは、関節Q3、Q4の間のリンク30上に設定された基準点p1と、エンドエフェクタ4上に設定された基準点p2、p3とで自由度を使い分けて位置制御を行うことができる。上述のとおり、基準点p1は関節Q3、Q4の間のリンク30上に設定されている。換言すれば、基準点p1(特定基準箇所)の設定位置は、先端側から順番に関節の自由度を数えた総計が3となる関節Q4(特定関節)より土台側であって、土台側から順番に関節の自由度を数えた総計が3となる関節Q3よりも先端側の範囲にある。したがって、関節Q1〜Q3で実現される3個の自由度によって基準点p1の位置制御を行う一方、関節Q4〜Q6で実現される3個の自由度によって基準点p2、p3の位置制御を行うことができる。こうして、基準点p1の位置制御に供する自由度(関節Q1〜Q3による3自由度)と、基準点p2、p3の位置制御に供する自由度(関節Q4〜Q6による3自由度)とを使い分けた制御が可能となっている。
さらに、このビジュアルフィードバックでは、特異点にあるロボット2の撮像結果は、エンドエフェクタ4の位置制御にフィードバックしないように構成することができる。具体例を挙げれば、特異点にあるロボット2がカメラC1、C2の視野から外れるように、カメラC1、C2を配置しても良い。これによって、特異点にあるロボット2の撮像結果に基づいてビジュアルフィードバックが行われて、ロボット2の制御が不安定になることを抑制できる。
ここで、エンドエフェクタ4の位置制御に用いられる座標系や各制御量の表記について説明しておく。図4に示すように、エンドエフェクタ4が作業を行う作業空間に対しては、互いに直交するX軸、Y軸、Z軸で構成された、Z軸を鉛直軸とする三次元の作業座標系が設けられる。よって、基準点p1〜p3の位置は、それぞれ三次元ベクトル(p1x、p1y、p1z)、(p2x、p2y、p2z)、(p3x、p3y、p3z)で与えられる。同様に、移動先pd1〜pd3は、それぞれ三次元ベクトル(pd1x、pd1y、pd1z)、(pd2x、pd2y、pd2z)、(pd3x、pd3y、pd3z)で与えられる。さらに、位置偏差Δp1〜Δp3は、それぞれ三次元ベクトル(Δp1x、Δp1y、Δp1z)、(Δp2x、Δp2y、Δp2z)、(Δp3x、Δp3y、Δp3z)で与えられる。
なお、以下では、3個の基準点p1〜p3を区別せずに基準点pで代表する表記、3個の移動先pd1〜pd3を区別せずに移動先pdで代表する表記、3個の位置偏差Δp1〜Δ3を区別せずに位置偏差Δpで代表する表記、を適宜用いることとする。この際、位置偏差Δpは基準点p、移動先pdを用いて、式Δp=pd−pで与えられることとなる。また、これらに対応して、基準点pの位置を三次元ベクトル(px、py、pz)で表し、移動先pdの位置を三次元ベクトル(pdx、pdy、pdz)で表し、偏差Δpを三次元ベクトル(Δpx、Δpy、Δpz)で表す。
ロボット2の関節Qの回転角度qは、関節Qnの回転角度qnを各成分とするベクトル(q1、q2、q3、q4、q5、q6)として表される。ここで、関節Qとの表記は、関節Q1〜Q6を総称した表記であり、「n」は関節を区別するための番号である(n=1、2、3、4、5、6)。また、基準点p1〜p3の全てがそれぞれの対応する移動先pd1〜pd3に一致するときの関節Qの回転角度qを、目標角度qd(qd1、qd2、qd3、qd4、qd5、qd6)とする。さらに、ロボット2の関節Qに与えられるトルクτは、関節Qnに働くトルクτnを各成分とするベクトル(τ1、τ2、τ3、τ4、τ5、τ6)として表される。
以上が座標系および制御量の表記に関する説明である。続いて、エンドエフェクタ4の位置制御の詳細について説明する。第2実施形態にかかるロボットシステム1においても、図2に示した電気的構成が具備されている。そして、第1実施形態でエンドエフェクタ4の位置pを目標位置pdに収束させたのと同様の位置制御が、基準点p1〜p3(p)のそれぞれに対して実行されて、基準点p1〜p3(p)をそれぞれの移動先pd1〜pd3(pd)に収束させる。以下では、第1実施形態と共通する構成については説明を適宜省略し、第1実施形態と異なる構成を中心に説明を行う。
ロボットシステム1では、関節Qnを駆動するモータMnが、関節Q1〜Q6のそれぞれについて設けられるとともに、モータMnの回転位置を検出するエンコーダEnが、モータM1〜M6のそれぞれについて設けられている。そして、コントローラ5は、モータM1〜M6のそれぞれを制御することで、ロボット2の関節Qの回転角度qを調整する。特に、上述のビジュアルフィードバックを実行するために、コントローラ5は、カメラCi(外界センサ)による基準点pの撮像結果から、基準点pの位置偏差Δp(=pd−p)を検出する。この際、コントローラ5は、移動先pd1〜pd3の例えば幾何重心がカメラCiの座標系の原点(像面IMiの中心)に一致あるいは近接しつつ、移動先pd1〜pd3が視野に捉えられるように、カメラCiのパン・チルトを制御しつつ、位置偏差Δpの検出を行う。なお、ロボット2における基準点pの設定場所は、コントローラ5(記憶部)のメモリーに予め格納されている。
また、基準点pの位置偏差Δpの検出と並行して、コントローラ5は、エンコーダE1〜E6(内界センサ)の出力から、関節Qの角度偏差Δq(=qd−q)を検出する。そして、コントローラ5は、位置偏差Δp(=pd−p)および角度偏差Δq(=qd−q)に基づいて、トルクτを算出する。そして、モータM1〜M6がトルクτを関節Qに与えることで、関節Qの回転角度qが調整される。このように、この実施形態では、カメラCiおよびエンコーダEnの検出結果がトルクτにフィードバックされて、エンドエフェクタ4の位置が制御される。
第2実施形態においても、エンドエフェクタ4の位置制御は、図3のブロック線図に従って実行される。したがって、数1〜数13より導出される数14の制御側に基づいて、関節Qに加えられるトルクτが決定される。なお、上述のとおり、ロボット2に対しては3つの基準点p1〜p3が設けられている。したがって、位置偏差Δpに対して比例制御を行う項(数14の第4項)は、位置偏差Δp1〜Δp3それぞれに対して比例制御を行う項の線形結合で与えられ、位置偏差Δpに対して積分制御を行う項(数14の第5項)は、位置偏差Δp1〜Δp3それぞれに対して積分制御を行う項の線形結合で与えられる。その結果、関節Qに加えられるトルクτを与える式は、上記数14から次式に書き換えることができる。
Figure 0006307431
なお、数15の第4項および第5項はいずれも、位置偏差Δp1〜Δp3それぞれに対する演算(比例・積分)の結果の加重平均で与えられている。この加重平均の重み係数δ1〜δ3のそれぞれは、対応する基準点p1〜p3がカメラC1、C2両方の視野にあるときはゼロより大きい正の値を有し、対応する基準点p1〜p3がカメラC1、C2のいずれかの視野から外れているときはゼロとなり、当該視野から外れた基準点p1〜p3に対するビジュアルフィードバックは働かない。
以上に説明したように、この実施形態では、先端関節Q6よりもエンドエフェクタ4側に対して設定された少なくとも2点p2、p3を含む、ロボット2に対して設定された3点以上の基準点p1〜p3を、それぞれの移動先pd1〜pd3へ向けて移動させて、エンドエフェクタ4の位置を制御する。具体的には、各基準点p1〜p3の移動先pd1〜pd3が視野に捉えられた状態で基準点p1〜p3が撮像されて、基準点p1〜p3と移動先pd1〜pd3との間の位置偏差Δp1〜Δp3が求められる。これと並行して、関節Q1〜Q6の回転角度q1〜q6が検出されて、検出角度qと目標角度qdとの角度偏差Δqが求められる。そして、位置偏差Δp1〜Δp3に基づくトルク(数14あるいは数15の第5項で与えられるトルク)が算出されるとともに、角度偏差Δqに基づくトルク(数14あるいは数15の第2項で与えられるトルク)が算出される。そして、これらのトルクが関節Qに重畳して加えられる。かかる構成では、撮像結果から基準点p1〜p3の位置偏差Δp1〜p3が得られなくなっても、関節Qの回転角度qは検出できるため、角度偏差Δqに基づくトルクにより関節Qを回転させて基準点p1〜p3を移動先pd1〜pd3に近づけ、その結果、エンドエフェクタ4を目標位置へ向けて移動できる。
ただし、上述したとおり、位置偏差Δpに基づくトルクと関節Qの角度偏差Δqに基づくトルクとが重畳して関節Qに働く構成では、運動学的な演算が確かでないと、位置偏差Δpに基づくトルクが角度偏差Δqに基づくトルクに対して逆向きに作用して、関節Qの回転を停止させてしまうおそれがあった。この場合、位置偏差Δpが残存した状態で、エンドエフェクタ4が停止してしまうこととなる。
これに対して、この実施形態では、角度偏差Δqに基づくトルクに重畳されるトルクは、基準点pの位置偏差Δpに応じた値に積分演算を行って求められた位置偏差積分トルクである。したがって、運動学的な演算に誤差があるために、基準点pが移動先pdに到達する前に関節Qの回転が停止あるいは停止しようとした場合には、位置偏差Δpが残存するので、位置偏差積分トルクは時間とともに増大して、停止あるいは停止しようとする関節Qを回転させる。そして、この位置偏差積分トルクは、最終的に位置偏差Δpが無くなるまで関節Qを回転させ続けて、基準点pを移動先pdまで移動させる。その結果、エンドエフェクタ4は目標位置にまで移動することができる。したがって、この実施形態では、運動学的な演算に誤差があっても、位置偏差Δpに基づくトルクの機能によって、エンドエフェクタ4を目標位置に確実に移動させることができる。その結果、高精度のキャリブレーションを必要とせず、キャリブレーションの負担を軽減することが可能となっている。
特に、この実施形態では、転置ヤコビ行列が乗ぜられた位置偏差Δpに対して積分演算を行うといった運動学的な演算から、位置偏差積分トルクが算出されている。これに対して、この実施形態によれば、運動学的な演算に誤差があっても、エンドエフェクタ4を目標位置に確実に移動させることができる。したがって、転置ヤコビ行列が不正確で、位置偏差積分トルクを求める運動学的な演算に誤差があっても、エンドエフェクタ4を目標位置に確実に移動させることができる。そのため、転置ヤコビ行列を正確に求めるために、キャリブレーションを高精度に実行する必要は特に無く、キャリブレーションの負担が軽減できる。
上述の技術内容は、次のように捉えることもできる。つまり、角度偏差Δqに基づくトルクと位置偏差Δpに基づくトルクとが重畳して関節Qに加えられる構成では、運動学的な演算に誤差があると、両トルクが拮抗して、関節Qの回転が停止するおそれがあった。これは、運動学的な演算に誤差があると、作業空間でのポテンシャル分布が目標位置とは別の位置に極小値を持ち、エンドエフェクタ4がこの極小値に陥るためと考えられる。これに対して、上記の位置偏差積分トルクを関節Qに加えた場合、時間とともに増大する位置偏差積分トルクの作用によって、エンドエフェクタ4を目標位置にまで移動させることができる。したがって、運動学的な演算の誤差に起因して目標位置とは別の位置に極小値が生じるような場合であっても、エンドエフェクタ4を目標位置に確実に移動させることができる。その結果、高精度のキャリブレーションを必要とせず、キャリブレーションの負担を軽減することが可能となっている。
ところで、この実施形態によれば、基準点pと移動先pdとの間に位置偏差Δpがあれば、位置偏差積分トルクが関節Qに働いて、エンドエフェクタ4を目標位置にまで移動させることができる。上記説明では、この位置偏差Δpの原因として、運動学的な演算の誤差を挙げた。しかしながら、この実施形態は、位置偏差Δpの発生原因を問わず、位置偏差Δpがあればこれを解消するように、基準点pを移動先pdにまで移動させる。つまり、重力補償のための項、目標角度qdあるいは検出角度q等の値が不正確であることを原因とする位置偏差Δpも、位置偏差積分トルクの作用によって解消することができる。したがって、基準点pの位置偏差(Δp=pd−p)さえ求まれば、基準点pを移動先pdへ収束させて、エンドエフェクタ4を目標位置に移動させることができる。その結果、精度の求められるパラメータが少ないため、キャリブレーションの負担は極めて軽く、場合によってはキャリブレーションを省略することも可能となる。
また、この実施形態では、エンドエフェクタ4に対して設定された少なくとも2点p2、p3を含む、ロボット2に対して設定された3点以上の基準点p1〜p3を、それぞれの移動先pd1〜pd3へ向けて移動させて、エンドエフェクタ4の位置を制御する。その結果、三次元においてエンドエフェクタ4を目標の位置および姿勢に適切に制御することが可能となっている。
ところで、3点以上の基準点p1〜p3をそれぞれの移動先pd1〜pd3へ移動させる構成では、基準点p1〜p3の設定位置と移動先pd1〜pd3との位置関係によっては、全ての基準点p1〜p3をそれぞれの移動先pd1〜pd3へ収束させることが困難となるといった問題が生じるおそれがある。特に基準点p1〜p3の全てを先端関節Q6よりもエンドエフェクタ4側に対して設定した際に、かかる問題が発生しやすい。この点について具体例を挙げて説明する。
図5は、基準点をそれぞれの移動先へ動かす過程においてエンドエフェクタへ働くトルクの状態の一例を模式的に示す図である。つまり、図5では、基準点p1〜p3を移動先pd1〜pd3へ移動させる過程において発生しうる、基準点p1〜p3と移動先pd1〜pd3との位置関係が例示されている。同図の状態となった場合、位置偏差Δp1に基づき発生する基準点p1から移動先pd1へ向かうトルクT1と、位置偏差Δp2に基づき発生する基準点p2から移動先pd2へ向かうトルクT2と、位置偏差Δp3に基づき発生する基準点p3から移動先pd1へ向かうトルクT3とが互いに釣り合うため、エンドエフェクタ4は停止してしまう。換言すれば、位置偏差Δp1〜Δp3が残存した状態で、作業空間でのポテンシャル分布におけるローカルミニマムにエンドエフェクタ4が陥ってしまう。これに対して、全ての基準点p1〜p3を先端関節Q6よりエンドエフェクタ4側に設定した構成では、全基準点p1〜p3を移動させるための自由度が共通するために、エンドエフェクタ4をローカルミニマムから脱出させることが困難となる場合があった。
これに対して、この実施形態では、先端関節Q6あるいは先端関節Q6よりも他端側に対して特定基準点p1が設定されている。このように一部の基準点(特定基準点p1)を先端関節Q6あるいは先端関節Q6よりも他端側に設けた場合、上述のようなトルクT1〜T3の均衡を崩して、ローカルミニマムからエンドエフェクタ4を抜け出させて、全ての基準点p1〜p3をそれぞれの移動先pd1〜pd3へ収束させることが容易となる。
特に、この実施形態では、一端側(先端側)から順番に関節の自由度を数えた総計が3以上となる特定関節Q4あるいは当該特定関節Q4より他端側(土台側)に特定基準点p1が設定されている。このような構成では、特定基準点p1については特定関節Q4より他端側の自由度(関節Q1〜Q3による自由度)によって適切に移動先pd1へ収束させることができる。また、特定基準点p1よりエンドエフェクタ4側に対して設定された基準点p2、p3については、特定関節Q4を含めて特定関節Q4より一端側の3以上の自由度(関節Q4〜Q6による自由度)によって適切に移動先pd2、pd3へ収束させることができる。つまり、特定基準点p1とそれ以外の基準点p2、p3とで自由度を使い分ける制御が実行可能となる。その結果、上述のようなローカルミニマムにエンドエフェクタ4が陥ったとしても、基準点p1と基準点p2、p3とをそれぞれ別個の自由度でもって変位させて、上述のようなトルクT1〜T3の均衡を容易に崩すことができる。その結果、ローカルミニマムからエンドエフェクタ4を抜け出させて、各基準点p1〜p3を移動先へ適切に収束させることが容易となる。
さらに、この実施形態では、他端側(土台側)から順番に関節の自由度を数えた総計が3以上となる関節Q3よりも一端側(先端側)に特定基準点p1が設定されている。これによって、特定基準点p1を3以上の自由度でもって移動先pd1へより確実に収束させることができる。特に、このような構成では、基準点p1と基準点p2、p3とをそれぞれ別個の3以上の自由度でもって比較的自在に変位させることができる。その結果、上述のようなトルクT1〜T3の均衡をより容易に崩すことができ、ローカルミニマムからエンドエフェクタ4を抜け出させて、各基準点p1〜p3を移動先へ適切に収束させることがより容易となる。
なお、この明細書では、順番に関節の自由度を数えた総計が「N以上」となる関節といった表現を適宜用いる。この表現は、順番に関節の自由度を数えた場合の総計がはじめて「N以上」になる関節を示す。したがって、上記のように、一端側から順番に関節の自由度を数えた総計が「3以上」となる関節は関節Q4のみであり、他の関節Q1〜Q3は該当しない。同様に、他端側から順番に関節の自由度を数えた総計が「3以上」となる関節は関節Q3のみであり、他の関節Q4〜Q6は該当しない。
ところで、数15に示すように、位置偏差積分トルクは、基準点p1〜p3それぞれの位置偏差Δp1〜Δp3についての積分値の線形結合で与えられ、特に重み係数δj(δ1、δ2、δ3)が乗ぜられた加重平均で与えられる。この際、特定基準点p1についての積分値(位置偏差Δp1に対する積分値)の重み係数δ1を、他の基準点p2、p3についての積分値(位置偏差Δp2、Δp3に対する積分値)の重み係数δ2、δ3よりも大きく設定しても良い(δ1>δ2かつδ1>δ3)。このような構成では、より大きな重み係数δ1に対応する特定基準点p1をより速く移動先pd1へ収束させた後に、先端関節Q6よりもエンドエフェクタ4側に対して設定された基準点p2、p3を移動先pd2、pd3へ収束させるといった動作が実行できる。したがって、特定関節Q4を含めて特定関節Q4より一端側の自由度、換言すれば特定基準点p1よりもエンドエフェクタ4側の自由度を、実質的に基準点p2、p3の移動にのみ用いることができる。よって、これら基準点p2、p3を、十分な自由度でもって移動先pd2、pd3へ確実に収束させることができる。
以上に説明したように、第2実施形態では、ロボットシステム1が本発明の「ロボットシステム」の一例に相当し、ロボット2が本発明の「ロボット」の一例に相当し、コントローラ5、カメラCiおよびエンコーダEnが協働して本発明の「ロボット制御装置」の一例として機能し、コントローラ5が本発明の「コンピュータ」の一例に相当し、記録媒体6が本発明の「記録媒体」の一例に相当し、プログラム7が本発明の「プログラム」の一例に相当する。また、カメラCiが本発明の「撮像部」の一例に相当し、エンコーダEnが本発明の「変位量検出部」の一例に相当し、コントローラ5が本発明の「位置偏差取得部」、「印加量算出部」および「駆動制御部」の一例として機能する。また、数14、数15において、第5項で与えられるトルクが本発明の「第1印加量」の一例に相当し、第2項で与えられるトルクが本発明の「第2印加量」の一例に相当し、第3項で与えられるトルクが本発明の「第3印加量」の一例に相当する。また、基準点p1〜p3が本発明の「基準箇所」の一例に相当し、特定基準点p1が本発明の「特定基準箇所」に相当し、先端関節Q6が本発明の「先端関節」の一例に相当し、特定関節Q4が本発明の「特定関節」の一例に相当する。
上述してきたように、第2実施形態においても、位置偏差Δpに対して積分演算を行って求めたトルクと、角度偏差Δqに対して比例演算を行って求めたトルクとを関節Qに重畳することで、各基準点pを移動先pdに確実に収束させていた。なお、本発明は上記した第2実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。例えば、上記第2実施形態では、ロボット2に付されたLED等のマークを基準点p1〜p3に設定していた。しかしながら、ロボット2の特徴的な箇所(例えば先端や穴等)を基準点p1〜p3に設定しても良い。
また、数15で表された制御則に対しても適宜変更が可能である。具体例を挙げれば、重力補償のための第1項、回転角度qに対して微分制御を行なう第3項、あるいは位置偏差Δpに対して比例制御を行なう第4項を省略するといった変更が可能である。
また、数15における加重加算の重み係数δ1〜δ3の具体的な設定値についても適宜変更可能である。したがって、特定基準点p1に対する重み係数δ1よりもその他の基準点p2、p3の重み係数を大きくしても良いし、あるいは全ての重み係数δ1〜δ3を同じ値に設定しても良い。
また、ロボット2における特定基準点p1の設定場所についても適宜変更可能である。したがって、ロボット2上において、先端関節Q6を含んで先端関節Q6よりも土台側(他端側)の適当な場所に特定基準点p1を設定することができ、例えば、先端関節Q6上あるいは特定関節Q4上に特定基準点p1を設定しても良い。
また、ロボット2における基準点p2、p3の設定場所についても適宜変更可能である。したがって、基準点p2あるいは基準点p3を先端関節Q6から先端側に突出したリンク30上に設けても構わない。
さらに、上述のような特定基準点p1を設ける必要は必ずしもない。したがって、例えば全ての基準点p1〜p3をエンドエフェクタ4上に設けても構わない。
また、基準点pの個数も上述の3個に限られない。したがって、4個以上の基準点pをロボット2に対して設定しても良い。
また、ロボット2の自由度も上述の6に限られない。したがって、7以上の自由度を持つロボット2に対しても本発明を適用することができる。
また、上記第2実施形態では、関節Q1〜Q6はいずれも1の自由度を持つものであった。しかしながら、複数の自由度を持つ関節Qを用いて構成されたロボット2に対しても本発明を適用することができる。
また、上記第2実施形態では、移動先pd1〜pd3の例えば幾何重心がカメラCiの座標系の原点(像面IMiの中心)に一致あるいは近接するように、カメラCiのパン・チルトが制御されていた。しかしながら、移動先pd1〜pd3とカメラCiの座標系との位置関係の制御態様はこれに限られない。
また、上記実施形態では、基準点pがカメラCiの視野から外れている場合は、外界ループLxからのフィードバック量がゼロとなり、該当する基準点pについての外界ループLxが作動しない。そして、該当する基準点pがカメラCiの視野に入ってから、外界ループLxが作動するように構成されている。この際、基準点pがカメラCiの視野に入るまでの動作は、ロボット2に予めティーチングしておいても良い。かかるティーチングは、基準点pをカメラCiの視野にまで移動させるだけで良いので、粗いもので足りる。ただし、カメラCiの視野に入るまでの基準点pの軌跡をトラッキングして、基準点pをカメラCiの視野に収めるように制御しても、もちろん構わない。
あるいは、基準点pがカメラCiの視野に入っても、移動先pdから所定範囲の外にある間は、外界ループLxを作動させずに、内界ループLqのみを用いるように構成することもできる。この場合には、基準点pが移動先pdから所定範囲に入ってから外界ループLxを作動させれば良い。かかる構成では、基準点pを移動先pdに移動させる最終段階での位置決めを、外界ループLxを用いて高精度に実行することができる。
安定性について
続いては、数15で与えられる制御則の安定性について考察する。ロボットダイナミクスは一般に次式で与えられる。
Figure 0006307431
ここで、変数ξを次のように定義する。
Figure 0006307431
数17を数16に代入すると次式を得る。
Figure 0006307431
なお、次の条件が常に成立すると見なす。
Figure 0006307431
ここで、リアプノフ関数候補として次の関数Vを考える。
Figure 0006307431
αが適切に小さく、gがGよりも十分に小さい場合には、V>0が成立する。
また、関数Vの時間微分は次式で与えられる。
Figure 0006307431
数21を変形して、関数Vの時間微分は次式で与えられる。
Figure 0006307431
ここで、変数λを次のように定義する。
Figure 0006307431
この際、関数Vの時間微分について以下の不等式が得られる。
Figure 0006307431
ただし、上の不等式を得るにあたって、以下の関係を利用した。
Figure 0006307431
目標角度qdのまわりでテイラー展開することで、次式が得られる。
Figure 0006307431
また、数26より次式が得られる。
Figure 0006307431
さらに、次式が成立するとする。
Figure 0006307431
この際、関数Vの時間微分を与える数24の第2項について次の不等式が得られる。
Figure 0006307431
さらに、関数Vの時間微分を与える数24の第3項について次の不等式が得られる。
Figure 0006307431
この際、関数Vの時間微分が負となるために、数24において次式が成立しうることが、重要となる。
Figure 0006307431
ここで、次式が成立する。
Figure 0006307431
したがって、数31の条件は次の条件に変換できる。
Figure 0006307431
結局、リアプノフ関数の時間微分について次の不等式を得る。
Figure 0006307431
このとき、数33のとおり次式が与えられる。
Figure 0006307431
したがって、数35の左辺が正定行列となって数35が満たされれば、関数Vの時間微分は負となり得て、数15で与えられる制御則において、各基準点p1〜p3はそれぞれの移動先pd1〜pd3において安定となる。そこで、続いては基準点p1〜p3の設定態様と安定性について考える。
上記第2実施形態では、関節Q1〜Q6を連結して6の自由度を持ったロボット2に対して、関節Q3、Q4の間に基準点p1を設定し、エンドエフェクタ4に基準点p2、p3を設定していた。この場合には、基準点p1の移動に関節Q4〜Q6は供しないため、次式が得られる。
Figure 0006307431
したがって、数35の左辺は、次式で与えられる。
Figure 0006307431
ここで、次式が満たされるとする。
Figure 0006307431
この際、数37は次式と等しくなる。
Figure 0006307431
ここで、重み係数δ1を他の重み係数δ2、δ3よりも十分に大きくとれば、次式が成立する。つまり、各基準点p1〜p3がそれぞれの移動先pd1〜pd3において安定となる。
Figure 0006307431
ただし、次式が満たされているとする。
Figure 0006307431
また、3点の基準点p1〜p3の全てがエンドエフェクタ4上に設定されている場合は、数38の代わりに次式が成立する。したがって、次式の右辺の行列が正定行列となれば、各基準点p1〜p3がそれぞれの移動先pd1〜pd3において安定となる。
Figure 0006307431
あるいは、基準点p1の位置が関節Q1〜Q3で実現される3の自由度で制御されるとともに、その他の基準点p2、p3が関節Q4〜Q6で実現される3の自由度で主として制御されるとして、部分的ヤコビ行列を用いた次式を仮定することもできる。
Figure 0006307431
この仮定において、数35が満たされれば、数15で与えられる制御則において、各基準点p1〜p3がそれぞれの移動先pd1〜pd3において安定となる。
その他
なお、本発明は上記した第2実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。例えば、上記実施形態では、トルクの計算過程において、座標の回転行列Rの推定値が用いられていた。上記の説明では、回転行列Rの推定値を求める具体的手法については、特に言及しなかった。しかしながら、回転行列Rを取得する具体的手法として、種々のものが採用可能である。具体例を挙げると、方位センサ、姿勢センサあるいはジャイロセンサをロボット2およびカメラCiに取り付けて、ロボット2とカメラCiの位置関係をそれぞれのセンサ出力から算出し、回転行列Rの推定値を取得しても良い。かかる構成では、ロボット2やカメラCiの配置状態によらず、これらの方位角が求められる。そのため、ユーザの操作性やロボット2の作業性に応じて適当にロボット2やカメラCiを配置しても、それぞれの方位角から回転行列Rの推定値を取得できる。さらに、ロボット2とカメラCiの位置関係の算出を、例えばプログラム7による自動計算により行っても良い。なお、ジャイロセンサを用いる場合は、ロボット2およびカメラCiそれぞれのセンサの方向を同一方向に揃えた後に、各センサの積分値から方位角を求めれば良い。
また、上記実施形態では、特異点にあるロボット2がカメラC1、C2の視野から外れるようにカメラC1、C2を配置することで、特異点にあるロボット2の撮像結果をエンドエフェクタの位置制御にフィードバックしないように構成していた。しかしながら、かかる構成は必須ではなく、カメラC1、C2の視野に特異点にあるロボット2が含まれていても構わない。
また、カメラC1、C2の視野に特異点にあるロボット2が含まれる場合には、コントローラ5による制御態様を変更することで、特異点にあるロボット2の撮像結果がエンドエフェクタの位置制御にフィードバックされないように構成しても良い。これによって、特異点に起因して、ロボット2の制御が不安定になるのを抑制できる。
また、カメラ座標系から作業座標系への変換の具体的態様は、上述の内容に限られず、適宜変更することができる。
また、カメラCiの配置や個数についても上述の内容に限られず、適宜変更することができる。
また、ロボット2を構成するリンクL1〜L3、30や関節Qの具体的な個数、寸法、動作方向についても、上記実施形態で示したものから適宜変更が可能である。したがって、関節Qとして直動関節を用いることもできる。ちなみに、直動関節Qに対して本発明を適用するにあたっては、「角度」に代えて「直動方向への変位量」を検出し、「トルク」に代えて「力」を算出して、直動関節Qの動作を制御すればよい。
次に本発明の実施例を示す。ただし、本発明はもとより下記の実施例によって制限を受けるものではない。したがって、前後記の趣旨に適合しうる範囲で適当に変更を加えて実施することももちろん可能であり、それらはいずれも本発明の技術的範囲に含まれる。
以下では、図1のロボット2と同様の構成を備えるMMSE(マン・マシン・シナジー・エフェクタズ)株式会社製の3DOF(Three Degrees Of Freedom)ロボットユニットを用いて、エンドエフェクタ4を目標位置pdまで移動させる実験を行なった結果を示す。具体的には、カメラC1、C2の内部パラメータ、カメラC1、C2の外部パラメータ、カメラC1、C2の位置、およびロボット2とカメラC1、C2の間の関係について、いずれもキャリブレーションを行わない状態で、エンドエフェクタ4を目標位置pdまで移動できることが、この実験で確認された。
なお、ロボット2を制御するコントローラ5はIntel Core i7 960(CPU)と4GBのDRAM(Dynamic Random Access Memory)で構成し、カメラC1、C2は200万画素のカメラを用いた。エンドエフェクタ4の位置pおよび目標位置pdの検出は、それぞれに設けられたマーカのエッジを抽出した結果に、テンプレートマッチングを適用して行った。ロボット2のキャリブレーションには誤差を持たせており、具体的には、回転角度qの値は90度に対して5度の誤差を持ち、リンクL1〜L3の長さは±100[mm]以内の誤差を持つ。
実施例1
実施例1の制御則を表す式は次のとおりである。
Figure 0006307431
数44に示すように実施例1では、作業座標系における位置偏差ΔpのX軸成分として、カメラC1の座標系における位置偏差のU1軸成分を採用し、作業座標系における位置偏差ΔpのY軸成分として、カメラC2の座標系における位置偏差のU2軸成分を採用し、作業座標系における位置偏差ΔpのZ軸成分として、カメラC1、C2の座標系における位置偏差のU1、U2軸成分の平均を採用している。また、上述のとおり、本発明によれば、ヤコビ行列には精度が求められないため、ヤコビ行列の各成分は適当な定数としておけば足りる。そこで、例えば目標角度qdにおけるヤコビ行列の各成分の値を用いることができる。
図6および図7は、実施例1での実験結果を示す図である。両図において、時間を横軸とするとともに位置偏差Δpを縦軸とするグラフが上段に示され、時間を横軸とするとともに目標角度および回転角度を縦軸とするグラフが下段に示されている。位置偏差Δpについては、X軸、Y軸およびZ軸の各成分が示されている。そして、図6と図7の違いは、フィードバックゲインにある。特に、図7の実験よりも図6の実験の方が、積分ゲインを大きく設定している。
図6の実験における各フィードバックゲインは、次のとおりである。
Figure 0006307431
図7の実験における各フィードバックゲインは、次のとおりである。
Figure 0006307431
両図の上段のグラフに示すように、いずれの実験結果においても、位置偏差Δpは1ピクセル程度に収束しており、換言すれば、0.3[mm]程度の精度でエンドエフェクタ4の位置を制御することが可能となっている。つまり、カメラC1、C2の内部パラメータ、カメラC1、C2の外部パラメータ、カメラC1、C2の位置、およびロボット2とカメラC1、C2の間の関係について、いずれもキャリブレーションを行わなくとも、エンドエフェクタ4を目標位置pdまで移動することが可能となっている。
実施例2
図8ないし図11は、実施例2での実験結果を示す図である。図8および図10での表記は、図6および図7の上段の表記に相当し、図9および図11での表記は、図6および図7の下段の表記に相当する。各図での時刻tsは、ロボット2の制御を開始した時刻である。この実施例2では、カメラC1、C2とエンドエフェクタ4の経路との位置関係が異なる2通りの実験結果を示す。キャリブレーションを省略している点は実施例1と同様である。
図8および図9に示す実験では、目標位置pdから30[cm]の範囲をカメラC1、C2の視野が概ね捉えるようにカメラC1、C2を配置し、エンドエフェクタ4の移動はカメラC1、C2の視野内から開始した。図10および図11に示す実験では、目標位置pdから5[cm]の範囲をカメラC1、C2の視野が概ね捉えるようにカメラC1、C2を配置し、エンドエフェクタ4の移動はカメラC1、C2の視野外から開始した。
図8および図10に示すように、カメラC1、C2と目標位置pdとの距離に依らず、位置偏差Δpを収束させることが可能となっている。また、エンドエフェクタ4の移動を、カメラC1、C2の視野内から開始しても視野外から開始しても、位置偏差Δpを収束させることが可能となっている。これらの結果から、カメラC1、C2とエンドエフェクタ4の経路との位置関係にあまり影響されずに位置偏差Δpを収束させることができ、これらの位置関係は大雑把で良いことが判る。
実施例3
図12および図13は、実施例3での実験結果を示す図である。なお、図12での表記は、図6および図7の上段の表記に相当し、図13での表記は、図6および図7の下段の表記に相当する。各図での時刻tsは、ロボット2の制御を開始した時刻である。この実施例3では、位置偏差Δpに対する比例ゲインがゼロに設定されており、位置偏差Δpに対する比例制御が実行されない。なお、目標位置pdから5[cm]の範囲をカメラC1、C2の視野が概ね捉えるようにカメラC1、C2を配置し、エンドエフェクタ4の移動はカメラC1、C2の視野外から開始した。キャリブレーションを省略している点は実施例1と同様である。図12に示すように、位置偏差Δpに対する比例制御を行わなくても、位置偏差Δpに対する積分制御によって、位置偏差Δpを収束させられることが判る。
以上の実施例1〜3が、図1のロボット2と同様の構成を備えるロボットを用いてシミュレーションを行った結果である。続いては、図4のロボット2と同様の構成を備えるロボットを用いて、ロボット2に対して設定された基準点pを移動先pdまで移動させるシミュレーションを行なった結果を示す。具体的には、カメラの内部パラメータ、カメラの外部パラメータ、カメラの位置、およびロボット2とカメラの間の関係について、いずれもキャリブレーションを行わない状態で、基準点pを移動先pdへ収束させて、エンドエフェクタ4を目標位置まで移動できることが、このシミュレーションで確認された。
また、このシミュレーションを行うにあたっては、ロボット2を制御するコントローラ5としてIntel Core i7 960(CPU)と4GBのDRAM(Dynamic Random Access Memory)を用い、カメラC1、C2として200万画素のカメラを用いることができる。ロボット2のキャリブレーションには誤差を持たせており、具体的には、関節角度および関節角速度それぞれに対して2.0%の誤差を導入し、リンクの長さに対して5.0%の誤差を導入した。なお、この実施例では、上記実施形態における「p」を「x」に変更して表記し、上記実施形態における「j」を「i」に変更して表記している。
実施例4
実施例4では、上記実施形態と同様に、基準点p1(特定基準点)は関節Q3、Q4の間に設定され、基準点p2、p3はエンドエフェクタ4上に設定されている。実施例4の制御則を表す式は次のとおりである。
Figure 0006307431
数47における各種ゲインはいずれも対角行列であり、それぞれの対角成分は図14の表に示すとおりである。ここで、図14は、実施例4でのゲインの設定値を表として示す図である。同図の表では、関節角度q1〜q6それぞれに対応する各ゲインG…の対角成分が示されている。ここで、ゲインGは、第5関節Q5の振動を抑えるために大きく設定されている。また、位置偏差Δp1に対する比例ゲイン(=0.20)が、位置偏差Δp2、Δp3に対する比例ゲイン(=0.10)よりも大きく設定され、位置偏差Δp1に対する積分ゲイン(=0.006)が、位置偏差Δp2、Δp3に対する積分ゲイン(=0.004)よりも大きく設定されている。
図15は、実施例4でのシミュレーション結果を示す図である。同図に示すように、位置偏差Δp1〜Δp3はいずれもゼロに収束しており、エンドエフェクタ4は目標位置に到達している。また、位置偏差Δp1に対する各ゲインが、位置偏差Δp2、Δp3に対する各ゲインよりも大きく設定されていることから、位置偏差Δp1の方が、位置偏差Δp2、Δp3よりも速く収束しているのが判る。
実施例5
実施例5の基準点p1〜p3の設定場所は、実施例4と同様である。一方、実施例5の制御側は、位置偏差Δpに対する比例制御の項を有さず、数47において位置偏差Δpに対する比例ゲインをゼロに設定したものに相当する。具体的なゲインの設定値は次のとおりである。
図16は、実施例5でのゲインの設定値を表として示す図である。同図の表では、関節角度q1〜q6それぞれに対応する各ゲインG…の対角成分が示されている。位置偏差Δp2に対する積分ゲイン(=0.032)が、位置偏差Δp1、p3に対する積分ゲイン(=0.02)よりも大きく設定されている。
図17は、実施例5でのシミュレーション結果を示す図である。同図に示すように、位置偏差Δp1〜Δp3はいずれもゼロに収束しており、エンドエフェクタ4は目標位置に到達可能となっている。
実施例6
実施例6では、基準点p1〜p3の全てがエンドエフェクタ4上に設定されている。実施例6の制御側は、実施例4で示した数47と同様である。具体的なゲインの設定値は次のとおりである。
図18は、実施例6でのゲインの設定値を表として示す図である。同図の表では、関節角度q1〜q6それぞれに対応する各ゲインG…の対角成分が示されている。ここで、ゲインGは、第5関節Q5の振動を抑えるために大きく設定されている。
図19は、実施例6でのシミュレーション結果を示す図である。同図に示すように、位置偏差Δp1〜Δp3はいずれもゼロに収束しており、エンドエフェクタ4は目標位置に到達可能となっている。
実施例7
実施例7では、基準点p1〜p3の全てがエンドエフェクタ4上に設定されている。実施例7の制御側は、数47と同様である。ただし、基準点pおよび移動先pdの検出は3台のカメラで実行され、カメラの座標系から作業座標系への座標変換は次式に基づいて実行される。
Figure 0006307431
図20は、実施例7でのゲインの設定値を表として示す図である。同図の表では、関節角度q1〜q6それぞれに対応する各ゲインG…の対角成分が示されている。図21は、実施例7でのシミュレーション結果を示す図である。同図に示すように、位置偏差Δp1〜Δp3はいずれもゼロに収束しており、エンドエフェクタ4は目標位置に到達可能となっている。
実施例8
実施例8では、5点の基準点p1〜p5の全てがエンドエフェクタ4上に設定されている。実施例8の制御側は、次のとおりである。
Figure 0006307431
また、基準点pおよび移動先pdの検出は3台のカメラで実行され、カメラの座標系から作業座標系への座標変換は次式に基づいて実行される。
Figure 0006307431
図22は、実施例8でのゲインの設定値を表として示す図である。同図の表では、関節角度q1〜q6それぞれに対応する各ゲインG…の対角成分が示されている。図23は、実施例8でのシミュレーション結果を示す図である。同図に示すように、5点の基準点p1〜p5の位置偏差Δp1〜Δp5はいずれもゼロに収束しており、エンドエフェクタ4は目標位置に到達可能となっている。
この発明は、回転自在な関節を有して当該関節の回転に応じてエンドエフェクタを移動させるロボットに関する技術に好適に適用することができ、例えば、当該ロボットを用いて部品を組み立てたり、箱詰めを行ったりする場合に適用することができる。
1…ロボットシステム、 2…ロボット、 3…アーム、 30…リンク、 4…エンドエフェクタ、 5…コントローラ、 6…記録媒体、 7…プログラム、 C1…カメラ、 C2…カメラ、 Ci…カメラ、 L1…リンク、 L2…リンク、 L3…リンク、 Q1〜Q6…関節、 Q…関節、 Qn…関節、 En…エンコーダ、 p…位置(基準点)、 pd…目標位置(移動先)、 Δp…位置偏差、 q…回転角度、 qd…目標角度、 Δq…角度偏差、 τ…トルク、 Lq…内界ループ、 Lx…外界ループ

Claims (15)

  1. 変位自在な関節を有して前記関節の変位に応じてエンドエフェクタを移動させるロボットを制御するロボット制御装置において、
    前記ロボットに設けられた基準箇所と前記基準箇所の移動先を視野に捉えつつ前記基準箇所を撮像する撮像部と、
    前記関節の変位量を検出する変位量検出部と、
    前記撮像部の撮像結果に基づいて前記移動先との間の位置偏差を前記基準箇所について求める位置偏差取得部と、
    前記関節を変位させるために前記関節に印加する力あるいはトルクである印加量として、前記位置偏差に応じた値に積分演算を行った積分値を前記基準箇所について求めた結果から第1印加量を算出するとともに、前記基準箇所が対応する前記移動先に一致するときの前記関節の前記変位量である目標変位量と前記変位量検出部の検出変位量との変位量偏差に応じた値に比例演算を行って第2印加量を算出する印加量算出部と、
    前記第1印加量および前記第2印加量を前記関節に加えて、前記基準箇所をその前記移動先へ向けて移動させる駆動制御部と
    を備え
    前記駆動制御部は、前記変位量偏差に基づく積分制御は、前記関節に対して実行しないロボット制御装置。
  2. 前記関節の回転に応じて前記エンドエフェクタを移動させる前記ロボットを制御する請求項1に記載のロボット制御装置において、
    前記撮像部は、前記エンドエフェクタに設けられた前記基準箇所と前記基準箇所の前記移動先を捉えつつ前記基準箇所を撮像し、
    前記変位量検出部は、前記関節の回転角度を検出する角度検出部であり、
    前記印加量算出部は、前記位置偏差に応じた値に積分演算を行って第1トルクを前記第1印加量として算出するとともに、前記基準箇所が前記移動先にあるときの前記関節の前記回転角度である前記目標変位量としての目標角度と前記角度検出部の検出角度との角度偏差に応じた値に比例演算を行って第2トルクを前記第2印加量として算出するトルク算出部であり、
    前記駆動制御部は、前記第1トルクおよび前記第2トルクが前記関節に加わるように、前記関節を駆動する関節駆動機構を制御するロボット制御装置。
  3. 前記トルク算出部が前記位置偏差に応じた値に比例演算を行って算出したトルクが前記関節にさらに加わるように、前記駆動制御部は前記関節駆動機構を制御する請求項2に記載のロボット制御装置。
  4. 前記トルク算出部は、転置ヤコビ行列が乗ぜられた前記位置偏差に対して積分演算を行って前記第1トルクを算出する請求項2または3に記載のロボット制御装置。
  5. 前記関節を連結して6以上の自由度を持ったアームの一端に前記エンドエフェクタを取り付けた前記ロボットを制御する請求項1に記載のロボット制御装置において、
    前記撮像部は、前記関節のうちの最も一端側の先端関節よりも前記エンドエフェクタ側に対して設定された少なくとも2箇所を含む、前記ロボットに対して設定された3箇所以上の前記基準箇所それぞれの前記移動先を視野に捉えつつ、前記基準箇所を撮像し、
    前記位置偏差取得部は、前記位置偏差を前記各基準箇所について求め、
    前記印加量算出部は、前記各関節について前記第1印加量および前記第2印加量を算出し、
    前記駆動制御部は、前記第1印加量および前記第2印加量を前記関節に加えて、前記3箇所以上の基準箇所をそれぞれの前記移動先へ向けて移動させることで、三次元での前記エンドエフェクタの位置および姿勢を制御するロボット制御装置。
  6. 前記駆動制御部は、前記先端関節あるいは前記先端関節よりも前記一端側の逆側である他端側に対して特定基準箇所として設定された前記基準箇所を含む前記3箇所以上の基準箇所のそれぞれを、対応する前記移動先へ向けて移動させる請求項5に記載のロボット制御装置。
  7. 前記複数の関節のうち前記一端側から順番に前記関節の自由度を数えた総計が3以上となる特定関節あるいは当該特定関節より他端側に前記特定基準箇所が設定されている請求項6に記載のロボット制御装置。
  8. 前記複数の関節のうち前記他端側から順番に前記関節の自由度を数えた総計が3以上となる前記関節よりも前記一端側に前記特定基準箇所が設定されている請求項7に記載のロボット制御装置。
  9. 前記印加量算出部は、前記特定基準箇所についての前記積分値の重み係数が前記先端関節よりも前記エンドエフェクタ側に対して設定された前記基準箇所についての前記積分値の重み係数よりも大きい加重加算を前記各基準箇所の前記積分値に行って、前記第1印加量を算出する請求項7または8に記載のロボット制御装置。
  10. 前記印加量算出部は、前記位置偏差に応じた値に比例演算を行った比例値を前記各基準箇所について求めた結果から第3印加量を算出し、前記駆動制御部は、前記第3印加量を前記関節にさらに加える請求項5ないし9のいずれか一項に記載のロボット制御装置。
  11. 前記印加量算出部は、転置ヤコビ行列が乗ぜられた前記位置偏差に対して積分演算を行って前記積分値を求めて、前記第1印加量を算出する請求項5ないし10のいずれか一項に記載のロボット制御装置。
  12. 変位自在な関節を有して前記関節の変位に応じてエンドエフェクタを移動させるロボットを制御するロボット制御方法において、
    前記ロボットに設けられた基準箇所と前記基準箇所の移動先を視野に捉えつつ前記基準箇所を撮像する工程と、
    前記基準箇所を撮像した結果に基づいて前記移動先との間の位置偏差を前記基準箇所について求める工程と、
    前記関節の変位量を検出して検出変位量を求める工程と、
    前記関節を変位させるために前記関節に印加する力あるいはトルクである印加量として、前記位置偏差に応じた値に積分演算を行った積分値を前記基準箇所について求めた結果から第1印加量を算出するとともに、前記基準箇所が対応する前記移動先に一致するときの前記関節の変位量である目標変位量と前記検出変位量との変位量偏差に応じた値に比例演算を行って第2印加量を算出する工程と、
    前記第1印加量および前記第2印加量を前記関節に加えて、前記基準箇所をその前記移動先へ向けて移動させる工程と
    を備え
    前記変位量偏差に基づく積分制御は、前記関節に対して実行しないロボット制御方法。
  13. 変位自在な関節を有して前記関節の変位に応じてエンドエフェクタを移動させるロボットをコンピュータに制御させるロボット制御プログラムにおいて、
    前記ロボットに設けられた基準箇所と前記基準箇所の移動先を視野に捉えつつ前記基準箇所を撮像する工程と、
    前記基準箇所を撮像した結果に基づいて前記移動先との間の位置偏差を前記基準箇所について求める工程と、
    前記関節の変位量を検出して検出変位量を求める工程と、
    前記関節を変位させるために前記関節に印加する力あるいはトルクである印加量として、前記位置偏差に応じた値に積分演算を行った積分値を前記基準箇所について求めた結果から第1印加量を算出するとともに、前記基準箇所が対応する前記移動先に一致するときの前記関節の変位量である目標変位量と前記検出変位量との変位量偏差に応じた値に比例演算を行って第2印加量を算出する工程と、
    前記第1印加量および前記第2印加量を前記関節に加えて、前記基準箇所をその前記移動先へ向けて移動させる工程と
    を、前記コンピュータに実行させ
    前記関節に対する前記変位量偏差に基づく積分制御は、前記コンピュータに実行させないプログラム。
  14. 請求項13に記載のプログラムをコンピュータにより読み出し可能に記録した記録媒体。
  15. 変位自在な関節を有して前記関節の変位に応じてエンドエフェクタを移動させるロボットと、
    前記ロボットに設けられた基準箇所と前記基準箇所の移動先を視野に捉えつつ前記基準箇所を撮像する撮像部と、
    前記関節の変位量を検出する変位量検出部と、
    前記撮像部の撮像結果に基づいて前記移動先との間の位置偏差を前記基準箇所について求める位置偏差取得部と、
    前記関節を変位させるために前記関節に印加する力あるいはトルクである印加量として、前記位置偏差に応じた値に積分演算を行った積分値を前記基準箇所について求めた結果から第1印加量を算出するとともに、前記基準箇所が対応する前記移動先に一致するときの前記関節の前記変位量である目標変位量と前記変位量検出部の検出変位量との変位量偏差に応じた値に比例演算を行って第2印加量を算出する印加量算出部と、
    前記第1印加量および前記第2印加量を前記関節に加えて、前記基準箇所をその前記移動先へ向けて移動させる駆動制御部と
    を備え
    前記駆動制御部は、前記変位量偏差に基づく積分制御は、前記関節に対して実行しないロボットシステム。
JP2014516847A 2012-05-25 2013-05-23 ロボット制御装置、ロボット制御方法、プログラム、記録媒体、ロボットシステム Active JP6307431B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014516847A JP6307431B2 (ja) 2012-05-25 2013-05-23 ロボット制御装置、ロボット制御方法、プログラム、記録媒体、ロボットシステム

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2012119535 2012-05-25
JP2012119535 2012-05-25
JP2012202999 2012-09-14
JP2012202999 2012-09-14
JP2014516847A JP6307431B2 (ja) 2012-05-25 2013-05-23 ロボット制御装置、ロボット制御方法、プログラム、記録媒体、ロボットシステム
PCT/JP2013/064324 WO2013176212A1 (ja) 2012-05-25 2013-05-23 ロボット制御装置、ロボット制御方法、プログラム、記録媒体、ロボットシステム

Publications (2)

Publication Number Publication Date
JPWO2013176212A1 JPWO2013176212A1 (ja) 2016-01-14
JP6307431B2 true JP6307431B2 (ja) 2018-04-04

Family

ID=49623893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014516847A Active JP6307431B2 (ja) 2012-05-25 2013-05-23 ロボット制御装置、ロボット制御方法、プログラム、記録媒体、ロボットシステム

Country Status (3)

Country Link
US (1) US9616573B2 (ja)
JP (1) JP6307431B2 (ja)
WO (1) WO2013176212A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220402131A1 (en) * 2021-06-09 2022-12-22 eBots Inc. System and method for error correction and compensation for 3d eye-to-hand coordinaton

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9586317B2 (en) * 2014-03-31 2017-03-07 Canon Kabushiki Kaisha Controlling method of robot system, program, recording medium, and robot system
JP5893665B2 (ja) * 2014-04-14 2016-03-23 ファナック株式会社 作用された力に応じて移動されるロボットを制御するロボット制御装置
JP6511731B2 (ja) * 2014-05-23 2019-05-15 株式会社チトセロボティクス ロボット制御装置、ロボット制御方法、及びプログラム
JP6485620B2 (ja) * 2014-09-03 2019-03-20 株式会社チトセロボティクス ロボット制御システムおよびロボット制御方法
US9475198B2 (en) * 2014-12-22 2016-10-25 Qualcomm Incorporated System and method for dynamic robot manipulator selection
JP2016221645A (ja) * 2015-06-02 2016-12-28 セイコーエプソン株式会社 ロボット、ロボット制御装置およびロボットシステム
US10596706B2 (en) 2016-04-08 2020-03-24 Delta Electronics, Inc. Mechanism-parameter-calibration method for robotic arm system
TWI601611B (zh) * 2016-04-08 2017-10-11 台達電子工業股份有限公司 用於機器手臂系統之機構參數校正方法
US11267125B2 (en) 2016-04-08 2022-03-08 Delta Electronics, Inc. Mechanism-parameter-calibration method for robotic arm system
ES2899284T3 (es) 2016-07-15 2022-03-10 Fastbrick Ip Pty Ltd Vehículo que incorpora una máquina de colocación de ladrillos
WO2018043525A1 (ja) * 2016-09-02 2018-03-08 倉敷紡績株式会社 ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法
JP6434943B2 (ja) * 2016-09-20 2018-12-05 本田技研工業株式会社 組立装置
JP2018094648A (ja) * 2016-12-09 2018-06-21 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
JP6549683B2 (ja) * 2016-12-12 2019-07-24 ファナック株式会社 制御装置
DE102017222474A1 (de) * 2016-12-12 2018-06-14 Fanuc Corporation Numeriksteuerung und datenstruktur
JP6610609B2 (ja) * 2017-04-27 2019-11-27 トヨタ自動車株式会社 音声対話ロボットおよび音声対話システム
EP3649616A4 (en) 2017-07-05 2021-04-07 Fastbrick IP Pty Ltd POSITION AND ORIENTATION TRACKER IN REAL TIME
CN111226090B (zh) 2017-08-17 2023-05-23 快砖知识产权私人有限公司 具有改进的横滚角测量的激光跟踪器
AU2018317937B2 (en) 2017-08-17 2023-11-23 Fastbrick Ip Pty Ltd Communication system for an interaction system
KR101971824B1 (ko) * 2018-03-05 2019-04-23 캐논 톡키 가부시키가이샤 로봇, 로봇 시스템, 디바이스 제조 장치, 디바이스 제조 방법 및 티칭 위치 조정 방법
JP7124440B2 (ja) * 2018-05-23 2022-08-24 セイコーエプソン株式会社 ロボット制御装置およびロボットシステム
US10871366B2 (en) 2018-08-16 2020-12-22 Mitutoyo Corporation Supplementary metrology position coordinates determination system for use with a robot
US10751883B2 (en) * 2018-08-16 2020-08-25 Mitutoyo Corporation Robot system with supplementary metrology position coordinates determination system
US11002529B2 (en) 2018-08-16 2021-05-11 Mitutoyo Corporation Robot system with supplementary metrology position determination system
US11745354B2 (en) 2018-08-16 2023-09-05 Mitutoyo Corporation Supplementary metrology position coordinates determination system including an alignment sensor for use with a robot
CN108818540B (zh) * 2018-08-28 2021-12-10 珠海格力智能装备有限公司 补偿参数的方法及装置、处理器和存储介质
US10913156B2 (en) 2018-09-24 2021-02-09 Mitutoyo Corporation Robot system with end tool metrology position coordinates determination system
KR102561103B1 (ko) * 2018-11-16 2023-07-31 삼성전자주식회사 로봇 보정 시스템 및 그것의 보정 방법
CN109571477B (zh) * 2018-12-17 2020-09-22 西安工程大学 一种改进的机器人视觉与传送带综合标定方法
CN109773781B (zh) * 2018-12-26 2021-05-25 南京埃斯顿机器人工程有限公司 一种无传感器的工业机器人直线软浮动控制方法
JP7326911B2 (ja) * 2019-06-20 2023-08-16 オムロン株式会社 制御システムおよび制御方法
CN110421562B (zh) * 2019-07-24 2024-01-30 中国地质大学(武汉) 基于四目立体视觉的机械臂标定系统和标定方法
JP7263987B2 (ja) * 2019-08-22 2023-04-25 オムロン株式会社 制御装置、制御方法、及び制御プログラム
WO2021033472A1 (ja) * 2019-08-22 2021-02-25 オムロン株式会社 制御装置、制御方法、及び制御プログラム
US20230033156A1 (en) * 2019-12-19 2023-02-02 Delaval Holding Ab Method and multibody system for supervision of a joint
AU2021258902A1 (en) * 2020-04-22 2022-12-15 Fastbrick Ip Pty Ltd Block transfer apparatus and improved clamping assembly for use therewith
JP2022065646A (ja) * 2020-10-15 2022-04-27 株式会社ミツトヨ 補足計測位置決定システムを用いたロボットシステム
CN112650268B (zh) * 2020-12-25 2024-06-18 深圳市优必选科技股份有限公司 机器人的运动控制方法、装置、机器人及存储介质
CN113119083B (zh) * 2021-03-19 2022-05-06 深圳市优必选科技股份有限公司 一种机器人标定方法、装置、机器人及存储介质
CN114619446B (zh) * 2022-03-11 2023-11-03 广东工业大学 基于双观测器的轨迹跟踪控制方法及系统
CN115519544B (zh) * 2022-10-10 2023-12-15 深圳进化动力数码科技有限公司 一种生鲜分拣机器人抓取方法、装置、设备及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2698660B2 (ja) * 1989-06-12 1998-01-19 株式会社日立製作所 マニピュレータの制御方法及び制御装置並びにマニピュレータ装置
JP3224839B2 (ja) * 1992-02-20 2001-11-05 株式会社東芝 マニピュレータ制御装置
JP2769947B2 (ja) * 1992-05-15 1998-06-25 株式会社椿本チエイン マニピュレータの位置・姿勢制御方法
JP3305050B2 (ja) * 1993-07-22 2002-07-22 株式会社東芝 宇宙ロボット制御装置
JPH0768480A (ja) * 1993-09-06 1995-03-14 Mitsubishi Heavy Ind Ltd マニピュレータの関節角度制御方法
US5838882A (en) * 1996-10-31 1998-11-17 Combustion Engineering, Inc. Dynamic position tracking and control of robots
US6278906B1 (en) * 1999-01-29 2001-08-21 Georgia Tech Research Corporation Uncalibrated dynamic mechanical system controller
JP2007011978A (ja) 2005-07-04 2007-01-18 Toyota Motor Corp ロボットの運動制御装置
US8924021B2 (en) * 2006-04-27 2014-12-30 Honda Motor Co., Ltd. Control of robots from human motion descriptors
JP5318727B2 (ja) * 2009-10-30 2013-10-16 本田技研工業株式会社 情報処理方法及び装置並びにプログラム
JP5448069B2 (ja) * 2009-12-25 2014-03-19 株式会社Ihi ロボット制御装置及び方法
US8934003B2 (en) * 2010-01-08 2015-01-13 Koninklijkle Philips N.V. Uncalibrated visual servoing using real-time velocity optimization
US9981389B2 (en) * 2014-03-03 2018-05-29 California Institute Of Technology Robotics platforms incorporating manipulators having common joint designs

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220402131A1 (en) * 2021-06-09 2022-12-22 eBots Inc. System and method for error correction and compensation for 3d eye-to-hand coordinaton
US12030184B2 (en) * 2021-06-09 2024-07-09 eBots Inc. System and method for error correction and compensation for 3D eye-to-hand coordination

Also Published As

Publication number Publication date
US20150158181A1 (en) 2015-06-11
US9616573B2 (en) 2017-04-11
WO2013176212A1 (ja) 2013-11-28
JPWO2013176212A1 (ja) 2016-01-14

Similar Documents

Publication Publication Date Title
JP6307431B2 (ja) ロボット制御装置、ロボット制御方法、プログラム、記録媒体、ロボットシステム
US9517563B2 (en) Robot system using visual feedback
JP6429473B2 (ja) ロボットシステム、ロボットシステムの校正方法、プログラム、およびコンピュータ読み取り可能な記録媒体
JP6430986B2 (ja) ロボットを用いた位置決め装置
JP5754454B2 (ja) ロボットピッキングシステム及び被加工物の製造方法
JP6317618B2 (ja) 情報処理装置およびその方法、計測装置、並びに、作業装置
JP2014104529A (ja) ロボットシステム及びロボットシステムの制御方法
Lippiello et al. A position-based visual impedance control for robot manipulators
JP2014161950A (ja) ロボットシステム、ロボット制御方法、ロボット較正方法
JP2008207262A (ja) マニピュレータシステム
EP4101604A1 (en) System and method for improving accuracy of 3d eye-to-hand coordination of a robotic system
Li et al. A visuo-tactile control framework for manipulation and exploration of unknown objects
Zhu et al. Sensor-based control using an image point and distance features for rivet-in-hole insertion
De Farias et al. Dual quaternion-based visual servoing for grasping moving objects
JP6485620B2 (ja) ロボット制御システムおよびロボット制御方法
JP6217322B2 (ja) ロボット制御装置、ロボット及びロボット制御方法
CN109542094B (zh) 无期望图像的移动机器人视觉镇定控制
Cazy et al. Visual servoing when visual information is missing: Experimental comparison of visual feature prediction schemes
CN110139731A (zh) 对过程机器人的模型的校准和过程机器人的运行
Fateh et al. On the transforming of control space by manipulator Jacobian
Leite et al. Hybrid vision-force robot control for tasks on unknown smooth surfaces
JP2016203282A (ja) エンドエフェクタの姿勢変更機構を備えたロボット
Burger et al. Robust second order sliding mode control for 6d position based visual servoing with a redundant mobile manipulator
Kawamura et al. Encoderless robot motion control using vision sensor and back electromotive force
Wu et al. Collaboration of multiple mobile manipulators with compliance based leader/follower approach

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170530

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20170627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20170627

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170912

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20171101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180312

R150 Certificate of patent or registration of utility model

Ref document number: 6307431

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370