2011-01-01から1ヶ月間の記事一覧

ライントレースロボット6 ステアリング値作成

よく見てみるとステアリング値の初期値0がない。 task main(){SetSensorColorRed(IN_2);SetSensorTouch(IN_1); SetSensorTouch(IN_4);#define TIME 100int standerd;int POW;int currentsensor;int previoussensor;int steering; int kp=1;int ki;int kd=1;…

PIDライントレースロボット5ステアリング型へ変更

ある程度までPD型を考えてみたが、キャタピラ型でのPID制御に限界を感じたのでステアリング型へ変更。 キャタピラ型の問題点は回転するときに必ず曲がる方の出力を下げなければいけなくてロスしてしまうこと。 曲がったあとで自然に舵角を中心にもどすように…

PID制御ライントレースロボット4 D制御追加

D制御文を加えて、kpとkdをタッチセンサーを押すたびに+1にするようにして適切なkp・kdを探せるようにした。 現在のkp値、kd値は当然ディスプレイでモニターする。しかしここでモータ逆転・ノッキングするようになってしまった。 kp・kdど…

PID制御ライントレースロボット3 P制御成功

やっとこさPID制御のうちP制御と言えるものに成功した。この間RubyとオブジェクトCとかやってたのを含めてLEGO NXTを6ヶ月中断していた。正直長かった。頭の片隅でずうっとなんで出来なかったんだっておもってたもん。以下のプログラムでは地面が白ければ白…

PIDライントレーサー計画2

ぜんぜんPIDじゃなくて円運動しかしないので基本に立ち返って、 IF分を利用したライントレーサーを作る。恥ずかしいが、とりあえずラインをトレースできることは確認した。 前段で定義されてる変数をほとんど利用していない。 task main(){SetSensorColorRed…

PIDライントレーサー計画

task main(){SetSensorColorRed(IN_2);#define TIME 5int standerd;int POW;int currentsensor;int previoussensor;int kp=20;int ki;int kd=5;int P;int I;int D; standerd=Sensor(IN_2);//変数standerdに初期の光量を入力するこれは以後の出力の基準点とな…