3.10.5 厚壁穴通り抜けてワークを目標位置に位置決めと経路生成
――シミュレーションManual―― 2019-7-18
ソースファイル :3-10-5ThckHolePass(19-3-6)
実行ファイル :3-10-5ThckHolePass-exe
(計算解説ファイル:ACal.docx, BCal.docx)
・厚壁円筒穴rh[ ]を通り抜け目標rwp[ ]にワークを位置決めしたゴールポーズを生成し,スタートポーズからゴールポーズに到る経路を生成するシミュレーションを行う.
[シミュレーションの条件設定]
・ロボットベースを静止座標の原点とし,障壁壁の面をXZ,法線方向をY軸とする.
●ロボットタイプ:
・自由度10
・オフセット無しの関節直列構成.
・隣り合う関節軸は直交or平行
・初期ポーズで軸方向がX,Y,Z方向に向いている関節をP,Q,R関節とする.
・リストは重なり合うRPRの3関節
・F11, ..,F14, F21,…F24, F31,..,F34, F41,…,F44の16種類(前半3関節4種×後半4関節4種)を
用意している.
前半 1:RPP, 2:RPQ, 3:PQP, 4:PRP
後半 1:PQPQ, 2:QPRP, 3:PQPP, 4:QRPP
どのロボットもアーム長は決まっている.1 or 2(m)
●障壁
・厚壁,ロボットの+Y側にある.
・ワーク通り抜け可能な円筒穴
・穴軸は水平でΣ0座標系の+Y方向
・穴の(X,Y,Z)位置は変更できる.
●ワーク
・目標位置は壁の外側にあり,上から床に位置決めした状態とする.
・位置は変更できる.
●その他の制約
・P,Q関節(ピボット関節)の回転角には限りがあるとする.
関節qM1=5.5π/6(165°), リストJ9=PではqM2=4.5π/6(135°)
・床・壁と関節・アームの間隔の限界値(余裕値)
関節・アームCollMargin=0.15,ワークWmargin=0.2以下となったら干渉が生じたとする.
・関節・アーム同士の間隔の余裕値も同様で,余裕値以下となったら自己干渉したとする.
[シミュレーション項目]
(A)
ゴールポーズ生成
穴を通り抜け,ワークを目標に位置決めされたゴールポーズを求める.
(B)
経路逆生成
ゴールポーズから初期ポーズまで,穴を通り抜け壁床と干渉しないように経路を生成する.
(C)
ロボットの経路に沿う運動
生成された経路に沿って初期ポーズからゴールポーズまでの運動を描画する.
[画面表示の変更]
座標系の移動と回転:(x,X),
(y,Y), (z,Z)キーにより±(X, Y, Z)方向移動,
(p,P), (q,Q), (r,R)キーにより±(X, Y, Z)軸回り回転
stepwiseに動かす.
A,B,Cモードのどの場面でも可能.
[計算の実行:操作順序]
ThickHolePass.exeを開いて後
・条件設定→(A)→(B)→(C)の順に実行する.
最初はロボットタイプF11=RPP-PQPQ-PRPに設定されている.
また穴位置,ワーク目標位置もA,Bの解がある値が設定されている.
場面はAモードとなっている.
変更したいとき以下の操作を行う.
・ロボットタイプ,障壁位置,ワーク目標位置の3種
の設定・変更がある.
・最初はF11ロボット,それに見合うワーク目標位置
が設定されている.
またAモードに設定されているので,(A)の実行に
移る.
・ロボットタイプの変更
‘F’キー:ロボットタイプの設定・変更へ
用意した4×4のロボットから選択する.
‘11’:F11=RPP-PQPQロボット
・・・・
, ‘44’:F44=PRP-QRPPロボット
変更により変更前のA,Bデータは全て失われる.
(独自のロボットタイプを設定することはできな
い)
・壁穴位置の変更
‘O’キー:壁穴位置の変更
基本的にはAモードでのみ変更する.
(1,4), (2,5), (3,6)キー:壁穴位置が±(X, Y, Z)方向に移動.
穴軸(α線)の方向はY軸方向に固定.
変更前のAデータは保存される.
変更したら’A’キーでAモードに戻す.
[註]Bモードでも変えられるが,Bモードで変えると変更前の通り抜け経路データが無意味となる.
Bモードで変更し’B’キーで戻すこともできる.
・ワーク目標位置の変更
(1,4), (2,5), (3,6)キー:ワーク目標位置が±(X, Y, Z)方向に移動.
変更前のA,Bデータは保存される.
[註]ワーク目標位置はいつでも変えられるが,Bモードで変えても意味がない
目標姿勢は下向きで固定とする.
●A計算:ゴールポーズの生成
・ゴールポーズはスタートポーズから繰り返し演算によって得られる.
・そのスタートポーズをいくつかの候補ポーズから選ぶ.
・通常条件設定はAモードで行う.従って条件設定後は自動的にAモードとなる.
(1) ゴールポーズ計算ためのスタートポーズの選択
‘A’キー :図のA計算の初期ポーズの候補(線画ロボット表示)が示される.
‘SP’キー:選択したいポーズ(実体ロボット表示)が次々と変わる.
‘a’キー :選択したポーズからゴールポーズを求める計算に移行する.
(2) A計算の実行
・ゴールポーズまでの収束状況は次々と表示される.
・計算結果は上図のように示される.
・結果が不満足なら(1)スタートポーズの別の選択 or 条件設定を変更する.
・満足できる結果ならB計算へ
・‘B’:B計算へ移行
●B計算:経路の逆生成
・ゴールポーズから穴を通り抜けて壁床と干渉しないように初期ポーズまでの経路を逆生成する.
‘s’キー:ゴールポーズから穴を通り抜けてスタートポーズに到る経路をstepwiseに逆生成する.
スタートポーズに達するか,途中で行き詰まるかするまで続ける.
‘S’キー:生成した経路を逆行する.
以下の図はゴールポーズからスタートポーズまでの経路逆生成の過程を示す.
結果が出た後
‘C’キー:スタートポーズに達したとき,C計算に移る.
経路逆生成が途中で行き詰まった場合は’C’キーは何も変わらない.
・途中で行き詰まった結果となった場合シミュレーションの条件を変える.
‘A’キー:Aモードに戻る(前述●A計算の実行).
(1)
‘SP’キーで別の初期ポーズ選択
(2)
(1,4),
(2,5), (3,6 )キーでワークの目標位置変更
‘a’:条件変更後(2)A計算の実行へ
‘O’キー:壁穴位置の変更
‘F’キー:ロボットタイプを変更
●C計算:経路に沿う運動
‘s’キー:スタートポーズから]ゴールポーズへ経路上をstepwiseに進む.
‘S’キー:経路を逆行する.
終了後,改めて設定変更から,あるいはゴールポーズ計算のための初期ポーズ変更から再計算することができる.
[厚壁丸穴の通り抜け位置決めと経路生成の吟味]
・ゴールポーズが存在する場合でも干渉なしに経路が得られるとは限らない.
・通り抜けには壁内(壁のロボット側)に少なくとも5関節が必要である.5関節が折り畳まれて干渉しないためには壁はロボットから遠くになければならない.
・その場合もゴールポーズが存在する穴位置・ワーク目標位置の設定条件は厳しい.
・すなわち,条件を与えて解の存在の可否を知るのはできるが,可能な条件を知るのは難しい.
・これはロボットの作業領域を知ることと問題が似ている.
・ロボットタイプが同じとして,既知の解が可能な条件から穴位置・ワーク目標位置を少しづつ変えて解が
不能となる境界を求めればよい.但し手間が掛かる.
・一般に,障害物と干渉せずに位置決め・干渉回避運動を容易にするためには,ロボットの自由度を1つ余分に増すことである.
・厚壁丸穴通り抜けのケースで言えば,通り抜けのために5自由度ワーク位置決めのために6自由度とすれば
通り抜けと位置決めが独立に行えるので解が容易に得られる.