(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024155507
(43)【公開日】2024-10-31
(54)【発明の名称】ロボット
(51)【国際特許分類】
B25J 13/08 20060101AFI20241024BHJP
【FI】
B25J13/08 Z
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2023070277
(22)【出願日】2023-04-21
(71)【出願人】
【識別番号】000000974
【氏名又は名称】川崎重工業株式会社
(74)【代理人】
【識別番号】100104433
【弁理士】
【氏名又は名称】宮園 博一
(74)【代理人】
【識別番号】100202728
【弁理士】
【氏名又は名称】三森 智裕
(72)【発明者】
【氏名】浦上 朋久
(72)【発明者】
【氏名】坪井 信高
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707BS12
3C707KS23
3C707KS24
3C707KX07
3C707LV18
3C707MT05
(57)【要約】
【課題】補償の精度を向上させて、振動を精度よく抑制することが可能なロボットを提供する。
【解決手段】このロボット100は、複数のリンク11a、11b、11c、11d、11eおよび11fを有するアーム11と、複数のリンク11a、11b、11c、11d、11eおよび11fを駆動する複数の駆動軸12a、12b、12c、12d、12eおよび12fと、アーム11に配置された慣性センサ13と、を含む、ロボット本体10と、補償対象の駆動軸に対する慣性センサ13の傾きを補正すること、および、慣性センサ13の検出結果に含まれる重力加速度成分を除去することの少なくとも一方を行って得られた慣性センサ13の検出結果に基づいて、振動に関する補償量を取得する制御装置20と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数のリンクを有するアームと、前記複数のリンクを駆動する複数の駆動軸と、前記アームに配置された慣性センサと、を含む、ロボット本体と、
補償対象の前記駆動軸に対する前記慣性センサの傾きを補正すること、および、前記慣性センサの検出結果に含まれる重力加速度成分を除去することの少なくとも一方を行って得られた前記慣性センサの検出結果に基づいて、振動に関する補償量を取得する制御装置と、を備える、ロボット。
【請求項2】
前記制御装置は、前記慣性センサと補償対象の前記駆動軸との間に存在する補償対象以外の前記駆動軸の傾きに基づいて前記慣性センサの検出結果を補正する、請求項1に記載のロボット。
【請求項3】
前記制御装置は、前記慣性センサの検出結果に対して補償対象以外の前記駆動軸の座標変換を行う、請求項2に記載のロボット。
【請求項4】
前記制御装置は、前記複数の駆動軸の座標変換行列に基づく回転行列に基づいて重力加速度成分を取得するとともに、取得した重力加速度成分を前記慣性センサの検出結果から差分する、請求項1に記載のロボット。
【請求項5】
前記慣性センサは、角速度センサと、加速度センサと、を含み、
前記制御装置は、前記角速度センサの検出結果に基づいて、前記補償量として位置補償量を取得し、前記加速度センサの検出結果に基づいて、前記補償量として速度補償量を取得する、請求項1に記載のロボット。
【請求項6】
前記制御装置は、補償対象の前記駆動軸に対する前記角速度センサの傾きを補正すること、および、前記角速度センサと補償対象の前記駆動軸との間に存在する補償対象以外の前記駆動軸の角速度成分を補正することを行った前記角速度センサの検出結果と、補償対象の前記駆動軸の角速度指令とに基づいて、前記位置補償量を取得する、請求項5に記載のロボット。
【請求項7】
前記制御装置は、補償対象の前記駆動軸に対する前記加速度センサの傾きを補正すること、および、前記加速度センサの検出結果に含まれる重力加速度成分を除去することを行った前記加速度センサの検出結果と、補償対象の前記駆動軸の加速度指令とに基づいて、前記速度補償量を取得する、請求項5に記載のロボット。
【請求項8】
前記複数の駆動軸は、基端側からこの順に配置された第1駆動軸、第2駆動軸および第3駆動軸を含み、
前記制御装置は、前記第1駆動軸、前記第2駆動軸および前記第3駆動軸の3つの駆動軸について、前記補償量を取得する、請求項1に記載のロボット。
【請求項9】
前記第2駆動軸の回転軸線と、前記第3駆動軸の回転軸線とは、互いに平行であり、
前記制御装置は、前記第2駆動軸および前記第3駆動軸の慣性の干渉に基づいて、前記第2駆動軸および前記第3駆動軸の各々の前記補償量を取得する、請求項8に記載のロボット。
【請求項10】
前記慣性センサは、補償対象の前記駆動軸よりも前記アームの先端側に配置されている、請求項1に記載のロボット。
【請求項11】
前記慣性センサは、前記アームの先端に配置されている、請求項10に記載のロボット。
【請求項12】
前記ロボット本体は、6軸の垂直多関節型である、請求項1に記載のロボット。
【請求項13】
複数のリンクを有するアームと、前記複数のリンクを駆動する複数の駆動軸と、前記アームに配置された慣性センサと、を含む、ロボット本体と、
前記慣性センサの検出結果に対して振動の補償に関する補正を行い、補正した前記慣性センサの検出結果に基づいて、振動に関する補償量を取得する制御装置と、を備える、ロボット。
【発明の詳細な説明】
【技術分野】
【0001】
この開示は、ロボットに関する。
【背景技術】
【0002】
従来、ロボットが知られている(たとえば、特許文献1参照)。
【0003】
上記特許文献1には、ロボットが開示されている。このロボットは、第1アームと、第2アームと、第3アームと、第4アームと、第5アームと、第6アームとを備えている。各アームは、駆動源を有する関節を介して連結されている。また、第3アームには、角速度センサが設置されている。このロボットでは、角速度センサにより検出を行い、その検出結果に基づいて、各関節の駆動源が制御される。これにより、ロボットの振動が抑制される。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記特許文献1に記載されたロボットでは、角速度センサにより検出を行い、その検出結果に基づいて、各関節の駆動源が制御される一方、たとえば補償対象の関節に対する角速度センサの傾きが考慮されていないため、振動に関する補償を精度よく行うことが困難であるという不都合がある。また、振動に関する補償を精度よく行うことが困難なため、振動を精度よく抑制することが困難であるという問題点がある。
【0006】
この開示は、上記のような課題を解決するためになされたものであり、補償の精度を向上させて、振動を精度よく抑制することが可能なロボットを提供することである。
【課題を解決するための手段】
【0007】
この開示の第1の局面によるロボットは、複数のリンクを有するアームと、複数のリンクを駆動する複数の駆動軸と、アームに配置された慣性センサと、を含む、ロボット本体と、補償対象の駆動軸に対する慣性センサの傾きを補正すること、および、慣性センサの検出結果に含まれる重力加速度成分を除去することの少なくとも一方を行って得られた慣性センサの検出結果に基づいて、振動に関する補償量を取得する。
【0008】
この開示の第1の局面によるロボットでは、上記のように、補償対象の駆動軸に対する慣性センサの傾きを補正すること、および、慣性センサの検出結果に含まれる重力加速度成分を除去することの少なくとも一方を行って得られた慣性センサの検出結果に基づいて、振動に関する補償量を取得する制御装置を設ける。これにより、補償対象の駆動軸に対する慣性センサの傾きを補正する場合、ロボット本体の姿勢に応じて変化する慣性センサの傾きを補正することができるので、補償量を精度よく取得することができる。また、慣性センサの検出結果に含まれる重力加速度成分を除去する場合、慣性センサの検出結果に不可避的に含まれる重力加速度成分を除去することができるので、補償量を精度よく取得することができる。その結果、補償の精度を向上させることができるので、振動を精度よく抑制することができる。
【0009】
また、この開示の第2の局面によるロボットは、複数のリンクを有するアームと、複数のリンクを駆動する複数の駆動軸と、アームに配置された慣性センサと、を含む、ロボット本体と、慣性センサの検出結果に対して振動の補償に関する補正を行い、補正した慣性センサの検出結果に基づいて、振動に関する補償量を取得する制御装置と、を備える。
【0010】
この開示の第2の局面によるロボットでは、上記のように、慣性センサの検出結果に対して振動の補償に関する補正を行い、補正した慣性センサの検出結果に基づいて、振動に関する補償量を取得する制御装置を設ける。これにより、補正した慣性センサの検出結果に基づいて、補償量を精度よく取得することができる。その結果、補償の精度を向上させることができるので、振動を精度よく抑制することができる。
【発明の効果】
【0011】
本開示によれば、上記のように、補償の精度を向上させて、振動を精度よく抑制することができる。
【図面の簡単な説明】
【0012】
【
図1】一実施形態によるロボットを示した模式図である。
【
図2】一実施形態によるロボットの制御的な構成を示したブロック図である。
【
図3】一実施形態による角速度センサの検出結果の補正を説明するための図である。
【
図4】一実施形態による加速度センサの検出結果の補正を説明するための図である。
【
図5】一実施形態による第1駆動軸の位置補償量の取得を説明するための図である。
【
図6】一実施形態による第1駆動軸の速度補償量の取得を説明するための図である。
【
図7】一実施形態による第2、第3駆動軸の位置補償量の取得を説明するための図である。
【
図8】一実施形態による第2駆動軸の速度補償量の取得を説明するための図である。
【
図9】一実施形態による第3駆動軸の速度補償量の取得を説明するための図である。
【
図10】一実施形態による位置補償量の取得に関する制御処理を説明するためのフローチャートである。
【
図11】一実施形態による速度補償量の取得に関する制御処理を説明するためのフローチャートである。
【発明を実施するための形態】
【0013】
以下、本開示を具体化した実施形態を図面に基づいて説明する。
【0014】
図1~
図9を参照して、本実施形態によるロボットの構成について説明する。
【0015】
(ロボットの構成)
図1に示すように、ロボット100は、ロボット本体10と、制御装置20と、を備えている。ロボット100は、たとえば、産業用のロボットである。ロボット本体10は、6軸の垂直多関節型である。制御装置20は、ロボット本体10の動作を制御する。
【0016】
ロボット本体10は、複数のリンク11a、11b、11c、11d、11eおよび11fを有するアーム11と、複数のリンク11a、11b、11c、11d、11eおよび11fを駆動する複数の駆動軸12a、12b、12c、12d、12eおよび12fと、アーム11に配置された慣性センサ13とを含んでいる。
【0017】
複数のリンク11a、11b、11c、11d、11eおよび11fは、第1リンク11aと、第2リンク11bと、第3リンク11cと、第4リンク11dと、第5リンク11eと、第6リンク11fとを有している。第1リンク11aと、第2リンク11bと、第3リンク11cと、第4リンク11dと、第5リンク11eと、第6リンク11fとは、基端側からこの順に配置されている。また、アーム11は、先端部に、エンドエフェクタ30が取り付けられている。エンドエフェクタ30は、ワークを把持するハンドや、ワークを吸着する吸着部などを含む。また、アーム11は、基端部に設けられ、床、壁、柱などに取り付けられる基台11gを含んでいる。
【0018】
複数の駆動軸12a、12b、12c、12d、12eおよび12fは、第1駆動軸12aと、第2駆動軸12bと、第3駆動軸12cと、第4駆動軸12dと、第5駆動軸12eと、第6駆動軸12fとを有している。第1駆動軸12aと、第2駆動軸12bと、第3駆動軸12cと、第4駆動軸12dと、第5駆動軸12eと、第6駆動軸12fとは、基端側からこの順に配置されている。
【0019】
図2に示すように、第1駆動軸12aには、モータ41aと、エンコーダ42aとが設けられている。また、第2駆動軸12bには、モータ41bと、エンコーダ41bとが設けられている。また、第3駆動軸12cには、モータ41cと、エンコーダ41cとが設けられている。また、第4駆動軸12dには、モータ41dと、エンコーダ41dとが設けられている。また、第5駆動軸12eには、モータ41eと、エンコーダ41eとが設けられている。また、第6駆動軸12fには、モータ41fと、エンコーダ41fとが設けられている。
【0020】
複数の駆動軸12a、12b、12c、12d、12eおよび12fは、各々、モータの駆動により、対応するリンクを回転させる。
【0021】
図1に示すように、第1駆動軸12aは、基台11に接続されている。第1駆動軸12aは、基台11に対してリンク11aを回転軸線A1周りに回転させる。第2駆動軸12bは、リンク11aに対してリンク11bを、回転軸線A1と直交する方向の回転軸線A2周りに回転させる。
【0022】
第3駆動軸12cは、リンク11bに対してリンク11cを、回転軸線A2と平行な回転軸線A3周りに回転させる。第4駆動軸12dは、リンク11cに対してリンク11dを、回転軸線A3と直交する方向の回転軸線A4周りに回転させる。
【0023】
第5駆動軸12eは、リンク11dに対してリンク11eを、回転軸線A4と直交する方向の回転軸線A5周りに回転させる。第6駆動軸12fは、リンク11eに対してリンク11fを、回転軸線A5と直交する方向の回転軸線A6周りに回転させる。
【0024】
慣性センサ13は、アーム11の先端に配置されている。すなわち、慣性センサ13は、後述する補償対象の駆動軸12a、12bまたは12cよりもアーム11の先端側に配置されている。また、慣性センサ13は、
図2に示すように、角速度センサ13aと、加速度センサ13bとを含んでいる。角速度センサ13aは、アーム11の先端における角速度を検出する。加速度センサ13bは、アーム11の先端における加速度を検出する。慣性センサ13は、角速度センサ13aと加速度センサ13bとが一体の6軸センサであってもよいし、3軸の角速度センサ13aと3軸の加速度センサ13bとが別々に設けられたセンサであってもよい。
【0025】
制御装置20は、アーム11の各駆動軸に設けられたモータに供給する電力を制御することにより、ロボット本体10の動作を制御する。また、制御装置20は、CPU(中央演算処理装置)と、メモリと、を含んでいる。制御装置20は、所定のプログラムを実行することにより、ロボット本体10を動作させる制御を行う。また、制御装置20は、振動に関する補償を行うことにより、ロボット本体10における振動を抑制する制御を行う。
【0026】
(振動補償に関する制御)
ここで、本実施形態では、制御装置20は、慣性センサ13の検出結果に対して振動の補償に関する補正を行い、補正した慣性センサ13の検出結果に基づいて、振動に関する補償量を取得する。具体的には、制御装置20は、振動の補償に関する補正として、補償対象の駆動軸に対する慣性センサ13の傾きを補正すること、および、慣性センサ13の検出結果に含まれる重力加速度成分を除去することの少なくとも一方を行って得られた慣性センサ13の検出結果に基づいて、振動に関する補償量を取得する。
【0027】
具体的には、制御装置20は、慣性センサ13と補償対象の駆動軸との間に存在する補償対象以外の駆動軸の傾きに基づいて慣性センサ13の検出結果を補正する。これにより、制御装置20は、補償対象の駆動軸に対する慣性センサ13の傾きを補正する。より具体的には、制御装置20は、慣性センサ13の検出結果に対して補償対象以外の駆動軸の座標変換を行う。これにより、制御装置20は、補償対象の駆動軸に対する慣性センサ13の傾きを補正する。
【0028】
また、制御装置20は、複数の駆動軸12a、12b、12c、12d、12eおよび12fの座標変換行列に基づく回転行列に基づいて重力加速度成分を取得するとともに、取得した重力加速度成分を慣性センサ13の検出結果から差分する。これにより、制御装置20は、慣性センサ13の検出結果に含まれる重力加速度成分を除去する。
【0029】
また、本実施形態では、制御装置20は、角速度センサ13aの検出結果に基づいて、補償量として位置補償量を取得し、加速度センサ13bの検出結果に基づいて、補償量として速度補償量を取得する。
【0030】
具体的には、制御装置20は、補償対象の駆動軸に対する角速度センサ13aの傾きを補正すること、および、角速度センサ13aと補償対象の駆動軸との間に存在する補償対象以外の駆動軸の角速度成分を補正することを行って得られた角速度センサ13aの検出結果と、補償対象の駆動軸の角速度指令とに基づいて、位置補償量を取得する。
【0031】
また、制御装置20は、補償対象の駆動軸に対する加速度センサ13bの傾きを補正すること、および、加速度センサ13bの検出結果に含まれる重力加速度成分を除去することを行って得られた加速度センサ13bの検出結果と、補償対象の駆動軸の加速度指令とに基づいて、速度補償量を取得する。
【0032】
また、本実施形態では、制御装置20は、第1駆動軸12a、第2駆動軸12bおよび第3駆動軸12cの3つの駆動軸について、補償量を取得する。補償対象の駆動軸とは、第1駆動軸12a、第2駆動軸12bまたは第3駆動軸12cを意味している。また、慣性センサ13と補償対象の駆動軸との間に存在する補償対象以外の駆動軸とは、補償対象の駆動軸が第1駆動軸12aである場合、第2駆動軸12b、第3駆動軸12c、第4駆動軸12d、第5駆動軸12eおよび第6駆動軸12fを意味している。また、慣性センサ13と補償対象の駆動軸との間に存在する補償対象以外の駆動軸とは、補償対象の駆動軸が第2駆動軸12bまたは第3駆動軸12cである場合、第4駆動軸12d、第5駆動軸12eおよび第6駆動軸12fを意味している。以下、制御装置20による補償量の取得について詳細に説明する。
【0033】
〈補償量取得の理論〉
まず、補償量の取得の理論について説明する。
【0034】
振動の運動方程式は、以下の式(1)により表される。
【数1】
ここで、
M:アーム質量
W:振動による指令の位置と実際の位置とのずれ量
Z:補償量
k:ばね定数
である。
【0035】
ずれ量Wが非ゼロである場合、ずれ量Wをゼロに収束させる。この場合、Fを係数として補償量Zを以下の式(2)により表すと、ずれ量Wの2階微分の項は、以下の式(3)により表される。
【数2】
【0036】
式(3)では、ずれ量Wの2階微分の項に対して1階微分の項の係数が-Fである。このため、ずれ量Wは、時定数1/Fで収束することになる。したがって、位置補償量は、以下の式(4)により表される。また、速度補償量は、以下の式(5)により表される。
【数3】
ここで、
Z
p:位置補償量
Z
v:速度補償量
である。
【0037】
また、ずれ量Wの1階微分の項は、アーム11の実速度と、速度指令とを用いて、以下の式(6)により表される。また、ずれ量Wの2階微分の項は、アーム11の実加速度と、加速度指令とを用いて、以下の式(7)により表される。
【数4】
ここで、
V
FB:アーム11の実速度
V
FF:速度指令
A
FB:アーム11の実加速度
A
FF:加速度指令
である。
【0038】
このため、位置補償量および速度補償量は、それぞれ、以下の式(8)および(9)により表される。
【数5】
【0039】
アーム11の実速度に、補償対象の駆動軸に対する角速度センサ13aの傾きを補正すること、および、角速度センサ13aと補償対象の駆動軸との間に存在する補償対象以外の駆動軸の角速度成分を補正することを行った角速度センサ13aの検出結果を用いる。また、アーム11の実加速度に、補償対象の駆動軸に対する加速度センサ13bの傾きを補正すること、および、加速度センサ13bの検出結果に含まれる重力加速度成分を除去することを行った加速度センサ13bの検出結果を用いる。
【0040】
〈角速度センサの検出結果の補正〉
角速度センサ13aの検出結果の補正について説明する。
【0041】
補償対象の駆動軸に対する角速度センサ13aの傾きが、ロボット本体10の姿勢に応じて変化するため、補償対象の駆動軸に対する角速度センサ13aの傾きが補正される。具体的には、補償対象の駆動軸に対する角速度センサ13aの傾きを補正することを行った角速度センサ13aの検出結果は、補償対象の駆動軸が第1駆動軸12aである場合、以下の式(10)により表される。また、補償対象の駆動軸に対する角速度センサ13aの傾きを補正することを行った角速度センサ13aの検出結果は、補償対象の駆動軸が第2駆動軸12bまたは第3駆動軸12cである場合、以下の式(11)により表される。なお、第2駆動軸12bおよび第3駆動軸12cの各々の回転軸線が平行であり、第2駆動軸12bおよび第3駆動軸12cの動作方向が同じであるため、第2駆動軸12bにおいて第3駆動軸12cの傾きを補正する必要がない。
【数6】
ここで、
V
sensor:角速度センサ13aの検出結果
V
fix:補正後の角速度センサ13aの検出結果
T_LX_JY:第Xリンクから第Y駆動軸への座標変換行列
T_JX_LY:第X駆動軸から第Yリンクへの座標変換行列
である。
【0042】
式(10)では、角速度センサ13aと補償対象の駆動軸12aとの間に存在する補償対象以外の駆動軸12b、12c、12d、12eおよび12fの傾きに基づいて角速度センサ13aの検出結果が補正されることにより、補償対象の駆動軸12aに対する角速度センサ13aの傾きが補正されている。また、式(11)では、角速度センサ13aと補償対象の駆動軸12bまたは12cとの間に存在する補償対象以外の駆動軸12d、12eおよび12fの傾きに基づいて角速度センサ13aの検出結果が補正されることにより、補償対象の駆動軸12bまたは12cに対する角速度センサ13aの傾きが補正されている。また、式(10)および(11)のいずれにおいても、角速度センサ13aの検出結果に対して補償対象以外の駆動軸の座標変換が行われることにより、補償対象の駆動軸に対する角速度センサ13aの傾きが補正されている。
【0043】
また、角速度センサ13aの検出結果には、補償対象以外の駆動軸の角速度成分が含まれているため、角速度センサ13aの検出結果に対して補償対象以外の駆動軸の角速度成分が補正される。具体的には、補償対象以外の駆動軸のエンコーダの情報に基づいて、補償対象以外の駆動軸の角速度成分が取得される。そして、取得された補償対象以外の駆動軸の角速度成分が角速度センサ13aの検出結果から差分されることにより、角速度センサ13aの検出結果に対して補償対象以外の駆動軸の角速度成分が補正される。
【0044】
補償対象の駆動軸が第1駆動軸12aである場合、補償対象以外の駆動軸12b、12c、12d、12eおよび12fの角速度成分が角速度センサ13aの検出結果から差分されることにより、角速度センサ13aの検出結果に対して補償対象以外の駆動軸12b、12c、12d、12eおよび12fの角速度成分が補正される。また、補償対象の駆動軸が第2駆動軸12bまたは第3駆動軸12cである場合、補償対象以外の駆動軸12d、12eおよび12fの角速度成分が角速度センサ13aの検出結果から差分されることにより、角速度センサ13aの検出結果に対して補償対象以外の駆動軸12d、12eおよび12fの角速度成分が補正される。なお、補償対象の駆動軸が第1駆動軸12aである場合、第2駆動軸12bおよび第3駆動軸12cの角速度成分は影響しないため、必ずしも差分する必要はない。
【0045】
図3は、角速度センサ13aの検出結果の補正を例示している。
図3に示すように、座標変換行列T_L5_J6が取得される。また、第6駆動軸12fの位置指令Posff_JT6に基づいて、座標変換行列T_J6_L6が取得される。また、角速度センサ13aから検出結果V
sensorが取得される。そして、座標変換行列T_J6_L6と、座標変換行列T_L5_J6と、検出結果V
sensorとが乗算されることにより、第6駆動軸12fの傾きを補正することを行った検出結果V_JT6_1が取得される。
【0046】
また、第6駆動軸12fのエンコーダ42fの情報に基づいて、第6駆動軸12fの角速度成分mot_FB6が取得される。そして、第6駆動軸12fの角速度成分mot_FB6が検出結果V_JT6_1から差分されることにより、第6駆動軸12fの傾きを補正すること、および、第6駆動軸12fの角速度成分を補正することを行った検出結果V_JT6_2が取得される。
【0047】
そして、座標変換行列T_L4_J5が取得される。また、第5駆動軸12eの位置指令Posff_JT5に基づいて、座標変換行列T_J5_L5が取得される。そして、座標変換行列T_J5_L5と、座標変換行列T_L4_J5と、検出結果V_JT6_2とが乗算されることにより、第6駆動軸12fの傾きを補正すること、第6駆動軸12fの角速度成分を補正すること、および、第5駆動軸12eの傾きを補正することを行った検出結果V_JT5_1が取得される。
【0048】
また、第5駆動軸12eのエンコーダ42eの情報に基づいて、第5駆動軸12eの角速度成分mot_FB5が取得される。そして、第5駆動軸12eの角速度成分mot_FB5が検出結果V_JT5_1から差分されることにより、第6駆動軸12fの傾きを補正すること、第6駆動軸12fの角速度成分を補正すること、第5駆動軸12eの傾きを補正すること、および、第5駆動軸12eの角速度成分を補正することを行った検出結果V_JT5_2が取得される。なお、
図3では、図示の都合上、第5駆動軸12eおよび第6駆動軸12fの補正のみを図示しているが、補償対象の駆動軸が第1駆動軸12aである場合、第4駆動軸12d、第3駆動軸12cおよび第2駆動軸12bまで補正が同様に行われる。また、補償対象の駆動軸が第2駆動軸12bまたは第3駆動軸12cである場合、第4駆動軸12dまで補正が同様に行われる。そして、最終的に得られた値が、V
fixとなり、位置補償量の取得のために用いられる。
【0049】
〈加速度センサの検出結果の補正〉
加速度センサ13bの検出結果の補正について説明する。
【0050】
加速度センサ13bの検出結果には、重力加速度成分が不可避的に含まれるため、加速度センサ13bの検出結果に含まれる重力加速度成分が除去される。具体的には、複数の駆動軸12a、12b、12c、12d、12eおよび12fの座標変換行列に基づいて、回転行列は、以下の式(12)により表される。また、重力加速度成分は、以下の式(13)により表される。そして、加速度センサ13bの検出結果に含まれる重力加速度成分を除去することを行った加速度センサ13bの検出結果は、以下の式(14)により表される。
【数7】
ここで、
R:回転行列
G:重力加速度成分
g:重力加速度
A
sensor:加速度センサ13bの検出結果
A
grav:重力加速度成分の除去後の加速度センサ13bの検出結果
T_L0_J1:基台11gから第1駆動軸12aへの座標変換行列
である。
【0051】
式(12)および(13)では、複数の駆動軸12a、12b、12c、12d、12eおよび12fの座標変換行列に基づく回転行列に基づいて重力加速度成分が取得されている。また、式(14)では、重力加速度成分が慣性センサ13の検出結果から差分されることにより、慣性センサ13の検出結果に含まれる重力加速度成分が除去されている。
【0052】
また、補償対象の駆動軸に対する加速度センサ13bの傾きが、ロボット本体10の姿勢に応じて変化するため、補償対象の駆動軸に対する加速度センサ13bの傾きが補正される。補償対象の駆動軸に対する加速度センサ13bの傾きを補正することを行った加速度センサ13bの検出結果は、補償対象の駆動軸が第1駆動軸12aである場合、以下の式(15)により表される。また、補償対象の駆動軸に対する加速度センサ13bの傾きを補正することを行った加速度センサ13bの検出結果は、補償対象の駆動軸が第2駆動軸12bまたは第3駆動軸12cである場合、以下の式(16)により表される。なお、第2駆動軸12bおよび第3駆動軸12cの各々の回転軸線が平行であり、第2駆動軸12bおよび第3駆動軸12cの動作方向が同じであるため、第2駆動軸12bにおいて第3駆動軸12cの傾きを補正する必要がない。
【数8】
ここで、
A
grav:重力加速度成分の除去後の加速度センサ13bの検出結果
A
fix:補正後の加速度センサ13bの検出結果
である。
【0053】
式(15)では、加速度センサ13bと補償対象の駆動軸12aとの間に存在する補償対象以外の駆動軸12b、12c、12d、12eおよび12fの傾きに基づいて加速度センサ13bの検出結果が補正されることにより、補償対象の駆動軸12aに対する加速度センサ13bの傾きが補正されている。また、式(16)では、加速度センサ13bと補償対象の駆動軸12bまたは12cとの間に存在する補償対象以外の駆動軸12d、12eおよび12fの傾きに基づいて加速度センサ13bの検出結果が補正されることにより、補償対象の駆動軸12bまたは12cに対する加速度センサ13bの傾きが補正されている。また、式(15)および(16)のいずれにおいても、加速度センサ13bの検出結果に対して補償対象以外の駆動軸の座標変換が行われることにより、補償対象の駆動軸に対する加速度センサ13bの傾きが補正されている。
【0054】
図4は、加速度センサ13bの検出結果の補正を例示している。
図4に示すように、回転行列Rに基づく重力加速度成分Gが取得される。また、加速度センサ13bから検出結果A
sensorが取得される。そして、重力加速度成分Gが検出結果A
sensorから差分されることにより、重力加速度成分Gを除去することを行った検出結果A
gravが取得される。
【0055】
また、座標変換行列T_L5_J6が取得される。また、第6駆動軸12fの位置指令Posff_JT6に基づいて、座標変換行列T_J6_L6が取得される。そして、座標変換行列T_J6_L6と、座標変換行列T_L5_J6と、検出結果Agravとが乗算されることにより、重力加速度成分Gを除去すること、および、第6駆動軸12fの傾きを補正することを行った検出結果A_JT6が取得される。
【0056】
そして、座標変換行列T_L4_J5が取得される。また、第5駆動軸12eの位置指令Posff_JT5に基づいて、座標変換行列T_J5_L5が取得される。そして、座標変換行列T_J5_L5と、座標変換行列T_L4_J5と、検出結果A_JT6とが乗算されることにより、重力加速度成分Gを除去すること、第6駆動軸12fの傾きを補正すること、および、第5駆動軸12eの傾きを補正することを行った検出結果V_JT5が取得される。
【0057】
なお、
図4では、図示の都合上、第5駆動軸12eおよび第6駆動軸12fの補正のみを図示しているが、補償対象の駆動軸が第1駆動軸12aである場合、第4駆動軸12d、第3駆動軸12cおよび第2駆動軸12bまで補正が同様に行われる。また、補償対象の駆動軸が第2駆動軸12bまたは第3駆動軸12cである場合、第4駆動軸12dまで補正が同様に行われる。そして、最終的に得られた値が、A
fixとなり、速度補償量の取得のために用いられる。
【0058】
〈第1駆動軸の位置補償量の取得〉
第1駆動軸12aの位置補償量の取得について説明する。
【0059】
図5は、上記式(8)に基づく第1駆動軸12aの位置補償量の取得を例示している。
図5に示すように、補償対象の駆動軸12aに対する角速度センサ13aの傾きを補正すること、および、角速度センサ13aと補償対象の駆動軸12aとの間に存在する補償対象以外の駆動軸12b、12c、12d、12eおよび12fの角速度成分を補正することを行った角速度センサ13aの検出結果V
fix_JT1が取得される。また、第1駆動軸12aの角速度指令V
FF_JT1が取得される。そして、検出結果V
fix_JT1が角速度指令V
FF_JT1から差分されることにより、(V
FF_JT1-V
fix_JT1)が取得される。また、第1駆動軸12a周りのイナーシャH00が取得される。また、アーム11のばね定数Ks1が取得される。そして、(V
FF_JT1-V
fix_JT1)と、イナーシャH00とが乗算されるとともに、ばね定数Ks1が除算されることにより、第1駆動軸12aの位置補償量Zp_JT1が取得される。位置補償量Zp_JT1は、所定のゲインが乗算されるとともに、電流指令に変換されて、モータ41aの電流指令にフィードバックされる。なお、モータ41aの電流指令にフィードバックされる際には、位置補償量Zp_JT1から、ハイパスフィルタにより、ノイズやオフセットなどの低周波数成分が除去される。
【0060】
〈第1駆動軸の速度補償量の取得〉
第1駆動軸12aの速度補償量の取得について説明する。
【0061】
図6は、上記式(9)に基づく第1駆動軸12aの速度補償量の取得を例示している。
図6に示すように、補償対象の駆動軸12aに対する加速度センサ13bの傾きを補正すること、および、加速度センサ13bの検出結果に含まれる重力加速度成分を除去することを行った加速度センサ13bの検出結果A
fix_JT1が取得される。また、第1駆動軸12aの加速度指令A
FF_JT1が取得される。具体的には、加速度センサ13bの傾きの補正と同様に、アーム11の先端の加速度指令に対して、補償対象の駆動軸12a以外の駆動軸12b、12c、12d、12eおよび12fの座標変換を行うことにより、第1駆動軸12aの加速度指令A
FF_JT1が取得される。
【0062】
そして、検出結果Afix_JT1が角速度指令AFF_JT1から差分されることにより、(AFF_JT1-Afix_JT1)が取得される。また、第1駆動軸12a周りのイナーシャH00が取得される。また、アーム11のばね定数Ks1が取得される。そして、(AFF_JT1-Afix_JT1)と、イナーシャH00とが乗算されるとともに、ばね定数Ks1が除算されることにより、第1駆動軸12aの速度補償量Zv_JT1が取得される。速度補償量Zv_JT1は、所定のゲインが乗算されるとともに、電流指令に変換されて、モータ41aの電流指令にフィードバックされる。なお、モータ41aの電流指令にフィードバックされる際には、電流補償量Zv_JT1から、ハイパスフィルタにより、ノイズやオフセットなどの低周波数成分が除去される。
【0063】
〈第2、3駆動軸の位置補償量の取得〉
第2駆動軸12bおよび第3駆動軸12cの位置補償量の取得について説明する。第2駆動軸12bおよび第3駆動軸12cの各々の回転軸線が平行であり、第2駆動軸12bおよび第3駆動軸12cの動作方向が同じであるため、第2駆動軸12bおよび第3駆動軸12cの慣性の干渉に基づいて、第2駆動軸12bおよび第3駆動軸12dの各々の位置補償量が取得される。
【0064】
図7は、上記式(8)に基づく第2駆動軸12bおよび第3駆動軸12cの位置補償量の取得を例示している。
図7に示すように、補償対象の駆動軸12bまたは12cに対する角速度センサ13aの傾きを補正すること、および、角速度センサ13aと補償対象の駆動軸12bまたは12cとの間に存在する補償対象以外の駆動軸12d、12eおよび12fの角速度成分を補正することを行った角速度センサ13aの検出結果V
fix_JT2,3が取得される。また、第2駆動軸12bの角速度指令V
FF_JT2が取得される。また、第3駆動軸12cの角速度指令V
FF_JT3が取得される。そして、角速度指令V
FF_JT2と角速度指令V
FF_JT2とが加算されるとともに、検出結果V
fix_JT2,3が差分されることにより、(V
FF_JT2+V
FF_JT3-V
fix_JT2,3)が取得される。
【0065】
また、第2駆動軸12b周りのイナーシャH11が取得される。また、第2駆動軸12bのばね定数Ks2が取得される。そして、イナーシャH11からばね定数Ks2が除算されることにより、H11/Ks2が取得される。また、H11/Ks2とアームばね定数Kaとが加算されることにより、(H11/Ks2+Ka)が取得される。そして、(H11/Ks2+Ka)と(VFF_JT2+VFF_JT3-Vfix_JT2,3)とが乗算されることにより、(H11/Ks2+Ka)×(VFF_JT2+VFF_JT3-Vfix_JT2,3)が取得される。
【0066】
また、第2駆動軸12bと第3駆動軸12cとの間の干渉イナーシャH12が取得される。また、第2駆動軸12bのばね定数Ks2が取得される。そして、干渉イナーシャH12からばね定数Ks2が除算されることにより、H12/Ks2が取得される。また、H12/Ks2とアームばね定数Kbとが加算されることにより、(H12/Ks2+Kb)が取得される。そして、(H12/Ks2+Kb)と(VFF_JT2+VFF_JT3-Vfix_JT2,3)とが乗算されることにより、(H12/Ks2+Kb)×(VFF_JT2+VFF_JT3-Vfix_JT2,3)が取得される。
【0067】
そして、(H11/Ks2+Ka)×(VFF_JT2+VFF_JT3-Vfix_JT2,3)と、(H12/Ks2+Kb)×(VFF_JT2+VFF_JT3-Vfix_JT2,3)とが加算されることにより、第2駆動軸12bの位置補償量Zp_JT2が取得される。
【0068】
また、第3駆動軸12c周りのイナーシャH22が取得される。また、第3駆動軸12cのばね定数Ks3が取得される。そして、イナーシャH22からばね定数Ks3が除算されることにより、H22/Ks3が取得される。また、H22/Ks3とアームばね定数Kdとが加算されることにより、(H22/Ks3+Kd)が取得される。そして、(H22/Ks3+Kd)と(VFF_JT2+VFF_JT3-Vfix_JT2,3)とが乗算されることにより、(H22/Ks3+Kd)×(VFF_JT2+VFF_JT3-Vfix_JT2,3)が取得される。
【0069】
また、第2駆動軸12bと第3駆動軸12cとの間の干渉イナーシャH12が取得される。また、第3駆動軸12bのばね定数Ks3が取得される。そして、干渉イナーシャH12からばね定数Ks3が除算されることにより、H12/Ks3が取得される。また、H12/Ks3とアームばね定数Kcとが加算されることにより、(H12/Ks3+Kc)が取得される。そして、(H12/Ks3+Kc)と(VFF_JT2+VFF_JT3-Vfix_JT2,3)とが乗算されることにより、(H12/Ks3+Kc)×(VFF_JT2+VFF_JT3-Vfix_JT2,3)が取得される。
【0070】
そして、(H22/Ks3+Kd)×(VFF_JT2+VFF_JT3-Vfix_JT2,3)と、(H12/Ks3+Kc)×(VFF_JT2+VFF_JT3-Vfix_JT2,3)とが加算されることにより、第3駆動軸12cの位置補償量Zp_JT3が取得される。
【0071】
位置補償量Zp_JT2および位置補償量Zp_JT3の各々は、所定のゲインが乗算されるとともに、電流指令に変換されて、モータ41bおよびモータ41cの各々の電流指令にフィードバックされる。また、モータ41bおよびモータ41cの各々の電流指令にフィードバックされる際には、位置補償量Zp_JT2および位置補償量Zp_JT3から、ハイパスフィルタにより、ノイズやオフセットなどの低周波数成分が除去される。
【0072】
〈第2駆動軸の速度補償量の取得〉
第2駆動軸12bの位置補償量の取得について説明する。第2駆動軸12bおよび第3駆動軸12cの各々の回転軸線が平行であり、第2駆動軸12bおよび第3駆動軸12cの動作方向が同じであるため、第2駆動軸12bおよび第3駆動軸12cの慣性の干渉に基づいて、第2駆動軸12bの速度補償量が取得される。
【0073】
図8は、上記式(9)に基づく第2駆動軸12bの速度補償量の取得を例示している。
図8に示すように、補償対象の駆動軸12bに対する加速度センサ13bの傾きを補正すること、および、加速度センサ13bの検出結果に含まれる重力加速度成分を除去することを行った加速度センサ13bの検出結果A
fix_JT2,3が取得される。また、第2駆動軸12bの加速度指令A
FF_JT2が取得される。具体的には、加速度センサ13bの傾きの補正と同様に、アーム11の先端の加速度指令に対して、補償対象の駆動軸12b以外の駆動軸12d、12eおよび12fの座標変換を行うことにより、第2駆動軸12bの加速度指令A
FF_JT2が取得される。そして、加速度指令A
FF_JT2から検出結果A
fix_JT2,3が差分されることにより、(A
FF_JT2-A
fix_JT2,3)が取得される。
【0074】
また、第2駆動軸12b周りのイナーシャH11が取得される。また、第2駆動軸12bのばね定数Ks2が取得される。そして、イナーシャH11からばね定数Ks2が除算されることにより、H11/Ks2が取得される。また、H11/Ks2とアームばね定数Kaとが加算されることにより、(H11/Ks2+Ka)が取得される。そして、(H11/Ks2+Ka)と(AFF_JT2-Afix_JT2,3)とが乗算されることにより、(H11/Ks2+Ka)×(AFF_JT2-Afix_JT2,3)が取得される。
【0075】
また、第2駆動軸12bと第3駆動軸12cとの間の干渉イナーシャH12が取得される。また、第2駆動軸12bのばね定数Ks2が取得される。そして、干渉イナーシャH12からばね定数Ks2が除算されることにより、H12/Ks2が取得される。また、H12/Ks2とアームばね定数Kbとが加算されることにより、(H12/Ks2+Kb)が取得される。そして、(H12/Ks2+Kb)と(AFF_JT2-Afix_JT2,3)とが乗算されることにより、(H12/Ks2+Kb)×(AFF_JT2-Afix_JT2,3)が取得される。
【0076】
そして、(H11/Ks2+Ka)×(AFF_JT2-Afix_JT2,3)と、(H12/Ks2+Kb)×(H12/Ks2+Kb)×(AFF_JT2-Afix_JT2,3)とが加算されることにより、第2駆動軸12bの速度補償量Zv_JT2が取得される。速度補償量Zv_JT2は、所定のゲインが乗算されるとともに、電流指令に変換されて、モータ41bの電流指令にフィードバックされる。また、モータ41bの電流指令にフィードバックされる際には、速度補償量Zv_JT2から、ハイパスフィルタにより、ノイズやオフセットなどの低周波数成分が除去される。
【0077】
〈第3駆動軸の速度補償量の取得〉
第3駆動軸12cの位置補償量の取得について説明する。第2駆動軸12bおよび第3駆動軸12cの各々の回転軸線が平行であり、第2駆動軸12bおよび第3駆動軸12cの動作方向が同じであるため、第2駆動軸12bおよび第3駆動軸12cの慣性の干渉に基づいて、第3駆動軸12cの速度補償量が取得される。
【0078】
図9は、上記式(9)に基づく第3駆動軸12cの速度補償量の取得を例示している。
図9に示すように、補償対象の駆動軸12bに対する加速度センサ13bの傾きを補正すること、および、加速度センサ13bの検出結果に含まれる重力加速度成分を除去することを行った加速度センサ13bの検出結果A
fix_JT2,3が取得される。また、第3駆動軸12cの加速度指令A
FF_JT3が取得される。具体的には、加速度センサ13bの傾きの補正と同様に、アーム11の先端の加速度指令に対して、補償対象の駆動軸12c以外の駆動軸12d、12eおよび12fの座標変換を行うことにより、第3駆動軸12cの加速度指令A
FF_JT3が取得される。そして、加速度指令A
FF_JT3から検出結果A
fix_JT2,3が差分されることにより、(A
FF_JT3-A
fix_JT2,3)が取得される。
【0079】
また、第3駆動軸12c周りのイナーシャH22が取得される。また、第3駆動軸12cのばね定数Ks3が取得される。そして、イナーシャH22からばね定数Ks3が除算されることにより、H22/Ks3が取得される。また、H22/Ks3とアームばね定数Kdとが加算されることにより、(H22/Ks3+Kd)が取得される。そして、(H22/Ks3+Kd)と(AFF_JT3-Afix_JT2,3)とが乗算されることにより、(H22/Ks3+Kd)×(AFF_JT3-Afix_JT2,3)が取得される。
【0080】
また、第2駆動軸12bと第3駆動軸12cとの間の干渉イナーシャH12が取得される。また、第3駆動軸12bのばね定数Ks3が取得される。そして、干渉イナーシャH12からばね定数Ks3が除算されることにより、H12/Ks3が取得される。また、H12/Ks3とアームばね定数Kcとが加算されることにより、(H12/Ks3+Kc)が取得される。そして、(H12/Ks3+Kc)と(AFF_JT3-Afix_JT2,3)とが乗算されることにより、(H12/Ks3+Kc)×(AFF_JT3-Afix_JT2,3)が取得される。
【0081】
そして、(H22/Ks3+Kd)×(AFF_JT3-Afix_JT2,3)と、(H12/Ks3+Kc)×(AFF_JT3-Afix_JT2,3)とが加算されることにより、第3駆動軸12cの速度補償量Zv_JT3が取得される。速度補償量Zv_JT3は、所定のゲインが乗算されるとともに、電流指令に変換されて、モータ41bの電流指令にフィードバックされる。また、モータ41bの電流指令にフィードバックされる際には、速度補償量Zv_JT3から、ハイパスフィルタにより、ノイズやオフセットなどの低周波数成分が除去される。
【0082】
(位置補償量の取得に関する制御処理)
図10を参照して、本実施形態のロボット100による位置補償量の取得に関する制御処理をフローチャートに基づいて説明する。なお、フローチャートの各処理は、制御装置20により行われる。
【0083】
図10に示すように、ステップS1において、角速度センサ13aの検出結果が取得される。そして、ステップS2において、角速度センサ13aの検出結果が補正される。すなわち、補償対象の駆動軸に対する角速度センサ13aの傾きが補正される。また、補償対象以外の駆動軸の角速度成分が補正される。この際、補償対象の駆動軸が第1駆動軸12aである場合、第2駆動軸12bおよび第3駆動軸12cの角速度成分は影響しないため、必ずしも差分する必要はない。そして、ステップS3において、補正後の角速度センサ13aの検出結果と、補償対象の駆動軸の角速度指令とに基づいて、位置補償量が取得される。そして、ステップS4において、位置補償量が補償対象の駆動軸のモータの電流指令にフィードバックされる。
【0084】
(速度補償量の取得に関する制御処理)
図11を参照して、本実施形態のロボット100による速度補償量の取得に関する制御処理をフローチャートに基づいて説明する。なお、フローチャートの各処理は、制御装置20により行われる。
【0085】
図11に示すように、ステップS11において、加速度センサ13bの検出結果が取得される。そして、ステップS12において、加速度センサ13bの検出結果が補正される。すなわち、補償対象の駆動軸に対する加速度センサ13bの傾きが補正される。また、加速度センサ13bの検出結果に含まれる重力加速度成分が除去される。そして、ステップS13において、補正後の加速度センサ13bの検出結果と、補償対象の駆動軸の加速度指令とに基づいて、速度補償量が取得される。そして、ステップS14において、速度補償量が補償対象の駆動軸のモータの電流指令にフィードバックされる。
【0086】
(本実施形態の効果)
本実施形態では、上記のように、慣性センサ13の検出結果に対して振動の補償に関する補正を行い、補正した慣性センサ13の検出結果に基づいて、振動に関する補償量を取得する制御装置20を設ける。これにより、補正した慣性センサ13の検出結果に基づいて、補償量を精度よく取得することができる。その結果、補償の精度を向上させることができるので、振動を精度よく抑制することができる。
【0087】
また、本実施形態では、上記のように、補償対象の駆動軸に対する慣性センサ13の傾きを補正すること、および、慣性センサ13の検出結果に含まれる重力加速度成分を除去することの少なくとも一方を行った慣性センサ13の検出結果に基づいて、振動に関する補償量を取得する制御装置20を設ける。これにより、補償対象の駆動軸に対する慣性センサ13の傾きを補正する場合、ロボット本体10の姿勢に応じて変化する慣性センサ13の傾きを補正することができるので、補償量を精度よく取得することができる。また、慣性センサ13の検出結果に含まれる重力加速度成分を除去する場合、慣性センサ13の検出結果に不可避的に含まれる重力加速度成分を除去することができるので、補償量を精度よく取得することができる。その結果、補償の精度を向上させることができるので、振動を精度よく抑制することができる。
【0088】
また、本実施形態では、上記のように、制御装置20は、慣性センサ13と補償対象の駆動軸との間に存在する補償対象以外の駆動軸の傾きに基づいて慣性センサ13の検出結果を補正する。これにより、補償対象の駆動軸に対する慣性センサ13の傾きが、慣性センサ13と補償対象の駆動軸との間に存在する補償対象以外の駆動軸の傾きに対応していることを利用して、補償対象の駆動軸に対する慣性センサ13の傾きを容易にかつ精度よく補正することができるので、補償の精度を容易に向上させることができる。
【0089】
また、本実施形態では、上記のように、制御装置20は、慣性センサ13の検出結果に対して補償対象以外の駆動軸の座標変換を行う。これにより、座標変換を行うことにより、補償対象以外の駆動軸の傾きを補正できることを利用して、補償対象の駆動軸に対する慣性センサ13の傾きをより容易にかつ精度よく補正することができるので、補償の精度をより容易に向上させることができる。
【0090】
また、本実施形態では、上記のように、制御装置20は、複数の駆動軸12a、12b、12c、12d、12eおよび12fの座標変換行列に基づく回転行列に基づいて重力加速度成分を取得するとともに、取得した重力加速度成分を慣性センサ13の検出結果から差分する。これにより、慣性センサ13の検出結果に含まれる重力加速度成分を容易にかつ確実に除去することができるので、補償の精度を容易に向上させることができる。
【0091】
また、本実施形態では、上記のように、慣性センサ13は、角速度センサ13aと、加速度センサ13bと、を含み、制御装置20は、角速度センサ13aの検出結果に基づいて、補償量として位置補償量を取得し、加速度センサ13bの検出結果に基づいて、補償量として速度補償量を取得する。これにより、位置補償量および速度補償量の両方を考慮して、補償を行うことができるので、位置補償量および速度補償量のいずれか一方のみを考慮して、補償を行う場合に比べて、補償の精度を効果的に向上させることができる。
【0092】
また、本実施形態では、上記のように、制御装置20は、補償対象の駆動軸に対する角速度センサ13aの傾きを補正すること、および、角速度センサ13aと補償対象の駆動軸との間に存在する補償対象以外の駆動軸の角速度成分を補正することを行った角速度センサ13aの検出結果と、補償対象の駆動軸の角速度指令とに基づいて、位置補償量を取得する。これにより、位置補償量を容易にかつ精度よく取得することができるので、位置補償量による補償の精度を容易に向上させることができる。
【0093】
また、本実施形態では、上記のように、制御装置20は、補償対象の駆動軸に対する加速度センサ13bの傾きを補正すること、および、加速度センサ13bの検出結果に含まれる重力加速度成分を除去することを行った加速度センサ13bの検出結果と、補償対象の駆動軸の加速度指令とに基づいて、速度補償量を取得する。これにより、速度補償量を容易にかつ精度よく取得することができるので、速度補償量による補償の精度を容易に向上させることができる。
【0094】
また、本実施形態では、上記のように、複数の駆動軸12a、12b、12c、12d、12eおよび12fは、基端側からこの順に配置された第1駆動軸12a、第2駆動軸12bおよび第3駆動軸12cを含み、制御装置20は、第1駆動軸12a、第2駆動軸12bおよび第3駆動軸12cの3つの駆動軸について、補償量を取得する。これにより、振動を抑制する効果が大きい基端側の第1駆動軸12a、第2駆動軸12bおよび第3駆動軸12cについて、補償量を取得して補償することができるので、振動を効果的に抑制することができる。
【0095】
また、本実施形態では、上記のように、第2駆動軸12bの回転軸線A2と、第3駆動軸12cの回転軸線A3とは、互いに平行であり、制御装置20は、第2駆動軸12bおよび第3駆動軸12cの慣性の干渉に基づいて、第2駆動軸12bおよび第3駆動軸12cの各々の補償量を取得する。これにより、第2駆動軸12bの回転軸線と第3駆動軸12cの回転軸線とが互いに平行であるために、第2駆動軸12bおよび第3駆動軸12cの慣性の干渉が発生する場合にも、第2駆動軸12bおよび第3駆動軸12cの慣性の干渉を考慮して、第2駆動軸12bおよび第3駆動軸12cの各々の補償量を精度よく取得することができる。
【0096】
また、本実施形態では、上記のように、慣性センサ13は、補償対象の駆動軸よりもアーム11の先端側に配置されている。これにより、ワークを移動させることから振動が問題となるアーム11の先端により近い位置において、慣性センサ13による振動の検出を行うことができるので、慣性センサ13の検出結果に基づいて、振動に関する補償を容易に行うことができる。
【0097】
また、本実施形態では、上記のように、慣性センサ13は、アーム11の先端に配置されている。これにより、アーム11の先端により一層近い位置において、慣性センサ13による振動の検出を行うことができるので、慣性センサ13の検出結果に基づいて、振動に関する補償をより容易に行うことができる。
【0098】
また、本実施形態では、上記のように、ロボット本体10は、6軸の垂直多関節型である。これにより、6軸の垂直多関節型のロボット本体10において、補償の精度を向上させて、振動を精度よく抑制することができる。
【0099】
(変形例)
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味および範囲内でのすべての変更(変形例)が含まれる。
【0100】
たとえば、上記実施形態では、補償対象の駆動軸に対する慣性センサの傾きを補正すること、および、慣性センサの検出結果に含まれる重力加速度成分を除去することの両方を行う例を示したが、本開示はこれに限られない。本開示では、補償対象の駆動軸に対する慣性センサの傾きを補正すること、および、慣性センサの検出結果に含まれる重力加速度成分を除去することのいずれか一方のみを行ってもよい。また、補償対象の駆動軸に対する慣性センサの傾きを補正すること、および、慣性センサの検出結果に含まれる重力加速度成分を除去すること以外の振動の補償に関する補正を、慣性センサの検出結果に対して行ってもよい。
【0101】
また、上記実施形態では、慣性センサが、角速度センサと、加速度センサとを含む例を示したが、本開示はこれに限られない。本開示では、慣性センサが、角速度センサと、加速度センサとのいずれか一方のみを含んでいてもよい。
【0102】
また、上記実施形態では、慣性センサが、アームの先端に配置されている例を示したが、本開示はこれに限られない。本開示では、慣性センサが、アームの先端以外に配置されていてもよい。
【0103】
また、上記実施形態では、第1駆動軸、第2駆動軸および第3駆動軸について、補償量を取得する例を示したが、本開示はこれに限られない。本開示は、第1駆動軸、第2駆動軸および第3駆動軸のいずれか1つまたは2について、補償量を取得してもよい。また、第1駆動軸、第2駆動軸および第3駆動軸以外の駆動軸について、補償量を取得してもよい。
【0104】
また、上記実施形態では、ロボット本体が、6軸の垂直多関節型である例を示したが、本開示はこれに限られない。本開示では、ロボット本体が、6軸の垂直多関節型以外であってもよい。
【0105】
本明細書で開示する要素の機能は、開示された機能を実行するよう構成またはプログラムされた汎用プロセッサ、専用プロセッサ、集積回路、ASIC(Application Specific Integrated Circuits)、従来の回路、および/または、それらの組み合わせ、を含む回路または処理回路を使用して実行できる。プロセッサは、トランジスタやその他の回路を含むため、処理回路または回路と見なされる。本開示において、回路、ユニット、または手段は、列挙された機能を実行するハードウェアであるか、または、列挙された機能を実行するようにプログラムされたハードウェアである。ハードウェアは、本明細書に開示されているハードウェアであってもよいし、あるいは、列挙された機能を実行するようにプログラムまたは構成されているその他の既知のハードウェアであってもよい。ハードウェアが回路の一種と考えられるプロセッサである場合、回路、手段、またはユニットはハードウェアとソフトウェアの組み合わせであり、ソフトウェアはハードウェアおよび/またはプロセッサの構成に用いられる。
【0106】
[態様]
上記した例示的な実施形態は、以下の態様の具体例であることが当業者により理解される。
【0107】
(項目1)
複数のリンクを有するアームと、前記複数のリンクを駆動する複数の駆動軸と、前記アームに配置された慣性センサと、を含む、ロボット本体と、補償対象の前記駆動軸に対する前記慣性センサの傾きを補正すること、および、前記慣性センサの検出結果に含まれる重力加速度成分を除去することの少なくとも一方を行って得られた前記慣性センサの検出結果に基づいて、振動に関する補償量を取得する制御装置と、を備える、ロボット。
【0108】
(項目2)
前記制御装置は、前記慣性センサと補償対象の前記駆動軸との間に存在する補償対象以外の前記駆動軸の傾きに基づいて前記慣性センサの検出結果を補正する、項目1に記載のロボット。
【0109】
(項目3)
前記制御装置は、前記慣性センサの検出結果に対して補償対象以外の前記駆動軸の座標変換を行う、項目2に記載のロボット。
【0110】
(項目4)
前記制御装置は、前記複数の駆動軸の座標変換行列に基づく回転行列に基づいて重力加速度成分を取得するとともに、取得した重力加速度成分を前記慣性センサの検出結果から差分する、項目1から3のいずれか1項に記載のロボット。
【0111】
(項目5)
前記慣性センサは、角速度センサと、加速度センサと、を含み、
前記制御装置は、前記角速度センサの検出結果に基づいて、前記補償量として位置補償量を取得し、前記加速度センサの検出結果に基づいて、前記補償量として速度補償量を取得する、項目1から4のいずれか1項に記載のロボット。
【0112】
(項目6)
前記制御装置は、補償対象の前記駆動軸に対する前記角速度センサの傾きを補正すること、および、前記角速度センサと補償対象の前記駆動軸との間に存在する補償対象以外の前記駆動軸の角速度成分を補正することを行った前記角速度センサの検出結果と、補償対象の前記駆動軸の角速度指令とに基づいて、前記位置補償量を取得する、項目5に記載のロボット。
【0113】
(項目7)
前記制御装置は、補償対象の前記駆動軸に対する前記加速度センサの傾きを補正すること、および、前記加速度センサの検出結果に含まれる重力加速度成分を除去することを行った前記加速度センサの検出結果と、補償対象の前記駆動軸の加速度指令とに基づいて、前記速度補償量を取得する、項目5または6に記載のロボット。
【0114】
(項目8)
前記複数の駆動軸は、基端側からこの順に配置された第1駆動軸、第2駆動軸および第3駆動軸を含み、
前記制御装置は、前記第1駆動軸、前記第2駆動軸および前記第3駆動軸の3つの駆動軸について、前記補償量を取得する、項目1から7のいずれか1項に記載のロボット。
【0115】
(項目9)
前記第2駆動軸の回転軸線と、前記第3駆動軸の回転軸線とは、互いに平行であり、
前記制御装置は、前記第2駆動軸および前記第3駆動軸の慣性の干渉に基づいて、前記第2駆動軸および前記第3駆動軸の各々の前記補償量を取得する、項目8に記載のロボット。
【0116】
(項目10)
前記慣性センサは、補償対象の前記駆動軸よりも前記アームの先端側に配置されている、項目1から9のいずれか1項に記載のロボット。
【0117】
(項目11)
前記慣性センサは、前記アームの先端に配置されている、項目10に記載のロボット。
【0118】
(項目12)
前記ロボット本体は、6軸の垂直多関節型である、項目1から11のいずれか1項に記載のロボット。
【0119】
(項目13)
複数のリンクを有するアームと、前記複数のリンクを駆動する複数の駆動軸と、前記アームに配置された慣性センサと、を含む、ロボット本体と、
前記慣性センサの検出結果に対して振動の補償に関する補正を行い、補正した前記慣性センサの検出結果に基づいて、振動に関する補償量を取得する制御装置と、を備える、ロボット。
【符号の説明】
【0120】
10 ロボット本体
11 アーム
11a、11b、11c、11d、11e、11f リンク
12a 第1駆動軸(駆動軸)
12b 第2駆動軸(駆動軸)
12c 第3駆動軸(駆動軸)
12d 第4駆動軸(駆動軸)
12e 第5駆動軸(駆動軸)
12f 第6駆動軸(駆動軸)
13 慣性センサ
13a 角速度センサ
13b 加速度センサ
20 制御装置
100 ロボット
A2 第2駆動軸の回転軸線
A3 第3駆動軸の回転軸線