12.32 移動ロボットの軌道誤差フィードバック制御 08−10−1
実行ファイルAGVerrFBCexe:
目次
1.シミュレーションの仮定
2.CP経路と走行の時間的変化
3.AGVの走行制御
4.AGVの機構誤差
[シミュレーションの使い方]
[AGVの軌道誤差フィードバック制御の特徴]
移動ロボット(AGV)の機構誤差や滑りによって軌道誤差が生じるが(ファイル12.2移動ロボットの機構誤差による軌道誤差シミュレーション,ファイル3-12-2AGVerr参照),その誤差をフィードバック制御によって修正する.その制御系のフィードバックゲインによって如何に誤差が改善されるか,そのシミュレーションを行う.
1.シミュレーションの仮定
・移動ロボット(AGV)の機構は
(1)2DW1C(2駆動輪とキャスタ)
(2)1FDW1FS(前輪駆動と前輪ステアリング)
(3)1RDW1FS(差動歯車付き後輪駆動と前輪ステアリング)
の3種とする(いずれも大きさ約1[m]).
・経路:予め分かっているとする.シミュレーションでは10数種を用意している.
・駆動輪速度:通常は一定速度とし(vd=1[m/s]),経路曲率の急変化の部分ではステアリング(ST)が着いていけるように速度を落とす可変速度とする.ただし2DW1C機構ではステアリング機構がないので,一定速度のままでよい.
・2DW1C機構の場合,駆動旋回速度は不連続に変化させることができる(急速変化が可能である).
・ステアリング角速度には限界がある(ωmax=3[rad/s]).
・移動距離制御:経路上の移動距離誤差は駆動,AGVの位置姿勢の絶対値を計測できなければ(周辺の目印をたよりにすればできる)修正できないが,このシミュレーションでは計測できるとして移動距離誤差をフィードバックし(FF制御による),たとえ車輪の滑りがあっても指令通りの経路長sc(t)を辿ることができるとする.
・経路からのずれの制御:経路から計算した指令の旋回速度ΩcまたはST速度ωcに誤差をフィードバックしたΔΩまたはΔωを加える.すなわち経路ずれ制御はFF制御である.
12.30経路追従フィードバック制御の基本(ファイル名3-12-30AGVFBC0 )に述べたように,2DW1C機構ではΔΩは誤差のPIフィードバック制御,ST付きAGVではΔωは誤差のPフィードバック制御である.
・軌道制御(trajectory Control):経路長とずれを制御する軌道制御である.しかしシミュレーションの目的は経路ずれがフィードバック条件によってどのように改善されるかを見ること(経路制御)である.経路長のフィードバック制御は他の誤差とは独立に行い,単純なPI制御なので説明は省略する.
2.CP経路と走行の時間的変化
・経路はCPのみとする.シミュレーションでは10数種用意しており(12.03CP曲線の具体例,ファイル名3-12-03CP ),その中から選択する.
・CP経路の走行の指令値の時間的な変化vc(t)は,通常は駆動輪等速度とし,曲率の急変化のときステアリング速度がついていけない場合は走行速度を下げる(12.05走行所要時間,ファイル名3-12-05AGVruntime 参照)
・2DW1C機構では等速度を通して構わない.
3.AGVの走行制御(経路ずれ制御)
・AGVは経路を知っており,誤差がないとして走行の指令値を予め作成する.その指令値に従って走行し,誤差があればそのフィードバック分を加算するとする.すなわちFF制御である.
(1)経路に沿う駆動輪・旋回またはステアリング角の速度パターン,,を作成する.
(2)その速度パターンを指令入力とする.そして経路からのずれに比例するフィードバック量
またはを加算する.
・2DW1C機構では,2駆動輪による運動を走行と旋回に換算して,経路ずれとその積分値をΩにフィードバ
ックする(PI制御).
・ST付きAGVでは経路ずれとST角誤差をST速度ωにフィードバックする(P制御).積分要素は不
要である.
・誤差FBの方法やFBゲインを決める計算は12.30経路追従フィードバック制御の基本(ファイル名3-12-30AGVFBC0 )を,制御シミュレーションについては12.31制御シミュレーション(フォルダ名3-12-31AGVFBC1 )参照のこと.
4.AGVの機構誤差
・12.2AGVの機構誤差(ファイル名3-12-2AGVerr )に述べたように,下記の機構誤差が運動に影響する.
(1)左右後車輪の半径誤差(誤差比率()
(2)ステアリング付きの前車輪の半径誤差(誤差比率)
(3)ステアリング角の誤差():ステアリング角の計測が実際とずれがある場合で,定常的なドリフト誤差である.
(4-1)ホイールベース誤差(誤差比率)
(4-2)トレッド誤差(誤差比率)
(5)車輪の滑り:駆動輪の速度が不規則に変化する.
ここでは,時定数1sの1次遅れ正規分布不規則変数によって滑りの値を決めている.
また滑りを%で表示するが,例えば滑り率5%とは,定常速度が1[m/s]のとき,平均0.05[m/s],標準偏差0.05[m/s]の滑りがあることを示している.
[シミュレーションの使い方]
(1)使用フォルダ名:AGVerrFBC ( プログラムAGVerrFBC.c, graph2d.h, 他DATAいくつかを含む )
(2)文字画面でのキー操作
(1)スタート → (1)AGV機構の誤差種類選択と誤差設定 → (2)CP経路パターンの選択と経路諸元設定
→ (3)FB系の固有振動数と減衰比設定 → (計算) → 任意キーによって描画画面へ
(3)描画画面での表示
(1) 左半面にAGVの軌道と運動アニメーション図
(2) 右上・中にAGVの位置の変化のグラフ
(3) 右下に軌道ずれ(Δd,Δθ)の変化のグラフ
・FBなし(青)とFBあり(緑)の軌道・各種変化のグラフを比較し易いように同時に表示している.
(4)描画画面でのキー操作
・描画画面上でのキー操作
‘s’:上記運動の時間経過(sを押し続けると時間的に変化する)
‘0’:運動を始点に戻す
‘x’ , ‘X’, ‘y’, ‘Y’:アニメーション画面を左右上下に移動
‘w’, ‘W’:アニメーション画面を縮小拡大
・描画画面でキー入力し,文字画面へ戻る操作
‘1’, ‘2, ‘3’ :アニメーションのAGV選択
‘c’:CP経路変更のために文字画面へ
‘e’:AGV機構誤差変更のために文字画面へ
‘f’:FB系の固有振動数・減衰比変更のために文字画面へ
‘ESC’:終了
[註]どのAGVもホイールベース・トレッドは約1[m]である.
計算を済ませてから画面表示する.
[AGVの軌道誤差のフィードバック制御の特徴]
・このシミュレーションでは12.30制御の基本で述べた基本的な制御法を適用した.
・すなわち2DW1C機構では誤差を旋回速度にフィードバックするPI制御,ST付きAGVでは誤差をST角速度にフィードバックするP制御である.
・駆動輪速度は経路長の誤差をフィードバックするPI制御を上記と独立に行っている.
・また,経路をAGVが知っているとして,経路を辿る指令値またはを予め作成しておき,軌道誤差による指令値修正量を加算するFF制御としている.
・この方法により滑りでもどんな機構誤差でも,FF制御により正しい経路を辿ることが分かる.
・このシミュレーションでは行っていないが,12.31制御シミュレーションでは理想的な(機構誤差のない)AGVが経路を知らない場合について,経路を正しく辿るフィードバック制御法を述べた.ここではST付きAGVでは,一定駆動輪速度では急な曲率変化の部分で経路からはずれるので,過去の軌道データから現在の曲率変化率dκ/dsを計算し,ST角変化が間に合わないときは駆動輪速度を下げるようにすれば正しい経路を辿ることが分かっている.
・これは時々刻々指令値またはを作成していることを意味し,結果的に上記のFF制御と同じである.
・ただし,経路長の誤差が修正できない(経路の誘導線などによるセンシングでは経路長誤差は計測できない)ときは,指令値sc(t)と異なる.そのために曲率変化率dκ/dsの見積もりに誤差があり,時々刻々の指令値が真値と異なる場合もある.
・この場合でも,許容ST速度を最大ST速度より小さくしておけば(シミュレーションでは許容値がωs=2[rad/s],最大値がωmax=3[rad/s]),κの急変化についていくことができ,FF制御で経路を辿ることが保証される.
・AGVの機構誤差や滑りはたとえわずかでも避けることができない.その誤差は経路が長くなるほど経路からのずれを大きくする.
・その誤差は上記のようなフィードバック制御によって完全になくすことができる.
下記の2つの図は,2DW1C機構のAGVが左右の車輪半径誤差(1,−2)%を持つ場合,1RDW1FS機構が滑り率2%のランダム誤差を持つ場合の,FBありなしの軌道の比較を示している.いずれもFBにより誤差がほとんど無くなっていることが分かる.