明 細 書
ロ ボッ ト の接続動作時に速度制御を行な う ための曲線補 間方法
技 術 分 野
本発明は、 産業用 ロボ ッ 卜 の速度制御を行な う曲線補 間方法に関 し、 更に詳 し く 言えば、 ロ ボッ 卜 の軌跡計画 時に、 2 つの動作軌跡を滑 らかに繋ぎつつその軌跡上で 速度制御を実現させるよ う に曲線補間を行な う ための方 法に関する。
背 景 技 術
例えば、 シー リ ングロ ボッ トゃアー ク溶接ロ ボッ 卜の アプリ ケー シ ョ ンにおいて、 ロボ ッ ト に、 直線動作や円 弧動作な どを連続的に行なわせる場合には、 しば しばそ れらの動作軌跡を滑 らかな接続曲線で ¾ぐ と と もに、 接 続曲線上に沿っ たロ ボ ッ ト動作について速度制御を行な う必要が生 じ る。 等速直線動作同士を繋ぐ接続曲線上の 動作について速度制御を行な う補間方法については、 既 にい く つかの提案がな されている。 しか し、 接続対象と される動作の一方ま たは両方が円弧動作のよ う な加速度 が零でない動作 (加速度非零動作) であ る場合には、 速 度制御を滑 らかに実現さ せる適当な柿間方法が無 く 、 速 度制御を断念していたのが実情であ る。 そのため、 シス テム構築や教示に大き な負担が生 じていた。
発 明 の 開 示
本発明の 目的は、 直線動作のみな らず円弧動作のよ う
な加速度非零の動作が関わる ロボ ッ 卜 の接続動作に関し て も、 精度良く 速度制御を行いながら 2つの動作を滑 ら かに槃ぐ接続曲線を描かせる こ とが出来る補間方法を提 供する こ と にある。 また、 本発明は、 その事を通 してシ 一 リ ングロ ボッ ト、 アー ク溶接ロ ボッ ト等、 各種のアブ リ ケー シ ョ ンにおけ る システム構築や教示に要する負担 を軽減 しょ う とする ものであ る。
本発明は、 ロ ボッ ト制御装置内においてソ フ ト ウ ヱァ 処理によ って動作プロ グラ ムに基づいて軌跡計画を作成 するに際 し、 経路移動を伴う第 1 の動作と第 2 の動作の 間のロ ボッ トの接続動作時に速度制御を行なえ るよ う な 曲線捕間方法を提供する。
接続動作時の速度制御の最 も基本的な ものは 「速さ一 定制御」 であ り 、 次のよ う な柿問方法を採用する こ とで 実現される。
この場合、 本発明の補間方法は、 ( a 1 ) 第 1 の動作 の軌跡上に指定された第 1 の接続点と第 2 の軌跡上に指 定された第 2 の接続点を滑らかに繋ぐ接続曲線を表わす 式を時刻 t を用いたパラ メ 一 夕表示 q ( t ) で定めるス テ ツ ブと、 ( b l ) パラ メ 一 夕表示 q ( t ) を用いて、 周期的に 3 次元空間上の補間点を作成するステ ッ プとを 含む。
上記のステ ッ プ ( a 1 ) においては、 接続動作に要求 される滑 らかさの等級 C k ( k は正整数) に応 じた境界 条件を満たす関数 p ( T , t ) が接続時間に対応 した未
知パラ メ ー タ Tを含む式で用意され、 関数 ρ ( Τ , t ) の時間に関する偏微分値の基準値からのずれを評価する 評価関数 £ ( T ) の最適化によ って、 接続動作を通 して 速さを少な く と も近似的に一定に保つ Tの値 T = T。 を 求める計算処理が実行される。
こ こで、 関数 Ρ ( Τ , t ) の時間に関する偏微分値の 基準値は、 第 1 の接続点における第 1 の動作の速度に対 応 している。
ステ ッ プ ( b 1 ) においては、 パラ メ ー タ表示 q ( t ) と して、 Q ( t ) = p ( T o, t ) を用いて 3次元空間 上の補間が行なわれる。 これによ り 、 接続動作を通 して 速さが一定に制御される。
ステ ッ プ ( a 1 ) において用意される関数 p ( T , t) と して、 接続時間に対応 した未知パラ メ 一 夕 Tを含む t に関する多項式があ る。 接続動作に要求される滑らかさ の等級と して代表的な ものは C 2 級であ る。 C 2 級の滑 らかさ によ って、 両接続点を含む接続区間における位置、 速度及び加速度の連続性が保証さ れる。 こ のよ う な速さ 一定制御のための補間方法は、 速さ一定制御第 1 の動作 と第 2の動作の一方ま たは両方が円弧動作のよ う な加速 度非零動作であ る場合に も適用可能であ る。
次に、 「速さ一定制御」 に用い る補間方法を変形 し、 次のよ う な補間方法を採用する こ とで、 接続動作時の速 さ に所望の推移を与える こ とが出来る。
こ の場合、 本発明の補間方法は、 ( a 2 ) 第 1 の動作
の軌跡上に指定された第 1 の接続点と第 2の軌跡上に指 定された第 2の接続点を滑らかに繫ぐ接続曲線を表わす 式を時刻 t を用いたパラ メ 一 夕表示 s ( t ) で定める段 階と、 ( b 2 ) パラ メ ー タ表示 s ( t ) を用いて、 周期 的に 3次元空間上の補間点を作成する段階を含む。
ステ ッ プ ( a 2 ) においては、 接続動作に要求される 滑 らかさの等級 C k ( k は正整数、 以下同 じ。 ) に応 じ た境界条件を満たす関数 P ( T , t ) が接続時間に対応 した未知パラ メ 一 夕 Tを含む式で用意され、 関数 p ( T, t ) の時間に関する偏微分値の基準値からのずれを評価 する評価関数 £ (T )の最適化によ って、 接続動作を通 し て速さ を少な く と も近似的に一定に保つ Τの値 τ = τ。 を求める計算処理が実行される。 こ こ で、 関数 ρ ( Τ , t ) の時問に関する偏微分値の基準値は、 第 1 の接続点 におけ る第 1 の動作の速度に対応 している。
ステ ッ プ ( b 2 ) においては、 パラ メ ー タ表示 s ( t ) と して、 q ( t ) = p ( T o, t ) と調整関数 f ( t ) の合成関数 s ( t ) = ( q O f ) ( t ) が用い られる。 調整関数 f ( t ) は、 C k 級の滑 らかさを有 し、 且つ、 接続動作を通 して速さが所望の推移をする よ う に予め定 め られる。
「速さ一定制御」 の場合と同様に、 ステ ッ プ ( a 2 ) において用意される関数 P ( T , t ) と して、 接続時間 に対応 した未知パラ メ ー タ Tを含む t に関する多項式を 用いる こ とが出来る。 ま た、 接続動作に要求される滑ら
かさの等級と して代表的な ものは C 2級であ る。 C 2級の 滑 らかさ によ って、 両接続点を含む接続区間における位 置、 速度及び加速度の連続性が保証される。 第 1 の動作 と第 2 の動作の一方ま たは両方が円弧動作のよ う な加速 度非零動作であ って も、 接続動作時の速さ に所望の推移 を与え る制御が可能であ る。
ロボ ッ ト の経路移動時には、 ロ ボ ッ ト制御装置内にお いてソ フ ト ゥ ヱ ァ処理によ って動作プロ グラ ムに基づい て軌跡計画が作成される。 軌跡計画に際 しては、 先ず 3 次元空間上における補間が行なわれる。 本発明によれば、 こ の段階における補間について、 直線動作や円弧動作な どの動作の間を接続する動作時の速度制御を実現さ せる 補間公式を定めるための技術手段が提供される。
接続動作時の補問公式を得るには、 2 つの接続点を滑 らかに槃ぐ接続曲線を表わす式を時刻 t を用いたパラ メ 一 夕表示で定めれば良い。 「速さ一定制御」 を目指す場 合には、 接続動作に要求される滑 らかさの等級 C k ( k は正整数) に応 じた境界条件を満たす関数 P ( T . t )を 接続時間に対応 した未知パラ メ 一 夕 T を含む多項式な ど で用意 し、 関数 p ( T , t ) の時間に関する偏微分値の 基準値からのずれを評価する評価関数 ε ( Τ ) の最適化 によ って、 接続動作を通 して速さ を少な く と も近似的に 一定に保つ Τの値 Τ = Τ 。を求める計算処理を実行する。
こ こで、 関数 p ( T, t ) の時間に関する偏微分値の 基準値は、 接続動作の初期速度に対応 している。 そ して、
パラ メ ータ表示と して、 q ( t ) = p ( T o, t ) を用 いて 3次元空間上の補間を行なえば、 接続動作を通 して 速さが一定に制御される。
速さ に所望の推移を与える速度制御を目指す場合に も、 接続動作に要求される滑 らかさの等級 C k ( kは正整数) に応じた境界条件を満たす関数 p ( T, t ) を接続時間 に対応 した未知パラ メ 一 夕 Tを含む多項式な どで用意 し、 関数 P ( T , t ) の時間に関する偏微分値の基準値から のずれを評価する評価関数 £ ( T ) の最適化によ って、 接続動作を通 して速さを少な く と も近似的に一定に保つ Tの値 τ = τ。 を求める計算処理を実行する。
こ こで、 関数 Ρ ( Τ , t ) の時間に関する偏微分値の 基準値は、 接続動作の初期速度に対応 している。
そ して、 パラ メ 一 夕表示と して、 q ( t ) = p ( T o, t ) をそのま ま用いる代わり に、 パラ メ ー タ表示 s ( t) と して、 q ( t ) = p ( T o, t ) と調整関数 f ( t ) の合成関数 s ( t ) = ( q 〇 f ) ( t ) を用いる。 調整 関数 ( t ) には、 C k 級の滑らかさ を有 し、 且つ、 狭 義の単調増加である関数が選ばれる。
合成関数 s ( t ) = ( q 〇 f ) ( t )は、 t を 0 ≤ t f ^ T o) の範囲で変化させた時、 Q ( t ) = p ( To, t ) [ 0 ≤ t ≤ T。] の軌跡と重な り 合う。 しか し、 そ の一方で、 軌跡を迪る速さは、 関数 f ( t ) の選択を通 して自在に変化させる こ とが出来る。
即ち、 関数 ( t ) は、 時間経過を調整 (伸縮) する
機能を果たす ものとみなすこ とが出来る。 本明細書で f ( t ) を 「調整関数」 と呼んでいるのはこ の理由によ る。
図面の簡単な説明
図 1 は、 本発明の実施例で使用 される ロ ボッ ト制御装 置の代表的な構成を示す要部ブロ ッ ク 図、
図 2 は、 ロボッ ト制御に際 して利用 される処理システ ムの概略を示すブロ ッ ク 図、
図 3 は、 2つの円弧動作の軌跡を滑 らかに槃ぐ接続動 作の説明図、
図 4 は、 ケース [ 1 ] に該当する実施形態において、 具体的な数値を用いて速さ (位置を時間で偏微分 した も のの絶対値) の推移を計算 した結果を表わすグラ フ、 図 5 は、 図 4 の結果を得たケー スに対応する実施例に おける接続曲線 S と その前後の動作軌跡を示 し、
図 6 は、 接続曲線上で速さ を一定に保つ制御を行な う ための補間処理の概要を記 したフ ローチ ヤ 一 ト 、
図 7 は、 実施形態で用いた調整関数 f ( t ) の推移を 表わ したグラ フ、
図 8 は、 図 7 に推移を示 した調整関数 f ( t ) を用い た合成関数 ( q 〇 f ) ( t ) の t に関する 1 次微分の推 移を表わ したグラ フ、
図 9 は、 接続曲線上で速さ を調整関数 f ( t ) に依存 させて変化させる制御を行な う ための補間処理の概要を 記 したフ ローチ ヤ 一 トである。
発明を実施するための最良の形態
軌跡計画の中で本発明に従っ た捕間方法を実施する為 に、 通常のハー ドウ ユア構成を有する ロボッ ト制御装置 を使用する こ とが出来る。 図 1 は、 その代表的な構成を 要部プロ ッ ク図で例示 した ものであ る。
図 1 において、 ロボッ ト制御装置 3 0 にはプロセ ッサ ボー ド 3 1 が装備されており 、 こ のプロセ ッ サボー ド 3 1 はマイ ク ロプロセ ッ サからなる中央演算処理装置 ( C P U ) 3 1 &、 01^ 3 1 1) 並びに 1^八 1^ 3 1 。 を備ぇ てい る。
C P U 3 1 a は、 R O M 3 1 b に格納された システム プログラムに従ってロ ボ ッ 卜制御装置全体を制御する。 R A M 3 1 cの相当部分は不揮発性メ モ リ 領域を構成し てお り 、 教示デー タ 、 位置データ 、 各種設定値、 動作ブ ロ グラ ム等が格納される。 ま た、 R A M 3 1 c の一部は C P U 3 1 aの実行する計算処理等の為の一時的なデー タ記憶に使用される。
プロセ ッ サボ一 ド 3 1 はバス 3 7 に結合されてお り 、 こ のバス結合を介 してロ ボ ッ ト制御装置内の他の部分と 指令やデー タの授受が行なわれる よ う にな つている。 先 ず、 デジタ ルサ一ボ制御回路 3 2 がプロセ ッ サボー ド 3 1 に接続されてお り 、 C P U 3 1 a 力、 らの指令を受けて、 サ一ボア ンプ 3 3を経由 してサ一ボモー タ 5 1 〜 5 6を 駆動する。 各軸を動作さ せるサ一ボモー タ 5 1 〜 5 6 は、 ロボッ ト R Bに内蔵されている。
シ リ アルポー ト 3 4はバス 3 7 に結合され、 液晶表示
部付属の教示操作盤 5 7、 R S 2 3 2 C機器 (通信用ィ ンターフ ェ イ ス) 5 8 に接続されている。 教示操作盤 5 7 は動作プログラム等のプロ グラ ムや位置デー タ、 その 他必要な設定値等を入力する為に使用 される。 こ の他、 バス 3 7 には、 デジタル信号用の入出力装置 (デジ タル I / O ) 3 5 、 アナ ロ グ信号用の入出力装置 (アナ ログ I / O ) 3 6 が結合されてい る。
図 2 は、 ロボ ッ ト制御に際 して利用 される処理システ ムの概略をブロ ッ ク 図で示 した ものであ る。 先ず動作ブ ロ グラ ムが読み込まれ、 解釈 (デコ 一ディ ング) される。 これによ り 、 教示経路、 指令速度等が指定される。
続く 軌跡計画においては、 指定された事項 (教示軌跡、 指令速度等) に基づいて、 軌跡計画が立て られる。 こ の 軌跡計画の中で、 3 次元空間内におけ る捕問点が計算さ れ、 更に逆運動学によ って各軸毎の補間点が生成さ れる。 生成された補間点は、 所定周期で各軸のサーボ制御系へ 渡され、 各軸のモー タ についてサーボ制御が行なわれる。
ハ一 ドウ エアの担当について言えば、 プロ グラ ムの解 釈から各軸の補間点の生成までは ロ ボ ッ ト制御装置 3 0 のメ イ ン C P U 3 1 a が受持ち、 デジ タ ルサーボ制御回 路 3 2 内でサー ボ C P Uが共有 R A Mを介 して補間点を 受取り 、 各軸のモー タ 5 1 〜 5 6 のサ一ボ制御を実行す る と う いう方式が一般的であ る。
本発明は、 上記ブロ ッ ク の中で 「軌跡計画」 のブロ ッ ク 内で行なわれる 3 次元空間内の補間点を計算する ため
の処理について、 新規な計算方式を導入する こ とで、 所 期の目的を達成する。 以下、 この計算処理の内容につい て図 3 に示 したケースを例に と って説明する。
同図において、 符号 G, Hは、 2 つの円弧動作の軌跡 を表わ しており 、 いずれも 3 次元直交座標系 0 — x y z の原点 0を通る もの と して描かれている。 本実施形態で は、 円弧軌跡 G上の点 a (0) と円弧軌跡 H上の点 b (0) を接続曲線 S で滑 らかに槃ぐための柿間計算について、
[ 1 ] C 2 級の滑 らかさ を持つ接続曲線上で速さを一定 に保つ速度制御を行な う ケース、 [ 2 ] —般の C k 級
(但 し、 k は正整数) の滑 らかさ を持つ接続曲線上で速 さを一定に保つ速度制御を行な う ケース、 [ 3 ] 接続曲 線上で速さを変化さ せる一般的な速度制御を行な う ケ一 スに分けて述べる。 なお、 以下の説明及び図 3 中で使用 されている諸記号の意味は、 次の通り とする。 こ こ に挙 げられていない記号については、 その都度定義する。
a ( 0 ) 接続曲線 s の始点位置を表わす位置べク ト ル b ( 0 ) 接続曲線 S の終点位置を表わす位置べク ト ル a ( 1 ) 接続曲線 S の始点位置におけ る ロ ボッ トの移 動速度を表わすべク ト ル (速度べク ト ル) b ( 1 ) ; 接続曲線 S の終点位置におけ る ロ ボ ッ 卜 の速 度を表わすべク トル
a ( 2 ) ; 接続曲線 S の始点位置におけ る ロ ボ ッ トの加 速度を表わすべク ト ル
b ( 2 ) ; 接続曲線 S の終点位置におけ る ロ ボッ ト の加
7
11 速度を表わすべク ト ル
P ( τ , t ) ; 接続曲線 S を時刻を表わすパラ メ ータ t を用いて表現する関数で、 その値はべク ト ル値である。 t の取り得る範囲は 0 ≤ t Tであ る。 t = 0 は接続曲 線 S の始点位置に対応 した時刻を表わ し、 t = Tは接続 曲線 S の終点位置に対応 した時刻を表わす。 T は接続曲 線 S の通過に要する時間 (接続時間) を表わ している。
Tの値 (正の実数) は計算前は未知量であ る こ とを考慮 して、 こ のよ う な表記とする。
[ 1 ] C 2 級の滑 らかさを持つ接続曲線上で速さを一 定に保つ速度制御を行な う ケ ース :
こ のケースでは、 接続曲線 S の両端 (即ち、 第 1 の円 弧動作の軌跡 Gの終点と第 2 の円弧動作の軌跡 Hの始点) におけ る速度 a ( 1 ), b (1 ) の大き さ は相等 しい もの と 仮定 し、 こ れを次式 ( 1 ) で表わす。 こ の仮定は、 2 つ の動作を滑 らかに魃ぎ、 且つ、 速度を一定に保つ と い う 条件か ら考えて合理的な ものであ る。 当然、 速度制御の 基準値と される速さ V はスカ ラー量である。
V d=^ II a ) II = II b ") II · · · ( 1 ) 従って、 接続曲線上で速さ が少な く と も近似的に一定 値 V を と り 、 且つ、 時刻を表わすパラ メ 一 タ t に関 して C 2 級の滑 らかさが得 られる よ う に、 接続曲線 S上で補 間点を生成するための補間公式を導けば良い こ と にな る。 接続曲線 C が時刻 t に関する C 2 級の滑 らかさ を有する
W
12 ためには、 接続曲線 Cをパラ メ ー タ表示する上記関数 p ( T , t ) が、 次の境界条件 ( 2 ) 〜 ( 7 ) を満たす必 要があ る。
P ( T, 0 ) = a ) · · ( 2 ) Ρ ( Τ , T ) = b (0) · · ( 3 ) d P
a ( T 0 ) a ( 1 )
( 4 ) t
d P
( T T ) = b C 1 )
( 5 ) d t
d 2 P
( T 0 ) = a C2) ( 6 ) d t 2
Θ 2 P
( T T ) = b ( 2 )
( 7 ) d t 2
こ のよ う な条件を満たす関数 p ( T , t ) には様々な ものが考え られるが、 本実施形態では t の多項式を選択 する。 多項式以外の選択と しては例えばフ ー リ エ級数が あ る。 多項式を選択 した場合、 上記の境界条件をすベて 満たすために最低 5 次の次数が要求される。 こ こ では関 数 P ( T , t ) を表わす多項式と して次式 ( 8 ) で表わ される ものを採用する。
p (T, t ) = a (0)
+ (t/T) 3 {10- 15· (t/T) + 6(t/T) 2} (b (0 - (0) ) + T(l - t/T) 3 ( t /Τ) { 1 + 3 · (t/T)} a (1)
- T(l- t/T) (t/T)3 {4- 3 · ( t /T )} b (1)
+ (T 2/2) ( 1 - t /T ) 3 ( t /T ) 2 a (2)
+ (T 2/2) ( 1 - t /T ) 2 ( t /T ) 3 b (2)
• … ( 8 ) 式 ( 8 ) で表わされる多項式は、 関数 p ( T , t ) の 加速度に関 して次式 ( 9 ) の形を仮定 し、 上記境界条件 ( 2 ) 〜 ( 7 ) を課すこ と によ っ て求め られる ものであ る。 こ こで、 c 。 , c ! , c 2 , c 3 は定ベク トル項を 表わ している。 これらの式 ( 8 ) , ( 9 ) は ( t Z T ) に関する多項式の形を有 しているが、 こ の ( t ZT ) は、 時刻 t を未知の接続時間 Tで規格化 した変数 (時間軸上 で見た接続曲線上の移動率) に相当 している。 ^ t P 2 (T, t)= (1一 t/T)3 c 。+ 3(1— t/T)2(t/T) c
+ 3(1- t/T)(t/T)2 c 2 + (t/T)8 c 3
• · · ( 9 ) この段階では接続時問を表わすパラ メ ー タ Tが未定で あ るか ら、 接続曲線 S は具体的に特定されていない。 本 ケース [ 1 ] では、 速さ を前記 ( 1 ) 式で定めた一定値 V に保つ制御を目指 しているから、 上記 ( 8 ) 式で表わ された関数 p ( T , t ) について、 t が 0 ≤ t ≤ Tの範 囲で変化する時の速さが出来るだけ V か らずれないよ う にパラ メ ー タ Tを定める必要があ る。
そのためには、 こ の一定値 V か らの速さ のずれをなん らかの評価関数 £ ( T ) で評価 し、 評価関数 £ ( T ) を 最適化する よ う にパラ メ ー タ τを定めてやれば良い。 こ のよ う な評価関数には様々 な ものが採用可能であ るが、 こ こでは次式 ( 1 0 ) で表わ される関数 ε ( Τ ) を採用
する
d P
s (T)d6=f (τ , t )||2 d t - v
T d
(b ( 0 ) _ _ ( 0 ) ) - (a ( 1 ) + b ( 1 )
+— ( b (0) — a (0) ) · (- a (2) + b (2) )
+ (8 ( 1 ) ( 3 )
― a t 1 )
35 + 8||b (1 )
+ T {- ( a ( 1 · a (2 ) — い " · b (2) )
U
+ 1 ( a ( . b (2) _ b en . a (2) ) }
105
+ a (2) · b (2) + b ( 2 ) )
• · · ( 1 0 ) ノく ラ メ ー タ Tを定める計算は、 a (0) , b (0) , a b ( , a (2) , b (2)及び v の数値が具体的に与え られ た時に、 上記評価関数 ε ( Τ ) の最適化問題に帰着され る。 こ こでは、 次式 ( 1 1 ) で表わされる £ ( Τ ) の最 小化問題を解けば良い。
£ ( Τ ) → m i η ' · . ( 1 1 ) 具体的な数値例と して、 次の ( 1 2 ) 〜 ( 1 8 ) を想 疋— 9 る。
a (0) = [― 2 5 0 ( 2 — 厂 2 ), 0 , 2 5 0 ^ 2 ]
• · · ( 1 2 ) b 0) = [ 0 , 2 5 0 ( 2 — 厂 2 ), 2 5 0 2 Ί
• · · ( 1 3 ) a ( 1 ) = [ 5 0 0 2 , 0 , — 5 0 0厂 2 ]
• · · ( 1 4 ) b ( 1 ) = [ 0, 5 0 0厂 2, 5 0 0厂 2 ]
• · · ( 1 5 ) a ( 2 ) = [一 1 0 0 0厂 2 , 0 , — 1 0 0 0厂 2 ]
• · · ( 1 6 ) b ( 2 ) = [ 0 , 1 0 0 0 2 , - 1 0 0 0厂 2 ]
• · · ( 1 7 ) V = 1 0 0 0 · · · ( 1 8 ) する と、 式 ( 1 1 ) で 「― m i n 」 を 「 = 0」 に置き 換えた次の方程式、
ε ( Τ ) = 0 * · · ( 1 9 ) に意味のある解 ( Τ 〉 0 ) が存在する。 その値は、 Τ = Τ ο =約 0. 2 7 0 · · · ( 2 0 ) であ る。
( 2 0 ) 式の条件下で、 0 ≤ t ≤ T。 におけ る速さ (位置を時間で偏微分 した も のの大き さ) の推移を計算 する と、 図 4 に示 したグラ フが得 られる。 ま た、 p ( T, t ) で表わ される接続曲線 S と その前後の動作軌跡を示 せば、 図 5 のよ う にな る。 図 4 に示 したグラ フ に併記 し たよ う に、 接続曲線 S上 ( 0 t ≤ T 0 ) における速さ の v = 1 0 0 0 からのずれの相対値は、 +方向に最大 1. 8 %、 一方向に 1 . 1 % と非常に小さ く 、 速さ一定制御 が良い近似で具現されている こ とが判る。
以上の こ とから、 点 a (0) から点 b (0) に至る経路移 動についての軌跡計画に際 して、 上記の計算によ って求 め られた時刻 t の関数 p ( T 0 , t ) に基づいて 3 次元 空間内における補間を行なえば、 点 a (0) と (0) を滑 らかに槃ぎ、 且つ、 ロボ ッ ト を速さ を一定で移動さ せる 制御を実現させる こ とが出来る。 関数 p ( T。, t ) に 基づく 補間処理は、 円弧動作 Gのための処理に続いて行 なわれる。 その概略を図 6 のフ ロ ー チ ャ ー ト に示 した。
先ず、 動作プロ グラ ムから、 点 a (0) と (。) を滑ら かに槃ぎ、 且つ、 ロ ボッ トを速さ一定で移動さ せる接続 動作の動作文を含む 1 プロ ッ ク を読み込む (ステ ッ プ M 1 ) 。 次いで、 前出の式 ( 8 ) , ( 1 0 ) に基づいて、 評価関数 £ ( T ) を計算 し (ステ ッ プ M 2 ) 、 評価関数 ε ( Τ ) に関する最適化問題を解き、 パラ メ 一 夕 Τの最 適値 Τ 。 を求める (ステ ッ プ Μ 3 ) 。
ステ ッ プ Μ 2 及びステ ッ プ Μ 3 における計算には、 接 続点の位置、 速度、 加速度のデー タ、 a (0) , b (0) , a (" b (1 ) , a (2) , b (2)が必要と な る。 こ れらのデータ は、 円弧動作 G, H に関するプロ グラ ムデー タ 、 あ るいは円 弧動作 G , H に関する軌跡計画の中で定めた ものを使用 する こ とが出来 る。
最適値 T 。 が求め られたな らば、 補間点の計算を開始 する。 補間点は、 処理周期 Δ t 毎に t が T 。 に至る まで 漸増させながら、 前出の式 ( 8 ) の値を T = T 。 の条件 下で繰り返 し算出する こ と によ っ て生成される (ステ ツ
ブ M 4 〜ステ ッ プ M 6 ) o
こ のよ う に して生成された補間点は、 周知の逆変換計 算によ って各軸の補間点を表わすパルス (移動指令) に 変換されて、 各軸のサーボ制御系に渡される。 各軸のサ ーボ制御系は、 受け取っ た移動指令に従っ てロ ボッ 卜の 各軸モー タを制御する。 こ れによ り 、 ロ ボ ッ ト を接続点 a (0) と b (0〕 を滑 らかに槃ぐ p ( T。, t ) で表わ さ れる接続曲線 S上で一定の速さ V で移動さ せるための制 御が達成される。
[ 2 ] —般の C k 級 (但 し、 k は正整数) の滑らかさ を持つ接続曲線上で速さ を一定に保つ速度制御を行な う ケース :
上述 した [ 1 ] のケース ( C 2 級の速さ一定制御) で 説明 した方法を以下のよ う に拡張 し、 一般化する こ とで、 こ の [ 2 ] のケース に対処する こ とが出来る。
先ず、 (近似的に) 速さが一定値 V (〉 0 ) で、 且つ、 時刻 t に関 して C k 級 ( k は正整数) の滑 らかさで接続 曲線を描く こ とを考える。 接続曲線の境界条件は、 一般 的には下記 ( 2 1 ) ~ ( 2 3 ) で記述される。
V ie { 0 , • · , k } · · · ( 2 1 ) に対 して、
d p
( T 0 ) = a (i ) , · · ( 2 2 ) d
d ' p
( T T ) = b ( · · · ( 2 3 ) d
但し、 a (! ) , b ("は、 プロ グラ ムデ- - タ等から予 め与え られる ものであ り 、 次の条件 ( 2 4 :) 〜 ( 2 6 ) ¾r満たす。
a U , b ( Π G R " • · ( 2 4 )
(但 し、 R n は n 次元実べク ト ル空間)
a ( 1 ) =1 ( 1 ) = V • ( 2 5 ) n は正整数 (通常は n = 3 ) • · ( 2 6 ) これらの境界条件を満た し、 且つ、 時刻 t に関 して C k 級であ る関数 p ( T , t ) が見つかつ た と して も、 こ の 段階では、 一般的に、 区間 0 t Tで速さ、 即ち関数 p ( T , t ) の t に関する偏微分の大き さ を一定値 V に 十分近づける こ とは出来ない。 そ こ で、 [ 1 ] のケース と同様に、 未知パラ メ ー タ T の値を調整する こ とを考え る。 そのために、 適当な評価関数 ε ( Τ ) を用意 し、 こ の関数に関する最適化問题、
ε ( Τ ) — m i n · · · ( 2 7 ) を T に関 して解く こ と にな る。 評価関数の例と しては 次の ( 2 8 ) 〜 ( 3 1 ) があ る。
,―、 del 1 d p
ε (Τ) = (T , t ) d t v ( 2 8 )
T d t
1 d p
ε (T)de=f s JT 0 (T , t ) d t - v ( 2 9 )
T a t
1
ε (T)de=f - v ) 2dt • ( 3 0 )
T
1
ε (T)de=f (T . t ) v2) 2dt ( 3 1 )
T a t
この問題は、 [ 1 ] のケース と同様の手法によ って p ( T , t ) を用意 して、 解析的あ るいは近似的に解 く こ とが出来る。 p ( T , t ) と して、 多項式を選択 した場 合、 その次数 1 を k に応 じて定ま る所定値 (前述の k = 2のケースでは、 1 = 5 ) 以上に と る こ とで、 境界条件 ( 2 1 ) 〜 ( 2 3 ) を満たす多項式を定める こ とが出来 る 0
T = T。 (最適問題の解) と した関数 p ( T , t ) を 用い、 点 a (0 から点 b (0) に至る経路移動についての 軌跡計画に際して、 3次元空間内におけ る補間を行なえ ば、 点 a (0) と b (0) を C k 級の滑 らかさで槃ぎ、 且つ、 ロ ボッ ト を速さ を一定で移動させる制御を実現させる こ とが出来る。 関数 p ( T 0 , t ) に基づ く 補問処理はケ —ス [ 1 ] (図 6の フ ロ ー チ ャ ー ト参照) と同様である から、 繰り 返 し説明は省略する。
[ 3 ] 接続曲線上で速さ を変化さ せる一般的な速度 制御を行な う ケース
次に、 接続曲線上での速さ を一定に保つ とい う条件に 代えて、 接続曲線上で速さを所望の態様で制御する とい う 条件を課すこ と にする。 も ちろん、 接続曲線上で C k 級 ( k は正整数) の滑 らかさ は維持する もの とする。
先ず、 ケース [ 1 ] あ るいはケース [ 2 ] で述べた手 法を用い、 パラ メ 一 夕 Tの最適値 T。 を求め、 最適化が 達成された関数 p ( T。 , t ) を定める。 こ の Tを T o に固定 した関数を以後 q ( t ) で表記する。
def
q ( t ) = p (T o, t ) · · · ( 3 2) こ の q ( t ) に対 して、 下記の条件 ( 3 3 ) 〜 ( 3 7) を満たす調整関数 f ( t ) を用意 し、 合成関数 ( q〇 f) ( t ) を導入 し、 これを補間公式の基礎に用いる こ とで 一般的な速さ制御が可能にな る。 なお、 こ こで、 〇印は 合成関数を表記するための記号と して用いた。 ま た、 合 成関数 ( q〇 f ) ( t ) を適宜 s ( t ) で表記する。
f : R - R · , · ( 3 3) (但 し、 Rは実数体を表わす。 )
f は、 R上で C k 級 · · · ( 3 4 ) f は、 狭義単調増加 · · · ( 3 5 ) f (0 )= 0 · · · ( 3 6) f ( t ) は、 あ る正値 t 。 に対 して、 f ( t 。;) = T。を 満たす · · · ( 3 7)
—つの特殊なケース と して、 上記条件 ( 3 3 ) ~ ( 3 7 ) を満たす一つの関数であ る f ( t ) = t を考え る と、 s ( t ) = ( q O f ) ( t ) は q ( t ) その も の と な り、 ケース [ 1 ] あ る いはケ ース [ 2 ] と一致する。 こ れに 基づく 捕間を行なえば、 当然、 速さを一定値 V に保つ制 御が実現される こ と にな る。
こ のよ う な合成関数 s ( t ) = ( q O f ) ( t ) を補 間公式の基礎に用い る こ とで、 次の利点が同時に確保さ れる。
1. q ( t ) = p ( T。, t ) [ 0 ≤ t ≤ T。] の軌跡
と合成関数 8 ( 1 ) = ( (!〇 £ ) ( t ) [ 0 ≤ t ≤ f -1 ( T。) ] の軌跡は一致する。
2. その一方で、 次式 ( 3 8 ) で与え られる速さ は、 調整関数 f ( t ) の選択を通 して自在に変化さ せる こ と が出来る。 即ち、 関数 f は時間経過を調整 (伸縮) する 機能を果たすものと みなすこ とが出来る。
Id (q O f )
( t ) ( t ) ( q O f ) ( t ) ( 3 8 ) d t
次に、 接続曲線上で速さを変化させる具体例と して、 ケース [ 1 ] (図 4 〜図 6 と その関連説明参照)に示 した速 さ一定制御を行な う 接続動作を元に、 「初速 II a (1) II = V か ら終速 II b (1 ) II = V Z 2 ま で接続曲線 S上で減 速を行な う接続動作」 を実現させる柿間方法について説 明する。 接続曲線 S の滑 らかさ と しては、 ケース [ 1 ] と同 じ く C 2 級を要求する もの とする。 C 2 級の滑 らか さ は、 位置と速度と加速度についての連続性を保証する ものであ り 、 ロ ボ ッ ト に滑 らかな動作を実現さ せる (特 に、 接続点付近について) 基本的な要件と して合理的な ものであ る。
さて、 C 2 級の滑 らかさを損なわない調整関数 f ( t) を用意する ために、 こ こ では次の手法を利用する。
先ず、 次の条件 ( 3 9 ) 〜 ( 4 2 ) を満たす関数 g ( t ) と定数 T ,, Τ 2 を用意する。 そ して、 式 ( 4 3) で表わされる関数 f ( t ) を作る と、 関数 f ( t ) は前 出の条件 ( 3 3 ) 〜 ( 3 7 ) をすベて満たす (但 し、 こ
こ では k = 2 ) o
g : R -* R ( 3 9 ) (但 し、 Rは実数体を表わす
T ! > 0 , T 2 > 0 ( 4 1 ) Τ ! > Τ 2 ( 4 2 ) f ( t ) g(t1)dt1)dt2)dt3
• · · ( 4 3) こ のよ う に して得 られた調整関数 f ( t ) については、 任意の T i, T 2 に対 して、
f (T !+ T 2)= (3 / 4 )(T T 2) ( 4 4) が成立する。 そ こ で、 定数 T !, T 2 を
Τ ι + Τ 2= (4 / 3 ) Τ ο ( 4 5) とな るよ う に選べば、
f (T !+ T 2)= T 0 • · · ( 4 6) とな る。 図 7 、 図 8のグラ フは、 こ のケースについて、 調整関数 f ( t ) の推移並びに合成関数 ( q〇 f ) ( t) の t に関する 1 次微分の大き さ の推移を表わ してい る。 こ のケー スでは、 上記 ( 4 6 ) 式に対応 して、 '减速期間 と接続期間が一致 してい る こ とが判る。 図 8の グラ フの 形 (こ こでは減速パタ ー ン) は、 T と T 2 の組合せを 選ぶこ とを通 して変える こ とが出来る。 こ れは、 ロ ボッ 卜 の速さの推移が制御可能であ る こ とを意味 している。
以上のこ とから、 点 a (0) から点 b (0) に至る経路移 動についての軌跡計画に際 して、 上記関数 ( q〇 f )
( t ) に基づいて 3次元空間内における補間を行なえば、 点 a (0) と b (0) を滑らかに槃ぎ、 且つ、 ロ ボ ッ ト の速 さを調整関数 f ( t ) を通 して指定されたパタ ー ンで変 化させる制御を実現させる こ とが出来る。 関数 ( q〇 f) ( t ) に基づく 捕間処理は、 円弧動作 Gのための処理に 続いて行なわれる。 その概略は図 9 のフ ロ ーチ ヤ一 卜 に 示されている。 なお、 調整関数 f ( t ) の関連デー タ ( T:, T 2の比率等) は、 予めロ ボッ ト制御装置のメ モ リ に格納 してお く 。
先ず、 動作プロ グラ ムから、 点 a (0) と b (0)を滑 らか に繋ぎ、 且つ、 ロ ボ ッ ト を速さ一定で移動させる接続動 作の動作文を含む 1 ブロ ッ ク を読み込む (ステ ッ プ W 1 ) 。 次いで、 前出の式 ( 8 ) と式 ( 1 0 ) 、 あ る いは式
( 8 ) と式 ( 2 8 ) 〜 ( 3 1 ) の いずれか一つ に基づい て、 評価関数 £ ( T ) を計算 し (ステ ッ プ W 2 ) 、 評価 関数 £ ( T ) に関する最適化問題を解き、 パラ メ ー タ T の最適値 T。 を求める (ステ ッ プ W 3 ) 。
ステ ッ プ W 2及びステ ッ プ W 3 における計算には、 ケ
—ス [ 1 ] と 同 じ デー タ a ( 0 ) , b (0 ) , a ) , b ( 1), a (2) , b (2)を用い る。 こ こ で注意する こ と は、 接続曲 線の始点側の位置、 速度、 加速度を表わすデー タ a (G) , a a (2)並びに接続曲線の終点側の位置を表わすデ 一 夕 b (0) は現実の ものであ るが、 接続曲線の終点側の
速度、 加速度を表わすデー タ b (1), b (2)は現実の もの ではな く 、 前出の条件式 ( 1 ) 等で定め られる ものであ る こ とであ る。 何故な らば、 最終的に補間公式に使用さ れる ( Q〇 f ) ( t ) を計算するために用い られる関数 p ( T o, t ) は、 前出の条件式 ( 1 ) の下で導出され る ^、りであ る。
最適値 T。 が求め られたな らば、 補間点の計算を開始 する。 補間点は、 処理周期△ t 毎に t が f - 1 ( T。) に 至るまで漸増さ せながら、 合成関数 ( q O f ) ( t ) の 値を繰り返 し算出する こ と に よ っ て生成される (ステ ツ ブ W 4〜ステ ッ プ W 6 ) 。 合成関数 ( q〇 f ) ( t ) の 定義は上述 した通り であ る。 ま た、 f ( t ) と しては、 上記 g ( t ) を用いて式 ( 4 3 ) で定義された ものを採 用する こ とが出来る。
こ の よ う に して生成さ れた柿間点は、 周知の逆変換計 算によ っ て各軸の補問点を表わすパルス (移動指令) に 変換されて、 各軸のサ一ボ制御系に渡される。 各軸のサ — ボ制御系は、 受け取っ た移動指令に従ってロ ボッ ト の 各軸モー タを制御する。
こ れによ り 、 ロ ボ ッ ト を接続点 a (0) と b (。) を滑 ら かに繋ぐ接続曲線 S上を調整関数 f ( t ) に依存 して変 化する速さで移動さ せる ための制御が達成される。 こ の 場合、 時刻 t を用いた接続曲線 S のパラ メ ー タ表示は、 p ( T。, t ) ではな く 、 ( q〇 f ) ( t ) であ る。 即 ち、 ( q〇 f ) ( t ) は p ( T。, t ) と同 じ軌跡を迪
り ながら、 速さが調整関数 f ( t ) に応じて制御された 接続動作を表わ している。
以上、 主と して円弧動作同士を C k 級 ( k = 2 ) の滑 らかさで接続する事例について述べたが、 円弧動作と直 線動作あるいは直線動作同士を接続する場合で も、 これ までに説明 した本発明の技術思想を適用 して、 速度制御 を伴っ た接続動作のための補間を行な う こ とが出来る こ と は言 う まで もない。 ま た、 滑 らかさ の等級が k = 2以 外の場合について も、 説明の中で述べた考え方に従って、 p ( T, t ) , f ( t ) 等を適当に選択する こ と によ つ て、 C k 級 ( k = l , 3 , 4 · · ) の滑 らかさ で接続す る こ と も出来る。
本発明によれば、 速さ を一定に保つ制御を含め、 所望 する推移バタ ー ンで速さ を変化さ せる制御を行いながら、 2つの動作 (直線動作や円弧動作) を滑 らかな接続曲線 で槃ぐ こ とが可能になる。 ま た、 その事を通 して シ一 リ ングロ ボッ ト 、 アー ク溶接ロ ボッ ト等、 各種のアブ リ ケ — シ ョ ンにおける システム構築や教示に要する負担が軽 減 eれる。