沼津高専 電子制御工学科
MG3S 標準プログラムでの直進走行調整
MIRSMG3D-MG3S-0018
改訂記録
版数 作成日 作成者 承認 改訂内容
B01 2014/07/23 牛丸 初版

1. はじめに

 本ドキュメントは MG3S 標準プログラム Ver 2 で、直進走行を正確に行うための調整法について説明する。
正確な直進走行が行えない理由は、エンコーダの値の回転に対して、左右のタイヤの円周速度およびその走行距離が異なる ことが原因であるため、その調整を行う。

なお、直進走行の調整はバッテリーを2本とも搭載した上で行うこと。

2. test_vel_ctrl を使った直進走行時の速度値の確認

速度制御器のテストプログラム(test_vel_ctrl)を動作させて、走行させたい速度(例えば 20cm/sec)に 対して、左右に同じ速度値を与えもどちらかに曲がってしまう場合、左右で異なる速度値を与え、直進走行 する速度値を確認する。速度値は実数で与えることができる。
test_vel_ctrl で左右で同じ速度値を与えたときに、ほぼ直進すればこの調整は必要ない。

3. 左右のエンコーダ・タイヤ円周速度の調整パラメータの設定

 2.で確認した速度値をもとに hardware.h の TIRE_DIST_RATIO の値を設定する。

 TIRE_DIST_RATIO の計算法
 【例1】 test_vel_ctrl で、左 20.0 [cm/s]、右 20.85 [cm/s]で直進した場合 → 20.85/20 = 1.0425
 【例2】 test_vel_ctrl で、左 20.0 [cm/s]、右 19.2 [cm/s]で直進した場合 → 19.3/20 = 0.965

 この値を #define TIRE_DIST_RATIO に記述する。
 hardware.h を保存したら、make clean ; make して、プログラムをリコンパイルする。

4. 直進走行性の確認

  1. test_vel_ctrl で、左右同じ速度値を与えて直進走行することを確認する。
  2. test_run_ctrl で、直進モードを選択し、正確な直進走行が出来るかを確認する。