JP2018065232A - ロボット制御装置、ロボット、及びロボットシステム - Google Patents

ロボット制御装置、ロボット、及びロボットシステム Download PDF

Info

Publication number
JP2018065232A
JP2018065232A JP2016206618A JP2016206618A JP2018065232A JP 2018065232 A JP2018065232 A JP 2018065232A JP 2016206618 A JP2016206618 A JP 2016206618A JP 2016206618 A JP2016206618 A JP 2016206618A JP 2018065232 A JP2018065232 A JP 2018065232A
Authority
JP
Japan
Prior art keywords
torque
end effector
robot
moment
inertia
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
Application number
JP2016206618A
Other languages
English (en)
Inventor
工藤 真
Makoto Kudo
真 工藤
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2016206618A priority Critical patent/JP2018065232A/ja
Publication of JP2018065232A publication Critical patent/JP2018065232A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

【課題】エンドエフェクターの重量、エンドエフェクターのオフセット、及びエンドエフェクターの慣性モーメントの少なくとも1つを精度よく算出することができるロボット制御装置を提供すること。
【解決手段】エンドエフェクターを着脱可能な可動部を備えたロボットを制御するロボット制御装置であって、前記可動部に第1動作をさせる制御部を備え、前記制御部は、前記可動部に前記エンドエフェクターが設けられていない状態において、前記第1動作にて所定期間測定した第1トルクと、前記可動部に前記エンドエフェクターが設けられている状態において、前記第1動作にて前記所定期間測定した第2トルクとに基づいて、前記エンドエフェクターの重量、前記エンドエフェクターのオフセット、及び前記エンドエフェクターの慣性モーメントの少なくとも1つを算出する、ロボット制御装置。
【選択図】図3

Description

この発明は、ロボット制御装置、ロボット、及びロボットシステムに関する。
ロボットに取り付けられた物体に関する物理量を測定する技術の研究や開発が行われて
いる。
これに関し、ロボットに追加される負荷の重量及び重心位置を推定する装置であって、
ロボットの各軸に作用する重力トルク及び摩擦トルクを演算し、ロボットの各軸において
現実に生じているトルクから当該重力トルク及び当該摩擦トルクを減算することによりロ
ボットの各軸に作用する正味の外乱トルクを演算し、正味の外乱トルクをロボットの手先
力及び手先モーメントに変換し、当該負荷が追加される前にロボットの手先に生じている
第1の手先力推定値と、当該負荷が追加され微小量だけ持ち上げた後にロボットの手先に
生じている第2の手先力推定値との差分を計算することにより負荷の重量を推定し、更に
、当該負荷が追加される前にロボットの手先に生じている第1の手先モーメント推定値と
、当該負荷が追加され微小量だけ持ち上げた後にロボットの手先に生じている第2の手先
モーメント推定値との差分を計算することにより負荷の重心位置を推定するロボットの負
荷推定装置が知られている(特許文献1参照)。
特開2011−235374号公報
しかしながら、ロボットの手先に繋げる配線や配管、当該手先を制御する制御装置等の
当該手先と異なる物体がロボットに取り付けられている場合、このような負荷推定装置で
は、当該手先によって生じる負荷の重量等の当該手先に関する物理量を精度よく算出する
ことができない場合があった。
上記課題の少なくとも一つを解決するために本発明の一態様は、エンドエフェクターを
着脱可能な可動部を備えたロボットを制御するロボット制御装置であって、前記可動部に
第1動作をさせる制御部を備え、前記制御部は、前記可動部に前記エンドエフェクターが
設けられていない状態において、前記第1動作にて所定期間測定した第1トルクと、前記
可動部に前記エンドエフェクターが設けられている状態において、前記第1動作にて前記
所定期間測定した第2トルクとに基づいて、前記エンドエフェクターの重量、前記エンド
エフェクターのオフセット、及び前記エンドエフェクターの慣性モーメントの少なくとも
1つを算出する、ロボット制御装置である。
この構成により、ロボット制御装置は、可動部にエンドエフェクターが設けられていな
い状態において、第1動作にて所定期間測定した第1トルクと、可動部にエンドエフェク
ターが設けられている状態において、第1動作にて所定期間測定した第2トルクとに基づ
いて、エンドエフェクターの重量、エンドエフェクターのオフセット、及びエンドエフェ
クターの慣性モーメントの少なくとも1つを算出する。これにより、ロボット制御装置は
、エンドエフェクターの重量、エンドエフェクターのオフセット、及びエンドエフェクタ
ーの慣性モーメントの少なくとも1つを精度よく算出することができる。
また、本発明の他の態様は、ロボット制御装置において、前記可動部には、前記エンド
エフェクターに接続可能、且つ、前記第1動作によって移動する物体が設けられている、
構成が用いられてもよい。
この構成により、ロボット制御装置は、エンドエフェクターに接続可能、且つ、第1動
作によって移動する物体が設けられている可動部にエンドエフェクターが設けられていな
い状態において、第1動作にて所定期間測定した第1トルクと、当該可動部にエンドエフ
ェクターが設けられている状態において、第1動作にて所定期間測定した第2トルクとに
基づいて、エンドエフェクターの重量、エンドエフェクターのオフセット、及びエンドエ
フェクターの慣性モーメントの少なくとも1つを算出する。これにより、ロボット制御装
置は、エンドエフェクターに接続可能、且つ、第1動作によって移動する物体が可動部に
設けられている状態において、エンドエフェクターの重量、エンドエフェクターのオフセ
ット、及びエンドエフェクターの慣性モーメントの少なくとも1つを精度よく算出するこ
とができる。
また、本発明の他の態様は、ロボット制御装置において、前記物体は、力検出器とは異
なる、構成が用いられてもよい。
この構成により、ロボット制御装置は、力検出器とは異なる物体が設けられている可動
部にエンドエフェクターが設けられていない状態において、第1動作にて所定期間測定し
た第1トルクと、当該可動部にエンドエフェクターが設けられている状態において、第1
動作にて所定期間測定した第2トルクとに基づいて、エンドエフェクターの重量、エンド
エフェクターのオフセット、及びエンドエフェクターの慣性モーメントの少なくとも1つ
を算出する。これにより、ロボット制御装置は、力検出器とは異なる物体が可動部に設け
られている状態において、エンドエフェクターの重量、エンドエフェクターのオフセット
、及びエンドエフェクターの慣性モーメントの少なくとも1つを精度よく算出することが
できる。
また、本発明の他の態様は、ロボット制御装置において、前記第1動作は、第1方向に
前記可動部を第1角度回動させる動作と、前記第1方向とは逆方向である第2方向に前記
可動部を前記第1角度回動させる動作とを含み、前記制御部は、前記重量、前記オフセッ
トの少なくとも1つを算出する、構成が用いられてもよい。
この構成により、ロボット制御装置は、可動部にエンドエフェクターが設けられていな
い状態において、第1方向に可動部を第1角度回動させる動作と第1方向とは逆方向であ
る第2方向に可動部を第1角度回動させる動作とを含む第1動作にて所定期間測定した第
1トルクと、当該可動部にエンドエフェクターが設けられている状態において、当該第1
動作にて所定期間測定した第2トルクとに基づいて、エンドエフェクターの重量、エンド
エフェクターのオフセット、及びエンドエフェクターの慣性モーメントの少なくとも1つ
を算出する。これにより、ロボット制御装置は、第1方向に可動部を第1角度回動させる
動作と第2方向に可動部を第1角度回動させる動作とを含む第1動作をロボットに行わせ
ることによって、エンドエフェクターの重量、エンドエフェクターのオフセット、及びエ
ンドエフェクターの慣性モーメントの少なくとも1つを精度よく算出することができる。
また、本発明の他の態様は、ロボット制御装置において、前記制御部は、前記所定期間
のうち前記可動部を回動させるモーターが1回転する場合に前記可動部が回動する角度の
整数倍によって表される期間における前記第1トルク及び前記第2トルクに基づいて、前
記重量、前記オフセットの少なくとも1つを算出する、構成が用いられてもよい。
この構成により、ロボット制御装置は、所定期間のうち可動部を回動させるモーターが
1回転する場合に可動部が回動する角度の整数倍によって表される期間における第1トル
ク及び第2トルクに基づいて、エンドエフェクターの重量、エンドエフェクターのオフセ
ットの少なくとも1つを算出する。これにより、ロボット制御装置は、モーターが1回転
する間に生じるトルクの変動による誤差を抑制することができ、その結果、エンドエフェ
クターの重量、エンドエフェクターのオフセットの少なくとも1つを精度よく算出するこ
とができる。
また、本発明の他の態様は、ロボット制御装置において、前記第1動作は、前記可動部
を30°以上回動させる動作を含み、前記制御部は、前記慣性モーメントを算出する、構
成が用いられてもよい。
この構成により、ロボット制御装置は、可動部にエンドエフェクターが設けられていな
い状態において、可動部を30°以上回動させる動作を含む第1動作にて所定期間測定し
た第1トルクと、可動部にエンドエフェクターが設けられている状態において、当該第1
動作にて所定期間測定した第2トルクとに基づいて、エンドエフェクターの慣性モーメン
トを算出する。これにより、ロボット制御装置は、可動部を30°以上回動させる動作を
含む第1動作によって、エンドエフェクターの慣性モーメントを精度よく算出することが
できる。
また、本発明の他の態様は、ロボット制御装置において、前記第1動作は、前記可動部
を180°以上回動させる動作を含み、前記制御部は、前記慣性モーメントを算出する、
構成が用いられてもよい。
この構成により、ロボット制御装置は、可動部にエンドエフェクターが設けられていな
い状態において、可動部を180°以上回動させる動作を含む第1動作にて所定期間測定
した第1トルクと、可動部にエンドエフェクターが設けられている状態において、当該第
1動作にて所定期間測定した第2トルクとに基づいて、エンドエフェクターの慣性モーメ
ントを算出する。これにより、ロボット制御装置は、可動部を180°以上回動させる動
作を含む第1動作によって、エンドエフェクターの慣性モーメントを精度よく算出するこ
とができる。
また、本発明の他の態様は、ロボット制御装置において、前記制御部は、算出した前記
慣性モーメントに基づいて、前記重量、前記オフセットの少なくとも1つを算出する、構
成が用いられてもよい。
この構成により、ロボット制御装置は、算出したエンドエフェクターの慣性モーメント
に基づいて、エンドエフェクターの重量、エンドエフェクターのオフセットの少なくとも
1つを算出する。これにより、ロボット制御装置は、算出したエンドエフェクターの慣性
モーメントに基づいて、エンドエフェクターの重量、エンドエフェクターのオフセットの
少なくとも1つを精度よく算出することができる。
また、本発明の他の態様は、ロボット制御装置において、前記制御部は、前記第1トル
クの一部と前記第2トルクの一部に基づいて、前記重量、前記オフセット、及び前記慣性
モーメントの少なくとも1つを算出する、構成が用いられてもよい。
この構成により、ロボット制御装置は、第1トルクの一部と第2トルクの一部に基づい
て、エンドエフェクターの重量、エンドエフェクターのオフセット、及びエンドエフェク
ターの慣性モーメントの少なくとも1つを算出する。これにより、ロボット制御装置は、
第1トルクの一部と第2トルクの一部に基づいて、エンドエフェクターの重量、エンドエ
フェクターのオフセットの少なくとも1つを精度よく算出することができる。
また、本発明の他の態様は、ロボット制御装置において、前記制御部は、前記第1トル
クと前記第2トルクとの差に基づいて、前記重量、前記オフセット、及び前記慣性モーメ
ントの少なくとも1つを算出する、構成が用いられてもよい。
この構成により、ロボット制御装置は、第1トルクと第2トルクとの差に基づいて、エ
ンドエフェクターの重量、エンドエフェクターのオフセット、及びエンドエフェクターの
慣性モーメントの少なくとも1つを算出する。これにより、ロボット制御装置は、第1ト
ルクと第2トルクとの差に基づいて、エンドエフェクターの重量、エンドエフェクターの
オフセットの少なくとも1つを精度よく算出することができる。
また、本発明の他の態様は、ロボット制御装置において、前記制御部は、前記重量、前
記オフセット、及び前記慣性モーメントの少なくとも1つを表示部に表示させる、構成が
用いられてもよい。
この構成により、ロボット制御装置は、エンドエフェクターの重量、エンドエフェクタ
ーのオフセット、及びエンドエフェクターの慣性モーメントの少なくとも1つを表示部に
表示させる。これにより、ロボット制御装置は、エンドエフェクターの重量、エンドエフ
ェクターのオフセット、及びエンドエフェクターの慣性モーメントの少なくとも1つをユ
ーザーに確認させることができる。
また、本発明の他の態様は、ロボット制御装置において、前記可動部は、前記可動部を
屈曲させる2以上の回動軸を有し、前記制御部は、前記2以上の回動軸それぞれの周りの
前記第1トルク及び前記第2トルクに基づいて、前記重量、前記オフセット、及び前記慣
性モーメントの少なくとも1つを算出する、構成が用いられてもよい。
この構成により、ロボット制御装置は、可動部を屈曲させる2以上の回動軸を有する可
動部にエンドエフェクターが設けられていない状態において、第1動作にて所定期間測定
した第1トルクであって当該回動軸それぞれの周りの第1トルクと、当該可動部にエンド
エフェクターが設けられている状態において、第1動作にて所定期間測定した第2トルク
であって当該回動軸それぞれの周りの第2トルクとに基づいて、エンドエフェクターの重
量、エンドエフェクターのオフセット、及びエンドエフェクターの慣性モーメントの少な
くとも1つを算出する。これにより、ロボット制御装置は、可動部を屈曲させる2以上の
回動軸を有する可動部に第1動作を行わせることによって、エンドエフェクターの重量、
エンドエフェクターのオフセット、及びエンドエフェクターの慣性モーメントの少なくと
も1つを精度よく算出することができる。
また、本発明の他の態様は、上記に記載のロボット制御装置によって制御される、ロボ
ットである。
この構成により、ロボットでは、可動部にエンドエフェクターが設けられていない状態
において、第1動作にて所定期間測定された第1トルクと、可動部にエンドエフェクター
が設けられている状態において、第1動作にて所定期間測定された第2トルクとに基づい
て、エンドエフェクターの重量、エンドエフェクターのオフセット、及びエンドエフェク
ターの慣性モーメントの少なくとも1つが算出される。これにより、ロボットは、エンド
エフェクターの重量、エンドエフェクターのオフセット、及びエンドエフェクターの慣性
モーメントの少なくとも1つが算出された結果に基づいて、所定の作業を精度よく行うこ
とができる。
また、本発明の他の態様は、上記に記載のロボット制御装置と、前記ロボット制御装置
に制御されるロボットと、を備えるロボットシステムである。
この構成により、ロボットシステムは、可動部にエンドエフェクターが設けられていな
い状態において、第1動作にて所定期間測定した第1トルクと、可動部にエンドエフェク
ターが設けられている状態において、第1動作にて所定期間測定した第2トルクとに基づ
いて、エンドエフェクターの重量、エンドエフェクターのオフセット、及びエンドエフェ
クターの慣性モーメントの少なくとも1つを算出する。これにより、ロボットシステムは
、エンドエフェクターの重量、エンドエフェクターのオフセット、及びエンドエフェクタ
ーの慣性モーメントの少なくとも1つを精度よく算出することができる。
以上により、ロボット制御装置、及びロボットシステムは、可動部にエンドエフェクタ
ーが設けられていない状態において、第1動作にて所定期間測定した第1トルクと、可動
部にエンドエフェクターが設けられている状態において、第1動作にて所定期間測定した
第2トルクとに基づいて、エンドエフェクターの重量、エンドエフェクターのオフセット
、及びエンドエフェクターの慣性モーメントの少なくとも1つを算出する。これにより、
ロボット制御装置、及びロボットシステムは、エンドエフェクターの重量、エンドエフェ
クターのオフセット、及びエンドエフェクターの慣性モーメントの少なくとも1つを精度
よく算出することができる。
また、ロボットでは、可動部にエンドエフェクターが設けられていない状態において、
第1動作にて所定期間測定された第1トルクと、可動部にエンドエフェクターが設けられ
ている状態において、第1動作にて所定期間測定された第2トルクとに基づいて、エンド
エフェクターの重量、エンドエフェクターのオフセット、及びエンドエフェクターの慣性
モーメントの少なくとも1つが算出される。これにより、ロボットでは、エンドエフェク
ターの重量、エンドエフェクターのオフセット、及びエンドエフェクターの慣性モーメン
トの少なくとも1つが算出された結果に基づいて、所定の作業を精度よく行うことができ
る。
実施形態に係るロボットシステム1の構成の一例を示す図である。 ロボット制御装置30のハードウェア構成の一例を示す図である。 ロボット制御装置30の機能構成の一例を示す図である。 ロボット制御装置30が行う処理の具体例1の流れを示すフローチャートである。 可動部Aの姿勢が第1姿勢と一致している状態におけるロボット20の一例を示す図である。 ステップS150〜ステップS170の繰り返し処理において算出されたトルクの時間的変化を表すグラフの一例を示す図である。 ステップS180の処理を説明するための図である。 ロボット制御装置30が行う処理の具体例2の流れを示すフローチャートである。 可動部Aの姿勢が第2姿勢と一致している状態におけるロボット20の一例を示す図である。 ステップS240〜ステップS260の繰り返し処理において算出されたトルクの時間的変化を表すグラフの一例を示す図である。 対象トルクに基づいて粘性トルクを算出する方法を説明するための図である。 図10に示したグラフにおいて曲線FC3に初動粘性トルクカットを行った後のグラフの一例を示す図である。 ステップS285において算出部63が算出したエンドエフェクターEの慣性モーメントの精度を示すグラフの一例を示す図である。 ロボット制御装置30が行う処理の具体例3におけるエンドエフェクターEの一例を示す図である。 ロボット制御装置30が行う処理の具体例3の流れを示すフローチャートである。 このような第32トルクの時間的変化と、第31トルクの時間的変化とを表すグラフの一例を示す図である。 動作中心方向を変化させた場合における変化であって、図15に示したフローチャートの処理によって算出部63が算出したエンドエフェクターE1の慣性モーメントの変化を表すグラフの一例を示す図である。 ロボット制御装置30が行う処理の具体例4の流れを示すフローチャートである。 第31トルクの時間的変化と、粘性トルクの時間的変化と、加減速トルクの時間的変化とのそれぞれを表すグラフの一例を示す図である。 第31トルクの時間的変化と、粘性トルクの時間的変化と、加減速トルクの時間的変化とのそれぞれを表すグラフの一例を示す図である。 ステップS440において算出部63が算出したエンドエフェクターE1の重量の精度を示すグラフの一例を示す図である。 ステップS440において算出部63が算出したエンドエフェクターE1のオフセットの精度を示すグラフの一例を示す図である。 ロボット制御装置30が行う処理の具体例5の流れを示すフローチャートである。 ロボット制御装置30が行う処理の具体例2において説明した方法におけるステップS240〜ステップS260の繰り返し処理において算出された第51加減速トルクの時間的変化を表すグラフの一例を示す図である。 ロボット制御装置30が行う処理の具体例2において説明した方法におけるステップS240〜ステップS260の繰り返し処理において算出された第52加減速トルクの時間的変化を表すグラフの一例を示す図である。 ロボット制御装置30が行う処理の具体例2において説明した方法におけるステップS240〜ステップS260の繰り返し処理において算出された第52加減速トルクの時間的変化を表すグラフの他の例を示す図である。 図24〜図26のそれぞれに示した第51トルクと第52トルクとのそれぞれに基づいて算出された加減速トルクの時間的変化を表すグラフの一例を示す図である。
<実施形態>
以下、本発明の実施形態について、図面を参照して説明する。
<ロボットシステムの構成>
まず、ロボットシステム1の構成について説明する。
図1は、実施形態に係るロボットシステム1の構成の一例を示す図である。ロボットシ
ステム1は、ロボット20と、ロボット制御装置30を備える。
ロボット20は、可動部Aと、可動部Aを支持する支持台Bを備える単腕ロボットであ
る。単腕ロボットは、この一例における可動部Aのような1本の腕を備えるロボットであ
る。なお、ロボット20は、単腕ロボットに代えて、複腕ロボットであってもよい。複腕
ロボットは、2本以上の可動部(例えば、2本以上の可動部A)を備えるロボットである
。なお、複腕ロボットのうち、2本の可動部を備えるロボットは、双腕ロボットとも称さ
れる。すなわち、ロボット20は、2本の可動部を備える双腕ロボットであってもよく、
3本以上の可動部(例えば、3本以上の可動部A)を備える複腕ロボットであってもよい
。また、ロボット20は、スカラロボット等の他のロボットであってもよい。
支持台Bは、設置面に設置されている。設置面は、この一例において、床面である。な
お、設置面は、床面に代えて、テーブル等の台の上面や、棚の天板の上面、壁面、天井面
等の他の面であってもよい。
可動部Aは、エンドエフェクターEと、マニピュレーターMを備える。
エンドエフェクターEは、この一例において、直方体形状の第1部位EB1と、第1部
位EB1の長手方向における2つの端部のうちの一方に設けられた円盤形状の第2部位E
B2と、当該端部のうちの他方に設けられた円盤形状の第3部位EB3とによって構成さ
れたエンドエフェクターである。なお、エンドエフェクターEは、他の形状であってもよ
い。また、第2部位EB2と第3部位EB3とは、互いに同じ形であってもよく、互いに
異なる形であってもよい。また、第2部位EB2と第3部位EB3とは、互いに同じ重量
であってもよく、互いに異なる重量であってもよい。また、第2部位EB2と第3部位E
B3とは、互いに同じ大きさであってもよく、互いに異なる大きさであってもよい。以下
では、一例として、第2部位EB2と第3部位EB3とが互いに同じ形状、重量、大きさ
である場合について説明する。なお、エンドエフェクターEは、これに代えて、物体を把
持可能な指部を有するエンドエフェクターであってもよく、空気の吸引や磁力、治具等に
よって物体を持ち上げることが可能なエンドエフェクターや、他のエンドエフェクターで
あってもよい。
エンドエフェクターEは、マニピュレーターMが備えるフランジF1に取り付けられる
。フランジF1は、エンドエフェクターEを取り付けるためのフランジである。この一例
において、フランジF1には、図1に示すように、エンドエフェクターEの第1部位EB
1の長手方向における中央部分が取り付けられている。この一例において、エンドエフェ
クターEは、可動する部位を有さない。このため、エンドエフェクターEは、ロボット制
御装置30による制御によって動作しない。なお、エンドエフェクターEがロボット制御
装置30による制御によって動作可能である場合、エンドエフェクターEは、ケーブルに
よってロボット制御装置30と通信可能に接続される。これにより、当該場合におけるエ
ンドエフェクターEは、ロボット制御装置30から取得される制御信号に基づく動作を行
う。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB(
Universal Serial Bus)等の規格によって行われる。また、当該場合におけるエンドエ
フェクターEは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって
ロボット制御装置30と接続される構成であってもよい。なお、エンドエフェクターEは
、エンドエフェクターEに加えられた力やモーメントを検出する力検出器を備える構成で
あってもよい。力検出器は、例えば、力センサーやトルクセンサー等である。
マニピュレーターMは、関節J1〜関節J6の6つの関節と、これらの各関節間のそれ
ぞれを繋ぐ部材(可動部部材)を備える。また、当該6つの関節のそれぞれは、図示しな
いアクチュエーターを備える。これらのアクチュエーターのそれぞれは、アクチュエータ
ーのそれぞれが備えられた関節の回動軸を回動させる。すなわち、マニピュレーターMを
備える可動部Aは、6軸垂直多関節型のアームである。可動部Aは、支持台Bと、エンド
エフェクターEと、マニピュレーターMと、マニピュレーターMが備える6つの関節それ
ぞれのアクチュエーターとによる連携した動作によって6軸の自由度の動作を行う。なお
、可動部Aは、5軸以下の自由度で動作する構成であってもよく、7軸以上の自由度で動
作する構成であってもよい。なお、マニピュレーターMが備える6つの関節それぞれのア
クチュエーターは、モーターの一例である。
ここで、この一例において、第6回動軸の端部のうち関節J5と関節J6とを繋ぐ部材
が設けられた端部と逆の端部には、前述のフランジF1が設けられる部材が設けられてい
る。第6回動軸は、関節J6の回動軸のことである。このため、第6回動軸が回動した場
合、フランジF1は、当該部材を介して第6回動軸の回動とともに回動する。また、この
一例において、フランジF1は、中心軸と、第6回動軸とが一致するように当該部材に設
けられている。このため、エンドエフェクターEは、第6回動軸が回動した場合、第6回
動軸の回動とともに回動する。当該中心軸は、エンドエフェクターEの取付面の中心を通
る軸であって当該取付面に直交する軸である。当該取付面は、フランジF1が有する面の
うちのエンドエフェクターEが取り付けられる面のことである。
また、マニピュレーターMは、ユーザーが所望する物体を取り付けることが可能なフラ
ンジであるフランジF2を有する。当該物体は、エンドエフェクターEに電気的に接続可
能な物体であり、前述の力検出器とは異なる物体である。ここで、以下では、説明の便宜
上、支持台Bが設置された設置面と平行な方向であって関節J1の重心から関節J2の重
心に近づく方向を前方向と称して説明する。この一例において、フランジF2は、図1に
示したように、関節J3の重心から関節J5の重心に向かう方向が前方向と一致している
場合における関節J3と関節J4とを繋ぐ部材が有する面のうち上方向の面に設けられて
いる。当該上方向は、設置面に直交する方向であって支持台Bから関節J1に近づく方向
である。なお、フランジF2は、当該面に代えて、マニピュレーターMの他の部位に設け
られる構成であってもよい。
フランジF2に取り付けられる物体は、例えば、エンドエフェクターEを制御するため
の図示しない制御装置Xである。エンドエフェクターEがロボット制御装置30による制
御によって動作することが可能な場合、制御装置Xは、ロボット制御装置30からの制御
信号に基づいて、エンドエフェクターEを動作させる。このため、制御装置Xは、フラン
ジF2に取り付けられている場合、ケーブルによってエンドエフェクターE及びロボット
制御装置30のそれぞれと通信可能に接続される。なお、ケーブルを介した有線通信は、
例えば、イーサネット(登録商標)やUSB等の規格によって行われる。また、制御装置
Xは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってエンドエフ
ェクターEとロボット制御装置30との少なくとも一方と接続される構成であってもよい
。なお、フランジF2に取り付けられる物体は、制御装置Xに代えて、他の物体であって
もよい。以下では、一例として、フランジF2に取り付けられる物体が制御装置Xである
場合について説明する。
マニピュレーターMが備える6つの(関節に備えられた)アクチュエーターはそれぞれ
、ケーブルによってロボット制御装置30と通信可能に接続されている。これにより、当
該アクチュエーターは、ロボット制御装置30から取得される制御信号に基づいて、マニ
ピュレーターMを動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネッ
ト(登録商標)やUSB等の規格によって行われる。また、マニピュレーターMが備える
6つのアクチュエーターのうちの一部又は全部は、Wi−Fi(登録商標)等の通信規格
により行われる無線通信によってロボット制御装置30と接続される構成であってもよい
ロボット制御装置30は、この一例において、ロボット20を制御するコントローラー
である。ロボット制御装置30は、予め記憶された動作プログラムに基づいてロボット2
0を動作させる。この一例において、ロボット制御装置30は、動作プログラムに基づい
てロボット20に所定の動作を行わせ、エンドエフェクターの重量(重さ)、エンドエフ
ェクターのオフセット、エンドエフェクターの慣性モーメントの少なくとも1つを算出す
る。これにより、ロボット制御装置30は、エンドエフェクターの重量、エンドエフェク
ターのオフセット、及びエンドエフェクターの慣性モーメントの少なくとも1つを精度よ
く算出することができる。
エンドエフェクターEのオフセットは、この一例において、第6回動軸に沿った方向の
距離であってエンドエフェクターEの取付面からエンドエフェクターEの重心までの距離
である。なお、エンドエフェクターEのオフセットは、これに代えて、エンドエフェクタ
ーEの重心の位置であってマニピュレーターMの予め決められた位置からの相対的な位置
を示す距離であれば如何なる距離であってもよい。
以下では、ロボット20が行う所定の動作と、ロボット制御装置30が、エンドエフェ
クターの重量、エンドエフェクターのオフセット、及びエンドエフェクターの慣性モーメ
ントの少なくとも1つを算出する処理の具体例とについて詳しく説明する。
<ロボット制御装置のハードウェア構成>
以下、図2を参照し、ロボット制御装置30のハードウェア構成について説明する。図
2は、ロボット制御装置30のハードウェア構成の一例を示す図である。
ロボット制御装置30は、例えば、CPU(Central Processing Unit)31と、記
憶部32と、入力受付部33と、通信部34と、表示部35を備える。これらの構成要素
は、バスBusを介して相互に通信可能に接続されている。また、ロボット制御装置30
は、通信部34を介してロボット20と通信を行う。また、ロボット制御装置30は、制
御装置Xと通信可能に接続されている場合、通信部34を介して制御装置Xと通信を行う
CPU31は、記憶部32に格納された各種プログラムを実行する。
記憶部32は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive
)、EEPROM(Electrically Erasable Programmable Read−Only Memory)、R
OM(Read−Only Memory)、RAM(Random Access Memory)等を含む。なお、記憶
部32は、ロボット制御装置30に内蔵されるものに代えて、USB等のデジタル入出力
ポート等によって接続された外付け型の記憶装置であってもよい。記憶部32は、ロボッ
ト制御装置30が処理する各種情報や画像、前述の動作プログラムを含む各種のプログラ
ム等を格納する。
入力受付部33は、例えば、キーボードやマウス、タッチパッド、その他の入力装置で
ある。なお、入力受付部33は、表示部35と一体に構成されたタッチパネルであっても
よい。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)
ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLumin
escence)ディスプレイパネルである。
<ロボット制御装置の機能構成>
以下、図3を参照し、ロボット制御装置30の機能構成について説明する。図3は、ロ
ボット制御装置30の機能構成の一例を示す図である。なお、図3では、前述の制御装置
Xを省略している。
ロボット制御装置30は、記憶部32と、入力受付部33と、表示部35と、制御部3
6を備える。
制御部36は、ロボット制御装置30の全体を制御する。制御部36は、表示制御部6
1と、算出部63と、ロボット制御部65を備える。制御部36が備えるこれらの機能部
は、例えば、CPU31が、記憶部32に記憶された各種プログラムを実行することによ
り実現される。また、当該機能部のうちの一部又は全部は、LSI(Large Scale Inte
gration)やASIC(Application Specific Integrated Circuit)等のハードウェ
ア機能部であってもよい。
表示制御部61は、ユーザーから受け付けた操作に基づいて、ユーザーからの操作を受
け付ける操作画面を含む各種の画面を生成する。表示制御部61は、生成した各種の画面
を表示部35に表示させる。
算出部63は、ロボット20が備える6つのアクチュエーター毎に、アクチュエーター
を駆動する駆動電流を検出する。あるアクチュエーターを駆動する駆動電流を検出した場
合、算出部63は、検出した当該駆動電流に基づいて、当該アクチュエーターのトルクを
算出(測定)する。当該アクチュエーターのトルクは、この一例において、当該アクチュ
エーターを備えた関節のトルクのことであり、当該関節の回動軸を回動させるために当該
アクチュエーターが当該回動軸に加えたトルクのことである。算出部63は、算出したト
ルクに基づいて、エンドエフェクターEの重量、エンドエフェクターEのオフセット、エ
ンドエフェクターEの慣性モーメントの少なくとも1つを算出する。
なお、ロボット20が備える6つのアクチュエーターのうちの一部又は全部は、トルク
センサーが備えられる構成であってもよい。トルクセンサーは、トルクセンサーを備えた
アクチュエーターのトルクを検出するセンサーのことである。この場合、制御部36は、
各トルクセンサーが検出したトルクを示すトルク情報を各トルクセンサーから取得するト
ルク情報取得部を備える。そして、算出部63は、トルク情報取得部が取得したトルク情
報が示すトルクに基づいて、エンドエフェクターEの重量、エンドエフェクターEのオフ
セット、エンドエフェクターEの慣性モーメントの少なくとも1つを算出する。
ロボット制御部65は、記憶部32に予め記憶された動作プログラムに基づいてロボッ
ト20を動作させる。
<ロボット制御装置が行う処理の具体例1>
以下、図4〜図7を参照し、ロボット制御装置30が行う処理の具体例1について説明
する。当該具体例1では、ロボット制御装置30は、ロボット20に前述の所定の動作と
して第1所定動作を行わせ、ロボット20が備えるエンドエフェクターEの重量、エンド
エフェクターEのオフセットのそれぞれを算出する。図4は、ロボット制御装置30が行
う処理の具体例1の流れを示すフローチャートである。
制御部36が備える各機能部は、エンドエフェクターEの取り付け状態が、ユーザーに
よって第1状態と第2状態とのいずれかと一致させられる毎に、ステップS120〜ステ
ップS173の処理を繰り返し行う(ステップS110)。エンドエフェクターEの取り
付け状態は、この一例において、フランジF1にエンドエフェクターEが取り付けられて
いるか否かと、フランジF2に制御装置Xが取り付けられているか否かとのそれぞれの組
み合わせによって表される状態のことである。第1状態は、この一例において、フランジ
F1に何も取り付けられていない状態であり、且つ、フランジF2に前述の制御装置Xが
取り付けられている状態のことである。第2状態は、フランジF1にエンドエフェクター
Eが取り付けられている状態であり、且つ、フランジF2に制御装置Xが取り付けられて
いる状態のことである。
ここで、ステップS110において、制御部36が備える各機能部は、ユーザーがエン
ドエフェクターEの取り付け状態を第1状態と第2状態とのいずれかに一致させるまで待
機する。例えば、当該各機能部は、ステップS110において、ユーザーがエンドエフェ
クターEの取り付け状態を第1状態と第2状態とのいずれかに一致させる作業が終了した
ことを示す操作をユーザーから受け付ける毎に、ステップS120〜ステップS173の
処理を繰り返し行う。
ステップS110の処理が行われた後、ロボット制御部65は、記憶部32に予め記憶
された第1動作プログラムに基づいてロボット20を動作させ、可動部Aの姿勢を所定の
第1姿勢と一致させる(ステップS120)。可動部Aの姿勢は、この一例において、可
動部Aが備える関節J1〜関節J6それぞれの回動角の組み合わせによって表される。第
1姿勢は、この一例において、図5に示した可動部Aの姿勢である。
図5は、可動部Aの姿勢が第1姿勢と一致している状態におけるロボット20の一例を
示す図である。また、図5は、右方向から可動部Aを見た場合におけるロボット20の側
面図である。右方向は、この一例において、前方向からロボット20を見た場合において
ロボット20の右側に向かう方向であって第3回動軸に沿った方向のことである。第3回
動軸は、可動部Aが備える関節J3の回動軸のことである。なお、図5には、フランジF
2に何も取り付けられていない状態におけるロボット20が示されている。
図5に示したように、第1姿勢は、この一例では、右方向から可動部Aを見た場合にお
いて第4回動軸と第6回動軸とが重なる姿勢であって、第4回動軸及び第6回動軸に沿っ
た方向が、支持台Bが設置された設置面と平行になる姿勢である。第4回動軸は、関節J
4の回動軸のことである。なお、第1姿勢では、関節J1及び関節J2の回動角は、第1
所定動作によって関節J3及び関節J5を回動させた場合にエンドエフェクターEが、当
該設置面を含む他の物体(ロボット20の他の部位を含む)と干渉(接触)しない回動角
のうち、右方向から可動部Aを見た場合において第4回動軸と第6回動軸とが重なること
が可能な回動角であれば如何なる回動角であってもよい。なお、図5に示した丸印Gは、
エンドエフェクターEの重心の位置を示している。
ステップS120の処理が行われた後、ロボット制御部65は、可動部Aが備える6つ
の関節の中からユーザーにより予め決められた2つ以上の関節である対象関節のそれぞれ
毎に、ステップS140〜ステップS173の処理を繰り返し行う(ステップS130)
。ここで、対象関節は、可動部Aが備える6つの関節のうちの可動部Aを屈曲させる2つ
以上の関節(曲げ関節)の中からユーザーにより予め決められる。この一例において可動
部Aを屈曲させる関節は、関節J2、関節J3、関節J5の3つの関節である。以下では
、一例として、関節J3及び関節J5のそれぞれが対象関節としてユーザーにより予め決
められた場合について説明する。
ステップS130の処理が行われた後、ロボット制御部65は、ステップS130にお
いて選択された対象関節を動作させ、ステップS130において選択された対象関節の回
動角を基準回動角と一致させてから第2回動方向に半角度回動させる。そして、ロボット
制御部65は、当該対象関節に第1所定動作を開始させる(ステップS140)。ここで
、ステップS140の処理について説明する。
第2回動方向は、この一例において、当該対象関節の回動軸が回動可能な2つの方向の
うちの一方である第1回動方向と逆の回動方向のことである。第1回動方向は、当該対象
関節の回動軸に沿った方向から当該ロボット20を見た場合においてエンドエフェクター
Eが当該回動軸に対して上方向側に移動する方向である。すなわち、第2回動方向は、当
該回動軸に沿った方向から当該ロボット20を見た場合においてエンドエフェクターEが
当該回動軸に対して下方向側に移動する方向である。下方向は、前述の上方向と逆の方向
である。
基準回動角は、この一例において、可動部Aの姿勢が第1姿勢と一致している状態にお
ける当該対象関節の回動角である。半角度は、所定の第1角度の半分の角度である。第1
角度は、この一例において、6°である。なお、第1角度は、これに代えて、他の角度で
あってもよい。
第1所定動作は、可動部Aを所定の第1角度以上回動させる動作を含む動作である。具
体的には、第1所定動作は、ステップS130において選択された対象関節の回動角を、
第1回動方向に第1角度以上の角度回動させてから第2回動方向に当該角度回動させる動
作を含む動作である。以下では、一例として、第1所定動作が、当該対象関節の回動角を
、第1回動方向に第1角度(この一例において、6°)回動させてから第2回動方向に第
1角度回動させる動作である場合について説明する。なお、第1回動方向は、第1方向の
一例である。また、第2回動方向は、第2方向の一例である。また、第1所定動作は、第
1動作の一例である。
ここで、ステップS130において関節J3が選択された場合、ロボット制御部65は
、ステップS140において第1所定動作を関節J3に行わせる。また、ステップS13
0において関節J5が選択された場合、ロボット制御部65は、ステップS140におい
て第1所定動作を関節J5に行わせる。
次に、算出部63は、ステップS130において選択された対象関節が備えるアクチュ
エーターの駆動電流を検出する(ステップS150)。次に、算出部63は、ステップS
150において検出された駆動電流に基づいて、当該対象関節の回動軸を回動させるため
に当該アクチュエーターが当該回動軸に加えたトルクを算出(測定)する(ステップS1
60)。ここで、算出部63が当該駆動電流に基づいて当該トルクを算出する方法は、既
知の方法であってもよく、これから開発される方法であってもよい。
次に、算出部63は、ステップS140において開始させた第1所定動作が終了したか
否かを判定する(ステップS170)。ステップS140において開始させた第1所定動
作が終了していないと判定した場合(ステップS170−NO)、算出部63は、ステッ
プS150に遷移し、再びステップS130において選択された対象関節が備えるアクチ
ュエーターの駆動電流を検出する。一方、ステップS140において開始させた第1所定
動作が終了していると判定した場合(ステップS170−YES)、算出部63は、ステ
ップS150〜ステップS170の繰り返し処理において算出したトルクに基づいて、当
該対象関節の回動軸の荷重トルクを算出する(ステップS173)。ある回動軸の荷重ト
ルクは、当該回動軸に加わる荷重(重量)に抗って当該回動軸を回動させるためにアクチ
ュエーターが当該回動軸に加えたトルクである。ここで、図6を参照し、ステップS17
3の処理について説明する。
図6は、ステップS150〜ステップS170の繰り返し処理において算出されたトル
クの時間的変化を表すグラフの一例を示す図である。当該グラフの横軸は、時間を示す。
また、当該グラフの縦軸は、トルクを示す。当該時間的変化は、当該グラフにプロットさ
れた曲線によって表される。当該グラフの領域RA1によって囲まれた期間は、第1動作
期間のうち所定の定速度で当該対象関節の回動軸が第1回動方向に回動している期間のう
ちの少なくとも一部である第1正回動期間を表している。第1動作期間は、この一例にお
いて、ステップS130において選択された対象関節が第1所定動作を行っている期間の
ことである。所定の定速度は、当該対象関節が備えるアクチュエーターが当該対象関節の
回動軸を回動させることが可能な回動速度であれば如何なる回動速度であってもよい。第
1正回動期間は、所定期間の一例である。また、当該グラフの領域RA2によって囲まれ
た期間は、第1動作期間のうち所定の定速度で当該対象関節の回動軸が第2回動方向に回
動している期間のうちの少なくとも一部である第1負回動期間を表している。第1負回動
期間の長さは、この一例において、第1正回動期間の長さと同じ長さである。このため、
第1負回動期間は、所定期間の一例である。なお、第1負回動期間の長さは、これに代え
て、第1正回動期間の長さと異なる長さであってもよい。
図6に示した第1正回動期間におけるトルクと、図6に示した第1負回動期間における
トルクとのそれぞれには、ステップS130において選択された対象関節の回動軸の荷重
トルクと、当該回動軸の粘性トルクとが含まれている。また、ある回動軸の粘性トルクは
、当該回動軸の回動に対する粘性抵抗に抗って当該回動軸を回動させるためアクチュエー
ターが当該回動軸に加えたトルクである。第1正回動期間における粘性トルクと、第1負
回動期間における粘性トルクとは、誤差を除いて互いに大きさが同じであり、当該回動軸
に対して加わる方向が逆であると考えられる。すなわち、これらの粘性トルクは、第1正
回動期間におけるトルクと、第1正回動期間におけるトルクとの平均を取ることによって
互いに打ち消し合う。そこで、算出部63は、ステップS150〜ステップS170の繰
り返し処理において算出したトルクのうち第1正回動期間におけるトルクと第1負回動期
間におけるトルクとの平均値を、当該対象関節の回動軸の荷重トルクとして算出する。
ステップS130において関節J3が選択された場合、算出部63は、ステップS17
3において、ステップS150〜ステップS170の繰り返し処理において算出したトル
クのうち第1正回動期間におけるトルクと第1負回動期間におけるトルクとの平均値を第
1荷重トルクとして算出する。また、ステップS130において関節J5が選択された場
合、算出部63は、ステップS173において、ステップS150〜ステップS170の
繰り返し処理において算出したトルクのうち第1正回動期間におけるトルクと第1負回動
期間におけるトルクとの平均値を第2荷重トルクとして算出する。
なお、ステップS130において選択された対象関節の荷重トルクを算出部63が精度
よく算出するため、第1正回動期間は、第1動作期間のうち所定の定速度で当該対象関節
の回動角が第1回動方向に回動している期間のうち、当該回動軸が第1回動方向に整数倍
角度回動した期間であることが望ましい。整数倍角度は、この一例において、当該対象関
節が備えるアクチュエーターが1回転する場合に当該対象関節が回動する回動角の整数倍
の角度のことである。当該アクチュエーターが1回転する場合とは、当該アクチュエータ
ーが当該対象関節の回動角を1回転させる場合のことである。第1正回動期間が当該期間
であることが望ましい理由は、当該アクチュエーターが当該回動軸を1回転させている間
において、当該アクチュエーターが当該回動軸に加えるトルクが当該アクチュエーターの
特性によって変動してしまうからである。なお、第1正回動期間は、必ずしも当該期間で
なくてもよい。
また、算出部63は、ステップS150〜ステップS170の繰り返し処理において算
出したトルクであってステップS130において選択された対象関節のトルクのうち第1
正回動期間におけるトルクと第1負回動期間におけるトルクとの平均値を、当該対象関節
の回動軸の荷重トルクとして算出する構成に代えて、ステップS150〜ステップS17
0の繰り返し処理において算出したトルクのうち当該対象関節の回動軸が第1回動方向に
回動している期間のうちの少なくとも一部の期間におけるトルクと、当該回動軸が第2回
動方向に回動している期間のうちの少なくとも一部の期間におけるトルクとの平均値を、
当該荷重トルクとして算出する構成であってもよい。当該回動軸が第1回動方向に回動し
ている期間は、すなわち、当該回動軸が第1方向に回動する回動速度が加減速されている
期間と、当該回動速度が定速度である期間とを含む期間のことである。また、当該回動軸
が第2回動方向に回動している期間は、すなわち、当該回動軸が第2方向に回動する回動
速度が加減速されている期間と、当該回動速度が定速度である期間とを含む期間のことで
ある。
ステップS173の処理が行われた後、ロボット制御部65は、ステップS130に遷
移し、未選択の対象関節を選択する。ただし、ロボット制御部65は、ステップS130
において未選択の対象関節が存在しない場合、ステップS110に遷移し、エンドエフェ
クターEの取り付け状態が、ユーザーによって第1状態と第2状態とのうちの未選択のい
ずれかに一致させられるまで待機する。ただし、算出部63は、ステップS110におい
て未選択の状態であってエンドエフェクターEの取り付け状態が存在しない場合、ステッ
プS175に遷移する。
このようにして、ステップS110〜ステップS173の処理を繰り返し行うことによ
り、ロボット制御装置30は、エンドエフェクターEの取り付け状態のそれぞれ毎に、第
1荷重トルク及び第2荷重トルクのそれぞれを算出することができる。
ステップS110〜ステップS173の処理が行われた後、算出部63は、エンドエフ
ェクターEの取り付け状態のそれぞれ毎に算出された第1荷重トルク及び第2荷重トルク
のそれぞれに基づいて差分トルクを算出する(ステップS175)。ここで、ステップS
175の処理について説明する。
ある回動軸の荷重トルクは、前述した通り、当該回動軸に加わる荷重(重量)に抗って
当該回動軸を回動させるためにアクチュエーターが当該回動軸に加えたトルクである。ま
た、上記のエンドエフェクターEの取り付け状態のうちの第2状態は、フランジF1にエ
ンドエフェクターEが取り付けられていることが第1状態と異なる状態である。すなわち
、第2状態において当該回動軸に加わる荷重と、第1状態において当該回動軸に加わる荷
重との差分は、エンドエフェクターEの荷重と一致する。このことから、第2状態におけ
る当該回動軸の荷重トルクと、第1状態における当該回動軸の荷重トルクとの差分は、当
該回動軸に加わるエンドエフェクターEの荷重に抗って当該回動軸を回動させるためにア
クチュエーターが当該回動軸に加えたトルクと一致する。これは、この一例のように、第
1所定動作によってフランジF2とともにフランジF2に取り付けられた制御装置Xが移
動する場合であっても同様である。何故なら、第1状態において当該回動軸に加わる荷重
と、第2状態において当該回動軸に加わる荷重とのそれぞれには、フランジF2に取り付
けられた物体、すなわち制御装置Xの荷重(重量)が含まれているからである。なお、第
1所定動作によって制御装置Xが移動する理由は、前述したようにフランジF2が関節J
3と関節J4とを繋ぐ部材が有する面に設けられており、当該部材が第1所定動作によっ
て動くからである。
そこで、算出部63は、第2状態における第1荷重トルクと、第1状態における第1荷
重トルクとの差分を、第3回動軸に加わるエンドエフェクターEの荷重に抗って第3回動
軸を回動させるためにアクチュエーターが第3回動軸に加えたトルクである差分トルクT
11として算出する。なお、第1状態における第1荷重トルクは、第1トルクの一例であ
る。また、第2状態における第1荷重トルクは、第2トルクの一例である。
また、算出部63は、第2状態における第2荷重トルクと、第1状態における第2荷重
トルクとの差分を、第5回動軸に加わるエンドエフェクターEの荷重に抗って第5回動軸
を回動させるためにアクチュエーターが第5回動軸に加えたトルクである差分トルクT1
2として算出する。第5回動軸は、関節J5の回動軸のことである。なお、第1状態にお
ける第2荷重トルクは、第1トルクの一例である。また、第2状態における第2荷重トル
クは、第2トルクの一例である。また、上記のステップS140〜ステップS173の処
理は、第1所定動作にて所定期間トルクを測定する処理の一例である。
ステップS175の処理が行われた後、算出部63は、ステップS175において算出
された差分トルクT11及び差分トルクT12に基づいて、エンドエフェクターEの重量
とエンドエフェクターEのオフセットとのそれぞれを算出する(ステップS180)。な
お、ステップS180において、算出部63は、エンドエフェクターEの重量と、エンド
エフェクターEのオフセットとのいずれか一方を算出する構成であってもよい。ここで、
図7を参照し、ステップS180の処理について説明する。
図7は、ステップS180の処理を説明するための図である。図7に示したロボット2
0は、可動部Aの姿勢が第1姿勢と一致している状態のロボット20である。図7に示し
た距離L2は、当該状態において、支持台Bが設置された設定面に沿った方向における距
離であって第3回動軸から第5回動軸までの距離のことである。また、図7に示した距離
L1は、当該状態において、当該方向における距離であって関節J5からエンドエフェク
ターEの取付面までの距離のことである。また、図7に示したエンドエフェクターEのオ
フセットYは、当該状態において、当該方向における距離であって当該取付面からエンド
エフェクターEの重心までの距離のことである。なお、エンドエフェクターEの取り付け
状態が第1状態の場合、すなわち、フランジF1に何も取り付けられていない場合は、オ
フセットYは、0である。以上のことから、エンドエフェクターEの重量を重量Wと表し
た場合、重量Wが第3回動軸に加えるトルク(モーメント)T1は、以下の式(1)によ
って表される。
T1=W×(Y+L1+L2) ・・・(1)
また、重量Wが第5回動軸に加えるトルク(モーメント)T2は、以下の式(2)によ
って表される。
T2=W×(Y+L1) ・・・(2)
上記の式(1)及び式(2)の連立方程式を解くことにより、エンドエフェクターEの
重量Wと、エンドエフェクターEのオフセットYとは、以下に示した式(3)及び式(4
)のようにトルクT1とトルクT2によって表される。
Y=((L1+L2)×T1−L1×T2)/(T1−T2) ・・・(3)
W=(2)1/2×T1/(Y+L1+L2) ・・・(4)
ここで、距離L1及び距離L2が既知であるため、算出部63は、上記の式(3)及び
式(4)において、ステップS175の処理によって算出した差分トルクT11をトルク
T1に代入し、差分トルクT12をトルクT2に代入することによって、エンドエフェク
ターEの重量Wと、エンドエフェクターEのオフセットYを算出することができる。
ステップS180の処理が行われた後、表示制御部61は、ステップS180において
算出したエンドエフェクターEの重量W及びエンドエフェクターEのオフセットYを表示
部35に表示させる(ステップS190)。なお、ステップS190において、表示制御
部61は、エンドエフェクターEの重量Wと、エンドエフェクターEのオフセットYとの
いずれか一方を表示部35に表示させる構成であってもよい。
次に、ロボット制御部65は、ステップS180において算出したエンドエフェクター
Eの重量W及びエンドエフェクターEのオフセットYを記憶部32に記憶することにより
、重量W及びオフセットYをロボット制御装置30に設定し(ステップS200)、処理
を終了する。これにより、ロボット制御部65は、例えば、設定した重量W及びオフセッ
トYと、記憶部32に予め記憶された動作プログラムであってロボット20に所定の作業
を行わせる動作プログラムとに基づいて、ロボット20に所定の作業を精度よく行わせる
ことができる。また、表示制御部61は、例えば、設定したオフセットYが、予め決めら
れた範囲であってロボット制御装置30に設定可能なエンドエフェクターEのオフセット
の範囲に含まれていない場合、表示部35にエラーを表示させることができる。
なお、上記の第1状態は、フランジF1及びフランジF2の両方に何も取り付けられて
いない状態である第3状態に変更されてもよい。この場合、第2状態は、フランジF1に
エンドエフェクターEが取り付けられている状態であり、且つ、フランジF2に何も取り
付けられていない状態である第4状態に変更される。第1状態及び第2状態がこれらの第
3状態及び第4状態に変更された場合、ロボット制御装置30は、図4に示したフローチ
ャートの処理によって、フランジF2に何も取り付けられていない状態においてエンドエ
フェクターEの重量W及びエンドエフェクターEのオフセットYを算出することができる
。また、当該場合、第3状態における差分トルクT11は、ロボット20の製造者によっ
て予め算出されており、マニュアル等に記載されていることがある。この場合、ロボット
制御装置30は、当該差分トルクT11を算出するために必要な処理を省略する構成であ
ってもよい。すなわち、当該場合、ステップS110においてユーザーがエンドエフェク
ターEの取り付け状態として選択可能な状態は、第4状態のみである。
以上のように、ロボット制御装置30は、可動部Aに第1所定動作をさせる制御部36
を備え、制御部36は、第1状態において、第1所定動作にて第1正回動期間測定した第
1荷重トルク及び第2荷重トルクと、第2状態において、第1所定動作にて第1正回動期
間の長さと同じ長さの第1負回動期間測定した第1荷重トルク及び第2荷重トルクとに基
づいて、エンドエフェクターEの重量W、エンドエフェクターEのオフセットYの少なく
とも1つを算出する。これにより、ロボット制御装置30は、エンドエフェクターEの重
量W、エンドエフェクターEのオフセットYの少なくとも1つを精度よく算出することが
できる。
また、ロボット制御装置は、第1状態において、第1所定動作にて対象関節の回動角が
第1回動方向に回動している期間測定した第1荷重トルク及び第2荷重トルクと、第2状
態において、第1所定動作にて対象関節の回動角が第2回動方向に回動している期間測定
した第1荷重トルク及び第2荷重トルクとに基づいて、エンドエフェクターEの重量W、
エンドエフェクターのオフセットYの少なくとも1つを算出する。これにより、ロボット
制御装置30は、制御装置Xが可動部Aに設けられている状態において、エンドエフェク
ターEの重量W、エンドエフェクターEのオフセットYの少なくとも1つを精度よく算出
することができる。
また、ロボット制御装置30は、力検出器とは異なる物体である制御装置Xが設けられ
ている可動部AにエンドエフェクターEが設けられていない状態である第2状態において
、第1所定動作にて対象関節の回動角が第1回動方向に回動している期間測定した第1荷
重トルク及び第2荷重トルクと、当該可動部AにエンドエフェクターEが設けられている
状態である第2状態において、第1所定動作にて対象関節の回動角が第2回動方向に回動
している期間測定した第1荷重トルク及び第2荷重トルクとに基づいて、エンドエフェク
ターEの重量W、エンドエフェクターEのオフセットYの少なくとも1つを算出する。こ
れにより、ロボット制御装置30は、力検出器とは異なる物体である制御装置Xが可動部
Aに設けられている状態において、エンドエフェクターEの重量W、エンドエフェクター
EのオフセットYの少なくとも1つを精度よく算出することができる。
また、ロボット制御装置30は、可動部AにエンドエフェクターEが設けられていない
状態である第1状態において、第1回動方向に可動部Aを第1角度回動させる動作と第1
回動方向とは逆方向である第2回動方向に可動部Aを第1角度回動させる動作とを含む第
1所定動作にて対象関節の回動角が第1回動方向に回動している期間測定した第1荷重ト
ルク及び第2荷重トルクと、当該可動部AにエンドエフェクターEが設けられている状態
である第2状態において、第1所定動作にて対象関節の回動角が第2回動方向に回動して
いる期間測定した第1荷重トルク及び第2荷重トルクとに基づいて、エンドエフェクター
Eの重量W、エンドエフェクターEのオフセットYの少なくとも1つを算出する。これに
より、ロボット制御装置30は、第1回動方向に可動部Aを第1角度回動させる動作と第
2回動方向に可動部Aを第1角度回動させる動作とを含む第1所定動作をロボット20に
行わせることによって、エンドエフェクターEの重量W、エンドエフェクターEのオフセ
ットYの少なくとも1つを精度よく算出することができる。
ロボット制御装置30は、第1正回動期間における第1荷重トルク及び第2荷重トルク
に基づいて、エンドエフェクターEの重量W、エンドエフェクターEのオフセットYの少
なくとも1つを算出する。これにより、ロボット制御装置30は、対象関節が備えるアク
チュエーターが1回転する間に生じるトルクの変動による誤差を抑制することができ、そ
の結果、エンドエフェクターEの重量W、エンドエフェクターEのオフセットYの少なく
とも1つを精度よく算出することができる。
また、ロボット制御装置30は、エンドエフェクターEの重量W、エンドエフェクター
のオフセットYの少なくとも1つを表示部35に表示させる。これにより、ロボット制御
装置30は、エンドエフェクターEの重量W、エンドエフェクターEのオフセットYの少
なくとも1つをユーザーに確認させることができる。
また、ロボット制御装置30は、可動部Aを屈曲させる2以上の回動軸として第3回動
軸及び第5回動軸を有する可動部AにエンドエフェクターEが設けられていない状態であ
る第1状態において、第1所定動作にて所定期間測定した荷重トルクであって第3回動軸
及び第5回動軸それぞれの周りの荷重トルクである第1荷重トルク及び第2荷重トルクと
、当該可動部AにエンドエフェクターEが設けられている状態である第2状態において、
第1所定動作にて所定期間測定した荷重トルクであって第3回動軸及び第5回動軸それぞ
れの周りの荷重トルクである第1荷重トルク及び第2荷重トルクとに基づいて、エンドエ
フェクターEの重量W、エンドエフェクターEのオフセットYの少なくとも1つを算出す
る。これにより、ロボット制御装置30は、第3回動軸及び第5回動軸を有する可動部A
に第1所定動作を行わせることによって、エンドエフェクターEの重量W、エンドエフェ
クターEのオフセットYの少なくとも1つを精度よく算出することができる。
<ロボット制御装置が行う処理の具体例2>
以下、図8〜図13を参照し、ロボット制御装置30が行う処理の具体例2について説
明する。ロボット制御装置30が行う処理の具体例2では、ロボット制御装置30は、ロ
ボット20に第2所定動作を行わせ、ロボット20が備えるエンドエフェクターEの慣性
モーメントを算出する。図8は、ロボット制御装置30が行う処理の具体例2の流れを示
すフローチャートである。
制御部36が備える各機能部は、エンドエフェクターEの取り付け状態が、ユーザーに
よって前述の第1状態と第2状態とのいずれかと一致させられる毎に、ステップS210
〜ステップS280の処理を繰り返し行う(ステップS205)。
ロボット制御部65は、記憶部32に予め記憶された第2動作プログラムに基づいてロ
ボット20を動作させ、可動部Aの姿勢を所定の第2姿勢と一致させる(ステップS21
0)。第2姿勢は、この一例において、図9に示した可動部Aの姿勢である。
図9は、可動部Aの姿勢が第2姿勢と一致している状態におけるロボット20の一例を
示す図である。また、図9は、可動部Aの斜視図である。図9に示したように、第2姿勢
は、この一例において、可動部Aの姿勢が図5に示した第1姿勢と一致している状態から
関節J5を回動させ、エンドエフェクターEの取付面と支持台Bが設置された設置面とを
平行にさせた状態における可動部Aの姿勢である。なお、図9にでは、フランジF2に何
も取り付けられていない状態におけるロボット20が示されている。
ステップS210の処理が行われた後、ロボット制御部65は、関節J6に第2所定動
作を開始させる(ステップS230)。ここで、第2所定動作について説明する。第2所
定動作は、可動部Aを所定の第2角度以上回動させる動作を含む動作である。具体的には
、第2所定動作は、可動部Aの姿勢が第2姿勢と一致している状態において、第6回動軸
を第3回動方向に所定の第2角度回動させ、その後、第6回動軸を第4回動方向に第2角
度回動させる動作を含む動作である。第3回動方向は、第6回動軸が回動可能な2つの回
動方向のうちの一方である。また、第4回動方向は、第6回動軸が回動可能な2つの回動
方向のうちの他方である。ここでは、一例として、第3回動方向は、下方向から上方向に
向かって第6回動軸を見た場合において、反時計回り方向である場合について説明する。
この場合、第4回動方向は、時計回りである。
以下では、一例として、第2所定動作が、可動部Aの姿勢が第2姿勢と一致している状
態において、第6回動軸を第3回動方向へ第2角度回動させ、その後、第6回動軸を第4
回動方向へ第2角度回動させる動作である場合について説明する。第2角度は、第3回動
方向又は第4回動方向に第6回動軸を回動させた場合において、第6回動軸の回動速度を
所定速度に達するまで加速可能な角度であれば如何なる角度であってもよい。所定速度は
、例えば、第6回動角が回動可能な回動速度のうちの最高の回動速度である第1最高速度
である。すなわち、第2角度は、第2所定動作において関節J6が備えるアクチュエータ
ーが第6回動軸の回動速度を第1最高速度に一致させることが可能な角度以上の角度のう
ちユーザーにより選択された角度である。第2角度が決まると、第2所定動作により第6
回動軸が回動させられる時間、第6回動軸の回動速度を加速させる加速度、当該回動速度
を減速させる減速度が決まる。また、第2所定動作において第6回動軸が第3回動方向に
回動している期間である第2正回動期間、及び第2所定動作において第6回動軸が第4回
動方向に回動している期間である第2負回動期間のそれぞれには、第6回動軸が、この一
例における所定速度、すなわち第1最高速度で回動している期間が含まれている。なお、
所定速度は、第1最高速度よりも遅い回動速度であってもよい。ただし、この場合であっ
て所定速度は、第1最高速度の50%以上100以下の回動速度である。なお、所定速度
が第1最高速度に近いほど、SN(Signal-Noise)比が良くなる。以下では、一例として
、第2角度が360°の場合について説明する。なお、第2角度は、360°に代えて、
30°以上であってもよく、180°以上であってもよく、360°以上であってもよい
次に、算出部63は、関節J6が備えるアクチュエーターの駆動電流を検出する(ステ
ップS240)。次に、算出部63は、ステップS240において検出された駆動電流に
基づいて、第6回動軸を回動させるために当該アクチュエーターが第6回動軸に加えたト
ルクを算出(測定)する(ステップS250)。ここで、算出部63が当該駆動電流に基
づいて当該トルクを算出する方法は、既知の方法であってもよく、これから開発される方
法であってもよい。
次に、算出部63は、ステップS230において関節J6に開始させた第2所定動作が
終了したか否かを判定する(ステップS260)。ステップS230において関節J6に
開始させた第2所定動作が終了していないと判定した場合(ステップS260−NO)、
算出部63は、ステップS240に遷移し、再び関節J6が備えるアクチュエーターの駆
動電流を検出する。一方、ステップS230において関節J6に開始させた第2所定動作
が終了していると判定した場合(ステップS260−YES)、算出部63は、ステップ
S240〜ステップS260の繰り返し処理において算出したトルクに基づいて、当該ト
ルクに含まれる粘性トルクを算出する(ステップS270)。ここで、図10を参照し、
ステップS270の処理について説明する。
図10は、ステップS240〜ステップS260の繰り返し処理において算出されたト
ルクの時間的変化を表すグラフの一例を示す図である。以下では、説明の便宜上、当該ト
ルクを対象トルクと称して説明する。当該グラフの横軸は、時間を示す。また、当該グラ
フの縦軸は、トルクを示す。対象トルクの時間的変化は、当該グラフに示した曲線FC1
によって表される。当該グラフの領域RA3によって囲まれた期間は、関節J6が第2所
定動作を行っている期間のうち、前述の第2正回動期間を表している。また、当該グラフ
の領域RA4によって囲まれた期間は、関節J6が第2所定動作を行っている期間のうち
、第2負回動期間を表している。第2負回動期間の長さは、第2正回動期間の長さと同じ
である。
ここで、対象トルクは、第6回動軸の加減速トルクと、第6回動軸の粘性トルクとの和
になっている。ある回動軸の加減速トルクは、当該回動軸の回動によって回動する物体の
慣性モーメントに抗って当該回動軸を回動させるためにアクチュエーターによって当該回
動軸に加えられたトルクである。算出部63は、対象トルクが、第6回動軸の加減速トル
クと、第6回動軸の粘性トルクとの和になっていることを用いて、当該粘性トルクを算出
する。ここで、図11を参照し、当該粘性トルクを算出する方法について説明する。
図11は、対象トルクに基づいて粘性トルクを算出する方法を説明するための図である
。以下では、第2所定動作を行っている期間における第6回動軸の回動速度の時間的変化
が、図11に示したグラフGR1によって表される当該回動速度の時間的変化である場合
を例に挙げて説明する。図11に示したグラフGR1は、第6回動軸の回動速度の時間的
変化の一例を表すグラフである。グラフGR1に示した例は、第2正回動期間において、
第6回動軸の回動速度が第1最高速度に加速されるまでの第6回動軸の加速度の大きさと
、第6回動軸の回動速度が0に減速されるまでの第6回動軸の減速度の大きさとが等しい
場合の例である。そして、当該例では、これらの大きさは、一定である。また、当該例は
、第2負回動期間において、第6回動軸の回動速度が第1最高速度に加速されるまでの第
6回動軸の加速度の大きさと、第6回動軸の回動速度が0に減速されるまでの第6回動軸
の減速度の大きさとが等しい場合の例である。そして、当該例では、これらの大きさは、
時間の経過とともに変化せずに一定である。
第6回動軸の回動速度の時間的変化がグラフGR1によって表される場合、第6回動軸
の加減速トルクは、図11に示したグラフGR2によって表される。グラフGR2は、当
該回動速度の時間的変化がグラフGR1によって表される時間的変化であった場合におけ
る第6回動軸の加減速トルクの時間的変化の一例を表すグラフである。この場合、グラフ
GR2に示したように、当該加減速トルクは、第2正回動期間において、余弦関数的に変
化する。すなわち、第2正回動期間における当該加減速トルクの平均値は、ゼロである。
また、当該場合、グラフGR2に示したように、当該加減速トルクは、第2負回動期間に
おいて、余弦関数的に変化する。すなわち、第2負回動期間における当該加減速トルクの
平均値は、ゼロである。
一方、ある回動軸の粘性トルクは、動摩擦との類似性から、当該回動軸の回動速度が変
化しない期間において当該回動速度に依らず一定値であると考えることができる。このこ
とから、当該回動速度が変化している期間が、当該回動速度が変化していない期間に比べ
て短い場合、当該回動軸の粘性トルクは、一定であると近似することができる。図11に
示した例は、グラフGR1によって表される第6回動軸の回動速度が変化している期間が
、当該回動速度が変化している期間よりも短い場合の例である。このことから、第6回動
軸の回動速度の時間的変化がグラフGR1によって表される場合、第6回動軸の粘性トル
クは、図11に示したグラフGR3によって表されると近似することができる。グラフG
R3は、当該回動速度の時間的変化がグラフGR1によって表される時間的変化であった
場合における第6回動軸の粘性トルクの時間的変化の一例を表すグラフである。この場合
、グラフGR2に示したように、当該加減速トルクは、領域RA3によって表される期間
において、時間の経過とともに変化せずに一定である。また、当該場合、グラフGR3に
示したように、当該粘性トルクは、第2負回動期間において、時間の経過とともに変化せ
ずに一定である。
前述したように、ある回動軸の対象トルクは、当該回動軸の加減速トルクと、当該回動
軸の粘性トルクとの和である。このため、第6回動軸の回動速度の時間的変化がグラフG
R1によって表される場合、第6回動軸の対象トルクは、図11に示したグラフGR4に
よって表される。グラフGR4は、当該回動速度の時間的変化がグラフGR1によって表
される時間的変化であった場合における第6回動軸の対象トルクの時間的変化の一例を表
すグラフである。グラフGR4に示したように、当該対象トルクは、グラフGR2に示し
た加減速トルクと、グラフGR3に示した粘性トルクとの和となっている。
ここで、前述したように、グラフGR3における第2正回動期間における加減速トルク
の平均値は、ゼロである。また、グラフGR3における第2負回動期間における加減速ト
ルクの平均値は、ゼロである。このことから、グラフGR4における第2正回動期間にお
ける対象トルクの平均値は、当該第2正回動期間における加減速トルクがゼロになるため
、グラフGR2の第2正回動期間における粘性トルクと一致する。また、グラフGR4に
おける第2負回動期間における対象トルクの平均値は、当該第2負回動期間における加減
速トルクがゼロになるため、グラフGR2の第2負回動期間における粘性トルクと一致す
る。
これを利用し、算出部63は、ステップS240〜ステップS260の繰り返し処理に
おいて算出したトルクに基づいて、当該トルクに含まれる粘性トルクを算出する。すなわ
ち、算出部63は、図10に示した曲線FC1によって表されるトルクのうち、第2正回
動期間における当該トルクの平均値を、第2正回動期間における第6回動軸の粘性トルク
として算出する。すなわち、算出部63は、当該粘性トルクが、第2正回動期間において
時間の経過とともに変化せずに一定であると近似する。また、算出部63は、図10に示
した曲線FC1によって表されるトルクのうち、第2負回動期間における当該トルクの平
均値を、第2負回動期間における第6回動軸の粘性トルクとして算出する。すなわち、算
出部63は、当該粘性トルクを、第2負回動期間において時間の経過とともに変化せずに
一定であると近似する。
なお、算出部63は、ステップS270において算出した第2正回動期間及び第2負回
動期間のそれぞれにおける粘性トルクに第6回動軸の回動速度に基づく重みを乗算するこ
とにより、当該粘性トルクを当該回動速度に応じて変化する粘性トルクに変換する構成で
あってもよい。これにより、算出部63は、第6回動軸の粘性トルクを、当該粘性トルク
を時間の経過とともに変化せずに一定であるとする近似よりも現実に近い近似を用いて算
出することができる。
ステップS270の処理が行われた後、算出部63は、ステップS240〜ステップS
260の繰り返し処理において算出したトルクと、ステップS270において算出した粘
性トルクとの差分を、第6回動軸の加減速トルクとして算出する(ステップS275
)。ここで、図10に示した曲線FC2は、当該粘性トルクの時間的変化を表している。
また、図10に示した曲線FC3は、ステップS275において算出部63が算出した加
減速トルクの時間的変化を表している。なお、前述の重みを当該粘性トルクに乗じた場合
、曲線FC2の形状は、図10に示した形状とは異なる形状になる。
ここで、曲線FC3が表す加減速トルクのうちの点線PT1によって囲まれた領域にお
ける加減速トルクと、点線PT2によって囲まれた加減速トルクとは、加減速トルクとし
て算出されてはいるが、第6回動軸を第6回動軸が静止している状態から動いている状態
に移行させるために必要なトルクであり、実際には加減速トルクではない。このため、算
出部63は、ステップS275において、点線PT1によって囲まれた領域における加減
速トルクと、点線PT2によって囲まれた加減速トルクとを、曲線FC3が表す加減速ト
ルクからカットする(ゼロにする)。以下では、説明の便宜上、このようなカットを初動
粘性トルクカットと称して説明する。図12は、図10に示したグラフにおいて曲線FC
3に初動粘性トルクカットを行った後のグラフの一例を示す図である。図12に示した曲
線FC4は、初動粘性トルクカットを行った後の曲線FC3である。
ステップS275の処理が行われた後、算出部63は、初動粘性トルクカットが行われ
た後の加減速トルクであってステップS275において算出された加減速トルクに基づい
て、当該加減速トルクの平均値である平均トルクを算出する(ステップS280)。ここ
で、ステップS280の処理について説明する。
算出部63は、図12に示した第2正回動期間における加減速トルクに基づいて、当該
加減速トルクの平均値を算出する。また、算出部63は、図12に示した第2負回動期間
における加減速トルクに基づいて、当該加減速トルクの平均値を算出する。そして、算出
部63は、算出したこれらの平均値の2乗和の平方根を、平均トルクとして算出する。な
お、算出部63は、これに代えて、図12に示した曲線FC4と、図12に示したグラフ
のX軸とによって囲まれた領域の面積を積分によって算出し、算出した面積に2分の1を
乗じた値を平均トルクとして算出する構成であってもよい。また、算出部63は、図12
に示した第2正回動期間における加減速トルクの平均値と、図12に示した第2負回動期
間における加減速トルクの平均値とのいずれか一方を平均トルクとして算出する構成であ
ってもよい。
算出部63は、ステップS280において平均トルクを算出した後、ステップS205
に遷移し、エンドエフェクターEの取り付け状態が、ユーザーによって第1状態と第2状
態とのうちの未選択のいずれかに一致させられるまで待機する。ただし、算出部63は、
ステップS205において未選択の状態であってエンドエフェクターEの取り付け状態が
存在しない場合、ステップS285に遷移する。以下では、説明の便宜上、ステップS2
05においてユーザーがエンドエフェクターEの取り付け状態を第1状態と一致させた場
合のステップS280において算出された平均トルクを、第1平均トルクと称し、ステッ
プS205においてユーザーがエンドエフェクターEの取り付け状態を第2状態と一致さ
せた場合のステップS280において算出された平均トルクを、第2平均トルクと称して
説明する。
このようにして、ステップS205〜ステップS280の処理を繰り返し行うことによ
り、ロボット制御装置30は、エンドエフェクターEの取り付け状態のそれぞれ毎に、平
均トルクを算出することができる。
ステップS280の処理が行われた後、算出部63は、ステップS280において算出
された第1平均トルク及び第2平均トルクに基づいて、エンドエフェクターEの慣性モー
メントを算出ステップする(ステップS285)。ここで、ステップS285の処理につ
いて説明する。
まず、算出部63は、ステップS280において算出された第1平均トルクに基づいて
、第1平均トルクに基づく慣性モーメントを算出する。前述した通り、第1平均トルクは
、ステップS205においてユーザーがエンドエフェクターEの取り付け状態を第1状態
と一致させた場合における平均トルクである。この場合、第6回動軸の回動によって回動
する物体は、関節J6とフランジF1とを繋ぐ部材と、フランジF1との両方である。す
なわち、第1平均トルクに基づく慣性モーメントは、関節J6とフランジF1とを繋ぐ部
材と、フランジF1とを1つの物体として見た場合の当該物体の慣性モーメントである。
ここで、ある回動軸の回動速度(すなわち、角速度)V1は、当該回動軸の回動を加速
させる回動加速度(すなわち、角加速度)A1と、当該回動軸の回動が加速し始めてから
当該回動軸が回動速度V1に達するまでの経過時間TMとに基づく以下の式(5)によっ
て算出することができる。
V1=A1×TM ・・・(5)
また、ある回動軸がある物体を回動させるために当該回動軸に加える必要のあるトルク
T3は、当該物体の慣性モーメントM1と、回動加速度A1とに基づく以下の式(6)に
よって算出することができる。
T3=M1×A1 ・・・(6)
上記の式(5)と式(6)に基づいて、慣性モーメントM1は、以下の式(7)のよう
に表すことができる。
M1=T3×TM/V1 ・・・(7)
上記の式(7)を用いて、算出部63は、慣性モーメントM1を算出することができる
。第2所定動作における第6回動軸の所定速度は、この一例において、予め第1最高速度
に決められている。そこで、算出部63は、ステップS280において算出された第1平
均トルクをトルクT3に代入し、第1最高速度を回動速度V1に代入し、第6回動軸が加
速され始めてから第1最高速度に達するまでの時間を経過時間TMに代入することにより
、第1平均トルクに基づく慣性モーメントM1を慣性モーメントM2として算出すること
ができる。なお、当該時間は、第2正回動期間及び第2負回動期間と、第1最高速度と、
第2角度とによってユーザーにより予め指定される時間である。
次に、算出部63は、ステップS280において算出された第2平均トルクに基づいて
、第2平均トルクに基づく慣性モーメントを算出する。前述した通り、第2平均トルクは
、ステップS205においてユーザーがエンドエフェクターEの取り付け状態を第2状態
と一致させた場合における平均トルクである。この場合、第6回動軸の回動によって回動
する物体は、関節J6とフランジF1とを繋ぐ部材とフランジF1とエンドエフェクター
Eのそれぞれである。すなわち、第2平均トルクに基づく慣性モーメントは、関節J6と
フランジF1とを繋ぐ部材と、フランジF1と、エンドエフェクターEとを1つの物体と
して見た場合の当該物体の慣性モーメントである。
算出部63は、第1平均トルクに基づく慣性モーメントM2を算出した方法と同様の方
法によって、第2平均トルクに基づく慣性モーメントを慣性モーメントM2として算出す
る。すなわち、算出部63は、上記の式(7)に基づいて、ステップS280において算
出された第2平均トルクをトルクT3に代入し、第1最高速度を回動速度V1に代入し、
第6回動軸が加速され始めてから第1最高速度に達するまでの時間を経過時間TMに代入
することにより、第2平均トルクに基づく慣性モーメントM3を算出することができる。
ここで、第1平均トルクに基づく慣性モーメントM2と、第2平均トルクに基づく慣性
モーメントM3との差分は、第6回動軸がエンドエフェクターEを回動させるために必要
な慣性モーメントと一致する。このため、算出部63は、算出した慣性モーメントM2と
慣性モーメントM3との差分を、エンドエフェクターEの慣性モーメントとして算出する
図13は、ステップS285において算出部63が算出したエンドエフェクターEの慣
性モーメントの精度を示すグラフの一例を示す図である。具体的には、図13は、フラン
ジF1に取り付けたエンドエフェクターの慣性モーメントを変化させた場合における変化
であって、当該慣性モーメントをステップS205〜ステップS285の処理によって算
出部63が算出した結果の変化を表すグラフの一例を示す図である。エンドエフェクター
の慣性モーメントを変化させる方法としては、例えば、慣性モーメントが互いに異なる複
数のエンドエフェクターのそれぞれを用いて、フランジF1に取り付けられたエンドエフ
ェクターを交換する方法が挙げられる。当該グラフの横軸は、フランジF1に取り付けた
エンドエフェクターの慣性モーメントを示す。また、当該グラフの縦軸は、当該慣性モー
メントをステップS205〜ステップS285の処理によって算出部63が算出した結果
を示す。
図13に示した折線FC5は、フランジF1に取り付けたエンドエフェクターの慣性モ
ーメントを変化させた場合における変化であって、当該慣性モーメントをステップS20
5〜ステップS285の処理によって算出部63が算出した結果の変化を表す。また、折
線FC5は、フランジF1に取り付けたエンドエフェクターの慣性モーメントをステップ
S205〜ステップS285の処理によって算出部63が誤差なく算出することができた
場合の折線である。
また、図13に示したグラフにプロットされた折線FC6は、フランジF1に取り付け
たエンドエフェクターの慣性モーメントを変化させた場合における変化であって、当該慣
性モーメントをステップS205〜ステップS285の処理によって算出部63が第2平
均トルクに基づいて算出した結果の変化を表す。この場合、第2平均トルクに基づく慣性
モーメントは、関節J6とフランジF1とを繋ぐ部材と、フランジF1と、フランジF1
に取り付けたエンドエフェクターとを1つの物体として見た場合の当該物体の慣性モーメ
ントである。このため、折線FC6は、折線FC5と重ならない。
また、図13に示したグラフにプロットされた折線FC7は、フランジF1に取り付け
たエンドエフェクターの慣性モーメントを変化させた場合における変化であって、当該慣
性モーメントをステップS205〜ステップS285の処理によって算出部63が第2平
均トルクに基づく慣性モーメントと第1平均トルクに基づく慣性モーメントとの差分とし
て算出した結果の変化を表す。前述した通り、第2平均トルクに基づく慣性モーメントと
第1平均トルクに基づく慣性モーメントとの差分は、図8に示したフローチャートの処理
によって算出部63が算出したエンドエフェクターの慣性モーメントである。このため、
折線FC7は、誤差によって折線FC5と重なっていないものの、折線FC6と比べて折
線FC5に近づいている。また、当該差分と、フランジF1に取り付けたエンドエフェク
ターの慣性モーメントとのずれの大きさは、大きい箇所でも20〜30%程度である。当
該差分と当該慣性モーメントとのずれの大きさを繰り返し測定した結果、このずれの大き
さは、ロボット20の個体毎にほぼ一定である。このため、このずれは、ロス係数を当該
差分に乗じることによって補正可能であると考えられる。
また、図13に示したグラフにプロットされた折線FC8は、フランジF1に取り付け
たエンドエフェクターの慣性モーメントを変化させた場合における変化であって、当該慣
性モーメントをステップS205〜ステップS285の処理によって算出部63が第2平
均トルクに基づく慣性モーメントと第1平均トルクに基づく慣性モーメントとの差分にロ
ス係数を乗じたものとして算出した結果の変化を表す。図13に示した例では、当該ロス
係数は、1.2である。なお、ロス係数は、ロボット20の個体毎に異なる。折線FC8
は、折線FC5とほぼ重なっている。このため、第2平均トルクに基づく慣性モーメント
と第1平均トルクに基づく慣性モーメントとの差分にロス係数を乗じることにより、算出
部63は、フランジF1に取り付けたエンドエフェクターの慣性モーメントを精度よく算
出することができることが分かる。
このことから、算出部63は、ステップS285において、算出したエンドエフェクタ
ーEの慣性モーメントにロス係数を乗じた値をエンドエフェクターEの慣性モーメントと
して改めて算出する。なお、算出部63は、ステップS285において、算出したエンド
エフェクターEの慣性モーメントにロス係数を乗じない構成であってもよい。
ステップS285の処理が行われた後、表示制御部61は、ステップS285において
算出したエンドエフェクターEの慣性モーメントを表示部35に表示させる(ステップS
290)。
次に、ロボット制御部65は、ステップS285において算出したエンドエフェクター
Eの慣性モーメントを記憶部32に記憶することにより、当該慣性モーメントをロボット
制御装置30に設定し(ステップS300)、処理を終了する。これにより、ロボット制
御部65は、例えば、設定したエンドエフェクターEの慣性モーメントと、記憶部32に
予め記憶された動作プログラムであってロボット20に所定の作業を行わせる動作プログ
ラムとに基づいて、ロボット20に所定の作業を精度よく行わせることができる。
なお、この一例における第1状態は、前述の第3状態であってもよい。この場合、第2
状態は、前述の第4状態である。第1状態及び第2状態がこれらの第3状態及び第4状態
である場合、ロボット制御装置30は、図8に示したフローチャートの処理によって、フ
ランジF2に何も取り付けられていない状態においてエンドエフェクターEの慣性モーメ
ントを算出することができる。また、当該場合、第3状態における第1平均トルクは、ロ
ボット20の製造者によって予め算出されており、マニュアル等に記載されていることが
ある。この場合、ロボット制御装置30は、当該第1平均トルクを算出するために必要な
処理を省略する構成であってもよい。すなわち、当該場合、ステップS205において選
択可能なエンドエフェクターEの取り付け状態は、第4状態のみである。
以上のように、ロボット制御装置30は、第2所定動作にて第2所定動作が行われてい
る期間測定されたトルクと、当該トルクに基づいて算出された粘性トルクとに基づいて、
エンドエフェクターEの慣性モーメントを算出する。これにより、ロボット制御装置30
は、当該トルクと、粘性トルクとに基づいて、エンドエフェクターEの慣性モーメントを
精度よく算出することができる。
また、ロボット制御装置30は、第2所定動作にて関節J6が第2所定動作を行ってい
る期間測定されたトルクと、当該トルクに基づいて算出された当該トルクの平均値である
粘性トルクとに基づいて、エンドエフェクターEの慣性モーメントを算出する。これによ
り、ロボット制御装置30は、当該トルクと、当該トルクに基づいて算出された当該トル
クの平均値である粘性トルクとに基づいて、エンドエフェクターEの慣性モーメントを精
度よく算出することができる。
また、ロボット制御装置30は、第2所定動作にて第2所定動作にて関節J6が第2所
定動作を行っている期間測定されたトルクと当該トルクに基づいて算出された粘性トルク
との差から加減速トルクを算出し、算出した加減速トルクに基づいて、エンドエフェクタ
ーEの慣性モーメントを算出する。これにより、ロボット制御装置30は、当該トルクと
、加減速トルクと基づいて、エンドエフェクターEの慣性モーメントを精度よく算出する
ことができる。
また、ロボット制御装置30は、加減速トルクと、第2所定動作における第6回動軸の
第1最高速度とに基づいて慣性モーメントを算出する。これにより、ロボット制御装置3
0は、第2所定動作にて第2所定動作にて関節J6が第2所定動作を行っている期間測定
されたトルクと第1最高速度と基づいて、エンドエフェクターEの慣性モーメントを精度
よく算出することができる。
また、ロボット制御装置30は、加減速トルクと、第1最高速度の50%以上100%
以下の速度とに基づいて慣性モーメントを算出する。これにより、ロボット制御装置30
は、第2所定動作にて第2所定動作にて関節J6が第2所定動作を行っている期間測定さ
れたトルクと、第6回動軸の最高速度の50%以上100%以下の速度と基づいて、エン
ドエフェクターEの慣性モーメントを精度よく算出することができる。
また、ロボット制御装置30は、所定期間における加減速トルクの一部を初動粘性トル
クカットにより補正する。これにより、ロボット制御装置30は、第2所定動作にて第2
所定動作にて関節J6が第2所定動作を行っている期間測定されたトルクと、一部が補正
された加減速トルクとに基づいて、エンドエフェクターEの慣性モーメントを精度よく算
出することができる。
また、ロボット制御装置30は、第2所定動作における第6回動軸の回動速度に基づい
て、粘性トルクを補正する。これにより、ロボット制御装置は、第1トルクと、第1動作
における可動部の速度に基づいて補正された粘性トルクとに基づいて、エンドエフェクタ
ーの慣性モーメントを精度よく算出することができる。
また、ロボット制御装置30は、第6回動軸を30°以上回動させる動作を含む第2所
定動作にて所定期間計測されたトルクと、当該トルクに基づいて算出された粘性トルクと
に基づいて、エンドエフェクターEの慣性モーメントを算出する。これにより、ロボット
制御装置30は、第6回動軸を30°以上回動させる動作を含む第2所定動作によって、
エンドエフェクターEの慣性モーメントを精度よく算出することができる。
また、ロボット制御装置30は、第6回動軸を180°以上回動させる動作を含む第2
所定動作にて所定期間計測されたトルクと、当該トルクに基づいて算出された粘性トルク
とに基づいて、エンドエフェクターEの慣性モーメントを算出する。これにより、ロボッ
ト制御装置30は、第6回動軸を180°以上回動させる動作を含む第2所定動作によっ
て、エンドエフェクターEの慣性モーメントを精度よく算出することができる。
また、ロボット制御装置30は、算出したエンドエフェクターEの慣性モーメントをロ
ス係数により補正する。これにより、ロボット制御装置30は、補正されたエンドエフェ
クターEの慣性モーメントに基づいて、所定の作業をロボット20に精度よく行わせるこ
とができる。
また、ロボット制御装置30は、算出したエンドエフェクターEの慣性モーメントを表
示部35に表示させる。これにより、ロボット制御装置は、エンドエフェクターの慣性モ
ーメントをユーザーに確認させることができる。
<ロボット制御装置が行う処理の具体例3>
以下、図14〜図18を参照し、ロボット制御装置30が行う処理の具体例3について
説明する。ロボット制御装置30が行う処理の具体例3では、ロボット制御装置30は、
可動部Aの姿勢を所定の第3姿勢と一致させた状態においてロボット20に第2所定動作
を行わせ、ロボット20が備えるエンドエフェクターEの慣性モーメントを算出する。こ
の場合、算出部63によって第2所定動作にて第2所定動作が行われている期間測定され
たトルクには、加減速トルク及び粘性トルクに加えて、エンドエフェクターEの加わる重
力(すなわち、エンドエフェクターEの重量)が第6回動軸を回動させようとするトルク
である重力トルクが含まれる。当該トルクに重力トルクが含まれる場合であり、且つ、エ
ンドエフェクターEが偏心している場合、算出部63は、当該トルクから重力トルクを差
し引かなければ、精度よくエンドエフェクターEの慣性モーメントを算出できない。以下
では、ロボット制御装置30が、当該場合において算出部63が精度よくエンドエフェク
ターEの慣性モーメントを算出する処理について説明する。なお、エンドエフェクターE
が偏心している場合とは、この一例において、エンドエフェクターEの重心が第6回動軸
の延長線上に位置していない場合のことである。
図14は、ロボット制御装置30が行う処理の具体例3におけるエンドエフェクターE
の一例を示す図である。図14に示した例では、フランジF2には、何も取り付けられて
いない。以下では、説明の便宜上、当該エンドエフェクターEを、エンドエフェクターE
1と称して説明する。図14に示したように、エンドエフェクターE1は、エンドエフェ
クターEから前述の第3部位EB3を取り除いた場合の形状を有するエンドエフェクター
である。このような形状を有するエンドエフェクターE1の重心は、第6回動軸に沿った
方向であってフランジF1からエンドエフェクターE1に向かう方向と逆の方向に向かっ
てエンドエフェクターE1を見た場合に、第6回動軸と重なっておらず、第6回動軸と第
2部位EB2との間に位置する。すなわち、エンドエフェクターE1は、偏心している。
なお、エンドエフェクターE1は、これに代えて、偏心していれば如何なる形状のエンド
エフェクターであってもよい。
図15は、ロボット制御装置30が行う処理の具体例3の流れを示すフローチャートで
ある。ここで、図15に示したステップS205の処理は、図8に示したステップS20
5の処理と同様な処理であるため説明を省略する。
図15に示したステップS205の処理が行われた後、ロボット制御部65は、記憶部
32に予め記憶された第3動作プログラムに基づいてロボット20を動作させ、可動部A
の姿勢を所定の第3姿勢と一致させる(ステップS310)。第3姿勢は、この一例にお
いて、図14に示した可動部Aの姿勢である。すなわち、第3姿勢は、可動部Aの姿勢の
うち、関節J1〜関節J5それぞれの回動角が、可動部Aの姿勢が第1姿勢と一致してい
る状態における関節J1〜関節J5それぞれの回動角と一致している姿勢である。また、
第3姿勢は、前述の前方向と逆の方向に向かってロボット20を見た場合において、エン
ドエフェクターE1が第6回動軸よりも前述の右方向側に位置する状態であって、支持台
Bが設置された設置面に対して第1部位EB1の長手方向が前述の下方向に第2半角度傾
いた状態における関節J6の回動軸と一致している姿勢である。第2半角度は、後述する
第3角度の半分の角度である。
ステップS310の処理が行われた後、ロボット制御部65は、関節J6に第3所定動
作を開始させる(ステップS320)。ここで、第3所定動作について説明する。第3所
定動作は、可動部Aを所定の第3角度以上回動させる動作を含む動作である。具体的には
、第3所定動作は、可動部Aの姿勢が第3姿勢と一致している状態において、第6回動軸
を第3回動方向に所定の第3角度回動させ、その後、第6回動軸を第4回動方向に第3角
度回動させる動作を含む動作である。この一例において、第6回動軸の方向が、設置面と
平行な方向を向いているため、関節J6が第3回動方向に回動した場合、左方向に向かっ
てエンドエフェクターE1を見た場合、エンドエフェクターE1が有する第2部位EB2
が上方向に移動し、関節J6が第4回動方向に回動した場合、エンドエフェクターE1が
有する第2部位EB2が下方向に移動する。左方向は、この一例における右方向と逆の方
向のことである。
以下では、一例として、第3所定動作が、可動部Aの姿勢が第3姿勢と一致している状
態において、第6回動軸を第3回動方向へ第3角度回動させ、その後、第6回動軸を第4
回動方向へ第3角度回動させる動作である場合について説明する。第3角度は、第3回動
方向又は第4回動方向に第6回動軸を回動させた場合において、第6回動軸の回動速度を
前述の所定速度に達するまで加速可能な角度であれば如何なる角度であってもよい。すな
わち、第3角度は、第3所定動作において関節J6が備えるアクチュエーターが第6回動
軸の回動速度を当該所定速度に一致させることが可能な角度以上の角度のうちユーザーに
より選択された角度である。第3角度が決まると、第3所定動作により第6回動軸が回動
させられる時間、第6回動軸の回動速度を加速させる加速度、当該回動速度を減速させる
減速度が決まる。また、第3所定動作において第6回動軸が第3回動方向に回動している
期間である第3正回動期間、及び第3所定動作において第6回動軸が第4回動方向に回動
している期間第3負回動期間のそれぞれには、第6回動軸が、この一例における所定速度
で回動している期間が含まれている。以下では、一例として、当該所定速度が、前述の第
1最高速度である場合について説明する。また、以下では、一例として、第2角度が12
0°の場合について説明する。なお、所定速度は、第1最高速度よりも遅い回動速度であ
ってもよい。ただし、所定速度は、第1最高速度の50%以上100以下の回動速度であ
る。所定速度が第1最高速度に近いほど、SN(Signal-Noise)比が良くなる。また、第
3角度は、120°に代えて、30°以上であってもよく、180°以上であってもよく
、360°以上であってもよい。
ステップS320の処理が行われた後、算出部63は、関節J6が備えるアクチュエー
ターの駆動電流を検出する(ステップS330)。次に、算出部63は、ステップS33
0において検出された駆動電流に基づいて、第6回動軸を回動させるために当該アクチュ
エーターが第6回動軸に加えたトルクを第31トルクとして算出する(ステップS340
)。ここで、算出部63が当該駆動電流に基づいて第31トルクを算出する方法は、既知
の方法であってもよく、これから開発される方法であってもよい。
次に、算出部63は、ステップS320において関節J6に開始させた第3所定動作が
終了したか否かを判定する(ステップS350)。ステップS320において関節J6に
開始させた第3所定動作が終了していないと判定した場合(ステップS350−NO)、
算出部63は、ステップS330に遷移し、再び関節J6が備えるアクチュエーターの駆
動電流を検出する。一方、ステップS320において関節J6に開始させた第3所定動作
が終了していると算出部63が判定した場合(ステップS350−YES)、ロボット制
御部65は、関節J6に第4所定動作を開始させる(ステップS370)。ステップS3
20〜ステップS350の処理が終了した後、可動部Aの姿勢は、第3所定動作において
第6回動軸が第3回動方向に第3角度回動してから第4方向に第3回動角度回動している
ため、再び第3姿勢と一致している。このため、ロボット制御部65は、ステップS37
0において、可動部Aの姿勢が第3姿勢と一致している状態において、関節J6に第4所
定動作を開始させる。
ここで、第4所定動作について説明する。第4所定動作は、第3所定動作よりも遅い動
作である。具体的には、第4所定動作は、可動部Aの姿勢が第3姿勢と一致している状態
において、第6回動軸を第3回動方向へ第3角度回動させ、その後、第6回動軸を第4回
動方向へ第3角度回動させる動作である。ただし、第4所定動作において第6回動軸が第
3回動方向に回動している期間、及び第4所定動作において第6回動軸が第4回動方向に
回動している期間のそれぞれにおける第6回動軸の回動速度の最高速度である第2最高速
度は、この一例において、第1最高速度の5%程度である。なお、第2最高速度は、これ
に代えて、第1最高速度の10%以下であれば如何なる回動速度であってもよい。
ステップS370の処理が行われた後、算出部63は、関節J6が備えるアクチュエー
ターの駆動電流を検出する(ステップS380)。次に、算出部63は、ステップS38
0において検出された駆動電流に基づいて、第6回動軸を回動させるために当該アクチュ
エーターが第6回動軸に加えたトルクを第32トルクとして算出する(ステップS390
)。ここで、算出部63が当該駆動電流に基づいて第32トルクを算出する方法は、既知
の方法であってもよく、これから開発される方法であってもよい。
次に、算出部63は、ステップS370において関節J6に開始させた第4所定動作が
終了したか否かを判定する(ステップS400)。ステップS370において関節J6に
開始させた第4所定動作が終了していないと判定した場合(ステップS400−NO)、
算出部63は、ステップS380に遷移し、再び関節J6が備えるアクチュエーターの駆
動電流を検出する。一方、ステップS370において関節J6に開始させた第4所定動作
が終了していると判定した場合(ステップS400−YES)、算出部63は、図15に
示したステップS270に遷移し、図8に示したステップS270の処理と同様の処理に
よって、ステップS330〜ステップS350の繰り返し処理において算出した第31ト
ルクに基づいて粘性トルクを算出する。当該処理については、図8において説明済みであ
るため説明を省略する。
ステップS270の処理が行われた後、算出部63は、ステップS380〜ステップS
400の繰り返し処理において算出された第32トルクに基づいて、前述の重力トルクを
算出する(ステップS410)。ここで、ステップS410の処理について説明する。当
該処理において算出部63が算出する第32トルクには、第6回動軸の加減速トルクと、
第6回動軸の粘性トルクと、第6回動軸の重力トルクが含まれている。ここで、当該処理
では、第6回動軸が前述の第1最高速度よりも遅い第2最高速度で回動するため、当該加
減速トルクは、小さくなる。これは、上記の式(7)からも明らかである。当該加減速ト
ルクが当該重力トルクよりも小さくなる場合、第32トルクには、近似的に、当該粘性ト
ルクと、当該重力トルクとの2つのトルクが含まれると考えることができる場合がある。
ここで、第2最高速度は、この一例において、第1最高速度の5%であるため、当該加減
速トルクは、第31トルクに含まれている加減速トルクの5%程度まで小さくなる。この
ことにより、以下では、第32トルクには、当該粘性トルクと、当該重力トルクとの2つ
のトルクのみが含まれていると近似することができる。このような近似の下で、算出部6
3は、第32トルクから、図15に示したステップS270において算出された粘性トル
クを差し引くことにより、第6回動軸の重力トルクを算出することができる。重力トルク
は、第3トルクの一例である。
図16は、このような第32トルクの時間的変化と、第31トルクの時間的変化とを表
すグラフの一例を示す図である。当該グラフの横軸は、時間を示す。当該グラフの縦軸は
、トルクを示す。また、当該グラフに示した曲線FC9は、第31トルクの時間的変化を
表している。また、当該グラフに示した曲線FC10は、第6回動軸の重力トルクと第6
回動軸の粘性トルクとを足し合わせたトルク(すなわち、第32トルク)の時間的変化を
表している。なお、当該グラフに示した曲線FC11は、曲線FC9が表す第31トルク
から曲線FC10が表す第32トルクを差し引いたトルクの時間的変化、すなわち第6回
動軸の加減速トルクの時間的変化を表している。
曲線FC9が表す第31トルクには、加減速トルクと、粘性トルクと、重力トルクとの
3つのトルクが含まれている。このため、算出部63は、図15に示したステップS27
0において算出された粘性トルクを当該第31トルクから差し引いた値と、当該粘性トル
クを曲線FC10が表す第32トルクから差し引いた値との差分を、この一例における第
6回動軸の加減速トルクとして算出することができる。
ステップS410の処理が行われた後、算出部63は、ステップS330〜ステップS
350の繰り返し処理において算出された第31トルクから、図15に示したステップS
270において算出された粘性トルクと、ステップS410において算出された重力トル
クとを差し引くことにより、この一例における加減速トルクを算出する(ステップS42
0)。そして、算出部63は、図15に示したステップS280に遷移し、当該加減速ト
ルクに基づいて図8に示したステップS280の処理と同様の処理によって平均トルクを
算出する。すなわち、算出部63は、当該加減速トルクに基づいて、当該加減速トルクの
平均値を平均トルクとして算出する。なお、この一例では、第6回動軸の粘性トルクと第
6回動軸の重力トルクとの違いを明確にするため、図15に示したステップS270の処
理とステップS410の処理とによって当該粘性トルクと当該重力トルクとのそれぞれを
算出した。しかし、前述した通り、当該差分は、当該第31トルクから当該第32トルク
を差し引いた値である。このため、図15に示したフローチャートにおいて、図15に示
したステップS270の処理とステップS410の処理とは、省略されてもよい。この場
合、算出部63は、ステップS420において、当該第31トルクから当該第32トルク
を差し引くことによって、当該加減速トルクを算出する。
算出部63は、図15に示したステップS280において平均トルクを算出した後、図
15に示したステップS205に遷移し、エンドエフェクターE1の取り付け状態が、ユ
ーザーによって第1状態と第2状態とのうちの未選択のいずれかに一致させられるまで待
機する。ただし、算出部63は、ステップS205において未選択の状態であってエンド
エフェクターE1の取り付け状態が存在しない場合、図15に示したステップS285に
遷移する。以下では、説明の便宜上、図15に示したステップS205においてユーザー
がエンドエフェクターE1の取り付け状態を第1状態と一致させた場合の図15に示した
ステップS280において算出された平均トルクを、第3平均トルクと称し、当該ステッ
プS205においてユーザーがエンドエフェクターE1の取り付け状態を第2状態と一致
させた場合の当該ステップS280において算出された平均トルクを、第4平均トルクと
称して説明する。
このようにして、図15に示したステップS205〜ステップS280の処理を繰り返
し行うことにより、ロボット制御装置30は、エンドエフェクターE1の取り付け状態の
それぞれ毎に、平均トルクを算出することができる。
図15に示したステップS285の処理が行われた後、表示制御部61及びロボット制
御部65は、図8に示したステップS290〜ステップS300と同じ処理を図15に示
したステップS290〜ステップS300において行い、処理を終了する。
なお、この一例における第1状態は、前述の第3状態であってもよい。この場合、第2
状態は、前述の第4状態である。第1状態及び第2状態がこれらの第3状態及び第4状態
である場合、ロボット制御装置30は、図15に示したフローチャートの処理によって、
フランジF2に何も取り付けられていない状態においてエンドエフェクターE1の慣性モ
ーメントを算出することができる。また、当該場合、第3状態における第3平均トルクは
、ロボット20の製造者によって予め算出されており、マニュアル等に記載されているこ
とがある。この場合、ロボット制御装置30は、当該第3平均トルクを算出するために必
要な処理を省略する構成であってもよい。すなわち、当該場合、図15に示したステップ
S205において選択可能なエンドエフェクターE1の取り付け状態は、第4状態のみで
ある。
ここで、ロボット制御装置30によって算出されるエンドエフェクターE1の慣性モー
メントは、ステップS330〜ステップS350の繰り返し処理において算出される第3
1トルクに基づいて算出された場合、可動部Aの姿勢が第3姿勢と一致している状態から
第6回動軸を第3回動方向に第2半角度回動させた際に第1部位EB1の長手方向であっ
て第6回動軸から第2部位EB2に向かう方向である動作中心方向がどの方向を向いてい
るかによって数十%程度変化してしまう。従って、動作中心方向がこの一例における動作
中心方向と異なる方向である場合に図15に示したフローチャートの処理によって算出さ
れたエンドエフェクターE1の慣性モーメント同士を比較することによって、図15に示
したステップS285においてエンドエフェクターE1の慣性モーメントが精度よく算出
されているか否かを確認することができる。
図17は、動作中心方向を変化させた場合における変化であって、図15に示したフロ
ーチャートの処理によって算出部63が算出したエンドエフェクターE1の慣性モーメン
トの変化を表すグラフの一例を示す図である。当該グラフの横軸は、互いに異なる複数の
動作中心方向のそれぞれを示す。図17に示した例では、当該複数の動作中心方向は、前
述した上方向、右方向、下方向の3つの方向である。当該グラフの縦軸は、慣性モーメン
トである。
図17に示した折線FC12は、ステップS330〜ステップS350の繰り返し処理
において算出される第31トルクに基づいて算出されたエンドエフェクターE1の慣性モ
ーメントの各動作中心方向に応じた変化を表している。折線FC12に示される通り、当
該慣性モーメントは、動作中心方向の変化とともに数十%程度変化してしまうことが分か
る。
図17に示した折線FC13は、図15に示したフローチャートの処理によって算出さ
れたエンドエフェクターE1の慣性モーメントの各動作中心方向に応じた変化を表してい
る。折線FC13に示される通り、当該慣性モーメントは、動作中心方向の変化とともに
変化しているが、変化の度合いは10%程度である。これは、ステップS330〜ステッ
プS350の繰り返し処理において算出される第31トルクに基づいてエンドエフェクタ
ーE1の慣性モーメントを算出する場合よりも、図15に示したステップS285の処理
において算出されたエンドエフェクターE1の慣性モーメントの方が精度よく算出されて
いることを意味している。
図17に示した折線FC14は、図15に示したフローチャートの処理によって算出さ
れたエンドエフェクターE1の慣性モーメントであって、当該処理におけるステップS4
20の処理において算出された加減速トルクに前述したロス係数(この場合、1.25)
を乗算した場合の当該慣性モーメントの各動作中心方向に応じた変化を表している。折線
FC14に示される通り、当該慣性モーメントは、動作中心方向の変化とともに変化して
いる。しかし、この変化の度合いは、折線FC13が表す変化の度合いよりも小さい。
図17に示した折線FC15は、図15に示したフローチャートの処理によって算出さ
れたエンドエフェクターE1の慣性モーメントであって、当該処理におけるステップS4
20の処理において算出された加減速トルクに前述したロス係数(この場合、1.35)
を乗算した場合の当該慣性モーメントの各動作中心方向に応じた変化を表している。折線
FC15に示される通り、当該慣性モーメントは、動作中心方向の変化とともに変化して
いる。しかし、この変化の度合いは、折線FC14が表す変化の度合いよりも小さい。
図17に示した折線FC16は、図15に示したフローチャートの処理によって算出さ
れたエンドエフェクターE1の慣性モーメントであって、当該処理におけるステップS4
20の処理において算出された加減速トルクに前述したロス係数(この場合、1.4)を
乗算した場合の当該慣性モーメントの各動作中心方向に応じた変化を表している。また、
図17に示した折線FC17は、図15に示したフローチャートの処理によって算出され
たエンドエフェクターE1の慣性モーメントであって、当該処理におけるステップS42
0の処理において算出された加減速トルクに前述したロス係数(この場合、1.5)を乗
算した場合の当該慣性モーメントの各動作中心方向に応じた変化を表している。折線FC
16及び折線FC17に示される通り、これらの慣性モーメントは、動作中心方向が変化
しても、ほぼ変化しない。
これらのことから、ロボット制御装置30は、図15に示したフローチャートの処理と
、当該処理におけるステップS420の処理において算出される加減速トルクにロス係数
を乗算する処理とによって、エンドエフェクターE1の慣性モーメントを精度よく算出す
ることができることが分かる。
以上のように、ロボット制御装置30は、第3所定動作よりも遅い第4所定動作に基づ
いて算出された重力トルクに基づいて慣性モーメントを算出する。これにより、ロボット
制御装置30は、重力トルクに基づいて、エンドエフェクターE1の慣性モーメントを精
度よく算出することができる。
<ロボット制御装置が行う処理の具体例4>
以下、図18〜図22を参照し、ロボット制御装置30が行う処理の具体例4について
説明する。ロボット制御装置30が行う処理の具体例4では、ロボット制御装置30は、
上記のロボット制御装置30が行う処理の具体例3において説明した方法によって算出さ
れたエンドエフェクターE1の慣性モーメントに基づいて、エンドエフェクターE1の重
量、エンドエフェクターE1のオフセットの少なくとも一方を算出する。
図18は、ロボット制御装置30が行う処理の具体例4の流れを示すフローチャートで
ある。
ロボット制御部65は、前述の対象関節のそれぞれ毎に、ステップS420〜ステップ
S460の処理を繰り返し行う(ステップS425)。
ロボット制御部65は、ロボット制御装置30が行う処理の具体例3において説明した
方法であって当該具体例3における関節J6の代わりにステップS425において選択さ
れた対象関節を用いた方法によってエンドエフェクターE1の慣性モーメントを算出する
(ステップS427)。ここで、ステップS427の処理について説明する。
ロボット制御装置30が行う処理の具体例3において説明した方法であって当該具体例
3における関節J6の代わりにステップS425において選択された対象関節を用いた方
法では、前述の第3姿勢に代えて、所定の第5姿勢を用いる。第5姿勢は、ステップS4
25において選択された対象関節に第3所定動作及び第4所定動作を行わせることが可能
な姿勢であれば、如何なる姿勢であってもよい。また、当該方法では、ステップS425
において選択された関節毎に、異なる第3角度を用いてもよい。以下では、一例として、
関節J3に応じた第3角度である第4角度が60°であり、関節J5に応じた第3角度で
ある第5角度が90°である場合について説明する。
ここで、図19は、ステップS425において関節J3が選択された場合にロボット制
御装置30が、ロボット制御装置30が行う処理の具体例3において説明した方法によっ
て算出した第31トルクの時間的変化と、粘性トルクの時間的変化と、加減速トルクの時
間的変化とのそれぞれを表すグラフの一例を示す図である。当該グラフの横軸は、時間を
示す。当該グラフの縦軸は、トルクを示す。当該グラフに示した曲線FC18は、当該第
31トルクの時間的変化を表す。また、当該グラフに示した曲線FC19は、当該粘性ト
ルクの時間的変化を表す。また、当該グラフに示した曲線FC20は、当該加減速トルク
の時間的変化を表す。
一方、図20は、ステップS425において関節J5が選択された場合にロボット制御
装置30が、ロボット制御装置30が行う処理の具体例3において説明した方法によって
算出した第31トルクの時間的変化と、粘性トルクの時間的変化と、加減速トルクの時間
的変化とのそれぞれを表すグラフの一例を示す図である。当該グラフの横軸は、時間を示
す。当該グラフの縦軸は、トルクを示す。当該グラフに示した曲線FC21は、当該第3
1トルクの時間的変化を表す。また、当該グラフに示した曲線FC22は、当該粘性トル
クの時間的変化を表す。また、当該グラフに示した曲線FC23は、当該加減速トルクの
時間的変化を表す。
ステップS420の処理が行われた後、ロボット制御部65は、ステップS425に遷
移し、未選択の対象関節を選択する。ただし、算出部63は、ステップS425において
未選択の対象関節が存在しない場合、ステップS430に遷移し、ステップS425〜ス
テップS427の繰り返し処理において対象関節毎に算出されたエンドエフェクターE1
の慣性モーメントに基づいて、エンドエフェクターE1のオフセットを算出する(ステッ
プS430)。次に、算出部63は、ステップS425〜ステップS427の繰り返し処
理において対象関節毎に算出されたエンドエフェクターE1の慣性モーメントに基づいて
、エンドエフェクターE1の重量を算出する(ステップS440)。なお、ステップS4
30の処理とステップS440の処理とは、並列に行われる構成であってもよい。
ここで、ステップS430及びステップS440の処理について説明する。関節J3を
用いて算出されたエンドエフェクターE1の慣性モーメントである慣性モーメントM11
は、可動部Aの姿勢が前述の第1姿勢と一致している場合における第3回動軸からエンド
エフェクターE1の重心までの距離であって支持台Bが設置された設置面に平行な方向に
おける距離の二乗と、エンドエフェクターE1の重量である重量W11とを乗算した値と
一致する。当該距離は、図7に示した距離L1及び距離L2と、エンドエフェクターE1
の取付面からエンドエフェクターE1の重心までの距離であって当該設置面に平行な方向
における距離であるエンドエフェクターE1のオフセットY2との和である。これにより
、慣性モーメントM11は、以下の式(8)によって表される。
M11=W11×(L1+L2+Y2) ・・・(8)
また、関節J5を用いて算出されたエンドエフェクターE1の慣性モーメントである慣
性モーメントM12は、可動部Aの姿勢が前述の第1姿勢と一致している場合における第
5回動軸からエンドエフェクターE1の重心までの距離であって支持台Bが設置された設
置面に平行な方向における距離の二乗と、エンドエフェクターE1の重量である重量W1
1とを乗算した値と一致する。当該距離は、図7に示した距離L1と、オフセットY2と
の和である。これにより、慣性モーメントM12は、以下の式(9)によって表される。
M12=W11×(L1+Y2) ・・・(9)
上記の式(8)及び式(9)の連立方程式を解くことにより、エンドエフェクターE1
の重量W11と、エンドエフェクターE1のオフセットY2とは、以下に示した式(10
)〜式(15)のように慣性モーメントM11と慣性モーメントM12によって表される
Y2=(−b+(b−4×a×c)1/2)/(2×a) ・・・(11)
a=M11−M12 ・・・(12)
b=0.16×M11−1.46×M12 ・・・(13)
c=0.0064×M11−0.5329×M12 ・・・(14)
W11=M12/(L1+Y2) ・・・(15)
すなわち、距離L1、距離L2、慣性モーメントM11、慣性モーメントM12のそれ
ぞれが既知であるため、算出部63は、上記の式(11)〜式(15)に基づいて、重量
W11及びオフセットY2をステップS430の処理及びステップS440の処理におい
て算出する。
ステップS440の処理が行われた後、表示制御部61は、ステップS440において
算出したエンドエフェクターE1の重量W11及びエンドエフェクターE1のオフセット
Y2を表示部35に表示させる(ステップS450)。なお、ステップS450において
、表示制御部61は、エンドエフェクターE1の重量W11と、エンドエフェクターE1
のオフセットY2とのいずれか一方を表示部35に表示させる構成であってもよい。
次に、ロボット制御部65は、ステップS430〜ステップS440において算出した
エンドエフェクターE1の重量W11及びエンドエフェクターE1のオフセットY2を記
憶部32に記憶することにより、重量W11及びオフセットY2をロボット制御装置30
に設定し(ステップS460)、処理を終了する。これにより、ロボット制御部65は、
例えば、設定したエンドエフェクターE1の重量W11及びエンドエフェクターE1のオ
フセットY2と、記憶部32に予め記憶された動作プログラムであってロボット20に所
定の作業を行わせる動作プログラムとに基づいて、ロボット20に所定の作業を精度よく
行わせることができる。また、表示制御部61は、例えば、設定したエンドエフェクター
E1のオフセットY2が、予め決められた範囲であってロボット制御装置30に設定可能
なエンドエフェクターE1のオフセットの範囲に含まれていない場合、表示部35にエラ
ーを表示させることができる。
図21は、ステップS440において算出部63が算出したエンドエフェクターE1の
重量の精度を示すグラフの一例を示す図である。具体的には、図21は、フランジF1に
取り付けたエンドエフェクターの重量を変化させた場合における変化であって、当該重量
をステップS410〜ステップS440の処理によって算出部63が算出した結果の変化
を表すグラフの一例を示す図である。エンドエフェクターの重量を変化させる方法として
は、例えば、重量が互いに異なる複数のエンドエフェクターのそれぞれを用いて、フラン
ジF1に取り付けられたエンドエフェクターを交換する方法が挙げられる。当該グラフの
横軸は、フランジF1に取り付けられたエンドエフェクターの重量を示す。また、当該グ
ラフの縦軸は、当該重量をステップS410〜ステップS440の処理によって算出部6
3が算出した結果を示す。
図21に示したグラフにプロットされた折線FC24は、フランジF1に取り付けたエ
ンドエフェクターの重量を変化させた場合における変化であって、当該重量をステップS
410〜ステップS440の処理によって算出部63が算出した結果の変化を表す。また
、折線FC25は、フランジF1に取り付けたエンドエフェクターの重量をステップS4
10〜ステップS440の処理によって算出部63が誤差なく算出することができた場合
の折線である。また、折線FC26は、フランジF1に取り付けたエンドエフェクターの
重量を変化させた場合における変化であって、当該重量をステップS410〜ステップS
440の処理によって算出部63が算出した結果にロス係数として1.08を乗算した場
合の折線である。
図21の折線FC24と折線FC25を比較することによって、ロボット制御装置30
が、図18に示したフローチャートの処理によってエンドエフェクターE1の重量を誤差
10%程度の精度で算出することができていることが分かる。また、図21の折線FC2
5と折線FC26を比較することによって、ロボット制御装置30が、図18に示したフ
ローチャートの処理によって算出したエンドエフェクターE1の重量にロス係数を乗算し
た場合、誤差が数%以下の精度で当該重量を算出することができていることが分かる。
図22は、ステップS440において算出部63が算出したエンドエフェクターE1の
オフセットの精度を示すグラフの一例を示す図である。具体的には、図22は、フランジ
F1に取り付けたエンドエフェクターのオフセットを変化させた場合における変化であっ
て、当該オフセットをステップS410〜ステップS430の処理によって算出部63が
算出した結果の変化を表すグラフの一例を示す図である。当該グラフの横軸は、フランジ
F1に取り付けられたエンドエフェクターのオフセットを示す。また、当該グラフの縦軸
は、当該結果を示す。
図22に示したグラフにプロットされた折線は、フランジF1に取り付けたエンドエフ
ェクターのオフセットを変化させた場合における変化であって、当該オフセットをステッ
プS410〜ステップS430の処理によって算出部63が算出した結果の変化を表す。
当該折線を見ると、フランジF1に取り付けられたエンドエフェクターのオフセットと、
当該オフセットをステップS430の処理によって算出部63が算出した結果とが数十%
程度の誤差があるものの、ほぼ正比例していることが分かる。このことから、ロボット制
御装置30は、ロボット制御装置30が、図18に示したフローチャートの処理によって
エンドエフェクターE1のオフセットを精度で算出することができていることが分かる。
以上のように、ロボット制御装置30は、第3回動軸及び第5回動軸それぞれ周りの慣
性モーメントである慣性モーメントM11及び慣性モーメントM12を算出し、算出した
慣性モーメントM11及び慣性モーメントM12のそれぞれに基づいて、エンドエフェク
ターE1の重量W11、エンドエフェクターE1のオフセットY2の少なくとも一方を算
出する。これにより、ロボット制御装置30は、エンドエフェクターE1の重量W11、
エンドエフェクターE1のオフセットY2の少なくとも一方を精度よく算出することがで
きる。
<ロボット制御装置が行う処理の具体例5>
以下、図23〜図27を参照し、ロボット制御装置30が行う処理の具体例5について
説明する。ロボット制御装置30が行う処理の具体例5では、ロボット制御装置30は、
上記のロボット制御装置30が行う処理の具体例2におけるステップS240〜ステップ
S260の繰り返し処理において算出されたトルク、又は当該処理の具体例3において説
明した方法におけるステップS330〜ステップS350の繰り返し処理において算出さ
れた第31トルクに基づいて、エンドエフェクターEの慣性モーメントを算出する。以下
では、一例として、ロボット制御装置30が、当該具体例2におけるステップS240〜
ステップS260の繰り返し処理において算出されたトルクを算出した場合について説明
する。また、以下では、当該トルクが既に算出済みである場合について説明する。また、
以下では、説明の便宜上、当該方法におけるステップS205においてユーザーがエンド
エフェクターE1の取り付け状態を第1状態と一致させた場合に算出された当該トルクを
第51トルクと称し、当該状態を第2状態と一致させた場合に算出された当該トルクを第
52トルクと称して説明する。第51トルクは、第1トルクの一例である。また、第52
トルクは、第2トルクの一例である。
図23は、ロボット制御装置30が行う処理の具体例5の流れを示すフローチャートで
ある。
算出部63は、ロボット制御装置30が行う処理の具体例2において説明した方法によ
って算出された第51トルクと第52トルクの差分を、この一例における第6回動軸の加
減速トルクとして算出する(ステップS510)。ここで、ステップS510の処理につ
いて説明する。
第51トルクと第52トルクのそれぞれを算出する際、ロボット制御部65は、関節J
6に第2所定動作を行わせている。第51トルクを算出する際に関節J6が第2所定動作
において回動する回動速度は、第52トルクを算出する際に関節J6が第2所定動作にお
いて回動する回動速度と同じ回動速度である。すなわち、第51トルクと第52トルクの
それぞれには、誤差による粘性トルクの変化分を除いて大きさが同じ粘性トルクが含まれ
ていると考えられる。このため、第52トルクと第51トルクとの差分は、エンドエフェ
クターEの加減速トルクと一致すると考えられる。そこで、算出部63は、ステップS5
10において、第51トルクと第52トルクの差分を、この一例における第6回動軸の加
減速トルクとして算出する。
ここで、図24は、ロボット制御装置30が行う処理の具体例2において説明した方法
におけるステップS240〜ステップS260の繰り返し処理において算出された第51
加減速トルクの時間的変化を表すグラフの一例を示す図である。当該グラフの横軸は、時
間を示す。当該グラフの縦軸は、トルクを示す。
図25は、ロボット制御装置30が行う処理の具体例2において説明した方法における
ステップS240〜ステップS260の繰り返し処理において算出された第52加減速ト
ルクの時間的変化を表すグラフの一例を示す図である。また、図25は、当該第52加減
速トルクであってエンドエフェクターEの重量が0.05kgの場合の当該第52加減速
トルクの時間的変化を表すグラフの一例を示す図である。当該グラフの横軸は、時間を示
す。当該グラフの縦軸は、トルクを示す。
図26は、ロボット制御装置30が行う処理の具体例2において説明した方法における
ステップS240〜ステップS260の繰り返し処理において算出された第52加減速ト
ルクの時間的変化を表すグラフの他の例を示す図である。また、図26は、当該第52加
減速トルクであってエンドエフェクターEの重量が0.10kgの場合の当該第52加減
速トルクの時間的変化を表すグラフの一例を示す図である。当該グラフの横軸は、時間を
示す。当該グラフの縦軸は、トルクを示す。
図27は、図24〜図26のそれぞれに示した第51トルクと第52トルクとのそれぞ
れに基づいて算出された加減速トルクの時間的変化を表すグラフの一例を示す図である。
当該グラフの横軸は、時間を示す。当該グラフの縦軸は、トルクを示す。当該グラフに示
した曲線JC27は、図24に示した第51トルクと図25に示した第52トルクとの差
分である加減速トルクの時間的変化を表す。また、当該グラフに示した曲線JC28は、
図24に示した第51トルクと図26に示した第52トルクとの差分である加減速トルク
の時間的変化を表す。これらの加減速トルクには、粘性トルクが含まれていない。このた
め、算出部63は、これらの加減速トルクに基づいて、エンドエフェクターEの慣性モー
メントを算出することができる。
ステップS510の処理が行われた後、算出部63は、ステップS510の処理におい
て算出した加減速トルクと、ロボット制御装置30が行う処理の具体例2におけるステッ
プS280において説明した方法とに基づいて当該加減速トルクの平均値である平均トル
クを算出する(ステップS515)。ここで、ステップS515の処理について説明する
ステップS515において、算出部63は、ステップS510の処理において算出した
加減速トルクのうち、前述の第1正回動期間のうちの前半の50%の期間における当該加
減速トルクと、第1負回動期間のうちの前半の50%の期間における当該加減速トルクと
の平均値を平均トルクとして算出する。これにより、算出部63は、ステップS510の
処理において算出した加減速トルクの時間的変化を表す波形の乱れによる誤差を抑制する
ことができる。なお、算出部63は、ステップS515において、ステップS510の処
理において算出した加減速トルクのうち、前述の第1正回動期間のうちの後半の50%の
期間における当該加減速トルクと、第1負回動期間のうちの後半の50%の期間における
当該加減速トルクとの平均値を平均トルクとして算出する構成であってもよい。
次に、算出部63は、ステップS515において算出された平均トルクに基づいて、エ
ンドエフェクターEの慣性モーメントを算出する(ステップS520)。ここで、ステッ
プS520の処理について説明する。算出部63は、上記の式(7)と、当該平均トルク
とに基づいて、エンドエフェクターEの慣性モーメントを算出する。具体的には、算出部
63は、当該平均トルクをトルクT3に代入し、前述の第1最高速度を回動速度V1に代
入し、第6回動軸が加速され始めてから第1最高速度に達するまでの時間を経過時間TM
に代入することにより、当該平均トルクに基づく慣性モーメントM1をエンドエフェクタ
ーEの慣性モーメントとして算出することができる。
ステップS520の処理が行われた後、表示制御部61は、ステップS520において
算出したエンドエフェクターEの慣性モーメントを表示部35に表示させる(ステップS
530)。
次に、ロボット制御部65は、ステップS520において算出したエンドエフェクター
Eの慣性モーメントを記憶部32に記憶することにより、ロボット制御装置30に設定し
(ステップS540)、処理を終了する。これにより、ロボット制御部65は、例えば、
設定したエンドエフェクターEの慣性モーメントと、記憶部32に予め記憶された動作プ
ログラムとに基づいて、ロボット20に所定の作業を精度よく行わせることができる。
なお、算出部63は、ステップS510の処理(すなわち、この一例において、ステッ
プS425〜ステップS427の繰り返し処理)に代えて、ロボット制御装置30が行う
処理の具体例3及び具体例4のそれぞれにおいて説明した方法の組み合わせによって、関
節J3及び関節J5のそれぞれに第2所定動作を行わせ、且つ、エンドエフェクターEの
取り付け状態毎の加減速トルクのそれぞれを第51トルク及び第52トルクのそれぞれと
して算出する構成であってもよい。
以上のように、ロボット制御装置30は、第1状態において、第6回動軸を30°以上
回動させる動作を含む第2所定動作にて関節J6が第2所定動作を行っている期間測定し
た第51トルク及び第52トルクと、第2状態において、第2所定動作にて当該期間測定
した第51トルク及び第52トルクとに基づいて、エンドエフェクターEの慣性モーメン
トを算出する。これにより、ロボット制御装置30は、第6回動軸を30°以上回動させ
る動作を含む第2所定動作によって、エンドエフェクターEの慣性モーメントを精度よく
算出することができる。
また、ロボット制御装置30は、第1状態において、第6回動軸を180°以上回動さ
せる動作を含む第2所定動作にて関節J6が第2所定動作を行っている期間測定した第5
1トルク及び第52トルクと、第2状態において、第2所定動作にて当該期間測定した第
51トルク及び第52トルクとに基づいて、エンドエフェクターEの慣性モーメントを算
出する。これにより、ロボット制御装置30は、第6回動軸を180°以上回動させる動
作を含む第2所定動作によって、エンドエフェクターEの慣性モーメントを精度よく算出
することができる。
また、ロボット制御装置30は、算出したエンドエフェクターEの慣性モーメントに基
づいて、エンドエフェクターEの重量、エンドエフェクターEのオフセットの少なくとも
1つを算出する。これにより、ロボット制御装置30は、算出したエンドエフェクターE
の慣性モーメントに基づいて、エンドエフェクターEの重量、エンドエフェクターEのオ
フセットの少なくとも1つを精度よく算出することができる。
ロボット制御装置30は、第51トルクの一部と第52トルクの一部に基づいて、エン
ドエフェクターEの重量、エンドエフェクターEのオフセット、及びエンドエフェクター
Eの慣性モーメントの少なくとも1つを算出する。これにより、ロボット制御装置30は
、第51トルクの一部と第52トルクの一部に基づいて、エンドエフェクターEの重量、
エンドエフェクターEのオフセットの少なくとも1つを精度よく算出することができる。
ロボット制御装置30は、第51トルクと第52トルクとの差に基づいて、エンドエフ
ェクターEの重量、エンドエフェクターEのオフセット、及びエンドエフェクターEの慣
性モーメントの少なくとも1つを算出する。これにより、ロボット制御装置30は、第5
1トルクと第52トルクとの差に基づいて、エンドエフェクターEの重量、エンドエフェ
クターEのオフセットの少なくとも1つを精度よく算出することができる。
ロボット制御装置30は、第1状態において、第2所定動作にて第2所定動作が行われ
ている期間測定した第51トルクあって第3回動軸及び第5回動軸それぞれの周りの第5
1トルクと、第2状態において、第2所定動作にて当該期間測定した第52トルクであっ
て第3回動軸及び第5回動軸それぞれの周りの第52トルクとに基づいて、エンドエフェ
クターEの重量、エンドエフェクターEのオフセット、及びエンドエフェクターEの慣性
モーメントの少なくとも1つを算出する。これにより、ロボット制御装置30は、関節J
3及び関節J5に第2所定動作を行わせることによって、エンドエフェクターEの重量、
エンドエフェクターEのオフセット、及びエンドエフェクターEの慣性モーメントの少な
くとも1つを精度よく算出することができる。
以上のように、ロボット制御装置30は、可動部AにエンドエフェクターEが設けられ
ていない状態において、第1動作にて所定期間測定した第1トルクと、可動部Aにエンド
エフェクターEが設けられている状態において、第1動作にて所定期間測定した第2トル
クとに基づいて、エンドエフェクターEの重量、エンドエフェクターEのオフセット、及
びエンドエフェクターEの慣性モーメントの少なくとも1つを算出する。これにより、ロ
ボット制御装置30は、エンドエフェクターEの重量、エンドエフェクターEのオフセッ
ト、及びエンドエフェクターEの慣性モーメントの少なくとも1つを精度よく算出するこ
とができる。
また、ロボット制御装置30は、エンドエフェクターEに接続可能、且つ、第1動作に
よって移動する物体が設けられている可動部AにエンドエフェクターEが設けられていな
い状態において、第1動作にて所定期間測定した第1トルクと、当該可動部Aにエンドエ
フェクターEが設けられている状態において、第1動作にて所定期間測定した第2トルク
とに基づいて、エンドエフェクターEの重量、エンドエフェクターEのオフセット、及び
エンドエフェクターEの慣性モーメントの少なくとも1つを算出する。これにより、ロボ
ット制御装置30は、エンドエフェクターEに接続可能、且つ、第1動作によって移動す
る物体が可動部に設けられている状態において、エンドエフェクターEの重量、エンドエ
フェクターEのオフセット、及びエンドエフェクターEの慣性モーメントの少なくとも1
つを精度よく算出することができる。
また、ロボット制御装置30は、力検出器とは異なる物体が設けられている可動部Aに
エンドエフェクターEが設けられていない状態において、第1動作にて所定期間測定した
第1トルクと、当該可動部AにエンドエフェクターEが設けられている状態において、第
1動作にて所定期間測定した第2トルクとに基づいて、エンドエフェクターEの重量、エ
ンドエフェクターEのオフセット、及びエンドエフェクターEの慣性モーメントの少なく
とも1つを算出する。これにより、ロボット制御装置30は、力検出器とは異なる物体が
可動部に設けられている状態において、エンドエフェクターEの重量、エンドエフェクタ
ーEのオフセット、及びエンドエフェクターEの慣性モーメントの少なくとも1つを精度
よく算出することができる。
また、ロボット制御装置30は、可動部AにエンドエフェクターEが設けられていない
状態において、第1方向に可動部Aを第1角度回動させる動作と第1方向とは逆方向であ
る第2方向に可動部Aを第1角度回動させる動作とを含む第1動作にて所定期間測定した
第1トルクと、当該可動部AにエンドエフェクターEが設けられている状態において、当
該第1動作にて所定期間測定した第2トルクとに基づいて、エンドエフェクターEの重量
、エンドエフェクターEのオフセット、及びエンドエフェクターEの慣性モーメントの少
なくとも1つを算出する。これにより、ロボット制御装置30は、第1方向に可動部Aを
第1角度回動させる動作と第2方向に可動部Aを第1角度回動させる動作とを含む第1動
作をロボット20に行わせることによって、エンドエフェクターEの重量、エンドエフェ
クターEのオフセット、及びエンドエフェクターEの慣性モーメントの少なくとも1つを
精度よく算出することができる。
また、ロボット制御装置30は、所定期間のうち可動部Aを回動させるモーターが1回
転する場合に可動部Aが回動する角度の整数倍によって表される期間における第1トルク
及び第2トルクに基づいて、エンドエフェクターEの重量、エンドエフェクターEのオフ
セットの少なくとも1つを算出する。これにより、ロボット制御装置30は、モーターが
1回転する間に生じるトルクの変動による誤差を抑制することができ、その結果、エンド
エフェクターEの重量、エンドエフェクターEのオフセットの少なくとも1つを精度よく
算出することができる。
また、ロボット制御装置30は、可動部AにエンドエフェクターEが設けられていない
状態において、可動部Aを30°以上回動させる動作を含む第1動作にて所定期間測定し
た第1トルクと、可動部Aにエンドエフェクターが設けられている状態において、当該第
1動作にて所定期間測定した第2トルクとに基づいて、エンドエフェクターEの慣性モー
メントを算出する。これにより、ロボット制御装置30は、可動部を30°以上回動させ
る動作を含む第1動作によって、エンドエフェクターEの慣性モーメントを精度よく算出
することができる。
また、ロボット制御装置30は、可動部AにエンドエフェクターEが設けられていない
状態において、可動部Aを180°以上回動させる動作を含む第1動作にて所定期間測定
した第1トルクと、可動部AにエンドエフェクターEが設けられている状態において、当
該第1動作にて所定期間測定した第2トルクとに基づいて、エンドエフェクターEの慣性
モーメントを算出する。これにより、ロボット制御装置30は、可動部Aを180°以上
回動させる動作を含む第1動作によって、エンドエフェクターEの慣性モーメントを精度
よく算出することができる。
また、ロボット制御装置30は、算出したエンドエフェクターEの慣性モーメントに基
づいて、エンドエフェクターEの重量、エンドエフェクターEのオフセットの少なくとも
1つを算出する。これにより、ロボット制御装置30は、算出したエンドエフェクターE
の慣性モーメントに基づいて、エンドエフェクターEの重量、エンドエフェクターEのオ
フセットの少なくとも1つを精度よく算出することができる。
また、ロボット制御装置30は、第1トルクの一部と第2トルクの一部に基づいて、エ
ンドエフェクターEの重量、エンドエフェクターEのオフセット、及びエンドエフェクタ
ーEの慣性モーメントの少なくとも1つを算出する。これにより、ロボット制御装置30
は、第1トルクの一部と第2トルクの一部に基づいて、エンドエフェクターEの重量、エ
ンドエフェクターEのオフセットの少なくとも1つを精度よく算出することができる。
また、ロボット制御装置30は、第1トルクと第2トルクとの差に基づいて、エンドエ
フェクターEの重量、エンドエフェクターEのオフセット、及びエンドエフェクターEの
慣性モーメントの少なくとも1つを算出する。これにより、ロボット制御装置30は、第
1トルクと第2トルクとの差に基づいて、エンドエフェクターEの重量、エンドエフェク
ターEのオフセットの少なくとも1つを精度よく算出することができる。
また、ロボット制御装置30は、エンドエフェクターEの重量、エンドエフェクターE
のオフセット、及びエンドエフェクターEの慣性モーメントの少なくとも1つを表示部3
5に表示させる。これにより、ロボット制御装置30は、エンドエフェクターEの重量、
エンドエフェクターEーのオフセット、及びエンドエフェクターEの慣性モーメントの少
なくとも1つをユーザーに確認させることができる。
また、ロボット制御装置30は、可動部Aを屈曲させる2以上の回動軸を有する可動部
AにエンドエフェクターEが設けられていない状態において、第1動作にて所定期間測定
した第1トルクであって当該回動軸それぞれの周りの第1トルクと、当該可動部Aにエン
ドエフェクターEが設けられている状態において、第1動作にて所定期間測定した第2ト
ルクであって当該回動軸それぞれの周りの第2トルクとに基づいて、エンドエフェクター
Eの重量、エンドエフェクターEのオフセット、及びエンドエフェクターEの慣性モーメ
ントの少なくとも1つを算出する。これにより、ロボット制御装置30は、可動部Aを屈
曲させる2以上の回動軸を有する可動部Aに第1動作を行わせることによって、エンドエ
フェクターEの重量、エンドエフェクターEのオフセット、及びエンドエフェクターEの
慣性モーメントの少なくとも1つを精度よく算出することができる。
また、ロボット20では、可動部AにエンドエフェクターEが設けられていない状態に
おいて、第1動作にて所定期間測定された第1トルクと、可動部Aにエンドエフェクター
Eが設けられている状態において、第1動作にて所定期間測定された第2トルクとに基づ
いて、エンドエフェクターEの重量、エンドエフェクターEのオフセット、及びエンドエ
フェクターEの慣性モーメントの少なくとも1つが算出される。これにより、ロボット2
0は、エンドエフェクターEの重量、エンドエフェクターEのオフセット、及びエンドエ
フェクターEの慣性モーメントの少なくとも1つが算出された結果に基づいて、所定の作
業を精度よく行うことができる。
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実
施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等
されてもよい。
また、以上に説明した装置(例えば、ロボット制御装置30)における任意の構成部の
機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、
そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。な
お、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機
器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体
」とは、フレキシブルディスク、光磁気ディスク、ROM、CD(Compact Disk)−R
OM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置の
ことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等
のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバー
やクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM)のように
、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシ
ステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータ
ーシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インタ
ーネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を
伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい
。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録さ
れているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プロ
グラム)であってもよい。
1…ロボットシステム、20…ロボット、30…ロボット制御装置、31…CPU、32
…記憶部、33…入力受付部、34…通信部、35…表示部、36…制御部、61…表示
制御部、63…算出部、65…ロボット制御部

Claims (14)

  1. エンドエフェクターを着脱可能な可動部を備えたロボットを制御するロボット制御装置
    であって、
    前記可動部に第1動作をさせる制御部を備え、
    前記制御部は、前記可動部に前記エンドエフェクターが設けられていない状態において
    、前記第1動作にて所定期間測定した第1トルクと、前記可動部に前記エンドエフェクタ
    ーが設けられている状態において、前記第1動作にて前記所定期間測定した第2トルクと
    に基づいて、前記エンドエフェクターの重量、前記エンドエフェクターのオフセット、及
    び前記エンドエフェクターの慣性モーメントの少なくとも1つを算出する、
    ロボット制御装置。
  2. 前記可動部には、前記エンドエフェクターに接続可能、且つ、前記第1動作によって移
    動する物体が設けられている、
    請求項1に記載のロボット制御装置。
  3. 前記物体は、力検出器とは異なる、
    請求項2に記載のロボット制御装置。
  4. 前記第1動作は、第1方向に前記可動部を第1角度回動させる動作と、前記第1方向と
    は逆方向である第2方向に前記可動部を前記第1角度回動させる動作とを含み、
    前記制御部は、前記重量、前記オフセットの少なくとも1つを算出する、
    請求項1から3のうちいずれか一項に記載のロボット制御装置。
  5. 前記制御部は、前記所定期間のうち前記可動部を回動させるモーターが1回転する場合
    に前記可動部が回動する角度の整数倍によって表される期間における前記第1トルク及び
    前記第2トルクに基づいて、前記重量、前記オフセットの少なくとも1つを算出する、
    請求項1から4のうちいずれか一項に記載のロボット制御装置。
  6. 前記第1動作は、前記可動部を30°以上回動させる動作を含み、
    前記制御部は、前記慣性モーメントを算出する、
    請求項1から5のうちいずれか一項に記載のロボット制御装置。
  7. 前記第1動作は、前記可動部を180°以上回動させる動作を含む、
    請求項6に記載のロボット制御装置。
  8. 前記制御部は、算出した前記慣性モーメントに基づいて、前記重量、前記オフセットの
    少なくとも1つを算出する、
    請求項6又は7に記載のロボット制御装置。
  9. 前記制御部は、前記第1トルクの一部と前記第2トルクの一部に基づいて、前記重量、
    前記オフセット、及び前記慣性モーメントの少なくとも1つを算出する、
    請求項1から8のうちいずれか一項に記載のロボット制御装置。
  10. 前記制御部は、前記第1トルクと前記第2トルクとの差に基づいて、前記重量、前記オ
    フセット、及び前記慣性モーメントの少なくとも1つを算出する、
    請求項1から9のうちいずれか一項に記載のロボット制御装置。
  11. 前記制御部は、前記重量、前記オフセット、及び前記慣性モーメントの少なくとも1つ
    を表示部に表示させる、
    請求項1から10のうちいずれか一項に記載のロボット制御装置。
  12. 前記可動部は、前記可動部を屈曲させる2以上の回動軸を有し、
    前記制御部は、前記2以上の回動軸それぞれの周りの前記第1トルク及び前記第2トル
    クに基づいて、前記重量、前記オフセット、及び前記慣性モーメントの少なくとも1つを
    算出する、
    請求項1から11のうちいずれか一項に記載のロボット制御装置。
  13. 請求項1から12のうちいずれか一項に記載のロボット制御装置に制御される、
    ロボット。
  14. 請求項1から12のうちいずれか一項に記載のロボット制御装置と、
    前記ロボット制御装置に制御されるロボットと、
    を備えるロボットシステム。
JP2016206618A 2016-10-21 2016-10-21 ロボット制御装置、ロボット、及びロボットシステム Pending JP2018065232A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016206618A JP2018065232A (ja) 2016-10-21 2016-10-21 ロボット制御装置、ロボット、及びロボットシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016206618A JP2018065232A (ja) 2016-10-21 2016-10-21 ロボット制御装置、ロボット、及びロボットシステム

Publications (1)

Publication Number Publication Date
JP2018065232A true JP2018065232A (ja) 2018-04-26

Family

ID=62086674

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016206618A Pending JP2018065232A (ja) 2016-10-21 2016-10-21 ロボット制御装置、ロボット、及びロボットシステム

Country Status (1)

Country Link
JP (1) JP2018065232A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020116702A (ja) * 2019-01-25 2020-08-06 アズビル株式会社 教示装置及び教示方法
JP2020151812A (ja) * 2019-03-20 2020-09-24 ファナック株式会社 ロボットを用いて負荷の重量及び重心位置を推定するための装置、方法及びプログラム
CN112045673A (zh) * 2019-06-07 2020-12-08 发那科株式会社 离线编程装置、机器人控制装置及增强现实系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020116702A (ja) * 2019-01-25 2020-08-06 アズビル株式会社 教示装置及び教示方法
JP2020151812A (ja) * 2019-03-20 2020-09-24 ファナック株式会社 ロボットを用いて負荷の重量及び重心位置を推定するための装置、方法及びプログラム
US11331810B2 (en) 2019-03-20 2022-05-17 Fanuc Corporation Device, method and program for estimating weight and position of gravity center of load by using robot
JP7136729B2 (ja) 2019-03-20 2022-09-13 ファナック株式会社 ロボットを用いて負荷の重量及び重心位置を推定するための装置、方法、プログラム、制御装置及びロボットシステム
CN112045673A (zh) * 2019-06-07 2020-12-08 发那科株式会社 离线编程装置、机器人控制装置及增强现实系统
JP2020199566A (ja) * 2019-06-07 2020-12-17 ファナック株式会社 オフラインプログラミング装置、ロボット制御装置および拡張現実システム
JP7260405B2 (ja) 2019-06-07 2023-04-18 ファナック株式会社 オフラインプログラミング装置、ロボット制御装置および拡張現実システム
US11673273B2 (en) 2019-06-07 2023-06-13 Fanuc Corporation Off-line programming apparatus, robot controller, and augmented reality system

Similar Documents

Publication Publication Date Title
US11090814B2 (en) Robot control method
US10589424B2 (en) Robot control device, robot, and robot system
US10434646B2 (en) Robot control apparatus, robot, and robot system
JP6648469B2 (ja) ロボットシステム、及びロボット制御装置
WO2017064851A1 (ja) ロボット教示方法及びロボットアーム制御装置
CN106003101B (zh) 机器人控制装置以及机器人系统
JP7143633B2 (ja) ロボットシステム、制御装置および制御方法
JP5457161B2 (ja) 多優先作動空間インピーダンス制御
JP2018065232A (ja) ロボット制御装置、ロボット、及びロボットシステム
JP6044511B2 (ja) ロボットの制御方法及びロボットシステム
CA3053666A1 (en) Multi-axis reaction system and method for vibration control of mechanical systems
CN109129525B (zh) 机器人的负载重心位置推定装置及负载重心位置推定方法
JP2018065233A (ja) ロボット制御装置、ロボット、及びロボットシステム
JP2018089747A (ja) 制御装置、ロボットおよびロボットシステム
JP5316396B2 (ja) ロボットのばね定数同定方法およびロボットのばね定数同定装置
JP4305340B2 (ja) ロボットに取り付けられた負荷の質量と重心位置の算出方法
Saied et al. Actuator and friction dynamics formulation in control of pkms: From design to real-time experiments
JP5316395B2 (ja) ロボットのばね定数同定方法およびロボットのばね定数同定装置
JP2018167380A (ja) 制御装置
JP7318295B2 (ja) 表示方法
JP4449693B2 (ja) ロボット制御装置およびその制御方法
JP3163346B2 (ja) 物体協調運搬ロボットの制御方法及びその装置
JPH1011121A (ja) ロボット制御装置及びその制御方法
JP2019141966A (ja) ロボット制御装置、ロボット、及びロボットシステム
US9925668B2 (en) Robot, control unit, and control method

Legal Events

Date Code Title Description
RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20180910