• ベストアンサー

ライントレースロボットのPID制御を用いての姿勢制御について

anisolの回答

  • anisol
  • ベストアンサー率48% (146/301)
回答No.1

こんにちは。私もライントレーサ作ったことがあります。(ステッピングモータ駆動、赤外線センサ確か16個。kam6さんのロボットはどんなものですか?)P制御しか使いませんでしたが、それでも難しかったです。工業高校の人などがすごく速いのを作っていると尊敬します。 センサーはロボットの前面についていますよね?すると方向転換するだけでラインの検出位置がずれてしまうことになって、単純なPID制御の理論が適用できなくなるということも一因かもしれないですね。現実的には試行錯誤しかないと思いますが、私も理論を知りたいです。アドバイスにもなっていませんが、参考までに。

kam6
質問者

お礼

ロボット本体の全面に8個の光センサをがあり、サーボモータを2台搭載して前輪は無く、左右のモータの回転数の差でコーナを曲がります。あとCPUはH8マイコンです。こんなロボットです。  どうも有難うございました。

関連するQ&A

  • PID制御について。

    制御においてPID制御というのがあるのですが、それらの調整法を教えていただきたいです。 ちなみにPID制御のPは比例動作、Iは積分動作、Dは微分動作です。 ブロック線図で入力と出力の計算をして、実際にコンピュータをつかってDCモータに出力を与えていました。

  • トレースロボットの動きとPID動作の伝達関数式との関係について

    ライントレースロボットの前面に8個の光センサが搭載されていてラインを感知します。そのラインに沿って動くように2台のサーボモータの回転数を変えて追従走行するロボットです。このようなロボットで、プログラミング上でPID制御を用いているのですが、     PID制御の伝達関数の式   Gc(s) = C(s)/E(s) = Kp ( 1 + 1/Ti s + Td s ) と、関係あるとは思うのですがよくわかりません。 制御工学の初心者で参考書を読んでもわからないことが多くて困っています。 また、数学も未熟者です。こんな私ですが教えていただけると助かります。  よろしくお願いします。

  • サーボ機構 PID制御について

    先日大学でPID制御を用いて、ガイドスライダの動きを制御するという実験を行いました。実験の内容は、PID制御で制御されるガイドスライダ(サーボ機構?)に上向きに振子を取り付け、プログラミングでPゲインとDゲインの値を変え、それぞれのパターンに対して振子は安定するか、横軸を時間、縦軸を電圧とした波形はどのようなものになるかというものです。 今そのレポートで考察をまとめているのですが、PゲインとDゲインの値が変化したときの波形の特徴などが、全くといって言いほど考察できません。何しろ専攻は電気ではないので、そもそもPゲインやDゲインという定数は何の意味を持つのかというところから理解ができていません。一般的にこれらの定数は大きければ大きいほどいいのでしょうか?とにかく自動制御についての知識がほとんどないまま実験を行ってしまったため、詳しい方がいましたら、なるべく簡単な言葉で説明をお願いします...。

  • PID制御についての説明

    PID制御についての説明 P:5% 指示値が設定値より±5%以下の場合に設定値まで上昇させる数値? I:300秒 1回の信号を受けて比例制御で設定値まで上昇させる最大時間? D:10 設定値に近づいた時に、負荷を動作させ制御させる時間? 上記の内容は例(間違っていると思う)ですが、素人でも判る説明はどの様に記述すればよいかを教えて下さい。

  • PID制御の設定

    PIDパラメータの設定について教えてください。 レンジが0~50℃の温度調節器があり、PIDパラメータとして  P→3  I→10  D→1 と設定されています。 レンジを0~100℃の温度調節器に変更した時、同じ制御(操作量) をさせたいのですが、パラメータの設定値をいくつにすればよいのでしょうか? おそらく  P→1.5(レンジが倍になり敏感になるため1/2にする)  I→5  (レンジが倍になり鈍感になるため1/2にする) ではないかと思いますが、よろしいのでしょうか? また、Dについてはどう考えてよいのかわかりません。 よろしくお願いします。

  • PID制御

    PID制御で、P や I の係数をを大きくすると、立ち上がりが早くなる代わりにオーバシュートも大きくなると思っていたのですが、下記サイトの説明では逆ですね。そういうものなのでしょうか。 http://www.as-1.co.jp/academy/15/15-5.html

  • PID制御のプログラミング

    実際にPID制御のプログラミングを使用とした場合、サンプリングした離散データを元に制御を行うことになりますが、以下のページの説明ではやり方が異なるようです。どちらが正しいのでしょうか。 1.http://www.picfun.com/motor05.html   ΔMVn = Kp(en-en-1) + Ki en + Kd((en-en-1) - (en-1-en-2))   MVn、MVn-1:今回、前回操作量  ΔMVn:今回操作量差分   en,en-1,en-2:今回、前回、前々回の偏差 2.http://www.mech.utsunomiya-u.ac.jp/ozaki/education/kikaijyoho-2000/sec1.html   p=e   i=i+e   d=e-e1   y=Kp(p+Ki×i+Kd×d)

  • PID制御の学習内容と制御プログラムの関係

    PID制御の本を見ると、ボード線図、ベクトル軌跡、1次遅れ、2次遅れ、等々、色んな事が書いてありますが、これらと、実際の制御プログラムを作る際の関係がいまいち分かりません。 1次遅れだろうと2次遅れだろうと、P/I/Dのパラメータを調整するだけなのでは?と考えてしまいます。 PID制御のプログラムと、上記の諸々の関係はどうなっているのか、プログラム作成上役に立つのでしょうか? どうぞよろしくお願いします。

  • PID制御

    PID制御に関して学習しようと思っていると下記のような説明がでてきました。 >>積分時間TI は、ステップ偏差を与えたとき、P制御による操作信号>>変化に相当する操作信号変化をI制御のみで発生させるために必要>>な時間ということになります。したがって、積分時間TI を小さく>>すればするほど積分制御の影響が強くなります。 この意味が良く分かりません。なぜ積分時間を短くすればするほど、制御の影響が強くなるのでしょうか?? 比例制御と微分制御は理解できたのですが、積分制御に関しては上手く理解できていません。どなたかご教示願います。

  • PID制御について

    色々なHP等を見て分かりやすくPID制御プログラムを組み モータを駆動しているのですが友人も違った式でPID制御を実現して おり実現したプログラムのkp,ki,kdをこちらのkp,ki,kdに入れて見た所 どうも違った動きをしており不安になったので質問させていただきました。 よろしければご教授ください。 //// 各成分の計算 //// // Pパラメータ // iP = Kp * def; /* 定数 * 偏差値 */ // Iパラメータ // iI = Ki * def_inte; /* 定数 * 偏差累積値 */ // Dパラメータ // iD = Kd * (def - def_before); /* 定数 * 今回の偏差-前回の偏差 */ iRet = iP + iI + iD;    /*iRet = 出力duty*/