(57)【特許請求の範囲】
【請求項１】
各作業点で一連の作業を実行するロボットであって、
前記一連の作業で各作業点に対して本作業を実行する外部機器と、
前記外部機器の前記作業点ごとの前記一連の作業を括った構造化ポイントブロックを配列した制御データに基づき制御するコントローラと、
前記外部機器と前記コントローラ間で送受信するデータの形式の変換を行う外部機器用ドライバーと、
前記外部機器用ドライバーにおける前記データの形式の変換内容を示したドライバーデータを、前記外部機器に対応するドライバーデータが記憶されていない場合に、操作手段からの入力に従って新規に作成するドライバー生成部と、
前記外部機器に合わせて外部機器用ドライバーで使用するドライバーデータの選択を行うドライバー選択手段と、
を備えることを特徴とするロボット。
【請求項２】
前記一連の作業は、
前記外部機器による本作業、当該本作業前後の事前作業と事後作業、及び前記本作業のための複数ポイントへの位置取りを含んで成り、
前記制御データを構成する構造化ポイントブロックは、
前記一連の作業に含まれる作業と移動の内容を示すデータと、前記ドライバーデータとが関連付けて記憶されていること、
を特徴とする請求項１に記載のロボット。
【請求項３】
前記構造化ポイントブロックは、
一個の前記一連の作業の過程で位置取りする全てのポイントと其のポイントへの移動前、移動中又は移動後の作業の内容を示すデータである各ポイントステートメントを配列して成り、
前記各ポイントステートメントは、
前記一個の一連の作業に含まれる作業と移動の内容を示すデータと、前記ドライバーデータとが関連付けて記憶されていること、
を特徴とする請求項１に記載のロボット。
【請求項４】
前記ドライバーデータに当該データを識別するための識別子を付して記憶する外部機器用ドライバー記憶手段と、を備え、
前記制御データでは、前記識別子により使用するドライバーデータが指定されることを特徴とする請求項１乃至３のいずれか１項に記載のロボット。
【請求項５】
前記ドライバーデータは、
前記外部機器に前記作業を実行させるための順序と、
前記外部機器に作業を実行させる作業コマンドと、
を含むことを特徴する請求項１乃至４のいずれか１項に記載のロボット。
【請求項６】
前記ドライバーデータは、
前記外部機器から送信されるデータを前記コントローラに引き渡す際に使用する変数を含むことを特徴する請求項１乃至５のいずれか１項に記載のロボット。
【請求項７】
前記ドライバーデータは、前記外部機器の種別を示す外部機器種別を含み、
前記外部機器種別で示される外部機器における座標系を前記制御データにおける座標系に変換するための変換係数の算出を行う変換係数算出部と、
を備えることを特徴とする請求項１乃至６のいずれか１項に記載のロボット。
【請求項８】
前記制御データは、前記作業点の位置と、作業対象であるワークの配置位置に対するズレ量に応じた補正量を算出するための条件であるポイント補正とを含み、
前記ポイント補正は、
前記ワークが前記配置位置に適正に配置された場合のワークに付された基準マークの座標と、前記外部機器種別と、前記変換係数とから成ること、
を特徴とする請求項７に記載のロボット。
【請求項９】
ユーザに付与したアカウントの認証を行うユーザ認証手段を備え、
前記ドライバー生成部は、前記アカウントを有するユーザからの入力に応じてドライバーデータの作成を行うことを特徴とする請求項１乃至８のいずれか１項に記載のロボット。
【請求項１０】
前記アカウントは、複数種のアカウントからなり、
それぞれのアカウントごとに異なるレベルの権限が付与されることを特徴とする請求項１乃至９のいずれか１項に記載のロボット。
【請求項１１】
前記外部機器は、センサーまたはカメラであることを特徴とする請求項１乃至１０のいずれか１項に記載のロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部機器とコントローラ間で通信を行うロボットに関する。
【背景技術】
【０００２】
さまざまな外部機器を使用して、ワークに対して外観検査、位置補正、外観撮影等の複数種類の作業を行うロボットがある。例えば、この様なロボットにおいて、ワークの位置補正を行う場合には、ロボットにカメラを取り付けて画像撮影を行うことでワークの位置を検出する。そして、検出したワークの位置に基づいてワークの位置の補正を行う。カメラ内部には画像処理装置が設けられ、画像処理装置はロボットのコントローラより出力される撮影指示に基づいて撮影を行い、その結果をコントローラに対して出力している。
【０００３】
この様なロボットに対して複数種のカメラを取り付け可能とした場合、ユーザや設備業者は、用途やコストに応じて、市販の製品を選択、購入して取り付けることができる。その場合、カメラの画像処理装置が、ロボット側の通信プロトコルとは異なるものを使用しているといったことが発生する。
【０００４】
カメラの画像処理装置の通信プロトコルは、カメラのメーカ毎や、メーカが同じでも型番により異なる場合もある。そのため、主要なメーカや、カメラにあわせた通信プロトコルをロボット側で用意しておくことはできるが、すべてのカメラにあわせた通信プロトコルをロボット側で用意しておくことは、困難であった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１９３８４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、カメラにより異なるのは画像処理装置の通信プロトコルであり、通信内容が変わるわけではない。そのため、カメラに応じた通信プロトコルをロボット側で用意できれば、ロボットとカメラ間の通信を行うことが可能となる。カメラについて述べてきたが、外部機器がカメラに限らず、センサーなどの場合にも同様な問題が発生する。
【０００７】
本発明は、上記のような従来技術の問題点を解決するために提案されたもので、使用する外部機器に応じたドライバーを、ユーザが新規に作成し使用することで、様々な種類の外部機器を利用可能とする汎用性の高いロボットを提供する。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、本発明のロボットは、各作業点で一連の作業を実行するロボットであって、前記一連の作業で各作業点に対して本作業を実行する外部機器と、前記外部機器の前記作業点ごとの前記一連の作業を括った構造化ポイントブロックを配列した制御データに基づき制御するコントローラと、前記外部機器と前記コントローラ間で送受信するデータの形式の変換を行う外部機器用ドライバーと、前記外部機器用ドライバーにおける前記データの形式の変換内容を示したドライバーデータを、前記外部機器に対応するドライバーデータが記憶されていない場合に、操作手段からの入力に従って新規に作成するドライバー生成部と、前記外部機器に合わせて外部機器用ドライバーで使用するドライバーデータの選択を行うドライバー選択手段と、を備えることを特徴とする。
【０００９】
前記一連の作業は、前記外部機器による本作業、当該本作業前後の事前作業と事後作業、及び前記本作業のための複数ポイントへの位置取りを含んで成り、前記制御データを構成する構造化ポイントブロックは、前記一連の作業に含まれる作業と移動の内容を示すデータと、前記ドライバーデータとが関連付けて記憶されていても良い。
【００１０】
前記構造化ポイントブロックは、一個の前記一連の作業の過程で位置取りする全てのポイントと其のポイントへの移動前、移動中又は移動後の作業の内容を示すデータである各ポイントステートメントを配列して成り、前記各ポイントステートメントは、前記一個の一連の作業に含まれる作業と移動の内容を示すデータと、前記ドライバーデータとが関連付けて記憶されていても良い。
【００１１】
前記ドライバーデータに当該データを識別するための識別子を付して記憶する外部機器用ドライバー記憶手段と、を備え、前記制御データでは、前記識別子により使用するドライバーデータが指定されていても良い。
【００１２】
前記ドライバーデータは、前記外部機器に前記作業を実行させるための順序と、前記外部機器に作業を実行させる作業コマンドと、を含んでも良い。
【００１３】
前記ドライバーデータは、前記外部機器から送信されるデータを前記コントローラに引き渡す際に使用する変数を含んでいても良い。
【００１４】
前記ドライバーデータは、前記外部機器の種別を示す外部機器種別を含み、前記外部機器種別で示される外部機器における座標系を前記制御データにおける座標系に変換するための変換係数の算出を行う変換係数算出部と、を備えていても良い。
【００１５】
前記制御データは、前記作業点の位置と、作業対象であるワークの配置位置に対するズレ量に応じた補正量を算出するための条件であるポイント補正とを含み、前記ポイント補正は、前記ワークが前記配置位置に適正に配置された場合のワークに付された基準マークの座標と、前記外部機器種別と、前記変換係数としても良い。
【００１６】
ユーザに付与したアカウントの認証を行うユーザ認証手段を備え、前記ドライバー生成部は、前記アカウントを有するユーザからの入力に応じてドライバーデータの作成を行っても良い。
【００１７】
前記アカウントは、複数種のアカウントからなり、それぞれのアカウントごとに異なるレベルの権限が付与されても良い。
【００１８】
前記外部機器は、センサーまたはカメラとしても良い。
【図面の簡単な説明】
【００１９】
【図１】本実施形態のロボットの構成を示す斜視図である。
【図２】本実施形態のコントローラの構成を示すブロック図である。
【図３】本実施形態のコントローラの機能を示す機能ブロック図である。
【図４】本実施形態のドライバー生成部の構成を示すブロック図である。
【図５】本実施形態のドライバーデータの一例を示す図である。
【図６】本実施形態の制御データの構成を示すブロック図である。
【図７】本実施形態のポイント補正の一例を示す図である。
【図８】本実施形態のワークの構成を示す平面図である。
【図９】本実施形態のドライバーデータの作成工程を示すフローチャートである。
【図１０】本実施形態のポイント補正における変換係数の設定工程を示すフローチャートである。
【図１１】本実施形態のポイント補正における基準マーク位置の設定工程を示すフローチャートである。
【図１２】本実施形態の制御データにおけるポイントステートメントの一例を示す図である。
【図１３】本実施形態における表示部の表示例を示す図である。
【図１４】本実施形態の制御データの第１の変形例を示す図である。
【図１５】本実施形態の制御データの第２の変形例を示す図である。
【図１６】本実施形態の制御データの第３の変形例を示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明に係るロボットの実施形態について図面を参照しつつ詳細に説明する。実施形態において、重複する図面の説明は省略する。
【００２１】
［１．第１の実施形態］
（１）全体構成
図１は、本実施形態のロボットの構成を示す斜視図である。図１に示すようにロボット１は、外部機器２と、外部機器２を移動するための移動手段３と、外部機器２及び移動手段３を制御するためのコントローラ４とを備える。ロボット１は、移動手段３及び外部機器２を制御して、所望の位置に外部機器２を位置させて作業させる。
【００２２】
外部機器２は、外部からの制御信号に基づいて、所定の動作を行う機器である。外部機器２は、単に外部からの信号に基づいて各部の動作を行うだけでなく、外部からの信号に基づいて外部機器２の機能の制御を行い、その制御結果を外部に出力する。即ち、外部機器２は、コントローラ４からの信号に基づいて所定の作業を実行し、その制御結果をコントローラ４に対して出力する。外部機器２としては、カメラ、センサー等を使用する。この外部機器２は、移動手段３に装着される。外部機器２は、移動手段３の装着部に対して固定される。固定は、ネジやビスなどにより行われており、外部機器２は、脱着可能である。
【００２３】
移動手段３は、外部機器２をＸ軸方向、Ｙ軸方向及びＺ軸方向に移動させる。そして、移動手段３は指定されたポイントに外部機器２を位置させる。Ｘ軸方向は、水平面と平行な１軸方向である。Ｙ軸方向は、水平面と平行でＸ軸と直交する他軸方向である。Ｚ軸方向は高さ方向である。この移動手段３は、外部機器２をＸ軸方向に移動させるＸリニアスライダ３１、外部機器２をＹ軸方向に移動させるＹリニアスライダ３２、外部機器２をＺ軸方向に移動させるＺリニアスライダ３３を備える。
【００２４】
Ｘリニアスライダ３１は、Ｘ軸方向に延設されたレール上にＹリニアスライダ３２を摺設し、Ｘ軸方向に走行する無端ベルトにＹリニアスライダ３２を直交させて固定してなり、無端ベルトをＸ軸モータで走行させ、Ｙリニアスライダ３２をＸ軸に沿って移動させる。
【００２５】
Ｙリニアスライダ３２は、Ｙ軸方向に延設されたレール上にＺリニアスライダ３３を摺設し、Ｙ軸方向に走行する無端ベルトにＺリニアスライダ３３を固定してなり、無端ベルトをＹ軸モータで走行させ、Ｚリニアスライダ３３をＹ軸に沿って移動させる。Ｘリニアスライダ３１及びＹリニアスライダ３２の伝動機構としては、無端ベルトの他、シリンダ、リードスクリュー等の各種アクチュエータを挙げることができる。
【００２６】
Ｚリニアスライダ３３は、Ｚ軸に沿った軸を有するアーム３３１を備え、このアーム３３１（Ｒ軸）の先端には、外部機器取り付け板３３２が装着される。アーム３３１は、Ｚ軸モータによりＺ軸方向に移動させる。このＺリニアスライダ３３により外部機器取り付け板３３２は、Ｚ軸方向を移動する。さらに、Ｚリニアスライダ３３は、アーム３３１をアーム３３１の中心を軸としてＲ方向に回転させるＲ軸回転機構を備える。Ｒ軸回転機構により、アーム３３１に取り付けられた外部機器取り付け板３３２は、アーム３３１の中心を軸として回転運動する。外部機器取り付け板３３２には、外部機器２を取り付けるための設置部３３３が複数設けられる。ロボット１は、この設置部３３３に様々な外部機器２を取り付けることができ、図１では、カメラ２ａと、塗布装置２ｂとが設置される。
【００２７】
（２）コントローラの構成
コントローラ４は、所謂コンピュータである。図２は、コントローラ４の構成を示すブロック図である。コントローラ４は、図２に示すように、制御プログラム４２１の構成要素である制御データ４２２に従って演算処理及び指令信号を出力するＣＰＵ４１、制御プログラム４２１、制御データ４２２、ドライバーデータ４２３、ドライバーデータ４２３を生成するユーザに付与するユーザＩＤ・パスワード４２４、及び制御コマンド４２５を記憶するストレージ４２、制御プログラム４２１が展開されＣＰＵ４１の演算結果が一時記憶されるメモリ４３、ＣＰＵ４１が送出する指令信号を外部機器２が認識可能な形式への変換、及び外部機器２から出力されたデータの形式をＣＰＵ４１における演算処理に利用可能な形式に変換する外部機器用ドライバー４４、ＣＰＵ４１が送出する指令信号に従って各モータに電力パルスを供給するモータドライバー４５と、を備える。コントローラ４は、周辺機器として、マウス、キーボード及びティーチングペンダント４６１、並びに、液晶ディスプレイ等の表示部４６２等の操作手段４６を備える。
【００２８】
図３は、コントローラ４の機能ブロック図を示す。このコントローラ４は、ストレージ４２に記憶された制御プログラム４２１を実行することにより、コントローラ４内にドライバー生成部５１、制御データ生成部５２、ドライバー選択部５３、及び制御データ実行部５４を実現する。
【００２９】
（ドライバー生成部）
ドライバー生成部５１は、操作手段４６からの入力に従って外部機器用ドライバー４４で使用するドライバーデータ４２３の作成を行う。ドライバー生成部５１で作成したドライバーデータ４２３は、ストレージ４２内のドライバーデータ記憶部４２ｂに記憶される。ドライバー生成部５１は、図４に示す様に、ユーザに対してドライバーデータ４２３の作成の権限を与えるアカウント登録部５１ａ、ドライバーデータ４２３の作成時にユーザのアカウントの確認を行うアカウント認証部５１ｂ、ドライバーデータ４２３の各項目の設定を行う項目設定部５１ｃ、作成したドライバーデータ４２３をストレージ４２内のドライバーデータ記憶部４２ｂに登録させるためのドライバー登録部５１ｄと、を備える。
【００３０】
アカウント登録部５１ａは、ドライバーデータ４２３を作成するユーザに対して、ドライバーデータ４２３を作成する権限の付与を行う。権限の付与は、ドライバーデータ４２３の作成を希望するユーザに対して、アカウント記憶部４２ｃの中からユーザの属性に応じた「ユーザＩＤ」と「パスワード」を付与する。ユーザの属性は、例えば、ロボット１の製造業者、ロボット製造業者からロボット１を購入しセットアップを行うベンダー、ベンダーからロボット１を購入し実際に使用するユーザに分けることができる。
【００３１】
アカウント認証部５１ｂは、ユーザがドライバーデータ４２３の作成をする権限があるかの確認を行う。アカウント認証部５１ｂは、ユーザからのアカウントＩＤとパスワードの入力を受け付ける。そして、ユーザＩＤとパスワードの組み合わせが、アカウント記憶部４２ｃに記憶されている「ユーザＩＤ」と「パスワード」の組み合わせと一致するかの判定を行う。登録されている「ユーザＩＤ」と「パスワード」と一致する場合は、そのアカウントＩＤとパスワードの組み合わせを入力したユーザに対して、ドライバーデータ４２３の作成の許可を与える。
【００３２】
項目設定部５１ｃは、認証が与えられたユーザからの入力を受け付けて、新規にドライバーデータ４２３の各項目の設定を行う。図５は、ドライバーデータ４２３として設定する項目を示した図である。図５に示すように、ドライバーデータ４２３は「ユーザＩＤ」、「保護モード」、「外部機器種別ＩＤ」、「外部機器種別」、「通信作業内容」、「外部機器指示コマンド」、「データ読込形式」の各項目から成る。
【００３３】
「ユーザＩＤ」は、ドライバーデータ４２３を作成したユーザに付与されたアカウントＩＤである。「保護モード」は、作成したドライバーデータ４２３の他のアカウントにおける使用制御を示す。例えば、「保護モード」は、以下の様に設定することができる。
（ａ）制限なし：他のアカウントのユーザは、制限なしに参照、変更、または使用することができる。
（ｂ）ｐｕｂｌｉｃ（公開）：他のアカウントのユーザは、参照、または使用することができる。
（ｃ）ｐｒｏｔｅｃｔｅｄ（保護）：他のアカウントのユーザは、使用のみすることができる。
（ｄ）ｐｒｉｖａｔｅ（私的）：他のアカウントのユーザは、参照、変更、または使用することができない。
【００３４】
「外部機器種別ＩＤ」は、外部機器２の型番などを示す番号である。「外部機器種別」は、各ドライバーデータ４２３に付される名称である。外部機器種別は、ドライバーデータ４２３の種類を示す識別子として使用する。「通信作業内容」では、コントローラ４が外部機器２の作業を実行させるために出力する通信内容を示す。通信する内容としては、メモリを開放するタイミング、出力する際に使用するポート＃（ナンバー）、ディレイ時間、データを出力するポート＃などである。通信作業内容においては、外部機器２に作業を実行させるための順序や、それらにかかる時間を指定する。例えば、通信内容として外部機器２に、メモリの開放、外部コマンド「％Ｓ」の実行、３００秒の待機、外部コマンド「％Ｓ」の実行の実行結果のデータの取得などを指定する。
【００３５】
「外部機器コマンド」は、外部機器２に各種作業を実行させるためのコマンドである。外部機器コマンドは、外部機器２が読み取り可能な形式である。例えば、外部機器２であるカメラ２ａにおいて、撮像を行うコマンドとして「％Ｓ」がある場合、「外部機器コマンド」として「％Ｓ」を設定する。外部機器用ドライバー４４がこのドライバーデータ４２３を参照した場合には、ポイントステートメント７に応じたカメラ２ａに対する出力指示を受け付けた場合、カメラ２ａに対して「％Ｓ」を出力する。
【００３６】
「データ読込形式」は、カメラ２ａから出力される出力データの形式である。例えば、カメラ取り込みデータ形式として「ｎｎ，ｘ１ｘ１ｘ１ｘ１．ｘ１ｘ１，ｙ１ｙ１ｙ１ｙ１．ｙ１ｙ１，ｒ１ｒ１ｒ１．ｒ１ｒ１，ｘ２ｘ２ｘ２ｘ２．ｘ２ｘ２，・・・」を設定する。ｎｎは、そのデータを識別するための組数であり、ｘ１やｘ２は、取得データにおけるＸ座標である。ｙ１は、取得データにおけるＹ座標であり、ｒ１は、取得データにおるデータ回転［度単位］である。外部機器用ドライバー４４は、取得データから組数を抽出する関数#numCameraDate、Ｘ座標を抽出する関数#CameraDateX[]、Ｙ座標を抽出する関数#CameraDateY[]、回転［度単位］を抽出する関数#CameraDateT[]を備えている。外部機器用ドライバー４４で、このドライバーデータ４２３が指定された場合には、「カメラ取り込みデータ形式」を基準として、取り込んだデータより組数、Ｘ座標、Ｙ座標、回転［度単位］を抽出する。そして、ポイントステートメント７のデータ形式に合わせて出力する。
【００３７】
ドライバー登録部５１ｄは、項目設定部５１ｃで各項目について設定したドライバーデータ４２３をドライバーデータ記憶部４２ｂに記憶する。ドライバーデータ４２３は、データを識別するための識別子を付して記憶される。ドライバーデータ４２３に記憶される識別子としては、項目設定部５１ｃで設定された「外部機器種別」の項目を利用する。
【００３８】
（制御データ生成部）
制御データ生成部５２は、操作手段４６からの入力に従って制御データ４２２の作成を行う。制御データ生成部５２で生成した制御データ４２２は、ストレージ４２内の制御データ記憶部４２ａに記憶される。図６は、制御データ４２２の全体構成を示す模式図である。制御データ４２２は各加工ポイントに対する一連の作業を記録している。この制御データ４２２は、複数の構造化ポイントブロック６を配列して成る。構造化ポイントブロック６は、１箇所の加工ポイントに対する一連の作業を一塊にして記録している。
【００３９】
一連の作業は、ポイント主体の構文で記録されている。すなわち、構造化ポイントブロック６は、１箇所の加工ポイントに対する一連の作業を表す全ポイントステートメント７を配列して成る。各ポイントステートメント７は、加工ポイントに本作業を完遂するために位置取りする必要のあるポイントごとに用意される情報である。このポイントステートメント７は、ポイント番号７１以下に、ポイント種別オプション７２と、ポイント座標７３とポイント速度７４を並べて成る。更に、ポイントステートメント７は、ポイント番号７１以下に、作業種別オプション７５と、作業番号７６、ポイント補正７７を並べてなる。
【００４０】
ポイント番号７１は、ポイント主体の構文であることの宣言及び区切りを明示し、各ポイントステートメント７を区分けしている。ポイント種別オプション７２は、ポイントの種類と移動方法の組み合わせを示す。ポイントの種類は、経由点、本作業の開始点、及び本作業の終了点等である。移動方法は、点塗布の為の移動、ネジ締めのための移動、ＰＴＰ移動、直線補間移動、補助点指定による円弧補間等である。例えば、点塗布の為の移動とは、ＰＴＰ駆動とＰＴＰ駆動終了後の点塗布作業とを組み合わせた移動方法である。また、経由点を示すポイント種別オプション７２の記録に対して、経由点を示す複数のポイント座標７３の記録が許可されている。
【００４１】
作業番号７６は、外部機器２の作業内容を記述した命令群を示す識別子である。命令群は、ＳＬＩＭ（Ｓｔａｎｄａｒｄ  Ｌａｎｇｕａｇｅ  ｆｏｒ  Ｉｎｄｕｓｔｒｉａｌ  Ｍａｎｉｐｕｌａｔｏｒｓ）言語等のロボット言語により記述され、予めストレージ４２のコマンド記憶部４２ｄに記憶されている。作業種別オプション７５は、作業番号７６が示す作業の実施時期を示す。この作業種別オプション７５は、移動前作業、移動中作業、開始点作業、終了作業、又は本作業を示す。
【００４２】
ポイント補正７７は、ポイント座標７３における補正量を算出するために使用する条件、及びその条件より算出される補正量を示す識別子である。ポイント補正７７における条件及び補正量は、コマンド記憶部４２ｄに記憶される。制御データ実行部５４は、制御データ４２２のポイントステートメント７のポイント座標７３に、ポイント補正７７に記載された条件で算出した補正量を反映させた座標で外部機器２に作業を実行させる。つまり、加工の対象となるワークＷを所定の配置位置に配置し、そのワークＷに対して外部機器２に作業を実行させる場合には、ポイントステートメント７で指定するポイント座標７３は、ワークＷが配置位置に適正に配置されたことを前提としたものである。その為、ワークＷが所定の配置位置からズレて配置されると、ズレたワークＷに対して適正な配置位置のワークＷを前提としたポイント座標７３を加工点として本作業を実行させることになる。そのため、ユーザが望んだ結果を得ることはできない。そこで、ワークＷがズレて配置された場合に、そのズレ量を算出する必要がある。
【００４３】
図７は、補正量を算出するために使用する条件を示す識別子である。図７は、ポイント補正７７として記憶される「ワーク補正（番号）」を示す。図７に示すようにポイント補正は、「ワーク補正＃」「ワーク補正種別」「外部機器種別」「変換係数」「基準マーク位置１」「基準マーク位置２」とから成る。また、このポイント補正７７は、ワーク補正＃を識別子とした「ワーク補正（番号）」として記憶される。
【００４４】
「ワーク補正＃」は、補正量を算出するために使用する条件に付される識別番号である。「ワーク補正種別」は、補正量を算出するための手段を示し、カメラ２ａを使用したカメラワーク補正、センサーを使用したセンサワーク補正等がある。「外部機器種別」は、ワーク補正種別に使用する外部機器２のＩＤを示し、ＩＤとしては型番、製造番号、及び後述する作成したドライバーに付した外部機器種別等がある。「変換係数」は、外部機器２における座標系を制御データ４２２における座標系に変換する際に使用する変換係数である。この変換係数は、後述するキャリブレーションにより算出した「１２．５８」を登録する。
【００４５】
「基準マーク位置」は、配置したワークＷが適正な位置及び姿勢であるかの判定するための基準となる基準マークの位置を示す。基準マーク位置は、制御データ４２２における座標系で指定される。例えば、図８に示すように、予めワークＷの表面に、基準マーク８を２つ付しておく。この場合は、基準マーク位置として、２つの座標を登録する。即ち、ワークＷが配置位置に適正に適正な姿勢で配置された場合の基準マーク８ａの座標を基準マーク１の座標（Ｘ＝１００．００，Ｙ＝９５．００）とし、ワークＷがワーク配置位置に適正に配置された場合の基準マーク８ｂの座標を基準マーク２の座標（Ｘ＝９８．００，Ｙ＝９２．００）として登録される。
【００４６】
（ドライバー選択部）
ドライバー選択部５３は、制御データ４２２のポイント補正７７に記載された外部機器種別に従って、ストレージ４２のドライバーデータ記憶部４２ｂより外部機器２に対応するドライバーデータ４２３を呼出して、外部機器用ドライバー４４に反映させる。すなわち、図６に示すポイント番号２のポイントステートメント７のポイント補正７７をワーク補正１とした場合、ドライバー選択部５３は、ワーク補正１で設定された外部機器種別である「ＣＶ−１０００」を識別子としたドライバーデータ４２３を、ドライバーデータ記憶部４２ｂより読み出す。そして、当該ドライバーデータ４２３を外部機器用ドライバー４４に出力し、外部機器用ドライバー４４の内容をドライバーデータ４２３を基に書き換える。
【００４７】
（制御データ実行部）
制御データ実行部５４は、操作手段４６の入力に従って、制御データ４２２に基づいて移動手段３及び外部機器２へ制御指示を出力する。制御データ実行部５４は、制御データ４２２の全ポイントステートメント７を連続実行する。すなわち、制御データ実行部５４は、先頭から次々に構造化ポイントブロック６を参照する。構造化ポイントブロック６の参照では、制御データ実行部５４は、構造化ポイントブロック６内の各ポイントステートメント７を先頭から順に参照する。そして、ポイントステートメント７が示す制御を実行し、全ポイントステートメント７が示す制御の実行終了により、メインルーチンに戻る。メインルーチンに戻ると、次の構造化ポイントブロック６の参照を続けていく。
【００４８】
制御データ実行部５４において、ポイントステートメント７に基づいて移動手段３へ出力される制御指示は、モータドライバー４５を介して出力される。また、ポイントステートメント７に基づいて外部機器２へ出力させる制御指示は、外部機器用ドライバー４４を介して外部機器２に対して出力される。ポイントステートメント７に基づいて出力される制御指示は、外部機器用ドライバー４４により外部機器２を実行させるコマンドの形式に変換されて出力される。言い換えれば、外部機器用ドライバー４４により、ポイントステートメント７に記載された制御内容は、外部機器２が読取可能な形式に合わせて出力される。一方、外部機器２より制御結果が出力された場合は、外部機器用ドライバー４４により、ポイントステートメント７の形式に合わせて制御結果のデータ形式が変換される。
【００４９】
［１−２．作用］
以上の様な構成を有する本実施形態のロボット１では、以下の工程により外部機器２に作業を実行させる。
（１）外部機器２に合わせたドライバーデータ４２３の作成工程。
（２）制御データ４２２で使用する補正量を算出するための条件を設定するポイント補正設定工程。
（３）制御する外部機器２とその外部機器２に対応するドライバーデータ４２３とを関連付けた制御データ４２２の作成工程。
（４）制御データ４２２に基づく移動手段３及び外部機器２の制御工程。
以下、説明の為に、外部機器２としてカメラ２ａと塗布装置２ｂとが設置された場合において、カメラ用のドライバーデータ４２３の新規作成、カメラ２ａを使用したワークＷの位置補正を算出するための条件の設定、位置補正を含めた制御データ４２２の作成、及び、位置補正を利用した塗布作業の手順について説明する。
【００５０】
（１）ドライバーデータの作成工程
ドライバーデータ４２３の作成工程では、外部機器２として装着したカメラ２ａに対応するドライバーデータ４２３を作成する。外部機器２として装着したカメラ２ａの形式を「KS_UserCamera」とし、このカメラ２ａに対応するドライバーデータ４２３は、ドライバーデータ記憶部４２ｂに記憶されていないとする。カメラ「KS_UserCamera」に対応するドライバーデータ４２３を新規の作成する場合は、アカウント登録、アカウント認証、ドライバーの作成、ドライバーの登録の工程を経る。図９は、ドライバーデータ４２３の作成工程の手順を示すフローチャートである。
【００５１】
アカウント登録工程では、ドライバーデータ４２３を作成するためのアカウントを作成する。ドライバーの作成では、外部ドライバーを作成するユーザに対して、外部ドライバーを作成するための権限の付与を行う。権限の付与は、付与対象となるユーザに対して、アカウント記憶部４２ｃの中から「ユーザＩＤ」と「パスワード」を付与することで行う（Ｓ０１）。例えば、ユーザＡに対してユーザＩＤとして「suzukki_k」、パスワードとして「１２３４」を付与する。
【００５２】
アカウント認証工程では、ドライバーを作成するユーザがドライバーを作成する権限を有しているかの確認を行う。権限の確認では、ドライバーの作成を行うユーザから「ユーザＩＤ」と「パスワード」の入力を受け付ける。「ユーザＩＤ」と「パスワード」とが、アカウント記憶部４２ｃに記憶されている「ユーザＩＤ」と「パスワード」の組み合わせであるかの判定を行う。登録されている場合は、そのアカウントＩＤとパスワードの組み合わせを入力したユーザに対して、認証を行い、ドライバーの作成の許可を与える（Ｓ０２）。例えば、ユーザＡは、ユーザＩＤとして「suzukki_k」、パスワードとして「１２３４」を入力する。
【００５３】
ドライバーデータ４２３の作成工程では、認証が与えられたユーザからの入力を受け付けて、新規のドライバーの作成を行う。ドライバーデータ４２３として、「ユーザＩＤ」、「保護モード」、「外部機器種別ＩＤ」、「外部機器種別」、「通信作業内容」、「外部機器コマンド」、「データ読込形式」の設定を行う（Ｓ０３）。ユーザＡがドライバーの作成を行う場合、ドライバーデータ４２３の「ユーザＩＤ」としては、suzukki_kが設定される。そして、ユーザＡは、「外部機器種別」としてＣＶ−１０００を設定し、他の「保護モード」、「外部機器種別ＩＤ」「通信作業内容」「外部機器コマンド」「データ読込形式」についても任意に設定する。
【００５４】
ドライバーの登録工程では、作成した外部ドライバーをストレージ４２内のドライバー記憶部４２ｂに記憶する（Ｓ０４）。記憶される外部ドライバーは、「外部機器種別」をインデックスとして記憶される。
【００５５】
（２）ポイント補正設定工程
次に、制御データ４２２で使用する補正量を算出するための条件の設定であるポイント補正について設定する。
【００５６】
（ａ）変換係数の算出
初めにポイント補正として「ワーク補正＃」「ワーク補正種別」「外部機器種別」を設定し、「変換係数」を算出する。「変換係数」の算出は、所謂キャリブレーションにより算出する。図１０は、ポイント補正の「変換係数」を算出するための手順を示すフローチャートである。
【００５７】
「変換係数」の算出工程では、初めに、ポイント補正の名称である「ワーク補正＃」、どのような種類の外部機器２でポイント補正を行うのかを示す「ワーク補正種別」、ワーク補正種別に使用する外部機器２の型番を示す「外部機器種別」を設定する（Ｓ１１）。
【００５８】
次に、ワークＷを適正な位置に適正な姿勢で配置した状態で、ロボット１の機能を使用して移動手段３を制御しカメラ２ａをカメラ撮り位置に移動させる。カメラ撮り位置は、ワークＷの配置ポイントの上方に設けられる位置であり、制御データ４２２における座標系で示される（Ｓ１２）。
【００５９】
カメラ撮り位置に移動した後、「外部機器種別」で設定したカメラ２ａがユーザが新規に作成したドライバーに付された「外部機器種別」であるのかどうかの判定を行う（Ｓ１３）。ユーザが新規に作成したドライバーに付された「外部機器種別」の場合（Ｓ１３のＹＥＳ）には、そのドライバーデータ４２３に記載された制御内容に従って、カメラ２ａに対して撮像を実施するコマンドを出力する（Ｓ１４）。カメラ２ａは、その機能により、撮像結果に含まれる基準マークの座標をコントローラ４に対して出力する。コントローラ４では、外部機器用ドライバー４４により、制御データ４２２の形式に撮像結果の変換をする（Ｓ１５）。
【００６０】
一方、コントローラ４のドライバーデータ記憶部４２ｂに予め記憶してある「外部機器種別」の場合（Ｓ１３のＮＯ）には、そのドライバーデータ４２３に記載された制御内容に従って、カメラ２ａに対して撮像を実施するコマンドを出力する（Ｓ１６）。カメラ２ａは、その機能により、撮像結果に含まれる基準マークの座標をコントローラ４に対して出力する。コントローラ４では、外部機器用ドライバー４４により、制御データ４２２の形式に撮像結果の変換をする（Ｓ１７）。
【００６１】
Ｓ１５及びＳ１７の結果、コントローラ４において、カメラ２ａをカメラ撮り位置に移動させた場合のカメラ２ａの座標系における基準マーク８の位置を取得することができる。
【００６２】
次に、制御データ４２２における座標系における基準マーク８の位置を取得する。制御データ４２２における座標系における基準マーク８の位置の取得方法としては、ロボット１の移動手段３を手動で移動させて、カメラ２ａの視野内に映る基準マークの位置が、Ｓ１２のカメラ撮り位置における基準マークの位置と一致するようにする（Ｓ１８）。この場合、カメラ２ａを手動で移動させる方法としては、実際にカメラ２ａを手で動かすのではなく、操作手段４６を操作してカメラ２ａを移動させる方法を利用する。これにより、制御データ４２２における座標系における基準マークの位置を取得することができる。
【００６３】
その後、キャリブレーションに使用する変数の算出を行う。算出の方法では、Ｓ１２で撮像した基準マークの座標と、ロボット１のアームを動かして取得した基準マークの位置とが等しくなるような変数を算出し、算出した値をポイント補正に登録する（Ｓ１９）。
【００６４】
以上の様に設定した、「ワーク補正＃」「ワーク補正種別」「外部機器種別」「変換係数」を、「外部機器種別」と対応付けてストレージ４２に記憶する。「外部機器種別」は、ポイント補正を示す識別子となる。
【００６５】
（ｂ）基準マーク位置の登録
次に、ポイント補正として「基準マーク位置」を算出する。図１１は、基準マークの登録方法の手順を示すフローチャートである。基準マーク位置の算出には、まず、ワークＷを適正な位置に適正な姿勢で配置した状態で配置する。そして、コントローラ４により、移動手段３を制御して外部機器２であるカメラ２ａを、基準マークのカメラ撮り位置に移動させる。基準マークのカメラ撮り位置は、ワークＷの配置ポイントの上方に設けられる位置であり、制御データ４２２における座標系で示される（Ｓ２１）。
【００６６】
基準マークのカメラ撮り位置に移動した後、「外部機器種別」で設定したカメラ２ａがユーザが新規に作成したドライバーに付された「外部機器種別」であるのかどうかの判定を行う（Ｓ２２）。ユーザが新規に作成したドライバーに付された「外部機器種別」の場合（Ｓ２２のＹＥＳ）には、そのドライバーデータ４２３に記載された制御内容に従って、カメラ２ａに対して撮像を実施するコマンドを出力する（Ｓ２３）。カメラ２ａは、その機能により、撮像結果に含まれる基準マークの座標をコントローラ４に対して出力する。コントローラ４では、外部機器用ドライバー４４により、制御データ４２２の形式に撮像結果の変換をする（Ｓ２４）。
【００６７】
一方、コントローラ４のドライバーデータ記憶部４２ｂに予め記憶してある「外部機器種別」の場合（Ｓ２２のＮＯ）には、そのドライバーデータ４２３に記載された制御内容に従って、カメラ２ａに対して撮像を実施するコマンドを出力する（Ｓ２５）。カメラ２ａは、その機能により、撮像結果に含まれる基準マークの座標をコントローラ４に対して出力する。コントローラ４では、外部機器用ドライバー４４により、制御データ４２２の形式に撮像結果の変換をする（Ｓ２６）。
【００６８】
Ｓ２４及びＳ２６の結果、カメラ２ａを基準マークのカメラ撮り位置に移動させた場合のカメラ２ａの座標系における基準マーク８の位置を取得することができる。
【００６９】
次に、制御データ４２２における座標系における基準マーク８の位置を取得する。制御データ４２２における座標系における基準マーク８の位置の取得方法としては、カメラ２ａの座標系で示される基準マークの座標を変換係数を用いることで、制御データ４２２における座標系における座標に変換する（Ｓ２７）。
【００７０】
その後、制御データ４２２における座標系における基準マークの座標は、ポイント補正の「基準マーク位置」として登録する（Ｓ２８）。
【００７１】
（３）制御データの作成工程
制御データ４２２を作成する場合には、初めに、ポイント補正を設定し、その後、各加工点における「本作業」、各加工点の「座標」、各作業後の作業の設定を行う。ここでは、説明の為に、第１の加工点で配置位置に配置されたワークＷのズレ量に基づく補正量を算出し、第２の加工点では、第１の加工点で算出した補正量を反映させた座標において、ワークＷに対して塗布を実施する場合について説明する。図１２は、本実施形態の制御データ４２２の一例を示す図である。
【００７２】
図１２に示すように、第１の加工ポイントに対応するポイントステートメント７として、ポイント番号７１「＃１」、ポイント種別オプション７２「ＰＴＰ駆動」、ポイント座標７３「Ｘ＝１００，Ｙ＝１００，Ｚ＝２０」、ポイント速度７４「速度４０」、作業種別オプション７５「移動後作業」、作業番号７６「１」、ポイント補正７７「なし」を設定する。作業番号７６で設定した「１」は、takeCamera１のコマンドに付された識別子である。takeCamera１は、以下の動作をカメラ２ａ及びコントローラ４に実行させるコマンドである。
（ａ）コントローラ４からカメラ２ａに対して撮像指示を出力し、カメラ２ａに撮像をさせる。
（ｂ）カメラ２ａにおいて、撮像結果から基準マーク座標を抽出し、その結果をコントローラ４に対して出力させる。
（ｃ）コントローラ４ではカメラ２ａから出力された基準マークの座標と予め設定された基準マークの座標とを比較し、その差から補正量の算出し、ワーク補正１の補正量としてコマンド記憶部４２ｄに記録させる。
【００７３】
また、第２の加工ポイントに対応するポイントステートメント７として、ポイント番号７１「＃２」、ポイント種別オプション７２「点塗布」、ポイント座標７３「Ｘ＝１００，Ｙ＝１４０，Ｚ＝３０」、ポイント速度７４「速度４０」、作業種別オプション７５「なし」、作業番号７６「なし」、ポイント補正７７「ワーク補正１」を設定する。
【００７４】
同様に、第３の加工ポイントに対応するポイントステートメント７として、ポイント番号７１「＃３」、ポイント種別オプション７２「ＰＴＰ駆動」、ポイント座標７３「Ｘ＝１５０，Ｙ＝１００，Ｚ＝２０」、ポイント速度７４「速度４０」、作業種別オプション７５「移動後作業」、作業番号７６「１」、ポイント補正７７「なし」を設定する。第４の加工ポイントに対応するポイントステートメント７として、ポイント番号７１「＃４」、ポイント種別オプション７２「点塗布」、ポイント座標７３「Ｘ＝１５０，Ｙ＝１４０，Ｚ＝３０」、ポイント速度７４「速度４０」、作業種別オプション７５「なし」、作業番号７６「なし」、ポイント補正７７「ワーク補正１」を設定する。
【００７５】
（４）移動手段及び外部機器の制御工程
このような作業データを使用した移動手段３及び外部機器２の制御工程では、図１２に示す制御データ４２２に従ってロボット１を動作させる。ロボット１の動作は以下の様になる。
【００７６】
初めに、ロボット１は、外部機器２であるカメラ２ａをポイント番号「＃１」のポイント座標７３として設定した座標Ｘ＝１００．００，Ｙ＝１００．００，Ｚ＝２０．０００，Ｒ＝０．０にＰＴＰ移動する。
【００７７】
移動後、コントローラ４は、カメラ２ａに対して撮像指示を出力する。この撮像指示は、外部機器用ドライバー４４で、カメラ２ａにおける撮像コマンドに変換される。撮像コマンドを受信したカメラ２ａでは撮像を行い、撮像結果より基準マークの座標を抽出する。カメラ２ａは、撮像した基準マークの座標を制御結果としてコントローラ４に対して出力する。ここで、カメラ２ａより出力される基準マークの座標は、カメラ２ａの座標系で示される座標である。
【００７８】
カメラ２ａが出力した基準マークの座標は、コントローラ４の外部機器用ドライバー４４により、コントローラ４の制御データ４２２の座標形式に変換される。コントローラ４においては、受信した基準マークの座標と、ポイント補正７７に登録された基準マークの座標の差から補正量を算出する。この補正量は、ポイント補正７７の補正量１として記録する。
【００７９】
次に、コントローラ４は、外部機器２である塗布装置２ｂをポイント２の座標として設定した座標、Ｘ＝１００．００，Ｙ＝１００．００，Ｚ＝２０．０００，Ｒ＝０．０に移動させ塗布作業を実行する。
【００８０】
ポイント２における塗布作業において、ポイント補正としてワーク補正番号が設定されている場合には、ポイント２の座標として設定された座標にポイント補正で指定した条件より算出した補正量を反映した座標で塗布作業を実行する。これにより、塗布対象となるワークＷの位置が、基準位置よりずれていた場合にでも、正しい位置に塗布することができる。
【００８１】
［１−３．効果］
以上の様なロボット１では、想定していない種類の外部機器２を使用した場合にでも、ユーザがその外部機器２に応じたドライバーを作成することにより、この外部機器２に対して作業を実行させることが可能となる。
【００８２】
すなわち、従来では、予めドライバーをストレージ４２にその外部機器２に対応したドライバーを記憶しておく必要があった。しかしながら、外部機器２の種類は膨大であり、そのすべてに応じたドライバーを予め用意しておくことは困難であった。これに対して、本実施形態のロボット１では、装着する外部機器２に対応したドライバーを、ユーザが作成しそのドライバーを制御データ４２２に付与することで、様々な外部機器２に対応することが可能となる。
【００８３】
また、本実施形態では、ドライバーデータ４２３に当該データを識別するための識別子を付した。これにより、作業内容と使用するドライバーデータ４２３を関連付ける際のユーザの負担を軽減することができる。図１３は、ユーザがドライバーデータ４２３を選択する際に操作手段４６の表示例である。図１３に示すように、外部機器種別を選択する際には、ユーザは選択可能な候補の中から選択を行うことができる。
【００８４】
また、本実施形態において、以下の様な変形例を採用することができる。
【００８５】
（１）本実施形態では、ポイント番号１のポイントステートメント７の作業番号としてtakeCamera１の識別子を指定した。このtakeCamera１を実行する際に、コントローラ４から出力する撮像指令は、ポイント番号２のポイントステートメント７のワーク補正１で指定されるドライバーデータ４２３を反映させた外部ドライバーにより変換されて出力される。即ち、ポイント番号１のポイントステートメント７を実行する際のドライバーをポイント番号２のポイントステートメント７で指定した。しかしながら、本実施形態としては、図１４に示すように、各ポイントステートメント７で使用する外部機器種別７８を指定することもできる。この様にすることで、外部機器２として複数のカメラを配置し、それぞれのカメラを交互に使用する場合でも、制御するカメラに応じたドライバーデータ４２３を外部ドライバーに反映させることが可能となる。
【００８６】
（２）本実施形態では、ポイントステートメント７の記載内容に合わせて、使用するドライバーデータ４２３を関連付けたが、ドライバーデータ４２３の関連付け対象はこれに限らない。例えば、図１５に示すように、構造化ポイントブロック６の記載内容と使用するドライバーデータ４２３を関連付けることもできる。この場合、操作手段４６からの入力に従って構造化ポイントブロック６ごとに、関連付けるドライバーデータ４２３を指定する。ドライバーデータ４２３の指定方法は、構造化ポイントブロック６にテーブル９を設け、そのテーブル９において外部機器種別７８を指定する。これにより、構造化ポイントブロック６ごとに、共通した外部機器種別７８を設定することも可能である。通常は、一連の作業の途中で外部機器２の変更を行うことは稀である。その為、ポイントにおける作業ごとに外部機器種別７８を設定することは、手間である。これに対して、構造化ポイントブロック６において、一括して使用する外部機器種別７８を設定することが可能であり、その手間を軽減することが可能となる。
【００８７】
（３）また、構造化ポイントブロック６に対してドライバーデータ４２３を関連付けるのではなく、制御データ４２２に対してドライバーデータ４２３を関連づけても良い。例えば、図１６に示すように、制御データ４２２にテーブル９を設け、制御データ４２２に共通するドライバーデータ４２３を指定することも可能である。これにより、制御データ４２２内のすべての構造化ポイントブロック６を実行する際に使用するドライバーデータ４２３を一括で指定することが可能となる。ロボット１が１種類の外部機器２に対して、１つの動作のみを実行させる場合には、コントローラ４と外部機器２との通信に使用する外部ドライバーは１種類で良い。この場合に、構造化ポイントブロック６に対してドライバーを付与したり、ポイントにおける作業番号に対してドライバーを付与するとドライバーの設定の回数が多くなる。この場合には、作業データに対してドライバーの付与を行う。
【００８８】
［２．他の実施形態］
以上のように本発明の実施形態を説明したが、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。そして、この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００８９】
（１）例えば、本実施形態では、外部機器２としてカメラ２ａを使用し、撮像結果に基づいてワークＷのズレ量に基づいて補正量の算出を行った。他にも、外部機器２としてレーザーセンサーを使用することもできる。レーザーセンサーを使用することで、ワークＷの高さを測定することができ、測定した高さを利用して高さ方向の補正をすることもできる。
【００９０】
（２）本実施形態では、ワーク配置位置に配置されたワークＷの補正量を算出し、その補正量に応じた制御を行った。他にも、制御データ４２２で、外部機器２及び移動手段３の制御内容を設定することで、ランダムに置かれた複数のワークＷの座標を算出し、その座標に基づいて各作業を実行させることもできる。
【００９１】
（３）本実施形態では、１つのポイントステートメント７において、作業番号７６を１つ設定したが、複数の作業番号を指定しても良い。１つのポイントステートメント７として第１の作業番号と、第２の作業番号を指定することで、同じポイント座標において、２つの作業を実行させることが可能となる。
【００９２】
（４）本実施形態では、ユーザが作成したドライバーの保護レベルを設定したが、ユーザに合わせて権限のレベルの付与をしても良い。すなわち、ユーザに付与される権限をユーザの特性に合わせて段階的に区別する。そして、強い権限を有するユーザは、権限が弱いユーザが設定した保護レベルを無視して、ドライバーデータ４２３の閲覧、編集、及び削除を可能としても良い。例えば、ロボット１を製造するメーカには一番高い「Ａ」が付与し、メーカからロボット１を購入しセッティングを行うベンダーには権限レベルが２番目に高い「Ｂ」が付与し、ベンダーからでセッティングを行ったロボット１の購入者には権限レベルが３番目に高い「Ｃ」が付与する。これにより、ユーザがメーカに対して修理やメンテナンスを依頼した場合に、メーカのメカニックがユーザが設定したドライバーデータ４２３を編集することが可能となる。
【符号の説明】
【００９３】
１…ロボット
２…外部機器
２ａ…カメラ
２ｂ…塗布装置
３…移動手段
３１…Ｘリニアスライダ
３２…Ｙリニアスライダ
３３…Ｚリニアスライダ
３３１…アーム
３３２…外部機器取り付け板
３３３…設置部
４…コントローラ
４１…ＣＰＵ
４２…ストレージ
４２ａ…制御データ記憶部
４２ｂ…ドライバーデータ記憶部
４２ｃ…アカウント記憶部
４２ｄ…コマンド記憶部
４２１…制御プログラム
４２２…制御データ
４２３…ドライバーデータ
４２４…ユーザＩＤ・パスワード
４２５…制御コマンド
４３…メモリ
４４…外部機器用ドライバー
４５…モータドライバー
４６…操作手段
４６１…ティーチングペンダント
４６２…表示部
５１…ドライバー生成部
５１ａ…アカウント登録部
５１ｂ…アカウント認証部
５１ｃ…項目設定部
５１ｄ…ドライバー登録部
５２…制御データ生成部
５３…ドライバー選択部
５４…制御データ実行部
６…構造化ポイントブロック
７…ポイントステートメント
７１…ポイント番号
７２…ポイント種別オプション
７３…ポイント座標
７４…ポイント速度
７５…作業種別オプション
７６…作業番号
７７…ポイント補正
７８…外部機器種別
８…基準マーク
８ａ…基準マーク
８ｂ…基準マーク
９…テーブル
Ｗ…ワーク
【図１】
0006562665.tif 000002
【図２】
0006562665.tif 000003
【図３】
0006562665.tif 000004
【図４】
0006562665.tif 000005
【図５】
0006562665.tif 000006
【図６】
0006562665.tif 000007
【図７】
0006562665.tif 000008
【図８】
0006562665.tif 000009
【図９】
0006562665.tif 000010
【図１０】
0006562665.tif 000011
【図１１】
0006562665.tif 000012
【図１２】
0006562665.tif 000013
【図１３】
0006562665.tif 000014
【図１４】
0006562665.tif 000015
【図１５】
0006562665.tif 000016
【図１６】
0006562665.tif 000017