(57)【要約】【課題】  ロボットの作業プログラム作成の工数を削減する。【解決手段】  ロボットの作業動作には、作業対象のワークの種類に関係なく各ワーク共通の作業動作(200,201,205,206等)と、作業ワークにより変わる作業動作(203等)がある。そこで、作業ワークに依存した変更を必要とする第１プログラム部と、作業ワークの種類に依存しない第２プログラム部で構成された作業プログラム定義データを設定記憶しておく。また、ワークの位置姿勢情報を示す作業部位定義データを入力記憶させる。変更前の第１プログラム部と、前記作業部位定義データに基づいて、第１プログラム部に変更を施して該第１プログラム部を完成させ、全体の作業プログラムを完成させる。新たな作業ワークに対しては、作業部位定義データを入力するだけで、作業プログラムが作成できる。よって、多品種のワークに対応し容易に作業プログラムを作成することができる。【選択図】          図７
2005149216.tif 000002
【特許請求の範囲】
【請求項１】
ロボットに作業指示を与える作業プログラムの作成装置において、
作業対象となる作業ワークに依存した変更を必要とするプログラム部と、作業ワークの種類に依存しないプログラム部からなる作業プログラム定義データ、及びワークの位置姿勢情報を示す作業部位定義データを記憶する記憶手段と、
前記作業部位定義データに基づいて、前記作業対象となる作業ワークに依存した変更を必要とするプログラム部に前記変更を施して作業プログラムを完成させる手段と、
を備えた作業プログラム作成装置。
【請求項２】
ロボットに作業指示を与える作業プログラムの作成装置において、
作業対象となる作業ワークに依存した変更を必要とする第１プログラム部と、前記変更後の第１プログラム部との経路接続に伴う位置・姿勢の変更以外は、対象ワークの種類に依存しない第２プログラム部からなる作業プログラム定義データ、及びワークの位置姿勢情報を示す作業部位定義データを記憶する記憶手段と、
第１プログラム部と第２プログラム部の移動経路を接続するための所定ルールを記憶する手段と、
前記変更前の第１プログラム部と、前記作業部位定義データに基づいて、第１プログラム部に前記変更を施して該第１プログラム部を完成させる手段と、
前記所定ルールに基づいて第２プログラム部に記述された位置データを修正し、前記完成した第１プログラム部と第２プログラム部の移動経路を接続する手段と、
を備えた作業プログラム作成装置。
【請求項３】
前記作業部位定義データは、作業ワークの図面データから作成することを特徴とする請求項１又は請求項２に記載の作業プログラム作成装置。
【請求項４】
前記作業部位定義データは、作業ワークをカメラで撮像した画像から作成することを特徴とする請求項１又は請求項２に記載の作業プログラム作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットが行う作業を指示する作業プログラムを作成する作業プログラム作成装置に関する。
【背景技術】
【０００２】
産業用ロボットは、スポット溶接、アーク溶接、組み立て作業といった多くの生産システムで利用されている。一般的に産業用ロボットは、作業ツールをロボットの手首先端に取り付け、作業ツールを用いてロボットが作業する対象となる作業ワークに対して特定の作業を行う。スポット溶接の場合には、作業ツールはスポット溶接ガンであり、スポット溶接の一般的な作業ワークとしては自動車の車体等である。アーク溶接の場合には、作業ツールとしてはアーク溶接トーチであり、作業ワークとしては溶接される複数の板金等である。組み立て作業の場合には、作業ツールとしては把持ハンドやナットランナーであり、作業ワークとしては組立される機械部品や精密部品である。そして、産業用ロボットの動作は作業プログラムにより指示される。従って、産業用ロボットは、作業ツールや作業ワーク、作業内容に合わせた作業プログラムを用意することによって様々な作業をなすことができ、汎用性を有するものである。
【０００３】
例えば、スポット溶接を考えると、溶接する車体が新規に追加された場合には、車体の溶接個所に合わせて、追加された車体の溶接作業用のプログラムを新たに用意すればよい。車体の溶接個所が既存のスポット溶接ガンの形状では、治具やワークに干渉してしまう場合には、作業ツールであるスポット溶接ガンを新規に作成し、ツールチェンジャーにてロボットに取り付けることにより、車体に合わせてスポット溶接ガンを取り替えることで、複数の作業ワークに対応することができる。この場合、新規の車体と新規のスポット溶接ガンを使うような作業プログラムを新たに作成する必要がある。
【０００４】
作業プログラムを作成する場合、ロボットの各軸を手動にて低速移動させて、作業ツールを作業ワークの実際に作業したい部位に移動し、この位置を教示点として入力し、このときのロボットの各軸値をロボットは作業ワークの作業部位として記憶する。この教示作業を行うことによってロボットに作業動作を教示することになる。スポット溶接の場合を例にとると、作業部位とはスポット溶接を行う車体位置のことであり、スポット溶接ガンにおいて、実際にスポット溶接を行うチップ先端を、溶接ガンを持ったロボットの各軸を手動で移動することにより、車体のスポット溶接個所まで正確に移動し、この際のロボットの各軸値を記憶させる作業が教示作業となる。また、ロボットを実際に移動させずに、自動プログラミング装置により、オフラインで作業プログラムを作成する方法もある。
【０００５】
このように、産業用ロボットは作業ワークが新規追加になった場合でもこれに合わせて、作業ツールや作業プログラムを新規に用意することで、ロボット自身を再設計せずとも新規作業ワークに対応することができるという柔軟性を持っている。作業部位を変更する場合にも教示作業にて、教示点を変更・追加するだけでよい。この柔軟性が、特定の作業ツールを用いて、特定の作業ワークに対してのみ作業するように設計された専用機械と比較したとき、産業用ロボットの有利な点である。そのため、多品種少量生産のための生産装置として欠かせないものとなっている。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
産業用ロボットの柔軟性は、作業ツールを作業ワークや作業内容に合わせて変更可能であること、作業プログラムの内容によって作業内容を変更可能であること、作業ワークの作業部位を教示作業によってロボットに記憶させることができること、などによって実現されている。作業ワークの新種がそれほど多くない場合には、産業用ロボットの従来の柔軟性で十分であった。しかし、今日工業製品を消費する消費者ニーズは多様化しており、これに対応して製品を生産する工場の生産システムの対応が困難な状態となっている。人手に頼らない高度な自動化システムの場合において、製造品種追加の場合には、生産ラインを見直し、治具、機械、搬送装置といったハードウェアの再設計や、加工機械の加工プログラムや、産業用ロボットの作業プログラム、プログラマブルロジックコントローラ（ＰＬＣ）や生産管理装置のシーケンスラダーや生産管理プログラムといった、各種ソフトウェアの準備に多大な工数を必要とする。そのため、新規製造品種を追加する際の工数削減が自動化製造システムにおける重要な課題となっている。この自動化製造システムに用いられる産業用ロボットに対しても、品種追加のための作業プログラムの作成作業や教示作業にかかる工数も大きく、この点においても工数の削減が望まれている。
そこで、本発明の目的は、ロボットの作業プログラム作成の工数を削減することができる作業プログラム作成装置を提供することにある。
【課題を解決するための手段】
【０００７】
本願請求項１に係わる発明は、ロボットに作業指示を与える作業プログラムの作成装置であって、作業対象となる作業ワークに依存した変更を必要とするプログラム部と、作業ワークの種類に依存しないプログラム部からなる作業プログラム定義データ、及びワークの位置姿勢情報を示す作業部位定義データを記憶する記憶手段を備え、さらに、前記作業部位定義データに基づいて、前記作業対象となる作業ワークに依存した変更を必要とするプログラム部に前記変更を施して作業プログラムを完成させる手段とを備え、作業ワークの種類の変更に対して作業部位定義データを変えるだけで作業プログラムを完成できるようにしたものである。  
又、請求項２に係わる発明は、ロボットに作業指示を与える作業プログラムの作成装置であって、作業対象となる作業ワークに依存した変更を必要とする第１プログラム部と、前記変更後の第１プログラム部との経路接続に伴う位置・姿勢の変更以外は、対象ワークの種類に依存しない第２プログラム部からなる作業プログラム定義データ、及びワークの位置姿勢情報を示す作業部位定義データを記憶する記憶手段を備えると共に、第１プログラム部と第２プログラム部の移動経路を接続するための所定ルールを記憶する手段を備え、さらに、前記変更前の第１プログラム部と、前記作業部位定義データに基づいて、第１プログラム部に前記変更を施して該第１プログラム部を完成させる手段と、前記所定ルールに基づいて第２プログラム部に記述された位置データを修正し、前記完成した第１プログラム部と第２プログラム部の移動経路を接続する手段とを備え、作業ワークの種類によって変わる作業動作と変わらない作業動作の接続部の作業動作を修正できるようにしたものである。  
また、請求項３に係わる発明は、前記作業部位定義データを、作業ワークの図面データから作成するようにしたものであり、請求項４に係わる発明は、前記作業部位定義データを、作業ワークをカメラで撮像した画像から作成するようにしたものである。
【発明の効果】
【０００８】
本発明は、作業ワークの種類に依存して変わるロボット作業動作の部分のデータを入力するだけで良いものであるから、新規の作業ワークに対する産業用ロボットの作業プログラムの作成が極めて容易になる。そのため、産業用ロボットを用いた生産システムが、多品種に対応しやすくなり、自動化が困難と思われていたことから人手に頼った生産を強いられていた生産システムにも、自動化・ロボット化の道を開くことが可能となる。
【発明を実施するための最良の形態】
【０００９】
図１は本発明の一実施形態における作業プログラム作成装置により作成する作業プログラムを適用するロボットを用いた生産システムの全体概要図である。符号１は産業用ロボットである。産業用ロボット１の手首先端には、作業ツール２が取り付けられている。符号Ｐ１，Ｐ２，Ｐ３，Ｐ４はワークＷ１，Ｗ２を置くためのパレットである。パレットＰ１上には、作業ワークＷ１が複数個置かれている。パレットＰ２上には、作業ワークＷ１とは種類の異なる作業ワークＷ２が置かれている。ロボット１は走行軸３上に設置されており、走行軸３上を移動し、パレットＰ１上の作業ワークＷ１もしくは、パレットＰ２上の作業ワークＷ２を、作業ツール２を用いて把持し、これを一旦仮置き台４に置く。加工機械５が加工中でない場合には、仮置き台４に置かれた作業ワークＷ１もしくはＷ２をロボット１が作業ツール２によって把持し、加工機械５に取り付ける。ロボット１は加工機械５に対して加工開始命令を発行する。加工機械５は、ロボット１からの加工命令により、ワークの加工を始める。加工が完了すると、加工機械５はロボット１に対して、加工完了信号を出す。加工完了信号を受け取ったロボット１は、加工済みの作業ワークＷ１もしくはＷ２を加工機械５から取り出して、作業ワークがＷ１の場合には、パレットＰ３上に置き、作業ワークがＷ２の場合には、パレットＰ４上に置く。ロボット１及び走行軸３は、通信ケーブル１０及び１１により制御装置６と接続されており、ロボット１及び走行軸３の動作は制御装置６により制御が行われている。制御装置６は、ネットワークケーブル１２により、作業プログラム作成装置７に接続されている。ロボット１の手首先端には、カメラ９が装着されており、カメラケーブル１３を経由して、画像処理装置８に接続されている。画像処理装置８は、ネットワークケーブル１４と１５によって、制御装置６と作業プログラム作成装置７と接続している。仮置き台４には、パレットＰ１から取り出した作業ワーク（Ｗ１）用の位置決め治具４ａとパレットＰ２から取り出した作業ワーク（Ｗ２）用の位置決め治具４ｂが取り付けられている。位置決め治具４ａおよび４ｂはディジタル信号入出力ケーブルによって、制御装置６と接続されている。
【００１０】
図２は、このロボットを用いた生産システムの種に制御系の要部ブロック図である。制御装置６には、バス２１で接続されたＣＰＵ２０、メモリ２２、ネットワークインタフェース２３、ディジタル信号入出力回路２４、操作盤インタフェース２５，サーボインターフェース２６を備えている。メモリ２２には、ＣＰＵ２０により実行され、制御装置全体を制御する制御プログラム２２ａと、作業プログラム２２ｂおよび２２ｃが格納されている。作業プログラム２２ｂは、作業ワークＷ１に関する作業をロボット１が作業ツール２を用いて行うためのものであり、作業プログラム２２ｃは、作業ワークＷ２に関する作業をロボット１が作業ツール２を用いて行うためのものである。作業プログラム２２ｂ及び２２ｃは、いずれも制御プログラム２２ａを用いて解釈され、ロボット１及び作業ツール２の動きに変換される。作業プログラム２２ｂおよび２２ｃはいずれも作業プログラム作成装置７によって作成されたものである。
【００１１】
ネットワークインタフェース２３には、ネットワークケーブル１２を用いて作業プログラム作成装置７が接続されていると共に、ネットワークケーブル１４を用いて画像処理装置８も接続されている。またディジタル信号入出力回路２４を介して制御装置６は、ディジタル信号入出力ケーブル１７及び１８を用いて加工機械５及びロボット１に取り付けられた作業ツール２に接続されている。更に、ディジタル信号入出力ケーブル１６によって、仮置き台４の治具４ａ，４ｂと接続されている。
【００１２】
また、操作盤インタフェース２５には操作盤ケーブル１９によって、教示操作盤２７が接続されている。教示操作盤２７には表示器２７ａと入力ボタン２７ｂを備えており、この教示操作盤２７を作業者が操作することにより、制御装置６を介してロボット１を操作することができる。  
また、サーボインターフェース２６には、通信ケーブル１０，１１を介してロボットの各軸及び走行軸３のサーボモータ等に接続されている。
【００１３】
作業プログラム作成装置７は、ハードディスク装置４０を備え、作業プログラム定義データ、作業部位定義データが格納されている。この実施形態では、パレットＰ１上の作業ワークをロボット１で取り出し、仮置き台４の位置決め治具４ａで位置決めし、その後加工機械５に取り付けて加工した後、該加工後の作業ワークを取り出し、パレットＰ３上に載置する第１の作業経路Ｒａと、パレットＰ２上の作業ワークをロボット１で取り出し、仮置き台４の位置決め治具４ｂで位置決めし、その後加工機械５に取り付けて加工した後、該加工後の作業ワークを取り出し、パレットＰ４上に載置する第２の作業経路Ｒｂとの２つの作業経路を有している。この作業経路Ｒａ，Ｒｂ毎に作業プログラム定義データ４１ａ，４１ｂが格納されている。また、加工するワークＷ１，Ｗ２，Ｗ３…毎に作業部位定義データ４２-1，４２-2（図２では２つのワーク分のデータ）が記憶されている。更に、作業ワークＷ１，Ｗ２の図面データ４３-1，４３-2も記憶されている。
作業プログラム定義データ４１ａ，４１ｂは、ロボット１の作業対象の作業ワークが変わるとその作業ワークに依存して作業動作が変わる第１のプログラム部と、作業ワークが変わっても作業動作に変化がない第２のプログラムで構成され、作業ワークに依存する第１のプログラム部は、作業対象ワーク毎に格納された作業部位定義データに基づいて変更されて、ロボット動作プログラムが完成するように構成されている。  
なお、この作業プログラム定義データ４１ａ，４１ｂ、各作業ワークに対する作業部位定義データについての詳細は後述する。
【００１４】
又、画像処理装置８にはハードディスク装置３０が接続されており、作業対象の作業ワークを検出するための基準となる作業ワークの画像データが格納されている。この実施形態では、作業ワークＷ１，Ｗ２に対して作業するものとして、この作業ワークＷ１，Ｗ２のロボット１の手首先端に取り付けられたカメラ９を使って、作業ワークＷ１及びＷ２を撮影することにより得た作業ワークＷ１用の画像データ３１-1、作業ワークＷ２用の画像データ３１-2が格納されている。
【００１５】
図３は、このロボットシステムによって行う作業の作業手順の流れ図である。まず、
作業ワークの位置決め治具４ａとして、パレットＰ１から取り出した作業ワーク用のためのものをセットし（第１の作業経路Ｒａ用）、位置決め治具４ｂはパレットＰ２から取り出した作業ワーク用のためのものをセットし（第２の作業経路Ｒｂ用）、また、加工機械５には、各作業経路Ｒａ，Ｒｂからの加工指令に対しては、それぞれの作業ワークを加工するための加工プログラムを選択し実行するよう設定される。以下の説明では、パレットＰ１に作業ワークＷ１を載置し、第１の作業経路Ｒａに基づいて作業ワークを搬送、加工する場合を例として説明する。この場合、ワーク仮置き台４には、作業ワークＷ１の位置決め用治具が配置され、加工機械５には、第１の作業経路Ｒａからの加工指令に対しては、作業ワークＷ１の加工を行う加工プログラムが選択されるように設定される。
【００１６】
走行軸３を動作させることにより、ロボット１はパレットＰ１に近づき、パレットＰ１の上空にカメラ９を移動し、パレットＰ１を撮影する（ステップ１００）。  
撮影された画像は画像処理装置８により作業ワークＷ１の基準画像データ３１-1に基づいて作業ワークＷ１が存在するか解析され（ステップ１０１）、作業ワークＷ１が検出されなければ、撮影された画像と作業ワークＷ２の基準画像データ３１-2と比較され作業ワークが存在するか解析され（ステップ１０２）、撮影画像内に作業ワークＷ１の画像データが検出されたならば、ロボット１をパレットＰ２に近づけ、カメラ９によりパレットＰ２を撮影する（ステップ１０３）。そして、撮影された画像を画像処理装置８により解析し、撮影画像内に画像データ３１-1に対応する作業ワークＷ１の画像が存在するか判断され（ステップ１０４）、検出されなければ、画像データ３１-2に対応する作業ワークＷ２の画像が存在するか判断され（ステップ１０５）、存在しなければ、「作業ワークは存在しません」という旨のメッセージ等のアラームを制御装置の表示装置又は、教示操作盤２７の表示器２７ａに表示してこの作業を終了する（ステップ１０６）。
【００１７】
ステップ１０１で、パレットＰ１上に作業ワークＷ１が存在すると判断されたときには、第１の作業経路Ｒａにより作業ワークＷ１に対する作業を開始する（ステップ１０７）。また、ステップ１０２で、パレットＰ１上に作業ワークＷ２が存在すると判断されたときには、第１の作業経路Ｒａにより作業ワークＷ２に対する作業を開始する（ステップ１０８）。同様に、ステップ１０４で、パレットＰ２上に作業ワークＷ１が存在すると判断されたときには、第２の作業経路Ｒｂにより作業ワークＷ１に対する作業を開始する（ステップ１０９）。ステップ１０５で、パレットＰ２上に作業ワークＷ２が存在すると判断されたときには、第２の作業経路Ｒｂにより作業ワークＷ２に対する作業を開始する（ステップ１１０）。
【００１８】
図４〜図６は、ステップ１０７での第１の作業経路Ｒａにより作業ワークＷ１の搬送、加工の作業を行う手順動作の流れ図である。  
走行軸３を移動することで、パレットＰ１の正面に、ロボット１を移動する（ステップ２００）。  
ロボット１のアームを旋回し、作業ツール２をパレットＰ１の真上に移動する（ステップ２０１）。  
ディジタル信号入出力回路２４を使って、作業ツール２に対して“ハンドを開け”を意味するディジタル信号を出力することで、作業ツール２の爪先を開く（ステップ２０２）。  
作業ツール２を作業ワークＷ１の掴み位置に移動する。この場合、必ず作業ワークＷ１の掴み位置より少し上の位置に一旦移動後に、真下に向かって掴み位置に移動する。なお、パレットＰ１から作業ワークを取り出す位置は、従来と同様に、基準となる位置が教示されており、作業ワークをとり出す毎にカウントするカウンタの値によって、この基準位置からのシフト量が決められており、このカウンタの値に基づいてパレットＰ１から作業ワークが順次取り出されることになる（ステップ２０３）。  
ディジタル信号入出力回路２４を使って、作業ツール２に対して“ハンドを閉じろ”を意味するディジタル信号を出力することで、作業ツール２の爪先を閉じ、作業ワークＷ１を掴む（ステップ２０４）。  
作業ツール２を上にあげ、作業ワークＷ１を持ち上げる。この際、一旦作業ツール２を低速で少しだけ上げた後、速度を上げてさらに上方に作業ワークＷ１を持ち上げる（ステップ２０５）。  
ロボット１のアームをロボット左側から右側に旋回すると同時に、走行軸３を動作させて、ロボット１を仮置き台４の正面に移動する（ステップ２０６）。  
作業ツール２を位置決め治具４ａの真上に移動する（ステップ２０７）。  
作業ツール２を下方に移動し、作業ワークＷ１を位置決め治具４ａに取り付ける。この際、一旦作業ワークＷ１を位置決め治具４ａの少し上方に移動した後、真下にまっすぐに低速で位置決め治具４ａに作業ワークＷ１を取り付ける（ステップ２０８）。  
ディジタル信号入出力回路２４を使って、作業ツール２に対して“ハンドを開け”を意味するディジタル信号を出力することで、作業ツール２の爪先を開く。これにより、作業ツール２は作業ワークＷ１を放す（ステップ２０９）。  
作業ツール２を真上に少し移動して、位置決め治具４ａから離れる（ステップ２１０）。  
ディジタル信号入出力回路２４を使って、位置決め治具４ａに“クランプ閉じろ”を意味するディジタル信号を出力することで、位置決め治具４ａのクランプを閉じて、治具に装着された作業ワークＷ１を正確に位置決めする（ステップ２１１）。  
作業ツール２を真下に下げて、作業ワークＷ１が掴める位置に移動する（ステップ２１２）。  
作業ツール２の爪先を閉じて、作業ワークＷ１を掴む（ステップ２１３）。  
位置決め治具４ａのクランプを開く（ステップ２１４）。  
作業ツール２を上にあげて、作業ワークＷ１を持ち上げる。この際、位置決め治具４ａの突き当て面に対して、低速で斜め上に少し作業ワークＷ１を移動した後、真上に少し移動し、速度を上げてさらに上方に移動する（ステップ２１５）。  
ロボット１のアームを旋回して、加工機械５のドア正面に作業ツール２を移動する（ステップ２１６）。  
加工機械５のドア開口部から、加工機械５の内部に作業ツール２を進入させる。この場合は、加工機械内部に作業ツール２と作業ワークＷ１が接触しないように、ロボット１のアームがまっすぐに進入するようにする（ステップ２１７）。  
加工機械５のチャックに作業ワークＷ１を装着する。この際チャックの少し手前の位置で一旦停止した後、低速でチャックに作業ワークＷ１を装着する。装着後、ディジタル信号入出力回路２４によって、加工機械５に“チャック閉じろ”を意味する信号を出力することで、加工機械５にチャックを閉じさせる（ステップ２１８）。  
作業ツール２の爪先を開いて、作業ワークＷ１を放す（ステップ２１９）。  
作業ツール２を低速にて、作業ワークＷ１から少しだけ離れる（ステップ２２０）。  
加工機械５の内部から作業ツール２を引き出す。この場合、加工機械５の内部に作業ツール２を接触させないように、ロボット１のアームをまっすぐにして、加工機械５のドア開口部から引き出すようにする（ステップ２２１）。  
加工機械５に対して、第１の作業経路Ｒａからの指令として“作業ワークＷ１の加工を開始せよ”を意味するディジタル信号を出力する（ステップ２２２）。  
加工機械５から、“作業ワークＷ１の加工が完了した”を意味するディジタル信号が制御装置６に入力されるまで待つ（ステップ２２３）。  
加工機械５の内部に作業ツール２を侵入させる（ステップ２２４）。  
加工済みの作業ワークＷ１の把持位置に作業ツール２を移動させる（ステップ２２５）。  
作業ツール２の爪先を閉じて、作業ワークＷ１を掴む（ステップ２２６）。  
加工機械５に対して“チャックを開け”を意味するディジタル信号を出力して、加工機械５のチャックを開く（ステップ２２７）。  
作業ツール２を少し移動して、加工機械５のチャックから作業ワークＷ１を取り出す。この際、チャックから真っ直ぐに作業ワークＷ１を取り出す必要がある（ステップ２２８）。  
作業ツール２を加工機械５の内部から退避する（ステップ２２９）。  
ロボット１のアームをロボットの右側に旋回すると同時に、走行軸３を移動してパレットＰ３の正面にロボット１を移動させる（ステップ２３０）。  
パレットＰ３の真上に作業ツール２を移動する（ステップ２３１）。  
パレットＰ３の置き位置に作業ワークＷ１を置く。この場合、作業ツール２を一旦置き位置の少し上方で停止し、低速にて真っ直ぐに下方に移動して作業ワークＷ１をパレットＰ３上におくが、作業ワークの種類によって、このパレットＰ３に載置するときの姿勢が決まるので、この動作は作業ワークの種類に依存する作業動作となる。また、載置する位置は、パレットから取り出す場合と同様に、カウンタで作業ワークの載置数をカウントし、このカウント値に基づいて基準位置からのシフト量が決められて、その位置に載置されることになる（ステップ２３２）。  
作業ツール２の爪先を開いて、作業ワークＷ１を放す（ステップ２３３）。  
作業ツール２を真上に移動する。これは低速にて一旦少し上方に移動した後、速度を上げてさらに上方に移動する（ステップ２３４）。  
、ロボット１のアームをロボット正面に旋回すると同時に走行軸３を移動して、ロボット１を待機位置に移動する（ステップ２３５）。  
以上が第１の作業経路Ｒａによる作業ワークに対する作業プログラム２２ｂの作業手順である。
【００１９】
図７〜図９は、上述したステップ２００〜ステップ２３５までの作業におけるロボット１の作業ツール２の動作経路を示したものである。このうち作業ワークに依存する動作経路は、ステップ２０３とステップ２３２による動作経路のみであり、これ以外の動作経路は作業ワークの種類に依存しないものである。例えば、パレットＰ１に作業ワークＷ２が載置されている場合でも、上記ステップ２０３とステップ２３２による動作経路以外は、同様の動作経路となる。
【００２０】
パレットＰ１によって搬入される作業ワークは、第１の作業経路Ｒａにより、該パレットＰ１から取り出され、仮置き第４の位置決め治具４ａで位置決めされた後、加工機械に搬入されて加工され、加工後の作業ワークはパレットＰ３に載置される経路を移動するものである。この場合、仮置き第４の位置決め治具４ａには、パレットＰ１に載置された作業ワークに対応する治具がセットされ、加工機械５には、第１の作業経路Ｒａによる動作処理中のロボットの制御装置６から指令される加工指令に対しては、パレットＰ１に載置された作業ワークを加工する加工プログラムが選択されるようにセットしておくものである。よって、ロボットの作業動作が作業ワークの種類により依存する動作はステップ２０３、２３２のパレットＰ１から作業ワークを把持して取り出すときの位置姿勢、及びパレットＰ３に加工後の作業ワークを載置するときの位置姿勢が、作業ワークの種類に依存することになる。
【００２１】
そこで、本実施形態では、作業ワークの種類に依存しない作業動作は、作業ワークの種類が変わっても、作業動作は変わらない点の作業のプログラムは固定し、作業ワークの種類に依存して変化する作業動作の部分は、作業するワークに対応して変更できるように、第１の作業経路Ｒａにおける作業プログラム定義データ４１ａとして作業プログラム作成装置７に入力し、そのハードディスク装置４０に格納しておく。同様に、パレットＰ２によって搬入された作業ワークを取り出し、仮置き台４の位置決め治具４ｂで位置決めした後、加工機械５に搬入し、加工した後、パレットＰ４に載置する第２の動作経路Ｒｂに対する作業に対しても、ワークの種類に依存しない作業動作と作業ワークの種類に依存して変化する作業動作とにわけ、作業ワークの種類に依存して変化する部分は変更可能にして、第２の作業経路Ｒｂにおける作業プログラム定義データ４１ｂとして作業プログラム作成装置７に入力し、そのハードディスク装置４０に格納しておく。
【００２２】
図１０，図１１は、ステップ２０１とステップ２０３における動作経路が作業ワークＷ１及びＷ２において、どのように異なるかを示したものである。図１０は作業ワークＷ１の場合のステップ２０１とステップ２０３の動作経路を表わし、図１１は、作業ワークＷ２の場合のステップ２０１とステップ２０３の動作経路を表わしたものである。作業ツール２は２指の把持ハンドである。
【００２３】
図１０において、作業ワークＷ１において作業ツール２が把持可能な位置は５１で表わす。把持可能な位置５１は通常作業ワーク上にワークの座標系Σ９３を定め、この座標系Σ９３における３次元位置として表わされるのが一般的である。また作業ワークＷ１のパレットＰ１上の置き位置を７１で表わす。置き位置７１も同様に、パレットＰ１上にパレットの座標系Σ９２を定め、この座標系Σ９２における３次元位置として表わされる。図１０、図１１において、ステップ２０１とステップ２０３における作業ツール２の位置をツール位置６１，６２，６３，６４，６５，６６で表わした。作業ツール２の各位置は、通常ロボットの機構部における特定の位置を原点として定められたワールド座標系Σ９０における３次元位置として表わされる。ロボット１の作業ツール２は、まずステップ２００により、ツール位置６１に位置する。次にステップ２０１により、ツール位置６２に移動する。ツール位置６２は、パレットＰ１から十分に離れた上空の位置として意味付けられており、作業ワークの種類にはよらない。また、後述するように、このときの作業ツール２の姿勢は、予め設定されたルールによって、変えられる場合があり、図１０、図１１に示す例では、姿勢が変えられない状態を破線で、又、次の作業状態における作業ツール２の姿勢に変更されたときの例を実線で表している。図１０において、ステップ２０３は、作業ワークＷ１の十分近づいた真上のツール位置６４へ移動するステップ２０３−１と、さらに作業ワークを作業ツールの把持位置５１に接近したツール位置６４へ移動するステップ２０３−２の２つの手順を含んでいる。ステップ２０３は作業ワークの種類に依存するものである。
【００２４】
図１１では、ステップ２０１とステップ２０３での作業ワークＷ２に対するの動作経路を表わす。作業ワークＷ２の把持位置５２も、ワーク上に定められた座標系Σ９４における３次元位置として表わされる。作業ワークＷ２のパレットＰ１上の置き位置７２は、パレット上の座標系Σ９２における３次元座標位置として表わされる。作業ワークＷ１の場合と同様に、ステップ２０１によりツール位置６１からツール位置６２に移動し、ステップ２０３によりツール位置６５からツール位置６６に移動する。この場合、ツール位置６１からツール位置６２への動作経路はツールの種類には依存せず共通のものであり、図１０に示す位置と変わりはない。又図１０においては、ツール位置６２からツール位置６３，６４への動作経路となっていたが、これは作業ワークＷ１の場合だけに必要な動作経路であり、作業ワークＷ１の把持位置５１と置き位置７１を元に作成されなければならないものである。図１１においては、ツール位置６２からツール位置６５，６６への動作経路は作業ワークＷ２の場合だけに必要な動作経路であり、作業ワークＷ２の把持位置５２、置き位置７２を元に作成されなければならないものである。
【００２５】
しかしながら、ツール位置６２における作業ツール２は図１０と図１１において、位置は同じながらもツールの姿勢は異なっている。これは、ツール位置６３およびツール位置６５におけるツール姿勢と同じ姿勢を既にツール位置６２において取っておく必要があるからである。ツール位置６１からツール位置６２への比較的長い距離を移動する間に、ツールの姿勢を変化させることで姿勢変化の速度をゆるやかにすることができる。これに対し、ツール位置６２で姿勢変化を行わず（破線で示す状態）、ツール位置６３もしくはツール位置６５への距離の短い移動の際に作業ツール２の姿勢を変化させる場合には、姿勢変化の速度が急激となってしまう。姿勢変化の速度がロボット１の動作速度を超えてしまった場合には、ツール位置６３及びツール位置６５において、正しいツール姿勢に達しないまま、作業ワークへの把持位置であるツール位置６４及びツール位置６６に移動してしまい、作業ワークと作業ツールが衝突してしまう。そのため、作業ワークの種類に依存しないステップ２０１の動作経路と、作業ワークの種類に依存するステップ２０３の動作経路を接続するためには、ツール位置６２におけるツール姿勢の位置データを作業ワークに合わせて修正する必要がある。
【００２６】
そこで、この実施形態では、作業ワークの種類に依存しない動作経路から作業ワークの種類に依存する動作経路に移行するときの繋ぎ目において、他の物との干渉やロボットのストロークリミットを越えるような事態、さらには、ロボットの最大動作速度を越えるような事態が発生しないように、作業ワークの種類に依存する作業ツール２の姿勢に障害なく移行できるように、所定のルールを決め予め作業プログラム作成装置７に設定し、記憶手段に記憶させているものである。このルールの一例として、ステップ２０１とステップ２０３−１の移動距離が等しい場合には、ツール位置６２の姿勢は、ツール位置６１とツール位置６３（又はツール位置６５）の姿勢の中間を取ることで、緩やかに姿勢変化となるようなルールを適用するほうが望ましい。そこで、この実施形態では、第一のルールとして、ツール位置６２からツール６３又は６５への作業ツール２姿勢の変化量、つまりロボット手首軸のＷ，Ｐ，Ｒの変化量と動作速度から、毎秒当りのＷ，Ｐ，Ｒの変化量を計算し、Ｗ，Ｐ，Ｒの変化量のうち、ロボットの最大動作速度を超えるものが一つでもある場合には、図１０，図１１のツール位置６２における作業ツールの姿勢を実線で示すように作業ワークを把持するときの姿勢（ツール位置６３，６５の姿勢）にする。また、第二のルールとして、第一のルールを適用しない場合で、かつ、ツール位置６３又は６５の姿勢とツール位置６１での姿勢の変化量、つまりＷ，Ｐ，Ｒのうち、一つでも１８０deg以上変化するものがある場合には、ツール位置６２の姿勢を、ツール位置６３又は６５とツール位置６１の中間姿勢を取るように変更する。これら以外の場合には、図１０，図１１で破線で示すように、姿勢の変化がないツール位置６１のツール姿勢と同一の姿勢とする。
【００２７】
また、作業対象のワークによっては、作業ワークに依存しない一律的に決まったツール位置６２から、作業ワークによって決まるツール位置６３又はツール位置６５に移動する際、その移動経路の途中に障害物があったり、移動経路の途中でロボット１の動作範囲外になってしまうことがある。例えば、一般的に作業ワークへの接近を開始するツール位置６３，６５は、作業ワークよりも少し上方に取る必要があるが、このツール位置６３，６５に接続するツール位置６２はツール位置６３，６５よりもさらに高い位置に取らなければ、作業ワークと接触してしまう可能性がある。そのため、ツール位置６３，６５のＺ座標とツール位置６２のＺ座標を比較し、ツール位置６２のＺ座標がツール位置６３，６５のＺ座標より小さい場合には、ツール位置６２のＺ座標をツール位置６３，６５のＺ座標値と等しくなるように変更を行うというルールをも設けるようにする。
【００２８】
次に、上述した第１の作業経路Ｒａで作業ワークを搬送し、加工しする作業プログラム定義データの例の一部を以下に示す。この例はステップ２００からステップ２０３までの作業プログラムのための定義データである。
１：カクジク  イチ［１］  １００％  ナメラカ１００
２：カクジク  イチ［２］  １００％  ナメラカ１００
３：ＲＤＯ［１］＝オン
４：タイキ  ＲＤＩ［１］＝オン
５：チョクセン  ％WorkApproachPos％  １０００ｍｍ／ｓｅｃ  イチギメ
６：チョクセン  ％WorkGripPos％  ２００ｍｍ／ｓｅｃ  イチギメ
７：イチ［１］｛
Ｘ＝１６８８．４０ｍｍ，Ｙ＝３０．３０ｍｍ，Ｚ＝１３３１．４５ｍｍ，
Ｗ＝６４．６２ｄｅｇ，Ｐ＝−８５．６０ｄｅｇ，Ｒ＝１１６．３５ｄｅｇ
｝；
８：イチ［２］｛
Ｘ＝１６７９．５１ｍｍ，Ｙ＝−１７．９１ｍｍ，Ｚ＝１３１６．０７ｍｍ，
Ｗ＝６４．６２ｄｅｇ，Ｐ＝−８５．６０ｄｅｇ，Ｒ＝１１６．３５ｄｅｇ
｝；
各行の「：」の前の数字は行数を表わす。１行目はステップ２００のための定義データであり、最高速の１００％で滑らかに（位置決めせずに）次の位置へ移動する指令である。２行目はステップ２０１のための同様な移動の定義データである。３行目と４行目はステップ２０２のための定義データであり、作業ツールのハンドを開いて、その開き終わりを待つ指令である。５行目はステップ２０３−１、６行目はステップ２０３−２のための定義データであり、作業ワークを把持する指令でありワークの種類によって変えられる部分である。７行目はステップ２００における作業ツール２の目標位置を表わすもので、図１０、図１１におけるツール位置６１のことであり、Ｘ，Ｙ，Ｚは作業ツール位置を表し、Ｗ，Ｐ，Ｒは、ロボットの手首軸の回転角を示し作業ツールの姿勢を表すものである。８行目はステップ２０１における作業ツール２の目標位置を表わすもので、図１０、図１１におけるツール位置６２のことである。作業プログラム定義データ中で「％」と「％」で囲まれた部分は、この作業プログラム定義データ中では未定義なデータを表わし、「％」と「％」で囲まれた未定義データは、作業ワークの種類に依存する部分で作業ワーク毎に用意される作業部位定義データ４２-1，４２-2によって定義される部分である。
【００２９】
この、作業部位定義データ４２-1（４２-2）としては、例えば、下記のようなものが作業プログラム作成装置７に接続されたハードディスク装置４０内に格納されている。
【００３０】
％WorkApproachPos％｛
Ｘ＝１６７９．５１ｍｍ，Ｙ＝−１７．９１ｍｍ，Ｚ＝１４１６．０７ｍｍ，
Ｗ＝２９．１８ｄｅｇ，Ｐ＝−８８．６９ｄｅｇ，Ｒ＝１５０．２１ｄｅｇ
｝
％WorkGripPos％｛
Ｘ＝１６７９．５１ｍｍ，Ｙ＝−１７．９１ｍｍ，Ｚ＝１３１６．０７ｍｍ，
Ｗ＝２９．１８ｄｅｇ，Ｐ＝−８８．６９ｄｅｇ，Ｒ＝１５０．２１ｄｅｇ
｝
％WorkApproachPos％は、図１０におけるツール位置６３を意味し、％WorkGripPos％は、図１０におけるツール位置６４を表わす。
【００３１】
作業プログラム作成装置７は、作業プログラム定義データ４１ａのうち、作業ワークに依存しないプログラム部分のみの作成を行い、次の作業プログラムを得る。
【００３２】
カクジク  イチ［１］  １００％  ナメラカ１００
カクジク  イチ［２］  １００％  ナメラカ１００
ＲＤＯ［１］＝オン
タイキ  ＲＤＩ［１］＝オン
イチ［１］｛
Ｘ＝１６８８．４０ｍｍ，Ｙ＝３０．３０ｍｍ，Ｚ＝１３３１．４５ｍｍ，
Ｗ＝６４．６２ｄｅｇ，Ｐ＝−８５．６０ｄｅｇ，Ｒ＝１１６．３５ｄｅｇ
｝；
イチ［２］｛
Ｘ＝１６７９．５１ｍｍ，Ｙ＝−１７．９１ｍｍ，Ｚ＝１３１６．０７ｍｍ，
Ｗ＝６４．６２ｄｅｇ，Ｐ＝−８５．６０ｄｅｇ，Ｒ＝１１６．３５ｄｅｇ
｝；
次に作業プログラム定義データ４１ａのうち、作業ワークに依存するプログラム部分の作成を行うが、この際、ステップ１０１で検出した作業ワークＷ１に対する作業部位定義データ４２-1が参照され、以下の作業プログラムを得る。
【００３３】
チョクセン  イチ［３］  １０００ｍｍ／ｓｅｃ  イチギメ
チョクセン  イチ［４］  ２００ｍｍ／ｓｅｃ  イチギメ
イチ［３］｛
Ｘ＝１６７９．５１ｍｍ，Ｙ＝−１７．９１ｍｍ，Ｚ＝１４１６．０７ｍｍ，
Ｗ＝２９．１８ｄｅｇ，Ｐ＝−８８．６９ｄｅｇ，Ｒ＝１５０．２１ｄｅｇ
｝
イチ［４］｛
Ｘ＝１６７９．５１ｍｍ，Ｙ＝−１７．９１ｍｍ，Ｚ＝１３１６．０７ｍｍ，
Ｗ＝２９．１８ｄｅｇ，Ｐ＝−８８．６９ｄｅｇ，Ｒ＝１５０．２１ｄｅｇ
｝
得られた二つの作業プログラムを一つに結合して、作業プログラムを完成させる。この際、前述したルールに従って、動作経路のつなぎ目の位置であるイチ［２］において、ツール姿勢、高さ位置等を変える処理がなされ、以下の作業プログラムが得られる。この例では、イチ［２］のツール姿勢Ｗ，Ｐ，Ｒの値をイチ［３］と同じにする変更処理がなされた例を示す。
【００３４】
カクジク  イチ［１］  １００％  ナメラカ１００
カクジク  イチ［２］  １００％  ナメラカ１００
ＲＤＯ［１］＝オン
タイキ  ＲＤＩ［１］＝オン
チョクセン  イチ［３］  １０００ｍｍ／ｓｅｃ  イチギメ
チョクセン  イチ［４］  ２００ｍｍ／ｓｅｃ  イチギメ
イチ［１］｛
Ｘ＝１６８８．４０ｍｍ，Ｙ＝３０．３０ｍｍ，Ｚ＝１３３１．４５ｍｍ，
Ｗ＝６４．６２ｄｅｇ，Ｐ＝−８５．６０ｄｅｇ，Ｒ＝１１６．３５ｄｅｇ
｝；
イチ［２］｛
Ｘ＝１６７９．５１ｍｍ，Ｙ＝−１７．９１ｍｍ，Ｚ＝１３１６．０７ｍｍ，
Ｗ＝２９．１８ｄｅｇ，Ｐ＝−８８．６９ｄｅｇ，Ｒ＝１５０．２１ｄｅｇ
｝；
イチ［３］｛
Ｘ＝１６７９．５１ｍｍ，Ｙ＝−１７．９１ｍｍ，Ｚ＝１４１６．０７ｍｍ，
Ｗ＝２９．１８ｄｅｇ，Ｐ＝−８８．６９ｄｅｇ，Ｒ＝１５０．２１ｄｅｇ
｝
イチ［４］｛
Ｘ＝１６７９．５１ｍｍ，Ｙ＝−１７．９１ｍｍ，Ｚ＝１３１６．０７ｍｍ，
Ｗ＝２９．１８ｄｅｇ，Ｐ＝−８８．６９ｄｅｇ，Ｒ＝１５０．２１ｄｅｇ
｝
以上のように、作業ワークの種類に依存して変化する動作プログラム部分を変更可能な形で作業動作を定義した作業プログラム定義データ４１ａ，４１ｂが作業プログラム作成装置７に接続されたハードディスク装置４０内に格納され、この作業ワークの種類に依存して変化する部分は、作業部位定義データ４２-1，４２-2として作業ワーク毎に格納される。
【００３５】
この作業部位定義データは、作業ワークの種類に依存してそのロボットの作業動作が決まる部分において、１つ１つ、作業ツールの位置、姿勢を入力、格納するようにしてもよいが、作業ワークのＣＡＤデータや画像データに基づいて自動的に作業プログラム作成装置７が作成するようにしてもよい。  
作業ワークＷ１，Ｗ２等の図面データを、一般的な２次元／３次元ＣＡＤにより作成し、作業プログラム作成装置７に入力する。この作業ワーク図面データは、例えばＡｕｔｏＣＡＤで用いられているＤＸＦファイルフォーマットなどがある。作業ワーク図面データには作業ワークＷ１の把持位置５１及び作業ワークＷ２の把持位置５２および、作業ワークＷ１の置き位置７１および作業ワークＷ２の置き位置７２の情報は、ＤＸＦファイルにおけるエンティティとして作成される。エンティティとは点、線、面などの図面データの構成要素を表わすもので、ＩＤや名前を持つことができる。ここでは、把持位置５１および５２を表わすエンティティには、WorkGripPosという名前をつけ、作業ワークの置き位置７１及び７２を表わすエンティティには、WorkCenterPosという名前をつける。これらエンティティの座標はＤＸＦファイルが持つ座標系、つまりワーク座標系Σ９３，Σ９４で表わされている。作業プログラム作成装置７は作業ワーク図面データを読み込む際、WorkGripPosおよびWorkCenterPosという名前のエンティティを検索する。これらエンティティが図面データ内に検出された場合、ワールド座標系Σ９０における作業ワークの位置、つまりワーク座標系Σ９３およびΣ９４の、ワールド座標系Σ９０での位置を作業プログラム作成装置７において入力する。これによりワールド座標系Σ９０におけるWorkGripPosおよびWorkCenterPosのエンティティの位置が求まる。予め作業ツール２のおけるツール座標系Σ９１におけるツール先端点２ａ与えられており、ツール先端点２ａを作業ワークの把持位置５１又は５２と一致するように、ロボットの位置と姿勢を求めることができる。このロボットの位置と姿勢を、作業部位定義データ４２-1及び４２-2における％WorkGripPos％とする。作業部位定義データ４２-1及び４２-2における％WorkApproachPos％は、％WorkGripPosと同じ姿勢で、Ｚ方向に一定距離だけ離れた位置とする。
【００３６】
作業プログラム作成装置７において、ワーク座標系Σ９３およびΣ９４のワールド座標系Σ９０での位置を入力するかわりに、画像処理装置８により、パレット上に置かれた作業ワークをカメラ９により撮像し、これにより作業ワークの中心位置を求める。つまりこれは作業ワークＷ１またはＷ２における置き位置７１および７２の位置であり、これは作業ワークＷ１及び作業ワークＷ２の図面データ４３-1及び４３-2により与えられたWorkCenterPosのエンティティの位置ということになり、これからワールド座標系Σ９０におけるワーク座標系Σ９３及びΣ９４の位置を求め、これから作業部位定義データ４２-1及び４２-2における％WorkApproachPos％および％WorkGripPos％を求めることができる。
【００３７】
この実施形態では、パレットＰ１から作業ワークを取り出し加工した後パレットＰ３に載置する第１の作業経路ＲａとパレットＰ２から作業ワークを取り出し加工した後パレットＰ４に載置する第２の作業経路Ｒｂがあり、この第１，第２の作業経路Ｒａ，Ｒｂに合わせて、作業プログラム定義データ４１ａ，４１ｂを作業プログラム作成装置７のハードディスク装置４０に格納しておき、この実施形態のシステムで取り扱う作業ワーク毎に上述した作業部位定義データ４２-1，４２-2を作業プログラム作成装置７のハードディスク装置４０に格納すればよい。作業プログラム定義データ４１ａ，４１ｂは一度格納しておけば、作業経路に変更がない限り新たに作成及び格納する必要はない。そして新たな作業ワークが発生する毎に作業部位定義データを作成して格納すればよく、
そして、例えば、図３において、ステップ１０７で第１の作業経路Ｒａで作業ワークＷ１のための作業が選択された場合、作業プログラム定義データ４１ａと作業部位定義データ４２-1とにより作業ワークＷ１に対する作業プログラムが作成されることになる。また、ステップ１０８で、第１の作業経路Ｒａで作業ワークＷ２のための作業が選択された場合、作業プログラム定義データ４１ａと作業部位定義データ４２-2とにより作業ワークＷ２に対する作業プログラムが作成され、ステップ１０９で、第２の作業経路Ｒｂで作業ワークＷ１のための作業が選択された場合、作業プログラム定義データ４１ｂと作業部位定義データ４２-1とにより作業ワークＷ１に対する作業プログラムが作成され、ステップ１１０で、第２の作業経路Ｒｂで作業ワークＷ２のための作業が選択された場合、作業プログラム定義データ４１ｂと作業部位定義データ４２-2とにより作業ワークＷ２に対する作業プログラムが作成されることになる。
【００３８】
なお、上記、実施形態ではロボットハンドにより作業ワークを把持する作業に関する説明を行っているが,ロボットが行う作業がアーク溶接である場合には、図面データにより、溶接開始位置の点エンティティと、溶接経路を線分で表わした形状データの両方が必要となる。溶接経路を線分で表わすかわりに、経路上の複数の点エンティティにより溶接経路を表わすこともできる。またロボットで行う作業がバフがけ作業の場合には、図面データにより、バフがけ作業を行うための面エンティティを表わす形状データのみを与えるだけでよい。
【図面の簡単な説明】
【００３９】
【図１】本発明の一実施形態の作業プログラム作成装置により作成する作業プログラムを適用するロボットを用いた生産システムの全体概要図である。
【図２】同システムの制御系のブロック図である。
【図３】同システムにおける作業動作の流れ図である。
【図４】同流れ図におけるステップ１０７の詳細な作業動作の流れ図である。
【図５】図４の続きの流れ図である。
【図６】図５の続きの流れ図である。
【図７】ロボット１動作の一例における作業ツール２の動作経路の一部を説明する説明図である。
【図８】作業ツール２の動作経路における図７の続きの説明図である。
【図９】作業ツール２の動作経路における図８の続きの説明図である。
【図１０】作業ワークをパレットから取り出す作業時における作業ツールの位置姿勢の説明図である。
【図１１】別の作業ワークをパレットから取り出す作業時における作業ツールの位置姿勢の説明図である。
【符号の説明】
【００４０】
１  ロボット
２  作業ツール
３  走行軸
４  仮置き台
４ａ，４ｂ  作業ワークの位置決め用治具
５  加工機械
６  制御装置
７  作業プログラム作成装置
８  画像処理装置
９  カメラ
Ｐ１，Ｐ２，Ｐ３，Ｐ４  パレット
Ｗ１，Ｗ２  作業ワーク
【図１】
2005149216.tif 000003
【図２】
2005149216.tif 000004
【図３】
2005149216.tif 000005
【図４】
2005149216.tif 000006
【図５】
2005149216.tif 000007
【図６】
2005149216.tif 000008
【図７】
2005149216.tif 000009
【図８】
2005149216.tif 000010
【図９】
2005149216.tif 000011
【図１０】
2005149216.tif 000012
【図１１】
2005149216.tif 000013