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

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

Info

Publication number
JPH02172685A
JPH02172685A JP63327657A JP32765788A JPH02172685A JP H02172685 A JPH02172685 A JP H02172685A JP 63327657 A JP63327657 A JP 63327657A JP 32765788 A JP32765788 A JP 32765788A JP H02172685 A JPH02172685 A JP H02172685A
Authority
JP
Japan
Prior art keywords
movement
robot
distance
command
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.)
Granted
Application number
JP63327657A
Other languages
English (en)
Other versions
JP2735126B2 (ja
Inventor
Katsumi Ishihara
勝己 石原
Masateru Yasuhara
正輝 安原
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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Control Of Position Or Direction (AREA)
  • Numerical Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、ロボット言語で記されたプログラムに従って
例えばロボットアーム等の軌道を制御するためのロボッ
ト制御方法及びその装置に関し、より詳しくは、異なる
方向の移動動作を連続して行なうときのロボット制御の
高速化と安全な軌道の両立を目指したものである。
[従来の技術] ロボットの連続動作制御の高速化に関する従来技術とし
て、例えば、特開昭58−177289号、特開昭60
−132207号、特開昭61−146487号等があ
る。
特開昭58−177289は、アーム位置を検出する手
段と、検出されたアーム位置を前もって記憶された所定
位置と比較する手段を有し、アームがこの所定位置を通
過したことをもって、アーム動作途中でも、プログラム
ステップを進行させることにより、制御の高速化を図っ
ている。更に詳しくいえば、この特開昭では、水平方向
の移動はDCサーボモータで行なわれ、垂直方向の移動
はエアシリンダにより行なわれる。エアシリンダの先端
にはチャック等が接続されている。水平方向の目的位置
がD点であれば、このD点の前方の点D′を通過して時
点でエアシリンダを駆動して降下運動を開始する。この
D°点はエアシリンダが最下位位置に到達するのにかか
る時間から推定して決める。
また、特開昭60−132207の制御装置は3軸にD
Cサーボモータを用いている。そして、アーム位置を検
出する手段と、現在のアーム動作中に次の動作を開始し
てもよいオーバラップ領域を入力する手段と、アームが
このオーバラップ領域内にあるかを判断する手段を備え
、オーバラップ領域にあるときは、現在の移動命令と次
の移動命令をオーバラップさせることにより、制御の高
速化を図っている。このオーバラップ領域の入力は操作
者により操作入力される。このオーバラップ領域は移動
方向の変化点の近傍として定義されている。
また、特開昭61−146487は、互いに独立した垂
直移動制御回路と水平移動制御回路とを持ち、水平移動
は垂直移動からのタイミング信号で、又、垂直移動は水
平移動回路からのタイミング信号で移動を開始する。そ
して、このタイミング信号は、下降移動が水平移動より
も後に終了するように、水平移動の速度を検出して出力
される。換言すれば、水平移動と下降移動が重なる場合
に、水平移動を先に終了させて、下降移動の終期には下
降移動のみを行なうようにして、制御の高速化とアーム
の破損事故等の防止を図っている。
[発明が解決しようとしている課題] ところで、ロボット制御においては、現在位置から目標
位置まで高速に移動すればよいというわけでなく、障害
物をクリアして目標位置に到達しなければならない。換
言すれば、障害物を回避できなければ、高速化には何の
意味もない。そもそも、上昇φ水平移動中下降という動
作も、本来なら水平移動だけで目標地点に到達できるも
のの、その間に障害物があるために、このような動作を
強いられるのである。この事情は、特に産業用ロボット
において、例えば複数の部品から完成品に組立てる場合
において、部品を把持したロボットフィンガーがその部
品の収容ケースを回避するように、さらに、フィンガー
及び把持部品とが組立て途中の半完成品と衝突しないよ
うに制御しなければならないという点を考慮すれば了解
されるであろう。
上記3つの従来例は、ある期間水平移動と垂直移動が並
行して行なわれる点に特徴がある。この2つの方向の並
行運動による軌跡は、その各々の方向の運動の速度の合
成により規定される。
例えば、第14図は特開昭61−146487で説明さ
れる2方向の運動の軌跡である。垂直(2軸)方向で、
移動を開始してから目標位置に到達するまでにかかる時
間をaとし、水平(X)方向で速度Voから停止するま
でにかかる時間をbとする。そして、降下運動の開始時
点を、水平方向の速度がV ■≦ (−−c )  v。
になった時点とすると、水平移動が終了した後に、アー
ムはCだけ下降してから垂直移動が終了するようになる
。ところで、上式は水平方向の減速運動が直線運動と近
似できると仮定して始めて成立する式であり、しかもC
が小さな量であることが大前提となっている。ところが
、第14図に示すように、もし障害物100が前記並行
運動の軌跡途中に存在すればロボットアームは破壊され
てしまう。そこで、従来では、オペレータが上記並行運
動の軌跡が障害物を回避できるようなものとなるように
、垂直方向の仮の目標位置を試行錯誤を繰返して公定し
て、その後、最終の垂直方向目標位置までの垂直移動(
のみ)を行なうようにしていた。ところが、この試行錯
誤の過程で、下降時の直線部が確保出来ない為に、ロボ
ットを治具やワークに衝突させる等の重大事故にもつな
がっていた。事故を避けるための一番安易な手法は、上
記並行運動の期間を短くすればよいのであるが、これで
は高速性に欠ける。これも、そもそも特開昭61−14
6487では並行運動期間を水平方向の減速速度と垂直
方向の運動にかかる時間とから定義するという点に主眼
があるのであり、障害物を回避して安全性を確保しつつ
高速制御を図るという観点が欠落しているからである。
特開昭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、
から上昇を開始し、p4e=>pG+=3p8を通過し
、P、で停止する必要がある。このような動作を実現す
るためのプログラムを第3図に示す、第3図において、
PICK命令はフィンガー13が部品2を把持する命令
である。5PEEDはアームの移動速度を定義する命令
、OUTは特定のソレノイド(第1図には不図示)等を
オン/オフする命令、INFはセンサ(第1図には不図
示)等のステータスを入力する命令である。また、AR
CHtJPは上昇命令、ARCHは水平移動命令、AR
CHDOWNは下降命令である。
第3図プログラムにおいて、移動命令は、ARCHUP
  P、:HI ARCHP2 : P3  : Vs  ;H2A R
CHD OWN  P s ; Vsという形式をもっ
ている。これらの命令は本実施例に特有の命令であり、
障害物を定義し、その障害物を回避するような軌跡の運
動をアームに行なわせるようなものである。
これらの命令を理解するために、第1図に戻って説明を
続ける。
マガジン4は同図に示すようにフランジ8を有するから
、Paから垂直移動を開始するときは、このフランジに
衝突しないようにしなければならない。そこで、Poか
らP4までは垂直移動のみを行ない、その間、水平移動
を禁止する必要がある。
ARCHUP  P+  : HI という命令は、点P1に向けて上昇し、距離H1の間は
上昇のみを行ない、HIの上昇を行なったらその後は次
の命令を並行に実行してもよいという命令である。この
次の命令とは、第3図プログラムの例では、ライン4以
下の命令であり、実質的にはARCH命令である。点P
4は点P0から距離H+上方の点と定義される。
一方、ワーク3は前述のような形状を持っているから、
アームは、第1図に示すように、最終目標位置P、から
上方に距離H2の間は少なくとも垂直移動のみを行なわ
なければ、ワークのフランジに衝突してしまう。そこで
、 ARCHPg  ;  Ps  ;  Vs  :  
Hzは点P2に向けて水平移動を行なう命令であり、最
終目標位置P、と降下速度V、と上記距離H2で規定さ
れる点Paを経過した時点で、次のプログラム命令を並
行に実行してもよいという命令である。第3図の例では
、次のプログラム命令はライン8以下の命令であり、実
質的には A RCHD OWN  P s  ; V3である。
尚、点Psは点P3の上方H2の点と定義される。
第4図は、第1図実施例のロボットが第3図プログラム
に従って動作した場合の、アームの運動の動きを図示し
たものである。
さて、上記Paは次のような観点から決められなければ
ならない。
■:水平移動運動と降下運動とは、P0以降は並行して
行なわれる。
■:水平移動運動は、Paで降下が開始しても継続し、
点P2で終了する。
■:水平移動運動は、降下運動が点P8を通過した時点
で終了する。
■:降下運動は点P、で終了する。
この観点から決定された点P0は、点P2からX方向に
ΔXだけ前方の点であり、この△Xは、Z方向の運動が
点P2からPsに移動するのに要する時間728間に、
水平方向に移動する距離である。ところで、X方向も2
方向の運動も、一般的には、単純な等速度運動ではなく
、この実施例でも、 等加速度運動φ等速度運動φ等減速度運動を行なってい
る。そして、上記T28は、点P、が等加速度運動区間
に入るのか、等速度運動区間に入るのか、等減速度運動
区間に入るのかで、即ち、距離P2 P3と距離H2と
の値により異なるものとなる。△Xをどのように決定す
るかは後述する。
〈制御装置の構成〉 第5図は実施例のロボット制御装置の構成を示す。図中
、20は第3図に示したようなプログラムを入力する入
力装置である。21は入力されたプログラムを解釈する
部分であり、マイクロコンピュータ制御である。22は
xYz軸とθ軸を独立に制御する位置決め制御部であり
、具体的には、サーボモータ(第6図のM)を、そのモ
ータに直結されたエンコーダ(第6図のE)の出力(位
置情報)によりサーボ制御するものである。
I10制御23はフィンガー13のソレノイド(第6図
の25)を駆動したり、このフィンガーが部品を把持し
たか否かをチエツクするためのセンサ(第6図の26)
の出力を入力する部分である。
第5図のプログラム解釈部21と位置決め制御部22と
I10制御部23との関係を第6図に示す、解釈部21
のプログラム構成は、第3図の如きアプリケーションプ
ログラムと、OS(オペレーティングシステム)と、ア
プリケーションプログラムを解釈するインタプリタから
なる。インタープリタの手順の一部を第7図に示す、プ
ログラム解釈部21と位置決め制御部22とI10制御
部23とはシステムバス24により接続される。
インタプリタは位置決め制御部22に対し、第8図に示
したようなI10コマンドを送る。この■10コマンド
は、前述の3つの命令、ARCHUP、ARCH,AR
CHDOWNに対応して、コマンドコードとパラメータ
とからなる。位置決め制御部22はI10コマンドを受
けると、その実行を行なう。移動動作は第9図に示すよ
うに、周知の台形制御、即ち、 等加速度運動中等速度運動φ等減速度運動を行なう。本
実施例に用いられている台形制御では、等速度運動にお
ける速度をV、このVに至るまでの加速期間をTAC1
速度■から停止までの減速期間もTACとすると、加減
速時の加速度はで与えられる。また、速度“O”から速
度Vまで加速するまでに移動する距離、若しくは、速度
■から速度“O”まで減速するまでに移動する距離は、 局V T A C・・・・・・(2) で与えられる。第9B図は速度Vまで加速され、直ちに
“O”まで減速された状態を示す、第9B図の場合の総
移動距離は(2)式から、■TAc である。第9C図は加速度αで期間T (< T AC
)だけ加速され、その後“0“まで減速された状態を示
す。このときの移動距離は、 ■ 2 ・%・□・T2        ・・・・・・ (
3)AC である。上記(1)〜(3)式は点P0を求める上でし
ばしば参照される。
く命令のフェッチ実行シーケンス〉 第7図に示したインタプリタプログラムの制御手順、及
び第10A図〜第10C図に示した位置決め制御部にお
けるI10コマンド実行プログラムの制御手順を説明す
ることにより、実施例の制御装置において、ARCH等
の命令が完全に終了しない時点で、次の命令が命令が実
行され得る様子(所謂バイブライン実行制御)を説明す
る。こうすることにより、プログラマが、ARC)I命
令等が実行されている最中に、他のARCH命令のみな
らず、OUT命令、INF命令等を並列的に実行される
ようにプログラムを記すことが可能となる。
第7図〜第10図を用いて、インタプリタプログラムと
I10制御部におけるサーボ制御プログラムの動作につ
いて説明する。ここで、第1図の各点の座標を定義する
。前述したように、Xz系のみで考えているから、 P o =(X 61 Z 6 ) Pl =  (xa  、21  ) P a  =  (xo  、  Zo  +H1)P
a  ”  (Xa  +  Zl  )P2  = 
 (Xi  、  Zl  )Ps  ”  (Xz 
 、  Zs  +H2)P3  ”  (Xz  、
  Z3  )である。
第7図のステップS1においては、プログラムカウンタ
PCをインクリメントし、ステップS2でこのPCでポ
イントされた命令をフェッチする。ステップS4では、
フェッチされた命令が、ARCH関連の命令(ステップ
S8へ)か、I10関連の命令(ステップS30へ)か
、その他の命令かを判断する。ARCH関連の命令であ
れば、ステップ88〜ステツプS14で命令コードを設
定(ARCH=O; ARCHUP= 1 ; ARC
HDOWN=2)L/、ステップS16では、命令毎に
第8図のようなパラメータを付加してI10コマンドを
作成する。そして、このI10コマンドを位置決め制御
部22に送る。ステップS20では、位置決め制御部2
2からのACK信号を待つ、このACK信号は、第4図
及び後述のサーボ制御手順の説明から分るように、ロボ
ットが点P4やPs等の中間点を通過したときに位置決
め制御部22から返される。このACKを受けると、制
御はメインルーチン(不図示)にリターンし、再び、ス
テップS1から前述の手順を実行する。即ち、ARCH
関連命令では、ACKが位置決め制御部22から返って
くれば、解釈部21はプログラム中の次の命令をフェッ
チして実行するので、ARCH関連命令の並列処理若し
くは、ARCH関連命令と他の命令の並列処理が可能に
なる。特に、本実施例では、第3図のような高級言語レ
ベルでの命令の並列処理が可能となっており、プログラ
マはARCH関連命令から別のARCH関連命令に進む
前に、例えば、第3図に示したように、INF命令等を
挿入することにより、フィンガー13が正常に動作して
いることを確認してから後のARCH命令に進むように
することができる。
一方、命令がI10デバイスのチエツク命令(INP)
であれば、ステップ530−t’、I10制御部23に
対しステータス情報を要求し、ステップS32で、その
ステータスをチエツクする。
もしステータス情報が正常であれば、メインルーチンに
リターンして次の命令をフェッチする。
命令が例えばソレノイド等を駆動する命令(例えば、命
令0UT)であれば、ステップS6に進み、当該命令を
実行する。即ち、I10制御部23に対し、所定のソレ
ノイドを駆動するための■10コマンドを送る。
位置決め制御部22側では、解釈部21から送られてき
たI10コマンドのコードにより、ARC)(UP命令
か、ARCH命令か、ARCHDOWN命令かを区別す
る。
(ARCHUP命令実行の詳細〉 ARCHUP  P+  ; H。
とプログラムしたときの動作を説明する。ARCHUP
命令は第10A図に示される。ステップS50では軌道
計画を策定する。この軌道計画は、点P0から点PIに
向って進む際に第9図に示した台形制御により制御した
場合に、どこまでが等加速度運動で、どこまでが等速度
運動で、どこからが減速運動かを決定するものである。
次に、ステップS52〜ステツプS56のループと、ス
テップ358〜ステツプS60のループを並列実行処理
する。
ステップS52〜ステツプS56のループでは、2方向
のサーボモータの駆動(ステップ552)と、エンコー
ダ出力(2,)の読み込み(ステップ554)と、2方
向でP+を超えた(z+〉Z、)かを判定(ステップ8
66)する、ステップS58〜ステツプS60のループ
では、エンコーダ出力(ZI)の読み込み(ステップ8
58)と、2方向に24を超えた(Zl>ZO十H1)
かを判定(ステップ560)する。第1図で上方向にZ
軸をとった場合、ステップS56でYESと判断される
よりも、ステップs60でYESと判断される方が早い
ので、ステップS62が実行され、解釈部21に対しA
CKが返される。このACKにより、解釈部21は次の
命令をフェッチすることが可能となるのは前述した通り
である。
(ARCH命令実行の詳細〉 インタプリタがARCH命令をフェッチすると、コード
“0”のI10コマンドが制御部22に送られる。位置
決め制御部22では、ステップS72で点Paの算出を
行なう。この点が算出されると、ステップS74〜ステ
ツプS78のループと、ステップ880〜ステツプS8
2のループを並列実行処理する。
ステップ574〜ステツプS78のループでは、X方向
のサーボモータに駆動(ステップ574)と、エンコー
ダ出力(X、)の読み込み(ステップ876)と、X方
向にP2を超えた(x。
〉x2)かを判定(ステップ578)する。ステツブ3
80〜ステツプ882のループでは、エンコーダ出力(
xI )の読み込み(ステップ580)と、X方向にP
aを超えた(xI>x、3)かを判定(ステップ582
)する。第1図で左方向にX軸をとった場合、X(+<
X2であるから、ステップ378でYESと判断される
よりも、ステップS82でYESと判断される方が早い
ので、ステップS84が実行され、解釈部21に対しA
CKが返される。このACKにより、解釈部21は次の
命令をフェッチする。
第11図のフローチャートを用いて、ステップS72の
点Paの算出制御の詳細を説明する。この第11図の制
御は、前述したように、Z方向の運動が点P2からP、
に移動するのに要する時間T2.内に、水平方向に移動
する距離△Xを求めることに等価である。ステップ51
00では、軌道計画、I10コマンドのパラメータ等か
ら次の諸量を定義する。即ち、 TAX+下降時の加速時間(=減速時間)■、:下降時
の最大速度(等速運動時の速度)Z:垂直方向移動距離
(=lpi  pit)である。ステップ5102では
、ZとVjTAZの大小を調べて、ステップS70で策
定された軌道計画中において、P2からP、までの下降
中に等速度運動があるか否かを調べる。
のある上A 第9図に関連して説明したように、 z > V s・T’Az であれば、等速下降運動が存在する場合である。
このときは、ステップ5ilo、ステップ5l12によ
り、点P、が等加速度運動区間に入るのか、等速度運動
区間に入るのか、等減速度運動区間に入るのかを判断し
て場合分けをする。
坏V、・TA□は減速期間TAZ中に2方向に移動する
距離であるから、 H2≦坏V5・TA□ (ステップSl 10でNo)とは、減速がP6よりも
上方で開始されることを意味し、 H2> ’d V 3 ・T A 2 (ステップSl 10でYES)とは減速がP、よりも
下方で開始されることを意味する。ステップSt 10
でNOの場合は、TA□間加速φ■3で等速運動中減速
開始=>P6通過中P、到着となる。
P z ”’> P 3に要する時間は、であるから、
T2%は、ステップ5114にあるように、 となる。
減速がpsより下で行なわれる場合(ステップSl 1
0でYES)は、P5が加速運動区間に入るかまたは等
速運動区間に入るかを、H2と(Z−%■、・TAZ)
との大小から判断する。
H2>z−坏Vs・TAZ であれば(ステップSl 12でY E S ) 、T
zsの期間は、等加速度V3/TA□で運動が行なわれ
るから、T2Sはステップ5118のように、また、P
、φP、に要する時間は となる。逆に、P、が等速度運動区間にある場合には、
加速時間はTAZ、等速度運動期間は、であるから、 であるから、ステップSl 16のように、となる。
゛  年運動が無い場A 等速下降運動が無い場合はz < V s・TA2とな
りステップ5104に進む。この場合、減速がPg前に
行なわれるか(H2≦坏z)、Pgの後で行なわれる(
H2>nz)かという2つの場合があり得る。前者の場
合であれば、P、wp、に要する時間は であり、Ps==bP3に要する時間はである。
こうして、各場合についてT28が得られた。次に、T
tsの間にX方向に移動する距離△Xを第11B図のフ
ローチャートに従って計算する。ステップ5L20では
、容量の定義を行なう。即ち、TAX:X方向加速時間
(=減速時間)v2 :最大速度(等速運動時の速度)
X:水平方向移動距離(=  IP、 −pH)である
。ステップ5122では、XとV2・T−とを比較して
、水平移動に等速運動区間が存在するか否かを調べる。
速7 ′手動がある場合 この場合は、ステップ5122でYESと判断され、ス
テップ5140に進む。加速と減速に要する期間は2T
Ax、等速運動の期間は(x−V、・TAX)/V2で
あるから、水平移動でP、からP2に要する時間Ttは
、 となる。ステップ5141では、72BとこのTtとの
大小を比較する。もし、 T25>TT であれば、下降開始がPlよりも左で行なわれることを
意味し、これはあり得ないので、プログラムミスとして
エラーとする。
ステップ5142ではT’zsとTAXとの大小を比較
する。下降開始点P、が水平移動の減速開始前にあれば
、 T211>TT であり、開始後であれば、 T’s≦Tt である。そして、第12A図に示すように、下降開始が
等速運動区間で行なわれれば、 T2s≦TT  TAX である(ステップ5144でYES)から、P1φPa
までの距離△Xは、ステップ8148のように、 Δx=x −IPz −Pal ”X  (Vz(Taa  TAX) +HVzT^x
)=x−V、・(T 28 + ’A T AX)と得
られる。
下降開始が第12B図に示されるように、加速期間中に
行なわるものであれば、 Tzs>TT−TAX である(ステップ5144でNO)から、ステツブ51
50に進む。この場合、 Δx=   Pa  −P+ であるから、 となる。
一方、ステップ5142で、T’zs≦T’Axと判断
されたときはステップ8146に進む、このときは、降
下開始が第12C図に示すように減速期間に行なわれる
から、 △x=lP、−Pロ=IPI  P! g  Pa であるから、 となる。
゛第7゛  がtい A この場合は、X≦■2・T^×であるから、ステップ5
124に進む。第12D図から明らかなように、Ttは
、加速してHx移動するのに要する期間の2倍であるか
ら、ステップ5124のように、 とする。ステップ5125はステップ5141と同じ意
味である。’A T rは減速に要する時間であるから
、 T 2 B >騒Tt とは第12D図に示すように下降が減速開始前に行なわ
れることを意味する。このときの△XはP、とPa間の
距離、即ち、期間(T T  T 2 S )の間に加
速して移動した距離であるから、である。また、降下が
水平方向の減速が開始されてから始まる場合は、第12
E図に示すように、△X=x   1Pa−P21であ
るから、ステップ8128のように、 となる。こうして各場合においてΔXが求めることがで
きた。次に、ステップ5152で、P、のX座標位置X
Gが計算される。即ち、 X 6 = X H+ ” ”  ”“Δ8である。こ
こで(X=−Xl)/Xは水平移動の方向を考慮した。
このようにして定められたP。において、下降を開始す
れば、上述の■〜■の条件は満足される。即ち、点Pa
は、点P3に向けて下降開始を行なった場合に障害物を
回避して最短時間で点P、に到達し得る通過点である。
従って、この点Paを通過した時点で、位置決め制御部
22が解釈部に対しACKを返し、解釈部が次のARC
HDOWN命令を解釈してI10コマンドを位置決め制
御部22に送ると、ロボットアームは障害物を回避して
最短時間で点P、に到達する。
(ARCHDOWN命令実行の詳細〉 第3図のプログラムによれば、ARCH命令によりPa
を通過した時点でACKが解釈部に返されると、OUT
命令、IF  INF命令、ソシテA RCHD OW
N命令が実行される。このARCHDOWN命令に対す
る位置決め制御部22の制御手順は第10C図に示す通
りである。
〈実施例の効果〉 以上説明した実施例によれば、 I:高級ロボット言語により、障害物を回避しつつ、異
なる方向の動作を並行して行なうようなロボット制御プ
ログラムの記述が可能となる。従って、プログラマによ
るプログラミング及びティーチングは容易になるととも
に、並行移動のためにロボット移動が高速化する。
II:特に、ARCH命令において、障害物高さH2、
降下時の最大速度V3、目標降下位置P3等を記述でき
るので、障害物を回避し得るのみでなく、そのうちの最
短時間で目標P、に到達するような通過点P。を制御装
置自体がオペレータに替って計算してくれるので、従来
のように試行錯誤を繰返してしか得られなかった通過点
P0は容易に得られることとなった。
III : ARCHUP、ARCH系統の命令では、
異なる方向への移動を開始する時点で、先の移動命令は
疑似的に終了となるので、この先の移動命令の最中にプ
ログラマは所望の手順プログラムを挿入することができ
、制御プログラムの自由度が増す。
く変形例〉 本発明はその要旨を逸脱しない範囲で種々変形が可能で
ある。
例えば、前述の第1図実施例では、方向としてxZの2
方向としたが、他の方向であってもよい。
また、前述の第1図実施例では工業用ロボットを例にし
て説明した。工業用ロボットでは、障害物は高さ方向で
発生することが多い。ところが、第13図に示したよう
に、軌跡が回避しなければならない点として2つの点S
+、Siがある場合があるが、この、ような場合にも、
本発明を適用したARCH命令は、 ARCHF’2 ; P3 ; V3 : H2; H
s ; H4となる。この命令において、P3.H2で
規定される点S2は第1図で説明した通りの回避点であ
る。点S1は、点P3から高さH3の位置にあり、Sl
から水平方向に距離H4の位置にある点である。かかる
命令において軌道制御は次のようにして行なう、先ず点
SLについて前記実施例と同じ要領で軌道を生成し通過
点P、’を計算する。また、点S、についても軌道を生
成し通過点P、”を計算する。もし、Sl 、Slの一
方について夫々独立して計算された2つの軌道が両方と
も他方の点と干渉しないのであれば、点P、により近い
方のPa’またはPa”をPaとして採用する。もし、
Sl、Slの一方について夫々独立して計算された2つ
の軌道のうちの1つが他方の点と干渉するのであれば、
干渉のない方の軌道を採用する。このようにして、2つ
の干渉点が存在するようなモデルに対しても、本発明を
拡張適用できる。
また、前述の第1図実施例では、ARCHUP命令及び
ARCH命令に付加する直線部高さ情報としてHl、H
2としていたが、その替りに、ポイントP4.Psによ
り表記してもよい。
また、前述の第1図実施例では解釈部はインタプリタタ
イプのものであったが、プログラム解釈部があらかじめ
すべての命令を実行形式にしておく、いわゆるコンパイ
ラタイプのプログラム方式では、水平移動命令に付加し
ている下降命令の目標値、速度は先読みしてコンパイル
した後に付加出来るので、水平移動命令中になくても同
様の効果が得られる。
また、下降開始可能な水平位置計算は水平移動軸で、移
動量がOでなければ、どの軸で行っても同様の効果が得
られる。
また、下降開始可能な水平位置計算のかわりに、サーボ
サイクル毎に位置計算を行う位置決め制御部22であれ
ば、時間を用いても同様の効果が得られる。
また、軌道計画は台形制御に限られず、他の制御であっ
てもよい。
また、下降開始可能な水平位置計算は位置決め制御部2
2でなく、プログラム解釈部で行っても同様の効果が得
られる。
[発明の効果] 以上説明したように本発明のロボットの制御方法及び制
御装置によれば、ロボットを高速に動作し得る機能はそ
のままで、オペレータが容易に障害物の干渉を避けるプ
ログラミング及びティーチングが出来る効果がある。
また、本発明の好適な実施態様によれば、各々の動作命
令は、独立に動作・記述出来るので、各々の命令の間で
停止させたり、各々の命令の間にロボットの移動以外の
命令を記述することが出来るという今までの高速動作方
式では難しいとされていた事も容易に出来るようになる
効果もある。
【図面の簡単な説明】
第1図は1実施例に係るロボット制御装置による軌道の
側面図、 第2図は制御装置のアーム部分のブロック図、第3図は
実施例装置に用いられるプログラムを記した図、 第4図は第1図実施例における軌道の変化な示したタイ
ミング図、 第5図、第6図は実施例装置の構成を説明する図、 第7図は実施例装置におけるインタプリタの手順を示す
フローチャート、 第8図は位置決め制御部に用いられるI10コマンドの
フォーマット例を示す図、 第9A図〜第9C図は夫々実施例の軌道計画に用いられ
る軌道の一例を示す図、 第10A図〜第10C図は夫々、位置決め制御部におけ
る制御手順を示すフローチャート、第11A図、第11
B図は点P。を計算するためのフローチャート、 第12A図〜第12E図は点P。を計算する手法を説明
する図、 第13図は変形例を説明する図、 第14図は従来例を説明する図である。 図中、1・・・ロボット軌道、2・・・部品、3・・・
ワーク、4・・・マガジン、5・・・治具、6・・・キ
ャビティ、7・・・凹所、8・・・フランジ、10〜1
2・・・アーム、13・・・フィンガー 20・・・プ
ログラム入力装置、21・・・プログラム解釈部、22
・・・位置決め制御部、23・・・I10制御部、24
・・・システムバスである。 特許出願人   キャノン株式会社 イ立τ−二Iト膏IP反 Ilo 第5図 第2図 第108図 第10C図 第12D図 第12E図 R−+ −−−−−−−−−]P’z 第13図 第14図

Claims (4)

    【特許請求の範囲】
  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 true JPH02172685A (ja) 1990-07-04
JP2735126B2 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 ロボット移動制御方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01108604A (ja) * 1987-10-21 1989-04-25 Hitachi Ltd ロボットの制御方法

Family Cites Families (31)

* 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
SE456532B (sv) * 1985-10-18 1988-10-10 Asea Ab Arrangemang for ytavsokning av ett provobjekt
JPS6293710A (ja) * 1985-10-18 1987-04-30 Tokico Ltd 工業用ロボツト
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
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01108604A (ja) * 1987-10-21 1989-04-25 Hitachi Ltd ロボットの制御方法

Also Published As

Publication number Publication date
US5357598A (en) 1994-10-18
JP2735126B2 (ja) 1998-04-02

Similar Documents

Publication Publication Date Title
JP3288250B2 (ja) ロボット制御装置
EP0207997B1 (en) System for correcting error in the path of a robot
US6124693A (en) Robot controller
US11279033B2 (en) Method and apparatus for collision-free motion planning of a manipulator
US8843237B2 (en) Method and device for controlling a manipulator
CN100453237C (zh) 焊接系统及自耗电极式焊接方法
US10994422B2 (en) Robot system for adjusting operation parameters
KR20010003878A (ko) 로봇 구동용 모터의 속도제어방법
JP3537229B2 (ja) ロボットの制御方法
JPH0724756A (ja) ロボットの直線補間方法
JPH11347984A (ja) ロボット制御装置
JPH02172685A (ja) ロボットの制御方法及びその制御装置
US5416394A (en) Motor control method and apparatus thereof in numerical control systems
CN112041125B (zh) 机器人的控制方法
JP2016034669A (ja) ロボットの制御装置及び制御方法
JPH08305429A (ja) ロボット急停止後の再開方法
JP5143661B2 (ja) Nc旋盤の制御方法及び制御装置
JP5133185B2 (ja) アーク溶接ロボット装置
JPH09251320A (ja) ロボット衝突防止システム
JPS63285617A (ja) センサ−フィ−ドバック制御方式
WO2024042618A1 (ja) 制御装置及びコンピュータ読み取り可能な記録媒体
JP2006272529A (ja) 産業用ロボット制御装置
JP2001154719A (ja) 自由曲線補間方法
JPH04245505A (ja) 速度制御装置および数値制御送り速度制御方法
JPH05261546A (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