JPH05134732A - 干渉回避経路生成方法 - Google Patents
干渉回避経路生成方法Info
- Publication number
- JPH05134732A JPH05134732A JP29557391A JP29557391A JPH05134732A JP H05134732 A JPH05134732 A JP H05134732A JP 29557391 A JP29557391 A JP 29557391A JP 29557391 A JP29557391 A JP 29557391A JP H05134732 A JPH05134732 A JP H05134732A
- Authority
- JP
- Japan
- Prior art keywords
- interference
- temporary
- point
- avoidance
- avoidance point
- 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
Links
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
(57)【要約】
【目的】 ロボットの動作プログラムにおいて、干渉回
避経路の自動生成を短時間で行うことを目的とする。 【構成】 ロボットの初期位置と最終位置との間でロボ
ットが他の物体と干渉するとき、干渉領域の直前位置及
び直後位置の間に仮の回避点を求める(S12)。その
仮の回避点と初期位置との間で干渉があるときは(S1
4)、直前位置と仮の回避点との間で干渉があるか否か
を判別し(S15)、干渉があるときは直前位置を初期
位置とみなし、また仮の回避点を最終位置とみなして仮
の回避点を求め直し、干渉がない場合を探索する(S1
9)。このようにして初期位置と仮の回避点を結ぶ経路
を確立し、続いて、同様にして仮の回避点と最終位置を
結ぶ経路を確立する(S16,S17,S21)。これ
により、干渉回避経路が初期位置、回避点及び最終位置
を結ぶ経路として生成される(S18)。
避経路の自動生成を短時間で行うことを目的とする。 【構成】 ロボットの初期位置と最終位置との間でロボ
ットが他の物体と干渉するとき、干渉領域の直前位置及
び直後位置の間に仮の回避点を求める(S12)。その
仮の回避点と初期位置との間で干渉があるときは(S1
4)、直前位置と仮の回避点との間で干渉があるか否か
を判別し(S15)、干渉があるときは直前位置を初期
位置とみなし、また仮の回避点を最終位置とみなして仮
の回避点を求め直し、干渉がない場合を探索する(S1
9)。このようにして初期位置と仮の回避点を結ぶ経路
を確立し、続いて、同様にして仮の回避点と最終位置を
結ぶ経路を確立する(S16,S17,S21)。これ
により、干渉回避経路が初期位置、回避点及び最終位置
を結ぶ経路として生成される(S18)。
Description
【0001】
【産業上の利用分野】本発明はロボットが作業中に他の
物体と干渉しないようにロボットの動作経路を生成する
干渉回避経路生成方法に関し、特に干渉回避経路の自動
生成を短時間で行うことができる干渉回避経路生成方法
に関する。
物体と干渉しないようにロボットの動作経路を生成する
干渉回避経路生成方法に関し、特に干渉回避経路の自動
生成を短時間で行うことができる干渉回避経路生成方法
に関する。
【0002】
【従来の技術】近年、ロボットは産業上の様々な分野で
使用されるようになり、それに伴って、より使いやすい
ものが要求されてきている。ところで、オフラインシス
テムにおいてロボットの動作プログラムを作成する際、
ロボットが他の物体と干渉する場合は、その干渉は予め
オペレータに通知されるようになっている。その場合、
オペレータはディスプレー上で干渉の状況を把握し、そ
の干渉を避ける経路を指定することで、ロボットの動作
プログラムが修正され、干渉を回避した動作経路が作成
される。このように、ロボットの動作プログラム作成時
に干渉が生じるとオペレータによる修正作業が必要にな
る。
使用されるようになり、それに伴って、より使いやすい
ものが要求されてきている。ところで、オフラインシス
テムにおいてロボットの動作プログラムを作成する際、
ロボットが他の物体と干渉する場合は、その干渉は予め
オペレータに通知されるようになっている。その場合、
オペレータはディスプレー上で干渉の状況を把握し、そ
の干渉を避ける経路を指定することで、ロボットの動作
プログラムが修正され、干渉を回避した動作経路が作成
される。このように、ロボットの動作プログラム作成時
に干渉が生じるとオペレータによる修正作業が必要にな
る。
【0003】一方、干渉が生じる場合は、物体との重度
の干渉は稀であり、通常は、ロボットの一部が軽度に干
渉する場合が多い。このような場合、オペレータの修正
作業によらず、自動的に短時間で干渉回避経路の動作プ
ログラムが生成されることが望まれる。そこで、例えば
コンフィギュレーション法やエネルギ法などの干渉回避
経路の自動生成方法が提案されている。
の干渉は稀であり、通常は、ロボットの一部が軽度に干
渉する場合が多い。このような場合、オペレータの修正
作業によらず、自動的に短時間で干渉回避経路の動作プ
ログラムが生成されることが望まれる。そこで、例えば
コンフィギュレーション法やエネルギ法などの干渉回避
経路の自動生成方法が提案されている。
【0004】コンフィギュレーション法は、通常の3次
元空間をいったんコンフィギュレーション空間に射影
し、そのコンフィギュレーション空間において初期姿勢
から最終姿勢までを干渉領域を避けて結ぶ経路を探索す
る方法である。また、エネルギ法は、各物体にその物体
に近づくと高くなるようなポテンシャルを想定し、その
ポテンシャル値が低くなるような経路をとることで干渉
回避経路を求める方法である。
元空間をいったんコンフィギュレーション空間に射影
し、そのコンフィギュレーション空間において初期姿勢
から最終姿勢までを干渉領域を避けて結ぶ経路を探索す
る方法である。また、エネルギ法は、各物体にその物体
に近づくと高くなるようなポテンシャルを想定し、その
ポテンシャル値が低くなるような経路をとることで干渉
回避経路を求める方法である。
【0005】
【発明が解決しようとする課題】しかし、コンフィギュ
レーション法では、一般にコンフィギュレーション空間
をメッシュとして扱うため、計算速度が遅く計算に非常
に時間が掛かる。また、エネルギ法でも同様に解を求め
るのに多大の時間を要する。このため、ロボットの一部
が軽度に干渉する場合でも、これらの干渉回避経路の自
動生成方法を使用するとかえって長時間を要することと
なり、結局オペレータの修正作業にたよらざるを得なか
った。
レーション法では、一般にコンフィギュレーション空間
をメッシュとして扱うため、計算速度が遅く計算に非常
に時間が掛かる。また、エネルギ法でも同様に解を求め
るのに多大の時間を要する。このため、ロボットの一部
が軽度に干渉する場合でも、これらの干渉回避経路の自
動生成方法を使用するとかえって長時間を要することと
なり、結局オペレータの修正作業にたよらざるを得なか
った。
【0006】本発明はこのような点に鑑みてなされたも
のであり、干渉回避経路の自動生成を短時間で行うこと
ができる干渉回避経路生成方法を提供することを目的と
する。
のであり、干渉回避経路の自動生成を短時間で行うこと
ができる干渉回避経路生成方法を提供することを目的と
する。
【0007】
【課題を解決するための手段】本発明では上記課題を解
決するために、ロボットが作業中に他の物体と干渉しな
いようにロボットの動作経路を生成する干渉回避経路生
成方法において、ロボットの初期位置と最終位置との間
で前記ロボットが他の物体と干渉するとき、前記干渉が
生じる干渉領域の直前位置及び直後位置の間に仮の回避
点を求め、前記初期位置と前記仮の回避点との間で前記
干渉があるとき、前記直前位置と前記仮の回避点との間
で前記干渉があるか否かを判別し、前記直前位置と前記
仮の回避点との間で前記干渉があるとき、前記直前位置
を前記初期位置とし前記仮の回避点を前記最終位置とし
て前記仮の回避点を求め直し、前記初期位置と前記仮の
回避点との間または前記直前位置と前記仮の回避点との
間で前記干渉がないとき、前記仮の回避点と前記最終位
置との間で前記干渉があるか否かを判別し、前記仮の回
避点と前記最終位置との間で前記干渉があるとき、前記
仮の回避点と前記直後位置との間で前記干渉があるか否
かを判別し、前記仮の回避点と前記直後位置との間で前
記干渉があるとき、前記仮の回避点を前記初期位置とし
前記直後位置を前記最終位置として前記仮の回避点を求
め直し、前記仮の回避点と前記最終位置との間または前
記仮の回避点と前記直後位置との間で前記干渉がないと
き、前記仮の回避点を回避点として設定し、前記初期位
置,前記回避点及び前記最終位置を結ぶ経路をロボット
の干渉回避経路とすることを特徴とする干渉回避経路生
成方法が、提供される。
決するために、ロボットが作業中に他の物体と干渉しな
いようにロボットの動作経路を生成する干渉回避経路生
成方法において、ロボットの初期位置と最終位置との間
で前記ロボットが他の物体と干渉するとき、前記干渉が
生じる干渉領域の直前位置及び直後位置の間に仮の回避
点を求め、前記初期位置と前記仮の回避点との間で前記
干渉があるとき、前記直前位置と前記仮の回避点との間
で前記干渉があるか否かを判別し、前記直前位置と前記
仮の回避点との間で前記干渉があるとき、前記直前位置
を前記初期位置とし前記仮の回避点を前記最終位置とし
て前記仮の回避点を求め直し、前記初期位置と前記仮の
回避点との間または前記直前位置と前記仮の回避点との
間で前記干渉がないとき、前記仮の回避点と前記最終位
置との間で前記干渉があるか否かを判別し、前記仮の回
避点と前記最終位置との間で前記干渉があるとき、前記
仮の回避点と前記直後位置との間で前記干渉があるか否
かを判別し、前記仮の回避点と前記直後位置との間で前
記干渉があるとき、前記仮の回避点を前記初期位置とし
前記直後位置を前記最終位置として前記仮の回避点を求
め直し、前記仮の回避点と前記最終位置との間または前
記仮の回避点と前記直後位置との間で前記干渉がないと
き、前記仮の回避点を回避点として設定し、前記初期位
置,前記回避点及び前記最終位置を結ぶ経路をロボット
の干渉回避経路とすることを特徴とする干渉回避経路生
成方法が、提供される。
【0008】
【作用】ロボットの初期位置と最終位置との間でロボッ
トが他の物体と干渉するとき、干渉が生じる干渉領域の
直前位置及び直後位置の間に仮の回避点を求める。その
仮の回避点と初期位置との間で干渉があるときは、直前
位置と仮の回避点との間で干渉があるか否かを判別す
る。その直前位置と仮の回避点との間で干渉があると
き、直前位置を初期位置とみなし、また仮の回避点を最
終位置とみなして仮の回避点を求め直し、干渉がない場
合を探索する。
トが他の物体と干渉するとき、干渉が生じる干渉領域の
直前位置及び直後位置の間に仮の回避点を求める。その
仮の回避点と初期位置との間で干渉があるときは、直前
位置と仮の回避点との間で干渉があるか否かを判別す
る。その直前位置と仮の回避点との間で干渉があると
き、直前位置を初期位置とみなし、また仮の回避点を最
終位置とみなして仮の回避点を求め直し、干渉がない場
合を探索する。
【0009】一方、初期位置と仮の回避点との間または
直前位置と仮の回避点との間で干渉がないときは、その
初期位置と仮の回避点を結ぶ経路、または初期位置と直
前位置と仮の回避点を結ぶ経路を干渉回避経路として確
立し、続いて、仮の回避点と最終位置との間で干渉があ
るか否かを判別する。仮の回避点と最終位置との間で干
渉があるとき、仮の回避点と直後位置との間で干渉があ
るか否かを判別する。その仮の回避点と直後位置との間
で干渉があるとき、仮の回避点を初期位置とみなし、ま
た直後位置を最終位置とみなして仮の回避点を求め直
し、干渉がない場合を探索する。
直前位置と仮の回避点との間で干渉がないときは、その
初期位置と仮の回避点を結ぶ経路、または初期位置と直
前位置と仮の回避点を結ぶ経路を干渉回避経路として確
立し、続いて、仮の回避点と最終位置との間で干渉があ
るか否かを判別する。仮の回避点と最終位置との間で干
渉があるとき、仮の回避点と直後位置との間で干渉があ
るか否かを判別する。その仮の回避点と直後位置との間
で干渉があるとき、仮の回避点を初期位置とみなし、ま
た直後位置を最終位置とみなして仮の回避点を求め直
し、干渉がない場合を探索する。
【0010】仮の回避点と最終位置との間または仮の回
避点と直後位置との間で干渉がないときは、その仮の回
避点と最終位置を結ぶ経路、または仮の回避点と直後位
置と最終位置を結ぶ経路を干渉回避経路として確立し、
その仮の回避点を回避点として設定する。これにより、
干渉回避経路が初期位置、回避点及び最終位置を結ぶ経
路として生成される。なお、ロボットの動作経路上に複
数の干渉領域がある場合は、この回避点の設定手順は最
初の干渉領域から順次行われる。
避点と直後位置との間で干渉がないときは、その仮の回
避点と最終位置を結ぶ経路、または仮の回避点と直後位
置と最終位置を結ぶ経路を干渉回避経路として確立し、
その仮の回避点を回避点として設定する。これにより、
干渉回避経路が初期位置、回避点及び最終位置を結ぶ経
路として生成される。なお、ロボットの動作経路上に複
数の干渉領域がある場合は、この回避点の設定手順は最
初の干渉領域から順次行われる。
【0011】
【実施例】以下、本発明の一実施例を図面に基づいて説
明する。図3は本発明の干渉回避経路生成方法を実施す
るための全体構成を示す図である。図において、オフラ
インプログラム装置10はマイクロプロセッサを中心に
して構成され、オフラインでロボットの動作プログラム
を作成する。オフラインプログラム装置10には、例え
ばワークステーションが使用される。このオフラインプ
ログラム装置10において作成された動作プログラム
は、ロボット制御装置20に送られる。ロボット制御装
置20はロボット30のサーボモータを駆動し、ロボッ
ト30をその動作プログラムに基づいて動作させる。
明する。図3は本発明の干渉回避経路生成方法を実施す
るための全体構成を示す図である。図において、オフラ
インプログラム装置10はマイクロプロセッサを中心に
して構成され、オフラインでロボットの動作プログラム
を作成する。オフラインプログラム装置10には、例え
ばワークステーションが使用される。このオフラインプ
ログラム装置10において作成された動作プログラム
は、ロボット制御装置20に送られる。ロボット制御装
置20はロボット30のサーボモータを駆動し、ロボッ
ト30をその動作プログラムに基づいて動作させる。
【0012】オフラインプログラム装置10では、予
め、作成された動作プログラムに基づいてロボットの動
作がシミュレートされる。その際にロボットが他の物体
と干渉したりあるいはニアミスになったりすると、その
干渉、ニアミスを回避する経路が自動的に生成される。
以下に、このオフラインプログラム装置10で実行され
る干渉回避経路自動生成について説明する。
め、作成された動作プログラムに基づいてロボットの動
作がシミュレートされる。その際にロボットが他の物体
と干渉したりあるいはニアミスになったりすると、その
干渉、ニアミスを回避する経路が自動的に生成される。
以下に、このオフラインプログラム装置10で実行され
る干渉回避経路自動生成について説明する。
【0013】図4はロボットの動作経路上に干渉領域が
ある場合を示す図である。ロボットは初期位置(初期姿
勢)Aから最終位置(最終姿勢)Bまで移動する間に物
体1と干渉し、干渉領域11が形成される。この場合の
干渉回避経路の生成方法を説明する。先ず、干渉領域1
1の直前位置p及び直後位置qの間に仮の回避点mを求
める。この仮の回避点mは、直前位置p及び直後位置q
の二分割線上またはその二分割線上の近傍に求められ
る。次に、初期位置Aと仮の回避点mとの間に干渉があ
るか否かを判別し、干渉がなければその初期位置Aと仮
の回避点mとを結ぶ経路51を一旦確立する。なお、初
期位置Aと仮の回避点mとの間に干渉があれば、さらに
直前位置pと仮の回避点mとの間に干渉があるか否かを
判別し、干渉がなければ初期位置Aと直前位置pと仮の
回避点mとを結ぶ経路を一旦確立する。一方、直前位置
pと仮の回避点mとの間にも干渉がある場合については
後述する。
ある場合を示す図である。ロボットは初期位置(初期姿
勢)Aから最終位置(最終姿勢)Bまで移動する間に物
体1と干渉し、干渉領域11が形成される。この場合の
干渉回避経路の生成方法を説明する。先ず、干渉領域1
1の直前位置p及び直後位置qの間に仮の回避点mを求
める。この仮の回避点mは、直前位置p及び直後位置q
の二分割線上またはその二分割線上の近傍に求められ
る。次に、初期位置Aと仮の回避点mとの間に干渉があ
るか否かを判別し、干渉がなければその初期位置Aと仮
の回避点mとを結ぶ経路51を一旦確立する。なお、初
期位置Aと仮の回避点mとの間に干渉があれば、さらに
直前位置pと仮の回避点mとの間に干渉があるか否かを
判別し、干渉がなければ初期位置Aと直前位置pと仮の
回避点mとを結ぶ経路を一旦確立する。一方、直前位置
pと仮の回避点mとの間にも干渉がある場合については
後述する。
【0014】同様にして仮の回避点mと最終位置Bとの
間に干渉があるか否かを判別し、干渉がなければその仮
の回避点mと最終位置Bとを結ぶ経路52を確立し、仮
の回避点mを回避点Mとして設定する。これにより、初
期位置A、回避点M及び最終位置Bの経路51,52が
確立し、干渉回避経路50が生成される。なお、仮の回
避点mと最終位置Bとの間に干渉がある場合は、上記の
初期位置Aと仮の回避点mとの間に干渉がある場合と同
様にして経路が求められる。次に、直前位置pと仮の回
避点mとの間に干渉がある場合を説明する。
間に干渉があるか否かを判別し、干渉がなければその仮
の回避点mと最終位置Bとを結ぶ経路52を確立し、仮
の回避点mを回避点Mとして設定する。これにより、初
期位置A、回避点M及び最終位置Bの経路51,52が
確立し、干渉回避経路50が生成される。なお、仮の回
避点mと最終位置Bとの間に干渉がある場合は、上記の
初期位置Aと仮の回避点mとの間に干渉がある場合と同
様にして経路が求められる。次に、直前位置pと仮の回
避点mとの間に干渉がある場合を説明する。
【0015】図5は直前位置と仮の回避点との間に干渉
がある場合を示す図で、(a)はステップ1を、(b)
はステップ2をそれぞれ示す。図5(a)に示すように
直前位置pと仮の回避点mとの間に干渉領域110があ
る場合は、直前位置pを初期位置A1とみなし、また仮
の回避点mを最終位置B1とみなし、仮の回避点mを求
め直す。すなわち、今回の仮の回避点m1は、図5
(b)に示すように、干渉領域110の直前位置p1及
び直後位置q1の間に求められ、図4の場合と同様の手
順で経路510及び520が確立され、これにより干渉
回避経路500が確立される。
がある場合を示す図で、(a)はステップ1を、(b)
はステップ2をそれぞれ示す。図5(a)に示すように
直前位置pと仮の回避点mとの間に干渉領域110があ
る場合は、直前位置pを初期位置A1とみなし、また仮
の回避点mを最終位置B1とみなし、仮の回避点mを求
め直す。すなわち、今回の仮の回避点m1は、図5
(b)に示すように、干渉領域110の直前位置p1及
び直後位置q1の間に求められ、図4の場合と同様の手
順で経路510及び520が確立され、これにより干渉
回避経路500が確立される。
【0016】図6はロボットの動作経路上に複数の干渉
領域がある場合を示す図である。初期位置Aから最終位
置Bまでの動作経路上に干渉領域12,13及び14が
存在する。このように複数の干渉領域12,13,14
がある場合の干渉回避経路生成は、先ず最初の干渉領域
12に対して行われ、続いて、干渉領域13,14の順
で行われる。その場合、例えば干渉領域13に対する初
期位置Aは、例えば手前の干渉領域12の直後位置q2
とし、また最終位置Bは自分自身の干渉領域13の直後
位置q3とすればよい。図4及び図5で説明した手順を
各干渉領域12,13,14に対して適用することで、
初期位置Aから最終位置Bまでの干渉回避経路が生成さ
れる。
領域がある場合を示す図である。初期位置Aから最終位
置Bまでの動作経路上に干渉領域12,13及び14が
存在する。このように複数の干渉領域12,13,14
がある場合の干渉回避経路生成は、先ず最初の干渉領域
12に対して行われ、続いて、干渉領域13,14の順
で行われる。その場合、例えば干渉領域13に対する初
期位置Aは、例えば手前の干渉領域12の直後位置q2
とし、また最終位置Bは自分自身の干渉領域13の直後
位置q3とすればよい。図4及び図5で説明した手順を
各干渉領域12,13,14に対して適用することで、
初期位置Aから最終位置Bまでの干渉回避経路が生成さ
れる。
【0017】図2は本発明の干渉回避経路生成方法を実
行するためのプログラムフローチャートを示す図であ
る。ここでは、複数の干渉領域の存在を前提として説明
する。図中Sに続く数字はステップ番号を表す。 〔S1〕初期位置Aと最終位置Bの間に干渉があるか検
査する。 〔S2〕干渉があるか否かを判別する。干渉があればス
テップS3に進み、そうでなければそのままプログラム
を終了する。 〔S3〕番号iを1に設定する。 〔S4〕図1に示す干渉回避経路生成ループを実行し、
i番目の干渉領域に対する干渉回避経路を求める。すな
わち、最初の干渉領域から順次実行して干渉回避経路を
生成していく。 〔S5〕各干渉領域に対する干渉回避経路生成ループの
実行が終了したか否かを判別する。実行されていれば干
渉回避経路が生成されているので、プログラムを終了す
る。そうでなければ、ステップS6に進む。 〔S6〕番号iに1を加算し、次の干渉領域に対して干
渉回避経路生成ループが実行されるようにする。
行するためのプログラムフローチャートを示す図であ
る。ここでは、複数の干渉領域の存在を前提として説明
する。図中Sに続く数字はステップ番号を表す。 〔S1〕初期位置Aと最終位置Bの間に干渉があるか検
査する。 〔S2〕干渉があるか否かを判別する。干渉があればス
テップS3に進み、そうでなければそのままプログラム
を終了する。 〔S3〕番号iを1に設定する。 〔S4〕図1に示す干渉回避経路生成ループを実行し、
i番目の干渉領域に対する干渉回避経路を求める。すな
わち、最初の干渉領域から順次実行して干渉回避経路を
生成していく。 〔S5〕各干渉領域に対する干渉回避経路生成ループの
実行が終了したか否かを判別する。実行されていれば干
渉回避経路が生成されているので、プログラムを終了す
る。そうでなければ、ステップS6に進む。 〔S6〕番号iに1を加算し、次の干渉領域に対して干
渉回避経路生成ループが実行されるようにする。
【0018】図1は干渉回避経路生成ループのフローチ
ャートである。このフローチャートは、i番目の干渉領
域に対して実行される。図中Sに続く数字はステップ番
号を表す。 〔S11〕一連の干渉回避経路の確立のための手順、す
なわち、ステップS11〜ステップS17の手順の繰り
返し回数が指定した最大回数以上か否かを判別する。指
定した最大回数以上であればステップS23に、そうで
なければステップS12にそれぞれ進む。 〔S12〕初期位置Aと最終位置Bとの間、すなわち、
干渉領域の直前位置pと直後位置qとの間に仮の回避点
mを求める。 〔S13〕仮の回避点mを求めることに成功したか否か
を判別する。成功すればステップS14に、そうでなけ
ればステップS23にそれぞれ進む。 〔S14〕初期位置Aと仮の回避点mの間に干渉がある
か否かを判別する。干渉があればステップS15に進
み、干渉がなければステップS15をスキップしてステ
ップS16に進む。
ャートである。このフローチャートは、i番目の干渉領
域に対して実行される。図中Sに続く数字はステップ番
号を表す。 〔S11〕一連の干渉回避経路の確立のための手順、す
なわち、ステップS11〜ステップS17の手順の繰り
返し回数が指定した最大回数以上か否かを判別する。指
定した最大回数以上であればステップS23に、そうで
なければステップS12にそれぞれ進む。 〔S12〕初期位置Aと最終位置Bとの間、すなわち、
干渉領域の直前位置pと直後位置qとの間に仮の回避点
mを求める。 〔S13〕仮の回避点mを求めることに成功したか否か
を判別する。成功すればステップS14に、そうでなけ
ればステップS23にそれぞれ進む。 〔S14〕初期位置Aと仮の回避点mの間に干渉がある
か否かを判別する。干渉があればステップS15に進
み、干渉がなければステップS15をスキップしてステ
ップS16に進む。
【0019】〔S15〕直前位置pと仮の回避点mとの
間に干渉があるか否かを判別する。干渉があればステッ
プS19に、干渉がなければステップS16にそれぞれ
進む。 〔S16〕最終位置Bと仮の回避点mとの間に干渉があ
るか否かを判別する。干渉があればステップS17に進
み、干渉がなければステップS17をスキップしてステ
ップS18に進む。 〔S17〕直後位置qと仮の回避点mとの間に干渉があ
るか否かを判別する。干渉があればステップS21に、
干渉がなければステップS18にそれぞれ進む。 〔S18〕仮の回避点mを回避点Mとして設定し、確立
された干渉回避経路のプログラムを書き出す。 〔S19〕直前位置pを初期位置Aとみなし、仮の回避
点mを最終位置BとみなしてステップS11〜ステップ
S15を再実行する。 〔S20〕ステップS19での再実行が成功であればス
テップS16に、そうでなければステップS23に進
む。 〔S21〕仮の回避点mを初期位置Aとみなし、直後位
置qを最終位置BとみなしてステップS11〜ステップ
S17を再実行する。 〔S22〕ステップS21での再実行が成功であればス
テップS18に、そうでなければステップS23に進
む。 〔S23〕一連の干渉回避経路の確立のための手順の繰
り返し回数が指定した最大回数以上になった場合であ
り、警告を発してオペレータに干渉回避経路の生成が困
難であること、または、かなりの時間を要することを通
知する。この場合は、オペレータが干渉回避経路を指定
してロボットの動作経路を修正する。これにより、無駄
な時間をかけず速やかに干渉回避経路の生成を行うこと
ができる。
間に干渉があるか否かを判別する。干渉があればステッ
プS19に、干渉がなければステップS16にそれぞれ
進む。 〔S16〕最終位置Bと仮の回避点mとの間に干渉があ
るか否かを判別する。干渉があればステップS17に進
み、干渉がなければステップS17をスキップしてステ
ップS18に進む。 〔S17〕直後位置qと仮の回避点mとの間に干渉があ
るか否かを判別する。干渉があればステップS21に、
干渉がなければステップS18にそれぞれ進む。 〔S18〕仮の回避点mを回避点Mとして設定し、確立
された干渉回避経路のプログラムを書き出す。 〔S19〕直前位置pを初期位置Aとみなし、仮の回避
点mを最終位置BとみなしてステップS11〜ステップ
S15を再実行する。 〔S20〕ステップS19での再実行が成功であればス
テップS16に、そうでなければステップS23に進
む。 〔S21〕仮の回避点mを初期位置Aとみなし、直後位
置qを最終位置BとみなしてステップS11〜ステップ
S17を再実行する。 〔S22〕ステップS21での再実行が成功であればス
テップS18に、そうでなければステップS23に進
む。 〔S23〕一連の干渉回避経路の確立のための手順の繰
り返し回数が指定した最大回数以上になった場合であ
り、警告を発してオペレータに干渉回避経路の生成が困
難であること、または、かなりの時間を要することを通
知する。この場合は、オペレータが干渉回避経路を指定
してロボットの動作経路を修正する。これにより、無駄
な時間をかけず速やかに干渉回避経路の生成を行うこと
ができる。
【0020】次に、上述した干渉回避経路の自動生成を
ロボットの動作シミュレーションを用いて説明する。図
7はロボットが他の物体と干渉する場合をシミュレート
させた場合を示す図であり、(a)は初期姿勢を、
(b)は干渉する場合を、(c)は最終姿勢をそれぞれ
示す。ロボット30は図7(a)の初期姿勢から、図7
(c)の最終姿勢まで移動する間に、アーム31が柱3
5と干渉する(図7(b))。このときの動作プログラ
ム例を以下に示す。
ロボットの動作シミュレーションを用いて説明する。図
7はロボットが他の物体と干渉する場合をシミュレート
させた場合を示す図であり、(a)は初期姿勢を、
(b)は干渉する場合を、(c)は最終姿勢をそれぞれ
示す。ロボット30は図7(a)の初期姿勢から、図7
(c)の最終姿勢まで移動する間に、アーム31が柱3
5と干渉する(図7(b))。このときの動作プログラ
ム例を以下に示す。
【0021】#B P F100% T−30 W0
U0 C0 B0 A0BE #B P F100% T30 W0 U0 C0 B
0 A0 BE #B PE ここで、ロボット30は6軸ロボットであり、そのθ軸
は初期姿勢で−30°を示し、最終姿勢で30°を示
し、その間で柱35と干渉する。
U0 C0 B0 A0BE #B P F100% T30 W0 U0 C0 B
0 A0 BE #B PE ここで、ロボット30は6軸ロボットであり、そのθ軸
は初期姿勢で−30°を示し、最終姿勢で30°を示
し、その間で柱35と干渉する。
【0022】図8は干渉回避経路を自動生成した場合を
シミュレートさせた場合を示す図であり、(a)は初期
姿勢を、(b)は干渉を回避した場合を、(c)は最終
姿勢をそれぞれ示す。ロボット30は、柱35との干渉
を回避して初期姿勢から最終姿勢まで移動する。このと
き、本発明の干渉回避経路生成方法により自動生成され
た動作プログラム例を以下に示す。
シミュレートさせた場合を示す図であり、(a)は初期
姿勢を、(b)は干渉を回避した場合を、(c)は最終
姿勢をそれぞれ示す。ロボット30は、柱35との干渉
を回避して初期姿勢から最終姿勢まで移動する。このと
き、本発明の干渉回避経路生成方法により自動生成され
た動作プログラム例を以下に示す。
【0023】#B P F100% T−30 W0
U0 C0 B0 A0BE #B P F100% T2.29 W−10.31
U16.04 C0.57 B−16.04 A−0.
57 BE #B P F100% T30 W0 U0 C0 B
0 A0 BE #B PE すなわち、ロボット30が柱35との干渉を回避する回
避点Mは、θ軸2.29°、W軸−10.31°、U軸
16.04°、γ軸0.57°、β軸−16.04°、
α軸−0.57°として設定され、この回避点Mを通る
ことによりロボット30は柱35と干渉することなく、
初期姿勢から最終姿勢まで移動することができる。
U0 C0 B0 A0BE #B P F100% T2.29 W−10.31
U16.04 C0.57 B−16.04 A−0.
57 BE #B P F100% T30 W0 U0 C0 B
0 A0 BE #B PE すなわち、ロボット30が柱35との干渉を回避する回
避点Mは、θ軸2.29°、W軸−10.31°、U軸
16.04°、γ軸0.57°、β軸−16.04°、
α軸−0.57°として設定され、この回避点Mを通る
ことによりロボット30は柱35と干渉することなく、
初期姿勢から最終姿勢まで移動することができる。
【0024】上記の説明では、本発明をロボットと他の
物体との干渉に対して適用するようにしたが、ロボット
と他の物体との間のニアミスに対しても同様に適用する
ことができる。その場合は、ロボットと他の物体との間
の距離が一定距離以上接近する場合をニアミスとみなす
ように構成すればよい。
物体との干渉に対して適用するようにしたが、ロボット
と他の物体との間のニアミスに対しても同様に適用する
ことができる。その場合は、ロボットと他の物体との間
の距離が一定距離以上接近する場合をニアミスとみなす
ように構成すればよい。
【0025】
【発明の効果】以上説明したように本発明では、ロボッ
トが他の物体と干渉するときは、回避点を設けて干渉回
避経路を自動生成するように構成した。このため、干渉
が生じてもオペレータの作業によらず、自動的にかつ短
時間で干渉回避経路を生成することができる。その際、
干渉回避経路の生成が困難な場合や、かなりの時間を要
する場合はオペレータに警告するようにしたので、無駄
な時間をかけずに速やかに干渉回避経路の生成を行うこ
とができる。
トが他の物体と干渉するときは、回避点を設けて干渉回
避経路を自動生成するように構成した。このため、干渉
が生じてもオペレータの作業によらず、自動的にかつ短
時間で干渉回避経路を生成することができる。その際、
干渉回避経路の生成が困難な場合や、かなりの時間を要
する場合はオペレータに警告するようにしたので、無駄
な時間をかけずに速やかに干渉回避経路の生成を行うこ
とができる。
【図1】干渉回避経路生成ループのフローチャートであ
る。
る。
【図2】本発明の干渉回避経路生成方法を実行するため
のプログラムフローチャートを示す図である。
のプログラムフローチャートを示す図である。
【図3】本発明の干渉回避経路生成方法を実施するため
の全体構成を示す図である。
の全体構成を示す図である。
【図4】ロボットの動作経路上に干渉領域がある場合を
示す図である。
示す図である。
【図5】直前位置と仮の回避点との間に干渉がある場合
を示す図で、(a)はステップ1を、(b)はステップ
2をそれぞれ示す。
を示す図で、(a)はステップ1を、(b)はステップ
2をそれぞれ示す。
【図6】ロボットの動作経路上に複数の干渉領域がある
場合を示す図である。
場合を示す図である。
【図7】ロボットが他の物体と干渉する場合をシミュレ
ートさせた場合を示す図であり、(a)は初期姿勢を、
(b)は干渉する場合を、(c)は最終姿勢をそれぞれ
示す。
ートさせた場合を示す図であり、(a)は初期姿勢を、
(b)は干渉する場合を、(c)は最終姿勢をそれぞれ
示す。
【図8】干渉回避経路を自動生成した場合をシミュレー
トさせた場合を示す図であり、(a)は初期姿勢を、
(b)は干渉を回避した場合を、(c)は最終姿勢をそ
れぞれ示す。
トさせた場合を示す図であり、(a)は初期姿勢を、
(b)は干渉を回避した場合を、(c)は最終姿勢をそ
れぞれ示す。
10 オフラインプログラム装置 11,12,13,14,110 干渉領域 30 ロボット 50,500 干渉回避経路 A,A1 ロボットの初期位置 B,B1 ロボットの最終位置 p1,p2,p3,p4 直前位置 q1,q2,q3,q4 直後位置
Claims (6)
- 【請求項1】 ロボットが作業中に他の物体と干渉しな
いようにロボットの動作経路を生成する干渉回避経路生
成方法において、 ロボットの初期位置と最終位置との間で前記ロボットが
他の物体と干渉するとき、前記干渉が生じる干渉領域の
直前位置及び直後位置の間に仮の回避点を求め、 前記初期位置と前記仮の回避点との間で前記干渉がある
とき、前記直前位置と前記仮の回避点との間で前記干渉
があるか否かを判別し、 前記直前位置と前記仮の回避点との間で前記干渉がある
とき、前記直前位置を前記初期位置とし前記仮の回避点
を前記最終位置として前記仮の回避点を求め直し、 前記初期位置と前記仮の回避点との間または前記直前位
置と前記仮の回避点との間で前記干渉がないとき、前記
仮の回避点と前記最終位置との間で前記干渉があるか否
かを判別し、 前記仮の回避点と前記最終位置との間で前記干渉がある
とき、前記仮の回避点と前記直後位置との間で前記干渉
があるか否かを判別し、 前記仮の回避点と前記直後位置との間で前記干渉がある
とき、前記仮の回避点を前記初期位置とし前記直後位置
を前記最終位置として前記仮の回避点を求め直し、 前記仮の回避点と前記最終位置との間または前記仮の回
避点と前記直後位置との間で前記干渉がないとき、前記
仮の回避点を回避点として設定し、 前記初期位置,前記回避点及び前記最終位置を結ぶ経路
をロボットの干渉回避経路とすることを特徴とする干渉
回避経路生成方法。 - 【請求項2】 前記干渉領域が複数ある場合、前記回避
点の設定は最初の前記干渉領域から順次行われることを
特徴とする請求項1記載の干渉回避経路生成方法。 - 【請求項3】 前記仮の回避点は、前記干渉直前位置と
前記干渉直後位置との間の二分割線上または前記二分割
線上の近傍に求められることを特徴とする請求項1記載
の干渉回避経路生成方法。 - 【請求項4】 前記仮の回避点の求め直しは、最大回数
が予め設定されていることを特徴とする請求項1記載の
干渉回避経路生成方法。 - 【請求項5】 前記仮の回避点の求め直しが前記最大回
数を越える場合はオペレータに警告することを特徴とす
る請求項4記載の干渉回避経路生成方法。 - 【請求項6】 前記ロボットと前記他の物体との間のニ
アミスに対しても適用されることを特徴とする請求項1
記載の干渉回避経路生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29557391A JPH05134732A (ja) | 1991-11-12 | 1991-11-12 | 干渉回避経路生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29557391A JPH05134732A (ja) | 1991-11-12 | 1991-11-12 | 干渉回避経路生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05134732A true JPH05134732A (ja) | 1993-06-01 |
Family
ID=17822389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29557391A Pending JPH05134732A (ja) | 1991-11-12 | 1991-11-12 | 干渉回避経路生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05134732A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008254172A (ja) * | 2008-06-03 | 2008-10-23 | Fanuc Ltd | ロボットプログラム作成装置 |
JP2012181574A (ja) * | 2011-02-28 | 2012-09-20 | Bridgestone Corp | 干渉チェック装置及びプログラム |
JP2013215867A (ja) * | 2012-04-12 | 2013-10-24 | Seiko Epson Corp | ロボット制御装置、ロボット制御方法、ロボット制御プログラム、ロボット |
US11579587B2 (en) * | 2018-10-31 | 2023-02-14 | Fanuc Corporation | Automatic program-correction device, automatic program-correction method, and automatic path-generation device |
-
1991
- 1991-11-12 JP JP29557391A patent/JPH05134732A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008254172A (ja) * | 2008-06-03 | 2008-10-23 | Fanuc Ltd | ロボットプログラム作成装置 |
JP4625112B2 (ja) * | 2008-06-03 | 2011-02-02 | ファナック株式会社 | ロボットプログラム作成装置 |
JP2012181574A (ja) * | 2011-02-28 | 2012-09-20 | Bridgestone Corp | 干渉チェック装置及びプログラム |
JP2013215867A (ja) * | 2012-04-12 | 2013-10-24 | Seiko Epson Corp | ロボット制御装置、ロボット制御方法、ロボット制御プログラム、ロボット |
US11579587B2 (en) * | 2018-10-31 | 2023-02-14 | Fanuc Corporation | Automatic program-correction device, automatic program-correction method, and automatic path-generation device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11103996B2 (en) | Robot joint space point-to-point movement trajectory planning method | |
US5341458A (en) | Method of and system for generating teaching data for robots | |
JP2020011328A (ja) | 自動経路生成装置 | |
JP2006099260A (ja) | ロボットプログラム作成装置 | |
JP2006085486A (ja) | Nc加工シミュレーション方法及びnc加工シミュレーション装置 | |
JPS60174274A (ja) | 三次元曲面におけるスケ−リング方法 | |
JP2662864B2 (ja) | 産業用ロボット制御装置 | |
JPH05134732A (ja) | 干渉回避経路生成方法 | |
CN117655468A (zh) | 一种龙门架弧焊机器人路径规划方法及*** | |
JP5272447B2 (ja) | 数値制御機械の動作シミュレータ | |
JP3146550B2 (ja) | 産業用ロボットの制御装置 | |
JPH0157995B2 (ja) | ||
JPH07141010A (ja) | 溶接用ロボットの制御方法 | |
JP3134653B2 (ja) | 中間点教示データ作成方法 | |
WO2021258338A1 (zh) | 控制多个执行机构的方法、电子设备和存储介质 | |
JPH11207669A (ja) | 部品の組付け軌跡のシミュレーション方法 | |
JP2006085485A (ja) | Nc加工シミュレーション装置 | |
US20230249347A1 (en) | Path planning during execution of robot control | |
JPH10260712A (ja) | ロボットの動作プログラム作成方法 | |
JPH09254064A (ja) | 産業用ロボットにおける教示点追加方法 | |
JPH0962322A (ja) | 多軸ロボットの制御装置及びその制御方法 | |
JP2878957B2 (ja) | オフラインティーチングにおける自動検証方法 | |
JPH07114408A (ja) | ロボットの制御装置 | |
JPH0997106A (ja) | 教示データ作成方法 | |
JP2001125623A (ja) | ロボット教示データの作成方法 |