5.02 ロボットの線形制御 2006−10−22
(「詳説ロボットの運動学」第6章,本ホームページ補足説明参照)
この説明は5-01ロボットの線形制御と全く同じである.シミュレーションの例として,CP運動を取り上げている.
ソースファイル linearctrl2Source 実行ファイル linearctrl2exe
5.1 ロボットアームの動力学方程式
・ロボットアームの動的特性は,非線形である.
・動力学方程式の2つの例を示す(上記著書94〜99p参照).これは2つはシミュレータで扱う.
・円筒座標ロボットの動力学方程式の各項は
,
,
,
ただし,はアーム・ワークの質量,はアーム・ワークの各重心回りの慣性モーメント, はアーム・ワークの回転中心から各重心までの距離である.またを表す.
・SCARAロボットの動力学方程式の各項は
3.5.2 線形制御特性
(1)
系の線形化
・線形制御では係数が定数であることを前提にしている.
・系の線形化は,アームの慣性モーメントを一定と見なし,コリオリ項・重力項などは外乱と見なす.
・の変動は減速比が大きいときは小さく,減速比が小さいときは大きい.
・DDロボットは減速比=1:1で,の変動が大きく,線形制御として計算した特性と異なる.安定性も保証できない.
・減速比は最適減速比(インピーダンスマッチング)が望ましい.はアームの回転軸回りのイナーシャ(慣性モーメントまたは質量)で,変動するからその平均値か最大値をとる.はモータのイナーシャである.
(2) 線形制御系の2つのタイプ(シミュレータにはこの2つのタイプを別個に用意している)
(2−1)位置誤差と速度をフィードバックするタイプ
・速度をそのままフィードバックするタイプで,この速度フィードバックは系に減衰を与え,安定化するために行う.
・この系は2次遅れ系で(積分FBがないときは伝達関数がsの0次/2次,あるときは1次/3次),立ち上がりの応答性が悪い.(系の伝達関数は積分FBがないときの形)
(2−2)位置誤差と速度誤差をフィードバックするタイプ(CP運動の場合)
・指令値との誤差とその微分(速度誤差)をフィードバックするタイプである.
・この系は1次遅れ系で(積分FBがないときは伝達関数がsの1次/2次,あるときは2次/3次)で,立ち上がりの応答性がよい.
(系の伝達関数は積分FBがないとき
の形)
・軌道制御の初期に遅れが小さく,追随性がよい.
[線形制御シミュレーションにおける前提]
・ロボットタイプ:
2自由度ロボット2種(円筒座標ロボット,SCARAロボット)についてシミュレーションする.
・機構パラメータ:
アーム長・ワーク質量を変更すると,自動的に慣性モーメント・質量などの動的パラメータを算出する.
・モータ:
モータには許容トルクを設定している.
モータパワーを変更すると,自動的にモータ慣性モーメント・許容最大トルクを算出する..
・減速機:(本ホームページ「詳説ロボットの運動学」補足説明参照)
減速比と順方向伝達効率を与えると,逆方向伝達効率を計算する.
伝達効率を考慮した動力学計算をしている(本ホームページ補足説明参照).
・重力項:
重力の有り無し(垂直運動・水平運動)を選択できる.
・制御系:
位置誤差・速度フィードバック制御と位置誤差・速度誤差フィードバック制御の2種を別のファイルに用意している.
制御系の特性(固有振動数など)を設定してフィードバックゲインを決めるようにしている.
・運動タイプ:
PTP運動の制御2種(ステップ応答・関節変位軌道追従),CP運動の4種の軌道がある.
軌道上で台形速度則による時間関数の指令値としている.
・描画項目:
左側にロボットの運動図,右側に関節変位・各動的トルク(慣性項・コリオリ項・重力項・摩擦項),慣性モーメントの時間変化のグラフが表示される.
・諸元の設定方法:
これら全ての設定は,(1)予め設定 (2)ファイルから読み込み (3)必要に応じて変更
の3通りの方法がある.
[線形制御シミュレータの使い方]
(1)使用ファイル名(フォルダ名)
・使用file名(1):roblinearctrl1(program名:robcontrol1.c, graph2d.h)
(位置誤差+速度)FBのタイプ
・使用file名(2):roblinearctrl2(program名:robcontrol2.c, graph2d.h)
(位置誤差+速度誤差)FBのタイプ
・データファイルも一緒の上記ファイルに入れる.
・データファイルを自分で作るときは既存のデータファイル参照のこと.
(2)文字画面でのキー操作
(1) スタート → (1-1)ファイルから諸元読み込み
または → (1-2) ロボット(円筒座標 or SCARA)を選択 → 運動タイプ(PTP1, PTP2, CP)の選択
→ 予め設定したロボット諸元表示 → (2) 変更する?
(2) 変更する場合:(2-1)ロボットアーム長・(2-2)ワーク質量・(2-3)減速比と効率
(2-4)モータパワー・(2-5)制御特性・(2-6)運動タイプ
の順に,変更したければ変更 → (計算後)描画画面へ
(3) 変更しない場合:描画画面へ
画面には左:(1)ロボットの運動
右:(2)関節変位の推移グラフ (3)トルク変動グラフ (4)慣性の変動グラフ
が描画される.
(3)描画画面におけるキー操作
・画面表示の操作
‘s’:時間経過による上記の推移
‘0’:初期状態に戻る
‘t’ or ‘i’:トルク変動 or 慣性変動グラフ描画の切り替え
・パラメータ変更の操作
‘r’:データファイルから読み込みのために文字画面の(1-1)へ
‘a’ or ‘b’:ロボットを選択し文字画面の(1-2)へ
‘l’:アーム長変更のために(1-2-1)へ
‘u’:減速比効率比変更のために(1-2-3)へ
‘m’:モータパワー変更のために(1-2-4)へ
‘k’:制御系特性変更のために(1-2-5)へ
‘g’ or ‘h’:重力ありなし(垂直運動 or 水平運動)の選択,そのまま描画画面
‘q’ or ‘p’ or ‘c’:運動タイプ変更のために(1-2-6)へ
(control2ファイルの場合
‘v’ or ‘V’:速度FBまたは速度誤差FBの選択,そのまま描画画面)
ESC:終了
・軌道上の点で逆運動学の解がないときは文字画面で警告を出し全て終了
・トルク変動グラフには各モータ換算の負荷として
(1) 慣性トルク (2)コリオリトルク (3)重力トルク (4)摩擦トルク (5)全トルク
の線図が表示される.
図は円運動のCP制御例を示す.
[線形制御の特徴]
・ステップ応答
ステップ応答によるPTP運動の制御では,トルクが飽和し理論通りの応答とかけ離れた結果になる.また行き過ぎが大きく運動が不安定になる.
・軌道追従制御
軌道を定めたPTP運動・CP運動では,トルクの飽和はなくスムースに制御できる.ロボットの制御にはトルクの飽和を考えた場合,軌道追従制御型にすることが望ましい.
・位置誤差+速度FBと位置誤差+速度誤差FBの違い
位置誤差と速度をフィードバックする制御では立ち上がりが悪く(2次遅れ系),軌道誤差が大きい.
位置誤差と速度誤差をフィードバックする制御では立ち上がりがよく(1次遅れ系),軌道誤差が小さい.
・過大加速度による誤差
軌道の急な折れ曲がりでは加速度が大きく(軌道上でも関節変位でも),2次遅れ系はもちろん,1次遅れ系でも誤差が大きい.
・台形速度則
台形速度則は加速度の不連続性があり,その不連続点で軌道からのずれが見られる.シミュレーションでは用意してないが,両端停止カム曲線による位置決め理論と同様に(本ホームページ「カム機構のシミュレーション」参照),加速度も連続となる軌道を設定することが望ましい.
・アーム慣性変動と減速比
モータから見たアーム慣性モーメントは,減速比が大きくてもなお変動が大きいことがわかる.
・慣性モーメントを適当に一定と見なした線形化制御系では,慣性モーメントの変動によって特性(固有振動数・減衰比)が変わるが,それによって系を不安定にすることはなく,特性の変化も軌道制御の追従性を著しく損なうものでもない.すなわち,ロボットの系の線形化は実用上十分有効である.
減速比は「機械インピーダンスマッチング」するのが高速運動のためには最適である.
・重力項と減速比
しかし重力が作用する場合(垂直運動)には,モータトルクの中で重力項が支配的であり,制御系のサーボ剛性から決まる重力による撓みを或る程度小さくするために減速比を大きくする必要がある.垂直運動の場合は普通は減速比は重力項から決まる
・コリオリ項
コリオリ項は慣性項や重力項に較べて小さい.