特許第6585391号(P6585391)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 蛇の目ミシン工業株式会社の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6585391
(24)【登録日】2019年9月13日
(45)【発行日】2019年10月2日
(54)【発明の名称】ロボット
(51)【国際特許分類】
   B25J 9/22 20060101AFI20190919BHJP
   B25J 13/00 20060101ALI20190919BHJP
【FI】
   B25J9/22 Z
   B25J13/00 Z
【請求項の数】8
【全頁数】26
(21)【出願番号】特願2015-118736(P2015-118736)
(22)【出願日】2015年6月11日
(65)【公開番号】特開2017-1145(P2017-1145A)
(43)【公開日】2017年1月5日
【審査請求日】2018年6月5日
(73)【特許権者】
【識別番号】000002244
【氏名又は名称】蛇の目ミシン工業株式会社
(74)【代理人】
【識別番号】100081961
【弁理士】
【氏名又は名称】木内 光春
(72)【発明者】
【氏名】比留間 健一郎
【審査官】 貞光 大樹
(56)【参考文献】
【文献】 特開平2−303779(JP,A)
【文献】 国際公開第02/16091(WO,A1)
【文献】 特開2014−226730(JP,A)
【文献】 特開2010−137298(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 − 21/02
(57)【特許請求の範囲】
【請求項1】
ワーク上のポイントに対して作業を実行する複数の作業ツールと、
前記複数の作業ツールを前記ポイントに移動させる移動手段と、
メインプログラムに従って前記作業ツールと前記移動手段を制御するコントローラと、
を備え、
前記コントローラは、
前記メインプログラムを記憶するメインプログラム記憶手段と、
前記作業ツールに対する制御内容を特定する種別情報と前記ポイントの座標情報を含むステートメントを、前記ポイントごとに並べて成るポイント列を記憶するポイント列記憶手段と、
前記種別情報により特定される制御内容を記述し、前記作業ツール毎の調整情報を参照するための参照情報を含むポイント種別定義を記憶するポイント種別定義記憶手段と、
前記参照情報に対応して用意された前記作業ツール毎の調整情報を記憶する調整情報記憶手段と、
前記ポイント列に従って前記メインプログラムを実行する実行部と、
前記実行部による実行中に、前記ポイント列に含まれる前記ポイント種別定義を継承する際、前記参照情報に基づいて前記調整情報を参照することにより、前記制御内容に前記調整情報を適用させる参照部と、
を有することを特徴とするロボット。
【請求項2】
前記調整情報は、ワーク上の同一の座標に対する前記作業ツール毎のオフセット情報を有するツール位置情報を含むことを特徴とする請求項1記載のロボット。
【請求項3】
前記ポイント列のポイントの位置を検出する際に、複数のツール位置定義の名称の一覧を表示する表示部と、
前記表示部に表示された一覧から、作業ツールに応じて、いずれかのツール位置定義を選択する選択部と、
前記ポイント列に、検出されたポイントの位置を登録する際に、選択された前記ツール位置定義に設定されたオフセット情報を適用させる調整部と、
を有することを特徴とする請求項2記載のロボット。
【請求項4】
前記選択部により、作業ツールであるカメラに対応するツール位置定義が選択された場合に、前記調整部が、前記カメラにより検出された座標をオフセット情報によりオフセットした値を、ポイント列のポイントの座標として登録する登録部を有することを特徴とする請求項3記載のロボット。
【請求項5】
前記調整情報は、各作業ツールを駆動する態様である駆動条件を定義する駆動条件定義を含むことを特徴とする請求項1〜3のいずれか1項に記載のロボット。
【請求項6】
前記調整情報は、ワークの位置を補正する場合の補正情報を含むことを特徴とする請求項1〜5のいずれか1項に記載のロボット。
【請求項7】
前記ポイント種別定義には、他のポイント種別定義を承継することを示す情報と、承継されるポイント種別定義に含まれる参照情報も承継することを示す情報とが含まれることを特徴とする請求項1〜6のいずれか1項に記載のロボット。
【請求項8】
前記調整情報が、どのポイント種別定義で参照されているかを、一覧表示する表示部を有することを特徴とする請求項1〜7のいずれか1項に記載のロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ポイントを主体とするプログラムを実行するコンピュータにより制御されるロボットに関する。
【背景技術】
【0002】
各種産業用ロボットが普及している。ロボットは、ワークへのネジ締め、溶接及び塗装、ワークの搬送、ワークへの部品の取り付け、並びに半田付け等を用途とする。このロボットは例えば垂直多関節型の移動手段を有し、移動手段には作業ツールが装着される。移動手段と作業ツールはプログラムを実行するコンピュータにより制御される。コンピュータ制御下で作業ツールは所定ポイントに移動して駆動する。
【0003】
プログラムはポイント主体のロボット言語で記述される。このプログラムは、ワーク上の複数のポイントごとのポイントステートメントを配列して成るポイント列を用いる。ポイントステートメントには、ポイント番号を筆頭とし、ポイント種別情報とポイント座標情報が含まれる。ポイント種別情報は、所謂関数名であり、ポイントに対する作業内容、移動方法等の制御内容を定義した命令列を特定する。このポイント列は、ワーク上の作業するポイントの位置を指定して登録するポイントティーチングを行うことにより作成される。
【0004】
ロボットは、ポイント種別情報が特定する命令列に従って移動手段と作業ツールを制御し、座標情報が示すポイントに作業ツールを向かわせ、当該ポイントに対して作業を実行する。
【0005】
例えば、塗布材料を塗布する塗布作業において、主作業つまり塗布を行う時の作業ツールは、「ニードル」である。しかし、それ以外にも、ワーク位置を検出する「カメラ」やワークの高さを検出する「高さセンサ」といった補助的なものを、作業ツールとして扱う場合がある。ここで、共通の移動手段に、複数の作業ツールを取り付けた場合、各作業ツールの取り付け位置は異なる。このため、ワーク上の同一のポイントに対する作業であっても、使用する作業ツールを替える場合には、移動手段は、作業ツールの位置が同一のポイントに合うように調整する必要がある。
【0006】
ワーク上の各ポイントに対して位置決めされる作業ツールの位置を、各作業ツールの「TCP(Tool Center Point、ツールセンターポイント)」と呼ぶ。作業ツールを替えると、このTCPを切り替えることになる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2014−226730号公報
【特許文献2】特開2014−210332号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
共通の移動手段に複数のツールを固定して作業させる場合、各ツールの相対的な位置関係は固定である。このため、ワーク上の同一のポイントに対する各ツールの相対的な位置関係は決まっている。このため、ポイントティーチングを行う場合、あらかじめ各ツールの相対的な位置関係を、ポイント属性として設定できるようにしている。このような相対的な位置関係を示す情報を、「切替TCP」と呼ぶ。ロボットは、プログラムの実行時に、ポイント毎に設定された切替TCPに基いて、各作業ツールのTCPを切り替えて、ポイントに対する位置決めを行うことができる。
【0009】
しかし、ポイントティーチングにおいては、ポイント数が増えると、どのような作業ツールを使用して、どのような作業をさせるのか、これに応じてどの切替TCPを選択すべきなのかを、各ポイント毎に指定しなければならない。このため、切替TCPを指定する作業が煩雑であり、指定間違いが多くなるという問題があった。
【0010】
本発明は、上記のような従来技術の問題点を解決するために提案されたもので、各ポイント毎に、作業ツールの位置を調整する情報を設定する必要がなく、間違いを防止できるロボットを提供することを目的とする。
【課題を解決するための手段】
【0011】
上記の目的を達成するために、本発明に係るロボットは、ワーク上のポイントに対して作業を実行する複数の作業ツールと、前記複数の作業ツールを前記ポイントに移動させる移動手段と、メインプログラムに従って前記作業ツールと前記移動手段を制御するコントローラと、を備え、前記コントローラは、前記メインプログラムを記憶するメインプログラム記憶手段と、前記作業ツールに対する制御内容を特定する種別情報と前記ポイントの座標情報を含むステートメントを、前記ポイントごとに並べて成るポイント列を記憶するポイント列記憶手段と、前記種別情報により特定される制御内容を記述し、前記作業ツール毎の調整情報を参照するための参照情報を含むポイント種別定義を記憶するポイント種別定義記憶手段と、前記参照情報に対応して用意された前記作業ツール毎の調整情報を記憶する調整情報記憶手段と、前記ポイント列に従って前記メインプログラムを実行する実行部と、前記実行部による実行中に、前記ポイント列に含まれる前記ポイント種別定義を継承する際、前記参照情報に基づいて前記調整情報を参照することにより、前記制御内容に前記調整情報を適用させる参照部と、を有する。
【0012】
前記調整情報は、ワーク上の同一の座標に対する作業ツール毎のオフセット情報を有するツール位置定義を含んでもよい。
【0013】
前記ポイント列のポイントの位置を検出する際に、複数のツール位置定義の名称の一覧を表示する表示部と、前記表示部に表示された一覧から、作業ツールに応じて、いずれかのツール位置定義を選択する選択部と、前記ポイント列に、検出されたポイントの位置を登録する際に、選択されたツール位置定義に設定されたオフセット情報を適用させる調整部と、を有してもよい。
【0014】
前記選択部により、作業ツールであるカメラに対応するツール位置定義が選択された場合に、前記調整部が、前記カメラにより検出された座標をオフセット情報によりオフセットした値を、ポイント列のポイントの座標として登録する登録部を有してもよい。
【0015】
前記調整情報は、各作業ツールを駆動する態様である駆動条件を定義する駆動条件定義を含んでもよい。前記調整情報は、ワークの位置を補正する場合の補正情報を含んでもよい。
【0016】
前記ポイント種別定義には、他のポイント種別定義を承継することを示す情報と、承継されるポイント種別定義に含まれる参照情報も承継することを示す情報とが含まれていてもよい。
【0017】
前記調整情報が、どのポイント種別定義で参照されているかを、一覧表示する表示部を有してもよい。
【発明の効果】
【0018】
本発明によれば、ポイント列がポイント種別情報を継承する際、ポイント種別情報に含まれる参照情報を参照することにより、作業ツール毎の位置を調整できるので、各ポイント毎にツールの位置を調整する情報を設定する必要がなく、間違いを防止できる。
【図面の簡単な説明】
【0019】
図1】ロボットの全体構成を示す模式図である。
図2】作業ツールの構成を示す正面図である。
図3】コントローラの構成を示すブロック図である。
図4】切替TCP番号の設定がないポイント列の全体構成を示す模式図である。
図5】切替TCP番号を設定したポイント列の全体構成を示す模式図である。
図6】ポイント種別定義の全体構成を示す模式図である。
図7】TCP定義の全体構成を示す模式図である。
図8】保護モードとアクセス権を示す説明図である。
図9】切替TCPを示す模式図である。
図10】コントローラの機能を示すブロック図である。
図11】ポイントティーチング時のTCP定義の設定画面を示す模式図である。
図12】コントローラによるプログラム類の実行動作を示すフローチャートである。
図13】ポイントステートメントの実行例を示す模式図である。
図14】PTP駆動条件定義を含む調整情報を示すブロック図である。
図15】アーチモーションの一例を示す説明図である。
図16】PTP駆動条件定義の全体構成を示す模式図である。
図17】PTP駆動条件定義を参照するポイント種別定義の全体構成を示す模式図である。
図18】駆動条件番号の設定のないポイント列の全体構成を示す模式図である。
図19】駆動状家番号を設定したポイント列の全体構成を示す模式図である。
図20】補正係数を含む調整情報を示すブロック図である。
図21】ワーク補正番号、カメラ撮り結果格納番号を設定したポイント列の全体構成を示す模式図である。
図22】ワーク位置補正対象とするか否かを設定したポイント種別定義の全体構成を示す模式図である。
図23】ワーク補正番号、カメラ撮り結果格納番号を設定していないポイント列の全体構成を示す模式図である。
図24】参照するポイント種別定義の一覧を示す図である。
【発明を実施するための形態】
【0020】
[ロボットの構成]
以下、本発明に係るロボットの実施形態について図面を参照しつつ詳細に説明する。図1に示すように、ロボット1は移動手段2とコントローラ3を備える。移動手段2には作業ツール4が装着される。ロボット1は、移動手段2によって所望位置に作業ツール4を位置させ、作業ツール4を駆動させる。
【0021】
移動手段2は、複数の作業ツール4を移動させる。各作業ツール4は、それぞれワーク上のポイントに対して作業を実行する。図2に示すように、カメラ4a、ニードル4b、高さセンサ4cである。カメラ4aは、ワーク上のマークを撮像することによりワークの位置を検出する装置である。ニードル4bは、ワークに対して塗布材料を塗布する装置である。高さセンサ4cは、作業ツール4からワークの表面までの距離(以下、単に高さとする)を検出する装置である。
【0022】
移動手段2は、図1に示すように、作業ツール4をX軸方向、Y軸方向及びZ軸方向に移動させ、指定されたポイントに作業ツール4を位置させる。X軸方向は、ワークが設置される水平面と平行な軸方向である。Y軸方向は、水平面と平行でX軸と直交する他軸方向である。Z軸方向は高さ方向である。移動手段2は、作業ツール4をX軸方向に移動させるXリニアスライダ21、作業ツール4をY軸方向に移動させるYリニアスライダ22、作業ツール4をZ軸方向に移動させるZリニアスライダ23を備える。
【0023】
Xリニアスライダ21は、X軸方向に延設されたレール上にYリニアスライダ22を摺設し、X軸方向に走行する無端ベルトにYリニアスライダ22を直交させて固定してなり、無端ベルトをX軸モータで走行させ、Yリニアスライダ22をX軸に沿って移動させる。
【0024】
Yリニアスライダ22は、Y軸方向に延設されたレール上にZリニアスライダ23を摺設し、Y軸方向に走行する無端ベルトにZリニアスライダ23を固定してなり、無端ベルトをY軸モータで走行させ、Zリニアスライダ23をY軸に沿って移動させる。Xリニアスライダ21及びYリニアスライダ22の伝動機構としては、無端ベルトの他、シリンダ、リードスクリュー等の各種アクチュエータを挙げることができる。
【0025】
Zリニアスライダ23は、Z軸に沿った軸を有するアームを備え、このアームの先端に作業ツール4が装着される。このZリニアスライダ23は、例えばラックアンドピニオン機構を有し、ラックをZ軸方向に延設し、当該ラックにアームを固定して構成される。Z軸モータによりピニオンを回転させることで、アームをZ軸方向に移動させる。このZリニアスライダ23により作業ツール4は、Z軸方向を移動する。
【0026】
図3に示すように、コントローラ3は、プロセッサ31とストレージ32とメモリ33と周辺機器とで構成される所謂コンピュータである。周辺機器はモータドライバ34及び操作手段35である。ストレージ32は、メインプログラム5、ポイント列6、ポイント種別定義7、調整情報8、切替TCP9からなるプログラム類を記憶する記憶手段である。ストレージ32の各情報の記憶領域が各情報の記憶手段を構成する。メインプログラム5及びポイント列6はメインルーチンとして実行され、ポイント種別定義7はサブルーチンとして実行される。調整情報8は、サブルーチンの実行において参照される。切替TCP9は、ポイント列6の実行に当たり、参照される。
【0027】
プロセッサ31は、ロボット1の全体の制御を行う制御装置である。プロセッサ31は、中央処理装置(CPU)を主体に構成される。プロセッサ31は、メインプログラム5に従って、情報の入力、記憶、出力、表示、モータ駆動等の演算処理及び周辺機器の制御処理を行う。
【0028】
プロセッサ31は、ポイント列に従ってメインプログラム5を実行するに際して、ポイント列に記述されたポイント種別定義を継承し、その際に、ポイント種別定義に設定された参照情報に基づいて調整情報8を参照する。メモリ33には、プログラム類が適宜展開され、またプロセッサ31の演算結果が一時記憶される。モータドライバ34は、プロセッサ31から制御処理の結果として入力される指令信号に従ってX軸モータ、Y軸モータ、Z軸モータの各モータに電力パルスを供給する。
【0029】
操作手段35は、液晶ディスプレイ等の表示部352、並びにマウス、キーボード及びティーチングペンダント351により成る。ティーチングペンダント351は、ロボット1に動作を教えるための入力手段である。このような操作手段35を用いたティーチング操作によって、プログラム類が作成及び編集される。操作者が所望の設定を行う場合には、操作手段35を用いた操作によって、設定を入力する。
【0030】
このプログラム類に従ったロボット1の動作を例示する。図4に示すように、メインプログラム5が実行するポイント列には、ワーク上の位置を示すポイント♯1〜♯6が設定されている。各ポイント♯1〜♯6には、各ポイント♯1〜♯6への作業ツール4の移動と、作業を定義するポイント種別定義7を示すポイント種別情報63が設定されている。
【0031】
図1に示すように、カメラ4a、ニードル4b、高さセンサ4cを併せて、Zリニアスライダ23に取り付ける。この場合、ワーク上の同一地点に対して、各作業ツール4のTCPを合わせた場合、移動手段2の座標はそれぞれ相違することになる。
【0032】
例えば、ワーク上の同一地点に対して、まずカメラ4aでマークを検出し、高さセンサ4cで高さを検出し、この2つの検出結果から、実際に塗布する位置を補正して、ニードル4bで塗布を行うといった作業を行うことを考える。この時、カメラ取り、高さ取り、塗布位置を、それぞれ別の座標としてティーチングして動作させることも可能である。
【0033】
但し、各作業ツール4が位置決めの対象としているのは、ワーク上の「同一地点」である。そこで、まず、作業ツール4による相対的な位置の違いを、図5に示すように、切替TCP値というオフセット情報で設定しておく。そして、目標とするワーク上のポイントの座標としては共通の座標を用いて、各作業ツール4を、共通の座標に対して切替TCPのオフセット情報に基づくオフセットをした位置に動作させる。このように各ツールを案内するワーク上のポイントを、同一地点の同一座標として表現する利点は、そのポイントを変更して次のポイントに作業をする時に、切替TCPで調整すれば済むという簡便性がある点である。
【0034】
直交3軸の場合には、切替TCPは、共通の座標に対して単純な加算、減算をするためのX値、Y値、Z値を示すTCP値になる。以下の説明は、直交3軸でのTCP値で行うが、これに制限されるものではない。例えば、回転R軸が加わった様なロボット1で、R軸の回転に従って、カメラ4a、ニードル4b、高さセンサ4cが回転する様な場合には、TCP値として、R軸回転中心に対して、各ツールがどの位置に付いているかを指定する。これにより、各ツールをワーク上の各ポイントに正しく位置決めすることができる。
【0035】
[プログラム類の構成]
(メインプログラム)
メインプログラム5は、ポイント列に従って、移動手段2を駆動することにより、ワーク上の各ポイントに対して、各作業ツール4の作業に適した位置に、各作業ツール4を位置決めさせるプログラムである。
【0036】
(ポイント列)
ポイント列6は、図4に示すように、各ポイント♯1〜♯6のポイントステートメント61が配列される。ポイントステートメント61は、ポイントの位置と制御内容を示す。このポイントステートメント61には、ポイント番号62を筆頭に、ポイント種別情報63と、ポイント座標情報64を並べられる。一部のポイントステートメント61には、切替TCP番号65が更に並ぶ場合がある。
【0037】
ポイント番号62は、ポイントステートメント61がポイント主体の構文であることの宣言及び区切りを明示し、各ポイントステートメント61を区分けしている。ポイント座標情報64は、ポイントの位置をロボット1の座標系で特定している。例えば、各ポイント♯1〜♯6のX座標、Y座標、Z座標が特定される。切替TCP番号65は、後述する切替TCP9における各作業ツール4毎の設定に付された番号である。本実施形態においては、図4に示すように、ポイント列6に、切替TCP番号65を設定しなくてもよい。但し、図5に示すように、一部のポイントにのみ、切替TCP番号65を設定してもよい。
【0038】
(ポイント種別定義)
ポイント種別定義7は、ポイントに対する制御内容を定義したサブプログラム7を示す所謂関数名である。このポイント種別定義7には、移動方法と作業内容を定義する命令列や調整情報8とのひも付けのための参照情報を含んでいる。ポイント種別定義は、例えば、「カメラ撮り点」、「高さ検出点」、「点塗布点」がある。カメラ撮り点は、カメラ4aによりワーク上のマークを撮像する作業に関するポイント種別である。高さ検出点は、高さセンサ4cにより高さを検出する作業に関するポイント種別である。点塗布点は、ニードル4bにより塗布する作業に関するポイント種別である。
【0039】
図6は、ポイント種別定義7としてカメラ撮り点を定義した例である。識別情報71は、ポイント種別定義7を特定する所謂関数名である。ポイント種別定義7は、識別情報71を指定することにより作成される。
【0040】
所有者72は、作成時のアカウントを持っている者であり、ポイント種別定義7を管理する権限を有する。保護モード73は、後述するアクセス権のレベルが異なるモードの設定を示す。なお、ポイント種別定義7は、主として、ディーラーや装置メーカー、設備業者といった者が作成することを想定している。
【0041】
また、ポイント種別名74は、ポイント種別定義7の表示に使用するために設定される名称である。この名称は、例えば、「カメラ撮り点」、「Camera Taking Point」のように、日本語、英語等の異なる言語のものを用意して、表示言語切り替えに対応して名称の表示を変え、判りやすくすることができる。図4図5で示したポイント列8においては、ポイント種別情報63にポイント種別名74を設定することにより、ポイント種別定義7が継承される。
【0042】
元となるポイント種別情報75には、当該ポイント種別定義7が継承する他のポイント種別定義7を指定する。この指定は、ポイント種別定義7における識別情報71を指定することにより行う。例えば、PTPPointは、ポイントとポイントを結ぶように直線移動させるPTP移動を示す移動方法命令列を含むポイント種別定義7である。
【0043】
参照TCP76には、参照すべき調整情報8の参照情報を指定する。参照情報としては、例えば、後述するTCP定義81のTCP識別情報81aを指定する。但し、参照すべきTCP定義81が無い場合、参照TCP76に何も設定しないこともできる。参照TCP76にTCP定義81を指定した場合には、このポイント種別定義7を指定したポイントに移動する時には、参照TCP76として指定されたTCP定義81の設定を参照して、運転動作する。
【0044】
移動前作業77は、ポイントへの移動前に実行されるステートメントの塊である。移動後作業78は、ポイントへの移動後に実行されるステートメントの塊である。
【0045】
(TCP定義)
TCP定義81は、参照情報に対応して用意された作業ツール4毎の調整情報である。図7に、作業ツール4のカメラ4aに対応するTCP定義81の例を示す。TCP識別情報81aは、TCP定義81を特定する参照情報である。ポイント種別定義7の参照TCP76に、TCP定義81のTCP識別情報81aを設定することにより、当該TCP定義81が参照される。TCP識別情報81aは、文字であっても数字であってもよい。なお、所有者81b、保護モード81cは、上記の所有者72、保護モード73と同様である。
【0046】
TCP名81dは、表示に使用するために設定される名称である。この名称は、例えば、「カメラ」、「Camera」のように、日本語、英語等の異なる言語のものを用意して、表示言語切り替えに対応してTCPの表示を変え、判りやすくする。
【0047】
TCP値81eは、参照情報に対応して用意され、ワーク上の同一の座標に対する作業ツール4毎のオフセット情報であるツール位置情報である。例えば、図7の例では、ニードル4bのTCP値81eを(0、0、0)とした場合のカメラ4aのオフセット値として、TCP−X座標、TCP−Y座標、TCP−Z座標が設定されている。Zに値が入っているのは、ニードル4bで塗布する高さに対して、カメラ4aは撮像する高さを上げる必要があるためである。
【0048】
TCP定義81は、主としてディーラーや装置メーカー、設備業者といった者が設定することを想定している。但し、TCP値81eを設定するのは、主として最終エンドユーザー、操作者が行うことを想定している。このため、判りやすさが求められる。
【0049】
なお、図7では、各TCP値81eの記憶領域を、直接TCP定義81内に設定している。しかし、この値自体は必ずしも「定義」では無いので、別にTCP値81eの記憶領域を取って、これを参照する構成にすることもできる。この場合、TCP値81eを調整情報8として把握することができ、各TCP値81eを識別し、TCP定義81等により参照される識別情報を参照情報として捉えることができる。
【0050】
(保護モードとアクセス権)
ポイント種別定義7、TCP定義81等の調整情報8を作成するにあたっては、予め作成したログインIDとパスワード等のアカウントによるログイン状態にして作成することにより、所有者72を登録することができる。所有者72以外の者ができるアクセス権の程度を、保護モード73として設定することにより、他者の誤操作等による書き換えや削除を防ぐことができる。なお、上記の所有者81b、保護モード81c、後述する所有者82b、保護モード82cも同様である。
【0051】
図8は、この保護モードとアクセス権の例である。アクセス権としては、変更権、参照権、利用権がある。変更権は、ポイント種別定義7や調整情報8の書き換えや削除といった変更ができる権限である。参照権は、ポイント種別定義7や調整情報8の内容の参照ができる権限である。参照権があると、識別情報がわかり、ポイント種別定義7、調整情報8を参照したり、識別情報を元にした変数として設定値を参照・変更するといったことができる。
【0052】
図6の例では、TCP81の識別情報であるCameraTCP を元に、CameraTCP.X, CameraTCP.Y, CameraTCP.Z といった変数識別子により、TCP値81eを参照・設定することができる。利用権は、変更や参照はできないが、TCP定義81のTCP値81eの設定ができる権限である。利用権のみでは、選択枝として表示されるTCP名81dはわかるが、識別情報は判らない。
【0053】
保護モードとしては、制限無し、公開、保護、私的がある。「制限無し」のモードは、変更権、参照権、利用権のすべてがあるモードである。「公開」のモードは、変更権はないが、参照権、利用権はあるモードである。「保護」モードは、変更権、参照権はないが、利用権はあるモードである。「私的」モードは、変更権、参照権、利用権の全てがないモードである。
【0054】
例えば、「私的」のモードを設定することにより、操作者は、誤操作によりTCP値81eを改変してしまうこともなく、TCP値81eを知らなくても、ポイント種別定義7を指定するだけで、TCP値81eを利用することができる。
【0055】
(切替TCP)
切替TCP9は、各作業ツール4に応じて用意されたオフセット情報となるTCP値である。図9は、切替TCP9として、3つのTCPを用意する。切り替えTCP番号1は、カメラ4aに対応するもの、切り替えTCP番号2は、ニードル4bに対応するもの、切り替えTCP番号3は、高さセンサ4cに対応するものである。
【0056】
図9に、それぞれのTCP値の例を示す。この例では、上記のTCP定義81におけるCameraTCPと同様に、ニードル4bをTCP値(0、0、0)とした場合の、カメラ4aや高さセンサ4cのTCP値を、それに対するオフセット値という形で指示している。Zに値が入っているのは、ニードル4bで塗布する高さに対して、カメラ4aや高さセンサ4cでの検出は高さを上げるためである。
【0057】
なお、メインプログラム5、ポイント種別定義7に設定されたプログラムに、TCP値を設定することもできる。また、共通に使用できるTCP値を別途設定しておき、いずれにもTCP値の設定がない場合に、共通のTCP値を参照してもよい。
【0058】
[コントローラの各処理部]
コントローラ3は、ロボット1の制御部として機能し、図10に示すように、実行部3a、参照部3bを有する。実行部3a、参照部3bを有する。実行部3aは、メインプログラム5を実行する処理部である。参照部3bは、実行部3aによるメインプログラム5の実行中に、ポイント列6に含まれるポイント種別定義7を継承する際、参照情報に基づいて、調整情報8を参照することにより、制御内容に調整情報を適用させる処理部である。本実施形態では、ポイント種別定義7を継承する際、参照TCP76に基づいて、TCP定義81を参照し、TCP定義81に設定されたTCP値81eを、ポイントの座標のオフセット値として適用する。
【0059】
また、コントローラ3は、プログラミングツールとして機能する。コントローラ3は、操作手段35の入力に応答して、プログラム類の新規作成及び編集を行う。このプログラム類の編集には、作業対象となるポイントを指定してポイント列を作成するポイントティーチングも含まれる。例えば、表示部352にポイント列の内容を表示し、操作手段35の入力に応じて、各ポイント番号62ごとに、ポイント種別情報63、ポイント座標情報64を設定する。
【0060】
本実施形態においては、操作手段35を用いて、ポイントティーチングを行う際に、切替TCP番号65を指定するのではなく、ポイント種別情報63を指定するだけで、TCP定義81を暗黙的に参照させることができる。このため、ポイント毎に明示的にTCP値を指定しなくても、TCP値が切り替わる。
【0061】
さらに、コントローラ3は、ポイントティーチングの座標登録の際に、TCP定義81におけるTCP値81eを反映させて、座標を登録することができる。このために、コントローラ3は、選択部3c、調整部3d、登録部3eを有する。選択部3cは、あらかじめ作業ツール4毎に定義され、表示部352に表示された複数のTCP定義81の一覧、例えば、図11に示すようなTCP名81dの一覧から、使用する作業ツール4に応じたTCP定義81を選択する処理部である。調整部3dは、選択されたTCP定義81のTCP値81eによって、当該作業ツールの座標をオフセットした値を、ティーチングにおいて登録される座標として適用する処理部である。登録部3eは、調整部3dがオフセットした値を、ポイント列6のポイントの座標として登録する処理部である。
【0062】
[作用]
(作業ツールの移動)
本実施形態における各ポイントへの作業ツール4の移動制御の例を、図12のフローチャート、図13の説明図を参照して説明する。なお、図12は、ロボット1の運転の全体ではなく、ポイントへの作業ツール4の移動についてだけ取り出したフローとなっている。各点での作業ツール4に対する動作を指定する部分や、カメラ撮りや高さ検出の結果に基づいて微調整する等の塗布点の位置補正については、説明を省略した。つまり、TCP値により、異なる作業ツール4による座標の差異を吸収する動作について焦点を絞って説明している。また、図13は、ポイント列6によるポイント種別定義7の継承、ポイント種別定義7のTCP定義81の参照の流れを示す図であり、情報の一部を省略している。
【0063】
コントローラ3の実行部3aは、メインプログラム5を実行するに当たり、ポイント列6に設定された各ポイントステートメント61を、ポイント番号62の順に実行する。まず、ポイント列6のポイントに、切替TCP番号65が設定されているかどうかを判断する(ステップS101)。ポイント毎に付される切替TCP番号65は、優先度が一番高い。
【0064】
この切替TCP番号65が設定されている場合には(ステップS101のYES)、ポイント種別定義7における暗黙の指定ではなく、切替TCP番号65に対応するTCP値を取り出して、ポイントの座標値をTCP値でオフセットした値を算出し、その位置に作業ツール4を移動させる(ステップ102)。
【0065】
ポイントに切替TCP番号65が設定されていない場合には(ステップS101のNO)、参照部3bは、当該ポイントに設定されたポイント種別定義7に参照TCP76の指定がなされているかどうかを判断する(ステップS103)。
【0066】
ポイント種別定義7に、参照TCP76の指定がなされている場合には(ステップS103のYES)、参照部3bは、参照TCP76で指定されているTCP定義81のTCP値81eを取り出して、ポイントの座標値をTCP値81eでオフセットした値を算出し、その位置に作業ツール4を移動させる(ステップS104)。
【0067】
例えば、図13に示すように、ポイント番号1のポイントステートメント61には、切替TCP番号65が設定されていない。そして、ポイント種別63に設定されたカメラ撮り点のポイント種別定義7を継承する際に、参照TCP76には、参照名がCameraTCPのTCP定義81が設定されている。このため、参照部3bは、CameraTCPのTCP定義81を参照する。このCameraTCPに設定されたTCP値81eによって、ポイント列6のポイント番号1に設定された座標をオフセットした値を、目標とする座標値として、カメラ4aを移動させる。
【0068】
さらに、実行部3aは、ポイント種別定義7に、参照TCP76の指定がない場合(ステップS103のNO)、ポイント種別定義7内のプログラムの個別設定に、TCP値の指定があるかどうか判断する(ステップS105)。
【0069】
プログラムに個別設定されたTCP値がある場合(ステップS105のYES)、このTCP値によって、ポイント列6の座標をオフセットした値を算出し、その位置に作業ツール4を移動させる(ステップS106)。
【0070】
プログラムに個別設定されたTCP値がない場合(ステップS105のNO)、共通設定されたTCP値を取り出して、このTCP値によって、ポイント列6の座標をオフセットした値を算出し、その位置に作業ツール4を移動させる(ステップS107)。
【0071】
(ポイントティーチング)
次に、上記のような動作のためのポイント列6を作成するポイントティーチングの処理を説明する。本実施形態によるポイントティーチングを行う前提として、操作者は、操作手段35を用いて、あらかじめ「カメラTCP」、「高さセンサTCP」、「ニードルTCP」といったものを「定義」することにより、TCP定義81を用意しておく。そして、ポイント種別定義7の中で、そのポイント種別が作業する作業ツール4に対応するTCP定義81を選択して設定する。つまり、ポイント種別定義7をTCP定義81とひも付けしておく。
【0072】
以上のようにポイント種別定義7にひも付けられたTCP定義81を用いて、ポイントティーチングする例を、図4のポイント列、図11の説明図を参照して説明する。
【0073】
まず、図4に示すポイント列のポイント番号1の点をティーチングする場合を説明する。この場合、図11(a)に示すように、ティーチング時にカメラ4aによりポイントを検出する際に、操作手段35の入力に応じて、選択部3cが、表示部352に表示されたTCP定義81のTCP名81dの一覧から、「カメラ」を選択する。
【0074】
操作者は、操作手段35を用いて、カメラ4aの撮影画像を見ながら、カメラ4aを移動させて、その中心であるクロスカーソル位置を対象物に合わせる。調整部3dは、その時のカメラ4aの座標を、選択したTCP定義81のTCP値81eによりオフセットした座標を求める。そして、登録部3eは、求めた座標を、作業すべきポイントの座標としてポイント列6に登録する。図4の例では、(X、Y、Z)=(100、150、50)の座標が登録される。また、ポイント番号1での作業がカメラ撮りの場合には、ポイント種別情報63として「カメラ撮り点」を設定する。
【0075】
ワーク上の同一の点に対する作業を行う場合、ポイント列に登録される座標は同一である。つまり、図4におけるポイント番号1〜3は、作業は異なるが、同一のポイントを対象としている。ポイント番号4〜6も、作業は異なるが、同一のポイントを対象としている。ポイント番号1〜3の同一ポイント、ポイント番号4〜6の同一ポイントに対して、異なるポイント種別63を設定することにより、異なる作業ツール4による作業を登録することができる。
【0076】
さらに、例えば、ポイント番号3の点塗布時には、図11(b)に示すように、ポイントの座標に対するオフセット値を、ポイント種別定義7で参照すべきTCP定義81である「ニードル」のTCP値81eに切り替えて塗布を行う。つまり、上記のように、ポイント番号3で点塗布のポイント種別定義7を継承する際に、当該ポイント種別定義7において設定された点塗布のTCP定義81を参照し、そのTCP値81eでポイントの座標をオフセットした座標に、「ニードル」を移動させる。このように、登録された座標値が同一であっても、異なる作業ツール4をそれぞれ適切な位置に移動させて、作業を実施することができる。
【0077】
[効果]
本実施形態によれば、ポイント種別定義7にTCP定義81をひも付けすることで、各ポイントに対する作業を実行する時に、TCP定義81に設定されたTCP値81eを参照して動作実行する。このため、ポイント列6における個々のポイントに、TCP番号を属性として明示的に設定しなくて済むので操作が簡便となり、間違いを起こすことも少なくなる。
【0078】
特に、従来のカメラ4aを使ったポイントティーチングでは、カメラ4aの取り付け位置とニードル4bとの差異や、カメラ座標からロボット座標へ変換する係数を算出するキャリブレーションといった操作が必要となり、間違いやすく、分かりにくくなっていた。本実施形態では、カメラTCPといったTCP定義81を用意して、作業ツール4の移動時のみならず、ポイントティーチングにもTCP定義81を活用することにより、操作の簡便さと分かりやすさを実現できる。
【0079】
[第2の実施形態]
[構成]
本実施形態は、基本的には、上記の第1の実施形態と同様の構成である。但し、本実施形態においては、図14に示すように、調整情報8として、作業ツール4を駆動する態様である駆動条件定義82が設定されている。ここで、駆動条件定義82は、作業ツール4のポイント間の移動、つまり、PTP(Point to Point)駆動における態様を示す。駆動条件定義82としては、速度、加速度といった基本的なパラメータを含む。さらに、駆動条件定義82には、アーチモーション指定の様なものも含む。
【0080】
アーチモーション指定とは、作業ツール4を単に直線的に水平移動させるのではなく、移動途中に高さや方向を変化させて移動させる指定である。例えば、ポイント間の移動として、障害物を超える等のために、一旦高さ方向に移動手段2を動作させた後、次のポイントの上まで水平移動してから下降するといった指定である。
【0081】
図15に、指定されたアーチモーションで、ポイント1からポイント2へ移動する例を示す。まず、ポイント1の開始点から、作業ツール4を、所定の距離上昇させる。そして、さらに、水平方向に移動させながら、所定の距離上昇させた後に、ポイント2の終了点の上まで下降させる。水平移動させながら上昇又は下降する箇所は、円弧状の軌跡となる。さらに、所定の距離下降させて、終了点で停止させる。
【0082】
この場合のアーチモーション指定は、以下のようになる。
(A)Z移動高さ:開始点又は終了点のどちらか高い方から、水平移動位置までのZ方向の距離
(B)Zのみ上昇距離:水平移動(X、Y方向移動)させずに上昇する距離
(C)Zのみ下降距離:水平移動(X、Y方向移動)させずに下降する距離
例えば、(B)(C)の設定がなく、(A)のみが設定されている場合は、開始点と終了点が同じ高さであり、Z移動高さまで上昇しながら、アーチ状に移動することになる。
【0083】
駆動条件定義82の例を、図16に示す。この例は、半田ごてによる半田付け作業についての駆動条件を定義しているものである。識別情報82aは、駆動条件を特定し、識別する情報である。この識別情報82aは、後述するポイント種別定義7に設定されることにより、当該駆動条件定義82が参照される参照情報である。
【0084】
所有者82b、保護モード82cは、上記と同様である。PTP条件名82dは、表示に使用するために設定される名称である。この名称は、例えば、日本語、英語等の異なる言語のものを用意して、表示言語切り替えに対応して表示を変えることにより、分かりやすくする。
【0085】
駆動条件82eは、作業ツール4の駆動条件として、上記のような移動距離を示す値である。例えば、上記のように、Z移動高さ、Zのみ上昇距離、Zのみ下降距離が記述される。
【0086】
このような駆動条件定義82を参照するポイント種別定義7の例を、図17に示す。このポイント種別定義7は、点半田、クリーニング点のポイント種別である。ポイント種別定義7は、基本的には、上記のポイント種別定義7と同様である。但し、参照PTP駆動条件79が設定される点が異なる。
【0087】
参照PTP駆動条件79には、参照すべき駆動条件定義82の識別情報が設定される。図17の例では点半田点のポイント種別に、SolderingPTPIDが設定され、クリーニング点のポイント種別に、CleaningPTPIDが設定される。点半田点は、作業ツール4である半田ごてにより、各ポイント毎に点半田を行う作業である。クリーニングは、こて先にエアを吹き付けるなどにより、余分な半田やゴミを取り除く作業である。
【0088】
なお、図16では、各駆動条件82eの記憶領域を、直接駆動条件定義82内に設定している。しかし、別に駆動条件82eの記憶領域を取って、これを参照する構成にすることもできる。この場合、駆動条件82eを調整情報8として把握することができ、各駆動条件82eを識別し、駆動条件定義82等により参照される識別情報を参照情報として捉えることができる。
【0089】
[作用]
以上のような本実施形態によるPTP駆動条件を適用した制御を説明する。
(ポイントティーチング)
まず、本実施形態によるポイントティーチングを説明する。なお、上記の実施形態と同様の処理については、説明を省略する。ポイントティーチングを行う前提として、操作者は、操作手段35を用いて、あらかじめ駆動条件定義82として、図16に示すように、「半田間移動」「クリーニング」といったものを定義しておく。つまり、上記のTCP定義81と同様に、識別情報を指定して作成し、所有者、保護モード及び表示に使用する名称、アーチモーションの指定数値を設定する。
【0090】
そして、ポイント種別定義7の中で、そのポイント種別が作業する作業ツール4に対応する参照PTP駆動条件79を選択して設定する。つまり、ポイント種別定義7を駆動条件定義82とひも付けしておく。例えば、参照PTP駆動条件79として、駆動条件定義82の識別情報を設定する。
【0091】
以上のように、ポイント種別定義7にひも付けられたPTP駆動条件定義82を用いて、ポイントティーチングする例を、図14図17に加えて、図18図19のポイント列を参照して説明する。
【0092】
図18は、ポイント番号1〜4のポイントで点半田を行い、その後、ポイント番号5のポイントでこて先のクリーニングを行う例である。ここで、点半田点に対応する駆動条件定義82においては、ポイント間の点半田点の移動では障害物もないため、タクト短縮の目的で、Z移動高さの指定を、5mmと少なくしている。一方、クリーニングする場合、クリーニング箇所への移動があるため、Zをやや高く50mm上昇させている。
【0093】
なお、半田間移動、クリーニングについて、それぞれPTP駆動条件を設定し、駆動条件番号66に1、2を付しておくことも考えられる。例えば、駆動条件番号66の1は、Z移動高さ5mmとする駆動条件、駆動条件番号66の2は、Z移動高さ50mmとする駆動条件とする。この場合、図19に示すように、ポイント番号1〜4のポイントに、それぞれ駆動条件番号66の1を指定し、ポイント番号5のポイントに、駆動条件番号66の2を付けるといったことで、駆動条件をポイントの属性として指定することになる。
【0094】
また、メインプログラム5、ポイント種別定義7に設定されたプログラムに、駆動条件を設定することもできる。また、共通の駆動条件を別途設定しておき、いずれにも駆動条件の設定がない場合に、共通の駆動条件を参照してもよい。
【0095】
(作業ツールの移動)
以上のように設定されたポイント列に基づく実行部3aの運転実行においては、ポイントに設定された駆動条件番号66が存在する場合には、この駆動条件番号66に基づいて、移動を行う。
【0096】
駆動条件番号66が存在しない場合には、参照部3bがポイント種別定義7の参照PTP駆動条件79を参照して、これに従って移動を行う。例えば、図18に示すように、ポイント番号1のポイントステートメント61には、駆動条件番号66が設定されていない。そして、ポイント種別63に設定された点半田点のポイント種別定義7には、参照PTP駆動条件79として、SolderingPTPIDの識別情報が設定されている。
【0097】
このため、SolderingPTPIDの駆動条件定義82を参照する。このSolderingPTPIDに設定された駆動条件82eに従って、アーチモーションにより半田ごてが移動する。
【0098】
ポイントに設定された駆動条件番号66が存在せず、ポイント種別定義7に参照PTP駆動条件79が設定されていなければ、プログラム設定あるいは共通設定の駆動条件に従う。
【0099】
[効果]
本実施形態によれば、「TCP定義」と同様に「PTP駆動条件」を定義できるようにして、ポイント種別定義7の中で駆動条件定義82とひも付けている。このため、ポイントティーチングにおいて、各ポイント番号1〜5のポイント種別63にポイント種別を設定するだけで済む。図19に示すように、ポイント列の各ポイントの属性として、駆動条件番号66により明示的に指定する必要がなくなり、簡便となるとともに、誤りを少なくすることができる。
【0100】
[第3の実施形態]
[構成]
本実施形態は、基本的には、上記の第1の実施形態と同様の構成である。但し、本実施形態においては、図20に示すように、調整情報8として、補正係数83が含まれている。補正係数83は、ワーク位置補正を行う場合に使用する係数である。
【0101】
コントローラ3は、複数のワークの位置や高さを、カメラ4aにより撮像した画像認識によって、又は高さセンサ4cを使って測定し、ワーク毎に、ティーチングしたポイントから補正して作業を行うことができる。
【0102】
なお、例えば、複数の異なったワークがある場合、それぞれのワークに対応して、複数の補正量を補正係数として取得しておくこともできる。この場合、補正を適用する必要がある場合には、ポイント毎に補正の適用を指定することになる。
【0103】
つまり、図21に示すように、ポイント列における各ポイントに、属性としてワーク補正番号67を付けて、位置補正を行うか否かを明示的に指定する。ワーク補正番号67は、複数の補正係数を格納する領域であるカメラ撮り結果格納番号68に対応する。
【0104】
図21のポイント列は、カメラ4aでワークを撮影し、位置補正量を算出し、点塗布を行うといった作業を繰り返す例である。例えば、ポイント番号1では、カメラ撮りを行う。このポイントには、切替TCP番号として1番を指定することで、カメラ4aのTCP値を対応させることを明示的に示している。
【0105】
また、カメラ撮り結果格納番号68として1番を指定することで、カメラ撮りをした結果としてワークの補正係数を、ワーク補正番号67で指定した1番の格納領域にしまうことを指示している。そして、ポイント番号2の点塗布においては、ワーク補正番号67が1となっているため、1番の格納領域に収納されている補正係数を用いて、ワークの位置を補正する。
【0106】
しかし、ワークが1つだけの場合や、複数のワークであっても、測定と作業を交互に行うような場合には、複数の補正係数を登録する必要はない。また、ワーク補正番号67、カメラ撮り結果格納番号68による指定といった手法も煩雑である。
【0107】
但し、この様な場合であっても、ワークとして位置補正を適用すべきポイントか、そうでは無いポイントかといった区別は必要となる。本実施形態においては、図22に示すように、ポイント種別定義7内に、ワーク位置補正対象80を含めて、参照情報として、位置補正の対象とするか否かの情報を設定できるようにする。
【0108】
例えば、通常のワークではない場合には、ワーク位置補正の対象とせず、通常のワークの場合には、ワーク位置補正の対象とする。この場合、ポイント種別定義7内の「カメラ撮り点」が通常のワークでない場合、ワーク位置補正対象80に「対象としない」を設定する。「点塗布点」が通常のワークである場合には、ワーク位置補正対象80には「対象とする」を設定する。その他のポイント種別定義7の内容については、上記の実施形態と同様であり、説明は省略する。
【0109】
[作用]
(ポイントティーチング)
以上のような本実施形態においては、補正対象とするか否かをポイント種別定義で設定しておくことにより、ポイントティーチングでは、ワーク補正番号67を設定する必要がなくなる。例えば、図23のポイント列に示すように、ポイント番号1のカメラ撮り点で、「カメラ撮り結果格納番号」の指定もしていない。一方、ポイント番号2の点塗布点では、「ワーク補正番号」の指定もしていない。
【0110】
一方、ポイント種別定義7における「カメラ撮り点」のワーク位置補正対象80には、「対象としない」が設定されている。そして、「点塗布点」のワーク位置補正対象80には、「対象とする」が設定されている。
【0111】
(作業ツールの移動)
以上のように設定されたポイント列に基づく実行部3aの運転実行においては、ポイント列のポイントに、ワーク補正番号67が付いていれば、このワーク補正番号67に従ってワーク位置補正を行う。
【0112】
ワーク補正番号67が付いていなければ、参照部3bが、ポイント種別定義7のワーク位置補正対象80の設定を参照する。カメラ撮り点ではワーク補正番号67も、カメラ撮り結果格納番号68の指定もされておらず、ポイント種別定義7のワーク位置補正対象80には「対象としない」が指定されている。このような場合には、補正はしないが、次の点塗布点において、ストレージ32内の補正係数83の格納領域を利用することを暗黙指定している。
【0113】
次に、ポイント番号2の点塗布点は、ワーク補正番号67も、カメラ撮り結果格納番号68の指定もされていない。このような場合は、参照部3bが、ポイント種別定義7のワーク位置補正対象80の設定を参照する。点塗布点のワーク位置補正対象80には「対象とする」が指定されている。このような場合には、ストレージ32内の共用の領域に格納されているワーク補正係数を使い、ワーク位置補正を行う。
【0114】
なお、ポイント毎のワーク補正番号67が存在する場合には、その設定を優先する。これにより、ワーク補正が複数必要な場合は、ワーク補正番号67で指定すればよい。
【0115】
[効果]
以上のように、補正対象とするか否かをポイント種別定義7で設定しておくことにより、ワーク補正が1つで済む場合には、ワーク補正番号67、カメラ撮り結果格納番号68を設定する必要がなくなり、操作が簡便となる。
【0116】
また、作業対象が通常のワーク以外であることを、ポイント種別定義7の中で指定することにより、その点はワーク位置補正の対象外にするといたことを自動的に行うことができる。
【0117】
[第4の実施形態]
上記の実施形態におけるポイント種別定義7では、「元となるポイント種別情報」に、基本的なポイント種別だけでなく、定義したポイント種別を使うこともできる。いわゆる「クラス継承」である。この場合に、上記の参照TCP、参照PTP駆動条件、又はワーク補正対象の設定についても、継承元となるポイント種別定義7に記述されたものを継承することが考えられる。
【0118】
そこで、本実施形態においては、ポイント種別定義7の継承について、条件を設定することができる。例えば、ポイント種別定義7の参照TCP76の設定として、継承元となるポイント種別定義7を基底種別とした場合、以下の3つを選択設定できるようにする。これは、参照PTP駆動条件79、ワーク位置補正対象80についても同様である。
(1)基底種別の設定を継承する
(2)基底種別の設定を継承しない
(3)特定のTCP値を指定する
【0119】
(1)の「基底種別の設定を継承する」を設定した場合には、「元となるポイント種別情報」で設定されたポイント種別定義7に付けられた参照TCP76のTCP定義81を継承する。つまり、当該TCP定義81のTCP値81eによるオフセットを作用させる。
【0120】
(2)の「基底種別の設定を継承しない」を設定した場合には、参照TCP76は付いていないとして扱う。つまり、継承されるポイント種別定義7の参照TCP76は使用しない。
【0121】
(3)の「特定のTCPを指定する」を設定した場合には、指定されたTCP値を参照する。
【0122】
例えば、カメラ撮り点(CameraTaking)を、「元となるポイント種別情報」として指定し、(1)「基底種別の設定を継承する」に設定したポイント種別を新たに定義したとする。この場合、このポイントでは、継承元に設定されている CameraTCP を参照することになる。
【0123】
[第5の実施形態]
上記のように、ポイント種別定義7の保護モードを、「保護」にすることにより、利用権のみを提供し、内容についての参照をできなくすることができる。しかし、参照権が無いと、参照TCP、参照PTP駆動条件等として何が設定されているか判らない。また、TCP定義81や駆動条件定義82に基づき、これらの値を設定する場面でも、どのポイント種別定義7で参照されるのかが分からない。
【0124】
本実施形態においては、参照権がない場合であっても、調整情報8が、どのポイント種別定義で参照されているかを、表示部352が一覧表示する。例えば、図24に示すように、TCP定義81、駆動条件定義82が参照されるポイント種別定義7が一覧表示される。
【0125】
このため、操作者は、ポイント種別定義7でどのような調整情報8が参照されるか、調整情報8がどのようなポイント種別定義7で参照されるかを知ることができ、運転動作でどのような動作になるかを詳細に理解できる。
【0126】
特に、ポイント種別定義を継承によって行い、参照TCP76や参照PTP駆動条件79等を継承するような場合、結果的に運転時にどの様な参照が行われるかを定義からひもとく必要がなくなり、便利である。
【0127】
[他の実施形態]
以上のように本発明の実施形態を説明したが、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。そして、この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0128】
上記の実施形態で示した調整情報である、TCP定義、TCP値、駆動条件定義、駆動条件、補正係数は、いずれかを単独で使用する構成としてもよいし、複数の組み合わせで使用する構成としてもよい。
【0129】
また、例えば、ロボット1に対するプログラミングを直接ロボット1に対して行う例を示したが、これに限らず、ロボット1とは別のコンピュータ等のプログラミングツールで行うようにし、プログラム類をロボット1にロードするようにしてもよい。
【符号の説明】
【0130】
1 ロボット
2 移動手段
21 Xリニアスライダ
22 Yリニアスライダ
23 Zリニアスライダ
3 コントローラ
31 プロセッサ
32 ストレージ
33 メモリ
34 モータドライバ
35 操作手段
351 ティーチングペンダント
352 表示部
3a 実行部
3b 参照部
3c 選択部
3d 調整部
3e 登録部
4 作業ツール
4a カメラ
4b ニードル
4c 高さセンサ
5 メインプログラム
6 ポイント列
61 ポイントステートメント
62 ポイント番号
63 ポイント種別情報
64 ポイント座標情報
65 切替TCP番号
66 駆動条件番号
67 ワーク補正番号
68 カメラ撮り結果格納番号
7 ポイント種別定義
71 識別情報
72、81b、82b 所有者
73、81c、82c 保護モード
74 ポイント種別名
75 元となるポイント種別情報
76 参照TCP
77 移動前作業
78 移動後作業
79 参照PTP駆動条件
80 ワーク位置補正対象
8 調整情報
81 TCP定義
81a TCP識別情報
81d TCP名
81e TCP値
82 駆動条件定義
82a 識別情報
82d PTP条件名
82e 駆動条件
83 補正係数
9 切替TCP
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24