特許第6692854号(P6692854)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 上銀科技股▲分▼有限公司の特許一覧

特許6692854ロボットアームのための負荷推定及び重力補償方法、並びにそのシステム
<>
  • 特許6692854-ロボットアームのための負荷推定及び重力補償方法、並びにそのシステム 図000010
  • 特許6692854-ロボットアームのための負荷推定及び重力補償方法、並びにそのシステム 図000011
  • 特許6692854-ロボットアームのための負荷推定及び重力補償方法、並びにそのシステム 図000012
  • 特許6692854-ロボットアームのための負荷推定及び重力補償方法、並びにそのシステム 図000013
  • 特許6692854-ロボットアームのための負荷推定及び重力補償方法、並びにそのシステム 図000014
  • 特許6692854-ロボットアームのための負荷推定及び重力補償方法、並びにそのシステム 図000015
  • 特許6692854-ロボットアームのための負荷推定及び重力補償方法、並びにそのシステム 図000016
  • 特許6692854-ロボットアームのための負荷推定及び重力補償方法、並びにそのシステム 図000017
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6692854
(24)【登録日】2020年4月17日
(45)【発行日】2020年5月13日
(54)【発明の名称】ロボットアームのための負荷推定及び重力補償方法、並びにそのシステム
(51)【国際特許分類】
   B25J 13/00 20060101AFI20200427BHJP
   B25J 13/08 20060101ALI20200427BHJP
【FI】
   B25J13/00 Z
   B25J13/08 Z
【請求項の数】13
【全頁数】19
(21)【出願番号】特願2018-88744(P2018-88744)
(22)【出願日】2018年5月2日
(65)【公開番号】特開2019-193965(P2019-193965A)
(43)【公開日】2019年11月7日
【審査請求日】2018年5月2日
(73)【特許権者】
【識別番号】596016557
【氏名又は名称】上銀科技股▲分▼有限公司
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】簡 嘉輝
(72)【発明者】
【氏名】陳 正欽
(72)【発明者】
【氏名】侯 榮富
【審査官】 牧 初
(56)【参考文献】
【文献】 特開平03−234490(JP,A)
【文献】 特表2002−540971(JP,A)
【文献】 特開2004−276125(JP,A)
【文献】 特開2011−235374(JP,A)
【文献】 特開平06−236205(JP,A)
【文献】 特開平10−138187(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00−21/02
(57)【特許請求の範囲】
【請求項1】
負荷推定及び重力補償システムによって実行されるロボットアームのための負荷推定及び重力補償方法であって、
前記ロボットアームは、少なくとも1つの関節と、前記少なくとも1つの関節に設置された駆動モジュールと、が備わっており、
前記負荷推定及び重力補償システムは、前記駆動モジュールに連結された信号処理装置と、前記少なくとも1つの関節に対応すると共に、前記信号処理装置に連結された負荷推定モジュールと、前記負荷推定モジュールに連結された重力補償モジュールと、が備わっており、
前記負荷推定モジュールは、重力モジュール補正ユニットと、仮想ロボットアームユニットと、演算部と、が備わっており、
前記ロボットアームのための負荷推定及び重力補償方法は、
(A)前記駆動モジュールを操作モードで操作し、前記ロボットアームを第1の位置に移動して、現時点の負荷である第1の負荷を該第1の位置における前記ロボットアームに受けさせてから、前記駆動モジュールを位置制御モードに切り替えるステップと、
(B)前記信号処理装置により、前記位置制御モードにおける前記駆動モジュールから発信された、前記第1の負荷に対応して生ずる第1のトルク信号を受信し、前記仮想ロボットアームユニットにより、前記位置制御モードにおける前記駆動モジュールから発信された、前記第1の位置に位置する前記関節の姿勢に対応する第1の関節角度を受信するステップと、
(C)前記信号処理装置が、前記第1のトルク信号を受信した後、更に前記第1のトルク信号を第1のトルク値に変換させるステップと、
(D)前記重力モジュール補正ユニットにより、前記第1のトルク値を受信し、そして、1組の補正パラメータを生成して、前記仮想ロボットアームユニットに送信するステップと、
(E)前記仮想ロボットアームユニットが、前記1組の補正パラメータ及び前記第1の関節角度を受信した後、更に無負荷トルク値及び最大負荷トルク値を生成するステップと、
(F)前記ロボットアームが受ける負荷を未知の負荷に変更するステップと、
(G)前記信号処理装置により、前記駆動モジュールから発信された前記未知の負荷に対応して生ずる第2のトルク信号を受信するステップと、
(H)前記信号処理装置が、前記第2のトルク信号を受信した後、更に前記第2のトルク信号を第2のトルク値に変換させるステップと、
(I)前記演算部により、前記第1のトルク値、前記無負荷トルク値、前記最大負荷トルク値及び前記第2のトルク値に基づいて、前記未知の負荷の推定負荷値を推定するステップと、
(J)前記駆動モジュールをトルク制御モードに切り替えてから、前記ロボットアームを第2の位置に移動するステップと、
(K)前記重力補償モジュールにより、前記駆動モジュールから発信された前記第2の位置に位置する前記関節の姿勢に対応する第2の関節角度を受信するステップと、
(L)前記重力補償モジュールにより、前記推定負荷値及び前記第2の関節角度に基づいて、補償トルク値を生成して、該補償トルク値を前記駆動モジュールに発信するステップと、を含むことを特徴とするロボットアームのための負荷推定及び重力補償方法。
【請求項2】
前記ステップ(I)において、前記未知の負荷と前記第1の負荷との負荷差を得て、前記第1の負荷に前記負荷差を足すことにより前記未知の負荷の推定負荷値を推定することを特徴とする請求項1に記載のロボットアームのための負荷推定及び重力補償方法。
【請求項3】
前記演算部は、トルク値を負荷値に換算して変換する換算変換ユニットと、目標負荷計算ユニットと、が更に備わっており、
前記ステップ(I)は、
(I1)前記第1のトルク値、前記無負荷トルク値、前記最大負荷トルク値及び前記第2のトルク値に基づいて、前記換算変換ユニットにより、前記負荷差を計算するサブステップと、
(I2)前記目標負荷計算ユニットにより、前記第1の負荷に前記負荷差を足すことで未知の負荷の推定負荷値を推定するサブステップと、を更に含むことを特徴とする請求項2に記載のロボットアームのための負荷推定及び重力補償方法。
【請求項4】
前記サブステップ(I1)において、
前記ロボットアームに受けさせることができる最大負荷値、前記無負荷トルク値及び前記最大負荷トルク値に基づいてパラメトリック方程式を確立し、そして、
前記第1のトルク値及び前記第2のトルク値それぞれを前記パラメトリック方程式に適用して前記負荷差を得ることを特徴とする請求項3に記載のロボットアームのための負荷推定及び重力補償方法。
【請求項5】
前記ロボットアームは、前記関節を介して互いに接続された少なくとも2つの接続棒が更に備わっており、
前記ステップ(L)において、更に、前記少なくとも1つの関節の出力軸の軸方向、前記接続棒それぞれの重量及び前記接続棒それぞれの質量中心位置に基づいて前記補償トルク値を計算することを特徴とする請求項1に記載のロボットアームのための負荷推定及び重力補償方法。
【請求項6】
前記第1の負荷及び前記未知の負荷それぞれからの力の方向は、前記少なくとも1つの関節の出力軸の軸方向と交差せず且つ平行しないことを特徴とする請求項5に記載のロボットアームのための負荷推定及び重力補償方法。
【請求項7】
前記ロボットアームは、複数の前記関節と、前記複数の関節を介して互いに接続された複数の前記接続棒とが備わっており、
前記ステップ(L)において、更に、前記関節の数、各前記関節の出力軸の軸方向及び各前記関節の前記第2の関節角度に基づいて、前記補償トルク値を計算することを特徴とする請求項5に記載のロボットアームのための負荷推定及び重力補償方法。
【請求項8】
前記駆動モジュールは、作動装置と、前記作動装置に接続されている機械構成と、前記機械構成に接続されているエンコーダと、が更に備わっており、
前記操作モードにおいては、前記作動装置が前記機械構成に制御信号を発信して、前記ロボットアームを前記第1の位置に移動し、
前記ステップ(B)において、前記第1のトルク信号は、前記作動装置により発信され、且つ、前記第1の関節角度は、前記エンコーダにより発信され、
前記ステップ(G)において、前記第2のトルク信号は、前記作動装置により発信され、
前記ステップ(K)において、前記第2の関節角度は、前記エンコーダにより発信されることを特徴とする請求項1に記載のロボットアームのための負荷推定及び重力補償方法。
【請求項9】
前記作動装置により発信された前記第1のトルク信号及び前記第2のトルク信号それぞれは、電流値で表される電流信号であり、
前記ステップ(C)においては、前記信号処理装置により、前記作動装置から受信された前記第1のトルク信号の電流値及び前記作動装置に対応して生ずるトルクパラメータに基づいて、前記第1のトルク値を計算し、
前記ステップ(H)においては、前記信号処理装置により、前記作動装置から受信された、前記第2のトルク信号の電流値及び前記トルクパラメータに基づいて前記第2のトルク値を計算することを特徴とする請求項8に記載のロボットアームのための負荷推定及び重力補償方法。
【請求項10】
少なくとも1つの関節と、前記少なくとも1つの関節に設置された駆動モジュールと、が備わっているロボットアームに使用する負荷推定及び重力補償システムであって、
前記負荷推定及び重力補償システムは、信号処理装置と、負荷推定モジュールと、重力補償モジュールと、が備わっており、
前記信号処理装置は、前記ロボットアームが現時点の負荷である第1の負荷を受ける際に、前記駆動モジュールから発信された第1のトルク信号を受信し、前記第1のトルク信号を第1のトルク値に変換するために、且つ、前記ロボットアームが未知の負荷を受ける際に、前記駆動モジュールから発信された第2のトルク信号を受信し、前記第2のトルク信号を第2のトルク値に変換するために、前記駆動モジュールに連接されており、
前記負荷推定モジュールは、前記少なくとも1つの関節に対応すると共に、前記第1のトルク値及び前記第2のトルク値を受信するために、前記信号処理装置に連接されていると共に、前記第1のトルク値に基づいて1組の補正パラメータを生成し、前記1組の補正パラメータ及び前記ロボットアームが前記第1の負荷を受ける際に前記駆動モジュールから発信された第1の関節角度に基づいて、無負荷トルク値及び最大負荷トルク値を生成し、且つ、前記第1のトルク値、前記無負荷トルク値、前記最大負荷トルク値及び前記第2のトルク値に基づいて、前記未知の負荷の推定負荷値を推定するようにアレンジされており、
前記重力補償モジュールは、前記推定負荷値及び前記ロボットアームが前記未知の負荷を受ける際に前記駆動モジュールから発信された第2の関節角度に基づいて、補償トルク値を生成し、且つ、該補償トルク値を前記駆動モジュールに発信するために、前記負荷推定モジュールに連接されていることを特徴とする負荷推定及び重力補償システム。
【請求項11】
前記負荷推定モジュールは、前記未知の負荷と前記第1の負荷との負荷差を得て、前記第1の負荷に前記負荷差を足すことにより前記未知の負荷の推定負荷値を推定するようにアレンジされていることを特徴とする請求項10に記載の負荷推定及び重力補償システム。
【請求項12】
前記負荷推定モジュールは、
トルク値を負荷値に換算して変換するために、前記第1のトルク値、前記無負荷トルク値、前記最大負荷トルク値及び前記第2のトルク値に基づいて、前記負荷差を計算するようにアレンジされている換算変換ユニットと、
前記第1の負荷に前記負荷差を足すことにより前記未知の負荷の推定負荷値を計算するようにアレンジされている目標負荷計算ユニットと、
を更に含むことを特徴とする請求項11に記載の負荷推定及び重力補償システム。
【請求項13】
前記換算変換ユニットは、前記負荷差の計算において、
前記ロボットアームに受けさせることができる最大負荷値、前記無負荷トルク値及び前記最大負荷トルク値に基づいてパラメトリック方程式を確立し、且つ、
前記第1のトルク値及び前記第2のトルク値それぞれを前記パラメトリック方程式に適用して前記負荷差を得るようにアレンジされていることを特徴とする請求項12に記載の負荷推定及び重力補償システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は負荷推定及び重力補償方法、並びにそのシステムに関し、特に、ロボットアームのための負荷推定及び重力補償方法、並びにそのシステムに関する。
【背景技術】
【0002】
ロボットアームは、高耐久性、自動制御、高精度などの特徴を備えるので、製造産業に幅広く利用されている。ロボットアームのコンプライアンス制御では、ロボットアームは、動作中に(単独操作又はマン−マシン操作のオペレータによる操作)外部負荷を受ける際に、ロボットアームの出力のパラメータは、その外部負荷に基づいて、対応する重力補償を与えることにより、該外部負荷を受けながら正常に動作できることが保証される。
【0003】
ロボットアームの負荷が変わる際に、その負荷に対応する重力補償を与えるために、予めロボットアームにかかる負荷の変動量を得る必要がある。そのために、一般的に、負荷がロボットアームにかかる前に、該負荷の重量を測る。そして、その重量をロボットアームに入力することにより、新しい重力補償を生成する。しかし、ロボットアームの負荷が変わる度に、上記の方法を繰り返さないといけないので、操作の手順が繁雑になる欠点がある。
【0004】
重力補償を生成する他の方法として、例えば特許文献1には、ロボットアームの各関節にトルクセンサを設置し、ロボットアームに負荷がかかった後、ロボットアームの機械偏差値を測って、ロボットアームの特定の回転角に対応する重力係数を算出し、そして、校正処理により、トルクセンサのフィードバック及び出力軸の回転角に基づいて重力補償を算出する方法が記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】米国特許第9533414B2号明細書
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1の方法は、高価なトルクセンサを設置する必要があり、そして、ロボットアームの負荷が変わる度に、較正処理を行う必要もある。
このような問題に鑑みて、本発明は、高価なトルクセンサを使用せず、より簡単な手順で重力補償を得られる負荷推定及び重力補償方法、並びにそのシステムを提供することを目的とする
【課題を解決するための手段】
【0007】
上記目的を達成すべく、本発明は、負荷推定及び重力補償システムによって実行されるロボットアームのための負荷推定及び重力補償方法であって、前記ロボットアームは、少なくとも1つの関節と、前記少なくとも1つの関節に設置された駆動モジュールと、が備わっており、前記負荷推定及び重力補償システムは、前記駆動モジュールに連結された信号処理装置と、前記少なくとも1つの関節に対応すると共に、前記信号処理装置に連結された負荷推定モジュールと、前記負荷推定モジュールに連結された重力補償モジュールと、が備わっており、前記負荷推定モジュールは、重力モジュール補正ユニットと、仮想ロボットアームユニットと、演算部と、が備わっており、前記ロボットアームのための負荷推定及び重力補償方法は、(A)前記駆動モジュールを操作モードで操作し、前記ロボットアームを第1の位置に移動して、現時点の負荷である第1の負荷を該第1の位置における前記ロボットアームに受けさせてから、前記駆動モジュールを位置制御モードに切り替えるステップと、(B)前記信号処理装置により、前記位置制御モードにおける前記駆動モジュールから発信された、前記第1の負荷に対応して生ずる第1のトルク信号を受信し、前記仮想ロボットアームユニットにより、前記位置制御モードにおける前記駆動モジュールから発信された、前記第1の位置に位置する前記関節の姿勢に対応する第1の関節角度を受信するステップと、(C)前記信号処理装置が、前記第1のトルク信号を受信した後、更に前記第1のトルク信号を第1のトルク値に変換させるステップと、(D)前記重力モジュール補正ユニットにより、前記第1のトルク値を受信し、そして、1組の補正パラメータを生成して、前記仮想ロボットアームユニットに送信するステップと、(E)前記仮想ロボットアームユニットが、前記1組の補正パラメータ及び前記第1の関節角度を受信した後、更に無負荷トルク値及び最大負荷トルク値を生成するステップと、(F)前記ロボットアームが受ける負荷を未知の負荷に変更するステップと、(G)前記信号処理装置により、前記駆動モジュールから発信された前記未知の負荷に対応して生ずる第2のトルク信号を受信するステップと、(H)前記信号処理装置が、前記第2のトルク信号を受信した後、更に前記第2のトルク信号を第2のトルク値に変換させるステップと、(I)前記演算部により、前記第1のトルク値、前記無負荷トルク値、前記最大負荷トルク値及び前記第2のトルク値に基づいて、前記未知の負荷の推定負荷値を推定するステップと、(J)前記駆動モジュールをトルク制御モードに切り替えてから、前記ロボットアームを第2の位置に移動するステップと、(K)前記重力補償モジュールにより、前記駆動モジュールから発信された前記第2の位置に位置する前記関節の姿勢に対応する第2の関節角度を受信するステップと、(L)前記重力補償モジュールにより、前記推定負荷値及び前記第2の関節角度に基づいて、補償トルク値を生成して、該補償トルク値を前記駆動モジュールに発信するステップと、を含むことを特徴とするロボットアームのための負荷推定及び重力補償方法を提供する。
【0008】
また、少なくとも1つの関節と、前記少なくとも1つの関節に設置された駆動モジュールと、が備わっているロボットアームに使用する負荷推定及び重力補償システムであって、前記負荷推定及び重力補償システムは、信号処理装置と、負荷推定モジュールと、重力補償モジュールと、が備わっており、前記信号処理装置は、前記ロボットアームが現時点の負荷である第1の負荷を受ける際に、前記駆動モジュールから発信された第1のトルク信号を受信し、前記第1のトルク信号を第1のトルク値に変換するために、且つ、前記ロボットアームが未知の負荷を受ける際に、前記駆動モジュールから発信された第2のトルク信号を受信し、前記第2のトルク信号を第2のトルク値に変換するために、前記駆動モジュールに連接されており、前記負荷推定モジュールは、前記少なくとも1つの関節に対応すると共に、前記第1のトルク値及び前記第2のトルク値を受信するために、前記信号処理装置に連接されていると共に、前記第1のトルク値に基づいて1組の補正パラメータを生成し、前記1組の補正パラメータ及び前記ロボットアームが前記第1の負荷を受ける際に前記駆動モジュールから発信された第1の関節角度に基づいて無負荷トルク値及び最大負荷トルク値を生成し、且つ、前記第1のトルク値、前記無負荷トルク値、前記最大負荷トルク値及び前記第2のトルク値に基づいて、未知の負荷の推定負荷値を推定するようにアレンジされており、前記重力補償モジュールは、前記推定負荷値及び前記ロボットアームが前記未知の負荷を受ける際に前記駆動モジュールから発信された第2の関節角度に基づいて、補償トルク値を生成し、且つ、該補償トルク値を前記駆動モジュールに発信するために、前記負荷推定モジュールに連接されていることを特徴とする負荷推定及び重力補償システムを提供する。
【発明の効果】
【0009】
本発明における負荷推定及び重力補償方法は、ロボットアーム2が第1の位置に位置する時点において関節の第1の関節角度及びその時点の負荷である第1の負荷に対応する第1のトルク信号による第1のトルク値と、未知の負荷に対応する関節の第2のトルク信号による第2のトルク値と、第1のトルク値により生成する1組の補正パラメータと、1組の補正パラメータ及び第1の関節角度により生成する無負荷トルク値及び最大負荷トルク値と、に基づいて、該未知の負荷の推定負荷値を推定する。そして、推定負荷値及びロボットアーム2が第2の位置に位置する第2の関節角度に基づいて、補償トルク値を生成して、該補償トルク値を駆動モジュールに発信して、重力補償を行う。従って、従来のような未知の荷重の重量を事前に測定することや、負荷の変化に対する較正プロセスや、高価なトルクセンサの設置などの必要がなく、未知の荷重による重力影響を算出して、重力補償を行うことができる。
【図面の簡単な説明】
【0010】
図1】本発明における負荷推定及び重力補償システムとロボットアームとの連接関係を説明する図である。
図2】本発明における負荷推定及び重力補償方法のプロセスを説明する図である。
図3】負荷の作用方向と関節の出力軸の軸方向とが交差又は平行する状況を説明する図である。
図4】本発明における実施例において、ロボットアームが第1の位置に位置することを示す側視図である。
図5】ロボットアームが第1の位置に位置する場合における、関節の負荷と出力トルクとの関係図である。
図6】上記の実施例において、ロボットアームが第2の位置に位置することを示す側視図である。
図7】ロボットアームが第2の位置に位置する場合における、関節の負荷と出力トルクとの関係図である。
図8】ロボットアームが第2の位置に位置する場合における、関節の負荷と出力トルクとの関係図である。
【発明を実施するための形態】
【0011】
以下、各図面を参照しながら、本発明における各実施形態について詳しく説明する。
【0012】
本発明をより詳細に説明する前に、適切と考えられる場合において、符号は、同様の特性を有し得る対応する要素を示すために各図面間で繰り返し用いられることに留意されたい。
【0013】
本発明におけるロボットアームのための負荷推定及び重力補償方法は、本発明における負荷推定及び重力補償システムによって実行されるロボットアームのための負荷推定及び重力補償方法である。
【0014】
本発明に係る方法の実施対象であるロボットアーム2は、例えば、図1に示されるように、少なくとも1つの関節21と、関節21に設置された駆動モジュール22と、関節21を介して互いに接続された少なくとも2つの接続棒と、が備わっている。
【0015】
以下、負荷推定及び重力補償システムの概要を説明する。
【0016】
前記負荷推定及び重力補償システムは、駆動モジュール22に連結された信号処理装置3と、関節21に対応すると共に、信号処理装置3に連結された負荷推定モジュール4と、負荷推定モジュール4に連結された重力補償モジュール5と、が備わっている。
【0017】
負荷推定モジュール4は、重力モジュール補正ユニット41と、重力モジュール補正ユニット41に連結された仮想ロボットアームユニット42と、仮想ロボットアームユニット42に連結された演算部43と、が備わっている。
【0018】
以下、本発明における負荷推定及び重力補償システムの構成を詳しく説明する。
【0019】
本発明における負荷推定及び重力補償システムは、上記のロボットアーム2に使用するシステムであって、図1に示されるように、信号処理装置3と、負荷推定モジュール4と、重力補償モジュール5と、が備わっている。
【0020】
信号処理装置3は、ロボットアーム2が現時点の負荷である第1の負荷を受ける際に、駆動モジュール22から発信された第1のトルク信号及び第1の関節角度を受信し、前記第1のトルク信号を第1のトルク値に変換するために、且つ、ロボットアーム2が未知の負荷を受ける際に、駆動モジュール22から発信された第2のトルク信号及び第2の関節角度を受信し、前記第2のトルク信号を第2のトルク値に変換するために、駆動モジュール22に連接されている。
【0021】
負荷推定モジュール4は、関節21に対応すると共に、前記第1のトルク値及び前記第2のトルク値を受信するために、信号処理装置3に連接されていると共に、前記第1のトルク値に基づいて1組の補正パラメータを生成し、前記1組の補正パラメータ及び第1の関節角度に基づいて無負荷トルク値及び最大負荷トルク値を生成し、且つ、前記第1のトルク値、前記無負荷トルク値、前記最大負荷トルク値及び前記第2のトルク値に基づいて、未知の負荷の推定負荷値を推定するようにアレンジ(プログラム)されている。
【0022】
重力補償モジュール5は、前記推定負荷値及び前記第2の関節角度に基づいて、補償トルク値を生成し、且つ、該補償トルク値を駆動モジュール22に発信するために、負荷推定モジュール4に連接されている。
【0023】
この実施形態において、ロボットアーム2は、図1に示されるように、複数の関節21と、複数の関節21を介して互いに接続された複数の接続棒と、複数の関節21それぞれに設置された複数の駆動モジュール22と、が備わっている。複数の駆動モジュール22それぞれは、作動装置221と、作動装置221に接続されている機械構成222(例えば、接続棒と減速装置の組み合わせなど)と、機械構成222に接続されているエンコーダ223と、が更に備わっている。本実施形態での負荷推定及び重力補償システムにおいて、信号処理装置3は、各作動装置221に連接されている。負荷推定モジュール4は、複数あり、複数の関節21それぞれに対応して設置されていると共に、信号処理装置3に連結されている。重力補償モジュール5は、負荷推定モジュール4に連結されている。
【0024】
信号処理装置3は、レジスタ及び/又はメモリからの電子データを処理して、その電子データを他の電子データに変換する任意のデバイス又はデバイスの部分を指す。例えば、信号処理装置3として、シングルコアプロセッサ、マルチコアプロセッサ、デュアルコアモバイルプロセッサ、マイクロプロセッサ、マイクロコントローラ、デジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、無線周波数集積回路(RFIC)などが挙げられる。
【0025】
負荷推定モジュール4及び重力補償モジュール5の実施形態としては、ハードウェア、ファームウェア又はソフトウェアの単独又はその組み合わせで実施されてもよい。また、命令が格納されたコンピュータ可読記憶装置として実施されてもよい。この場合、本明細書に記載されている動作を実行するために、少なくとも1つのプロセッサによって、該命令を読み取り且つ実行する。コンピュータ可読記憶装置は、機械(例えば、コンピューター)によって読み取り可能な形式でデータを格納するための任意の非一時的なメモリ機構を含む。例えば、コンピュータ可読記憶装置として、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリ装置及び他の記憶装置又は媒体などが挙げられる。
【0026】
複数の関節21が存在する実施形態において、負荷推定及び重力補償システムは、複数の関節21それぞれに対応する複数の負荷推定モジュール4が備えてもよい。
【0027】
操作中、ロボットアーム2が現時点の負荷である第1の負荷を受ける際に、各作動装置221は、それぞれ対応する関節21の第1のトルク信号を発信するように構成され、エンコーダ223は、それぞれ対応する関節21の第1の関節角度を発信するように構成されている。ロボットアーム2が未知の負荷(W)を受ける際に、駆動モジュール22の作動装置221が機械構成222に制御信号を発信して、ロボットアーム2を駆動する。そして、各作動装置221は、それぞれ対応する関節21及び前記未知の負荷(W)に応じる第2のトルク信号を更に発信するように構成され、エンコーダ223は、それぞれ対応する関節21の別の角度位置に応じる第2の関節角度を発信するように構成されている。
【0028】
そして、信号処理装置3は、作動装置221から発信された前記第1のトルク信号及び前記第2のトルク信号を受信し、関節21に対応する第1のトルク値及び第2のトルク値に変換する。
【0029】
負荷推定モジュール4は、前記未知の負荷と前記第1の負荷との負荷差を得て、前記第1の負荷に前記負荷差を足すことにより前記未知の負荷の推定負荷値を推定するようにアレンジされており、そして、重力モジュール補正ユニット41と、仮想ロボットアームユニット42と、演算部43と、が備わっている。
【0030】
重力モジュール補正ユニット41は、前記第1のトルク値を受信し、そして、関節21に対応する1組の補正パラメータを生成する。仮想ロボットアームユニット42は、該1組の補正パラメータ及び前記第1の関節角度を受信し、そして、無負荷トルク値及び最大負荷トルク値を生成する。具体的には、無負荷トルク値とは、ロボットアーム2が無負荷状態の時にロボットアーム2の関節21が出力するトルク値であり、最大負荷トルク値は、ロボットアーム2が運搬可能な最大負荷値(即ち、ロボットアーム2のペイロード(最大積載量))に等しい重量を有する負荷をロボットアーム2が受けた時にロボットアーム2の関節21が出力するトルク値である。
【0031】
演算部43は、換算変換ユニット431と、換算変換ユニット431に接続され、前記第1の負荷に前記負荷差を足すことにより前記未知の負荷の推定負荷値を計算するようにアレンジされている目標負荷計算ユニット432と、が備わっている。
【0032】
換算変換ユニット431は、前記負荷差の計算において、ロボットアーム2に受けさせることができる前記最大負荷値、前記無負荷トルク値及び前記最大負荷トルク値に基づいてパラメトリック方程式を確立し、且つ、前記第1のトルク値及び前記第2のトルク値それぞれを前記パラメトリック方程式に適用して前記負荷差を得るようにアレンジされている。
【0033】
即ち、無負荷トルク値と最大負荷トルク値が得られると、換算変換ユニット431は、2つの異なる負荷の下で検出された2つの異なるトルク値(即ち、第1のトルク値及び第2のトルク値)に基づいて負荷差を計算することができる。目標負荷計算ユニット432は、前記第1の負荷及び前記負荷差により推定負荷値を計算する(即ち、2つの負荷のうちの1つが既知である場合に、2つの負荷の他の1つの重量を計算する)
【0034】
重力補償モジュール5は、前記推定負荷値及び前記第2の関節角度に基づいて、補償トルク値を生成して、該補償トルク値を駆動モジュール22に発信することにより、ロボットアーム2が重力補償の作用下で動作することができる。
【0035】
ロボットアーム2に複数の関節21が存在する実施形態において、複数の関節21は、それぞれの第1のトルク信号、第2のトルク信号、第1のトルク値、第2のトルク値、第1の関節角度、第2の関節角度、1組の補正パラメータ、無負荷トルク値、最大負荷トルク値及び補償トルク値を有する。
【0036】
以下、本発明におけるロボットアームのための負荷推定及び重力補償方法の概略を説明する。図2に示されるように、当該方法は、以下のステップを含む:
(A)駆動モジュール22を操作モードで操作し、ロボットアーム2を第1の位置に移動して、現時点の負荷である第1の負荷を該第1の位置におけるロボットアーム2に受けさせてから、駆動モジュール22を位置制御モードに切り替えるステップ;
(B)信号処理装置3により、前記位置制御モードにおける駆動モジュール22から発信された、前記第1の負荷に対応して生ずる第1のトルク信号を受信し、仮想ロボットアームユニット42により、前記位置制御モードにおける駆動モジュール22から発信された、前記第1の位置に位置する関節21の姿勢に対応する第1の関節角度を受信するステップ;
(C)信号処理装置3が、前記第1のトルク信号を受信した後、更に前記第1のトルク信号を第1のトルク値に変換させるステップ;
(D)重力モジュール補正ユニット41により、前記第1のトルク値を受信し、そして、1組の補正パラメータを生成して、仮想ロボットアームユニット42に送信するステップ;
(E)仮想ロボットアームユニット42が、前記1組の補正パラメータ及び前記第1の関節角度を受信した後、更に無負荷トルク値及び最大負荷トルク値を生成するステップ;
(F)ロボットアーム2が受ける負荷を未知の負荷に変更するステップ;
(G)信号処理装置3により、駆動モジュール22から発信された前記未知の負荷に対応して生ずる第2のトルク信号を受信するステップ;
(H)信号処理装置3が、前記第2のトルク信号を受信した後、更に前記第2のトルク信号を第2のトルク値に変換させるステップ;
(I)演算部43により、前記第1のトルク値、前記無負荷トルク値、前記最大負荷トルク値及び前記第2のトルク値に基づいて、前記未知の負荷の推定負荷値を推定するステップ;
(J)駆動モジュール22をトルク制御モードに切り替えてから、ロボットアーム2を第2の位置に移動するステップ;
(K)重力補償モジュール5により、駆動モジュール22から発信された前記第2の位置に位置する前記関節21の姿勢に対応する第2の関節角度を受信するステップ;及び
(L)重力補償モジュール5により、前記推定負荷値及び前記第2の関節角度に基づいて、補償トルク値を生成して、該補償トルク値を駆動モジュール22に発信するステップ。
【0037】
まとめると、ステップ(A)〜ステップ(I)は、負荷推定のステージであり、ステップ(J)〜ステップ(K)は、重力補償機能の実行である。
【0038】
以下、再び図2を参照しながら、本発明におけるロボットアームのための負荷推定及び重力補償方法をより具体的に説明する。
【0039】
ステップ(A)において、前記操作モードで例えば操作者がロボットアーム2を第1の位置に移動するように操作することにより、作動装置221が機械構成222に制御信号を発信して、ロボットアーム2が第1の位置に移動されると、ロボットアーム2が第1の位置にいる時点の負荷である第1の負荷Wを受けさせてから、駆動モジュール22の作動装置221を位置制御モードに切り替える。また、第1の負荷Wの力の方向は、関節21の出力軸の軸方向と交差せず且つ平行しないものとする。
【0040】
図3に示されるように、負荷Wの作用方向が関節21の出力軸の軸方向Lと交差(図3の上方の図面に示す)又は平行する(図3の下方の図面に示す)と、モーメントアームが0になるため、トルクが生じなく、未知の負荷を推定できなくなる。従って、全ての負荷Wの作用方向は、その負荷がかかる関節21の出力軸の軸方向Lと、交差せず且つ平行しない。
【0041】
また、この実施形態において、ロボットアーム2に受けさせる負荷Wは、単一の機構又は複数の機構の組み合わせであり、特に制限されていない。
【0042】
また、第1の位置において、駆動モジュール22は位置制御モードに切り替えられる。
【0043】
ステップ(B1)において、各駆動モジュール22の作動装置221が第1の負荷Wに対応する第1のトルク信号を信号処理装置3に発信する。
【0044】
ステップ(B2)において、各駆動モジュール22のエンコーダ223が前記第1の位置に対応する各関節21の第1の関節角度θを仮想ロボットアームユニット42に発信する。なお、上記ステップ(B1)と(B2)は、同時に進行することも可能である。
【0045】
ステップ(C)において、信号処理装置3は作動装置221から前記第1のトルク信号を受信した後、前記第1のトルク信号を第1のトルク値C(θ)に変換する。ちなみに、作動装置221として使用するモーターが違うと、そのモーターに対応して異なるトルク信号が発信される。トルク信号は、例えば、電圧信号、電流信号などの信号であり、その信号がトルク値に変換される。この実施形態において、前記第1のトルク信号は、電流値で表される電流信号であり、第1のトルク値C(θ)は、信号処理装置3により、作動装置221から受信された、前記第1のトルク信号の電流値及び作動装置221に対応するトルクパラメータに基づいて、算出したものである。
【0046】
ステップ(D)において、重力モジュール補正ユニット41は、第1のトルク値C(θ)を受信し、そして、補正パラメータα、βを生成して、仮想ロボットアームユニット42に送信する。
【0047】
ステップ(E)において、仮想ロボットアームユニット42は、補正パラメータα、β及び第1の関節角度θを受信し、そして、無負荷トルク値G(θ)及び最大負荷トルク値Gmax(θ)を生成する。
【0048】
なお、第1の関節角度θは、この実施形態のように、エンコーダ223から直接に負荷推定モジュール4の仮想ロボットアームユニット42に発信されることができ、又は、エンコーダ223から信号処理装置3を経由して仮想ロボットアームユニット42に発信されることもできる。
【0049】
具体的には、5軸のロボットアーム2において、1組の補正パラメータ(α、β)、無負荷トルク値G(θ)及び最大負荷トルク値Gmax(θ)は、順運動学に基づいて導出され、且つ、関節角度及び関節21により出力されるトルクに関連する一組の方程式を使用して、負荷推定モジュール4により算出された。
【0050】
上記の計算は、ロボットアーム2に及ぼされる重力の影響のみを考慮することに基づいて行われる。ヒステリシスなどの他の効果も考慮すれば、より正確な結果を得ることができる。従って、補正モデルは、以下のように表す。
【0051】
【数1】
【0052】
式中、GravityModelは、補正モデルを関数として表し、Gmax(θ)は最大負荷トルク値であり、G(θ)は無負荷トルク値であり、Wmaxは最大負荷値である。
【0053】
上記補正モデルを使用することにより、ステップ(D)において、重力モジュール補正ユニット41が第1のトルク値C(θ)を受信した後、1組の補正パラメータα、βを生成することができる。
【0054】
ステップ(F)において、ロボットアーム2が受ける負荷を未知の負荷Wに変更する。
【0055】
ステップ(G)において、信号処理装置3により、駆動モジュール22の作動装置221から発信された未知の負荷Wに対応して生ずる第2のトルク信号を受信する。この実施形態において、前記第2のトルク信号は、電流値で表される電流信号である。
【0056】
ステップ(H)において、ステップ(C)と同じように、信号処理装置3は、前記第2のトルク信号を受信した後、前記第2のトルク信号及び作動装置221に対応するトルクパラメータに基づいて、前記第2のトルク信号を第2のトルク値C(θ)に変換する。
【0057】
ステップ(I)は、前記未知の負荷と第1の負荷Wとの負荷差を得て、第1の負荷Wに前記負荷差を足すことにより前記未知の負荷Wの推定負荷値Wを推定するステップであって、サブステップ(I1)と、サブステップ(I2)とを含む。
【0058】
サブステップ(I1)において、第1のトルク値C(θ)、無負荷トルク値G(θ)、最大負荷トルク値Gmax(θ)及び第2のトルク値C(θ)に基づいて、換算変換ユニット431により、前記負荷差を計算する。
【0059】
具体的に、サブステップ(I1)において、換算変換ユニット431は、最大負荷値Wmax、無負荷トルク値G(θ)及び最大負荷トルク値Gmax(θ)に基づいてパラメトリック方程式を確立するように構成されている。該パラメトリック方程式は、ロボットアーム2に加えられる負荷(例えば重量)と関節21によって出力された対応トルクとの間の関係により確立された。続いて、換算変換ユニット431は、第1のトルク値C(θ)及び第2のトルク値C(θ)それぞれを前記パラメトリック方程式に適用して、第1の負荷Wと未知の負荷Wとの負荷差を得る。
【0060】
サブステップ(I2)において、目標負荷計算ユニット432により、第1の負荷Wに前記負荷差を足すことで未知の負荷Wの推定負荷値Wを推定する。
【0061】
ステップ(J)において、駆動モジュール22をトルク制御モードに切り替えてから、例えば操作者によりロボットアーム2を第1の位置から第2の位置に移動する。
【0062】
ステップ(K)において、重力補償モジュール5により、駆動モジュール22のエンコーダ223から発信された前記第2の位置に位置する各関節21の姿勢に対応する各第2の関節角度θ′を受信する。
【0063】
なお、第2の関節角度θ′は、この実施形態のように、エンコーダ223から直接に重力補償モジュール5に発信されることができ、又は、エンコーダ223から信号処理装置3及び負荷推定モジュール4を経由して重力補償モジュール5に発信されることもできる。
【0064】
ステップ(L)において、重力補償モジュール5により、推定負荷値W及び第2の関節角度θ′に基づいて、補償トルク値を生成して、該補償トルク値を駆動モジュール22に発信する。
【0065】
具体的に、ステップ(L)において、重力補償モジュール5は、推定負荷値W、第2の関節角度θ′、関節21の出力軸の軸方向、各前記接続棒それぞれの重量及び各前記接続棒それぞれの質量中心位置に基づいて前記補償トルク値を計算するように構成されている。ロボットアーム2内に複数の関節21が存在する場合には、前記補償トルク値は、前述の推定負荷値We、第2の関節角度θ′、関節21の出力軸の軸方向、各前記接続棒それぞれの重量及び各前記接続棒それぞれの質量中心位置に加えて、更に、関節21の数、各関節21の出力軸の軸方向及び各関節21の第2の関節角度に基づいて計算する。そして、該補償トルク値を駆動モジュール22に発信して、ロボットアーム2の重力補償を行う。
【0066】
なお、補償トルク値の生成に関する技術は公知の技術であり、ここでは詳しい説明を省略する。
【0067】
推定負荷値Wは、以下の式により計算された。
【0068】
【数2】
【0069】
式中、第1の負荷Wに前記負荷差を足すことにより未知の負荷Wの推定負荷値Wを推定する。
【0070】
前記負荷差は、以下の式により計算された。
【0071】
【数3】
【0072】
第1のトルク値C(θ)は、以下の式により計算された。
【0073】
【数4】
【0074】
式中、Aは第1のトルク信号の電流値であり、Tは作動装置221に対応して生ずるトルクパラメータであり、また、Tは定数とすることもできる。
【0075】
同じく、第2のトルク値C(θ)は、以下の式により計算された。
【0076】
【数5】
【0077】
式中、Aは第2のトルク信号の電流値である。
【0078】
即ち、上述した方法は、未知の荷重Wの重量(即ち、推定荷重値W)を推定した後、ロボットアーム2に加えられる負荷の変化に応じて駆動モジュール22に対して出力する補償トルク値を計算することができるので、未知の荷重Wの重量を事前に測定する必要がなく、負荷の変化に対する較正プロセスも必要がない。
【0079】
また、関節21が出力したトルクを電流信号で測定することにより、関節21にトルクセンサを設置する必要がない。
【0080】
この方法に適用するロボットアーム2は、例えば外科手術又はリハビリテーションロボット、及び、工業工程などの様々な用途に使用するロボットアームが挙げられる。
【0081】
以下、図面に参照して、実施例で本発明を更に説明する。
【0082】
図4はこの実施例において、ロボットアーム2が第1の位置に位置することを示す側視図である。図5はロボットアーム2が第1の位置に位置する場合において、関節の負荷と出力トルクとの関係図である。
【0083】
ロボットアーム2は、図4に示されるように、2つの関節21a、21bが備わっており、且つ、第1の位置に位置している。該第1の位置では、関節21aの第1の角度値はπ/2であり、関節21bの第1の角度値は0である。そして、ロボットアーム2の最大負荷値(即ち、ペイロード)を1.6kgとし、作動装置221のトルクパラメータを20.8mNm/Aとした上で、重量が異なる実際の負荷(200g〜1000g)それぞれをロボットアーム2に加え、各実際の負荷に対応して関節21bが出力したトルク信号で各負荷の推定値を計算する。その結果は、表1及び図5に示す。
【0084】
【表1】
【0085】
図6はこの実施例において、ロボットアーム2が第2の位置に位置することを示す側視図である。図7はロボットアーム2が第2の位置に位置する場合において、関節の負荷と出力トルクとの関係図である。図8はロボットアーム2が第2の位置に位置する場合において、もう1つの関節の負荷と出力トルクとの関係図である。
【0086】
ロボットアーム2が図6に示されるように第2の位置に位置している場合、関節21aの第2の角度値はπ/8であり、関節21bの第2の角度値は9π/40である。そして、ロボットアーム2の最大負荷値(即ち、ペイロード)を1.6kgとし、作動装置221のトルクパラメータを20.8mNm/Aとした上で、重量が異なる実際の負荷(200g〜1000g)それぞれをロボットアーム2に加え、各実際の負荷に対応して関節21a、21bが出力したトルク信号で各負荷の推定値を計算する。関節21aの結果は、表2及び図7に示す。関節21bの結果は、表3及び図8に示す。
【0087】
【表2】
【0088】
【表3】
【0089】
表1〜表3、図5及び図7図8に記載されている結果によれば、本発明におけるロボットアームのための負荷推定及び重力補償方法を用いて推定された推定負荷は、実際の負荷が200gの場合を除いて、実際の負荷との誤差が許容範囲内にあるので、未知の負荷の推定に実用できる。
【0090】
実際の負荷が200gの場合に推定負荷と実際の負荷との誤差が大きい原因は、ロボットアームを移動する際に、各関節が最大静止摩擦力を超える力を出す必要があるので、負荷によるトルクが最大静止摩擦力より小さい時に、負荷を推定する精確性が大きく影響されるからである。しかし、負荷によるトルクが最大静止摩擦力より小さい場合においては、ロボットアーム2は負荷の重力影響により予期しない移動が起こらないので、その場合に生じた大きい誤差は許容できる。
【0091】
実際の負荷が400g〜1000gの場合には、負荷によるトルクが最大静止摩擦力より大きく、ロボットアーム2は負荷の重力影響により予期しない移動が起こり得るが、上記の重力補償方法により、ロボットアーム2は所定の位置に位置することができる。
【0092】
なお、本発明に適用できるロボットアームは、図4及び図6に示されているロボットアームに限らず、1つの関節だけを有するロボットアームや、3つ以上の関節を有するロボットアームなどにも適用できる。
【0093】
上記の方法及びシステムによれば、本発明は、異なる負荷の下で作動装置221が出力するトルク信号の電流値と、ロボットアーム2の機械構成のパラメータにより確立された重力モジュール補正ユニット41と、関節21の位置と、に基づいて未知の負荷Wを推定する。即ち、第1のトルク値C(θ)と、第2のトルク値C(θ)と、1組の補正パラメータα、βと、仮想ロボットアームユニット42が生成した無負荷トルク値G(θ)及び最大負荷トルク値Gmax(θ)と、に基づいて、演算部43により推定負荷値Wを推定する。そして、重力補償モジュール5により、推定負荷値W及び第2の関節角度θ′に基づいて、補償トルク値を生成して、該補償トルク値を駆動モジュール22に発信して、重力補償を行う。従って、未知の荷重Wの重量を事前に測定することや、負荷の変化に対する較正プロセスや、高価なトルクセンサの設置などが必要なく、未知の荷重Wによる重力影響を算出して、重力補償を行うことができる。
【産業上の利用可能性】
【0094】
本発明は、ロボットアームに適用でき、特に負荷が頻繁に変更する用途に使用するロボットアームに好適である。
【符号の説明】
【0095】
2 ロボットアーム
21、21a、21b 関節
22 駆動モジュール
221 作動装置
222 機械構成
223 エンコーダ
3 信号処理装置
4 負荷推定モジュール
41 重力モジュール補正ユニット
42 仮想ロボットアームユニット
43 演算部
431 換算変換ユニット
432 目標負荷計算ユニット
5 重力補償モジュール
L 出力軸の軸方向
W 負荷
図1
図2
図3
図4
図5
図6
図7
図8