8.1.PTP運動の最短時間制御とフィードバック制御との比較 2007−4−15
(「詳説ロボットの運動学」第6.3節,本ホームページ補足説明参照)
ソースファイル PTPtocctrl1Source 実行ファイル PTPtocctrl1exe
・PTP運動について,最短時間制御(TOC)と通常のフィードバック制御(FBC)と比較し,運動時間が以下に短縮されるかを見る.
・重力がある場合,TOCの効果がどう変わるかを見る.
・各関節の減速比が変わるとTOCの効果がどう変わるかを見る.
・対象とするロボットは円筒座標ロボット・SCARAロボットの2種とする.
(1)
ロボットの条件設定
・ロボットの諸元は決まっている.すなわち
(1) 円筒座標ロボットの場合,アーム先端に集中質量(mw=1kg)があるとする.
(2) SCARAロボットトの場合,第1アーム先端(m1=1kg),第2アーム先端(mw=1kg)に集中質量があるとする.
(3) アーム長は一定(円筒座標ロボットではl1=1m,SCARAロボットではl1=0.5m, l2=0.4m)であり,質量・慣性モーメントは考えない.
(4) 各関節には減速機があり,その減速比uは変えられる.
(5) モータの慣性モーメントIMは不変とし,減速比によって関節換算の慣性が変化する().
IMはu=50のときアーム慣性と等しくなるように設定している(u=50がインピーダンスマッチング).
(6) モータの最大トルクは決まっている.その値は,u=50のとき回転関節では2[s]で90゜,直動関節では2[s]で1mの行程を,最大加減速(三角速度則)で位置決めできるトルクとしている.
(7) 重力があるときは,関節軸に換算して重力トルクを上記の値に加算したトルクを最大トルクとする.
(2) ロボットアームの動力学方程式
・円筒座標ロボットの動力学方程式は
,
,
,
ただし,は関節1,2のモータの慣性モーメント,は各関節の減速比である.
・SCARAロボットの動力学方程式の各項は
(3) 最短時間制御のトルク切り替えパターンの設定
・補足説明で述べたように,飽和トルク特性を持つモータによるPTP運動の最短時間制御はBang-Bang制御になる.
・2自由度ロボットでは切り替え回数は3回であり,一方が1回,他方が2回の切り替えである.
・PTP運動の軌道を見ると,第1関節の方が第2関節より動きが大きいことが多い.本シミュレーションではこのことを考えて,第1関節トルクを1回,第2関節トルクを2回切り替えることとする.
・第1関節は,動きが正の方向ならば前半に正の最大トルク,後半に負の最大トルクを出す.
・第2関節は,始めに正がよいか負がよいかは分からない.本シミュレーションでは,始めに正の場合と負の場合の両方で計算し,位置決め時間tfの小さい方を採用して切り替え時間の解とする.
(4)
切り替え時間の計算(
PTPTOC.H calTOCtime( ) )
・切り替え時刻と位置決め時間は,補足説明で述べたように,終端状態 が目標の状態と一致するようにNewton法で求める.
・繰り返し回数を300回までとし,それまでに求まらなければ(許容誤差)解なしとする.
(発散を避けるため1回の修正量を極力小さくしている.300回以上繰り返して解が存在する可能性はないわけではない)
(5)
TOCにおける位置決め時間に対する減速比の影響
・減速比をuとすると,モータの慣性モーメントIMの関節軸換算値はとなる.
・アームの慣性モーメントをIaとすると,関節軸に関する慣性モーメントはである.
・TOCが位置決め時間に効果があるのは,アームを縮めることによってIaを小さくするからと考えられる.
・uが大きいとから見て相対的にIaの変化が小さくなり,アームを縮める効果が薄れる.
・TOCの大きな効果が期待できるのは減速比が小さい例えばDDロボットなどの場合であると言える.
(6) 比較対象とするフィードバック制御(FBC)
・始点と終点の各関節変位,間を動く目標軌道を生成する.
・は三角速度則とする.
・FBCでも早い位置決めを実現するために,考え得る最大の慣性をとして,加速度をとする.
・このとき三角速度則により,位置決め時間はである.
・2つの関節で上記の位置決め時間を計算し,大きい方をFBCの位置決め時間とする.
・このをTOCの位置決め時間の比較対象とする.
・遠心加速度などによって上記加速度が出せない場合がある.円筒座標ロボットでは遠心加速度を考慮した最大加速度を算出している.(それでもなお追従できず,目標から大きくはずれてまでに位置決めできないケースがある)
・FBCのPIDゲインは十分大きくとっている.軌道誤差が大きければFBトルクも大きくなるが,最大トルク以上にはなれない.頭を切られるときは誤差修正が不十分で,追従性が悪くなり,位置決め時間が目標値以上となることもある.
・FBCの位置決め時間は可能な限り短くしているので,何かのときに追従できない可能性があると言うことである.
[シミュレーションの使い方]
(1)使用フォルダー名:3-8-1robtoctrl1 ( プログラム名robPTPtoctrl1.c, PTPTOC.H, graph2d.h )
(2)文字画面でのキー操作
(1)スタート → (ロボット諸元等の設定)→ (2)ロボット(円筒座標 or SCARA)を選定
→ (3)重力考慮の有無設定 → (4)ロボット設定諸元を使う?:yes → (6)計算へ
:no → (5)ロボット諸元の変更 → (6)計算へ
(5)ロボット諸元の変更の内容:(5-1)減速比変更 → (5-2)PTPの始点終点変更
(6)(TOC制御・PID制御計算)→ (7)描画画面へ
(3)描画画面での表示
(1) 左半面にTOC制御とPID制御結果のロボットの運動の図
(2) 右上に関節変位の時間変化,右中央・下にトルクの時間変化のグラフ
(4)描画画面でのキー操作
‘s’:上記運動の時間経過(sを押し続けると時間的に変化する)
‘0’:運動を始点に戻す
‘a’ or ‘b’:ロボットを選択して文字画面(4)へ
‘g’ or ‘h’:重力考慮の有無を変更して文字画面(4)へ
‘u’:文字画面へ戻って(5-1)減速比変更へ
‘k’:文字画面へ戻って(5-2)PTPの始点終点変更へ
‘ESC’:終了
[註]ロボットのアーム長・質量・モータ慣性モーメント等は変更しない.
PID制御のゲインは適当に設定してあり,変更しない.
計算を済ませてから画面表示する.
TOC制御の計算はトルクの切り替え時間を求める計算とそのトルクパターンによる制御計算をする.
切り替え時間の解がない場合がある.このときは設定を変える.
TOC制御で終端時間を過ぎたら後は終点での位置決め制御に移る.
[最短時間制御の特徴]
1.
PID制御との比較
(1)TOCの効果
・TOCの方が運動が早いのは当然であるが,行程が長い方がTOCの効果が大きい.
・TOCが早いのは,アームを引っ込めて慣性を小さくし加速度を稼ぐことが最大の要因である.
(2)重力下でのTOCの効果
・重力下のTOC効果は無重力下より大きい.アームを引っ込めて重力の負担を軽くすることが位置決め時間短縮に有効であると考えられる.
・もう1つの要因はPIDでは中途でトルクが最大値を越えないように指令運動をとっていることにある.
(3)減速比とTOCの効果
・減速比が大きくなるとTOCの効果が薄れる.これはモータ慣性の関節軸換算値がアーム慣性より大きくなり,アームを引っ込めて全体の慣性を小さくする効果が小さくなるためである.
・TOCの高速化の効果は,このシミュレーションで見る限りせいぜい2倍である.質的に大きな効果は期待できない.