JP2017061022A - ロボットの制御装置 - Google Patents
ロボットの制御装置 Download PDFInfo
- Publication number
- JP2017061022A JP2017061022A JP2015188521A JP2015188521A JP2017061022A JP 2017061022 A JP2017061022 A JP 2017061022A JP 2015188521 A JP2015188521 A JP 2015188521A JP 2015188521 A JP2015188521 A JP 2015188521A JP 2017061022 A JP2017061022 A JP 2017061022A
- Authority
- JP
- Japan
- Prior art keywords
- axis
- angle
- calculated
- temporary
- parameter
- 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
【課題】修正DHパラメータに基づいてロボットの各回転部の角度を算出できるロボットの制御装置を提供する。【解決手段】ロボットのアーム先端部を制御点とする。コントローラは、制御点の目標となる位置及び姿勢を仮の位置及び姿勢として設定し、設定した仮の位置及び姿勢をDHパラメータに基づいて逆変換処理することにより、各回転部の仮の角度Jtempを算出する。コントローラは、算出した各回転部の仮の角度Jtempを修正DHパラメータに基づいて順変換処理することにより、制御点の位置及び姿勢を算出し、算出した位置及び姿勢と目標となる位置及び姿勢とのずれ量を算出する。コントローラは、算出したずれ量が閾値よりも小さくなるまで仮の位置及び姿勢の更新を繰り返し、算出したずれ量が閾値よりも小さくなった場合に、逆変換処理により算出されている仮の角度Jtempを各回転部の角度Jrefとして算出する。【選択図】 図3
Description
本発明は、複数の回転部と、複数の前記回転部を順次連結してかつ隣り合う前記回転部を互いに回転可能にする関節と、を含むアームを備えるロボットに適用される制御装置に関する。
この種の制御装置としては、下記特許文献1に見られるように、6軸の垂直多関節型のロボットの動作に伴い各関節及び各回転部(リンク)に発生するたわみに起因して、ロボットの制御点である手先の位置及び姿勢が目標となる位置及び姿勢からずれることを抑制するものが知られている。この制御装置では、位置及び姿勢のずれを抑制するための処理として、修正DHパラメータに基づく順変換処理と、修正DHパラメータに基づく逆変換処理とを用いている。
修正DHパラメータとは、ロボットのリンク機構のモデルを表すパラメータであり、DHパラメータとは異なるパラメータである。詳しくは、修正DHパラメータとは、各関節に対して3軸直交座標系を規定した場合において隣り合う関節に対応する3軸直交座標系の関係を表すパラメータである。下記特許文献1では、修正DHパラメータとして、互いに直交する3軸のそれぞれを回転中心軸線とした回転角度量と、互いに直交する2軸方向のそれぞれにおける平行移動量とを用いている。
下記特許文献1には、以下のことが記載されている。詳しくは、まず、目標となる位置及び姿勢xstが仮の位置及び姿勢xとして設定される。そして、設定された仮の位置及び姿勢xが修正DHパラメータに基づいて逆変換処理されることにより、ロボットの各回転部の角度θdが算出される。続いて、算出された各回転部の角度θdが修正DHパラメータに基づいて順変換処理されることにより、手先の位置及び姿勢xdが算出される。
上記特許文献1には、修正DHパラメータに基づく逆変換処理により角度を算出すると記載されているものの、実際には、修正DHパラメータに基づく逆変換処理により角度を算出することを保証することはできない。
つまり、通常、逆変換処理は解析的に行われる。逆変換処理を解析的に行うためには、ロボットにおいてひと続きの3つの関節の回転軸線が1点で交わるとの交差条件が成立する必要がある。ここで、多関節を有するロボットにおいては、交差条件が成立するように設計されているため、DHパラメータに基づく逆変換処理を解析的に行うことができる。例えば図4に示すように、6つ関節を有するロボットにおいては、アームの根元部から数えて、第4,5,6番目の関節の回転軸線J4,J5,J6が1点で交わるため、DHパラメータに基づく逆変換処理を解析的に行うことができる。
しかしながら、修正DHパラメータを用いてロボット組み付け時の誤差をロボットリンク機構に反映させると、上記交差条件が成立しなくなる。このため、修正DHパラメータを用いる場合には、逆変換処理を解析的に行うことができなくなり、各回転部の角度を算出することができなくなる。
そこで、ヤコビ行列を用いた繰り返し演算により修正DHパラメータに基づく逆変換処理を行うことも考えられる。しかしながら、ロボットの特異点近傍では、ヤコビ行列の行列式が非常に小さな値となることによりヤコビ行列の逆行列が大きな値となり、正しい角度を算出することができなくなる。また、ロボットの特異点では、ヤコビ行列の行列式が0となり、ヤコビ行列の逆行列を算出できなくなる。したがって、特異点及びその近傍においては、ヤコビ行列を用いた繰り返し演算によっても、修正DHパラメータに基づく逆変換処理による角度の算出を保証することはできない。
本発明は、上述した問題を解決するためになされたものであり、修正DHパラメータに基づいてロボットの各回転部の角度を算出できるロボットの制御装置を提供することを主たる目的とするものである。
第1の発明は、複数の回転部と、複数の前記回転部を順次連結してかつ隣り合う前記回転部を互いに回転可能にする関節と、を含むアームを備えるロボットに適用され、前記アームの先端部を制御点とし、前記制御点の目標となる位置及び姿勢を仮の位置及び姿勢として設定する仮設定手段と、前記各関節の回転中心軸線がZ軸とされ、隣り合う前記関節に対応する前記Z軸の共通垂線に沿って前記Z軸から延びる軸線がX軸とされ、隣り合う前記関節の前記X軸方向における距離、隣り合う前記関節に対応する前記Z軸が前記X軸まわりになす角度、隣り合う前記関節の前記Z軸方向における距離、及び隣り合う前記関節に対応する前記X軸を前記Z軸まわりになす角度がDHパラメータとして定義されており、前記仮設定手段により設定された前記仮の位置及び姿勢を前記DHパラメータに基づいて逆変換処理することにより、前記各回転部の仮の角度を算出する逆変換手段と、前記各関節に対して3軸直交座標系が規定され、隣り合う前記関節に対応する前記3軸直交座標系の関係を表すパラメータが、互いに直交する3軸のそれぞれを回転中心軸線とした回転角度量と、互いに直交する3軸のうち少なくとも2軸方向のそれぞれにおける平行移動量とを含む修正DHパラメータとして定義されており、前記逆変換手段により算出された前記各回転部の仮の角度を前記修正DHパラメータに基づいて順変換処理することにより、前記制御点の位置及び姿勢を算出する順変換手段と、前記順変換手段により算出された位置及び姿勢と前記目標となる位置及び姿勢とのずれ量を算出するずれ量算出手段と、前記ずれ量算出手段により算出されたずれ量が閾値よりも小さくなるまで、前記仮の位置及び姿勢の更新を繰り返す更新手段と、前記ずれ量算出手段により算出されたずれ量が前記閾値よりも小さくなった場合に、前記逆変換手段により算出されている前記各回転部の仮の角度を、前記各回転部の角度として算出する角度算出手段と、を備えることを特徴とする。
上記発明では、各関節の回転中心軸線がZ軸とされ、隣り合う関節に対応するZ軸の共通垂線に沿ってZ軸から延びる軸線がX軸とされている。X,Z軸を用いて、ロボットのリンク機構を表す4つのパラメータからなるDHパラメータが定義されている。詳しくは、DHパラメータは、隣り合う関節のX軸方向における距離、隣り合う関節に対応するZ軸がX軸まわりになす角度、隣り合う関節のZ軸方向における距離、及び隣り合う関節に対応するX軸がZ軸まわりになす角度からなる。
また上記発明では、少なくとも5つのパラメータからなる修正DHパラメータが定義されている。修正DHパラメータは、隣り合う関節に対応する3軸直交座標系の関係を表すパラメータであり、ロボット機構の誤差等を補償して位置及び姿勢の算出精度を高めるために採用される。詳しくは、修正DHパラメータは、互いに直交する3軸のそれぞれを回転中心軸線とした回転角度量と、互いに直交する3軸のうち少なくとも2軸方向のそれぞれにおける平行移動量とを含むパラメータである。
上記発明では、まず、仮設定手段により、制御点の目標となる位置及び姿勢が仮の位置及び姿勢として設定される。そして、DHパラメータに基づいて解析的に逆変換処理が可能なことに鑑み、逆変換手段により、DHパラメータに基づいて仮の位置及び姿勢が逆変換処理されることで各回転部の仮の角度が算出される。
そして、順変換手段により、算出された仮の角度が修正DHパラメータに基づいて順変換処理されることで制御点の位置及び姿勢が算出される。DHパラメータにより表現されるリンク機構と修正DHパラメータにより表現されるリンク機構とは異なるため、順変換手段により算出された制御点の位置及び姿勢と、目標となる位置及び姿勢との間にはずれが生じることとなる。
そこで、ずれ量算出手段により、順変換手段により算出された制御点の位置及び姿勢と目標となる位置及び姿勢とのずれ量が算出され、算出されたずれ量が閾値よりも小さくなるように仮の位置及び姿勢が更新される。そして、逆変換手段により、更新された仮の位置及び姿勢がDHパラメータに基づいて再度逆変換処理されることで各回転部の仮の角度が算出される。そして、順変換手段により、算出された仮の角度が修正DHパラメータに基づいて再度順変換処理されることで制御点の位置及び姿勢が算出される。そして、ずれ量算出手段により、順変換手段により算出された制御点の位置及び姿勢と目標となる位置及び姿勢とのずれ量が再度算出される。ここで、再度算出されたずれ量が閾値よりも小さくなることは、逆変換処理により既に算出されている仮の角度と、目標となる位置及び姿勢が修正DHパラメータに基づいて逆変換されることにより導かれた角度とが実質的に等しくなることを裏付けるものである。
この点に鑑み、ずれ量算出手段により算出されたずれ量が閾値よりも小さくなるまで、逆変換手段で用いられる仮の位置及び姿勢の更新が繰り返される。そして、ずれ量算出手段により算出されたずれ量が閾値よりも小さくなった場合に、逆変換手段により既に算出されている各回転部の仮の角度が、各回転部の角度として算出される。
このように上記発明は、DHパラメータに基づく逆変換処理の実行後に修正DHパラメータに基づく順変換処理を実行することにより算出された位置及び姿勢と、目標となる位置及び姿勢とが一致するか否かの裏取りを行うものである。そして上記発明は、位置及び姿勢が一致した場合においてDHパラメータに基づく逆変換処理により既に算出されている角度を、修正DHパラメータに基づく逆変換処理により算出された角度と同じものとして扱うことができる。したがって上記発明によれば、目標となる位置及び姿勢に修正DHパラメータに基づく逆変換処理を直接施すことなく、目標となる位置及び姿勢に対応する各回転部の角度を修正DHパラメータに基づいて算出することができる。
ここで、角度算出手段により算出された各回転部の角度は、ロボットに各回転部のそれぞれを駆動するサーボモータが備えられる構成において以下のように用いることができる。詳しくは、第2の発明では、前記角度算出手段は、動作周期毎に前記各回転部の角度を算出し、前記各回転部の現在の角度から、前記角度算出手段により算出された前記各回転部の角度まで前記動作周期後に制御されるように、前記各サーボモータを駆動させる駆動手段を備えることを特徴とする。
第3の発明は、前記修正DHパラメータとして、前記ロボットを測定して得られた測定値を反映した値が設定されることを特徴とする。
上記発明では、ロボットの個体差に起因したロボット機構の誤差等を修正DHパラメータに反映することができる。このため、制御点の位置及び姿勢の算出精度を高めることができる。
以下、垂直多関節型ロボットの制御装置に具体化した一実施形態について、図面を参照しつつ説明する。本実施形態のロボットは、例えば産業用ロボットとして機械組立工場などの組立システムにて用いられる。
はじめに、ロボット10の概要を図1に基づいて説明する。
図示されるように、ロボット10は、第1〜第6回転部(リンク)を順次連結する各関節の回転中心軸線として、第1〜第6軸線を有する6軸ロボットである。これら各軸線における各部の動作角度は、それぞれサーボモータ等からなる駆動源の駆動、及び減速機等による減速を通じて調整される。サーボモータは、いずれも正逆両方向の回転が可能であり、サーボモータの駆動により原点位置を基準として各回転部が動作する。各サーボモータには、その出力軸を制動する電磁ブレーキと、出力軸の角度に応じたパルス信号を出力するエンコーダとがそれぞれ設けられている。
ロボット10は、床等の据え付け面に設置されており、第1軸線J1が鉛直方向へ延びている。ロボット10において、基台11は、据え付け面に固定される固定部12と、その固定部12の上方に設けられる第1回転部13(ショルダ部)とを有している。ロボット10のアームは、第1回転部13に加え、第2回転部14(下アーム部)、第3,第4回転部15A,15B(上アーム部15)、第5回転部16(手首部)、及び第6回転部17(ハンド部)を備えている。
第1回転部13は、アームの両端部のうち、アーム先端部とは反対側の根元部に相当する。第1回転部13は、第1軸線J1を回転中心として水平方向に回転可能になっている。すなわち、第1回転部13は、第1軸線J1の方向に延びるとともに、固定部12により第1軸線J1を中心として回転可能に支持されている。
第2回転部14が、水平方向に延びる第2軸線J2を回転中心として、時計回り方向又は反時計回り方向に回転可能に連結されている。すなわち、第2回転部14は、第1軸線J1に直交する平面に含まれる第2軸線J2から離れる方向へ延びるとともに、第1回転部13により第2軸線J2を中心として回転可能に支持されている。第2回転部14は、基本姿勢として鉛直方向に延びる向きに設けられている。
第2回転部14の上端部には、上アーム部15が、水平方向に延びる第3軸線J3を回転中心として、時計回り方向又は反時計回り方向に回転可能に連結されている。すなわち、上アーム部15は、第2軸線J2に平行な第3軸線J3から離れる方向へ延びるとともに、第2回転部14により第3軸線J3を中心として回転可能に支持されている。上アーム部15は、基本姿勢として水平方向に延びる向きに設けられている。
上アーム部15は、基端側(回転の際に第3軸線J3を回転中心とする関節側)と先端側とで2つのアーム部に分割されて構成されており、基端側は第3回転部15A(第1上アーム部)、先端側は第4回転部15B(第2上アーム部)となっている。第4回転部15Bは、上アーム部15の長手方向に延びる第4軸線J4を回転中心として、第3回転部15Aに対してねじり方向に回転可能になっている。すなわち、第4回転部15Bは、第3軸線J3に直交する平面に含まれる第4軸線J4の方向に延びるとともに、第3回転部15Aにより第4軸線J4を中心として回転可能に支持されている。
第4回転部15Bの先端部には、第5回転部16が設けられている。第5回転部16は、水平方向に延びる第5軸線J5を回転中心として、第4回転部15Bに対して回転可能になっている。すなわち、第5回転部16は、第4軸線J4に直交する第5軸線J5から離れる方向へ延びるとともに、第4回転部15Bにより第5軸線J5を中心として回転可能に支持されている。
第5回転部16の先端部には、ワークやツール等を取り付けるための第6回転部17が設けられている。第6回転部17は、その中心線である第6軸線J6を回転中心として、ねじり方向に回転可能になっている。すなわち、第6回転部17は、第5軸線J5に直交する第6軸線J6の方向に延びるとともに、第5回転部16により第6軸線J6を中心として回転可能に支持されている。
コントローラ30(制御装置)は、CPU、ROM、RAM、駆動回路、及び位置検出回路等を備えている。ROMは、ロボット10のシステムプログラムや動作プログラム等を記憶している。RAMは、これらのプログラムを実行する際にパラメータの値等を記憶する。位置検出回路には、各エンコーダの検出信号がそれぞれ入力される。位置検出回路は、各エンコーダの検出信号に基づいて、各関節に設けられたサーボモータの角度を検出する。
ティーチングペンダント40(操作機)は、CPU、ROM、及びRAMを含むマイクロコンピュータ、各種の手動操作キー、並びにディスプレイ42等を備えている。ペンダント40は、コントローラ30に接続されており、コントローラ30と通信可能となっている。オペレータ(使用者)は、このペンダント40を手動操作して、ロボット10の動作プログラムの作成、修正、登録、各種パラメータの設定を行うことができる。動作プログラムの修正等を行うティーチングでは、作業においてアーム先端部の制御点が通過する教示点を教示する。そして、オペレータは、コントローラ30を通じて、ティーチングされた動作プログラムに基づきロボット10を動作させることができる。換言すれば、コントローラ30は、予め設定された動作プログラム及びペンダント40の操作に基づいて、ロボット10のアームの動作を制御する。なお本実施形態では、制御点として、第6回転部17の中心点17aであるTCP(Tool Center Point)が設定されている。
コントローラ30は、予め設定された動作プログラム(プログラム)を実行することにより、位置検出回路から入力される位置情報に基づいて、アーム先端部の制御点の位置及び姿勢を制御する。本実施形態において、コントローラ30は、CP(Continuous Path)制御を行う。CP制御では、アーム先端部の制御点を目標まで動作させる際に制御点の目標となる位置及び姿勢(動作軌道)が時間関数として設定される。目標となる位置及び姿勢には、教示された位置及び姿勢に加えて、教示された位置及び姿勢に基づいて補間された位置及び姿勢も含まれる。コントローラ30は、CP制御により、制御点の位置及び姿勢が動作軌道に沿うように、アームにおける各関節の角度を制御する。
コントローラ30は、位置及び姿勢の制御において、現在指示されている目標となる位置及び姿勢を実現するための第1〜第6回転部13〜17の角度を算出する。本実施形態では、DHパラメータに基づく逆変換処理と、修正DHパラメータに基づく順変換処理とを交互に繰り返すことにより、第1〜第6回転部13〜17の角度を算出する手法を採用する。この手法を採用したのは、以下に説明する理由のためである。
通常、逆変換処理は解析的に行われる。逆変換処理を解析的に行うためには、ロボット10においてひと続きの3つの関節の回転軸線が1点で交わるとの交差条件が成立する必要がある。ここで本実施形態に係るロボット10では、第4,5,6軸線J4,J5,J6が1点で交わるため、DHパラメータに基づく逆変換処理を解析的に行うことができる。しかしながら、ロボット10の組み付け時の誤差を修正DHパラメータを用いてロボットリンク機構に反映させると、上記交差条件が成立しなくなる。このため、修正DHパラメータを用いる場合には、逆変換処理を解析的に行うことができなくなり、第1〜第6回転部13〜17の角度を算出することができなくなる。
そこで、ヤコビ行列を用いた繰り返し演算により修正DHパラメータに基づく逆変換処理を行うことも考えられる。具体的には、まず、各回転部13〜17の角度θtmの初期値を設定し、設定した角度θtmを順変換処理することにより位置及び姿勢Ptmを算出するとともに、設定した角度θtmに対応するヤコビ行列Jtmを算出する。そして、算出した位置及び姿勢Ptmと目標となる位置及び姿勢Prefとの偏差ΔPtmを算出し、算出した偏差ΔPtmと、ヤコビ行列Jtmの逆行列とに基づいて、下式(eq1)のように上記角度θtmを更新する。
ここで、ロボット10の特異点近傍では、ヤコビ行列Jtmの行列式が非常に小さな値となることによりヤコビ行列Jtmの逆行列が大きな値となり、上式(eq1)の「Jtm^(−1)ΔPtm」の値が非常に大きくなる。その結果、角度θtmが発散し、正しい角度を算出することができなくなる。また、ロボット10の特異点では、ヤコビ行列Jtmの行列式が0となり、ヤコビ行列Jtmの逆行列を算出することができない。したがって、特異点及びその近傍においては、ヤコビ行列を用いた繰り返し演算によっても、修正DHパラメータに基づく逆変換処理による第1〜第6回転部13〜17の角度の算出を保証することはできない。
また、6軸のロボット10におけるヤコビ行列Jtmは6×6の行列となり、ヤコビ行列Jtmの逆行列を算出する場合には演算量が大きくなる。このため、ヤコビ行列Jtmを用いた繰り返し演算を行うと、繰り返し演算毎に逆行列を算出する必要があることから、演算量が膨大なものとなる。
上述した問題を解決するために、本実施形態では、DHパラメータに基づく逆変換処理と、修正DHパラメータに基づく順変換処理とを組み合わせた第1〜第6回転部13〜17の角度算出手法を採用する。以下、この角度算出手法について説明する。
まず、角度算出手法の説明に先立ち、図2を用いて、各関節に規定される座標系について説明する。
図2に示すように、ロボットの各関節には、3次元の直交座標系である第1〜第6座標系R1〜R6が規定されている。第1〜第6座標系R1〜R6の原点O1〜O6は、第1〜第6軸線J1〜J6上の所定位置に定められている。第1〜第6座標系R1〜R6のZ軸であるZ1〜Z6軸は、第1〜第6軸線J1〜J6と一致している。第1〜第6座標系R1〜R6は、右手系にて規定されている。
固定部12には、ロボット座標系である第0座標系R0が規定されている。第0座標系R0は、第1〜第6回転部13〜17が回転しても変化しない座標系である。本実施形態において、第0座標系R0の原点O0は、第1軸線J1上に定められている。また、第0座標系R0のZ軸であるZ0軸は、第1軸線J1に一致している。
第6回転部17には、手先座標系である第7座標系R7が規定されている。本実施形態において、第7座標系R7の原点O7は、第6軸線J6上に定められている。
続いて、第0〜第7座標系R0〜R7の相互関係を規定するDHパラメータ及び修正DHパラメータについて説明する。
まず、DHパラメータについて説明する。固定部12をリンク0(i=0)とし、固定部12側から第6回転部17に向かって関節に番号i=1〜6を付与する。ここで、第i関節の回転中心軸線は、第i軸線Jiに一致する。ここで、固定部12における第0座標系R0と第7座標系R7との関係を規定する同次変換行列は下式(eq2)で表わされる。
なお、図2には、Z1軸とZ2軸との間のX軸平行移動量A2と、X1軸とX2軸との間のZ軸平行移動量S2とを例示した。
続いて、修正DHパラメータについて説明する。固定部12における第0座標系R0と第7座標系R7との関係を規定する同次変換行列は下式(eq5)で表わされる。
Krxiは第2回転行列である。第2回転行列Krxiにおけるαiは、Zi−1軸まわりにθi回転させられた後にai,bi,di平行移動させられた第i−1座標系のXi−1軸まわりの回転角度量を示す。Kryiは第3回転行列である。第3回転行列Kryiにおけるβiは、Zi−1軸まわりにθi回転させられた後にai,bi,di平行移動させられ、その後Xi−1軸まわりにαi回転させられた第i−1座標系のYi−1軸まわりの回転角度量を示す。
角度γiに加え、修正DHパラメータαi,βi,θi,ai,bi,diに量産される各ロボットに応じた値を設定することにより、ロボットのリンク機構の組み付け時における誤差や、ロボットを据え付けた場合の誤差等を補償することができる。すなわち、修正DHパラメータαi,βi,θi,ai,bi,diとして、各ロボットを測定して得られた測定値を反映した値を設定する。
次に、図3を用いて、第1〜第6回転部13〜17の角度算出処理について説明する。図3は、この処理の手順を示すフローチャートである。この一連の処理は、コントローラ30によって、アームを動作させる動作周期(制御周期)毎に繰り返し実行される。動作周期Trは、例えば8msである。
この一連の処理では、まずステップS10において、カウンタNrを0とする。
続くステップS11では、目標となる位置及び姿勢を表す4×4の目標行列Trefを取得する。本実施形態において、目標行列Trefは、位置及び姿勢がロボット座標系である第0座標系R0を基準として表されている。目標行列Trefでは、この行列の左上の3×3の行列が制御点の姿勢を表す姿勢行列となっており、右上の3×1の行列が制御点の位置(原点O0からの位置ベクトル)を表す行列となっている。そしてステップS11では、取得した目標行列Trefを仮の位置及び姿勢を表す仮行列Tnewとして設定する。
続くステップS12では、DHパラメータに基づいて仮行列Tnewを逆変換処理することにより、第1〜第6回転部13〜17の仮の角度Jtempを算出する。具体的には、上式(eq2)に基づいて、第1〜第6回転部13〜17の仮の角度Jtempを算出する。
続くステップS13では、修正DHパラメータに基づいて第1〜第6回転部13〜17の仮の角度Jtempを順変換処理することにより、制御点の位置及び姿勢を表す行列Ttempを算出する。具体的には、上式(eq5)に基づいて、行列Ttempを算出する。
続くステップS14では、ステップS13で算出した行列Ttempから定まる制御点の位置Ptempから、目標行列Trefから定まる制御点の位置Prefを減算することにより、位置ずれ量ΔPを算出する。
続くステップS15では、ステップS13で算出した行列Ttempから定まる制御点の姿勢と、目標行列Trefから定まる制御点の姿勢とのずれ量である姿勢ずれ量ΔAを算出する。以下、本実施形態に係る姿勢ずれ量ΔAの算出手法を説明する。
姿勢ずれ量ΔAの算出には、回転中心軸線となる単位ベクトルVと、姿勢ずれ量としての角度回転量ΔAとによって姿勢行列Rを表現するオイラーベクトルが用いられる。ここで、姿勢行列R、単位ベクトルV及び角度回転量ΔAの関係は、下式(eq8)で表わされる。
続くステップS16では、位置ずれ量ΔPの絶対値が第1閾値εp未満であってかつ姿勢ずれ量ΔAの絶対値が第2閾値εa未満であるとの第1条件、又はカウンタNrがその上限値Nth以上であるとの第2条件のいずれかが成立しているか否かを判定する。第1条件は、ステップS11又は後述するステップS19における仮の位置及び姿勢が、目標となる位置及び姿勢に収束したことを判定するための条件である。
ステップS16で否定判定した場合にはステップS17に進み、仮行列Tnewから定まる制御点の仮の位置Pnewから位置ずれ量ΔPを減算することにより、仮の位置Pnewを更新する。続くステップS18では、仮行列Tnewから定まる仮の姿勢を表す仮姿勢行列Rnewに、姿勢行列Rtempと姿勢行列Rrefの逆行列との積を乗算することにより、仮姿勢行列Rnewを更新する。続くステップS19では、更新された仮の位置Pnewと、更新された仮姿勢行列Rnewとにより、仮行列Tnewを更新する。そしてステップS12に戻る。
一方、ステップS16で肯定判定した場合には、ステップS20に進み、直近のステップS12で既に算出されている仮の角度Jtempを、第1〜第6回転部13〜17の最終的な角度Jrefとして算出する。算出された最終的な角度Jrefは、CP制御に用いられる。詳しくは、第1〜第6回転部13〜17の現在の角度から、第1〜第6回転部13〜17の最終的な角度Jtempまで動作周期後に制御されるように、各サーボモータが駆動させる。
以上詳述した本実施形態は、以下の利点を有する。
制御点の目標となる位置及び姿勢を表す目標行列Trefが、仮の位置及び姿勢を表す仮行列Tnewとして設定される。そして、DHパラメータに基づいて仮行列Tnewが逆変換処理されることにより、第1〜第6回転部13〜17の仮の角度Jtempが算出される。続いて、修正DHパラメータに基づいて仮の角度Jtempが順変換処理されることにより、制御点の位置及び姿勢を表す行列Ttempが算出され、この行列Ttempと目標行列Trefとに基づいて、位置ずれ量ΔP及び姿勢ずれ量ΔAが算出される。そして、算出された各ずれ量ΔP,ΔAが0に収束するように仮行列Tnewが更新される。そして、各ずれ量ΔP,ΔAが0に収束した場合、既に算出されている仮の角度Jtempが第1〜第6回転部13〜17の角度として算出される。
上述した本実施形態によれば、目標行列Trefに修正DHパラメータに基づく逆変換処理を直接施すことなく、目標行列Trefの位置及び姿勢に対応する各回転部13〜17の角度を修正DHパラメータに基づいて算出することができる。
また本実施形態によれば、仮行列Tnewを1回又は数回更新することにより、各回転部13〜17の角度を算出することができる。これに対し、ヤコビ行列を用いた繰り返し演算では、演算の繰り返し回数が本実施形態における仮行列Tnewの更新回数の例えば数十倍〜数百倍となる懸念がある。このため本実施形態によれば、ヤコビ行列を用いた繰り返し演算に要する演算量に対してコントローラ30の演算量を大きく低減することができる。
(その他の実施形態)
なお、上記実施形態を以下のように変更して実施することもできる。
なお、上記実施形態を以下のように変更して実施することもできる。
・修正DHパラメータに基づく逆変換処理において、上式(eq6)の回転行列Tγiを無視してもよい。
・修正DHパラメータにおける平行移動量としては、3つに限らず、2つであってもよい。例えば、上記平行移動量として、X軸方向における平行移動量ai、及びZ軸方向における平行移動量diのみを用いることができる。
・上記実施形態では、角度算出手段により算出された各回転部の角度を、各回転部の角度の制御に用いた。しかしながら、各回転部の角度の制御に限らず、各回転部により発生させる力の制御等、角度算出手段により算出された各回転部の角度を用いる他の制御に用いることもできる。
・上記実施形態において、垂直多関節型のロボット10に代えて、水平多関節型のロボット等を採用することもできる。
10…ロボット、13〜17…第1〜第6回転部、30…コントローラ。
Claims (3)
- 複数の回転部と、複数の前記回転部を順次連結してかつ隣り合う前記回転部を互いに回転可能にする関節と、を含むアームを備えるロボットに適用され、
前記アームの先端部を制御点とし、前記制御点の目標となる位置及び姿勢を仮の位置及び姿勢として設定する仮設定手段と、
前記各関節の回転中心軸線がZ軸とされ、隣り合う前記関節に対応する前記Z軸の共通垂線に沿って前記Z軸から延びる軸線がX軸とされ、隣り合う前記関節の前記X軸方向における距離、隣り合う前記関節に対応する前記Z軸が前記X軸まわりになす角度、隣り合う前記関節の前記Z軸方向における距離、及び隣り合う前記関節に対応する前記X軸を前記Z軸まわりになす角度がDHパラメータとして定義されており、前記仮設定手段により設定された前記仮の位置及び姿勢を前記DHパラメータに基づいて逆変換処理することにより、前記各回転部の仮の角度を算出する逆変換手段と、
前記各関節に対して3軸直交座標系が規定され、隣り合う前記関節に対応する前記3軸直交座標系の関係を表すパラメータが、互いに直交する3軸のそれぞれを回転中心軸線とした回転角度量と、互いに直交する3軸のうち少なくとも2軸方向のそれぞれにおける平行移動量とを含む修正DHパラメータとして定義されており、前記逆変換手段により算出された前記各回転部の仮の角度を前記修正DHパラメータに基づいて順変換処理することにより、前記制御点の位置及び姿勢を算出する順変換手段と、
前記順変換手段により算出された位置及び姿勢と前記目標となる位置及び姿勢とのずれ量を算出するずれ量算出手段と、
前記ずれ量算出手段により算出されたずれ量が閾値よりも小さくなるまで、前記仮の位置及び姿勢の更新を繰り返す更新手段と、
前記ずれ量算出手段により算出されたずれ量が前記閾値よりも小さくなった場合に、前記逆変換手段により算出されている前記各回転部の仮の角度を、前記各回転部の角度として算出する角度算出手段と、を備えることを特徴とするロボットの制御装置。 - 前記ロボットには、前記各回転部のそれぞれを駆動するサーボモータが備えられ、
前記角度算出手段は、動作周期毎に前記各回転部の角度を算出し、
前記各回転部の現在の角度から、前記角度算出手段により算出された前記各回転部の角度まで前記動作周期後に制御されるように、前記各サーボモータを駆動させる駆動手段を備える請求項1に記載のロボットの制御装置。 - 前記修正DHパラメータとして、前記ロボットを測定して得られた測定値を反映した値が設定される請求項1又は2に記載のロボットの制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015188521A JP2017061022A (ja) | 2015-09-25 | 2015-09-25 | ロボットの制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015188521A JP2017061022A (ja) | 2015-09-25 | 2015-09-25 | ロボットの制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017061022A true JP2017061022A (ja) | 2017-03-30 |
Family
ID=58429730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015188521A Pending JP2017061022A (ja) | 2015-09-25 | 2015-09-25 | ロボットの制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017061022A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019093488A (ja) * | 2017-11-24 | 2019-06-20 | 株式会社デンソーウェーブ | ロボットの制御装置及びロボットの逆変換処理方法 |
JP2019093487A (ja) * | 2017-11-24 | 2019-06-20 | 株式会社デンソーウェーブ | ロボットの制御装置及びロボットの逆変換処理方法 |
CN110000773A (zh) * | 2017-11-24 | 2019-07-12 | 电装波动株式会社 | 机器人的控制装置及机器人的逆变换处理方法 |
JP2020093363A (ja) * | 2018-12-14 | 2020-06-18 | 日本電産株式会社 | キャリブレーション装置及びキャリブレーション方法 |
CN111735601A (zh) * | 2020-08-04 | 2020-10-02 | 中国空气动力研究与发展中心低速空气动力研究所 | 一种双机加油风洞试验支撑装置的防碰壁方法 |
CN112549026A (zh) * | 2020-11-27 | 2021-03-26 | 华南理工大学 | 一种常见工业机器人的交互式运动学建模方法 |
CN113733098A (zh) * | 2021-09-28 | 2021-12-03 | 武汉联影智融医疗科技有限公司 | 机械臂模型位姿计算方法、装置、电子设备和存储介质 |
CN114504385A (zh) * | 2022-01-18 | 2022-05-17 | 上海术航机器人有限公司 | 手术机器人末端姿态调整方法、系统、设备和介质 |
-
2015
- 2015-09-25 JP JP2015188521A patent/JP2017061022A/ja active Pending
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10919149B2 (en) | 2017-11-24 | 2021-02-16 | Denso Wave Incorporated | Controller for robot and inverse transforming method for robot |
JP2019093487A (ja) * | 2017-11-24 | 2019-06-20 | 株式会社デンソーウェーブ | ロボットの制御装置及びロボットの逆変換処理方法 |
CN110000773A (zh) * | 2017-11-24 | 2019-07-12 | 电装波动株式会社 | 机器人的控制装置及机器人的逆变换处理方法 |
EP3511127A3 (en) * | 2017-11-24 | 2020-01-01 | Denso Wave Incorporated | Controller for robot and inverse transform method for robot |
CN110000773B (zh) * | 2017-11-24 | 2022-08-23 | 电装波动株式会社 | 机器人的控制装置及机器人的逆变换处理方法 |
JP2019093488A (ja) * | 2017-11-24 | 2019-06-20 | 株式会社デンソーウェーブ | ロボットの制御装置及びロボットの逆変換処理方法 |
KR20200073987A (ko) * | 2018-12-14 | 2020-06-24 | 니혼 덴산 가부시키가이샤 | 캘리브레이션 장치 및 캘리브레이션 방법 |
JP7305951B2 (ja) | 2018-12-14 | 2023-07-11 | ニデック株式会社 | キャリブレーション装置及びキャリブレーション方法 |
US11298827B2 (en) | 2018-12-14 | 2022-04-12 | Nidec Corporation | Calibration apparatus and calibration method |
KR102529477B1 (ko) * | 2018-12-14 | 2023-05-08 | 니혼 덴산 가부시키가이샤 | 캘리브레이션 장치 및 캘리브레이션 방법 |
CN111319034A (zh) * | 2018-12-14 | 2020-06-23 | 日本电产株式会社 | 校准装置以及校准方法 |
KR102311293B1 (ko) * | 2018-12-14 | 2021-10-12 | 니혼 덴산 가부시키가이샤 | 캘리브레이션 장치 및 캘리브레이션 방법 |
KR20210125459A (ko) * | 2018-12-14 | 2021-10-18 | 니혼 덴산 가부시키가이샤 | 캘리브레이션 장치 및 캘리브레이션 방법 |
JP2020093363A (ja) * | 2018-12-14 | 2020-06-18 | 日本電産株式会社 | キャリブレーション装置及びキャリブレーション方法 |
CN111735601B (zh) * | 2020-08-04 | 2021-03-30 | 中国空气动力研究与发展中心低速空气动力研究所 | 一种双机加油风洞试验支撑装置的防碰壁方法 |
CN111735601A (zh) * | 2020-08-04 | 2020-10-02 | 中国空气动力研究与发展中心低速空气动力研究所 | 一种双机加油风洞试验支撑装置的防碰壁方法 |
CN112549026A (zh) * | 2020-11-27 | 2021-03-26 | 华南理工大学 | 一种常见工业机器人的交互式运动学建模方法 |
CN113733098A (zh) * | 2021-09-28 | 2021-12-03 | 武汉联影智融医疗科技有限公司 | 机械臂模型位姿计算方法、装置、电子设备和存储介质 |
CN113733098B (zh) * | 2021-09-28 | 2023-03-03 | 武汉联影智融医疗科技有限公司 | 机械臂模型位姿计算方法、装置、电子设备和存储介质 |
CN114504385A (zh) * | 2022-01-18 | 2022-05-17 | 上海术航机器人有限公司 | 手术机器人末端姿态调整方法、系统、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017061022A (ja) | ロボットの制御装置 | |
JP6924145B2 (ja) | ロボット教示方法及びロボットアーム制御装置 | |
JP6706489B2 (ja) | ロボットのダイレクト教示方法 | |
JP5528095B2 (ja) | ロボットシステム、その制御装置及び方法 | |
JP3808321B2 (ja) | ロボット制御装置 | |
CN111432990B (zh) | 技能传承机械装置 | |
US8423190B1 (en) | Manipulator system | |
US20140031982A1 (en) | Robotic system and robot control device | |
JP7523714B2 (ja) | 適応コンプライアンスに基づいたロボット組立のためのシステムおよび方法 | |
TWI645946B (zh) | Robot operation method, computer program, and robot system | |
JP5786550B2 (ja) | 6軸ロボットの軸間オフセット検出方法 | |
JP7164368B2 (ja) | ロボット装置 | |
JP2016221653A (ja) | ロボット制御装置およびロボットシステム | |
US20170043481A1 (en) | Robot controller inhibiting shaking of tool tip in robot equipped with travel axis | |
JPH06304893A (ja) | 位置決め機構のキャリブレーション方式 | |
JP5382148B2 (ja) | ロボットの動作制御装置及びその動作制御方法 | |
JP2014180726A (ja) | 多関節ロボットのバネ定数補正装置 | |
JPH05329786A (ja) | 産業用ロボット装置 | |
JP2009050949A (ja) | ロボットアームの軌道教示方法および軌道教示装置 | |
JP2567834B2 (ja) | ロボツト制御デ−タの作成方法 | |
JP2016147322A (ja) | ロボットの制御装置及び制御方法 | |
WO2024070568A1 (ja) | 多関節ロボットの制御方法、ロボットシステム、プログラム、及び、物品の製造方法 | |
JP4992702B2 (ja) | ロボットの動作制御装置及びその動作制御方法 | |
US20240083024A1 (en) | Spring constant correction device, method therefor, and recording medium | |
WO2023135762A1 (ja) | 制御装置、教示装置、及び機械システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180618 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190516 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190521 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20191203 |