沼津高専 電子制御工学科
MIRS駆動系パラメータ計測手順書
MIRSSTND-SOFT-0007
改訂記録
版数 作成日 作成者 承認 改訂内容
A01 2006.5.22 牛丸 牛丸 初版
A02 2006.5.23 牛丸 牛丸 drshift, dlshift の記述を追加
A03 2007.6.27 牛丸 牛丸 一部記述を変更
A04 2007.7.19 牛丸 牛丸 一部記述を変更

はじめに

MIRS のLQR制御に必要な係数行列を得るために、いくつかのパラメータを計測により導出する必要がある。 本文書では、その手順を示す。 なお、MIRS の LQR制御系の導出については、2輪駆動系の線形制御を参考のこと。

必要な機材、道具

MIRS本体、ディスプレイ、キーボード、 バネばかり、台ばかり、ノギス、テスター、方眼紙、電卓

導出するパラメータ

車体パラメータ

  1. b:回転中心からタイヤ中心までの距離
  2. d:タイヤの直径
  3. M:車体質量
  4. cv:直進抵抗係数
  5. cw:回転抵抗係数
  6. JM:車体慣性モーメント

タイヤ系パラメータ

  1. br:右モータトルク係数
  2. bl:左モータトルク係数
  3. cr:右タイヤ抵抗係数
  4. cl:左タイヤ抵抗係数
  5. Jr:右タイヤ慣性モーメント
  6. Jl:左タイヤ慣性モーメント
(タイヤの左右は、 MIRS を後方から見た場合の左右である)

標準値

以下の計測でも求めるパラメータの標準値は以下のとおりである。 求めた値が、以下の大きくずれる(2〜3倍以上異なる)場合は、計測あるいは単位換算が間違っていると考えられるので、計測を再度行うこと。{\bf 単位計算は全て MKS で行うこと。}
br,bl =7 x 10-2 [Nm/V]
cr, cl = 1.5 x 10-2 [Nm s/rad]
τr,τl = 5 x 10-2 [sec]
Jr,Jl = 7.5 x 10-4 [ N m s2]
cv = 40 [Ns/m]
cw = 0.5 [Nm s/rad]
τw = 0.1 [sec]
JM = 5 x 10-2 [kg m2]

計測用プログラムについて

以下の計測では、/home/atlmirs/mirs_std/pwm_enc/{keisoku1,keisoku2} を使うが、このプログラムを実行すると、l_duty, r_duty と左右の duty 比の入力が求められる。
keisoku2 では、その後、case の入力が求められるが、
  1. case 1 は、タイヤ角速度計測用
  2. case 2 は、MIRS直進速度計測用
  3. case 3 は、MIRS回転角度速度計測用
duty 比は、-127から127まで指定できる。

計測用プログラムの用意

計測用プログラムが /home/atlmirs/mirs_std/pwm_enc/ にない場合は、以下の手順で、計測用プラグラムを用意する。
  1. プログラムのダウンロード LAN ケーブルを接続し、 /home/atlmirs/mirs_std/pwm_enc に、 keisoku1.c, keisoku2.c, encoder4.c, encoder5.c を、titan から FTP でダウロードする。 プログラムは、titan の /www/mirsdoc2/mirsstnd/soft/num0007a/ のディレクトリに置かれている。
  2. プログラムのコンパイル
    1. 次のコマンドを発行し、コンパイルに必要な /usr 以下のディレクトリのいくつかを、NFS マウントする。
          usr_mount
    2. Makefile に次の4行を加える。
        keisoku1 : keisoku1.c both.o pwm.o encoder4.o pwm_enc.h
                $(CC) -O2 -Wall both.o pwm.o encoder4.o keisoku1.c -o keisoku1
      
        keisoku2 : keisoku2.c both.o pwm.o encoder4.o encoder5.o pwm_enc.h
                $(CC) -O2 -Wall both.o pwm.o encoder4.o encoder5.o keisoku2.c -o keisoku2
      
    3. データ保存用ディレクトリの作成
         mkdir /home/atlmirs/mirs_std/pwm_enc/data 
      
    4. 次のコマンドを発行する。
         cc -c encoder4.c
         cc -c encoder5.c
         make keisoku1
         make keisoku2
      

パラメータの計測

直接測定

  1. b,d,M,Vmax(駆動系バッテリー電圧)を、ノギス、台秤、テスターを使って直接測定する。
  2. Vmax が、7.7V以下の場合は、バッテリーを交換する。

ケーブル等の接続

  1. ディスプレイ、キーボードを MIRS に接続する。
  2. 直流安定化電源の出力電圧を 8.2V にセットし、制御用の電源ポートに接続する。
  3. 駆動系バッテリーを接続する。

電圧勾配の測定

  1. 出力電圧は MPCボードからモータケーブルをはずし、そこに替わりのケーブルを接続する。
  2. /home/atlmirs/mirs_std/pwm_enc/keisoku1 を実行し、Duty比とMPCの出力電圧の関係を計測する。
  3. 方眼紙に、Duty比(D)と電圧(E)の関係をプロットし、Duty比に対する電圧勾配(ΔE/ΔD)を 求める。
    この勾配は、プロットした点の中間をとおるように引いた直線より求める。この直線は原点を通らなくてもよい。
  4. 計測が終わったら、MPCのケーブル接続を元に戻す。

モータトルク係数の測定

  1. タイヤ中心から木ねじをねじ込む穴までの距離 r を計測する。
  2. 長さ15mm程度の木ねじに、30cm程度の長さのワイヤー(細い信号ケーブル)を巻き付け、ホイールの穴にねじ込む。
  3. ワイヤーの他端を、バネばかりに引っかける。
  4. /home/atlmirs/mirs_std/pwm_enc/keisoku1 を実行し、Duty比とバネばかりを引く力の関係を、左右それぞれのモータについて計測する。
  5. 方眼紙に、Duty比(D)と力(F')の関係をプロットし、左右それぞれ、Duty比に対する勾配(ΔF'/ΔD)を求める。 勾配は、duty比 50〜90 あたりの点を使って引いた直線より求める。この直線は原点を通る必要なない(通らない)。
    なお、この直線が横軸をとおる duty 比の値を、pwm_module.h の drshift(右), dlshift(左)の値のベースとするので、記録しておくこと。
  6. トルク勾配の計算 上で求めた勾配から、以下の換算式で左右のモータのトルク勾配を計算する。
    ΔTl/ΔD = r g ΔF'l/ΔD, ΔTr/ΔD = r g ΔF'r/ΔD,
  7. モータトルク係数の計算
    電圧勾配(ΔE/ΔD)とトルク勾配(ΔT/ΔD)の比から、モータトルク係数(ΔT/ΔE)を求める。
    ΔTl/ΔE = (ΔTl/ΔD) / (ΔE/ΔD), ΔTr/ΔE = (ΔTr/ΔD) / (ΔE/ΔD),

タイヤ抵抗係数の測定

  1. /home/atlmirs/mirs_std/pwm_enc/keisoku2 を case 1 で実行し、Duty比とタイヤの最終回転角速度(ω∞)の関係を、左右のタイヤにつていそれぞれ計測する。
  2. 方眼紙に、Duty比(D)と最終回転角速度(ω∞)の関係をプロットし、左右それぞれ、Duty比に対する最終角速度勾配(Δω∞/ΔD)を求める。
  3. Δω∞/ΔD と ΔT/ΔD の比から、c = ΔT/Δω∞ として、左右のそれぞれのタイヤ角速度係数を決定する。
    cl=ΔTl/Δωl∞ = (ΔTl/ΔD)/(Δωl∞/ΔD), cr=ΔTr/Δωr∞ = (ΔTr/ΔD)/(Δωr∞/ΔD)

タイヤ系慣性モーメントの測定

  1. /home/atlmirs/mirs_std/pwm_enc/keisoku2 を case1 で実行し、タイヤの回転角速度(ω)の時間変化を、左右のタイヤにつていそれぞれ計測する。duty 比は左右ともに 80 で実行する
    データは、/home/atlmirs/mirs_std/pwm_enc/data/keisoku1.data に記録される。
  2. keisoku1.data のデータを方眼紙にプロットし、最終角速度(ω∞)の 63%となる時間(=時定数、τ)を、左右のモータについてそれぞれ求める。 1サンプル毎の時間は 10ms である。全てのデータをプロットする必要はない(はじめの10点程度プロットすれば十分)。
  3. J = τ c より、左右のタイヤ系の慣性モーメントを計算する。
    Jl = τl cl, Jr = τr cr

以下の測定は、MIRSを床に設置して行う。

計測の準備

  1. ディスプレイとキーボードを、それぞれ延長ケーブルを間に入れて接続し直す。(MIRSは起動したままでよい)
  2. MIRSを床に置く。

直進抵抗係数の測定

  1. /home/atlmirs/mirs_std/pwm_enc/keisoku2 を case2 で実行し、MIRSの最終速度(V∞)を計測する。
  2. 車体後部の中央部にワイヤを取り付けて、1kg重のバネばかりを接続する。
  3. /home/atlmirs/mirs_std/pwm_enc/keisoku1 を実行し、推進力 (Fr'+Fl')を計測する。このときの duty は上で与えたものと同じ値を使う。
  4. cv = (Fr+Fl)/V∞ より、直進抵抗係数を計算する。( (Fr+Fl)=g(Fr'+Fl')であることに注意せよ。)

回転抵抗係数の測定

  1. /home/atlmirs/mirs_std/pwm_enc/keisoku2 を実行し、MIRSの最終回転角速度(Ω∞)を計測する。(case 3で実行)
  2. cω= b*(Fr-Fl)/Ω∞より、回転抵抗係数 cωを計算する。
    Fr-Fl は直進抵抗係数の測定で求めた Fr+Fl の値をそのまま使えばよい。

車体慣性モーメントの測定

直前の回転抵抗係数の測定で、MIRSの回転角速度(Ω)の時間変化のデータが /home/atlmirs/mirs_std/pwm_enc/data/keisoku3.data に記録されている。
  1. keisoku3.data のデータを方眼紙にプロットし、最終角速度(Ω∞)の 63%となる時間(=時定数、τ)を求める。
  2. JM = τ cω より、MIRSの中心軸回りの慣性モーメント JM を計算する。

関連ドキュメント
ドキュメント番号 ドキュメント名称
MIRSSTND-SOFT-0006 駆動系制御パラメータとその導出方法