JPH11191005A - ロボット制御装置 - Google Patents

ロボット制御装置

Info

Publication number
JPH11191005A
JPH11191005A JP35841697A JP35841697A JPH11191005A JP H11191005 A JPH11191005 A JP H11191005A JP 35841697 A JP35841697 A JP 35841697A JP 35841697 A JP35841697 A JP 35841697A JP H11191005 A JPH11191005 A JP H11191005A
Authority
JP
Japan
Prior art keywords
teaching
posture
trajectory
work
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
Application number
JP35841697A
Other languages
English (en)
Inventor
Yusuke Akami
裕介 赤見
Yoshiko Iriyama
佳子 入山
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.)
Tokico Ltd
Original Assignee
Tokico 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 Tokico Ltd filed Critical Tokico Ltd
Priority to JP35841697A priority Critical patent/JPH11191005A/ja
Publication of JPH11191005A publication Critical patent/JPH11191005A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 少ない工数で正確な教示作業を行うことを可
能とし、オペレータの労力軽減、教示作業に要する時間
の短縮及び生産効率の向上等を図る。 【解決手段】 入力装置2を操作してマニピュレータ5
を動作させ、作業ワークに対するガン先17xの位置を
順次教示していき、塗装ガン17を移動させるべき位置
軌道のみを教示し、位置教示プログラムとして登録す
る。その後、位置教示プログラムを再生し、位置軌道上
の任意の位置で塗装ガン17の姿勢を教示していき、塗
装ガン17の姿勢軌道を姿勢教示プログラムとして登録
する。そして、再生時には、位置教示プログラムと姿勢
教示プログラムの双方のデータを組み合わせて動作軌道
を合成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、産業用ロボットの
制御装置に係り、特に、軌跡精度や作業治具の姿勢の正
確性を重視する教示再生型ロボットの教示に用いて好適
なロボット制御装置に関する。
【0002】
【従来の技術】塗装、シーリング、アーク溶接等の作業
を行う教示再生型の産業用ロボットにおいては、ロボッ
ト動作時の軌跡精度が重視されると共に、作業治具の姿
勢(塗装ガンのねらい方向等)を正確に決定することが
必要とされる。従来、このような産業用ロボットの位
置、姿勢を教示する場合には、各教示点毎に位置と姿勢
とを同時に教示することとしていた。
【0003】例えば、PTP(Point To Point)形の教
示再生型ロボットにおいては、オペレータがロボットの
動作を点列で教示していくことが必要とされる。この教
示作業は、作業ワークに対するロボットの作業治具の位
置(座標値X,Y,Z)、作業治具の姿勢(ロール角,
ピッチ角,ヨー角)、作業治具の動作速度、教示点間の
軌道補間方法(直線、円弧又はスムージング補間等)及
び作業情報(溶接のON/OFF、塗装のON/OFF
等)を教示点単位で記憶させるものである。
【0004】このような教示を実ロボットを用いて行う
場合、オペレータは、ティーチングペンダント等の入力
装置を用いてロボットを動作させ、作業治具の位置、姿
勢を決定し、次いで、作業治具の動作速度、教示点間の
軌道補間方法及び作業情報を決定して、これらの情報を
教示点情報として記憶させる。そして、この教示点情報
を記憶させる工程を最終の教示点まで繰り返し、教示プ
ログラムとして登録する。
【0005】その後、登録した教示プログラムを実ロボ
ットで再生し、作業治具の位置及び姿勢、作業治具の動
作速度、作業治具の動作軌道並びに作業情報の不具合に
よって作業品質に問題が生じないか確認し、問題がある
場合には教示点情報の修正を行う。また同時に、教示点
の過不足によって作業品質に問題が生じないかも確認
し、問題がある場合には教示点を追加又は削除する作業
を行う。更に、必要であれば、これらの問題確認及び教
示点情報の修正、教示点の追加等の作業を繰り返し行
う。
【0006】
【発明が解決しようとする課題】しかし、教示点は通常
数十〜数百点、場合によっては数千点あるので、すべて
の教示点をオペレータが教示、修正するのは非常に煩雑
で工数のかかる作業であった。すなわち、上述した従来
技術では、作業治具の位置、姿勢等の教示作業を多数の
教示点それぞれについて行わなければならない上に、作
業治具の位置や姿勢等を同時に教示するため、教示点の
位置を決定してから作業治具の姿勢を変更しようとする
と作業治具の位置もずれてしまい、1つの教示点を教示
するのにさえ多くの時間がかかってオペレータの負担を
増大させていた。又、登録した教示プログラムによる塗
装等の作業試験で塗装むら等の問題が生じ、塗装ガンの
ねらい方向等の作業治具の姿勢を変更しようとする場合
には、各教示点の位置、作業治具の姿勢等をすべて補正
しなければならず、教示データの修正にも多大な時間と
労力がかかっていた。
【0007】一方、このような教示、修正を行う間、オ
ペレータは、動作中のロボットの近くで作業をしなけれ
ばならない。このため、オペレータは十分注意をして長
時間の作業を行わなければならず、多大な労力を要して
いた。又、修正に長時間を要するため、作業が滞って生
産効率が低下するという問題もあった。更に、作業治具
を変更した場合には、すべての教示点情報を修正する必
要が生じ、多大な時間と労力を再び費やすことになると
いう問題もあった。
【0008】一般に、教示作業に要する工数を削減し、
上述した従来における種々の問題を解消するには、 オペレータが教示する教示点数を少なくすること 1点を教示するのに要する工数を少なくすること 修正に要する工数を少なくすること 等が、実ロボットを用いた教示か或いは実ロボットを用
いない教示かに拘わらず重要である。
【0009】このうち、特に、の実現のために提案
され、実用化の試みがなされている技術として下記のよ
うなものがある。 (a)作業ワークの代表点のみを教示することとし、代表
点以外の軌道や作業情報を、代表点の情報をもとに自動
生成する技術。 (b)距離センサ、接触センサ、視覚センサ等を用いてロ
ボットの動作軌道や作業姿勢を自動生成或いは自動修正
する技術。 (c)CAD図面情報から自動的にロボットの動作軌道を
生成する技術。 (d)ロボット言語を用いてロボットの動作軌道や作業姿
勢及び作業情報を生成する技術。
【0010】しかしながら、これらの技術によってオペ
レータの教示作業に要する工数を削減しようとすると、
(a) の技術にあっては、作業ワークの形状が単純でない
と適用が難しく、(b) の技術にあっては、研磨、溶接、
シーリング等を遅い作業速度で実行するロボットでない
と適用が難しい。又、(c) 及び (d) の技術にあって
は、オフラインでの教示となるために、オンラインの実
ロボットに適用したときの誤差が避けられず、上述した
ような実ロボットを用いた修正作業が必要となる場合が
多い。このようなことから、提案されていた技術によっ
ては、教示作業に要する工数を削減して上記問題点を解
消することは困難であった。
【0011】又、オフラインでの教示を行う技術として
は、上記 (c) 及び (d) の他に、オペレータがコンピュ
ータにより制御されたグラフィック画面装置とマウスや
タブレット等の入力装置を利用して、画面上のロボット
に任意の姿勢をとらせて教示を行うオフライン教示シス
テムも知られている。
【0012】しかし、このオフライン教示システムは、
ロボットの動作が少し複雑になると教示が急に難しくな
るという欠点があった。その原因の一つに、姿勢を入力
することが困難であることが挙げられる。つまり、作業
治具の位置(例えば、ロボットベース座標系の座標値
X,Y,Z)は、作業ワークのCAD図面情報等から比
較的簡単に決定できるが、姿勢は作業ワークやロボット
周辺の空間的制約等との関係によって決定しなければな
らないので、簡単には求められないのである。このた
め、姿勢はオペレータが試行錯誤しながら決定しなけれ
ばならないことが多く、これがオペレータの大きな負担
となり、結局、教示作業における労力軽減や時間短縮等
を図ることは困難であった。
【0013】又、ロボットに複雑な動作をさせようとす
る場合には、当然のことながら教示点数も多い。その結
果、教示プログラムの作成に多大な時間を要することと
なり、このような場合には、オフライン教示システムは
あまり用いられないといった問題もあった。
【0014】本発明はこのような事情に鑑みてなされた
もので、少ない工数で正確な教示作業を行うことを可能
とし、オペレータの労力軽減、教示作業に要する時間の
短縮及び生産効率の向上等を図ることができるロボット
制御装置を提供することを目的とする。
【0015】
【課題を解決するための手段】請求項1記載の発明は、
教示された動作軌道に従って作業治具の位置と姿勢を再
生するロボット制御装置において、作業治具の位置を移
動させる軌道上の代表点位置を入力教示する位置教示手
段と、前記位置教示手段によって教示された代表点の情
報を記憶する第1の記憶手段と、作業治具の姿勢を教示
する姿勢教示手段と、前記姿勢教示手段によって教示さ
れた姿勢の情報を記憶する第2の記憶手段と、前記第1
の記憶手段に記憶された代表点の情報と前記第2の記憶
手段に記憶された姿勢の情報とに基づいて前記動作軌道
を生成する演算手段とを有することを特徴としている。
【0016】請求項2記載の発明は、請求項1記載のロ
ボット制御装置において、前記位置教示手段は、代表点
位置に加え、当該代表点によって代表される軌道におけ
る作業治具の移動形態を入力教示する手段であり、前記
姿勢教示手段は、前記軌道上の任意の位置における作業
治具の姿勢を入力教示する手段であり、前記演算手段
は、前記第1の記憶手段に記憶された代表点の情報に基
づいて作業治具を移動させる位置軌道を生成すると共
に、前記第2の記憶手段に記憶された姿勢の情報に基づ
いて前記位置軌道上を移動させる際の作業治具の姿勢軌
道を生成し、前記位置軌道と前記姿勢軌道とを合成して
前記動作軌道を生成することを特徴としている。
【0017】請求項3記載の発明は、請求項1記載のロ
ボット制御装置において、前記姿勢教示手段は、前記位
置教示手段によって教示された代表点が含まれる面を求
め、当該面に対して所定の方向をなす姿勢を当該代表点
における作業治具の姿勢とすることを特徴としている。
【0018】請求項4記載の発明は、請求項1記載のロ
ボット制御装置において、前記第2の記憶手段に記憶さ
れた姿勢のうちのいずれかを選択指示する指示入力手段
を更に有し、前記演算手段は、前記指示入力手段によっ
て姿勢が選択指示されたとき、当該姿勢の情報を前記第
2の記憶手段から読み出して前記動作軌道の生成に使用
することを特徴としている。
【0019】請求項5記載の発明は、請求項1記載のロ
ボット制御装置において、前記姿勢教示手段は、前記作
業治具の作業面を入力教示すると共に、当該作業面に対
して所定の方向をなす姿勢を当該作業面における作業治
具の姿勢とすることを特徴としている。
【0020】
【発明の実施の形態】<構成> 1.全体構成 以下に図面を参照して本発明の実施の形態について説明
する。図1及び図2は本発明の一実施形態によるロボッ
ト制御装置を適用した塗装ロボットシステムを示す図で
ある。これらの図のうち、図1は本塗装ロボットシステ
ムの外観構成を示す図であり、図2は同塗装ロボットシ
ステムの動作形態(可動部及びその動作方向)を把握で
きるように若干模式的にした図となっている。
【0021】図1及び図2において、1はコントローラ
であり、入力装置2からケーブル3を介して各種指示デ
ータを受け、ケーブル4を介してマニピュレータ5の各
可動部に対する動作指令信号を供給すると共に、マニピ
ュレータ5や他の周辺機器(図示略)との間で各種信号
の授受を行い、これによりマニピュレータ5の状態を監
視し、かつ、その動作を制御する。このコントローラ1
は、教示プログラム、各種制御パラメータ等を記憶する
記憶装置と、それらプログラム等と前記指示データ及び
マニピュレータ5から受けた信号等に基づいて各種演算
処理を行う演算処理装置とを有しており、該演算処理装
置による演算処理の結果に基づいてマニピュレータ5の
動作を決定し、前記動作指令信号を生成する。尚、この
コントローラ1の内部構成の詳細及び演算処理動作の具
体的内容については後述する。
【0022】入力装置2は、オペレータがマニピュレー
タ5への動作指令やデータ管理のための指示入力を行う
入力装置であり、入力されたデータを前記指示データと
して、ケーブル3を介してコントローラ1へ供給する。
ケーブル3、4は、それぞれ、入力装置2−コントロー
ラ1間、コントローラ1−マニピュレータ5間を接続す
る接続線であり、ケーブル3は入力装置3とコントロー
ラ1との間で授受される信号を伝達し、ケーブル4はコ
ントローラ1とマニピュレータ5との間で授受される信
号を伝達する。
【0023】マニピュレータ5は、6自由度(回転角度
θ1、θ2、θ3、θ4、θ5、θ6)を有する本塗装ロボッ
トシステムにおける塗装ロボットの主要部であって、工
場床面に取り付けられた固定ベース6によって床面の所
定位置に固定されており、図中の符合7〜17で示す旋
回ベース、アーム及びこれらの各可動部の駆動ユニット
等の構成要素によって構成されている。以下にこれらの
各構成要素について説明する。
【0024】7は図示せぬ第1の可動部駆動ユニットを
介して固定ベース6上に取り付けられた旋回ベースであ
る。ここに、第1の可動部駆動ユニットは、固定ベース
6側に固定されたサーボモータ、その出力軸側に設けら
れた減速機及びエンコーダ等からなっており、旋回ベー
ス7は、該減速機を介して図2中の矢印θ1方向に回転
自在に取り付けられている。そして、第1の可動部駆動
ユニットのサーボモータがコントローラ1から供給され
る動作指令信号によって駆動され、これにより、旋回ベ
ース7がθ1方向に回転し、この回転角度をエンコーダ
が検出してコントローラ1へ供給するようになってい
る。
【0025】又、旋回ベース7には、同様にサーボモー
タやエンコーダ等からなる第2の可動部駆動ユニット8
が取り付けられている。第2の可動部駆動ユニット8に
おいては、サーボモータが旋回ベース7側に固定されて
おり、その出力軸が減速機を介して第1アーム9の一端
(後方端)と連結されている。そして、この第2の可動
部駆動ユニット8のサーボモータがコントローラ1から
供給される動作指令信号によって駆動され、これによ
り、第1アーム9が図2中の矢印θ2方向に回転し、こ
の回転角度をエンコーダが検出してコントローラ1へ供
給するようになっている。
【0026】一方、第1アーム9の他端(先方端)に
は、第3の可動部駆動ユニット10が取り付けられてい
る。第3の可動部駆動ユニット10においてもサーボモ
ータの出力軸が減速機を介して第2アーム11と連結さ
れており、これがコントローラ1から供給される動作指
令信号によって駆動され、第2アーム11が図2中の矢
印θ3方向に回転し、この回転角度をエンコーダが検出
してコントローラ1へ供給するようになっている。
【0027】第2アーム11には、第3の可動部駆動ユ
ニット10との連結部側(後方端側)に手首駆動ユニッ
トケース12が取り付けられており、先方端側に第1手
首部材13、第2手首部材14及び第3手首部材15が
取り付けられている。
【0028】ここで、手首駆動ユニットケース12内に
は、第1手首部材13、第2手首部材14、第3手首部
材15それぞれを動作させるためのサーボモータと、そ
れらサーボモータによる各手首部材の回転角度を検出す
るエンコーダ等とからなる手首駆動ユニットが収納され
ている(図示略)。又、第1手首部材13、第2手首部
材14、第3手首部材15は、それぞれ、図2中の矢印
θ4、θ5、θ6方向に回転自在な連結軸を介して順次取
り付けられている。更に、第2アーム11内には、手首
駆動ユニットにて発生された駆動力をθ4、θ5、θ6方
向の回転力として、それぞれ、第1手首部材13、第2
手首部材14、第3手首部材15へ伝達する伝達機構が
設けられている。
【0029】そして、上述したような手首部分の構成に
おいて、上記同様、手首駆動ユニットのサーボモータが
コントローラ1から供給される動作指令信号によって駆
動され、第1手首部材13、第2手首部材14、第3手
首部材15がそれぞれθ4、θ5、θ6方向に回転し、こ
れらの回転角度をエンコーダが検出してコントローラ1
へ供給するようになっている。
【0030】16は第3手首部材15の先端に取り付け
られたブラケットである。17はブラケット16を介し
てマニピュレータ5の手首部分の先端に取り付けられた
塗装ガンである。この塗装ガン17は、所定の塗料供給
管によって塗料供給装置18(図2参照。図1では図示
略)と接続されており、これにより供給される塗料をコ
ントローラ1からの指令信号に従って噴射する。
【0031】塗料供給装置18は、色替え装置、塗料タ
ンク、塗料ポンプ、塗料流量計等の塗装用機器類によっ
て構成されている。尚、図2に示すように塗料供給装置
18をマニピュレータ5の外部に設けて塗装ガン17へ
塗料を供給するのではなく、固定ベース6等に前記塗装
用機器類を設けて塗装ガン17へ塗料を供給することと
してもよい。
【0032】以上のような構成において、マニピュレー
タ5は、塗装ガン17を空間上の任意の位置、姿勢に移
動させ、上記各可動部の回転角度θ1、θ2、θ3、θ4、
θ5及びθ6によって決定される位置、姿勢にてガン先
(図中の符合17x)から塗料を噴射させ、作業ワーク
(図示略)の塗装を行う。すなわち、本塗装ロボットシ
ステムにおいては、旋回ベース7、第1アーム9、第2
アーム11、第1手首部材13、第2手首部材14及び
第3手首部材15の回転角度θ1〜θ6によって、塗装ガ
ン17の位置及び姿勢(ねらい方向)とそのときのマニ
ピュレータ5の姿勢とが決定される。そして、これらの
位置及び姿勢並びに回転角度等は、コントローラ1の演
算処理装置における演算処理により決定され、その決定
に基づく第1〜第3の可動部駆動ユニット及び手首駆動
ユニットへの動作指令信号によって制御される。
【0033】2.コントローラ1の内部構成 次に、上記コントローラ1の内部構成について詳細に説
明する。図3にコントローラ1の内部構成ブロック図を
示す。
【0034】図3において、20は制御演算装置であ
り、入力装置2や周辺機器からの信号を受けると共に、
ROM21、RAM22、タイマ23、位置軌道生成部
24及び姿勢軌道生成部25と各種の信号を授受しつつ
所定の演算処理を行い、上記各可動部を動作させるため
の信号を位置・姿勢軌道合成部26へ出力する。この制
御演算装置20での演算処理は、上記各エンコーダから
の信号を位置・姿勢軌道合成部26等を介して受け、塗
装ガン17の位置(ガン先17xの位置)、姿勢等を把
握し、塗装ガン17を次の目標位置・目標姿勢へ移動さ
せるための各可動部の回転角度を算出するものであり、
所定のサンプリング時間毎に繰り返し行われる。
【0035】ここで、ROM21は、制御演算装置20
による各種処理の演算手順等を示すプログラムや固定的
なデータ等を記憶する記憶手段であり、RAM22は、
バッテリによりバックアップされ、制御演算装置20に
よる演算結果や教示プログラム等を記憶する記憶手段で
ある。タイマ23は、上記サンプリング時間毎のクロッ
クパルスを生成するタイマであり、このタイマ23から
のクロックパルスが制御演算装置20へ供給され、これ
を受けて制御演算装置20が上記位置把握や回転角度算
出等の演算処理をサンプリング時間毎に繰り返し行う。
【0036】又、位置軌道生成部24は、制御演算装置
20から塗装ガン17の位置についての情報を供給さ
れ、これに基づいて塗装ガン17の位置軌道を生成す
る。姿勢軌道生成部25は、制御演算装置20から塗装
ガン17の姿勢についての情報を供給され、これに基づ
いて塗装ガン17の姿勢軌道を生成する。これら位置軌
道生成部24と姿勢軌道生成部25で生成された位置軌
道と姿勢軌道は制御演算装置20へ供給され、制御演算
装置20がこれらに基づく目標位置、目標姿勢に応じた
信号を位置・姿勢軌道合成部26へ出力する。
【0037】位置・姿勢軌道合成部26は、制御演算装
置20からの上記信号を受け、位置軌道と姿勢軌道との
タイミングを調整し、位置・姿勢軌道を生成してこれに
応じた各可動部に対する動作指令値をサーボ制御部27
へ供給する。又、位置・姿勢軌道合成部26は、サーボ
制御部27等を介して各エンコーダからの信号を受け、
所定の信号形態に変換して制御演算装置20へ供給す
る。
【0038】サーボ制御部27は、位置・軌道合成部2
6からの動作指令値に基づき、各サーボモータを動作さ
せるための動作指令信号を生成してサーボモータドライ
バ28へ出力すると共に、サーボモータドライバ28を
介して受けた各エンコーダからの信号を所定の信号形態
に変換して位置・姿勢軌道合成部26へ供給する。サー
ボモータドライバ28は、サーボ制御部27からの動作
指令信号をD/A変換、増幅等して送出し、各サーボモ
ータを動作させると共に、各エンコーダから受けた信号
を所定の形式に変換してサーボ制御部27へ供給する。
【0039】3.入力装置2の構成 次に、入力装置2の構成について説明する。図4に入力
装置2の外観構成を示す。図において、2stはシートス
イッチであり、このシートスイッチ2st上にオペレータ
が押下操作する指示入力キーが設けられている。入力装
置2は、これらの指示入力キーの操作に応じた指示信号
をコントローラ1へ出力し、これを受けたコントローラ
1が指示信号に応じた各種の処理を行う。指示入力キー
には、動作指示や教示入力の際に操作するキー(k1〜
k14)、ファンクションキー(F1、F2等)、数値入
力キー等があり、図示のように配置されている。
【0040】キーk1及びk2は、マニピュレータ5のX
軸方向における動作(塗装ガン17の位置の左右方向に
おける移動)を指示する主軸左右キーである。キーk3
及びk4は、マニピュレータ5のY軸方向における動作
(塗装ガン17の位置の前後方向における移動)を指示
する主軸前後キーである。キーk5及びk6は、マニピュ
レータ5のZ軸方向における動作(塗装ガン17の位置
の上下方向における移動)を指示する主軸上下キーであ
る。塗装ガン17の位置(ロボットベース座標系におけ
るガン先17xの座標値X,Y,Z)は、オペレータが
これらのキーk1〜k6を操作することによって決定され
る。
【0041】キーk7及びk8は、塗装ガン17のロール
角を指示する回転左右キーである。キーk9及びk10
は、塗装ガン17のピッチ角を指示する手首上下キーで
ある。キーk11及びk12は、塗装ガン17のヨー角を指
示する手首左右キーである。塗装ガン17の姿勢(ねら
い方向)は、オペレータによるこれらキーk7〜k12の
操作に応じたロール角、ピッチ角及びヨー角によって決
定される。
【0042】キーk13は、マニピュレータ5の動作速度
を調整する速度キーである。キーk14は、教示入力(教
示点情報の記憶等)を行う際に操作する教示キーであ
る。
【0043】尚、2disは塗装ガン17の位置、入力デ
ータ等の必要な情報を表示するディスプレイであり、2
j1及び2j2はジョイスティック、2btは非常停止ボタン
である。
【0044】<2.動作> 1.一般的な教示形態 次に、上記構成による教示作業における動作について説
明するが、本塗装ロボットシステム特有の教示形態を説
明する前に、比較対象例として、従来から一般的に行わ
れている教示形態について説明しておく。
【0045】図5にその説明のための模式図を示す。こ
の図は、マニピュレータ及び作業ワークを上側から見た
模式図であり、符号50で示す円と線分からなる図形が
マニピュレータを表し、符号W0で示す舌状の図形が作
業ワークを表している。ここでは、図示のような作業ワ
ークW0の側面を塗装する場合の教示作業を例として説
明を行う。図においては、マニピュレータ50の先端
(図中上方)にある小円と線分(符号170)が塗装ガ
ンを表しており、点P01〜P011が教示点を表してい
る。又、各教示点の位置に示した同小円と線分は、当該
各教示点に対応する塗装ガン170の位置及び姿勢を表
している。尚、図の座標系(ロボットベース座標系)
は、左右方向をX軸、上下方向をY軸、紙面貫通方向を
Z軸としている。
【0046】この教示作業では、オペレータが入力装置
を操作してマニピュレータ50を動作させ、塗装ガン1
70を教示点P01〜P011の図示の位置及び姿勢へ順
次移動させて各教示点の教示点情報を取得していく。す
なわち、オペレータは、入力装置を用いて塗装ガン17
0の位置(ロボットベース座標系の座標値X,Y,Z)
及び姿勢(ロール角,ピッチ角,ヨー角)を決定し、次
いで、当該位置及び姿勢までの塗装ガン170の移動速
度、軌道補間方法及び塗装ガン170のON/OFF等
の作業情報を決定し、これらの決定した情報を教示点情
報として記憶装置に記憶させる、という工程を第1教示
点P01から最終の第11教示点P011まで繰り返す。
【0047】その後、オペレータは、記憶させたすべて
の教示点情報を、他の必要な情報を付した教示プログラ
ムとして登録する。ここに、他の必要な情報としては、
プログラムヘッダとして記憶するプログラム作成日時や
ヴァージョン情報等、スタートやポーズのリクエスト等
に関するI/Oデータ、移動速度レート等のメインデー
タ等がある。尚、オペレータは、登録したプログラムを
再生し、適宜必要な修正を加える作業も行う。
【0048】このようにして登録される教示プログラム
のデータ例を図6に示す。この図に示すように、従来の
教示形態によって登録される教示プログラムにおいて
は、各教示点(Point1、Point2、…)毎に位置データと
姿勢データ(“Point & FigureData”)が不可分一体的
に記述され、これに上述の必要な情報が記述されたプロ
グラムヘッダ部、プログラムI/Oデータ部及びプログ
ラムメイン部が付されている。
【0049】以上のような従来の教示形態においては、
例えば、教示点の数が数百点あるような場合、オペレー
タが上記工程を繰り返し行うことが大変煩雑で工数のか
かる作業となる。本塗装ロボットシステムにおいては、
以下に述べるようにして教示に要する工数を大幅に削減
し、このような従来における不都合を解消する。
【0050】2.本塗装ロボットシステムの教示形態 (1)第1の教示形態 次に、本塗装ロボットシステム特有の教示形態について
説明する。図7に第1の教示形態による教示作業の一例
の様子を示す。この図は、マニピュレータ5及び作業ワ
ークW1を上側から見た模式図であり、上記図5同様、
円と線分からなる図形でマニピュレータ5を表し、舌状
の図形で作業ワークW1を表している。ここでも、図示
のような作業ワークW1の側面を塗装する場合の教示作
業を例として説明を行う。尚、上記同様、マニピュレー
タ5先端の小円と線分が塗装ガン17を、点P11〜P
111が教示点を、各教示点の位置に示した同小円と線分
が当該各教示点に対応する塗装ガン17の位置及び姿勢
を表し、座標系は、左右方向がX軸、上下方向がY軸、
紙面貫通方向がZ軸となっている。
【0051】位置教示 本教示形態では、初めに塗装ガン17の位置(ガン先位
置)を図8のフローチャートに示す手順に従って教示す
る。尚、本教示形態においては、以下の位置教示によっ
て教示される教示点を特に“位置教示点”という。
【0052】まず、オペレータが入力装置2の主軸左右
キーk1及びk2、主軸前後キーk3及びk4、主軸上下キ
ーk5及びk6、速度キーk13並びに教示キーk14等を操
作し、マニピュレータ5を動作させてガン先17xを作
業ワークW1側面近傍の所定位置(教示すべき教示点位
置)へ移動させる。これにより、オペレータは、教示す
るガン先17xの位置(ロボットベース座標系における
X,Y,Z)を決定する。図7の例では、最初に教示点
P11の位置がガン先17xの位置として決定される。
尚、このとき、コントローラ1は、決定された位置をマ
ニピュレータ5の各可動部に設けられたエンコーダから
供給される信号によって把握している。
【0053】次いで、オペレータは、上記決定した位置
までの塗装ガン17の移動速度、軌道補間方法及び作業
情報(塗装ガンのON/OFF)を決定し、これらを入
力装置2の所定のキーを操作して入力する。これによ
り、図8のステップS1における位置設定、速度設定、
軌道補間方法設定及び作業情報設定が完了する。
【0054】続いて、オペレータは、上記ステップS1
での設定が妥当なものであるかどうかを確認する(ステ
ップS2)。これは、マニピュレータ5と作業ワークW1
との位置関係を観察したり、コントローラ1が把握して
いるガン先17xの位置と入力した移動速度等を入力装
置2のディスプレイ2disに表示するようにしておき、
その表示内容を確認したりすること等によって行う。こ
れにより、設定が妥当でない場合には再びステップS1
へ戻り、上記同様に塗装ガン17の移動、位置設定、移
動速度等の設定を繰り返す。
【0055】ここで、オペレータは、塗装ガン17の姿
勢(ロール角、ピッチ角、ヨー角)については何等指示
入力を行っていない。すなわち、現時点では、塗装ガン
17の姿勢を当初の姿勢のままか、或いは、位置の教示
がしやすい適当な姿勢とし、姿勢の教示に関する指示入
力を特に行わない。
【0056】一方、ステップS2において、ステップS1
での設定が妥当なものであれば、オペレータはデータ記
憶を指示する所定のキーを押下する。これにより、ステ
ップS2からステップS3の処理へと進み、コントローラ
1は、設定されているガン先位置、移動速度、軌道補間
方法及び作業情報を位置教示点の情報としてRAM22
に記憶する。
【0057】そして、ステップS4へ進み、ガン先位置
を教示すべきすべての点について位置教示点の情報記憶
を行ったかどうかを判断する。この判断の結果、更に教
示すべき点があれば再びステップS1へ戻り、上記ステ
ップS1〜S3の処理を同様に繰り返す。これにより、図
7の例では、第1教示点P11から最終の第11教示点
P111まで、ガン先位置、移動速度、軌道補間方法及び
作業情報を記憶する処理が繰り返し行われる。このよう
にして最終の位置教示点までの情報がすべて記憶される
と、ステップS4からステップS5の処理へ進む。
【0058】ここで、オペレータは、ステップS1〜S
3、S4の処理を繰り返し行っている間においても、塗装
ガン17の姿勢については何等指示入力を行わない。す
なわち、位置教示点の教示を行っている間においては、
塗装ガン17の姿勢は当初の姿勢、或いは、位置の教示
を行いやすい姿勢を保持したままとし、姿勢の教示に関
する指示入力を特に行わず、姿勢に関する情報記憶操作
は行わない。
【0059】ステップS5では、オペレータがプログラ
ム登録のための所定のキーを操作する。すると、これを
受けたコントローラ1が、記憶しているすべての位置教
示点に他の必要な情報を付して位置教示プログラムとし
て登録する。すなわち、コントローラ1は、位置教示点
の情報と他の必要な情報とからなる位置教示プログラム
を生成し、RAM22に記憶する。ここに、他の必要な
情報としては、プログラムヘッダとして記憶するプログ
ラム作成日時やヴァージョン情報等、スタートやポーズ
のリクエスト等に関するI/Oデータ、移動速度レート
等のメインデータ等がある。これらの情報は、オペレー
タが入力装置2からデータを入力したり、コントローラ
1で所定の演算処理を行ったりして適宜生成する。
【0060】このようにして登録される位置教示プログ
ラムのデータ例を図9(a)に示す。図示のように、上
記ステップS1〜S5の位置教示によって生成される位置
教示プログラムは、“Program Header”(プログラムヘ
ッダ部)、“Program I/O Data”(プログラムI/Oデ
ータ部)、“Program Main”(プログラムメイン部)及
び各位置教示点(Point1、Point2、…)の“Point Dat
a”(位置教示点データ部)からなり、各位置教示点毎
には位置教示点データ(ガン先位置、移動速度、軌道補
間方法及び作業情報)のみが記述される。
【0061】次に、図8においてはステップS6へ進
み、姿勢情報が未設定の状態であるかどうか判断する。
図8の処理を過去にも行っていたり、予め適当な姿勢情
報を設定してあったりした場合には、ステップS6での
判断結果がNOとなって処理を終了するが、ここでは未
だそのようなことを行っていないので、判断結果はYE
SとなってステップS7へ進む。
【0062】ステップS7では、姿勢情報の設定を行
い、コントローラ1内に記憶させる。姿勢情報として必
要なものには、塗装ガン17の姿勢を表すロール角、ピ
ッチ角及びヨー角と、当該姿勢をとる直前の位置教示点
からの動作時間と、当該位置教示点を表す情報と、当該
姿勢をとった直後の位置教示点を表す情報とがある(以
下、それぞれを表す符号を順に、FR、FP、FY、DELAY
_TIME、P_BEFORE、P_AFTERとする。)。姿勢の教示を行
っていないときは、これらのデータは第1位置教示点と
最終位置教示点についてのみ設定する。このとき、姿勢
(ロール角FR、ピッチ角FP及びヨー角FY)は、共に
第1位置教示点について設定したものを記憶する。
【0063】例えば、図7の例では、第1位置教示点に
ついては、 ロール角FR=0°, ピッチ角FP=0°, ヨー角FY=90° 動作時間DELAY_TIME=0, 直前位置教示点P_BEFORE=P11, 直後位置教示点P_AFTER=P12 のように設定する。又、最終位置教示点(第11位置教
示点)については、 ロール角FR=0°, ピッチ角FP=0°, ヨー角FY=90° 動作時間DELAY_TIME=0, 直前位置教示点P_BEFORE=P110, 直後位置教示点P_AFTER=P111 のように設定する。尚、ここでのヨー角FYは、図7中
で右回転する方向を正と想定している。
【0064】このようにしてステップS7での姿勢情報
設定が完了すると、図8の位置教示は終了する。
【0065】姿勢教示 続いて、図10のフローチャートに示す手順に従って姿
勢の教示を行う。この姿勢教示では、コントローラ1内
において、上記位置教示によって登録した位置教示プロ
グラムをRAM22から読み出し、位置軌道生成部24
によって位置軌道を生成する。そして、その位置軌道に
基づいてマニピュレータ5を動作させ、任意のガン先位
置で姿勢を教示する。以下、この教示手順を具体的に説
明する。尚、本教示形態においては、以下の姿勢教示に
て塗装ガン17の姿勢を教示する点を特に“姿勢教示
点”という。
【0066】まず、登録した位置教示プログラムに従っ
て位置軌道を生成し、マニピュレータ5を動作させて上
述のように教示したガン先17xの位置軌道を再生す
る。その再生中の任意の位置軌道上において、姿勢を教
示しようとする代表点にガン先17xが到達したとき
に、マニピュレータ5の動作を一時停止する等して当該
代表点での塗装ガン17の姿勢を決定する。これは、オ
ペレータが回転左右キーk7及びk8、手首上下キーk9
及びk10、手首左右キーk11及びk12並びに教示キーk
14等を操作し、ロール角FR、ピッチ角FP及びヨー角F
Yを入力指示することによって行い、この入力指示され
たロール角FR、ピッチ角FP及びヨー角FYによって決
定された姿勢に当該代表点での姿勢が設定される(ステ
ップS10)。尚、このとき、コントローラ1は、設定さ
れた姿勢及び当該代表点の位置をマニピュレータ5の各
可動部に設けられたエンコーダから供給される信号によ
って把握している。
【0067】次に、オペレータが上記ステップS10での
姿勢設定が妥当なものであるかどうかを確認する(ステ
ップS11)。これは、ガン先17xの作業ワークW1に
対する位置等を確認したりして行う。これにより、姿勢
設定が妥当でない場合には再びステップS10へ戻り、上
記同様にして姿勢設定の操作を繰り返す。
【0068】一方、ステップS11において姿勢設定が妥
当なものであれば、オペレータは、他の必要なデータ算
出等を指示する所定のキーを押下する。このキー押下を
受け、コントローラ1は、当該代表点の直前位置教示点
P_BEFOREと直後位置教示点P_AFTERを求める(ステップ
S12)。
【0069】その後、コントローラ1は、設定された姿
勢をとる直前の位置教示点(ステップS12で求めた直前
位置教示点P_BEFORE)から当該代表点までの動作時間DE
LAY_TIMEを求める(ステップS13)。この動作時間DELA
Y_TIMEは、姿勢を教示した当該代表点の位置と、直前位
置教示点P_BEFORE及び直後位置教示点P_AFTERにおける
動作速度及び軌道補間情報等とに基づき、容易に算出す
ることができる。
【0070】次に、上述したように設定、算出された姿
勢教示点の情報を記憶する。すなわち、コントローラ1
が、設定された姿勢(ロール角FR、ピッチ角FP及びヨ
ー角FY)と、算出された動作時間DELAY_TIME、直前位
置教示点P_BEFORE及び直後位置教示点P_AFTERとを姿勢
教示点の情報として改めてRAM22に記憶する(ステ
ップS14)。
【0071】そして、ステップS15へ進み、姿勢を教示
すべきすべての代表点について姿勢教示点の情報記憶を
行ったかどうかを判断する。この判断の結果、更に姿勢
を教示すべき代表点があれば再びステップS10へ戻り、
上記ステップS10〜S14の処理を同様に繰り返す。
【0072】以上のように、位置教示プログラムに従っ
た位置軌道上の代表点においてのみ、塗装ガン17の姿
勢を再教示していく。例えば、図7の例では、作業ワー
クW1に対して、位置教示点P11〜P111を結ぶガン先
17xの位置軌道上から代表点A1、B1、C1、D1を抽
出し、これらの代表点においてのみ塗装ガン17の姿勢
を再教示する。そして、最終の代表点まで姿勢教示点情
報をすべて記憶し終えると、ステップS15からステップ
S16の処理へ進む。
【0073】ステップS16では、オペレータがプログラ
ム登録のための所定のキーを操作し、これを受けたコン
トローラ1が、記憶しているすべての姿勢教示点情報に
他の必要な情報を付して姿勢教示プログラムとして登録
する。ここに、他の必要な情報としては、当該姿勢教示
プログラムが前記位置教示プログラムに対応するもので
あることを示す情報がある。この情報は、オペレータが
入力装置2からデータを入力したり、コントローラ1で
所定の演算処理を行ったりして適宜生成し、コントロー
ラ1がこれを姿勢教示点情報にプログラムヘッダとして
付加し、姿勢教示プログラムとして登録する。これによ
り、図10の姿勢教示は終了する。
【0074】このようにして登録される姿勢教示プログ
ラムのデータ例を図9(b)に示す。図示のように、上
記ステップS10〜S16の姿勢教示によって生成される姿
勢教示プログラムは、“Program Header”(プログラム
ヘッダ部)及び各姿勢教示点(Point1′、Point4′、
…)の“Figure Data”(姿勢教示点データ部)からな
り、各姿勢教示点毎には姿勢教示点データ(ロール角F
R、ピッチ角FP、ヨー角FY、動作時間DELAY_TIME、直
前位置教示点P_BEFORE及び直後位置教示点P_AFTER)の
みが記述される。
【0075】尚、上記姿勢教示を行う場合には、姿勢の
情報以外に、ガン先位置、移動速度、作業情報等を同時
に修正してもよい。
【0076】再生及び修正 次に、上記位置教示及び姿勢教示によって登録したプロ
グラムの再生及び修正について説明する。再生時には、
コントローラ1内の制御演算装置20が位置教示プログ
ラム(図9(a))と姿勢教示プログラム(図9
(b))をRAM22から読み出し、位置軌道生成部2
4、姿勢軌道生成部25へ各プログラム中の情報等を供
給して軌道を生成する。
【0077】すなわち、位置軌道生成部24に対して
は、制御演算装置20が位置教示プログラム中の“Poin
t Data”(位置教示点のガン先位置、移動速度、軌道補
間方法及び作業情報)を供給し、位置軌道生成部24が
これに基づいて塗装ガン17を移動させる位置軌道を生
成する。このとき、位置軌道生成部24は、各教示点ま
での移動時間の算出も行い、生成した位置軌道と算出し
た移動時間を制御演算装置20へ出力する。
【0078】一方、姿勢軌道生成部25に対しては、制
御演算装置20は、姿勢教示プログラム中の“Figure D
ata”(姿勢教示点のロール角FR、ピッチ角FP、ヨー
角FY、動作時間DELAY_TIME、直前位置教示点P_BEFORE
及び直後位置教示点P_AFTER)を供給すると共に、位置
軌道生成部24から受けた上記移動時間も供給する。こ
れにより、姿勢軌道生成部25は、“Figure Data”に
基づいて塗装ガン17の姿勢軌道を生成すると共に、そ
の生成した姿勢軌道の再生時間を、供給された上記移動
時間に基づいて位置軌道の再生時間に合わせるように調
整し、制御演算装置20へ出力する。尚、2つの姿勢教
示点間の姿勢を補間して姿勢軌道を生成する方法として
は、最初の姿勢からある軸周りに回転させて次の姿勢に
する1軸回転法等を用いる。
【0079】そして、制御演算装置20が位置軌道生成
部24、姿勢軌道生成部25で生成された位置軌道、姿
勢軌道に基づく目標位置、目標姿勢に応じた信号を位置
・姿勢軌道合成部26へ出力する。すると、位置・姿勢
軌道合成部26は、同位置同時刻でのガン先位置、塗装
ガン17の姿勢に関するそれぞれの軌道を合成し、各可
動部に対する動作指令値をサーボ制御部27へ供給す
る。これにより、サーボ制御部27から動作指令信号が
出力されてサーボモータドライバ28が各サーボモータ
を動作させ、塗装ガン17が位置教示プログラムに従っ
た位置軌道、姿勢教示プログラムに従った姿勢軌道によ
って移動することになる。
【0080】このようにしてプログラムを再生し、塗装
ガン17の位置、姿勢、動作速度、動作軌道及び作業情
報の不具合によって塗装品質に問題が生じないか確認
し、問題がある場合にはプログラムの修正を行う。この
プログラムの修正は、確認された問題に応じて、位置軌
道を修正するのか、或いは、姿勢軌道を修正するのかを
決定し、位置軌道を修正する場合には上記図8の手順に
従って再度位置教示を行い、姿勢軌道を修正する場合に
は上記図10の手順に従って再度姿勢教示を行う。
【0081】また同時に、教示点の過不足によって塗装
品質に問題が生じないかも確認し、問題がある場合に
は、教示点を追加又は削除する。この場合のプログラム
の修正においては、確認された問題に応じて、位置教示
点を追加又は削除するのか、或いは、姿勢教示点を追加
又は削除するのかを決定し、位置教示点を追加又は削除
する場合には図8の手順に従って再度位置教示を行い、
姿勢教示点を追加又は削除する場合には図10の手順に
従って再度姿勢教示を行う。
【0082】更に、必要であれば、上記同様に問題確
認、軌道修正、教示点の追加又は削除を繰り返し行い、
修正が終了したら位置教示プログラム、姿勢教示プログ
ラムとして再登録する。
【0083】このように、本教示形態によれば、位置軌
道と姿勢軌道とをそれぞれ別々に教示するので、位置教
示点と姿勢教示点をそれぞれ必要なだけ教示、修正すれ
ばよく、教示作業における工数を削減することができ
る。
【0084】尚、上記第1教示形態では、実ロボットを
用いて教示を行う場合を例として説明したが、上記同様
の教示方法を、オペレータがグラフィック画面装置とマ
ウスやタブレット等の入力装置を利用して画面上のロボ
ットに任意の姿勢をとらせて教示を行うオフライン教示
システムに適用してもよいのは勿論である。このような
オフライン教示システムでは、画面上のロボットの動作
のさせ方や表示の仕方が実ロボットと異なる場合もある
が、生成する教示プログラムは実ロボットと同様であ
る。
【0085】(2)第2の教示形態 次に、本塗装ロボットシステム特有の第2の教示形態に
ついて説明する。初めに、図11及び図12を参照して
本教示形態の手順について概説する。
【0086】図11は、教示点とこれによる軌道の一例
を示す図であり、本教示形態による軌道生成例の様子を
示している。この図において、点P2i(i=0,1,
…,N,N+1,…)は、ガン先17xの位置軌道上の
代表点として教示する教示点であり、ガン先17xを通
過させるべき作業ワーク上の作業点の位置にある。そし
て、これらを結ぶ曲線L21がガン先17xを移動させる
軌道を表している。
【0087】図12は、本教示形態による軌道生成手順
の一例を示すフローチャートである。本教示形態では、
まず、オペレータが入力装置2を操作して軌道生成のた
めの代表点の位置(図11の点P2iの位置)を教示
し、コントローラ1がこれを教示点Piとして記憶する
(ステップS30)。このとき、塗装ガン17の姿勢(ね
らい方向)は正確に決定しなくてもよく、作業ワーク上
の作業点の位置をガン先17xが一通り通過するよう
に、その軌道の代表点を順次教示していく。
【0088】オペレータがすべての代表点を教示し終え
ると、コントローラ1において、第1番目の教示点から
最終の教示点までのそれぞれについて、近傍にある2つ
の教示点を求めて近接する3つの教示点からなるグルー
プを生成し、各グループの3教示点によって決定される
平面S2i(i=0,1,…,N,N+1,…)を求め
る(ステップS31)。例えば、図11における教示点P
20については、近傍にある教示点として教示点P21と
P2N+2が求められ、教示点P20、P21及びP2N+2が
グループとされる。そして、同図中に斜線で示した面が
このグループに対する平面S20として求められる。こ
のようにして各教示点P2iについて3教示点のグルー
プが生成され、それを含む平面S2iが求められる。
【0089】次いで、コントローラ1は、求めた各平面
の法線ベクトルを算出し、この法線ベクトルの方向を、
各平面に含まれる3教示点のグループを形成した教示点
における塗装ガン17の姿勢として記憶する(ステップ
S32)。例えば、図11における平面S20にあって
は、図示のような法線ベクトルnS20が算出され、この
方向が教示点P20における塗装ガン17の方向R20と
して記憶される。このようにして各平面S2iについて
法線ベクトルnS2iが算出され、その方向が教示点P2i
における塗装ガン17の姿勢として記憶される。
【0090】以上のようにしてガン先17xを移動させ
るべき軌道の教示点P2iが記憶されると共に、各教示
点における塗装ガン17の姿勢R2iが記憶され、これ
らの教示データからなる教示プログラムによって、塗装
ガン17の動作軌道(上記第1教示形態における位置軌
道と姿勢軌道の双方)が生成される。
【0091】次に、上述したような本教示形態における
教示手順について、図13及び図14を参照して更に具
体的に詳述する。図13は、オペレータによる入力装置
2の操作とコントローラ1における演算処理とによって
行われる本教示形態による軌道生成の処理手順を示す図
であり、図14は、同手順における一部の処理を詳細に
示した図である。
【0092】本教示形態では、まず、軌道生成において
使用する各種の変数、定数(プログラムの教示点数等)
の初期化を行い(ステップS40)、次いで、教示終了信
号が入力されるまで(ステップS41)、ステップS42〜
S48の処理を繰り返す。ここに、教示終了信号とは、オ
ペレータが入力装置2を用いてガン先17xの位置軌道
の代表点を順次教示していき、すべての代表点の教示が
完了したときに入力指示する信号である。従って、以下
に述べるステップS42〜S48の処理とは、オペレータに
よる位置教示入力と並行してコントローラ1が行う処理
である。
【0093】ステップS42では、入力装置2からのキー
入力があるまで待機し、オペレータによる何らかのキー
入力がなされると、コントローラ1がこれを受けてステ
ップS43の処理へと進む。ステップS43では当該キー入
力の種類を判別し、その判別結果に応じた後続の処理へ
と進む。
【0094】ステップS43において、当該キー入力が位
置教示キー押下の信号であった場合にはステップS44の
処理へ進む。ここに、位置教示キーとは、ガン先17x
の現在位置を教示点として記憶させる信号をコントロー
ラ1へ出力するキーである。このため、ステップS44で
は、各エンコーダからの信号によってマニピュレータ5
の各可動部の回転角度θ1〜θ6(以下、適宜回転角度ベ
クトルθ(=T(θ1,θ2,θ3,θ4,θ5,θ6))で
表す。)を取り込み、次いでステップS45でガン先17
xの位置を算出する。
【0095】ガン先17xの位置は、各可動部の回転角
度とリンク(第1アーム9、第2アーム11等)の長さ
の関数で表すことができる。この関数をf、各可動部の
回転角度を要素とする回転角度ベクトルをθ(θ=
T(θ1,θ2,θ3,θ4,θ5,θ6))とすると、ガン
先17xの位置x(xは位置ベクトル。以下、これを
“ガン先位置x”という。)は、
【数1】 として求めることができる。ステップS45では、取り込
んだ回転角度を用い、この数1によってガン先位置xを
求める。
【0096】次に、このときの各可動部の回転角度とガ
ン先17xの位置を記憶する。すなわち、上記ステップ
S44で取り込んだ各可動部の回転角度を回転角度ベクト
ルθ2i(=T(θ1i,θ2i,θ3i,θ4i,θ5i,θ6
i))、上記ステップS45で求めたガン先位置xを教示
点P2i(位置ベクトル)として記憶する(ステップS4
6)。ここに、添え字のiは教示点番号を表すカウンタ
であり、初期値は“0”で、新たな回転角度ベクトルθ
2iと教示点P2iを記憶した後にステップS47で“1”
インクリメントする。
【0097】一方、ステップS43において、キー入力が
マニピュレータ5の動作を指示する信号であった場合に
は、ステップS48の処理へ進む。ここで、かかる信号
は、上記主軸左右キーk1及びk2等をオペレータが操作
したときに入力される信号であり、ステップS48では、
コントローラ1が、その信号に従ってマニピュレータ5
の各可動部を動作させ、その位置と姿勢を変更する。こ
れにより、オペレータはガン先位置xを位置軌道上の次
の代表点へ移動させ、位置教示キーを押下して上記ステ
ップS44〜S47の処理による教示点の記憶を行うように
するのである。
【0098】このようにして教示点P2i及び回転角度
ベクトルθ2iが順次記憶され、この処理が位置軌道上
のすべての代表点について終了すると、入力装置2から
教示終了信号が入力され、ステップS41〜S48の処理を
終了する。
【0099】次に、ステップS49で教示点の総数をP2
numとして記憶する。P2numの値としては、上記ステッ
プS41〜S48の処理終了後のカウンタiの値を記憶す
る。ここで、カウンタiは、初期値が“0”であるが、
最終の教示点を記憶した後にもステップS47でインクリ
メントされているので、最終的な値は教示点の総数とな
っている。尚、カウンタiの値は、教示点総数P2num
として記憶した後にクリアし、以下の処理においても教
示点の番号を表すカウンタとして用いる。
【0100】続いて、各教示点P2iにおける塗装ガン
17の姿勢を求める。これは、第0番目から第(Pnum
−1)番目までの各教示点P2iについて(ステップS5
0)、以下に述べるステップS51〜S54の処理を行うこ
とによって求める。ステップS51では、近接する3つの
教示点のグループを生成する処理Aを行う。この処理A
は図14に示す手順によって行われる。
【0101】処理Aでは、まず、グループ生成の対象と
する教示点P2iのデータ(位置ベクトルデータ)をバ
ッファxb1に格納し(ステップS60)、次いで、当該教
示点P2iから最も近い2つの教示点までの各距離を格
納するためのバッファerror1、error2に十分大きい値を
セットする(ステップS61)。尚、以下の処理では、教
示点の位置ベクトルデータを格納するバッファとして上
記バッファxb1以外にバッファxb2、xb3を用いること
とするが、バッファxb2、xb3については特にここでの
初期化処理は要しない。
【0102】その後、第0番目から第(P2num−1)
番目までの教示点P2j(j=0、1、…、P2num−
1)について(ステップS62)、ステップS63からS67
の処理を繰り返す。ここに、カウンタjは、処理Aでの
演算処理の便宜上用いる教示点番号のカウンタであり、
カウンタiとは別個独立で、処理Aが終了すればクリア
される。
【0103】ステップS63からS67の処理は、教示点P
2jと当該教示点P2iとの距離を求める処理である。こ
のため、まずステップS63でカウンタjの値とカウンタ
iの値とが同一でない、すなわち、距離を求める対象の
教示点P2jが当該教示点P2iでない場合であるかどう
かを判別する。そして、カウンタjの値とカウンタiの
値とが同一であればステップS64以下の処理を行わずに
次のカウンタ値(j←j+1)についての処理へ進み、
同一でなければステップS64の処理へ進む。
【0104】ステップS64では、バッファxb1に格納さ
れたデータを用い、教示点P2jと当該教示点P2iとの
距離errorを求める。次いで、求めた距離errorがバッフ
ァerror1に格納された値より小さいかどうかを判断し
(ステップS65)、小さくない場合にはステップS66以
下の処理を行わずに次のカウンタ値(j←j+1)につ
いての処理へ進み、小さい場合にはステップS66の処理
へと進む。
【0105】ステップS66では、バッファerror2にバッ
ファerror1の値を格納すると共に、バッファxb3にバッ
ファxb2の値を格納する。次いで、ステップS67でバッ
ファerror1に距離errorの値を格納すると共に、バッフ
ァxb2に教示点P2jの位置ベクトルデータを格納す
る。
【0106】上記ステップS62〜S67の処理によれば、
当該教示点P2iに近い教示点の位置ベクトルデータが
バッファxb2に格納されると共に、その教示点間の距離
errorがバッファerror1に格納される。そして、そのバ
ッファxb2に格納された教示点よりも更に当該教示点P
2iに近い教示点があれば、その位置ベクトルデータが
バッファxb2に格納されると共に、その教示点間の距離
がバッファerror1に格納され、それまでバッファxb
2、error1に格納されていたデータはバッファxb3、er
ror2に格納される。従って、最終的には、当該教示点P
2iに1番近い教示点の位置ベクトルデータがバッファ
xb2に格納され、当該教示点P2iに2番目に近い教示
点の位置ベクトルデータがバッファxb3に格納されて処
理Aを終えることになる。
【0107】図13のステップS51では以上のような処
理Aを行い、当該教示点P2iとその近傍にある2つの
教示点とを選択し、これら3教示点からなるグループを
生成する。そして、ステップS52へ進み、上記バッファ
xb1、xb2、xb3に格納されている各教示点の位置ベク
トルデータを用い、3教示点によって決定される平面S
2iの方程式 AX+BY+CZ+D=0 を算出する。ここで、この平面S2iの法線ベクトルnS
2iは、(A,B,C,)と(−A,−B,−C)の2つ
である。
【0108】次に、ガン先位置xが当該教示点P2iの
位置となるときの回転角度ベクトルθ2i(各可動部の
回転角度θ1i,θ2i,θ3i,θ4i,θ5i,θ6i)から塗
装ガン17の仮の姿勢Rdumを算出する(ステップS5
3)。
【0109】ここで、マニピュレータ5の姿勢は、各可
動部の回転軸を中心とした回転マトリクスを根本から
(固定ベース6側から)掛けていくことによって算出す
ることができる。例えば、マニピュレータ5に右手座標
系を適用する場合、各可動部の回転角度をθ1、θ2、θ
3、θ4、θ5、θ6とすると、姿勢Rは、
【数2】 となる。但し、
【数3】 である。
【0110】このような算術式をもとにして塗装ガン1
7の仮の姿勢Rdumを求めた後、平面S2iの2つの法線
ベクトル(A,B,C,)、(−A,−B,−C)のう
ち、仮の姿勢Rdumに近い姿勢(方向)の法線ベクトル
を教示点P2iにおける塗装ガン17の真の姿勢R2iと
する(ステップS54)。
【0111】ステップS50〜S54の処理では以上のよう
にして各教示点P2iにおける塗装ガン17の姿勢が決
定され、これらがコントローラ1内に記憶される。これ
により、軌道を生成する教示点と姿勢についてのデータ
が教示され、これらの教示データからなる教示プログラ
ムに基づいて塗装ガン17の動作軌道が生成される。
【0112】尚、上記第2教示形態においては、近接す
る3つの教示点を選択して塗装ガン17の姿勢(法線ベ
クトル)を決定するための平面を求めることとしたが、
面が傾きを持っている場合(曲面等の場合)には、選択
する教示点を3点以上に増やし、面を求める教示点グル
ープの組み合わせを多くして複数の面を求め、それらの
中から近い面を選んで平均化する等の処理を行うことに
より対応することとしてもよい。
【0113】(3)第3の教示形態 次に、本塗装ロボットシステム特有の第3の教示形態に
ついて説明する。初めに、図15及び図16を参照して
本教示形態の手順について概説する。
【0114】図15は、教示点とこれによる軌道の一例
を示す図であり、本教示形態による教示の様子を模式的
に示している。この図において、点P3i(i=0,
1,2,…)は、ガン先17xの位置軌道上の代表点と
して教示する教示点であり、ベクトルR3j(j=0,
1,2,…)は、塗装ガン17の姿勢として教示する姿
勢(ねらい方向)を表している。この図に示すように、
本教示形態においては、R30、R31等の姿勢を、教示
点P3iの位置とは別に教示する。すなわち、ここで
は、塗装ガン17の姿勢を別個に設定した後に、ガン先
位置xの位置軌道を教示しつつ塗装ガン17の動作軌道
(位置軌道と姿勢軌道)を生成する。
【0115】図16は、本教示形態による軌道生成手順
の一例を示すフローチャートである。本教示形態では、
まず、オペレータが入力装置2を操作してマニピュレー
タ5の姿勢(図16のベクトルR3i)のみを教示する
(ステップS70)。このとき、作業点位置情報は決定し
ない(位置教示はしない。)。
【0116】次に、位置軌道を生成するための教示点P
3iの位置情報を教示する(ステップS71)。このと
き、教示点3Piについて教示するのは位置情報のみ
で、姿勢についての新たな情報は教示しない(すなわ
ち、教示点P3iは位置情報のみの教示点ということに
なり、教示点での姿勢についてはステップS72における
演算処理で決定する。)。そして、上記ステップS70で
教示した姿勢R3iと、ステップS71で教示した教示点
の位置情報とを組み合わせる処理を行い、塗装ガン17
の動作軌道データを生成する(ステップS72)。
【0117】ここで、本教示形態における位置と姿勢の
データ形式について説明する。位置データは、上記数1
で示したように3行1列の配列で表すことができる。こ
のため、現在ガン先位置xや教示点P3i等の位置デー
タはXi[3]のような1次元配列データとして取り扱
う。一方、姿勢データは、上記数2で示したように4行
4列の配列で表されるが、ここでは第4行と第4列のデ
ータが共に最終要素のみ1で他が0となることからRi
[3,3]のような3行3列の配列データとして取り扱
う。
【0118】そして、これらの配列データから動作軌道
を生成する場合には、2つの配列を
【数4】 とすることにより、作業点(教示点P3i)の位置と姿
勢を表す。従って、下記の教示においては、姿勢のみを
教示する場合には各可動部の回転角度から姿勢データ
(Ri[3,3])のみを算出し、位置のみを教示する
場合には各可動部の回転角度から位置データ(Xi
[3])のみを算出するようにする。
【0119】次に、本教示形態における教示手順につい
て、図17及び図18を参照して具体的に詳述する。こ
れらの図は、オペレータによる入力装置2の操作等とコ
ントローラ1における演算処理とによって行われる本教
示形態による軌道生成の処理手順を示す図であり、図1
7の処理が上記図16のステップS70における姿勢教示
の処理に相当し、図18の処理がステップS71及びS72
における位置教示と動作軌道データ生成の処理に相当す
る。
【0120】本教示形態では、まず、教示に必要な各種
の変数、定数(プログラムの教示点数等)の初期化を行
い(図17のステップS80)、次いで、姿勢教示終了信
号が入力されるまで(ステップS81)、ステップS82〜
S88の処理を繰り返す。ここに、姿勢教示終了信号と
は、オペレータが入力装置2を用いてマニピュレータ5
を動作させ、塗装ガン17の姿勢を順次教示していき、
必要な姿勢(生成しようとする動作軌道において必要と
なる姿勢)をすべて教示し終えたときに入力指示する信
号である。従って、以下に述べるステップS82〜S88の
処理とは、オペレータによる姿勢教示入力と並行してコ
ントローラ1が行う処理である。
【0121】ステップS82では、入力装置2からのキー
入力があるまで待機し、オペレータによる何らかのキー
入力がなされると、コントローラ1がこれを受けてステ
ップS83の処理へと進む。ステップS83では当該キー入
力の種類を判別し、その判別結果に応じた後続の処理へ
と進む。
【0122】ステップS83において、当該キー入力が姿
勢教示キー押下の信号であった場合にはステップS84の
処理へ進む。ここに、姿勢教示キーとは、マニピュレー
タ5の現在の姿勢を記憶させる信号をコントローラ1へ
出力するキーである。このため、ステップS84では、各
エンコーダからの信号によってマニピュレータ5の各可
動部の回転角度θ1〜θ6を取り込み、次いでステップS
85でマニピュレータ5の姿勢Rを算出する。
【0123】そして、この算出した姿勢Rを第j番目の
姿勢データR3jとして記憶する(ステップS86)。こ
こに、添え字のjは教示された姿勢の番号を表すカウン
タであり、ステップS86で新たな姿勢を記憶した後に
“1”インクリメントする(ステップS87)。
【0124】一方、ステップS83において、キー入力が
マニピュレータ5の動作を指示する信号であった場合に
は、ステップS88の処理へ進む。ここで、かかる信号
は、上記主軸左右キーk1及びk2や回転左右キーk7及
びk8等をオペレータが操作したときに入力される信号
であり、ステップS88では、コントローラ1が、その信
号に従ってマニピュレータ5の各可動部を動作させ、そ
の位置と姿勢を変更する。これにより、オペレータは塗
装ガン17の姿勢を適宜変更し、姿勢教示キーを押下し
て上記ステップS84〜S87の処理による姿勢データR3
jの記憶を行うようにするのである。
【0125】このようにしていくつかの姿勢データが順
次記憶され、必要な姿勢の教示が終了すると、入力装置
2から姿勢教示終了信号が入力され、ステップS81〜S
88の処理を終了し、図17の姿勢教示が終了する。尚、
この姿勢教示で教示する姿勢データR3jは任意(塗装
ガン17の任意のねらい方向)でよいが、後続の処理の
関係上、相互に逆方向の姿勢(塗装ガン17のねらい方
向が互いに逆方向となる姿勢)の姿勢データも記憶する
ようにしておく。
【0126】次に、ガン先17xの位置軌道を教示する
位置教示をしつつ塗装ガン17の姿勢を組み合わせ、動
作軌道を生成する処理について、図18を参照して説明
する。
【0127】図18の処理では、まず、姿勢を初期化す
る(ステップS90)。これは、オペレータがマニピュレ
ータ5先端の塗装ガン17のねらい方向を決定し、マニ
ピュレータ5にその状態の姿勢をとらせることによって
行う。そして、このときの塗装ガン17の姿勢R3OPを
現在姿勢R3kとしてステップS91以下の処理へ進む。
【0128】ステップS91以下では、位置の教示を開始
する。すなわち、位置教示終了信号が入力されるまで、
ステップS92〜S106の処理を繰り返す。ここに、位置
教示終了信号とは、オペレータが入力装置2を用いてガ
ン先17xの位置軌道の代表点の位置を順次教示してい
き、すべての代表点の位置教示が完了したときに入力指
示する信号である。従って、以下に述べるステップS92
〜S106の処理とは、オペレータによる位置教示等の入
力と並行してコントローラ1が行う処理である。
【0129】ステップS92では、入力装置2からのキー
入力があるまで待機し、マニピュレータ5の姿勢を、現
在の姿勢R3kを保持したままとする。そして、オペレ
ータによる何らかのキー入力がなされると、コントロー
ラ1がこれを受けてステップS93の処理へと進む。ステ
ップS93では当該キー入力の種類を判別し、その判別結
果に応じた後続の処理へと進む。
【0130】ステップS93において、当該キー入力が位
置教示キー押下の信号であった場合にはステップS94の
処理へ進む。ここに、位置教示キーとは、ガン先17x
の現在位置を教示点として記憶させる信号をコントロー
ラ1へ出力するキーである。このため、ステップS94で
は、各エンコーダからの信号によってマニピュレータ5
の各可動部の回転角度θ1〜θ6を取り込み、次いでステ
ップS95でガン先位置xを算出する。
【0131】次に、算出したガン先位置xと、このとき
の塗装ガン17の姿勢R3kを、それぞれ、教示点P3i
(位置ベクトル)、姿勢R3iとして記憶する(ステッ
プS96)。ここに、添え字のiは教示点番号を表すカウ
ンタであり、初期値は“0”である。すなわち、位置教
示キーが押下されたときのガン先位置xを第i番目の教
示点P3iの位置として記憶すると共に、そのとき設定
されている塗装ガン17の姿勢R3kを当該教示点にお
ける塗装ガン17の姿勢R3iとして記憶するのであ
る。又、ステップS96では、この記憶処理が終了した時
点でカウンタiを“1”インクリメントする処理も行
う。
【0132】続いてステップS97へ進み、ガン先位置x
のデータをP3i、塗装ガン17の姿勢のデータをR3i
とし、それらの位置及び姿勢に応じた各可動部の回転角
度θを求める。ここで、カウンタiの値がステップS96
でインクリメントされているので、ステップS97でいう
位置P3i及び姿勢R3iは、ステップS96で記憶した位
置及び姿勢の次の目標位置及び目標姿勢を意味する。す
なわち、ステップS97では、ステップS96で記憶した位
置及び姿勢の次の目標位置及び目標姿勢をオペレータが
入力装置2から入力指示する等して指定し、コントロー
ラ1がそれらを逆変換してマニピュレータ5を指定され
た目標位置及び目標姿勢とするための各可動部の目標回
転角度θ1〜θ6を求める。そして、ステップS98でコン
トローラ1が各可動部のサーボモータへ動作指令信号を
出力し、マニピュレータ5を動作させて各可動部の回転
角度をステップS97で求めた目標回転角度とし、塗装ガ
ン17の位置とマニピュレータ5の姿勢を前記目標位置
及び目標姿勢へ変更する。
【0133】一方、ステップS93において、キー入力が
姿勢の反転指示入力であった場合には、ステップS99の
処理へ進む。ここで、姿勢の反転指示とは、塗装ガン1
7の姿勢を反転させ、ねらい方向のベクトル(現在姿勢
データ)を−I(負の単位行列)をかけたものに書き換
える指示である。従って、この指示入力を受けたコント
ローラ1は、まず現在の姿勢R3kを姿勢−R3kとした
(ステップS99)後、上記姿勢教示で得た互いに逆方向
の姿勢(R3jp、R3jnとする。)のうち、現在選択さ
れていない方の姿勢データに現在姿勢R3kのデータを
書き換える処理を行う(ステップS100〜S102)。すな
わち、コントローラ1は、現在姿勢R3kのデータが互
いに逆方向の姿勢のうちの一方の姿勢R3jpのデータと
なっているかどうか判断し(ステップS100)、姿勢R
3jpのデータとなっていれば現在姿勢R3kのデータを
姿勢R3jnのものに書き換え(ステップS101)、なっ
ていなければ現在姿勢R3kのデータを姿勢R3jpのも
のに書き換える(ステップS102)。
【0134】他方、ステップS93において、キー入力が
姿勢選択指令入力であった場合には、ステップS103の
処理へ進む。ここで、姿勢選択指令とは、上記姿勢教示
で教示した姿勢のうちのいずれかを選択する旨の指令で
ある。従って、この指令入力を受けたコントローラ1
は、教示されている姿勢の姿勢番号の入力待ち状態とな
る(ステップS103)。
【0135】そして、姿勢番号が入力されると、現在姿
勢R3kの姿勢データを指定された姿勢番号の姿勢のも
のに変更する(ステップS104)。但し、ここでは、現
在姿勢R3kの姿勢データとしてコントローラ1内に一
時記憶されているデータを指定された姿勢番号の姿勢デ
ータに書き換えるだけで、実際の姿勢の変更は次のステ
ップS105で行う。
【0136】ステップS105では、現在のガン先位置x
を算出した後、ガン先位置xをその位置のままとして姿
勢を上記ステップS104で変更した姿勢データの姿勢R
3kへ変更する。これにより、ガン先位置xを現在位置
のまま保持しつつ、塗装ガン17の姿勢を指定された姿
勢番号の姿勢へ変更する。尚、ここでのガン先位置xの
算出も上記同様に各可動部のエンコーダからの信号を取
り込んで行い、回転角度θの算出も上記同様にガン先位
置と姿勢のデータを逆変換することによって行う。
【0137】又、ステップS93において、キー入力がマ
ニピュレータ5の動作を指示する信号であった場合に
は、ステップS106の処理へ進む。ここで、かかる信号
は、上記同様、主軸左右キーk1及びk2等をオペレータ
が操作したときに入力される信号である。ステップS10
6では、コントローラ1がその信号に従ってマニピュレ
ータ5の各可動部を動作させ、その位置と姿勢を変更す
る。
【0138】このようにして、ステップS94〜S98では
教示点の位置データ及び姿勢データの記憶処理と次の位
置及び姿勢への移動処理を行い、ステップS99〜S102
では塗装ガン17の姿勢反転処理を行い、ステップS10
3〜S105では既に教示してある姿勢を選択して塗装ガン
17の姿勢を変更する処理を行い、ステップS106では
キー操作によってガン先位置xと姿勢を変更する処理を
行う。これらの処理により、教示点P3iの位置及びそ
の位置での塗装ガン17の姿勢R3iを順次記憶してい
く。そして、これが軌道上のすべての代表点について終
了すると、入力装置2から教示終了信号が入力され、ス
テップS91〜S106の処理を終了する。
【0139】その後、ステップS107の処理へと進み、
上記ステップS91〜S106の処理によって記憶された教
示点P3iの位置データと姿勢R3iの姿勢データをすべ
て統括して記憶し、教示プログラムとして登録する。
【0140】尚、上記第3教示形態においては、姿勢の
教示をまとめて行った後に位置を教示しつつ位置データ
と姿勢データを記憶するものであったが、姿勢教示を位
置教示中に行うこととしてもよい。
【0141】又、オフラインティーチング等、ロボット
言語で教示を行う場合には、図19に示すように教示点
位置Piと姿勢Riを組み合わせて表記することにより教
示データを生成することができる。尚、図19におい
て、 MOVE P1R1 TO P2R1 LINE V=100 A=800 とは、位置P1、姿勢R1から位置P2、姿勢R1まで、速
度1m/s、加速度8m/s2の直線運動で動作せよと
いう命令であり、 CHANGE DEREC R2 TO R1 POINT P3 とは、位置P3において姿勢をR2からR1へ変更せよと
いう命令である。
【0142】(4)第4の教示形態 次に、本塗装ロボットシステム特有の第4の教示形態に
ついて説明する。初めに、図20及び図21を参照して
本教示形態の手順について概説する。
【0143】図20は、3つの教示点によって定義され
る作業面を教示して塗装ガン17の姿勢を決定する様子
の一例を示した図である。この図において、点P40、
P41、…、P4k、…は、ガン先17xの位置軌道L4
上の代表点として教示する教示点であり、作業ワークW
4上の作業点の位置にある。一方、点PS400〜PS4
02、PS410〜PS412、…、PS4i0〜PS4i2、…
は、作業面を定義する3点として教示する面教示点であ
り、平面S40、S41、…、S4i、…は、それら面教
示点によって定義される作業面である。そして、これら
平面の法線ベクトルR40、R41、…、R4i、…が各
作業面での塗装ガン17の姿勢となる。尚、教示する作
業面は曲面等であってもよいが、本教示形態では説明簡
略化のためにこれを平面として話を進める。
【0144】図21は、本教示形態による軌道生成手順
の一例を示すフローチャートである。本教示形態では、
まず、上述の作業面S4i(i=0、1、…)を教示す
る(ステップS110)。この処理は、オペレータが入力
装置2を操作して作業面上の3つの代表点の位置(図2
0の面教示点PS4i0〜PS4i2の位置)を教示し、コ
ントローラ1がこれらの位置データから平面(作業面S
4i)を決定することによって行う。
【0145】次いで、各作業面S4iに対し、塗装ガン
17の姿勢(ねらい方向)R4ijを教示する(ステップ
S111)。ここで、各作業面S4iに対する姿勢としては
いくつ教示してもよい(姿勢R4ijの添え字jはこのた
めのカウンタである。)。例えば、作業ワークが図22
に示すような箱形である場合、側壁面(作業面)に対す
る塗装ガン17のねらい方向としては内側の姿勢R4i1
と外側のR4i2の2通りがあるので、これらの姿勢を双
方共教示する。このようなことから、ステップS111で
各作業面S4iに対して指定する姿勢の数は任意とする
のである。
【0146】次に、軌道を生成するための教示点P4k
を教示する(ステップS112)。ここで教示する教示点
P4kは、図20に示すように、ガン先17xを移動さ
せるべき軌道L4上の代表点として教示する教示点であ
る。これらの教示点をすべて教示し終えた後、ステップ
S113の処理へと進み、動作順序(教示点の通過順序)
と各教示点での姿勢を決定して動作軌道データを生成す
る。
【0147】次に、上述したような本教示形態における
教示手順について、図23及び図24を参照して更に具
体的に詳述する。図23及び図24は、オペレータによ
る入力装置2の操作とコントローラ1における演算処理
とによって行われる作業面S4iと姿勢R4ijの教示手
順を示す図である(上記ステップS110とS111の処理に
相当する。)。尚、以下の説明における位置と姿勢のデ
ータ形式は、上記第3教示形態のものと同様である。
【0148】図23の処理では、まず、作業面の数をカ
ウントするためのカウンタP4numを初期化する
(“0”とする)と共に、以下に続く演算処理で使用す
るその他の変数を初期化する(ステップS120)。次い
で、面教示終了信号が入力されるまで(ステップS12
1)、ステップS122〜S133の処理を繰り返す。ここ
に、面教示終了信号とは、作業ワークに対する作業面を
順次教示していき、すべての作業面の教示が完了したと
きにオペレータが入力指示する信号である。従って、以
下に述べるステップS122〜S133の処理とは、オペレー
タによる面教示入力と並行してコントローラ1が行う処
理である。
【0149】ステップS122では、入力装置2からのキ
ー入力があるまで待機し、オペレータによる何らかのキ
ー入力がなされると、コントローラ1がこれを受けてス
テップS123の処理へと進む。ステップS123では当該キ
ー入力の種類を判別し、その判別結果に応じた後続の処
理へと進む。
【0150】ステップS123において、当該キー入力が
位置教示キー押下の信号であった場合にはステップS12
4の処理へ進む。ここにいう位置教示キーは、ガン先1
7xの現在位置を面教示点として一時記憶させる信号を
コントローラ1へ出力するキーである。このため、ステ
ップS124では、各エンコーダからの信号によってマニ
ピュレータ5の各可動部の回転角度θ1〜θ6を取り込
み、次いで、それらの取り込んだ回転角度からガン先位
置xを算出する(ステップS125)。尚、このガン先位
置の算出手法は上述の教示形態における手法と同様であ
る。
【0151】次に、算出したガン先位置xを面教示点P
S4ilの位置データとして記憶する(ステップS12
6)。ここに、添え字のiは、作業面番号を表すカウン
タであり、初期値は“0”である。又、添え字のlは、
現在教示しようとしている作業面を定義する面教示点位
置データの番号であり、初期値は“0”である。この面
教示点位置データのカウンタlは、ステップS126での
記憶処理後に1インクリメントする(ステップS12
7)。
【0152】続いて、ステップS128において、作業面
を決定するに足りる面教示点位置データが得られている
かどうか判断する。ここでは、作業面を平面とすること
としているので、3つの面教示点位置データを一組の面
生成データとする。このため、上記ステップS127でイ
ンクリメントした後のカウンタlの値が3以上かどうか
を判断することにより、面教示点位置データが3点分得
られているか判断する。
【0153】ステップS128での判断の結果、カウンタ
lの値が3以上であった場合には、ステップS129へ進
み、カウンタlの値をクリアする。その後、記憶されて
いる3つの面教示点PS4i0、PS4i1及びPS4i2
位置データに基づき、平面の方程式を算出し(ステップ
S130)、この平面を作業面S4i(方程式:AiX+Bi
Y+CiZ+Di=0)として決定し、記憶する(ステッ
プS131)。
【0154】そして、ステップS132で作業面数のカウ
ンタP4numと作業面番号のカウンタiを1インクリメ
ントし、再び入力装置2からのキー入力の待機状態(ス
テップS122)に戻る。尚、ステップS128でカウンタl
の値が3以上でなかった場合には、ステップS129〜S1
32の処理は行わずにキー入力の待機状態に戻る。
【0155】一方、ステップS123において、キー入力
がマニピュレータ5の動作を指示する信号であった場合
には、ステップS133の処理へ進む。ここで、かかる信
号は、上記同様、主軸左右キーk1及びk2等をオペレー
タが操作したときに入力される信号であり、ステップS
133では、コントローラ1が、その信号に従ってマニピ
ュレータ5の各可動部を動作させ、その位置と姿勢を変
更する。これにより、オペレータはガン先位置xを各作
業面上の代表点へ順次移動させ、位置教示キーを押下し
て上記ステップS124〜S132の処理による面教示点位置
データの記憶と作業面決定の処理を行うのである。
【0156】このようにして面教示点PS4ilの位置デ
ータが順次記憶され、3つの面教示点位置データが記憶
される度に作業面S4iが決定されていく。そして、す
べての作業面を教示し終えると、オペレータが入力装置
2から面教示終了信号を入力し、これにより、ステップ
S121〜S133の処理を終了して図23の処理を終了す
る。
【0157】次に、上述したように決定した各作業面S
4iにおける塗装ガン17の姿勢R4ijを図24に示す
手順で算出する。図24の処理では、作業面番号カウン
タiの値が“0”〜“P4num−1”までの各作業面に
ついて(ステップS140)、下記ステップS141の処理を
繰り返し行うことによって姿勢R4ijを得る。ここで、
教示点数カウンタP4numの値は、上記図23のステッ
プS131で最終の作業面が決定された後にもインクリメ
ントされているので、その数値自体は作業面数を表す
が、ここでは“0”を含めたカウンタiのカウント上限
値として用いるため、ステップS141の処理はカウンタ
iが“P4num−1”となるまで繰り返すこととする。
【0158】ステップS141では、作業面S4iの法線ベ
クトルを算出し、その方向を当該作業面S4iにおける
塗装ガン17の姿勢R4ijとして記憶する。ここで、作
業面S4iは“方程式:AiX+BiY+CiZ+Di=
0”のように表されて記憶されているので、法線ベクト
ルとしては、(Ai,Bi,Ci)と(−Ai,−Bi,−
Ci)とが求められ、これらがそれぞれ作業面S4iにお
ける姿勢R4ip、R4inとして記憶される。尚、姿勢R
4ijは、上述したように一つの作業面に対していくつ指
定してもよいものであるが、ここでは互いに逆方向の
(Ai,Bi,Ci)と(−Ai,−Bi,−Ci)を用いる
こととするので、カウンタjを数値表示とせずに文字表
示とした。
【0159】このような処理により、各作業面S4iに
おける姿勢R4ijを順次算出、記憶していく。すべての
作業面について姿勢データが得られると、図24の処理
を終了する。
【0160】ここで、作業ワークについての各作業面S
4iが教示されることから、コントローラ1において
は、作業ワークの形状を立体的に把握することができ
る。従って、この情報を記憶しておき、マニピュレータ
5と作業ワークとの干渉チェックに用いることとしても
よい。
【0161】以上のようにして各作業面における塗装ガ
ン17の姿勢データを取得した後、上記図21のステッ
プS112及びS113の処理を行い、動作軌道データを生成
する。これらの処理手順については特に詳細に図示はし
ないが、ガン先17xの位置軌道を生成するための教示
点P4kの位置教示(ステップS112)は、上記各教示形
態で説明した位置教示と同様である。
【0162】一方、動作順序と各教示点での姿勢を決定
して動作軌道データを生成する処理(ステップS113)
は、教示点Pkのプログラム中での出現順序(通過順
序)と、姿勢データR4iの中から選択した各教示点Pk
における姿勢(当該各教示点Pkが含まれる各作業面の
姿勢データから選択した姿勢)とをそれぞれ指定し、そ
れらを組み合わせて教示プログラムとして登録すること
によって行う。又、例えば、上記第3教示形態同様、位
置教示を行いつつ、姿勢を記憶されている姿勢データか
ら選択して適宜変更し、位置と姿勢とを組み合わせて順
次教示、記憶していくことによって動作軌道データを生
成することとしてもよい。
【0163】
【発明の効果】以上説明したように本発明によれば、作
業治具の位置を移動させる軌道上の代表点位置を入力教
示してこれを記憶する一方で、作業治具の姿勢を教示し
てこれを記憶し、それらの記憶した情報に基づいて作業
治具の動作軌道を生成することとしたので、位置と姿勢
とをそれぞれ別個に教示して動作軌道の生成を行うこと
ができる。これにより、教示作業に要する工数を削減す
ることができ、オペレータの労力軽減、教示作業に要す
る時間の短縮及び生産効率の向上等を図ることができる
という効果が得られる。
【0164】又、このように位置と姿勢の教示を分離
し、位置と姿勢の情報を別々に編集可能としているの
で、それぞれの出現順に精度よく教示を行うことがで
き、作業品質を向上させることができるという効果が得
られる。更に、姿勢について補正が必要な場合にも効率
よく修正することができるので、作業治具や動作パター
ンを変更する場合にもすばやく対応することができる。
従って、修正、編集時間が短縮され、生産効率が向上す
ると共に、オペレータのロボット付近での作業時間が短
縮され、労力が軽減される上に安全性も向上するという
効果が得られる。
【0165】ここで、請求項2記載の発明によれば、代
表点位置と作業治具の移動形態を入力教示してこれらに
基づく位置軌道を生成する一方で、軌道上の任意の位置
における作業治具の姿勢を入力教示してこれらに基づく
姿勢軌道を生成し、位置軌道と姿勢軌道とを合成して動
作軌道を生成することとしたので、位置軌道上の任意の
姿勢教示位置についてのみ姿勢を教示して動作軌道を生
成することができる。これにより、上記同様オペレータ
の教示に要する工数を削減することができると共に、姿
勢があまり変化せず位置だけが変化する場合、或いは、
位置が変化せず姿勢だけが変化する場合において、変化
の少ない方の教示点数を少なくすることができ、教示プ
ログラムの大きさを小さくすることができる。
【0166】一方、請求項3記載の発明によれば、教示
された代表点が含まれる面を求め、当該面に対して所定
の方向をなす姿勢を当該代表点における作業治具の姿勢
とすることとしたので、代表点位置のみを教示すれば姿
勢を補正しなくても適切な姿勢を自動的に生成していく
ことができる。これにより、教示作業に要する工数削減
及び時間の短縮を図ることができると共に、作業治具の
姿勢精度が高められて作業品質が向上するという効果が
得られる。
【0167】又、請求項4記載の発明によれば、指示入
力手段によって姿勢が選択指示されたとき、当該姿勢の
情報を動作軌道の生成に使用することとしたので、位置
教示とは別に教示した姿勢を適宜使用して動作軌道の生
成を行うことができる。更に、請求項5記載の発明によ
れば、作業面を教示してこれに対して所定の方向をなす
姿勢を当該作業面における作業治具の姿勢とすることと
したので、作業ワークの形状を立体的に把握し、その各
作業面に合致した作業治具の姿勢を取得して動作軌道の
生成に用いることができる。尚、このように立体的に把
握した作業ワークの形状に基づいてロボットと作業ワー
クの干渉チェックを行うこともできるので、把握した作
業ワークの立体的形状を衝突防止を図る手段として用い
て更に安全性を向上させることもできる。
【0168】以上のような本発明は、実ライン、或い
は、オフライン教示のロボットを用いた教示作業だけで
なく、ロボット言語による教示やオフライン教示システ
ムにおいても有効である。特に、実ラインロボットに適
用して直接教示を行う際にはラインの停止時間を短くし
て生産効率を高めることができるという効果も得られ
る。
【図面の簡単な説明】
【図1】 本発明の一実施形態によるロボット制御装置
を適用した塗装ロボットシステムの外観構成を示す図で
ある。
【図2】 同塗装ロボットシステムを動作形態が把握で
きるように模式的に示した図である。
【図3】 コントローラ1の内部構成ブロック図であ
る。
【図4】 入力装置2の外観構成を示す図である。
【図5】 従来一般の教示形態の様子を示す説明図であ
る。
【図6】 同教示形態によって登録される教示プログラ
ムのデータ例を示す図である。
【図7】 本塗装ロボットシステムにおける第1の教示
形態による教示作業の一例の様子を示す図である。
【図8】 第1教示形態における位置教示の手順を示す
フローチャートである。
【図9】 第1教示形態によって登録される教示プログ
ラムのデータ例を示す図である。
【図10】 第1教示形態における姿勢教示の手順を示
すフローチャートである。
【図11】 本塗装ロボットシステムにおける第2の教
示形態による軌道生成例の様子を示す図である。
【図12】 第2教示形態による軌道生成手順の一例を
示すフローチャートである。
【図13】 第2教示形態による軌道生成の処理手順を
詳細に示した図である。
【図14】 図13における一部の処理を詳細に示した
図である。
【図15】 本塗装ロボットシステムにおける第3の教
示形態による軌道生成例の様子を示す図である。
【図16】 第3教示形態による軌道生成手順の一例を
示すフローチャートである。
【図17】 第3教示形態における姿勢教示の処理手順
を詳細に示した図である。
【図18】 第3教示形態における位置教示と動作軌道
データ生成の処理手順を詳細に示した図である。
【図19】 ロボット言語で教示を行う場合の命令表記
例を示す図である。
【図20】 本塗装ロボットシステムにおける第4の教
示形態による作業面教示と姿勢決定の様子の一例を示し
た図である。
【図21】 第4教示形態による軌道生成手順の一例を
示すフローチャートである。
【図22】 箱形の作業ワークに対する姿勢教示の例を
示す図である。
【図23】 第4教示形態における作業面S4iの教示
手順を詳細に示した図である。
【図24】 第4教示形態における姿勢R4ijの教示手
順を詳細に示した図である。
【符号の説明】
1 コントローラ 2 入力装置 5 マニピュレータ 17 塗装ガン 17x ガン先 20 制御演算装置 22 RAM 24 位置軌道生成部 25 姿勢軌道生成部 26 位置・姿勢軌道合成部

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 教示された動作軌道に従って作業治具の
    位置と姿勢を再生するロボット制御装置において、 作業治具の位置を移動させる軌道上の代表点位置を入力
    教示する位置教示手段と、 前記位置教示手段によって教示された代表点の情報を記
    憶する第1の記憶手段と、 作業治具の姿勢を教示する姿勢教示手段と、 前記姿勢教示手段によって教示された姿勢の情報を記憶
    する第2の記憶手段と、 前記第1の記憶手段に記憶された代表点の情報と前記第
    2の記憶手段に記憶された姿勢の情報とに基づいて前記
    動作軌道を生成する演算手段とを有することを特徴とす
    るロボット制御装置。
  2. 【請求項2】 請求項1記載のロボット制御装置におい
    て、 前記位置教示手段は、代表点位置に加え、当該代表点に
    よって代表される軌道における作業治具の移動形態を入
    力教示する手段であり、 前記姿勢教示手段は、前記軌道上の任意の位置における
    作業治具の姿勢を入力教示する手段であり、 前記演算手段は、前記第1の記憶手段に記憶された代表
    点の情報に基づいて作業治具を移動させる位置軌道を生
    成すると共に、前記第2の記憶手段に記憶された姿勢の
    情報に基づいて前記位置軌道上を移動させる際の作業治
    具の姿勢軌道を生成し、前記位置軌道と前記姿勢軌道と
    を合成して前記動作軌道を生成することを特徴とするロ
    ボット制御装置。
  3. 【請求項3】 請求項1記載のロボット制御装置におい
    て、 前記姿勢教示手段は、前記位置教示手段によって教示さ
    れた代表点が含まれる面を求め、当該面に対して所定の
    方向をなす姿勢を当該代表点における作業治具の姿勢と
    することを特徴とするロボット制御装置。
  4. 【請求項4】 請求項1記載のロボット制御装置におい
    て、 前記第2の記憶手段に記憶された姿勢のうちのいずれか
    を選択指示する指示入力手段を更に有し、 前記演算手段は、前記指示入力手段によって姿勢が選択
    指示されたとき、当該姿勢の情報を前記第2の記憶手段
    から読み出して前記動作軌道の生成に使用することを特
    徴とするロボット制御装置。
  5. 【請求項5】 請求項1記載のロボット制御装置におい
    て、 前記姿勢教示手段は、前記作業治具の作業面を入力教示
    すると共に、当該作業面に対して所定の方向をなす姿勢
    を当該作業面における作業治具の姿勢とすることを特徴
    とするロボット制御装置。
JP35841697A 1997-12-25 1997-12-25 ロボット制御装置 Pending JPH11191005A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35841697A JPH11191005A (ja) 1997-12-25 1997-12-25 ロボット制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35841697A JPH11191005A (ja) 1997-12-25 1997-12-25 ロボット制御装置

Publications (1)

Publication Number Publication Date
JPH11191005A true JPH11191005A (ja) 1999-07-13

Family

ID=18459188

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35841697A Pending JPH11191005A (ja) 1997-12-25 1997-12-25 ロボット制御装置

Country Status (1)

Country Link
JP (1) JPH11191005A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007334613A (ja) * 2006-06-14 2007-12-27 Yaskawa Electric Corp ロボットの制御装置
CN105466320A (zh) * 2015-12-11 2016-04-06 中国计量学院 工业机器人轨迹与位置检测装置
JP2017525574A (ja) * 2014-09-02 2017-09-07 ザ ジョンズ ホプキンス ユニバーシティ 柔軟な人間−機械協働のためのシステムおよび方法
DE102018008395A1 (de) 2017-10-31 2019-05-02 Fanuc Corporation Robotereinlernvorrichtung zum melden oder korrigieren einer positionsabweichung von einlernpunkten oder einer einlernlinie
WO2020135608A1 (zh) * 2018-12-28 2020-07-02 深圳市越疆科技有限公司 工业机器人的示教轨迹复现方法、系统及机器人
CN112969590A (zh) * 2018-11-13 2021-06-15 利萨·德雷克塞迈尔有限责任公司 用于训教并且/或者运行蒙覆方法和/或蒙覆装置的方法、用于蒙覆薄膜元件的方法、用于插装和改装用来蒙覆薄膜元件的蒙覆方法和/或蒙覆装置的方法、用于蒙覆薄膜元件的装置和训教站以及薄膜元件
JP7011700B1 (ja) * 2020-11-13 2022-01-27 株式会社大気社 変換方法および変換アプリケーション

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007334613A (ja) * 2006-06-14 2007-12-27 Yaskawa Electric Corp ロボットの制御装置
JP2017525574A (ja) * 2014-09-02 2017-09-07 ザ ジョンズ ホプキンス ユニバーシティ 柔軟な人間−機械協働のためのシステムおよび方法
JP2020192672A (ja) * 2014-09-02 2020-12-03 ザ ジョンズ ホプキンス ユニバーシティ 柔軟な人間−機械協働のためのシステムおよび方法
CN105466320A (zh) * 2015-12-11 2016-04-06 中国计量学院 工业机器人轨迹与位置检测装置
CN105466320B (zh) * 2015-12-11 2017-11-10 中国计量学院 工业机器人轨迹与位置检测装置
DE102018008395A1 (de) 2017-10-31 2019-05-02 Fanuc Corporation Robotereinlernvorrichtung zum melden oder korrigieren einer positionsabweichung von einlernpunkten oder einer einlernlinie
US10661440B2 (en) 2017-10-31 2020-05-26 Fanuc Corporation Robot teaching device for warning or correcting positional deviation of teaching points or teaching line
DE102018008395B4 (de) 2017-10-31 2021-10-28 Fanuc Corporation Robotereinlernvorrichtung zum melden oder korrigieren einer positionsabweichung von einlernpunkten oder einer einlernlinie
CN112969590A (zh) * 2018-11-13 2021-06-15 利萨·德雷克塞迈尔有限责任公司 用于训教并且/或者运行蒙覆方法和/或蒙覆装置的方法、用于蒙覆薄膜元件的方法、用于插装和改装用来蒙覆薄膜元件的蒙覆方法和/或蒙覆装置的方法、用于蒙覆薄膜元件的装置和训教站以及薄膜元件
WO2020135608A1 (zh) * 2018-12-28 2020-07-02 深圳市越疆科技有限公司 工业机器人的示教轨迹复现方法、系统及机器人
JP7011700B1 (ja) * 2020-11-13 2022-01-27 株式会社大気社 変換方法および変換アプリケーション

Similar Documents

Publication Publication Date Title
US5020001A (en) Robot controller
EP0523889B1 (en) Apparatus for controlling industrial robot to perform coordinated operation using teaching playback method and method thereof
JP3207728B2 (ja) 冗長マニピュレータの制御方法
US11045954B2 (en) Robot system and method of controlling the same
EP3718707A1 (en) Skill transferring machinery
KR20180069031A (ko) 로봇의 다이렉트 교시방법
EP0199821A1 (en) Method of forming positional data on control shafts of robot
US7248012B2 (en) Teaching data preparing method for articulated robot
JP2004094399A (ja) 多関節マニピュレータの制御方法及びその制御プログラム、並びにその制御システム
JPH02198783A (ja) 産業用ロボットの位置決め補正方式
JP4396553B2 (ja) ロボット制御装置,コンピュータプログラム
JP2007000954A (ja) ロボット教示装置及び方法
JPH11191005A (ja) ロボット制御装置
JP2001038662A (ja) 作業ロボットの校正方法
JP3577124B2 (ja) 力制御ロボットを用いて嵌合データを取得する方法
JP2703767B2 (ja) ロボットの教示データ作成方法
JPH08155647A (ja) 溶接ロボットのウィービング制御装置
JPH1190868A (ja) ロボット制御装置
JP2752784B2 (ja) ロボットの姿勢修正方法
JPS61253510A (ja) ロボツト制御デ−タの確認方法
JP3884928B2 (ja) 多関節ロボットの姿勢算出方法および姿勢算出装置
Maťuga Control and positioning of robotic arm on CNC cutting machines and their applications in industry
WO2022004647A1 (ja) 数値制御システム
JP2914719B2 (ja) 工業用ロボット
JP2922617B2 (ja) 力制御ロボットにおける押付力方向の指定方法

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20041004

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051006

A02 Decision of refusal

Effective date: 20060405

Free format text: JAPANESE INTERMEDIATE CODE: A02