IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ トヨタ自動車株式会社の特許一覧

特許7589654外力推定装置、外力推定方法、及び外力推定プログラム
<>
  • 特許-外力推定装置、外力推定方法、及び外力推定プログラム 図1
  • 特許-外力推定装置、外力推定方法、及び外力推定プログラム 図2
  • 特許-外力推定装置、外力推定方法、及び外力推定プログラム 図3
  • 特許-外力推定装置、外力推定方法、及び外力推定プログラム 図4
  • 特許-外力推定装置、外力推定方法、及び外力推定プログラム 図5
  • 特許-外力推定装置、外力推定方法、及び外力推定プログラム 図6
  • 特許-外力推定装置、外力推定方法、及び外力推定プログラム 図7
  • 特許-外力推定装置、外力推定方法、及び外力推定プログラム 図8
  • 特許-外力推定装置、外力推定方法、及び外力推定プログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-18
(45)【発行日】2024-11-26
(54)【発明の名称】外力推定装置、外力推定方法、及び外力推定プログラム
(51)【国際特許分類】
   H02P 31/00 20060101AFI20241119BHJP
【FI】
H02P31/00
【請求項の数】 7
(21)【出願番号】P 2021107631
(22)【出願日】2021-06-29
(65)【公開番号】P2023005607
(43)【公開日】2023-01-18
【審査請求日】2024-01-25
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】高橋 太郎
(72)【発明者】
【氏名】羽多野 顕
(72)【発明者】
【氏名】美馬 直生
【審査官】谿花 正由輝
(56)【参考文献】
【文献】特開2020-035394(JP,A)
【文献】特開2018-067284(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 31/00
H02P 21/60
(57)【特許請求の範囲】
【請求項1】
ギアを介して負荷を動作させるモータに作用する外力を推定する外力推定装置であって、
前記モータに供給される電流値を用いて、前記モータの出力トルクを算出するトルク算出部と、
前記モータの回転位置情報を用いて、前記モータの慣性トルクを推定する慣性トルク推定部と、
前記モータの回転位置情報を用いて、前記モータの摩擦トルクを推定する摩擦トルク推定部と、
前記摩擦トルクに対して、前記モータの温度情報を用いて、温度補正を行う温度補正部と、
前記モータの回転角と、当該回転角に応じて変動する摩擦トルクとの対応関係を記憶するモータ角度-摩擦変動テーブルと、
前記トルク算出部によって算出された前記出力トルクから、前記慣性トルクと、温度補正後の前記摩擦トルクと、前記モータ角度-摩擦変動テーブルを用いて推定された摩擦トルクと、を減じることで前記外力を推定する外力推定部と、を備える、
外力推定装置。
【請求項2】
ギアを介して負荷を動作させるモータに作用する外力を推定する外力推定装置であって、
前記モータに供給される電流値を用いて、前記モータの出力トルクを算出するトルク算出部と、
前記モータの回転位置情報を用いて、前記モータの慣性トルクを推定する慣性トルク推定部と、
前記モータの回転位置情報を用いて、前記モータの摩擦トルクを推定する摩擦トルク推定部と、
前記摩擦トルクに対して、前記モータの温度情報を用いて、温度補正を行う温度補正部と、
前記負荷の回転角と、当該回転角に応じて変動する摩擦トルクとの対応関係を記憶する負荷角度-摩擦変動テーブルと、
前記トルク算出部によって算出された前記出力トルクから、前記慣性トルクと、温度補正後の前記摩擦トルクと、前記負荷角度-摩擦変動テーブルを用いて推定された摩擦トルクと、を減じることで前記外力を推定する外力推定部と、を備える、
外力推定装置。
【請求項3】
ギアを介して負荷を動作させるモータに作用する外力を推定する外力推定装置であって、
前記モータに供給される電流値を用いて、前記モータの出力トルクを算出するトルク算出部と、
前記モータの回転位置情報を用いて、前記モータの慣性トルクを推定する慣性トルク推定部と、
前記モータの回転位置情報を用いて、前記モータの摩擦トルクを推定する摩擦トルク推定部と、
前記摩擦トルクに対して、前記モータの温度情報を用いて、温度補正を行う温度補正部と、
前記モータの回転角と、当該回転角に応じて変動する摩擦トルクとの対応関係を記憶するモータ角度-摩擦変動テーブルと、
前記負荷の回転角と、当該回転角に応じて変動する摩擦トルクとの対応関係を記憶する負荷角度-摩擦変動テーブルと、
前記トルク算出部によって算出された前記出力トルクから、前記慣性トルクと、温度補正後の前記摩擦トルクと、前記モータ角度-摩擦変動テーブルを用いて推定された摩擦トルクと、前記負荷角度-摩擦変動テーブルを用いて推定された摩擦トルクと、を減じることで前記外力を推定する外力推定部と、を備える、
外力推定装置。
【請求項4】
前記摩擦トルクは、クーロン摩擦トルク及び粘性摩擦トルクのうちの少なくとも1つを含む、
請求項1~3のいずれか一項に記載の外力推定装置。
【請求項5】
前記慣性トルク推定部は、逆動力学演算結果を用いて、前記モータの前記慣性トルクを推定する、
請求項1~4のいずれか一項に記載の外力推定装置。
【請求項6】
ギアを介して負荷を動作させるモータに作用する外力を推定する外力推定方法であって、
前記モータに供給される電流値を用いて、前記モータの出力トルクを算出し、
前記モータの回転位置情報を用いて、前記モータの慣性トルク及び前記モータの摩擦トルクを推定し、
推定された前記摩擦トルクに対して、前記モータの温度情報を用いて、温度補正し、
前記モータの回転角と、当該回転角に応じて変動する摩擦トルクとの対応関係を記憶するモータ角度-摩擦変動テーブルを用いて、前記モータの回転角に応じた摩擦トルクを推定し、
算出された前記出力トルクから、前記慣性トルクと、温度補正後の前記摩擦トルクと、前記モータ角度-摩擦変動テーブルを用いて推定された摩擦トルクと、を減じることで前記外力を推定する、
外力推定方法。
【請求項7】
ギアを介して負荷を動作させるモータに作用する外力を推定するための外力推定プログラムであって、
前記モータに供給される電流値を用いて、前記モータの出力トルクを算出し、
前記モータの回転位置情報を用いて、前記モータの慣性トルク及び前記モータの摩擦トルクを推定し、
推定された前記摩擦トルクに対して、前記モータの温度情報を用いて、温度補正し、
前記モータの回転角と、当該回転角に応じて変動する摩擦トルクとの対応関係を記憶するモータ角度-摩擦変動テーブルを用いて、前記モータの回転角に応じた摩擦トルクを推定し、
算出された前記出力トルクから、前記慣性トルクと、温度補正後の前記摩擦トルクと、前記モータ角度-摩擦変動テーブルを用いて推定された摩擦トルクと、を減じることで前記外力を推定する、
処理をコンピュータに実行させるための外力推定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、外力推定装置、外力推定方法、及び外力推定プログラムに関する。
【背景技術】
【0002】
フィードバック制御系においては、外乱の影響を抑制し制御系を安定させるために外乱オブザーバが使用される。例えば、特許文献1には、モータの温度情報に基づきトルク定数を算出するとともに、モータの位置情報に基づきクーロン摩擦や粘性抵抗による摩擦トルク及び慣性トルクを推定することで、外乱を推定する外乱オブザーバが開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2020-035394号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
モータによって負荷を滑らかに動作させるためには、モータ制御の精度を高めることが必要である。そのためには、モータに作用する外力を正確に推定することが必要となる。また、外力に応じた適応的な柔らかい制御のためにも、モータに作用する外力を正確に推定することが必要となる。しかしながら、クーロン摩擦や粘性摩擦などによる摩擦トルクは温度に応じて値が変動するため、トルク定数の算出のみに温度情報を用いる特許文献1の方法では外力を正確に推定することは困難であった。
【0005】
本発明は、このような課題を解決するためになされたものであり、推定する外力の誤差を低減可能な外力推定装置、外力推定方法、及び外力推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様に係る外力推定装置は、
モータに作用する外力を推定する外力推定装置であって、
前記モータに供給される電流値を用いて、前記モータの出力トルクを算出するトルク算出部と、
前記モータの回転位置情報を用いて、前記モータの慣性トルクを推定する慣性トルク推定部と、
前記モータの回転位置情報を用いて、前記モータの摩擦トルクを推定する摩擦トルク推定部と、
前記摩擦トルクに対して、前記モータの温度情報を用いて、温度補正を行う温度補正部と、
前記トルク算出部によって算出された前記出力トルクから、前記慣性トルクと、温度補正後の前記摩擦トルクと、を減じることで前記外力を推定する外力推定部と、を備える。
【0007】
本発明の一態様に係る外力推定方法は、
モータに作用する外力を推定する外力推定方法であって、
前記モータに供給される電流値を用いて、前記モータの出力トルクを算出し、
前記モータの回転位置情報を用いて、前記モータの慣性トルク及び前記モータの摩擦トルクを推定し、
推定された前記摩擦トルクに対して、前記モータの温度情報を用いて、温度補正し、
算出された前記出力トルクから、前記慣性トルクと、温度補正後の前記摩擦トルクと、を減じることで前記外力を推定する、方法である。
【0008】
本発明の一態様に係る外力推定プログラムは、
モータに作用する外力を推定するための外力推定プログラムであって、
前記モータに供給される電流値を用いて、前記モータの出力トルクを算出し、
前記モータの回転位置情報を用いて、前記モータの慣性トルク及び前記モータの摩擦トルクを推定し、
推定された前記摩擦トルクに対して、前記モータの温度情報を用いて、温度補正し、
算出された前記出力トルクから、前記慣性トルクと、温度補正後の前記摩擦トルクと、を減じることで前記外力を推定する、
処理をコンピュータに実行させるための外力推定プログラムである。
【0009】
本発明の一態様に係る外力推定装置は、摩擦トルクに対して、モータの温度情報を用いて、温度補正を行う。これにより、本発明の一態様に係る外力推定装置によれば、温度変化に伴う摩擦トルクの変動を補正することができ、推定する外力の誤差を低減することができる。
【発明の効果】
【0010】
本発明により、推定する外力の誤差を低減可能な外力推定装置、外力推定方法、及び外力推定プログラムを提供できる。
【図面の簡単な説明】
【0011】
図1】第1の実施形態に係るモータ及び負荷の構成を示す模式図である。
図2】第1の実施形態に係る制御系の全体構成の一例を示す図である。
図3】第1の実施形態に係る制御系の全体構成の一例を示す図である。
図4】第1の実施形態に係る外力推定装置の構成を示す図である。
図5】第1の実施形態に係る外力推定装置の動作を示すフローチャートである。
図6】第2の実施形態に係るモータ及び負荷の構成を示す模式図である。
図7】第2の実施形態に係る外力推定装置の構成を示す図である。
図8】第2の実施形態に係る外力推定装置の動作を示すフローチャートである。
図9】第1及び第2の実施形態に係る制御ユニットのハードウェア構成例を示した図である。
【発明を実施するための形態】
【0012】
以下、本発明を適用した具体的な実施形態について、図面を参照しながら詳細に説明する。ただし、本発明が以下の実施の形態に限定される訳ではない。また、説明を明確にするため、以下の記載及び図面は、適宜、簡略化されている。なお、図1図6に示した右手系xyz直交座標は、各構成要素の位置関係を説明するための便宜的なものである。通常、z軸正方向が鉛直上向き、xy平面が水平面である。
【0013】
<第1の実施形態>
図1は、第1の実施形態に係るモータ及び負荷の構成を示す模式図である。モータ及び負荷の構成は、例えばロボットの関節などに使用される。図1より、モータ1は、ギア2を介して負荷3に連結されている。モータ1はギア2を介して負荷3を動作させることができる。また、モータ1は、固定部4に設けられている。
【0014】
負荷3及び固定部4は、例えばロボットの腕や足などを構成するフレームである。負荷3は、例えばロボットの先端側に設けられているフレームであり、固定部4は、例えばロボットの本体部側に連結されているフレームである。モータ1は、後述の制御ユニット20の制御部21による制御に基づき動作する。モータ1は、例えばサーボモータである。
【0015】
モータ1の回転運動は、ギア2を介して負荷3に伝達される。以下、説明を簡単にするため、固定部4の位置が固定されている場合について説明する。なお、ロボットの動作に伴い、固定部4の位置が変更されてもよい。
【0016】
負荷3は、yz平面上を回転する。モータ1の回転方向が変更されると、負荷3の移動方向(回転方向)が変更される。また、ギア2の個数や大きさを変更することで、任意の方向や任意の回転速度(角速度)で負荷3を動作させることができる。モータ1の回転速度に応じて、負荷3の移動速度が変化する。具体的には、モータ1の回転速度が大きくなるにつれて、負荷3の移動速度も大きくなる。同様に、モータ1の回転速度が小さくなるにつれて、負荷3の移動速度も小さくなる。
【0017】
図2は、第1の実施形態に係る制御系100の全体構成を示す図である。モータ1を制御するために、図2に示す制御系100が用いられる。制御系100は、指令部10、制御ユニット20を有する。指令部10及び制御ユニット20は、例えばコンピュータ装置である。なお、指令部10及び制御ユニット20に係る各処理がそれぞれ別のコンピュータ装置によって実行されてもよい。図1で説明したように、モータ1は、ギア2を介して負荷3を動作させる。モータ1には、電流検出部11、位置検出部12、及び温度検出部13が設けられる。なお、制御系100は、動作に必要な他の構成要素を有していてもよい。
【0018】
指令部10は、制御ユニット20に対してモータ1を制御するための指令を出す。制御ユニット20は、指令部10の指令に基づきモータ1を制御する。制御ユニット20は複数であってもよく、例えばロボットの腕や足などの関節にそれぞれ設けられていてもよい。つまり、制御ユニット20は、各々の関節を動作させるモータごとに設けられていてもよい。この場合、指令部10は、複数の制御ユニット20に対してモータの制御の指令を出すことで、ロボットの複数の関節の動作を各々制御することができる。
【0019】
制御ユニット20は、制御部21及び外力推定装置22を有する。制御部21は、指令部10からのモータ1の制御の指令に基づき、モータ1を制御する。外力推定装置22は、モータに作用する外力を推定する装置である。制御部21及び外力推定装置22は、例えばコンピュータ装置である。なお、制御部21及び外力推定装置22に係る各処理がそれぞれ別のコンピュータ装置によって実行されてもよい。
【0020】
外力推定装置22は、電流検出部11、位置検出部12、及び温度検出部13にそれぞれ接続されている。外力推定装置22は、電流検出部11から取得されるモータ1の電流値、位置検出部12から取得されるモータ1の回転位置情報、温度検出部13から取得されるモータ1の温度情報を用いて、モータ1に作用する外力を推定する。ここで、外力とは負荷3に係る力(反力)のことであり、負荷3を介してモータ1に作用する。外力推定装置22は、推定した外力を指令部10に出力する。制御ユニット20が複数設けられている場合、複数の外力推定装置22は、それぞれが推定した外力を指令部10に出力する。外力推定装置22の詳細な構成については後述する。
【0021】
電流検出部11は、モータ1に供給される電流値を検出する装置である。電流検出部11は、例えば電流センサである。電流検出部11は、モータ1の電流を検出可能な任意の位置に設けることができる。電流検出部11によって取得された電流値は、外力推定装置22に入力される。
【0022】
位置検出部12は、モータ1の回転位置を検出する装置である。位置検出部12は、例えば、モータ1に設けられるエンコーダである。モータ1の回転位置情報からは、モータ1の角速度、モータ1の角加速度、及びモータ1の回転角が算出可能である。位置検出部12によって取得された回転位置情報は、外力推定装置22に入力される。
【0023】
温度検出部13は、モータ1の温度を検出する装置である。温度検出部13は、例えば温度センサである。温度検出部13は、モータ1の温度を検出可能な任意の位置に設けることができる。温度検出部13によって取得された温度情報は、外力推定装置22に入力される。
【0024】
指令部10は、外力推定装置22によって推定された外力を用いて、制御部21を介しモータ1を制御する。これにより、指令部10はモータ制御の精度を向上させることができ、負荷3を滑らかに動作させることができる。例えば、指令部10は、外力推定装置22によって推定された外力の方向を用いて、当該外力の影響を打ち消す方向に負荷3を動作させることで負荷3の滑らかな動きを実現することができる。また、指令部10は、外力推定装置22によって推定された外力の大きさに基づき、当該外力の方向に負荷3の移動速度あるいは移動加速度を増加させることで負荷3の外力に応じた適応的な柔らかい動きを実現することができる。指令部10は、複数の制御ユニット20に設けられた複数の外力推定装置22によって推定された複数の外力を用いることで、負荷全体が滑らかな動きとなるように、複数のモータを制御することもできる。
【0025】
なお、図3に示すように、外力推定装置22は、推定した外力を制御部21に出力してもよい。制御部21は、外力推定装置22によって推定された外力を取得し、指令部10の指令に基づき、取得された外力の方向を用いて、当該外力の影響を打ち消す方向に負荷3を動作させることで負荷3の滑らかな動きを実現するようにしてもよい。また、制御部21は、外力推定装置22から取得した外力の大きさに基づき、当該外力の方向に負荷3の移動速度あるいは移動加速度を増加させることで負荷3の外力に応じた適応的な柔らかい動きを実現するようにしてもよい。
また、外力推定装置22は、指令部10及び制御部21の両方に推定した外力を出力するようにしてもよい。
【0026】
<外力推定装置の構成>
図4は、第1の実施形態に係る外力推定装置22の構成を示すブロック図である。外力推定装置22は、トルク算出部23、慣性トルク推定部24、摩擦トルク推定部25、温度補正部26、外力推定部27を備える。なお、外力推定装置22は、動作に必要な他の構成要素を有していてもよい。
【0027】
トルク算出部23は、モータ1に供給される電流値を用いて、モータ1の出力トルクを算出する。トルク算出部23は、電流検出部11によって検出された電流値を取得し、当該電流値とモータ1のトルク定数との積を求めることでモータ1の出力トルクを算出する。
【0028】
慣性トルク推定部24は、モータ1の回転位置情報を用いて、モータ1の慣性トルクを推定する。具体的には、慣性トルク推定部24は、モータ1の回転位置情報からモータ1の角加速度を導出し、当該角加速度とモータ1の慣性モーメントとの積を求めることで、慣性トルクを推定することができる。なお、慣性モーメントは、複数の角加速度について、モータ1が一定の角加速度で回転しているときのモータ1の出力トルクを測定し、角加速度と出力トルクとの比例関係を導出することにより算出できる。また、負荷の設計図面から計算される値を用いて慣性モーメントを算出してもよい。
【0029】
慣性トルク推定部24は、逆動力学演算結果を用いて、モータ1の慣性トルクを推定してもよい。逆動力学演算とは、負荷を動作させるために必要なトルクを、角速度及び角加速度から計算する方法である。
【0030】
摩擦トルク推定部25は、モータ1の回転位置情報を用いて、モータ1の摩擦トルクを推定する。以下、摩擦トルクの推定方法について説明する。まず、モータ1の角速度が一定の場合において、外力が加わらない場合はモータ出力トルクと摩擦トルクとは等しい値となる。また、摩擦トルクは、モータ1の回転速度によって変動する。よって、一定速度で回転させた負荷3の1回転分の電流値の平均値を算出し、電流値にトルク定数を乗じることで、所定のモータ1の回転速度におけるモータ出力トルク、つまり摩擦トルクを導出することができる。モータ1の回転速度を変更しながら、電流値を取得することで、速度変化に応じた摩擦トルク値を得ることができる。摩擦トルク推定部25は、モータ1の回転位置情報から算出した回転速度と、事前に導出しているモータ1の回転速度と摩擦トルクとの対応関係とに基づき、モータ1の回転速度における摩擦トルクを推定することができる。
【0031】
摩擦トルクは、クーロン摩擦トルク及び粘性摩擦トルクのうちの少なくとも1つを含んでいてもよい。摩擦トルク推定部25は、モータ1の回転位置情報から算出される角速度を用いてクーロン摩擦トルク及び粘性摩擦トルクを推定することができる。具体的には、摩擦トルク推定部25は、2つの定常状態からクーロン摩擦トルク及び粘性摩擦係数を導出し、粘性摩擦係数に対して対象のモータ1の角速度を乗じることで、クーロン摩擦トルク及び粘性摩擦トルクをそれぞれ導出することができる。ここで、定常状態とは、モータ1の角速度が一定の状態のことである。
【0032】
温度補正部26は、摩擦トルクに対して、モータ1の温度情報を用いて、温度補正を行う。温度補正部26は、所定の温度と摩擦トルクとの対応関係を導出する。温度補正部26は、当該対応関係と温度検出部13によって取得された温度情報が示す温度とを用いて、摩擦トルク推定部25によって推定された摩擦トルクに対して温度補正を行う。
【0033】
例えば、無負荷状態でモータ1を第1の回転速度で回転させ、温度を変更しながら電流値を測定することで、第1の回転速度における電流値と温度変化とにおける対応関係を導出する。次に、モータ1を第1の回転速度とは異なる第2の回転速度で回転させ、温度を変更しながら電流値を測定することで、第2の回転速度における電流値と温度変化とにおける対応関係を導出する。
【0034】
所定の温度において、第1の回転速度及び電流値の関係、並びに第2の回転速度及び電流値の関係の2点が求められているので、これら2点を用いて、所定の温度におけるモータ1の回転速度と電流値との対応関係を求めることができる。ここで、摩擦トルク推定部25は、モータ1の回転速度から温度補正前の摩擦トルクを推定することができる。また、所定の温度における電流値とモータ1のトルク定数との積は、温度変化を踏まえた摩擦トルクの値となる。
【0035】
以上のことから、温度補正部26は、所定の温度における温度補正前の摩擦トルクと、温度補正後の摩擦トルクとの関係を1次式で近似した次式を用いて温度補正を行うことができる。
【0036】
[数1]
y=ax+b
y:温度補正後の摩擦トルク
x:温度補正前の摩擦トルク
a:所定の温度における係数
b:所定の温度における係数
【0037】
例えば、温度補正部26は、温度検出部13によって検出された温度が第1の温度である場合には、第1の温度における式y=ax+b(a及びbは、第1の温度における係数)に対して、xに摩擦トルク推定部25によって推定された温度補正前の摩擦トルクを代入することで、温度補正後の摩擦トルクを推定することができる。
【0038】
同様に、温度補正部26は、温度検出部13によって検出された温度が第2の温度である場合には、第2の温度における対応関係y=ax+b(a及びbは、第2の温度における係数)に対して、xに摩擦トルク推定部25によって推定された温度補正前の摩擦トルクを代入することで、温度補正後の摩擦トルクを推定することができる。これらの第1の温度および第2の温度以外の温度においても、先に説明した温度を変更しながら測定した電流値と温度変化の対応関係から、例えば多項式補間によって係数を求めることができる。なお、これまでに説明した温度補正部26は摩擦トルクを温度によって補正しているが、温度による補正の効果を摩擦トルク推定部25に含めて、温度によって変化する摩擦トルクを算出して利用してもよい。これは、摩擦トルクがクーロン摩擦トルク及び粘性摩擦トルクで表される場合は、クーロン摩擦や粘性係数が温度によって変化することになるためである。
【0039】
以上のようにして、温度補正部26は、温度検出部13によって取得された温度情報を用いて、摩擦トルクの温度補正を行うことができる。
【0040】
外力推定部27は、トルク算出部23によって算出された出力トルクから、慣性トルクと、温度補正後の摩擦トルクと、を減じることで外力を推定する。外力推定部27は、推定した外力を指令部10に出力する。
【0041】
以上より、第1の実施形態に係る外力推定装置22は、温度変化による摩擦トルクの変動を補正することができ、推定する外力の誤差を低減することができる。第1の実施形態に係る外力推定装置22によれば、モータ制御の精度を向上させることができる。
【0042】
図2に示す第1の実施形態に係る外力推定装置22では、推定した外力を制御部21よりも上位の指令部10に出力している。指令部10は、外力の方向や大きさに応じて制御ユニット20を介してモータ1を制御することができ、負荷3を滑らかに動作させることができる。
【0043】
なお、負荷3の加速度がゼロに近い動作をする場合、および負荷3のイナーシャが十分小さい場合には、慣性トルクの影響が極めて小さくなるため、外力推定部27は、慣性トルクの値をゼロとして外力を推定するようにしてもよい。
【0044】
<外力推定方法>
図5を用いて、第1の実施形態に係る外力推定方法について説明する。図5は、第1の実施形態に係る外力推定装置22の動作を示すフローチャートである。
【0045】
トルク算出部23は、電流検出部11によって取得されたモータ1の電流値を用いてモータ1の出力トルクを算出する(ステップS1)。慣性トルク推定部24は、位置検出部12によって取得されたモータ1の回転位置情報を用いてモータ1の慣性トルクを推定する(ステップS2)。なお、上述のように、慣性トルク推定部24は、逆動力学演算結果を用いて、モータ1の慣性トルクを推定してもよい。これによって重力や遠心力、コリオリ力の影響も考慮することができ、より精度が向上する。
【0046】
摩擦トルク推定部25は、位置検出部12から取得された回転位置情報から摩擦トルクを推定する(ステップS3)。温度補正部26は、摩擦トルク推定部25によって推定された摩擦トルクに対して温度検出部13によって取得された温度情報を用いて、温度補正を行う(ステップS4)。なお、温度補正の方法は、上述の方法で行うことができる。
【0047】
外力推定部27は、トルク算出部23によって算出された出力トルクから、慣性トルク推定部24によって推定された慣性トルクと、温度補正後の摩擦トルクと、を減じることで外力を推定する(ステップS5)。その後、外力推定部27は、推定した外力を指令部10に出力する。なお、ステップS1~ステップS3の順序はこれに限らず、任意の順序とすることができる。
【0048】
以上説明したように、第1の実施形態に係る外力推定装置22によれば、温度変化による摩擦トルクの変動を補正することができ、推定した外力の誤差を低減することができる。第1の実施形態に係る外力推定装置22によれば、モータ制御の精度を向上させることができ、負荷を滑らかに動作させることができる。
【0049】
<第2の実施形態>
図6は、第2の実施形態に係るモータ及び負荷の構成を示す模式図である。図1に比べて、ギアの構成を詳細に示している。モータ1は、ギア5及びギア6を介して負荷3を動作させる。なお、図6では説明を簡単にするためギアの数を2つとしているが、ギア5及びギア6は任意の数及び任意の大きさのものを設けてもよい。
【0050】
モータ1の回転角Θ1は、モータ1の回転方向における角度である。負荷3の回転角Θ2は、負荷3の回転方向における角度である。モータ1の回転角Θ1は、モータ1に設けられた位置検出部12によって検出される。負荷3の回転角Θ2は、位置検出部12によって検出されたモータ1の回転角Θ1とギア比とから求めることができる。なお、負荷3側に位置検出部をさらに設けて、負荷3の回転角Θ2を検出するようにしてもよい。
<外力推定装置の構成>
図7は、第2の実施形態に係る外力推定装置30の構成を示すブロック図である。第2の実施形態に係る外力推定装置30は、トルク算出部23、慣性トルク推定部24、摩擦トルク推定部25、温度補正部26、外力推定部27、モータ角度-摩擦変動テーブル28、負荷角度-摩擦変動テーブル29を備える。第2の実施形態に係る外力推定装置30は、第1の実施形態に係る外力推定装置22に比べて、モータ角度-摩擦変動テーブル28及び負荷角度-摩擦変動テーブル29が追加されている。なお、第2の実施形態に係る外力推定装置30において、第1の実施形態に係る外力推定装置22と同様の構成要素には同様の符号を付し、適宜詳細な説明を省略する。
【0051】
モータ角度-摩擦変動テーブル28は、モータ1の回転角Θ1と、当該回転角Θ1に応じて変動する摩擦トルクとの対応関係を記憶するテーブルである。つまり、モータ角度-摩擦変動テーブル28は、モータ1の回転角Θ1に応じた摩擦トルクの変動分の値が記憶されている。
【0052】
モータ角度-摩擦変動テーブル28は、モータ1を1回転させたときの電流値を取得し、モータ1の回転角Θ1に応じて区間を分割し、分割した区間の電流値を平均するとともに1回転全体の電流値を平均して、分割区間で平均した電流値から1回転全体の平均を減算した結果にトルク定数を乗じることで作成することができる。
【0053】
表1は、モータ角度-摩擦変動テーブル28の一例である。
【0054】
【表1】
【0055】
モータ角度-摩擦変動テーブル28を用いることで、モータ1の回転角Θ1に応じた摩擦トルクが推定される。外力推定部27は、トルク算出部23によって算出された出力トルクから、慣性トルクと、温度補正後の摩擦トルクと、モータ角度-摩擦変動テーブル28を用いて推定される摩擦トルクと、を減じることで外力を推定することができる。外力推定装置30は、モータ角度-摩擦変動テーブル28を用いることで、モータ1の回転角Θ1に応じた摩擦トルクの影響を補償することができ、外力の推定誤差を低減することができる。
【0056】
負荷角度-摩擦変動テーブル29は、負荷3の回転角Θ2と、当該回転角Θ2に応じて変動する摩擦トルクとの対応関係を記憶するテーブルである。つまり、負荷角度-摩擦変動テーブル29には、負荷3の回転角Θ2に応じた摩擦トルクの変動分の値が記憶されている。
【0057】
負荷角度-摩擦変動テーブル29は、負荷3を1回転させたときの電流値を取得し、負荷3の回転角Θ2に応じて区間を分割し、分割した区間の電流値を平均するとともに1回転全体の電流値を平均して、分割区間で平均した電流値から1回転全体の平均を減算した結果にトルク定数を乗じることで作成することができる。
【0058】
表2は、負荷角度-摩擦変動テーブル29の一例である。
【0059】
【表2】
【0060】
外力推定装置30は、負荷角度-摩擦変動テーブル29を用いることで、負荷3の回転角Θ2に応じた摩擦トルクを推定することができる。外力推定部27は、トルク算出部23によって算出された出力トルクから、慣性トルクと、温度補正後の摩擦トルクと、負荷角度-摩擦変動テーブル29を用いて推定される摩擦トルクと、を減じることで外力を推定することができる。外力推定装置30は、負荷角度-摩擦変動テーブル29を用いることで、負荷3の回転角Θ2に応じた摩擦トルクの影響を補償することができ、外力の推定誤差を低減することができる。
【0061】
さらに、外力推定部27は、トルク算出部23によって算出された出力トルクから、慣性トルクと、温度補正後の摩擦トルクと、モータ角度-摩擦変動テーブル28を用いて推定される摩擦トルクと、負荷角度-摩擦変動テーブル29を用いて推定される摩擦トルクと、を減じることで外力を推定してもよい。外力推定装置30は、モータ角度-摩擦変動テーブル28及び負荷角度-摩擦変動テーブル29を用いることで、モータ1の回転角Θ1に応じた摩擦トルク及び負荷3の回転角Θ2に応じた摩擦トルクの影響を補償することができ、外力の推定誤差をさらに低減することができる。
【0062】
<外力推定方法>
図8を用いて、第2の実施形態に係る外力推定方法について説明する。図8は、第2の実施形態に係る外力推定装置30の動作を示すフローチャートである。なお、図8のステップS11~ステップS14は、図5ステップS1~ステップS4と同様であるため説明を省略する。
【0063】
位置検出部12によって取得されたモータ1の回転角Θ1とモータ角度-摩擦変動テーブル28とを用いて、摩擦トルクを推定する(ステップS15)。モータ1の回転角Θ1及びギア比から算出される負荷3の回転角Θ2と負荷角度-摩擦変動テーブル29とを用いて、摩擦トルクを推定する(ステップS16)。なお、ステップS15及びステップS16の順序はこれに限られず、任意の順序であってもよい。
【0064】
外力推定部27は、トルク算出部23によって算出された出力トルクから、慣性トルクと、温度補正後の摩擦トルクと、モータ角度-摩擦変動テーブル28を用いて推定される摩擦トルクと、負荷角度-摩擦変動テーブル29を用いて推定される摩擦トルクと、を減じることで外力を推定する(ステップS17)。外力推定部27は、推定した外力を指令部10に出力する。
【0065】
以上のように、第2の実施形態に係る外力推定装置30によれば、温度変化による摩擦トルクの変動を補正するだけでなく、モータ1の回転角Θ1及び負荷3の回転角Θ2に応じた摩擦トルクの影響を踏まえて外力を推定することができる。これにより、第2の実施形態に係る外力推定装置30は、推定した外力の誤差を低減することができ、モータ1に作用する外力の推定値の精度を高めることができる。第2の実施形態に係る外力推定装置30によれば、モータ制御の精度を向上させることができ、負荷を滑らかに動作させることができる。
【0066】
なお、第2の実施形態に係る外力推定装置30は、モータ角度-摩擦変動テーブル28を用いることで、モータ1の回転角Θ1によるコギングトルクの影響を低減し、一般的にモータの定格出力トルクに対して5%程度存在するコギングトルクも一括補償することができる。
【0067】
図9を用いて、第1及び第2の実施形態に係る制御ユニット20のハードウェア構成例を説明する。なお、指令部10も制御ユニット20と同様のハードウェア構成を有していてもよい。また、制御部21、外力推定装置22、及び外力推定装置30が図9に示すハードウェア構成を有していてもよい。図9において制御ユニット20は、プロセッサ101と、メモリ102とを有している。プロセッサ101は、例えば、マイクロプロセッサ、MPU(Micro Processing Unit)、又はCPU(Central Processing Unit)であってもよい。プロセッサ101は、複数のプロセッサを含んでもよい。メモリ102は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ102は、プロセッサ101から離れて配置されたストレージを含んでもよい。この場合、プロセッサ101は、図示されていない入出力インタフェースを介してメモリ102にアクセスしてもよい。
【0068】
また、上述の実施形態における各装置は、ハードウェア又はソフトウェア、もしくはその両方によって構成され、1つのハードウェア又はソフトウェアから構成してもよいし、複数のハードウェア又はソフトウェアから構成してもよい。上述の実施形態における各装置の機能(処理)を、コンピュータにより実現してもよい。例えば、メモリ102に実施形態における動作を行うためのプログラムを格納し、各機能を、メモリ102に格納されたプログラムをプロセッサ101で実行することにより実現してもよい。
【0069】
本実施形態に係るプログラムは、モータに作用する外力を推定するための外力推定プログラムであって、モータに供給される電流値を用いて、モータの出力トルクを算出し、モータの回転位置情報を用いて、モータの慣性トルク及びモータの摩擦トルクを推定し、推定された摩擦トルクに対して、モータの温度情報を用いて、温度補正し、算出された出力トルクから、慣性トルクと、温度補正後の摩擦トルクと、を減じることで外力を推定する、処理をコンピュータに実行させるための外力推定プログラムである。
【0070】
プログラムは、コンピュータに読み込まれた場合に、実施形態で説明された1又はそれ以上の機能をコンピュータに行わせるための命令群(又はソフトウェアコード)を含む。プログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されてもよい。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、random-access memory(RAM)、read-only memory(ROM)、フラッシュメモリ、solid-state drive(SSD)又はその他のメモリ技術、CD-ROM、digital versatile disk(DVD)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されてもよい。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、またはその他の形式の伝搬信号を含む。
【0071】
本実施形態に係る外力推定装置22及び外力推定装置30は、例えばパートナーロボット、協働ロボット、アシストロボット、サービスロボットなどのロボットに限らず、自動車におけるセンサレスのパワーステアリング技術、自動開閉ドアなどにも適用することができる。
【0072】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【0073】
1 モータ
2 ギア
3 負荷
4 固定部
5 ギア
6 ギア
10 指令部
11 電流検出部
12 位置検出部
13 温度検出部
20 制御ユニット
21 制御部
22 外力推定装置
23 トルク算出部
24 慣性トルク推定部
25 摩擦トルク推定部
26 温度補正部
27 外力推定部
28 モータ角度-摩擦変動テーブル
29 負荷角度-摩擦変動テーブル
30 外力推定装置
100 制御系
101 プロセッサ
102 メモリ
図1
図2
図3
図4
図5
図6
図7
図8
図9