JPH0764621A - ロボットの軌道補間装置 - Google Patents

ロボットの軌道補間装置

Info

Publication number
JPH0764621A
JPH0764621A JP5209818A JP20981893A JPH0764621A JP H0764621 A JPH0764621 A JP H0764621A JP 5209818 A JP5209818 A JP 5209818A JP 20981893 A JP20981893 A JP 20981893A JP H0764621 A JPH0764621 A JP H0764621A
Authority
JP
Japan
Prior art keywords
interpolation
trajectory
teaching
interpolation calculation
parabolic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5209818A
Other languages
English (en)
Inventor
Masahiro Ooto
雅裕 大音
Hisashi Kinoshita
久 木下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP5209818A priority Critical patent/JPH0764621A/ja
Publication of JPH0764621A publication Critical patent/JPH0764621A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

(57)【要約】 【目的】 作業点である先端部が移動するときに発生す
る加速度が、所定の上限値を越えないように軌道を設定
して補間できるロボットの軌道補間装置を提供する。 【構成】 先端部が移動する軌道の基準を与える複数個
の補間点と、前記教示点に基づく前記軌道の形状を指定
する移動命令と、教示点と軌道との間の最大経路誤差と
を備えた教示点列データPを入力し、補間方法選択手段
が教示点列データに基づいて直線補間演算手段、円弧補
間演算手段および放物線補間演算手段の1つを選択して
教示点列データPを出力し、教示点列データPを入力し
た補間演算手段がその補間方法にしたがって補間演算す
る。このとき、ロボットの先端部に発生する加速度が所
定の上限値を越えないように補間点を演算する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は入力された教示点から目
標軌道を生成するロボットの軌道補間装置に関する。
【0002】
【従来の技術】近年、ロボットがいろいろな作業現場で
活用されているが、その動作の精度と安定性が課題であ
る。
【0003】ロボットが作業のために描く軌道は複数の
教示点によりあらかじめ与えられ、とくに作業を行う先
端部が描く軌道が重要である。1つの教示点からつぎの
教示点までの間を単純に直線運動させる場合には、教示
点を結ぶ直線軌道を教示点間の補間演算により求める。
このような折れ線軌道でロボットを動作させた場合、折
れ線の節点で先端部の速度が大きく変化して、振動する
という問題がある。
【0004】このような問題を回避するため、折れ線の
各節点で一旦停止させる手段や、特開平1−27443
号公報や特開平4−111006号公報が開示している
ように、折れ線の節点を経由せず、折れ線を構成する2
つの線分を滑らかな曲線で接続して節点を内まわりする
軌道を生成する手段などがある。
【0005】
【発明が解決しようとする課題】このような従来のロボ
ットの軌道補間装置において、折れ線の各節点で一端停
止するように動作させる上記の手段では、一定の速度で
連続的に動作させる場合のおよそ2倍の動作時間を必要
とする。
【0006】また、折れ線の節点を内まわりする軌道で
動作させる上記の手段では、教示点とロボットの先端部
の軌道との経路誤差を設定できない手段であるため、ロ
ボットの先端部と作業対象や治具との間の距離を必要以
上に大きく設定するなど、先端部で接触や衝突が発生し
ないように勘案しながら教示点を設定しなければなら
ず、教示作業の簡易性が損なわれるとともに、動作時間
も増大する問題があった。
【0007】本発明は上記の課題を解決するもので、大
きい速度変化がなく、動作時間が短くて、教示作業が簡
単なロボットの軌道補間装置を提供することを目的とす
る。
【0008】
【課題を解決するための手段】本発明は上記の目的を達
成するために、請求項1に係わる本発明のロボットの軌
道演算装置は、ロボットの先端部が移動する軌道の基準
を与える複数個の教示点と、前記教示点に基づく前記軌
道の形状を指定する移動命令と、教示点と軌道との間の
最大誤差を指定する許容経路誤差とを備えた教示点列デ
ータを入力し、前記移動命令と前記許容経路誤差とに基
づいて直線補間演算手段、円弧補間演算手段と放物線補
間演算手段のうちの1つを選んで前記教示点列データを
出力する補間演算方法選択手段と、前記教示点列データ
を入力して教示点間を直線軌道で補間演算する直線補間
演算手段と、前記教示点列データを入力して連続する3
つの教示点を通る円弧軌道で補間演算する円弧補間演算
手段と、前記教示点列データを入力して連続する3つの
教示点間を放物線軌道で補間演算する放物線補間演算手
段と、補間演算された補間点のデータを入力して単位補
間時間ごとの関節角の変化量を演算して出力する関節角
演算手段とを備え、前記補間点に従って移動するロボッ
トの先端部の加速度が所定上限値以下となるようにした
ロボットの軌道補間装置であり、また、請求項2に係わ
る本発明は、ロボットの先端部が移動する軌道の基準を
与える複数個の教示点と、前記教示点に基づく前記軌道
の形状を指定する移動命令と、教示点と軌道との間の最
大誤差を指定する許容経路誤差とを備えた教示点列デー
タを入力し、前記移動命令と前記許容経路誤差とに基づ
いて直線補間演算手段と円弧補間演算手段と二重放物線
補間演算手段のうちの1つを選んで前記教示点列データ
を出力する補間演算方法選択手段と、前記教示点列デー
タを入力して教示点間を直線軌道で補間演算する直線補
間演算手段と、前記教示点列データを入力して連続する
3つの教示点を通る円弧軌道で補間演算する円弧補間演
算手段と、前記教示点列データを入力して連続する3つ
の教示点間を2つの放物線軌道を連結して補間演算する
放物線補間演算手段と、補間演算された補間点のデータ
を入力して単位補間時間ごとの関節角の変化量を演算し
て出力する関節角演算手段とを備え、前記補間点に従っ
て移動するロボットの先端部の加速度が所定上限値以下
となるようにしたロボットの軌道補間装置であり、ま
た、請求項3に係わる本発明は、ロボットの先端部が移
動する軌道の基準を与える複数個の教示点と、前記教示
点に基づく前記軌道の形状を指定する移動命令と、教示
点と軌道との間の最大誤差を指定する許容経路誤差とを
備えた教示点列データを入力し、前記移動命令と前記許
容経路誤差とに基づいて直線補間演算手段と円弧補間演
算手段と放物線切換補間演算手段のうちの1つを選んで
前記教示点列データを出力する補間演算方法選択手段
と、前記教示点列データを入力して教示点間を直線軌道
で補間演算する直線補間演算手段と、前記教示点列デー
タを入力して連続する3つの教示点を通る円弧軌道で補
間演算する円弧補間演算手段と、前記教示点列データを
入力して連続する3つの教示点で構成される折れ線軌道
の内角の大きさにより放物線補間演算手段と二重放物線
補間演算手段のうちの1つを選択して補間演算する放物
線切換補間演算手段と、補間演算された補間点のデータ
を入力して単位補間時間ごとの関節角の変化量を演算し
て出力する関節角演算手段とを備え、前記補間点に従っ
て移動するロボットの先端部の加速度が所定上限値以下
となるようにしたロボットの軌道補間装置であり、ま
た、請求項4に係わる本発明は、ロボットの先端部が移
動する軌道の基準を与える複数個の教示点と、前記教示
点に基づく前記軌道の形状を指定する移動命令と、教示
点と軌道との間の最大誤差を指定する許容経路誤差とを
備えた教示点列データを入力し、前記移動命令と前記許
容経路誤差とに基づいて直線補間演算手段と円弧補間演
算手段と円弧放物線補間演算手段のうちの1つを選んで
前記教示点列データを出力する補間演算方法選択手段
と、前記教示点列データを入力して教示点間を直線軌道
で補間演算する直線補間演算手段と、前記教示点列デー
タを入力して連続する3つの教示点を通る円弧軌道で補
間演算する円弧補間演算手段と、前記教示点列データを
入力して連続する3つの教示点間を円弧軌道と放物線軌
道を連結して補間演算する放物線補間演算手段と、補間
演算された補間点のデータを入力して単位補間時間ごと
の関節角の変化量を演算して出力する関節角演算手段と
を備え、前記補間点に従って移動するロボットの先端部
の加速度が所定上限値以下となるようにしたロボットの
軌道補間装置である。
【0009】
【作用】本発明は、請求項1に係わる本発明において、
補間演算方法選択手段が入力した教示点列データに基づ
いて補間演算の方法が直線補間、円弧補間および放物線
補間のいづれであるかを選択して教示点列データを直線
補間演算手段、円弧補間演算手段および放物線補間演算
手段のうちの1つに出力する。直線補間演算手段は教示
点を直線で結んで補間点を演算し、円弧補間演算手段は
連続する3つの教示点を円弧で結んで補間演算し、放物
線補間演算手段は連続する3点で構成される折れ線を放
物線で滑らかに接続し、放物線軌道を移動するときの加
速度が所定の上限値以下となるように補間点を演算す
る。関節角演算手段は演算された補間点のデータに基づ
いて関節角の変化量を演算して出力する。
【0010】また、請求項2に係わる本発明において、
補間演算方法選択手段が入力した教示点列データに基づ
いて補間演算の方法が直線補間、円弧補間および二重放
物線補間のいづれであるかを選択して教示点列データを
直線補間演算手段、円弧補間演算手段および放物線補間
演算手段のうちの1つに出力する。直線補間演算手段は
教示点を直線で結んで補間点を演算し、円弧補間演算手
段は連続する3つの教示点を円弧で結んで補間演算し、
二重放物線補間演算手段は連続する3点で構成される折
れ線を2つの放物線の連結で滑らかに接続し、放物線軌
道を移動するときの加速度が所定の上限値以下となるよ
うに補間点を演算する。関節角演算手段は演算された補
間点のデータに基づいて関節角の変化量を演算して出力
する。
【0011】また、請求項3に係わる本発明において、
補間演算方法選択手段が入力した教示点列データに基づ
いて補間演算の方法が直線補間、円弧補間および放物線
切換放物線補間のいづれであるかを選択して教示点列デ
ータを直線補間演算手段、円弧補間演算手段および放物
線切換補間演算手段のうちの1つに出力する。直線補間
演算手段は教示点を直線で結んで補間点を演算し、円弧
補間演算手段は連続する3つの教示点を円弧で結んで補
間演算し、放物線切換補間演算手段は連続する3点で構
成される折れ線を、折れ線の内角の大きさに応じて放物
線補間または二重放物線補間のいづれかで補間演算し、
放物線軌道を移動するときの加速度が所定の上限値以下
となるように補間点を演算する。関節角演算手段は演算
された補間点のデータに基づいて関節角の変化量を演算
して出力する。
【0012】また、請求項4に係わる発明において、補
間演算方法選択手段が入力した教示点列データに基づい
て補間演算の方法が直線補間、円弧補間および円弧放物
線補間のいづれであるかを選択して教示点列データを直
線補間演算手段、円弧補間演算手段および円弧放物線補
間演算手段のうちの1つに出力する。直線補間演算手段
は教示点を直線で結んで補間点を演算し、円弧補間演算
手段は連続する3つの教示点を円弧で結んで補間演算
し、円弧放物線補間演算手段は連続する3点で構成され
る折れ線を、円弧と放物線との連結で補間演算し、円弧
軌道および放物線軌道を移動するときの加速度が所定の
上限値以下となるように補間点を演算する。関節角演算
手段は演算された補間点のデータに基づいて関節角の変
化量を演算して出力する。
【0013】
【実施例】
(実施例1)以下、請求項1に係わる本発明のロボット
の軌道補間装置の一実施例について図面を参照しながら
説明する。図1は本実施例のロボットの軌道補間装置の
主要部である軌道演算手段の構成を示すブロック図であ
る。図において、1は軌道演算手段であって、補間方法
選択手段11と直線補間演算手段12と放物線補間演算
手段13と関節角演算手段15とを備えている。上記構
成要素の相互関係と動作について説明すると、補間方法
選択手段11は、ロボットの先端部が移動する軌道の基
準を与える複数個の教示点と、前記教示点に基づく軌道
の形状を指定する移動命令と、教示点と軌道との間の最
大誤差を指定する許容経路誤差とを備えた教示点列デー
タPを入力し、教示点列データPに記録されている移動
命令と許容経路誤差の値とに従って教示点間の補間演算
の方法を選択し、選択した結果に従って教示点列データ
Pを直線補間演算手段12、放物線補間演算手段13と
円弧補間演算手段14の1つに出力する。教示点列デー
タPを入力した上記の1つの補間演算手段は、教示点列
データPに記録されている教示点の位置座標データから
教示点間をそれぞれの補間方法で補間演算し、補間点デ
ータPn を関節角演算手段15に出力する。関節角演算
手段15は補間点データPn から補間時間ごとの関節角
の変化量を計算し、関節角データJを外部に出力する。
【0014】以下、補間方法選択手段11の動作につい
て詳細に説明する。図2は補間方法選択手段11の選択
動作を示すフローチャートである。処理21において、
入力された教示点列データPに記録された移動命令が円
弧移動の命令であるか否かを判断する。教示点列データ
Pに記録された1点目の教示点の移動命令が円弧移動の
命令であれば、処理22に移行して教示点列データPを
円弧補間演算手段14に出力する。教示点列データPに
記録された1点目の教示点の移動命令が円弧移動の命令
でなければ処理23に移行し、2点目の教示点に付加さ
れた許容経路誤差が0か否かを判断する。許容経路誤差
が0であれば処理24に移行して教示点列データPを直
線補間演算手段12に出力する。処理23において、許
容経路誤差が0でなければ処理25に移行して教示点列
データPを放物線補間演算手段13に出力する。以上の
処理により円弧補間演算手段、直線補間演算手段または
放物線補間演算手段のうちの1つの補間演算手段が選択
される。
【0015】以下、放物線補間演算手段13の放物線補
間演算処理について詳細に説明する。図3は本実施例の
放物線補間演算手段13の動作を示すフローチャートで
ある。また、図4は教示点A、B、Cで規定される折れ
線軌道を本実施例の放物線補間演算により放物線軌道で
補間する方法を示す説明図である。
【0016】本実施例の放物線補間演算は、連続する3
つの教示点で規定される折れ線の節点から許容経路誤差
以内の点を通って折れ線に接する放物線軌道を決定し、
ロボットの先端部がこの放物線軌道を移動するときの加
速度が所定値以下になるように補間する演算である。こ
の場合、一定加速度αを受ける一定速度Vの運動が放物
線軌道となり、逆に、一定速度Vに加わる加速度を放物
線軌道から求めると一定の加速度αとなることに着目
し、本実施例では、その加速度αが所定値以下となる速
度Vで直線上を補間した点から放物線上の補間点を求め
る手段について説明する。このような放物線上の補間点
は、折れ線上の一定速度Vの補間点を加速度αの方向で
放物線上に投影した点となる。
【0017】以下、上記の方法による本実施例の放物線
補間演算について説明する。まず、折れ線を滑らかに接
続する放物線軌道を決定する。処理31において、放物
線を決定するパラメータを求める。いま、図3におい
て、連続する3つの教示点A、B、Cで規定される折れ
線ABCを許容経路誤差がDa となる放物線で滑らかに
接続する場合、点Bから∠ABCの二等分線の方向に距
離Da だけ離れた点B’を通過して折れ線ABCに接す
る放物線を採用する。この放物線が線分ABに接する点
Mから点Bまでの距離、および線分BCに接する点Nか
ら点Bまでの距離Lを(1)式の条件により(2)式か
ら演算する。
【0018】 D=Da ・・・(1) L=2D/{COS(θ/2)} ・・・(2) ここでθは線分ABと線分BCとによって構成される内
角である。なお、この放物線は点Mと点Nで折れ線AB
Cと交わるのではなく、同一勾配で滑らかに接続するこ
とが証明されるが詳細な説明を省略する。つぎに、処理
32に移行して線分ABの長さと線分BCの長さの小さ
い方の大きさを(3)式により求める。
【0019】 La=min(|AB|,|BC|) ・・・(3) ここで、min(x,y)はxとyのうちで大きさが小
さい方を選択する関数である。
【0020】つぎに、処理33に移行して、放物線が折
れ線ABCに接する点Mと点Nがそれぞれ線分ABと線
分BCの上に存在できるのか、または延長線上にはみ出
すのかを判定するために、LをLa と比較し、LがLa
より小さいか否かを判断する。LがLa よりも小さけれ
ば処理35に移行して点M、Nの位置を点Bから(2)
式で求めた距離Lだけ離れた点とする。
【0021】LがLa よりも大きければ、点Aまたは点
Cで接する放物線を採用することとし、この放物線が通
る点の点Bからの距離、すなわち経路誤差Dを処理34
に移行して(4)式の条件により(5)式から求め、つ
ぎに処理35に移行してこの放物線が折れ線に接する点
を求めるが、この場合は点Aまたは点Cが接する点の1
つとなる。
【0022】 L=La ・・・(4) D={La・COS(θ/2)}/2 ・・・(5) つぎに、処理36に移行して、ロボットの先端部が放物
線軌道に沿って動作するための加速度を求める。前述の
ように本実施例においては、加速度αを一定速度Vと先
に求めた放物線とから求める。この一定速度Vを線分A
B上の速度とし、加速度αの方向を線分B’Bに平行な
方向とする。この場合、前述のように加速度αの大きさ
は一定であり、速度Vによる点Mから仮目標点N’に至
る移動MN’と加速度αによる移動N’Nとをベクトル
加算した点が点Nであるので、加速度αの大きさは
(6)式で与えられる。
【0023】 α={V・COS(θ/2)}2/2D ・・・(6) つぎに、処理37に移行して、処理36で求めた加速度
αの大きさが所定の加速度上限値αmax より小さいか否
かを比較により判断する。加速度αの大きさが上限値α
max より小さければαをそのまま採用して処理40に移
行する。加速度αの大きさが上限値αmax より小さくな
ければ処理38に移行して、α=αmaxを採用すること
とし、加速度αの大きさががαmax となる速度Vを
(7)式の条件により(8)式から求め、処理40に移
行する。
【0024】 α=αmax ・・・(7) V=(2D・α)1/2/COS(θ/2) ・・・(8) この速度Vの大きさは(6)式で用いた速度Vの大きさ
よりも小さい値となる。
【0025】処理40では、線分AM上の補間点を速度
Vのもとに直線補間演算によって求める。つぎに、処理
41に移行して、仮目標点N’を点Nを通ってBB’に
平行な直線と線分ABとの交点として設定し、処理42
に移行する。
【0026】処理42では、線分MN’間の補間点Qk
を速度Vのもとに直線補間で求める。ただしQk におけ
るkは線分MN’間の補間点の配列順序を示す番号であ
る。
【0027】つぎに処理34に移行して、加速度αによ
る線分BB’に平行な位置の変化量ΔPk を、処理42
で求めた線分MN’上の補間点Qk にベクトル加算して
放物線軌道上の補間点座標Pk を求める。この位置変化
量ΔPk は(9)式で与えられる。
【0028】 ΔPk={α(k・t)2/2}・n ・・・(9) ここで、tは線分MN’間の単位補間時間であり、nは
線分BB’方向の単位ベクトルである。なお、別の見方
をすれば、上記の演算により求めた放物線上の補間点P
k は線分MN’上の速度Vにおける補間点Qk を線分B
B’に平行に放物線に投影した点に相当し、また、線分
BN’上の補間点を投影した点は線分BN上の速度Vに
よる補間点を投影した点と一致し、結局、折れ線ABC
上の速度Vにおける補間点を放物線に投影した点が放物
線上の補間点となる。
【0029】つぎに、処理44に移行して、線分NC間
の補間点座標を速度Vのもとに直線補間演算によって求
め、最後に処理45に移行して点Aから点Cに至る補間
点の座標を順次、補間点データとして関節角演算手段1
5に出力して放物線補間演算手段13の補間演算処理を
終了する。
【0030】図5は本実施例のロボットの補間演算装置
により折れ線ABCを放物線補間演算した軌道における
ロボット先端部の位置と、その位置における移動速度と
加速度との関係の1例を示す特性図である。図におい
て、線分ABのうちの点Aから点Mまでと、線分BCの
うちの点Nから点Cまでとは一定速度Vで直線補間され
た直線軌道であって、当然ロボットの先端部の速度の大
きさはVであり、加速度はゼロである。また、点Mから
点Nまでは放物線補間された放物線軌道であって、点M
と点Nとにおいて直線軌道上の速度Vで放物線に連続的
に接続され、放物線軌道の区間ではBB’方向の一定の
大きさの加速度αを受けるために、そこでの速度の大き
さは直線軌道における速度V以下となり、たとえば、放
物線軌道の中央である点B’における速度の大きさはV
sin(θ/2)となる。
【0031】なお、説明を省略したが一定速度における
直線移動では加速度が発生しないし、一定速度における
円弧移動では円弧の中心に向かう加速度の大きさが一定
であって、それ以上の大きい加速度が発生しないことは
言うまでもない。
【0032】以上のように本実施例によれば、ロボット
の先端部が移動する軌道の基準を与える複数個の教示点
と、前記教示点に基づく前記軌道の形状を指定する移動
命令と、教示点と軌道との間の最大誤差を指定する許容
経路誤差とを備えた教示点列データを入力し、前記移動
命令と前記許容経路誤差とに基づいて直線補間演算手
段、円弧補間演算手段と放物線補間演算手段のうちの1
つを選んで前記教示点列データを出力する補間演算方法
選択手段と、前記教示点列データを入力して教示点間を
直線軌道で補間演算する直線補間演算手段と、前記教示
点列データを入力して連続する3つの教示点を通る円弧
軌道で補間演算する円弧補間演算手段と、前記教示点列
データを入力して連続する3つの教示点間を放物線軌道
で補間演算する放物線補間演算手段と、補間演算された
補間点のデータを入力して単位補間時間ごとの関節角の
変化量を演算して出力する関節角演算手段とを備え、放
物線補間演算手段は、連続する3つの教示点が構成する
折れ線の節点の内角の二等分線上にあって前記節点から
許容経路誤差以内の点を通過して前記折れ線に接する放
物線軌道を生成し、折れ線上を一定速度で移動させた補
間点を前記放物線軌道上に前記節点の内角の二等分線方
向に平行に投影した点を放物線軌道上の補間点として補
間演算し、このときに発生する前記投影方向の加速度の
大きさは一定であって、その大きさが所定値以下となる
ように前記折れ線上の移動速度を設定して補間演算する
ようにしたことにより、ロボットの先端部に加わる加速
度の大きさを所定上限値以下にでき、大きい加速度が加
わらないので振動などが発生しない効果がある。また、
軌道は許容経路誤差の範囲で自動的に生成されるので、
衝突などを発生しない教示点を容易に設定できる。
【0033】なお、実施例では直線移動部分の速度を一
定に設定したが、加速度が所定上限値以内となる範囲で
変化させてもよく、また、放物線上に投影する直線補間
点の速度についても、投影した放物線上の加速度が上限
値を越えない範囲で変化させてもよいことは言うまでも
ない。
【0034】(実施例2)以下、請求項2に係わる本発
明のロボットの軌道補間装置の一実施例について、図面
を参照しながら説明する。図6は本実施例のロボットの
軌道補間装置の主要部である軌道演算手段の構成を示し
たブロック図である。なお、図1に示した実施例1と同
じ構成要素には同一番号を付与している。本実施例が実
施例1と異なる点は、放物線補間演算手段の代わりに二
重放物線補間演算手段63を備えたことにある。図6に
おいて、補間方法選択手段11は、ロボットの先端部が
移動する軌道の基準を与える複数個の教示点と、前記教
示点に基づく軌道の形状を指定する移動命令と、教示点
と軌道との間の最大誤差を指定する許容経路誤差とを備
えた教示点列データPを入力し、教示点列データPに記
録されている移動命令と許容経路誤差の値とに従って教
示点間の補間演算の方法を選択し、選択した結果に従っ
て教示点列データPを直線補間演算手段12と円弧補間
演算手段14と二重放物線補間演算手段63のうちの1
つに出力する。教示点列データPを入力した上記の1つ
の補間演算手段は、教示点列データPに記録されている
教示点の位置座標データから教示点間をそれぞれの補間
方法で補間演算し、補間点データPn を関節角演算手段
15に出力する。関節角演算手段15は補間点データP
nから補間時間ごとの関節角の変化量を計算し、関節角
データJを外部に出力する。
【0035】以下、補間方法選択手段11の動作につい
て詳細に説明する。図7は補間方法選択手段11の動作
を示すフローチャートである。処理21において、入力
された教示点列データPに記録された移動命令により、
移動命令が円弧移動の命令か否かを判断する。教示点列
データPに記録された1点目の教示点の移動命令が円弧
移動の命令であれば、処理22に移行して教示点列デー
タPを円弧補間演算手段14に出力する。処理21にお
いて、教示点列データPに記録された1点目の教示点の
移動命令が円弧移動の命令でなければ処理23に移行
し、2点目の教示点に付加された許容経路誤差が0か否
かを判断する。許容経路誤差が0であれば処理24に移
行して教示点列データPを直線補間演算手段12へ出力
し、許容経路誤差が0でなければ処理75に移行して教
示点列データPを二重放物線補間演算手段63に出力す
る。
【0036】以下、二重放物線補間演算手段63の二重
放物線補間演算について詳細に説明する。図8は二重放
物線補間演算手段63の動作を示すフローチャートであ
る。また、図9は教示点A、B、Cで規定される折れ線
軌道を本実施例の二重放物線補間により2つの放物線軌
道により補間する方法を示す説明図である。
【0037】実施例1に記載した放物線補間演算手段は
折れ線軌道を1つの放物線により滑らかに接続する手段
であるが、本実施例の二重放物線補間演算手段は折れ線
軌道を2つの折れ線軌道に展開し、それぞれの折れ線軌
道を放物線補間により滑らかに接続する手段であって、
2つの放物線を用いた補間手段である。ただし、折れ線
軌道を放物線軌道により補間演算する原理は実施例1に
記載した内容と同一であり、放物線補間演算についての
詳細な説明は省略する。
【0038】本実施例においては、まず、3つの教示点
で規定される折れ線軌道ABCを2つの折れ線軌道に展
開する。図9において、節点Bから∠ABCの二等分線
方向に許容経路誤差Da だけ離れた点B’を通り、線分
BB’と直交する直線を設け、線分ABとの交点を点
E、線分BCとの交点をFとする。この線分EB’Fを
経路誤差が許容経路誤差Da 以下となる補助目標軌道と
して設定して、折れ線ABCを折れ線AEB’と折れ線
B’FNとに展開し、それぞれを放物線軌道により滑ら
かに接続する。
【0039】処理81において、補助目標軌道の始点E
から点Bに至る距離lを(10)式の条件により(1
1)式から求める。この距離は点Bから点Fに至る距離
でもある。
【0040】 D=Da ・・・(10) l=D/COS(θ/2) ・・・(11) ここでθは線分BAと線分BCとが構成する内角であ
る。折れ線AEB’と折れ線B’FNを滑らかに接続す
る放物線は多数存在し、いづれも許容経路誤差を満足す
る軌道を生成できるが、本実施例では点B’で接する放
物線を設定する。この設定は放物線軌道が小回りになら
ない配慮にもなる。このように設定した放物線の線分A
Bに対する接続点Mと、線分BCに対する接続点Nは
(12)式の関係から自動的に決まる。
【0041】処理82に移行して、上記の放物線軌道を
設定したときの、線分ME、線分EB’、線分B’Fお
よび線分FNの大きさと、点Bから接続点Mに至る距離
Lとをそれぞれ(12)式と(13)式により求める。
【0042】 |ME|=|EB’|=|B’E|=|EN|=Dtan(θ/2) ・・・(12) L=l+Dtan(θ/2) ・・・(13) 処理83に移行して、線分ABと線分BCの小さい方の
長さLa を(14)式により求める。
【0043】 La=min(|AB|,|BC|)として求める。 ・・・(14) ただし、min(x,y)はxとyの値の小さい方の値
を選択する関数である。
【0044】つぎに、処理84に移行して、設定した放
物線の接続点が折れ線ABCの上に存在できるのか、ま
たはその延長線上にはみ出すのかを判断するために、L
とLa とを比較する。LがLa よりも小さければ処理8
6に移行して接続点MとNの位置を求める。LがLa よ
りも大きければ、先に設定した放物線が折れ線の外で接
続されることになる。この場合は、処理85に移行し
て、点Bからの距離が小さい方の点Aまたは点Cのいづ
れかで接し、新たな補助目標経路にも接する放物線を設
定する。このときの経路誤差Dを(15)式の条件によ
り(16)式から求める。
【0045】 L=La ・・・(15) D={Lcos(θ/2)}/{1+sin(θ/2)} ・・・(16) この経路誤差Dは許容経路誤差Da よりも小さいことは
言うまでもない。また、この場合に処理86で求める接
続点のいづれかの位置は教示点に一致している。
【0046】つぎに、処理87に移行して、ロボットの
先端部が放物線軌道に沿って動作するときの加速度を求
める。いま、点Aから点Bに向かう速度をVとし、接続
点Mを速度Vで通過したのち放物線軌道に沿って移動
し、点B’に速度Vで到達するときの加速度αは、実施
例1で説明したように、方向が∠MEB’の二等分線の
方向に平行であって、大きさは(17)式と(18)式
により求められる。
【0047】 α=V2sin(λ)/{D・tan(θ/2)} ・・・(17) λ=(∠MEB’)/2=(π−θ)/4 ・・・(18) また、ロボットの先端部が点B’を速度Vで通過したの
ち、つぎの放物線軌道に沿って移動し、点Nに速度Vで
到達するときの加速度の大きさも線分BB’に関する対
称性から上記のαとなる。ただし、この場合の加速度の
方向は∠B’FNの二等分線の方向に平行となる。
【0048】つぎに、処理88に移行して、処理87で
求めた角速度αの大きさが所定の上限値αmax 以下であ
るか否かを比較により判断する。αがαmax 以下であれ
ば処理87で求めたαをそのまま採用して処理90に移
行する。αがαmax 以下でなければ処理89に移行し
て、α=αmax となるような速度に変更する。この速度
は(19)式の条件により(20)式から求める。
【0049】 α=αmax ・・・(19) V={(D・α・tan(θ/2)/sinλ}1/2 ・・・(20) この速度は、当然、(17)式で用いた速度よりも小さ
いことは言うまでもない。
【0050】つぎに、処理90に移行して、線分AM間
の補間点を速度Vで直線補間演算により求める。つぎ
に、折れ線軌道MEB’を放物線軌道で補間するため、
処理91に移行して、線分MEを同じ長さだけ延長した
位置に仮目標点B”を設定する。この手法は実施例1で
説明した内容と同じであることは言うまでもない。つぎ
に処理92に移行して線分MB”間の補間点Qk を速度
Vで直線補間により求める。ここでQk におけるkはM
B”間の補間点の順序を示す番号である。つぎに、処理
93に移行して、加速度αによる∠MEB’の二等分線
方向に平行な位置変化量ΔPk を処理92で求めた補間
点座標Qk にベクトル加算して放物線軌道上の補間点座
標Pk を求める。このときの位置変化量ΔPk を(2
1)式により求める。
【0051】 ΔPk={α(k・t)2}・nd ・・・(21) ここで、tは点MN’間の単位補間時間であり、ndは
∠MEB’の二等分線の方向の単位ベクトルを表してい
る。このようにして得た放物線軌道上の補間点は、実施
例1で説明したように、折れ線MEB’上を速度Vで直
線補間した補間点を、∠MEB’の二等分線の方向に平
行に投影した点に等しい。
【0052】放物線軌道B’Nにおける補間点について
も同様であって、処理94で仮目標点N’を設定し、処
理95で線分B’N’間を速度Vで直線補間した補間点
Qkを求め、処理96で放物線上の補間点PK を求め
る。このときに用いる加速度αによる位置変化量ΔPK
は(22)式により求められる。
【0053】 ΔPk={α(k・t)2}・ne ・・・(22) ここで、tは点B’N’間の単位補間時間であり、ne
は∠B’FNの二等分線の方向の単位ベクトルを表して
いる。つぎに、処理97において、線分NC間の補間点
座標を速度Vで直線補間演算によって求め、最後に処理
98において、点Aから点Cまでの補間点PK に基づく
補間点データPn を関節角演算手段15に出力し、二重
放物線補間演算手段63の補間演算処理を終了する。
【0054】図10は本実施例のロボットの軌道補間装
置により折れ線軌道ABCを二重放物線補間演算した軌
道におけるロボット先端部の位置と、その位置における
移動速度および加速度の大きさとの関係の1例を示す特
性図である。図において、線分ABのうちの点Aから点
Mまでと、線分BCのうちの点Nから点Cまでは一定速
度Vで直線補間された直線軌道であって、ロボットの先
端部の速度の大きさはVであり、加速度はゼロである。
また、点Mから点B’までと、点B’から点Nまでと
は、それぞれ放物線補間された放物線軌道であって、点
Mと点Nとにおいて直線上の速度Vで放物線に連続的に
接続され、これら放物線軌道の区間では一定の大きさの
加速度αを受けるために、そこでの速度の大きさは直線
部における速度V以下となる。また、2つの放物線を連
結し、その連結点における速度はVとなるため、速度の
大きさの変化は実施例1における放物線補間演算手段の
場合よりも小さくできる。放物線軌道の中央における速
度の大きさはVcos(λ/2)であり、λ>θであるた
め、実施例1の場合よりも小さい。
【0055】以上のように、本実施例のロボットの軌道
補間装置によれば、ロボットの先端部が移動する軌道の
基準を与える複数個の教示点と、前記教示点に基づく前
記軌道の形状を指定する移動命令と、教示点と軌道との
間の最大誤差を指定する許容経路誤差とを備えた教示点
列データを入力し、前記移動命令と前記許容経路誤差と
に基づいて直線補間演算手段と円弧補間演算手段と二重
放物線補間演算手段のうちの1つを選んで前記教示点列
データを出力する補間演算方法選択手段と、前記教示点
列データを入力して教示点間を直線軌道で補間演算する
直線補間演算手段と、前記教示点列データを入力して連
続する3つの教示点を通る円弧軌道で補間演算する円弧
補間演算手段と、前記教示点列データを入力して連続す
る3つの教示点間を2つの放物線軌道を連結して補間演
算する放物線補間演算手段と、補間演算された補間点の
データを入力して単位補間時間ごとの関節角の変化量を
演算して出力する関節角演算手段とを備え、前記二重放
物線補間演算手段は、連続する3つの教示点が構成する
折れ線の節点の内角の二等分線上にあって前記節点から
許容経路誤差以内の点を通過して前記二等線に直交する
直線の補助軌道を設け、前記折れ線の一部と前記補助軌
道とで構成される2つの折れ線軌道をそれぞれの放物線
軌道で補間し、各放物線軌道において、折れ線上を一定
速度で移動させた補間点をその放物線が対応する内角の
二等分線方向に平行に放物線に投影した点を放物線軌道
上の補間点として補間演算し、このときに発生する前記
投影方向の加速度の大きさは一定であって、その大きさ
が所定値以下となるように前記折れ線上の移動速度を設
定して補間演算するようにしたことにより、ロボットの
先端部に加わる加速度の大きさを実施例1の場合よりも
さらに小さい範囲で所定値以下にでき、大きい加速度が
加わらないので振動などが発生しない効果がある。ま
た、軌道は許容経路誤差の範囲で自動的に生成されるの
で、衝突などを発生しない教示点を容易に設定できる。
【0056】なお、実施例では直線移動部分の速度を一
定に設定したが、加速度が所定上限値以内となる範囲で
変化させてもよく、また、放物線上に投影する直線補間
点の速度についても、投影した放物線上の加速度が上限
値を越えない範囲で変化させてもよいことは言うまでも
ない。
【0057】(実施例3)以下、請求項3に係わる本発
明のロボットの軌道補間装置の一実施例について図面を
参照しながら説明する。図11は本実施例のロボットの
軌道補間装置の主要部である軌道演算手段の構成を示す
ブロック図である。なお、実施例1および実施例2と同
じ構成要素には同一番号を付与して詳細な説明を省略す
る。本実施例が実施例1と異なる点は、放物線補間演算
手段の代わりに放物線切換補間演算手段113を備えた
ことにある。上記構成要素の相互関係と動作について説
明すると、補間方法選択手段11は、ロボットの先端部
が移動する軌道の基準を与える複数個の教示点と、前記
教示点に基づく軌道の形状を指定する移動命令と、教示
点と軌道との間の最大誤差を指定する許容経路誤差とを
備えた教示点列データPを入力し、教示点列データPに
記録されている移動命令と許容経路誤差の値とに従って
教示点間の補間演算の方法を選択し、選択した結果に従
って教示点列データPを直線補間演算手段12と円弧補
間演算手段14と放物線切換補間演算手段のうちの1つ
に出力する。教示点列データPを入力した上記の1つの
補間演算手段は、教示点列データPに記録されている教
示点の位置座標データから教示点間をそれぞれの補間方
法で補間演算し、補間点データPn を関節角演算手段1
5に出力する。関節角演算手段15は補間点データPn
から補間時間ごとの関節角の変化量を計算し、関節角デ
ータJを外部に出力する。
【0058】この場合、放物線切換補間演算手段113
において、放物線補間方法選択手段114は教示点列デ
ータPを入力し、連続する3つの教示点で規定される折
れ線軌道の内角を求め、その角度の大きさにより放物線
補間演算手段13または二重放物線補間演算手段63の
何れかに教示点列データPを出力する。
【0059】以下、補間方法選択手段11の動作につい
て詳細に説明する。図12は本実施例における補間方法
選択手段11の動作を示すフローチャートである。処理
21において、入力された教示点列データPに記録され
た移動命令が円弧移動の命令であるか否かを判断する。
教示点列データPに記録された1点目の教示点の移動命
令が円弧移動の命令であれば、処理22に移行して教示
点列データPを円弧補間演算手段14に出力する。ま
た、教示点列データP記録された教示点の1点目の移動
命令が円弧移動の命令でなければ処理23に移行して、
2点目の教示点に付加された許容経路誤差が0か否かを
判断する。許容経路誤差が0であれば処理24に移行し
て教示点列データPを直線補間演算手段12へ出力す
る。また、許容経路誤差が0でなければ処理125に移
行して、教示点列データPを放物線切換補間演算手段1
13に出力する。
【0060】以下、放物線補間方法選択手段114の動
作について説明する。図13は放物線補間方法選択手段
114の動作を示すフローチャートである。処理131
において、3つの教示点A、B、Cによって規定される
折れ線軌道の線分BAと線分BCとがなす内角θの大き
さを所定の設定値θs と比較して判断する。θがθs以
下であれば処理132に移行して教示点列データPを放
物線補間演算手段13に出力し、θがθs 以下でなけれ
ば処理133に移行して教示点列データPを二重放物線
補間演算手段63に出力する。なお、放物線補間演算手
段13は実施例1で説明した放物線補間演算処理を行
い、二重放物線補間演算手段63は実施例21で説明し
た二重放物線補間演算処理を行う手段であり、詳細な説
明を省略する。
【0061】本実施例において、折れ線の内角が小さい
場合は単純な放物線補間を用い、内角が大きい場合には
二重放物線補間を用いて一層滑らかに補間することがで
きる。
【0062】以上のように、本実施例のロボットの軌道
補間装置によれば、ロボットの先端部が移動する軌道の
基準を与える複数個の教示点と、前記教示点に基づく前
記軌道の形状を指定する移動命令と、教示点と軌道との
間の最大誤差を指定する許容経路誤差とを備えた教示点
列データを入力し、前記移動命令と前記許容経路誤差と
に基づいて直線補間演算手段と円弧補間演算手段と放物
線切換補間演算手段のうちの1つを選んで前記教示点列
データを出力する補間演算方法選択手段と、前記教示点
列データを入力して教示点間を直線軌道で補間演算する
直線補間演算手段と、前記教示点列データを入力して連
続する3つの教示点を通る円弧軌道で補間演算する円弧
補間演算手段と、前記教示点列データを入力して連続す
る3つの教示点で構成される折れ線軌道の内角の大きさ
により放物線補間演算手段と二重放物線補間演算手段の
うちの1つを選択して補間演算する放物線切換補間演算
手段と、補間演算された補間点のデータを入力して単位
補間時間ごとの関節角の変化量を演算して出力する関節
角演算手段とを備え、前記放物線切換補間演算手段は、
折れ線のなす内角が所定値θs 以下であれば放物線補間
演算手段を用い、θs 以下でなければ二重放物線補間演
算手段を用いるようにしたことにより、折れ線の内角の
大小に応じて放物線補間演算手段と二重放物線補間演算
手段とを使い分けでき、また、軌道上を移動するときの
加速度が所定の上限値を越えることがない。
【0063】(実施例4)以下、請求項4に係わる本発
明のロボットの軌道補間装置の一実施例について説明す
る。図14は本実施例のロボットの軌道補間装置におけ
る主要部である軌道演算手段の構成を示すブロック図で
ある。なお、図1に示した実施例1と同じ構成要素には
同一番号を付与して詳細な説明を省略する。本実施例が
実施例1と異なる点は放物線補間演算手段の代わりに円
弧放物線補間演算手段143を備えたことにある。図1
4において、軌道演算手段141は、ロボットの先端部
が移動する軌道の形状を指定する移動命令と、教示点と
軌道との間の最大誤差を指定する許容経路誤差とを備え
た教示点列データPを入力し、教示点列データPに記録
されている移動命令と許容経路誤差の値とに従って教示
点間の補間方法を選択し、選択した結果に従って教示点
列データPを円弧補間演算手段14と直線補間演算手段
12と円弧放物線補間演算手段143のうちの1つに出
力する。教示点列データPを入力した補間演算手段は、
教示点列データPに記録されている教示点の位置座標デ
ータから教示点間をそれぞれの補間方法で補間演算し、
補間点データPn を間接角演算手段15に出力する。関
節角演算手段15は補間点データPn から補間時間ごと
の関節角の変化量を計算し、関節角データJを外部に出
力する。
【0064】以下、本実施例における補間方法選択手段
11の動作について詳細に説明する。図15は本実施例
における補間方法選択手段11の動作を示すフローチャ
ートである。処理21において、入力された教示点列デ
ータPに記録された移動命令により、移動命令が円弧移
動の命令か否かを判断する。教示点列データPに記録さ
れた教示点の1点目の移動命令が円弧移動の命令であれ
ば、処理22に移行して教示点列データPを円弧補間演
算手段14に出力する。処理21において、教示点列デ
ータPに記録された教示点の1点目の移動命令が円弧移
動の命令でなければ処理23に移行して、2点目の教示
点に付加された許容経路誤差が0か否かを判断する。許
容経路誤差が0であれば処理24に移行して教示点列デ
ータPを直線補間演算手段12へ出力する。許容誤差が
0でなければ処理155に移行して教示点列データPを
円弧放物線補間演算手段143に出力する。
【0065】以下、本実施例における円弧放物線補間演
算手段143の円弧放物線補間演算動作について詳細に
説明する。図16は円弧放物線補間演算手段143の動
作を示すフローチャートである。また、図17は教示点
A、B、Cで規定される折れ線軌道を円弧と放物線とに
より補間する方法を示す説明図である。
【0066】本実施例の円弧放物線補間は、円弧軌道と
放物線軌道とを連結して折れ線軌道を滑らかに接続する
ものである。速度Vによる直線軌道と速度Vによる円軌
道とを単純に接続すると、円弧軌道における加速度V2
/r (ただし、rは円弧の半径)が加速度の所定限度
値を越える場合がある。この場合、円弧軌道上の速度を
直線軌道の速度Vより小さくし、その速度差を放物線軌
道が有する速度変換機能により吸収することができる。
すなわち、実施例1における図5からもわかるように、
放物線軌道の中間点における速度の大きさは、放物線軌
道への進入速度Vより小さいVsin(θ/2)になってお
り、速度の大きさが変換されていることが分かる。
【0067】図17において、3つの教示点A、B、C
で規定される折れ線軌道に対して円弧放物線軌道を下記
のように設定する。いま、許容経路誤差をDa とし、折
れ線の接点Bから∠ABCの二等分線の方向に距離Da
だけ離れた点B’を通過し、線分ABと線分BCとに接
する中心点G、半径rの円弧を描き、その円弧と線分A
Bの接点を点E、線分BCとの接点を点Fとする。この
円弧EB’Fを折れ線軌道ABCから経路誤差Da 以下
となる補助目標経路として設定し、そのうちの円弧H
B’と線分ABを放物線MHにより滑らかに接続し、ま
た、円弧B’Iと線分FCとを放物線INにより滑らか
に接続する。ただし、円弧放物線軌道における放物線
は、点Mで線分AMに接し、頂点で円弧HB’と接する
放物線MHとし、また、点Nで線分NCに接し、頂点で
円弧B’Iと接する放物線INとする。他の実施例にお
ける放物線軌道は頂点で接続していなかった点が異な
る。
【0068】この場合、円弧HB’の開き角度と、円弧
B’Iの開き角度は一意的には決まらないので、あらか
じめ指定しておくか、または、装置に自動的に決定させ
る必要がある。たとえば、装置が∠EGB/2に自動的
に設定することは可能である。本実施例では上記の開き
角度に対応する点Hおよび点Iを(23)式を満足する
点として設定する例について説明する。
【0069】 ∠HGB’=∠IGB’=λ ・・・(23) このように円弧と放物線を設定した場合、線分GHを延
長して線分ABと交わる点を点H’とし、線分GIを延
長して線分BCと交わる点をI’とする。補助目標軌道
の始点Eと点B、終点Fと点Bの距離L0 は D=Da ・・・(24) r={D・sin(θ/2)}/{1−sin(θ/2)} ・・・(25) なる条件を用いて式(26)により与えられる。
【0070】 L0=|DB|=|BE|=(D+r)/cos(θ/2) ・・・(26) ここでθは線分BAと線分BCによって構成される内角
である。
【0071】また、円弧HB’に接続する放物線が線分
ABと接する点をM、円弧B’Iに接続する放物線が線
分BCと接する点をNとすると、Mから点Bまでの距
離、および点Nから点Bまでの距離Lは d=|HH’|=|II’| =r{1−sin(θ/2+λ)}/sin(θ/2+λ) ・・・(27) |H’B|=|BI’|=|DB|−|H’D| =(D+r)/cos(θ/2)−(d+r)/cos(θ/2+λ) ・・・(28) および |MH’|=|I’N|=2d/cos(θ/2+λ) ・・・(29) により、 L=|MH’|+|H’B| ={D/cos(θ/2)}・{1+f1(θ)・f2(θ,λ)} =F(D) ・・・(30) ただし、 f1(θ)={sin(θ/2)}/(1−sin(θ/2)) f2(θ,λ) ={sin(θ+2λ)−2cos(θ/2)−2sin(θ+λ)}/sin(θ+2λ) として与えられる。ここでF(D)は上記Lを与える式
の第2行目の式をDの関数として表したものである。
【0072】以下、図16に示したフローチャートを参
照しながら説明する。教示点列データPが円弧放物線補
間演算手段143に入力されると、処理161におい
て、点Mから点Bまでの距離、および点Nから点Bまで
の距離Lを(30)式により求め、つぎに、処理162
に移行して、円弧放物線補間に使用できる最大距離La
を(31)式により求める。
【0073】 La=min(|AB|,|BC|) ・・・(31) ここでmin(x,y)はxとyの値のうちの小さい方の
値を与える関数である。つぎに、処理163に移行して
LとLa を比較し、点Mが線分ABの上にあるか否か、
また、点Nが線分BCの上にあるか否かを判断する。L
がLa 以下であればそのまま処理165に移行する。L
がLa 以下でなければ処理164に移行して、L=La
とする円弧放物線軌道に設定し直し、そのときの経路誤
差を(32)式の条件により(30)式を逆に解いて求
める。すなわち、(33)から経路誤差を求め、つぎに
処理165に移行する。
【0074】 L=La ・・・(32) D=F-1(L) ・・・(33) ここでF-1はFの逆関数を表す。
【0075】処理165では点Mおよび点Nの位置を点
Bから距離Lだけ離れた点として求める。つぎに、処理
166に移行して、ロボットの先端部が受ける加速度の
上限値をαmax として、その加速度のもとで円弧軌道H
B’Iに沿って移動するときの速度V0 を(34)式に
より求める。
【0076】 V0=(αmax・r)1/2 ・・・(34) つぎに、処理167に移行して、ロボットの先端部が放
物線軌道MHと放物線軌道INに沿って移動するときの
先端部の加速度を求める。円弧HI間の移動速度をV0
としたので、上記のように設定した円弧放物線軌道にお
ける放物線軌道では、点Mを(35)式が与える速度V
で通過し、放物線状の軌道を経由して点Hに速度V0 で
到達し、また、点Iを速度VO で通過したのち放物線状
の軌道を経由して点Nを(35)式が与える速度Vで通
過する。この関係は前述のように実施例1における図5
から明らかである。
【0077】 V=V0/sin(θ/2+λ) ・・・(35) この場合の加速度の方向は、放物線軌道MH上では線分
HGの方向に平行であり、放物線軌道IN上では線分I
Gの方向に平行であり、加速度の大きさは(36)式に
より与えらる。
【0078】 α={V・cos(θ/2+λ)}2/2d ・・・(36) つぎに、処理168において、処理167で求めた加速
度αの大きさが所定の上限値αmax 以下であるか否かを
判断する。αがαmax 以下であれば処理167で求めた
αをそのまま採用して処理170に移行する。また、α
がαmax 以下でなければ処理169に移行して、α=α
max とし、この条件を満たす速度Vと速度V0 とを(3
7)式の条件により(38)式および(39)式の与え
る値に変更する。すなわち、移動速度を小さく設定し直
す。
【0079】 α=αmax ・・・(37) V=(2d・α)1/2/cos(θ/2+λ) ・・・(38) V0=V・Sin(θ/2+λ) ・・・(39) 以上の処理により準備されたパラメータを用いて軌道上
を通過する補間点を求める。まず、処理170におい
て、線分AM間の補間点を速度Vにおける直線補間演算
によって求める。つぎに、処理171に移行して、線分
MH’上の補間点QK を速度Vにおける直線補間で求め
る。ここで、Qk におけるkは軌道MB”間の補間順序
の番号を表している。つぎに、処理172に移行して加
速度αによる位置の変化量ΔPk を処理171で求めた
補間点PK にベクトル加算して放物線軌道上の補間点座
標Pk を求める。このときの加速度による位置変化量Δ
Pkは(40)式で与えられる。
【0080】 ΔPk={α(k・t)2/2}・nh ・・・(40) ここで、tは点MH’間の単位補間時間であり、nhは
線分HG方向の単位ベクトルを表している。なお、この
ようにして演算した放物線上の補間点PK は、線分M
H’上の速度Vにおける補間点を、加速度の方向、すな
わち、線分HH’の方向に平行に投影した補間点に同じ
であることは他の実施例と同様である。
【0081】つぎに、処理173に移行して点Hから点
Iまでの円弧軌道を速度V0 で補間し、処理174に移
行して、線分I’N間の補間点Qk を速度Vにおける直
線補間で求める。ここで、Qk におけるkはI’N間の
補間順序の番号を表している。つぎに、処理175に移
行して、加速度αによる位置の変化量ΔPk を処理95
で求めた補間点Qk にベクトル加算して放物線上の補間
点Pk を求める。このとき位置変化量ΔPk は(41)
式で与えられる。
【0082】 ΔPk={α(T−K・t)2/2}・ni ・・・(41) ここでtは点I’N間の動作時間であり、niは線分I
G方向の単位ベクトルを表している。この放物線I’N
上の補間点についても、線分I’N上の速度Vにおける
直線補間点を、加速度の方向、すなわち、線分I’Iの
方向に平行に放物線上に投影した補間点であることは言
うまでもない。つぎに、処理176に移行して、線分N
C上の補間点を速度Vにおける直線補間演算によって求
め、最後に処理177において点Aから点Cまでの補間
点Pk を順次補間点データPn として関節角演算手段1
5に出力し、円弧放物線補間演算手段143の補間演算
処理を終了する。
【0083】図18は本実施例の補間演算処理によって
求めたロボット先端部の位置と、その位置における速度
および加速度との関係を示す特性図である。図からわか
るように、直線軌道AMおよびNCでは速度Vで移動し
て加速度はゼロであり、円弧軌道HIでは加速度の上限
値αmax で決まる速度V0 で移動して加速度は当然αma
x である。放物線軌道MHでは速度VからV0 に、放物
線軌道INでは速度V0 からVに変化して加速度はα≦
αmax であり、ロボットの先端部の加速度の大きさはい
づれの軌道においてもαmax 以下であり、急激な速度変
化を速度変化を伴うことなく線分ABと線分BCとが滑
らかに接続されていることがわかる。
【0084】なお、図18では円弧軌道をαmax で決ま
る速度で通過させた場合を示したが、それ以下の速度で
通過させる場合、すべての軌道において加速度の大きさ
が上限値以下であることは言うまでもない。
【0085】以上のように本実施例のロボットの軌道補
間装置によれば、ロボットの先端部が移動する軌道の基
準を与える複数個の教示点と、前記教示点に基づく前記
軌道の形状を指定する移動命令と、教示点と軌道との間
の最大誤差を指定する許容経路誤差とを備えた教示点列
データを入力し、前記移動命令と前記許容経路誤差とに
基づいて直線補間演算手段と円弧補間演算手段と円弧放
物線補間演算手段のうちの1つを選んで前記教示点列デ
ータを出力する補間演算方法選択手段と、前記教示点列
データを入力して教示点間を直線軌道で補間演算する直
線補間演算手段と、前記教示点列データを入力して連続
する3つの教示点を通る円弧軌道で補間演算する円弧補
間演算手段と、前記教示点列データを入力して連続する
3つの教示点間を円弧軌道と放物線軌道を連結して補間
演算する放物線補間演算手段と、補間演算された補間点
のデータを入力して単位補間時間ごとの関節角の変化量
を演算して出力する関節角演算手段とを備え、前記円弧
放物線補間演算手段は、連続する3つの教示点が構成す
る折れ線の節点の内角の二等分線上にあって前記節点か
ら許容経路誤差以内の点を通過して前記折れ線に接する
円弧を設定し、前記円弧のうち前記節点に対向する部分
円弧を円弧軌道とし、前記円弧軌道の両端をそれぞれ対
向する前記折れ線の線分と放物線により滑らかに接続し
て円弧放物線軌道を構成し、前記放物線はそれぞれ円弧
軌道の端を頂点とする放物線であって、折れ線上を一定
の速度で補間した点を、円弧と放物線との交点と円弧の
中心とを結ぶ方向に平行な方向に投影した点を放物線上
の補間点とするとともに、円弧との接続点における速度
が円弧上の速度と一致するように前記一定速度を設定
し、放物線軌道上の加速度の大きさおよび円弧軌道上の
加速度の大きさが所定の上限値を越えないように補間演
算するようにしたことにより、ロボットの先端部に加わ
る加速度の大きさを所定上限値以下にでき、大きい加速
度が加わらないので振動などが発生しない効果がある。
また、軌道は許容経路誤差の範囲で自動的に生成される
ので、衝突などを発生しない教示点を容易に設定でき
る。
【0086】なお、実施例では直線移動部分の速度を一
定に設定したが、加速度が所定上限値以内となる範囲で
変化させてもよく、また、放物線上に投影する直線補間
点の速度についても、投影した放物線上の加速度が上限
値を越えない範囲で変化させてもよく、また、円弧上の
速度についても加速度が上限値を越えない範囲で変化さ
せてもよいことは言うまでもない。
【0087】実施例1ないし実施例4では本発明の最も
好ましい実施様態の一例について説明したが、それらの
組み合せによる他の構成も可能であることは言うまでも
ない。
【0088】
【発明の効果】以上の説明から明らかなように、本発明
のロボットの軌道補間装置によれば、連続する3点以上
の教示点で規定される折れ線軌道を、教示点列データの
移動命令と許容経路誤差とに基づいて放物線軌道、二重
放物線軌道および円弧放物線軌道で補間演算し、それら
の軌道上を移動するときの加速度が所定の上限値を越え
ないように補間点を求めるようにしたことにより、ロボ
ットの先端部に大きい加速度が発生して振動が発生する
課題が解決されるとともに、許容経路誤差を教示点列デ
ータに設定して軌道を自動的に設定するようにしたこと
により、ロボットの先端部における衝突などを配慮しな
がら教示点を設定するような従来の教示作業を簡単化で
きる。
【図面の簡単な説明】
【図1】請求項1に係わる本発明のロボットの軌道補間
装置の一実施例の主要部である軌道演算手段の構成を示
すブロック図
【図2】請求項1に係わる本発明のロボットの軌道補間
装置の一実施例における補間方法選択手段の動作を示す
フローチャート
【図3】請求項1に係わる本発明のロボットの軌道補間
装置の一実施例における放物線補間演算手段の動作を示
すフローチャート
【図4】請求項1に係わる本発明のロボットの軌道補間
装置の一実施例における放物線補間演算の処理を示す説
明図
【図5】請求項1に係わる本発明のロボットの軌道補間
装置の一実施例におけるロボットの先端部の位置と、そ
の位置における速度および加速度との関係を示す特性図
【図6】請求項2に係わる本発明のロボットの軌道補間
装置の一実施例の主要部である軌道演算手段の構成を示
すブロック図
【図7】請求項2に係わる本発明のロボットの軌道補間
装置の一実施例における補間方法選択手段の動作を示す
フローチャート
【図8】請求項2に係わる本発明のロボットの軌道補間
装置の一実施例における二重放物線補間演算手段の動作
を示すフローチャート
【図9】請求項2に係わる本発明のロボットの軌道補間
装置の一実施例における二重放物線補間演算を示す説明
【図10】請求項2に係わる本発明のロボットの軌道補
間装置の一実施例におけるロボット先端部の位置と、そ
の位置における速度および加速度との関係を示す特性図
【図11】請求項3に係わる本発明のロボットの軌道補
間装置の一実施例の主要部である軌道演算手段の構成を
示すブロック図
【図12】請求項3に係わる本発明のロボットの軌道補
間装置の一実施例における補間方法選択手段の動作を示
すフローチャート
【図13】請求項3に係わる本発明のロボットの軌道補
間装置の一実施例における放物線補間方法選択手段の動
作を示すフローチャート
【図14】請求項4に係わる本発明のロボットの軌道補
間装置の一実施例の主要部である軌道演算手段の構成を
示すブロック図
【図15】請求項4に係わる本発明のロボットの軌道補
間装置の一実施例における補間方法選択手段の動作を示
すフローチャート
【図16】請求項4に係わる本発明のロボットの軌道補
間装置の一実施例における円弧補間演算手段の動作を示
すフローチャート
【図17】請求項4に係わる本発明のロボットの軌道補
間装置の一実施例における円弧放物線補間演算を示す説
明図
【図18】請求項4に係わる本発明のロボットの軌道補
間装置の一実施例におけるロボット先端部の位置と、そ
の位置における速度および加速度との関係を示す特性図
【符号の説明】
1 演算処理手段 11 補間方法選択手段 12 直線補間演算手段 13 放物線補間演算手段 15 関節角演算手段 P 教示点列データ J 間接角データ

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 ロボットの先端部が移動する軌道の基準
    を与える複数個の教示点と、前記教示点に基づく前記軌
    道の形状を指定する移動命令と、教示点と軌道との間の
    最大誤差を指定する許容経路誤差とを備えた教示点列デ
    ータを入力し、前記移動命令と前記許容経路誤差とに基
    づいて直線補間演算手段、円弧補間演算手段と放物線補
    間演算手段のうちの1つを選んで前記教示点列データを
    出力する補間演算方法選択手段と、前記教示点列データ
    を入力して教示点間を直線軌道で補間演算する直線補間
    演算手段と、前記教示点列データを入力して連続する3
    つの教示点を通る円弧軌道で補間演算する円弧補間演算
    手段と、前記教示点列データを入力して連続する3つの
    教示点間を放物線軌道で補間演算する放物線補間演算手
    段と、補間演算された補間点のデータを入力して単位補
    間時間ごとの関節角の変化量を演算して出力する関節角
    演算手段とを備え、前記補間点に従って移動するロボッ
    トの先端部の加速度が所定上限値以下となるようにした
    ロボットの軌道補間装置。
  2. 【請求項2】 ロボットの先端部が移動する軌道の基準
    を与える複数個の教示点と、前記教示点に基づく前記軌
    道の形状を指定する移動命令と、教示点と軌道との間の
    最大誤差を指定する許容経路誤差とを備えた教示点列デ
    ータを入力し、前記移動命令と前記許容経路誤差とに基
    づいて直線補間演算手段と円弧補間演算手段と二重放物
    線補間演算手段のうちの1つを選んで前記教示点列デー
    タを出力する補間演算方法選択手段と、前記教示点列デ
    ータを入力して教示点間を直線軌道で補間演算する直線
    補間演算手段と、前記教示点列データを入力して連続す
    る3つの教示点を通る円弧軌道で補間演算する円弧補間
    演算手段と、前記教示点列データを入力して連続する3
    つの教示点間を2つの放物線軌道を連結して補間演算す
    る放物線補間演算手段と、補間演算された補間点のデー
    タを入力して単位補間時間ごとの関節角の変化量を演算
    して出力する関節角演算手段とを備え、前記補間点に従
    って移動するロボットの先端部の加速度が所定上限値以
    下となるようにしたロボットの軌道補間装置。
  3. 【請求項3】 ロボットの先端部が移動する軌道の基準
    を与える複数個の教示点と、前記教示点に基づく前記軌
    道の形状を指定する移動命令と、教示点と軌道との間の
    最大誤差を指定する許容経路誤差とを備えた教示点列デ
    ータを入力し、前記移動命令と前記許容経路誤差とに基
    づいて直線補間演算手段と円弧補間演算手段と放物線切
    換補間演算手段のうちの1つを選んで前記教示点列デー
    タを出力する補間演算方法選択手段と、前記教示点列デ
    ータを入力して教示点間を直線軌道で補間演算する直線
    補間演算手段と、前記教示点列データを入力して連続す
    る3つの教示点を通る円弧軌道で補間演算する円弧補間
    演算手段と、前記教示点列データを入力して連続する3
    つの教示点で構成される折れ線軌道の内角の大きさによ
    り放物線補間演算手段と二重放物線補間演算手段のうち
    の1つを選択して補間演算する放物線切換補間演算手段
    と、補間演算された補間点のデータを入力して単位補間
    時間ごとの関節角の変化量を演算して出力する関節角演
    算手段とを備え、前記補間点に従って移動するロボット
    の先端部の加速度が所定上限値以下となるようにしたロ
    ボットの軌道補間装置。
  4. 【請求項4】 ロボットの先端部が移動する軌道の基準
    を与える複数個の教示点と、前記教示点に基づく前記軌
    道の形状を指定する移動命令と、教示点と軌道との間の
    最大誤差を指定する許容経路誤差とを備えた教示点列デ
    ータを入力し、前記移動命令と前記許容経路誤差とに基
    づいて直線補間演算手段と円弧補間演算手段と円弧放物
    線補間演算手段のうちの1つを選んで前記教示点列デー
    タを出力する補間演算方法選択手段と、前記教示点列デ
    ータを入力して教示点間を直線軌道で補間演算する直線
    補間演算手段と、前記教示点列データを入力して連続す
    る3つの教示点を通る円弧軌道で補間演算する円弧補間
    演算手段と、前記教示点列データを入力して連続する3
    つの教示点間を円弧軌道と放物線軌道を連結して補間演
    算する放物線補間演算手段と、補間演算された補間点の
    データを入力して単位補間時間ごとの関節角の変化量を
    演算して出力する関節角演算手段とを備え、前記補間点
    に従って移動するロボットの先端部の加速度が所定上限
    値以下となるようにしたロボットの軌道補間装置。
  5. 【請求項5】 連続する3つの教示点が構成する折れ線
    の節点の内角の二等分線上にあって前記節点から許容経
    路誤差以内の点を通過して前記折れ線に接する放物線軌
    道を生成し、折れ線上を一定速度で移動させた補間点を
    前記放物線軌道上に前記節点の内角の二等分線方向に平
    行に投影した点を放物線軌道上の補間点として補間演算
    し、このときに発生する前記投影方向の加速度の大きさ
    は一定であって、その大きさが所定値以下となるように
    前記折れ線上の移動速度を設定して補間演算する放物線
    補間演算手段を備えた請求項1または請求項3記載のロ
    ボットの軌道補間装置。
  6. 【請求項6】 連続する3つの教示点が構成する折れ線
    の節点の内角の二等分線上にあって前記節点から許容経
    路誤差以内の点を通過して前記二等分線に直交する直線
    の補助軌道を設け、前記折れ線の一部と前記補助軌道と
    で構成される2つの折れ線軌道をそれぞれを放物線軌道
    で補間し、各放物線軌道において、折れ線上を一定速度
    で移動させた補間点をその放物線が対応する内角の二等
    分線方向に平行に放物線に投影した点を放物線軌道上の
    補間点として補間演算し、このときに発生する前記投影
    方向の加速度の大きさは一定であって、その大きさが所
    定値以下となるように前記折れ線上の移動速度を設定し
    て補間演算する二重放物線補間演算手段を備えた請求項
    2または請求項3記載のロボットの軌道補間装置。
  7. 【請求項7】 連続する3つの教示点が構成する折れ線
    の節点の内角の二等分線上にあって前記節点から許容経
    路誤差以内の点を通過して前記折れ線に接する円弧を設
    定し、前記円弧のうち前記節点に対向する部分円弧を円
    弧軌道とし、前記円弧軌道の両端をそれぞれ対向する前
    記折れ線の線分と放物線により滑らかに接続して円弧放
    物線軌道を構成し、前記放物線はそれぞれ円弧軌道の端
    を頂点とする放物線であって、折れ線上を一定の速度で
    補間した点を、円弧と放物線との交点と円弧の中心とを
    結ぶ方向に平行な方向に投影した点を放物線上の補間点
    とするとともに、円弧との接続点における速度が円弧上
    の速度と一致するように前記一定速度を設定し、放物線
    軌道上の加速度の大きさおよび円弧軌道上の加速度の大
    きさが所定の上限値を越えないように補間演算する円弧
    放物線補間演算手段を備えた請求項4記載のロボットの
    軌道補間装置。
  8. 【請求項8】 教示点列データの移動命令が円弧移動の
    命令であるときは前記教示点列データを円弧補間演算手
    段に出力し、教示点列データの移動命令が円弧補間の命
    令でなくて許容誤差が0であるときには前記教示点列デ
    ータを直線補間演算手段に出力し、移動命令が円弧移動
    の命令でなくて許容誤差が0でないときには前記教示点
    列データを他の補間演算手段に出力するようにした補間
    方法選択手段を備えた請求項1ないし請求項7記載のい
    づれかに記載のロボットの軌道補間装置。
JP5209818A 1993-08-25 1993-08-25 ロボットの軌道補間装置 Pending JPH0764621A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5209818A JPH0764621A (ja) 1993-08-25 1993-08-25 ロボットの軌道補間装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5209818A JPH0764621A (ja) 1993-08-25 1993-08-25 ロボットの軌道補間装置

Publications (1)

Publication Number Publication Date
JPH0764621A true JPH0764621A (ja) 1995-03-10

Family

ID=16579128

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5209818A Pending JPH0764621A (ja) 1993-08-25 1993-08-25 ロボットの軌道補間装置

Country Status (1)

Country Link
JP (1) JPH0764621A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240328A (ja) * 1997-02-21 1998-09-11 Mitsubishi Electric Corp 数値制御装置
WO2016024338A1 (ja) * 2014-08-12 2016-02-18 三菱電機株式会社 数値制御装置
CN111736532A (zh) * 2020-07-15 2020-10-02 中国科学院大学 一种基于直线段和圆弧路径的多周期最优拐角的插补方法
CN113334385A (zh) * 2021-06-24 2021-09-03 安徽理工大学 一种自驱动关节臂测量机直线轨迹间平滑过渡的规划方法
CN115454144A (zh) * 2022-10-28 2022-12-09 中国电子科技集团公司第二十八研究所 一种动目标飞行轨迹平滑方法及系统
WO2025248836A1 (ja) * 2024-05-29 2025-12-04 パナソニックIpマネジメント株式会社 数値制御装置および駆動システム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240328A (ja) * 1997-02-21 1998-09-11 Mitsubishi Electric Corp 数値制御装置
WO2016024338A1 (ja) * 2014-08-12 2016-02-18 三菱電機株式会社 数値制御装置
CN111736532A (zh) * 2020-07-15 2020-10-02 中国科学院大学 一种基于直线段和圆弧路径的多周期最优拐角的插补方法
CN113334385A (zh) * 2021-06-24 2021-09-03 安徽理工大学 一种自驱动关节臂测量机直线轨迹间平滑过渡的规划方法
CN115454144A (zh) * 2022-10-28 2022-12-09 中国电子科技集团公司第二十八研究所 一种动目标飞行轨迹平滑方法及系统
CN115454144B (zh) * 2022-10-28 2023-02-24 中国电子科技集团公司第二十八研究所 一种动目标飞行轨迹平滑方法及系统
WO2025248836A1 (ja) * 2024-05-29 2025-12-04 パナソニックIpマネジメント株式会社 数値制御装置および駆動システム

Similar Documents

Publication Publication Date Title
CN111791236B (zh) 一种工业机器人笛卡尔空间轨迹过渡方法
JP3485639B2 (ja) 直角座標空間における経路プランニング方法及びシステム
KR100262382B1 (ko) 로봇의속도연산장치및로봇의속도연산방법
US4621333A (en) Method and apparatus for controlling a robot to perform weaving-like motion
JPH0764622A (ja) ロボットの軌道補間装置
JP2019204354A (ja) 数値制御装置
JPH0764621A (ja) ロボットの軌道補間装置
JP3204042B2 (ja) ロボットの軌道の生成装置
JPH04111006A (ja) ロボットの経路補間方法
JPH10275007A (ja) ロボット動作シミュレーション方法
US5993044A (en) Apparatus for generating trajectory for industrial robot
JP2009113172A (ja) 指令値生成装置
JP2737725B2 (ja) ロボット制御装置及び方法
KR102520793B1 (ko) 로봇의 모션 경로 블렌딩 방법 및 그 장치
JPH07210233A (ja) ロボットの軌道の補間方法と補間装置
JPH08123531A (ja) 軌道の制御方法
JP2932560B2 (ja) ロボット制御装置
JPH09146622A (ja) ロボットの軌道生成方法と軌道生成装置
CN114589695B (zh) 一种机器人运动轨迹的转接方法、装置及存储介质
JPS6284304A (ja) 産業用ロボツトの軌跡補間装置
JPS58101303A (ja) 自動位置制御装置の軌道補間方式
JPS6341912A (ja) 工業用ロボツトの通過点制御方法
JPH0991020A (ja) 教示ロボット制御方法
JPH1139021A (ja) ロボットの経路補間方法
JPH06285781A (ja) ロボット制御装置