本文へ移動

tf-2md3-devel@t-frog.com

Re: パラメータの設定方法について

Date:
Thu, 02 Jul 2015 00:36:03 +0900
From:
Atsushi Watanabe <
atsushi dot w at ieee dot org
>
To:
tf-2md3-devel <
tf-2md3-devel at t-frog dot com
>
Subject:
[00084] Re: パラメータの設定方法について
本来は、 GAIN_KP、GAIN_KI が 0 の状態で、走行制御命令などを与えていない状況では、
モータ端子をドライバから外した状態に近い状態になり、モータ軸(タイヤ)に力を加えると軽い力で回るようになります。
もし、GAIN_KP、GAIN_KI が 0 の状態で、モータが勝手に回転するようであれば、個体差で実機モータの MOTOR_VC
が仕様よりも大きい可能性がありますので、MOTOR_VC の調整が必要です。
GAIN_KP、GAIN_KI を 0
にし、走行制御命令を与えていない状態でタイヤを手で少し回した際に、モータが勝手に回らなくなるまで、MOTOR_VC を大きく調整して下さい。
具体的には、パラメータファイル中の MOTOR_VC を、この場合であれば、5~10程度大きくし、ypspur-coordinator
を起動し直して動作を確認、を繰り返します。

GAIN_KP、GAIN_KI の調整は、目標速度を与えずに(=目標速度0)の状態で行うことをおすすめします。
(GAIN_KPだけでは、速度制御の定常偏差が残りますので、速度が目標速度に一致することはまずありません)
目標速度 0 の状態で、手でタイヤを回そうとすると、モータドライバが制御により回転を止めようとしますので、その際に制御が振動しない範囲でゲインを大きくしていけば調整ができます。
具体的に細かな手順を書き出すと、以下のようになります。

1. パラメータファイルの GAIN_KI を 0 にしておく
2. パラメータファイルの GAIN_KP を少し大きくする
(はじめは1~5程度ずつ、あまり変化しないようであればもっと大きく増やしてもOK)
3. ypspur-coordinator を再起動
4. モータ軸を(タイヤを)手で回してみて、なめらかな力が返ってくる場合は2へ戻り、
 振動的な力が返ってくる場合は5へ
5. なめらかな力が返ってきたときの GAIN_KP に戻す
6. パラメータファイルの GAIN_KI を少し大きくする
(はじめは1~10程度ずつ、あまり変化しないようであればもっと大きく増やしてもOK)
7. ypspur-coordinator を再起動
8. モータ軸を(タイヤを)手で回してみて、なめらかな力が返ってくる場合は6へ戻り、
 返ってくる力がロボットを動かすのに十分そうであれば9へ
 振動的な力が返ってくる場合は9へ、
9. なめらかな力が返ってきたときの GAIN_KI に戻して調整完了


メカトロニクス、モータ制御関連をあまり扱ったことがないようであれば、下記URLにある資料(Vehicle_and_Motion_Control.pdf,
Spur_Parameters.pdf)に、パラメータファイルや、そのパラメータが制御系でどのように使われているか、一通り書いていますので、ご一読いただくと多少スムーズに調整できるかと思います。
https://openspur.org/redmine/projects/ypspur/files
また、制御そのものについては、「はじめてのロボット創造設計」という本が、入門書として参考になります。
GAIN_KP, GAIN_KIについては、いわゆる、古典制御のPI制御(PID制御のD項を使っていないもの)のP,
Iゲインですので、古典制御の設計に関する教科書などがあれば、それに従って調整していただいても問題ありません。

以上、お試し下さい。
不明な点があれば遠慮無くご相談下さい。
(本業の時間内は返信できないため、返信が夜になってしまうことが多いのですが、ご了承下さい。)

渡辺

2015年7月1日 20:45 坂井 奎亮 <
m1m14h13 at st dot oit dot ac dot jp
>:
> 大阪工業大学 坂井奎亮です
>
> パラメータファイルを変更し,検証したところ振動せずに回転しました.
> (もう一度新たにパラメータファイルを作り直したので前回はどこか間違っていたのかもしれません)
>
> 次にGAIN_KP ,GAIN_KIの設定を行っています.
> 「GAIN_KI = 0 の状態で、GAIN_KP を発振・振動しない範囲で少しずつ大きくして調整する。」という部分がどのように設定してよいのか解りません.
>
> 設定方法としては, 移動体に目標速度を入力し,実際に走行させた際の速度を計測し,それが目標速度となる値までKPを大きくすれば良いのでしょうか?
>
>

References