JP2735126B2 - ロボットの制御方法及びその制御装置 - Google Patents

ロボットの制御方法及びその制御装置

Info

Publication number
JP2735126B2
JP2735126B2 JP63327657A JP32765788A JP2735126B2 JP 2735126 B2 JP2735126 B2 JP 2735126B2 JP 63327657 A JP63327657 A JP 63327657A JP 32765788 A JP32765788 A JP 32765788A JP 2735126 B2 JP2735126 B2 JP 2735126B2
Authority
JP
Japan
Prior art keywords
movement
robot
distance
instruction
target position
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.)
Expired - Lifetime
Application number
JP63327657A
Other languages
English (en)
Other versions
JPH02172685A (ja
Inventor
勝己 石原
正輝 安原
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP63327657A priority Critical patent/JP2735126B2/ja
Publication of JPH02172685A publication Critical patent/JPH02172685A/ja
Priority to US07/946,791 priority patent/US5357598A/en
Application granted granted Critical
Publication of JP2735126B2 publication Critical patent/JP2735126B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34388Detect correct moment, position, advanced, delayed, then next command
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36031Programming in assembler, machine or high level language
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39084Parts handling, during assembly
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39088Inhibit movement in one axis if collision danger
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40397Programming language for robots, universal, user oriented
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41275Two axis, x y motors controlled simultaneous, no contouring, quick move at 45-degrees
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49143Obstacle, collision avoiding control, move so that no collision occurs

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、ロボツト言語で記されたプログラムに従つ
て例えばロボツトアーム等の軌道を制御するためのロボ
ツト制御方法及びその装置に関し、より詳しくは、異な
る方向の移動動作を連続して行なうときのロボツト制御
の高速化と安全な軌道の両立を目指したものである。
[従来の技術] ロボツトの連続動作制御の高速化に関する従来技術と
して、例えば、特開昭58-177289号、特開昭60-132207
号、特開昭61-146487号等がある。
特開昭58-177289は、アーム位置を検出する手段と、
検出されたアーム位置を前もつて記憶された所定位置と
比較する手段を有し、アームがこの所定位置を通過した
ことをもつて、アーム動作途中でも、プログラムステツ
プを進行させることにより、制御の高速化を図つてい
る。更に詳しくいえば、この特開昭では、水平方向の移
動はDCサーボモータで行なわれ、垂直方向の移動はエア
シリンダにより行なわれる。エアシリンダの先端にはチ
ヤツク等が接続されている。水平方向の目的位置がD点
であれば、このD点の前方の点D′を通過して時点でエ
アシリンダを駆動して降下運動を開始する。このD′点
はエアシリンダが最下位位置に到達するのにかかる時間
から推定して決める。
また、特開昭60-132207の制御装置は3軸にDCサーボ
モータを用いている。そして、アーム位置を検出する手
段と、現在のアーム動作中に次の動作を開始してもよい
オーバラツプ領域を入力する手段と、アームがこのオー
バラツプ領域内にあるかを判断する手段を備え、オーバ
ラツプ領域にあるときは、現在の移動命令と次の移動命
令をオーバラツプさせることにより、制御の高速化を図
つている。このオーバラツプ領域の入力は操作者により
操作入力される。このオーバラツプ領域は移動方向の変
化点の近傍として定義されている。
また、特開昭61-146487は、互いに独立した垂直移動
制御回路と水平移動制御回路とを持ち、水平移動は垂直
移動からのタイミング信号で、又、垂直移動は水平移動
回路からのタイミング信号で移動を開始する。そして、
このタイミング信号は、下降移動が水平移動よりも後に
終了するように、水平移動の速度を検出して出力され
る。換言すれば、水平移動と下降移動が重なる場合に、
水平移動を先に終了させて、下降移動の終期には下降移
動のみを行なうようにして、制御の高速化とアームの破
損事故等の防止を図つている。
[発明が解決しようとしている課題] ところで、ロボツト制御においては、現在位置から目
標位置まで高速に移動すればよいというわけでなく、障
害物をクリアして目標位置に到達しなければならない。
換言すれば、障害物を回避できなければ、高速化には何
の意味もない。そもそも、上昇水平移動下降という
動作も、本来なら水平移動だけで目標地点に到達できる
ものの、その間に障害物があるために、このような動作
を強いられるのである。この事情は、特に産業用ロボツ
トにおいて、例えば複数の部品から完成品に組立てる場
合において、部品を把持したロボツトフインガーがその
部品の収容ケースを回避するように、さらに、フインガ
ー及び把持部品とが組立て途中の半完成品と衝突しない
ように制御しなければならないという点を考慮すれば了
解されるのであろう。
上記3つの従来例は、ある期間水平移動と垂直移動が
並行して行なわれる点に特徴がある。この2つの方向の
並行運動による軌跡は、その各々の方向の運動の速度の
合成により規定される。
例えば、第14図は特開昭61-146487で説明される2方
向の運動の軌跡である。垂直(Z軸)方向で、移動を開
始してから目標位置に到達するまでにかかる時間をaと
し、水平(X)方向で速度v0から停止するまでにかか
る時間をbとする。そして、降下運動の開始時点を、水
平方向の速度がv になつた時点とすると、水平移動が終了した後に、アー
ムはcだけ下降してから垂直移動が終了するようにな
る。ところで、上式は水平方向の減速運動が直線運動と
近似できると仮定して始めて成立する式であり、しかも
cが小さな量であることが大前提となつている。ところ
が、第14図に示すように、もし障害物100が前記並行運
動の軌跡途中に存在すればロボツトアームは破壊されて
しまう。そこで、従来では、オペレータが上記並行運動
の軌跡が障害物を回避できるようなものとなるように、
垂直方向の仮の目標位置を試行錯誤を繰返して設定し、
その後、最終の垂直方向目標位置までの垂直移動(の
み)を行なうようにしていた。ところが、この試行錯誤
の過程で、下降時の直線部が確保出来ない為に、ロボツ
トを治具やワークに衝突させる等の重大事故にもつなが
つていた。事故を避けるための一番安易な手法は、上記
並行運動の期間を短くすればよいのであるが、これでは
高速性に欠ける。これも、そもそも特開昭61-146487で
は並行運動期間を水平方向の減速速度と垂直方向の運動
にかかる時間とから定義するという点に主眼があるので
あり、障害物を回避して安全性を確保しつつ高速制御を
図るという観点が欠落しているからである。
特開昭58-177289の従来例では、前述したように、垂
直方向の移動はエアシリンダにより行なわれるのである
から、特開昭61-146487よりも安全性についてはさらに
不安定となる。
また、特開昭60-132207では、オーバラツプ領域は操
作者の勘により入力しなければならないから、安全性も
高速性も高いとはいえない。
そこで本発明は上記従来技術の欠点を解消するために
提案されたもので、その目的は異なる方向にロボツトを
連続動作制御するときに、短時間に目標位置に到達し、
且つ、ロボツトの破壊の潜在的可能性をなくしたロボツ
ト制御装置を提案するものである。
[課題を解決するための手段] 上記課題を達成するための本発明の構成は、第1の方
向の移動から第2の方向の移動にロボツトを連続的に制
御させるときに、第1の方向の移動中に、所定の位置か
ら第1の方向と第2の方向の移動とを並列的に行なうよ
うに制御するロボツトの制御方法において、第1の方向
の目標位置と、第2の方向における最終目標位置と、第
2の方向で移動運動が行なわれる必要のある第1の距離
とに少なくとも基づいて、前記所定位置を決定すること
を特徴とする。
また、本発明の他の構成は、第1の方向の移動から第
2の方向の移動にロボツトを連続的に移動制御するとき
に、第1の方向の移動中に、所定の位置から第1の方向
と第2の方向の移動とを並列的に行なうように制御する
ロボツトの制御装置において、第1の方向の位置決め制
御部と、第1の方向とは独立して制御する第2の方向の
位置決め制御部と、第1の方向の移動における目標位置
と、第2の方向の移動における最終目標位置と、第2の
方向で移動運動が行なわれる必要のある第1の距離とに
基づいて、第2の方向の移動の開始から前記第1の距離
の先頭位置に到達するまでの期間を演算し、さらに、こ
の期間内の第1の方向の移動距離だけ、第1の方向の移
動における目標位置からさかのぼつた位置を演算する演
算手段とを備え、前記第2の位置決め制御部は、前記さ
かのぼつた位置を前記所定の位置とし、この所定の位置
を通過すると、第2の方向の制御を開始することを特徴
とする。
[実施例] 以下添付図面を参照して、本発明を、XYZθ軸の4軸
制御のロボツト制御装置に適用した実施例を説明する。
〈実施例の概略〉 第1図は、実施例のロボツトが使用される環境及びそ
のアームの動作を説明するものである。アームの構成を
第2図に示す。第1図中、4は部品2を複数個収納して
いるマガジンである。また、3は治具5に保持されたワ
ークであり、ロボツトはマガジン4から1つの部品2を
取出して、このワーク3に取付けるものである。ワーク
3は、その内部にキヤビテイ6が設けられており、部品
2はこのキヤビテイ6の奥の凹所7内に挿入される。
第1図では、説明を簡略化するために、水平移動はX
方向で、垂直移動はZ軸方向で行なうものとする。上記
のような組み付け動作を行なうためには、アームは、P
0から上昇を開始し、P4G5を通過し、P3で停
止する必要がある。このような動作を実現するためのプ
ログラムを第3図に示す。第3図において、PICK命令は
フインガー13が部品2を把持する命令である。SPEEDは
アームの移動速度を定義する命令、OUTは特定のソレノ
イド(第1図には不図示)等をオン/オフする命令、IN
Pはセンサ(第1図には不図示)等のステータスを入力
する命令である。また、ARCHUPは上昇命令、ARCHは水平
移動命令、ARCHDOWNは下降命令である。
第3図プログラムにおいて、移動命令は、 ARCHUP P1;H1 ARCH P2;P3;V3;H2 ARCHDOWN P3;V3 という形式をもつている。これらの命令は本実施例に特
有の命令であり、障害物を定義し、その障害物を回避す
るような軌跡の運動をアームに行なわせるようなもので
ある。
これらの命令を理解するために、第1図に戻つて説明
を続ける。
マガジン4は同図に示すようにフランジ8を有するす
るから、P0から垂直移動を開始するときは、このフラ
ンジに衝突しないようにしなければならない。そこで、
0からP4までは垂直移動のみを行ない、その間、水平
移動を禁止する必要がある。
ARCHUP P1;H1 という命令は、点P1に向けて上昇し、距離H1の間は上
昇のみを行ない、H1の上昇を行なつたらその後は次の
命令を並行に実行してもよいという命令である。この次
の命令とは、第3図プログラムの例では、ライン4以下
の命令であり、実質的にはARCH命令である。点P4は点
0から距離H1上方の点と定義される。
一方、ワーク3は前述のような形状を持つているか
ら、アームは、第1図に示すように、最終目標位置P3
から上方に距離H2の間は少なくとも垂直移動のみを行
わなければ、ワークのフランジに衝突してしまう。そこ
で、 ARCH P2;P3;V3;H2 は点P2に向けて水平移動を行なう命令であり、最終目
標位置P3と降下速度V3と上記距離H2で規定される点
Gを経過した時点で、次のプログラム命令を並行に実
行してもよいという命令である。第3図の例では、次の
プログラム命令はライン8以下の命令であり、実質的に
は ARCHDOWN P3;V3 である。尚、点P5は点P3の上方H2の点と定義され
る。
第4図は、第1図実施例のロボツトが第3図プログラ
ムに従つて動作した場合の、アームの運動の動きを図示
したものである。
さて、上記PGは次のような観点から決められなけれ
ばならない。
:水平移動運動と降下運動とは、PG以降は並行して
行なわれる。
:水平移動運動は、PGで降下が開始しても継続し、
点P2で終了する。
:水平移動運動は、降下運動が点P5を通過した時点
で終了する。
:降下運動は点P3で終了する。
この観点から決定された点PGは、点P2からX方向に
△xだけ前方の点であり、この△xは、Z方向の運動が
点P2からP5に移動するのに要する時間T25間に、水平
方向に移動する距離である。ところで、X方向もZ方向
の運動も、一般的には、単純な等速度運動ではなく、こ
の実施例でも、 等加速度運動等速度運動等源速度運動 を行なつている。そして、上記T25は、点P5が等加速
度運動区間に入るのか、等速度運動区間に入るのか、等
源速度運動区間に入るのかで、即ち、距離P23と距離
2との値により異なるものとなる。△xをどのように
決定するかは後述する。
〈制御装置の構成〉 第5図は実施例のロボツト制御装置の構成を示す。図
中、20は第3図に示したようなプログラムを入力する入
力装置である。21は入力されたプログラムを解釈する部
分であり、マイクロコンピュータ制御部である。22はXY
Z軸とθ軸を独立に制御する位置決め制御部であり、具
体的には、サーボモータ(第6図のM)を、そのモータ
に直結されたエンコーダ(第6図のE)の出力(位置情
報)によりサーボ制御するものである。I/O制御部23は
フインガー13のソレノイド(第6図の25)を駆動した
り、このフインガーが部品を把持したか否かをチエツク
するためのセンサ(第6図の26)の出力を入力する部分
である。
第5図のプログラム解釈部21と位置決め制御部22とI/
O制御部23との関係を第6図に示す。解釈部21のプログ
ラム構成は、第3図の如きアプリケーシヨンプログラム
と、OS(オペレーテイングシステム)と、アプリケーシ
ヨンプログラムを解釈するインタプリタからなる。イン
タープリタの手順の一部を第7図に示す。プログラム解
釈部21と位置決め制御部22とI/O制御部23とはシステム
バス24により接続される。インタプリタは位置決め制御
部22に対し、第8図に示したようなI/Oコマンドを送
る。このI/Oコマンドは、前述の3つの命令、ARCHUP,AR
CH,ARCHDOWNに対応して、コマンドコードとパラメータ
とからなる。位置決め制御部22はI/Oコマンドを受ける
と、その実行を行なう。移動動作は第9図に示すよう
に、周知の台形制御、即ち、 等加速度運動等速度運動等源速度運動 を行なう。本実施例に用いられている台形制御では、等
速度運動における速度をV、このVに至るまでの加速期
間をTAC、速度Vから停止までの減速期間もTACとする
と、加減速時の加速度は で与えられる。また、速度“0"から速度Vまで加速する
までに移動する距離、若しくは、速度Vから速度“0"ま
で減速するまでに移動する距離は、 1/2VTAC ……(2) で与えられる。第9B図は速度Vまで加速され、直ちに
“0"まで減速された状態を示す。第9B図の場合の総移動
距離は(2)式から、 VTAC である。第9C図は加速度αで期間T(<TAC)だけ加速
され、その後“0"まで減速された状態を示す。このとき
の移動距離は、 である。上記(1)〜(3)式は点PGを求める上でし
ばしば参照される。
〈命令のフエツチ実行シーケンス〉 第7図に示したインタプリタプログラムの制御手順、
及び第10A図〜第10C図に示した位置決め制御部における
I/Oコマンド実行プログラムの制御手順を説明すること
により、実施例の制御装置において、ARCH等の命令が完
全に終了しない時点で、次の命令が命令が実行され得る
様子(所謂パイプライン実行制御)を説明する。こうす
ることにより、プログラマが、ARCH命令等が実行されて
いる最中に、他のARCH命令のみならず、OUT命令、INP命
令等を並列的に実行されるようにプログラムを記すこと
が可能となる。
第7図〜第10図を用いて、インタプリタプログラムと
I/O制御部におけるサーボ制御プログラムの動作につい
て説明する。ここで、第1図の各点の座標を定義する。
前述したように、XZ系のみで考えているから、 P0=(x0,z0) P1=(x0,z1) P4=(x0,z0+H1) PG=(xG,z1) P2=(x2,z1) P5=(x2,z3+H2) P3=(x2,z3) である。
第7図のステツプS1においては、プログラムカウンタ
PCをインクリメントし、ステツプS2でこのPCでポイント
された命令をフエツチする。ステツプS4では、フエツチ
された命令が、ARCH関連の命令(ステツプS8へ)か、I/
O関連の命令(ステツプS30へ)か、その他の命令かを判
断する。ARCH関連の命令であれば、ステツプS8〜ステツ
プS14で命令コードを設定(ARCH=0;ARCHUP=1;ARCHDOW
N=2)し、ステツプS16では、命令毎に第8図のような
パラメータを付加してI/Oコマンドを作成する。そし
て、このI/Oコマンドを位置決め制御部22に送る。ステ
ツプS20では、位置決め制御部22からのACK信号を待つ。
このACK信号は、第4図及び後述のサーボ制御手順の説
明から分るように、ロボツトが点P4やP5等の中間点を
通過したときに位置決め制御部22から返される。このAC
Kを受けると、制御はメインルーチン(不図示)にリタ
ーンし、再び、ステツプS1から前述の手順を実行する。
即ち、ARCH関連命令では、ACKが位置決め制御部22から
返つてくれば、解釈部21はプログラム中の次の命令をフ
エツチして実行するので、ARCH関連命令の並列処理若し
くは、ARCH関連命令と他の命令の並列処理が可能にな
る。特に、本実施例では、第3図のような高級言語レベ
ルでの命令の並列処理が可能となつており、プログラマ
はARCH関連命令から別のARCH関連命令に進む前に、例え
ば、第3図に示したように、INP命令等を挿入すること
により、フインガー13が正常に動作していることを確認
してから後のARCH命令に進むようにすることができる。
一方、命令がI/Oデバイスのチエツク命令(INP)であ
れば、ステツプS30で、I/O制御部23に対しステータス情
報を要求し、ステツプS32で、そのステータスをチエツ
クする。もしステータス情報が正常であれば、メインル
ーチンにリターンして次の命令をフエツチする。
命令が例えばソレノイド等を駆動する命令(例えば、
命令OUT)であれば、ステツプS6に進み、当該命令を実
行する。即ち、I/O制御部23に対し、所定のソレノイド
を駆動するためのI/Oコマンドを送る。
位置決め制御部22側では、解釈部21から送られてきた
I/Oコマンドのコードにより、ARCHUP命令か、ARCH命令
か、ARCHDOWN命令かを区別する。
〈ARCHUP命令実行の詳細〉 ARCHUP P1:H1 とプログラムしたときの動作を説明する。ARCHUP命令は
第10A図に示される。ステツプS50では軌道計画を策定す
る。この軌道計画は、点P0から点P1に向つて進む際に
第9図に示した台形制御により制御した場合に、どこま
でが等加速度運動で,どこまでが等速度運動で、どこか
らが減速運動かを決定するものである。次に、ステツプ
S52〜ステツプS56のループと、ステツプS58〜ステツプS
60のループを並列実行処理する。
ステツプS52〜ステツプS56のループでは、Z方向のサ
ーボモータの駆動(ステツプS52)と、エンコーダ出力
(ziの読み込み(ステツプS54)と、Z方向でP1を超
えた(zi>z1)かを判定(ステツプS66)する。ステ
ツプS58〜ステツプS60のループでは、エンコーダ出力
(zi)の読み込み(ステツプS58)と、Z方向にP4
超えた(zi>z0+H1)かを判定(ステツプS60)す
る。第1図で上方向にZ軸をとつた場合、ステツプS56
でYESと判断されるよりも、ステツプS60でYESと判断さ
れる方が早いので、ステツプS62が実行され、解釈部21
に対しACKが返される。このACKにより、解釈部21は次の
命令をフエツチすることが可能となるのは前述した通り
である。
〈ARCH命令実行の詳細〉 インタプリタがARCH命令をフエツチすると、コード
“0"のI/Oコマンドが制御部22に送られる。位置決め制
御部22では、ステツプS72で点PGの算出を行なう。この
点が算出されると、ステツプS74〜ステツプS78のループ
と、ステツプS80〜ステツプS82のループを並列実行処理
する。
ステツプS74〜ステツプS78のループでは、X方向のサ
ーボモータに駆動(ステツプS74)と、エンコーダ出力
(xi)の読み込み(ステツプS76)と、X方向にP2
超えた(xi>x2)かを判定(ステツプS78)する。ス
テツプS80〜ステツプS82のループでは、エンコーダ出力
(xi)の読み込み(ステツプS80)と、X方向にPG
超えた(xi>xG)かを判定(ステツプS82)する。第
1図で左方向にX軸をとつた場合、xG<x2であるか
ら、ステツプS78でYESと判断されるよりも、ステツプS8
2でYESと判断される方が早いので、ステツプS84が実行
され、解釈部21に対しACKが返される。このACKにより、
解釈部21は次の命令をフエツチする。
第11図のフローチヤートを用いて、ステツプS72の点
Gの算出制御の詳細を説明する。この第11図の制御
は、前述したように、Z方向の運動が点P2からP5に移
動するのに要する時間T25内に、水平方向に移動する距
離△xを求めることに等価である。ステツプS100では、
軌道計画、I/Oコマンドのパラメータ等から次の諸量を
定義する。即ち、 TAZ:下降時の加速時間(=減速時間) V3:下降時の最大速度(等速運動時の速度) z:垂直方向移動距離(=|P3−P2|) である。ステツプS102では、zとV3AZの大小を調べ
て、ステツプS70で策定された軌道計画中において、P2
からP3までの下降中に等速度運動があるか否かを調べ
る。
等速下降運動のある場合 第9図に関連して説明したように、 z>V3・TAZ であれば、等速下降運動が存在する場合である。このと
きは、ステツプS110,ステツプS112により、点P5が等加
速度運動区間に入るのか、等速度運動区間に入るのか、
等減速度運動区間に入るのかを判断して場合分けをす
る。
1/2V3・TAZは減速期間TAZ中にZ方向に移動する距
離であるから、 H2≦1/2V3・TAZ (ステツプS110でNO)とは、減速がP5よりも上方で開
始されることを意味し、 H2>1/2V3・TAZ (ステツプS110でYES)とは減速がP5よりも下方で開始
されることを意味する。ステツプS110でNOの場合は、T
AZ間加速V3で等速運動減速開始P5通過P3
着となる。P23に要する時間は、 また、P53に要する時間は であるから、T25は、ステツプS114にあるように、 となる。
減速がP5より下で行なわれる場合(ステツプS110でY
ES)は、P5が加速運動区間に入るかまたは等速運動区
間に入るかを、H2と(z−1/2V3・TAZ)との大小から
判断する。
2>z−1/2V3・TAZ であれば(ステツプS112でYES)、T25の期間は、等加
速度V3/TAZで運動が行なわれるから、T25はステツプS
118のように、 となる。逆に、P5が等速度運動区間にある場合には、
加速時間はTAZ、等速度運動期間は、 であるから、ステツプS116のように、 となる。
等速下降運動が無い場合 等速下降運動が無い場合はz<V3・TAZとなりステ
ツプS104に進む。この場合、減速がP5前に行なわれる
か(H2≦1/2Z)、P5の後で行なわれる(H2>1/2z)
かという2つの場合があり得る。前者の場合であれば、
23に要する時間は であり、P53に要する時間は であるから、 である。
こうして、各場合についてT25が得られた。次に、T
25の間にX方向に移動する距離△xを第11B図のフロー
チヤートに従つて計算する。ステツプS120では、各量の
定義を行なう。即ち、 TAX:X方向加速時間(=減速時間) V2:最大速度(等速運動時の速度) x:水平方向移動距離(=|P2−P1|) である。ステツプS122では、xとV2・TAXとを比較し
て、水平移動に等速運動区間が存在するか否かを調べ
る。
等速水平移動がある場合 この場合は、ステツプS122でYESと判断され、ステツ
プS140に進む。加速と減速に要する期間は2TAX、等速運
動の期間は(x−V2・TAX)/V2であるから、水平移動
でP1からP2に要する時間TTは、 となる。ステツプS141では、T25とこのTTとの大小を
比較する。もし、 T25>TT であれば、下降開始がP1よりも左で行なわれることを
意味し、これはあり得ないので、プログラムミスとして
エラーとする。
ステツプS142ではT25とTAXとの大小を比較する。下
降開始点PGが水平移動の減速開始前にあれば、 T25>TT であり、開始後であれば、 T25≦TT である。そして、第12A図に示すように、下降開始が等
速運動区間で行なわれれば、 T25≦TT−TAX である(ステツプS144でYES)から、P1Gまでの距
離△xは、ステツプS148のように、 △x=x−|P2−PG| =x−{V2(T25−TAX)+1/2V2・TAX} =x−V2・(T25+1/2TAX) と得られる。
下降開始が第12B図に示されるように、加速期間中に
行なわるものであれば、 T25>TT−TAX である(ステツプS144でNO)から、ステツプS150に進
む。この場合、 △x=|PG−P1| であるから、 となる。
一方、ステツプS142で、T25≦TAXと判断されたとき
はステツプS146に進む。このときは、降下開始が第12C
図に示すように減速期間に行なわれるから、 △x=|PG−P1|=|P1−P2|−|P2−PG| であるから、 となる。
等速水平移動がない場合 この場合は、x≦V2・TAXであるから、ステツプS12
4に進む。第12D図から明らかなように、TTは、加速し
て1/2x移動するのに要する期間の2倍であるから、ステ
ツプS124のように、 とする。ステツプS125はステツプS141と同じ意味であ
る。1/2TTは減速に要する時間であるから、 T25>1/2TT とは第12D図に示すように下降が減速開始前に行なわれ
ることを意味する。このときの△xはP1とPG間の距
離、即ち、期間(TT−T25)の間に加速して移動した
距離であるから、 である。また、降下が水平方向の減速が開始されてから
始まる場合は、第12E図に示すように、△x=x−|PG
2|であるから、ステツプS128のように、 となる。こうして各場合において△xが求めることがで
きた。次に、ステツプS152で、PGのX座標位置xGが計
算される。即ち、 である。ここで(x2−x1/xは水平移動の方向を考慮し
た。
このようにして定められたPGにおいて、下降を開始
すれば、上述の〜の条件は満足される。即ち、点P
Gは、点P3に向けて下降開始を行なつた場合に障害物を
回避して最短時間で点P3に到達し得る通過点である。
従つて、この点PGを通過した時点で、位置決め制御部2
2が解釈部に対しACKを返し、解釈部が次のARCHDOWN命令
を解釈してI/Oコマンドを位置決め制御部22に送ると、
ロボツトアームは障害物を回避して最短時間で点P3
到達する。
〈ARCHDOWN命令実行の詳細〉 第3図のプログラムによれば、ARCH命令によりPG
通過した時点でACKが解釈部に返されると、OUT命令、IF
INP命令、そしてARCHDOWN命令が実行される。このARCH
DOWN命令に対する位置決め制御部22の制御手順は第10C
図に示す通りである。
〈実施例の効果〉 以上説明した実施例によれば、 I:高級ロボツト言語により、障害物を回避しつつ、異な
る方向の動作を並行して行なうようなロボツト制御プロ
グラムの記述が可能となる。従つて、プログラマによる
プログラミング及びテイーチングは容易になるととも
に、並行移動のためにロボツト移動が高速化する。
II:特に、ARCH命令において、障害物高さH2、降下時の
最大速度V3、目標降下位置P3等を記述できるので、障
害物を回避し得るのみでなく、そのうちの最短時間で目
標P3に到達するような通過点PGを制御装置自体がオペ
レータに替つて計算してくれるので、従来のように試行
錯誤を繰返してしか得られなかつた通過点PGは容易に
得られることとなつた。
III:ARCHUP,ARCH系統の命令では、異なる方向への移動
を開始する時点で、先の移動命令は疑似的に終了となる
ので、この先の移動命令の最中にプログラマは所望の手
順プログラムを挿入することができ、制御プログラムの
自由度が増す。
〈変形例〉 本発明はその要旨を逸脱しない範囲で種々変形が可能
である。
例えば、前述の第1図実施例では、方向としてXZの2
方向としたが、他の方向であつてもよい。
また、前述の第1図実施例では工業用ロボツトを例に
して説明した。工業用ロボツトでは、障害物は高さ方向
で発生することが多い。ところが、第13図に示したよう
に、軌跡が回避しなければならない点として2つの点S
1,S2がある場合があるが、このような場合にも、本発明
を適用したARCH命令は、 ARCH P2;P3;V3;H2;H3;H4 となる。この命令において、P3,H2で規定される点S2
は第1図で説明した通りの回避点である。点S1は、点
3から高さH3の位置にあり、S2から水平方向に距離
4の位置にある点である。かかる命令において軌道制
御は次のようにして行なう。先ず点S1について前記実
施例と同じ要領で軌道を生成し通過点PG′を計算す
る。また、点S1についても軌道を生成し通過点PG″を
計算する。もし、S1,S2の一方について夫々独立して計
算された2つの軌道が両方とも他方の点と干渉しないの
であれば、点P1により近い方のPG′またはPG″をPG
として採用する。もし、S1,S2の一方について夫々独立
して計算された2つの軌道のうちの1つが他方の点と干
渉するのであれば、干渉のない方の軌道を採用する。こ
のようにして、2つの干渉点が存在するようなモデルに
対しても、本発明を拡張適用できる。
また、前述の第1図実施例では、ARCHUP命令及びARCH
命令に付加する直線部高さ情報としてH1,H2としていた
が、その替りに、ポイントP4,P5により表記してもよ
い。
また、前述の第1図実施例では解釈部はインタプリタ
タイプのものであつたが、プログラム解釈部があらかじ
めすべての命令を実行形式にしておく、いわゆるコンパ
イラタイプのプログラム方式では、水平移動命令に付加
している下降命令の目標値,速度は先読みしてコンパイ
ルした後に付加出来るので、水平移動命令中になくても
同様の効果が見られる。
また、下降開始可能な水平位置計算は水平移動軸で、
移動量が0でなければ、どの軸で行つても同様の効果が
得られる。
また、下降開始可能な水平位置計算のかわりに、サー
ボサイクル毎に位置計算を行う位置決め制御部22であれ
ば、時間を用いても同様の効果が得られる。
また、軌道計画は台形制御に限られず、他の制御であ
つてもよい。
また、下降開始可能な水平位置計算は位置決め制御部
22でなく、プログラム解釈部で行つても同様の効果が得
られる。
[発明の効果] 以上説明したように本発明のロボツトの制御方法及び
制御装置によれば、ロボツトを高速に動作し得る機能は
そのままで、オペレータが容易に障害物の干渉を避ける
プログラミング及びテイーチングが出来る効果がある。
また、本発明の好適な実施態様によれば、各々の動作
命令は、独立に動作・記述出来るので、各々の命令の間
で停止させたり、各々の命令の間にロボツトの移動以外
の命令を記述することが出来るという今までの高速動作
方式では難しいとされていた事も容易に出来るようにな
る効果もある。
【図面の簡単な説明】
第1図は1実施例に係るロボツト制御装置による軌道の
側面図、 第2図は制御装置のアーム部分のブロツク図、 第3図は実施例装置に用いられるプログラムを記した
図、 第4図は第1図実施例における軌道の変化を示したタイ
ミング図、 第5図,第6図は実施例装置の構成を説明する図、 第7図は実施例装置におけるインタプリタの手順を示す
フローチヤート、 第8図は位置決め制御部に用いられるI/Oコマンドのフ
ォーマツト例を示す図、 第9A図〜第9C図は夫々実施例の軌道計画に用いられる軌
道の一例を示す図、 第10A図〜第10C図は夫々、位置決め制御部における制御
手順を示すフローチヤート、 第11A図,第11B図は点PGを計算するためのフローチヤ
ート、 第12A図〜第12E図は点PGを計算する手法を説明する
図、 第13図は変形例を説明する図、 第14図は従来例を説明する図である。 図中、1……ロボツト軌道、2……部品、3……ワー
ク、4……マガジン、5……治具、6……キヤビテイ、
7……凹所、8……フランジ、10〜12……アーム、13…
…フインガー、20……プログラム入力装置、21……プロ
グラム解釈部、22……位置決め制御部、23……I/O制御
部、24……システムバスである。

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】第1の方向の移動から第2の方向の移動に
    ロボツトを連続的に制御させるときに、第1の方向の移
    動中に、所定の位置から第1の方向と第2の方向の移動
    とを並列的に行なうように制御するロボツトの制御方法
    において、 第1の方向の目標位置と、第2の方向における最終目標
    位置と、第2の方向で移動運動が行なわれる必要のある
    第1の距離とに少なくとも基づいて、 前記所定位置を決定することを特徴とするロボツトの制
    御方法。
  2. 【請求項2】第1の方向は水平方向であり、第2の方向
    は垂直方向であり、更に、水平移動の開始位置と終了位
    置と、垂直移動の開始と最終目標位置とを入力し、 水平移動の開始位置と終了位置に基づいて、第1の方向
    における第1の軌道計画を設定し、 垂直移動の開始と最終目標位置に基づいて第2の方向に
    おける第2の軌道計画を設定し、 この第2の軌道計画に従つて垂直方向への移動の開始か
    ら前記第1の距離の先頭位置に到達するまでの期間に、
    前記第1の軌道計画に従つて水平方向に移動する第2の
    距離だけ水平移動の終了位置からさかのぼつた位置を、
    前記所定位置とする事を特徴とする請求項の第1項に記
    載のロボツトの制御方法。
  3. 【請求項3】第1の方向の移動から第2の方向の移動に
    ロボツトを連続的に移動制御するときに、第1の方向の
    移動中に、所定の位置から第1の方向と第2の方向の移
    動とを並列的に行なうように制御するロボツトの制御装
    置において、 第1の方向の位置決め制御部と、 第1の方向とは独立して制御する第2の方向の位置決め
    制御部と、 第1の方向の移動における目標位置と、第2の方向の移
    動における最終目標位置と、第2の方向の移動運動が行
    なわれる必要のある第1の距離とに基づいて、第2の方
    向の移動の開始から前記第1の距離の先頭位置に到達す
    るまでの期間を演算し、さらに、この期間内の第1の方
    向の移動距離だけ、第1の方向の移動における目標位置
    からさかのぼつた位置を演算する演算手段とを備え、 前記第2の位置決め制御部は、前記さかのぼつた位置を
    前記所定の位置とし、この所定の位置を通過すると、第
    2の方向の制御を開始することを特徴とするロボツトの
    制御装置。
  4. 【請求項4】前記演算手段は、第1の方向の移動におけ
    る目標位置と、第2の方向の移動における最終目標位置
    と、第2の方向で移動運動が行なわれる必要のある第1
    の距離とを記述する命令を解釈する解釈手段を含む事を
    特徴とする請求項の第3項に記載のロボツトの制御装
    置。
JP63327657A 1988-12-27 1988-12-27 ロボットの制御方法及びその制御装置 Expired - Lifetime JP2735126B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP63327657A JP2735126B2 (ja) 1988-12-27 1988-12-27 ロボットの制御方法及びその制御装置
US07/946,791 US5357598A (en) 1988-12-27 1992-09-18 Method and apparatus for controlling an obstacle avoiding robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63327657A JP2735126B2 (ja) 1988-12-27 1988-12-27 ロボットの制御方法及びその制御装置

Publications (2)

Publication Number Publication Date
JPH02172685A JPH02172685A (ja) 1990-07-04
JP2735126B2 true JP2735126B2 (ja) 1998-04-02

Family

ID=18201503

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63327657A Expired - Lifetime JP2735126B2 (ja) 1988-12-27 1988-12-27 ロボットの制御方法及びその制御装置

Country Status (2)

Country Link
US (1) US5357598A (ja)
JP (1) JP2735126B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835684A (en) 1994-11-09 1998-11-10 Amada Company, Ltd. Method for planning/controlling robot motion
DE19641261C1 (de) * 1996-10-07 1998-02-12 Siemens Ag Verfahren zur Bewertung der Meßqualität eines Entfernungsmeßsensors an einem autonomen mobilen System
JP3288250B2 (ja) * 1997-03-25 2002-06-04 ファナック株式会社 ロボット制御装置
US6374158B1 (en) * 2000-02-15 2002-04-16 General Electric Company Robotic laser pointer
US6285920B1 (en) * 2000-02-18 2001-09-04 Fanuc Robotics North America Method of robot teaching with motion constraints
JP2006099347A (ja) * 2004-09-29 2006-04-13 Fanuc Ltd ロボット移動制御方法

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4011437A (en) * 1975-09-12 1977-03-08 Cincinnati Milacron, Inc. Method and apparatus for compensating for unprogrammed changes in relative position between a machine and workpiece
US4250438A (en) * 1978-03-07 1981-02-10 Oki Electric Industry Co., Ltd. Digitally controlled acceleration and deceleration system
US4338672A (en) * 1978-04-20 1982-07-06 Unimation, Inc. Off-line teach assist apparatus and on-line control apparatus
JPS57113116A (en) * 1980-12-30 1982-07-14 Fanuc Ltd Robot control system
JPS57113117A (en) * 1980-12-30 1982-07-14 Fanuc Ltd Robot control system
JPS58177289A (ja) * 1982-04-12 1983-10-17 株式会社三協精機製作所 工業用ロボツトの動作制御装置
JPS58208807A (ja) * 1982-05-31 1983-12-05 Nissan Motor Co Ltd ロボツトのテイ−チング装置
JPS58211211A (ja) * 1982-06-01 1983-12-08 Fanuc Ltd 数値制御方式
JPS59231607A (ja) * 1983-06-14 1984-12-26 Mitsubishi Electric Corp ロボツトの制御装置
JPS60132207A (ja) * 1983-12-20 1985-07-15 Matsushita Electric Ind Co Ltd 制御装置
JPS6132113A (ja) * 1984-07-23 1986-02-14 Seiko Instr & Electronics Ltd ロボツト制御方式
JPS6142004A (ja) * 1984-08-06 1986-02-28 Toyota Central Res & Dev Lab Inc 追従ロボツト装置
JPS61109109A (ja) * 1984-10-31 1986-05-27 Sankyo Seiki Mfg Co Ltd 平面多関節型ロボツトの位置決め方法
JPS61110204A (ja) * 1984-11-02 1986-05-28 Hitachi Ltd 自動化装置の制御方法
US4710884A (en) * 1984-12-19 1987-12-01 Hitachi Construction Machinery Co., Ltd. Device for compensating for deflection in a pliable positioning apparatus
JPS61146487A (ja) * 1984-12-20 1986-07-04 セイコーエプソン株式会社 ロボット制御装置
US4815007A (en) * 1984-12-20 1989-03-21 Seiko Epson Corporation Apparatus for controlling a robot
US4706204A (en) * 1985-03-05 1987-11-10 Mitsubishi Denki Kabushiki Kaisha Controller for movable robot for moving a work element through a continuous path
US4663726A (en) * 1985-04-15 1987-05-05 General Electric Co. Robot control utilizing cubic spline interpolation
JPS6293710A (ja) * 1985-10-18 1987-04-30 Tokico Ltd 工業用ロボツト
SE456532B (sv) * 1985-10-18 1988-10-10 Asea Ab Arrangemang for ytavsokning av ett provobjekt
DE3623602A1 (de) * 1986-07-12 1988-01-14 Zeiss Carl Fa Steuerung fuer koordinatenmessgeraete
US4851748A (en) * 1986-11-20 1989-07-25 Westinghouse Electric Corp. Basic digital multi-axis robot control having modular performance expansion capability
JPS63150711A (ja) * 1986-12-16 1988-06-23 Shinko Electric Co Ltd 無人車の制御方法
JP2728399B2 (ja) * 1987-03-19 1998-03-18 川崎重工業株式会社 ロボツトの制御方法
JPS63289608A (ja) * 1987-05-21 1988-11-28 Toshiba Corp 運用制御装置
JPS63288683A (ja) * 1987-05-21 1988-11-25 株式会社東芝 組立てロボット
US4808898A (en) * 1987-09-30 1989-02-28 Keith Pearson Gripper assembly for robot arm
JPH07104706B2 (ja) * 1987-10-21 1995-11-13 株式会社日立製作所 ロボットの制御方法
US4965499A (en) * 1987-12-31 1990-10-23 Westinghouse Electric Corp Parametric path modeling for an optical automatic seam tracker and real time robotic control system
JPH01177980A (ja) * 1988-01-09 1989-07-14 Fanuc Ltd 設置姿勢に応じた動作条件自動設定機能を備えた産業用ロボット
US5006988A (en) * 1989-04-28 1991-04-09 University Of Michigan Obstacle-avoiding navigation system

Also Published As

Publication number Publication date
US5357598A (en) 1994-10-18
JPH02172685A (ja) 1990-07-04

Similar Documents

Publication Publication Date Title
JP5139230B2 (ja) 数値制御装置における衝突防止装置
EP0207997B1 (en) System for correcting error in the path of a robot
US6278253B1 (en) Method for controlling speed of motor for driving robot
US4815007A (en) Apparatus for controlling a robot
JP2735126B2 (ja) ロボットの制御方法及びその制御装置
KR0160998B1 (ko) 로보트의 구동경로 계획방법
JP3853752B2 (ja) シミュレーション装置
US9519280B2 (en) Numerical control device for machine tool
WO1989006066A1 (en) Method of speed control for servomotor
EP0568416A2 (en) Numeric controller calculating a short path trajectory of a robot
CN110053042B (zh) 机器人控制装置
EP0227304B1 (en) Method of controlling a robot
JP3040906B2 (ja) ロボットの動作時間評価方法および装置
JPS61147307A (ja) 干渉回避機能を備えたロボツト制御装置
JPH09251320A (ja) ロボット衝突防止システム
JP2985138B2 (ja) 速度制御装置および数値制御送り速度制御方法
JP2733665B2 (ja) 数値制御装置
JP2020067921A (ja) 数値制御装置
JP3242190B2 (ja) 数値制御装置
CN114131613B (zh) 一种基于s曲线的点动操作控制方法
JP2001154719A (ja) 自由曲線補間方法
JP2000099105A (ja) 負荷機械の制御方法
JP2653130B2 (ja) 加減速制御装置
KR0161004B1 (ko) 다관절 로보트의 연속이동 제어방법
JP2518183B2 (ja) ロボット制御装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090109

Year of fee payment: 11

EXPY Cancellation because of completion of term