(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-14
(45)【発行日】2024-05-22
(54)【発明の名称】ロボット及びロボットの制御方法
(51)【国際特許分類】
B25J 9/22 20060101AFI20240515BHJP
【FI】
B25J9/22 A
(21)【出願番号】P 2019181147
(22)【出願日】2019-10-01
【審査請求日】2022-09-26
(73)【特許権者】
【識別番号】000002244
【氏名又は名称】株式会社ジャノメ
(74)【代理人】
【識別番号】100081961
【氏名又は名称】木内 光春
(74)【代理人】
【識別番号】100112564
【氏名又は名称】大熊 考一
(74)【代理人】
【識別番号】100163500
【氏名又は名称】片桐 貞典
(74)【代理人】
【識別番号】230115598
【氏名又は名称】木内 加奈子
(72)【発明者】
【氏名】比留間 健一郎
【審査官】神山 貴行
(56)【参考文献】
【文献】特開2001-277166(JP,A)
【文献】特開2014-226730(JP,A)
【文献】特開2003-241807(JP,A)
【文献】特開2014-079845(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00-21/02
(57)【特許請求の範囲】
【請求項1】
ユニットを移動させる位置と前記位置における前記ユニットの作業内容を示すポイント種別と前記ポイント種別に基づく作業の前後に行う作業命令列とが対応付けられたポイント列を、作業を指示するコントロールデータに含めて記憶する記憶部と、
前記記憶部に記憶された前記ポイント列に基づき、ユニットを指定した位置に移動させ作業をさせる制御部と、を備えるロボットにおいて、
前記コントロールデータは、作業ごとに固有に設定された複数のカスタマイズデータを、複数の前記カスタマイズデータに含まれ
た共通の情報に基づきまとめたパッケージデータを含み、
複数の前記カスタマイズデータに含まれた前記共通の情報は、作業ID、作業名称、作業位置、作業手順、作業命令プログラム、所有者データのうちの少なくとも一つであり、
前記カスタマイズデータは、
前記ユニットに実行させる作業命令列とポイント種別名とが対応付けられたデータであるポイント種別定義、前記作業命令列に対する条件データを複数集めたデータである独立データ組
の情報を抽出した独立データ組定義、前記作業命令プログラムにおいて前記作業命令列が参照するプログラムデータ
の情報を抽出したプログラムデータ定義、複数の前記作業命令プログラムに共通する独立データ組
の情報を抽出したシステムデータ定義、の少なくとも一つを含むこと、
を特徴とするロボット。
【請求項2】
前記カスタマイズデータが、更新により前記ユニットの制御に不適当と判断された場合、前記カスタマイズデータは、更新前のカスタマイズデータ又は予め定められた範囲の内のデータに置き換えられることを特徴とする、
請求項1に記載のロボット。
【請求項3】
前記パッケージデータは、前記カスタマイズデータの削除を禁止することを示す削除制限コードを含むことを特徴とする、
請求項1または2に記載のロボット。
【請求項4】
前記パッケージデータは、前記パッケージデータの転送を禁止することを示す複写制限コードを含み、前記複写制限コードに基づき前記パッケージデータの転送の可否が判断されることを特徴とする、
請求項1乃至3のいずれか1項に記載のロボット。
【請求項5】
前記パッケージデータは、イベントが発生した時の作業の定義であるイベント作業定義を含み、
前記制御部は、前記イベントが発生した時に、前記イベント作業定義に基づき前記ユニットを制御すること、
を特徴とする請求項1乃至4のいずれか1項に記載のロボット。
【請求項6】
前記パッケージデータに含まれるイベント作業定義は、オブジェクト指向により継承され、
前記制御部は、
前記イベント作業定義が再定義されない場合、継承元の前記パッケージデータに含まれるイベント作業定義に基づき前記ユニットを制御し、
前記イベント作業定義が再定義された場合、上書きにより更新された前記イベント作業定義に基づき前記ユニットを制御することを特徴とする、
請求項5に記載のロボット。
【請求項7】
作業を指示するコントロールデータを記憶する記憶手順と、
前記記憶手順により記憶された前記コントロールデータに基づき、ユニットを指定した位置に移動させ作業をさせる制御手順と、を備えるロボットの制御方法において、
前記コントロールデータは、
作業ごとに固有に設定された複数のカスタマイズデータを、複数の前記カスタマイズデータに含まれ
た共通の情報に基づきまとめたパッケージデータを含み、
複数の前記カスタマイズデータに含まれた前記共通の情報は、作業ID、作業名称、作業位置、作業手順、作業命令プログラム、所有者データのうちの少なくとも一つであり、
前記カスタマイズデータは、
前記ユニットに実行させる作業命令列とポイント種別名とが対応付けられたデータであるポイント種別定義、前記作業命令列に対する条件データを複数集めたデータである独立データ組の情報を抽出した独立データ組定義、前記作業命令プログラムにおいて前記作業命令列が参照するプログラムデータの情報を抽出したプログラムデータ定義、複数の前記作業命令プログラムに共通する独立データ組の情報を抽出したシステムデータ定義、の少なくとも一つを含むこと、
を特徴とするロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記憶した複数の作業命令を、所定の位置で動作させるロボット及びロボットの制御方法に関する。
【背景技術】
【0002】
複数の作業を一つの装置で行うロボットが知られている。ロボットは、ワーク位置の補正量検出、ワークの塗布作業、ワークのキズ検査などの異なる複数の作業を一つで行う。ロボットは、異なる作業ごとの作業名称、作業位置、作業手順、作業命令プログラムを含むコントロールデータを記憶する。コントロールデータは、作業固有のデータであるカスタマイズデータがポイントティーチングにより入力され作成される。
【0003】
コントロールデータには、作業位置のポイントを示す「X座標、Y座標、Z座標」やポイントでの作業を示す「ポイント作業」のみならず、「ポイント種別」、「移動前作業」、「移動中作業」等のカスタマイズデータが含まれる。カスタマイズデータは、異なる種類の作業毎、ポイント種別毎に、移動前、移動中、移動後のそれぞれの位置で処理を実行する命令列を含み、また、この命令列にはエラー発生時の処理といった例外的な処理も含まれることから、膨大なデータ量となる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
コントロールデータにおけるカスタマイズデータのデータ量は膨大であり、カスタマイズデータを入力するにあたり膨大な時間を有する。また、最適な作業を行うため作業ごとにカスタマイズデータの調整を行うことが必要とされる場合もある。ロボットの機種変更、ソフトウェアのバージョンアップ、作業対象の変更時には、コントロールデータにおけるカスタマイズデータの修正が必要とされる。
【0006】
カスタマイズデータの修正時に、カスタマイズデータを再度作成することは、膨大なデータを膨大な時間を掛けて入力することとなり、望ましくない。例えば「点塗布点」「線塗布開始点」「線塗布通過点」「線塗布終了点」のような作業ポイントに関する情報である複数のポイント種別定義と、「塗布条件」データのような作業条件に関する情報である独立データ組定義により「塗布仕様」に関するカスタマイズデータは作成される。
【0007】
システムソフトウェアのバージョンアップによりカスタマイズデータの内容を更新する場合、不具合点を改善することを目的として、例えば「点塗布点」の作業命令列の修正を行うことも考えられる。従来技術では、カスタマイズデータが更新されたシステムプログラムを新たに作成し、バージョンアップ時に、コントロールデータの更新を行っていた。しかしながら、新たにシステムプログラムを作成することは、非常に煩雑であった。
【0008】
また、調整されたカスタマイズデータは、作業固有のノウハウを含む場合もある。このため、既に作成されたカスタマイズデータが、修正後のカスタマイズデータに反映されることが望ましい。
【0009】
本発明は、上記のような課題を解決するためになされたものであり、異なる作業ごとの作業位置、作業手順、作業命令プログラムを含むコントロールデータにおけるカスタマイズデータの修正を、より効率よく行うことができるロボット及びロボットの制御方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明のロボットは、以下の特徴を有する。
(1)作業を指示するコントロールデータを記憶する記憶部を備える。
(2)前記記憶部に記憶された前記コントロールデータに基づき、ユニットを指定した位置に移動させ作業をさせる制御部を備える。
(3)前記コントロールデータは、作業ごとに固有に設定された複数のカスタマイズデータを、複数の前記カスタマイズデータに含まれた、作業ID、作業名称、作業位置、作業手順、作業命令プログラム、所有者データのうち少なくとも一つの共通の情報に基づきまとめたパッケージデータを含む。
【0011】
本発明のロボットにおいて、以下の特徴を有していてもよい。
(1)前記カスタマイズデータは、前記ユニットに実行させる作業命令列とポイント種別名とが対応付けられたデータであるポイント種別定義、前記作業命令列に対する条件データを複数集めたデータである独立データ組定義、前記作業命令プログラムにおいて、前記作業命令列が参照する条件データであるプログラムデータ定義、複数の前記作業命令プログラムに共通する独立データ組であるシステムデータ定義、の少なくとも一つを含む。
【0012】
(2)前記記憶部は、前記ユニットを移動させる位置と、前記位置における前記ユニットの作業内容を示すポイント種別とが対応づけられたポイント列を、前記コントロールデータに含めて記憶し、前記制御部は、前記ポイント列に基づき、前記ユニットを制御する。
【0013】
(3)前記カスタマイズデータが、更新により予め定められた範囲の内のデータとならない場合、前記カスタマイズデータは予め定められた前記範囲の内のデータに置き換えられて、前記パッケージデータが作成され、前記記憶部に記憶される。
【0014】
(4)前記ユニットの制御に必要とされる前記カスタマイズデータが、更新により削除される場合、更新前の前記カスタマイズデータにより、前記パッケージデータが作成され、前記記憶部に記憶される。
【0015】
(5)前記パッケージデータは、前記カスタマイズデータの削除を禁止することを示す削除制限コードを含む。
【0016】
(6)前記パッケージデータは、前記パッケージデータの転送を禁止することを示す複写制限コードを含み、前記複写制限コードに基づき前記パッケージデータの転送の可否が判断される。
【0017】
(7)前記パッケージデータは、イベントが発生した時の作業の定義であるイベント作業定義を含み、前記制御部は、前記イベントが発生した時に、前記イベント作業定義に基づき前記ユニットを制御する。
【0018】
(8)前記パッケージデータは、前記イベント作業定義に基づく作業の実行順序を示すイベント順序定義を含み、前記制御部は、前記イベントが発生した時に、イベント順序定義に基づき前記ユニットを制御する。
【0019】
(9)前記パッケージデータは、継承元のパッケージデータを指定して、オブジェクト指向にかかる継承により作成される。
【0020】
(10)前記パッケージデータに含まれるイベント作業定義は、オブジェクト指向により継承され、前記制御部は、前記イベント作業定義が再定義されない場合、継承元の前記パッケージデータに含まれるイベント作業定義に基づき前記ユニットを制御し、前記イベント作業定義が再定義された場合、上書きにより更新された前記イベント作業定義に基づき前記ユニットを制御する。
【発明の効果】
【0021】
本発明によれば、複数のコントロールデータがまとめられ、パッケージデータとして記憶部に記憶されるので、関連する複数のコントロールデータを一括して管理することができる。複数のコントロールデータのうち関連するコントロールデータを、容易に抽出することができるとともに、コントロールデータにおける関連するカスタマイズデータを一括して修正することができる。
【図面の簡単な説明】
【0022】
【
図1】第1実施形態にかかるロボットの外観構成を示す図
【
図2】第1実施形態にかかるロボットの機能ブロック図を示す図
【
図3】第1実施形態にかかるパッケージデータの一例を示す図
【
図4】第1実施形態にかかるポイント種別定義にかかる情報を示す図
【
図5】第1実施形態にかかるパッケージデータを転送するプログラムのフローを示す図
【
図6】第3実施形態にかかるロボットの販売時におけるカスタマイズデータの更新の過程を示す図
【
図7】第3実施形態にかかる削除制限にかかるデータ処理のフローを示す図
【
図8】第4実施形態にかかるロボットの販売時におけるカスタマイズデータの複写の過程を示す図
【
図9】第4実施形態にかかるパッケージデータの転送にかかるデータ処理のフローを示す図
【
図10】第5実施形態にかかる階層的な設定変数リスト表示の例を示す図
【
図11】第5実施形態にかかる多段的な設定変数リスト表示の例を示す図
【
図12】第5実施形態にかかるサブパッケージの例を示す図
【
図13】第5実施形態にかかるポイント種別定義のリスト表示例を示す図
【
図14】第5実施形態にかかるポイント種別定義のアイコンリスト表示の例を示す図
【
図15】第6実施形態にかかるイベント作業定義を備えたパッケージデータの一例を示す図
【
図16】第6実施形態にかかるイベント順序定義の一例を示す図
【
図17】第6実施形態にかかる外部イベント作業定義を備えたパッケージデータの一例を示す図
【
図18】第6実施形態にかかる「継承元パッケージID」を含むパッケージデータの一例を示す図
【発明を実施するための形態】
【0023】
[第1実施形態]
[1-1.構成]
以下では、
図1~
図2を参照しつつ、本実施形態のロボット1の構成を説明する。本実施形態において、同一構成の装置や部材が複数ある場合にはそれらについて同一の番号を付して説明を行い、また、同一構成の個々の装置や部材についてそれぞれを説明する場合に、共通する番号にアルファベット(小文字)の添え字を付けることで区別する。
【0024】
図1に、本実施形態のロボット1の外観構成を示す。ロボット1は、コントローラ100とユニット200により構成される。ユニット200は、X方向に可動なXスライダー201、Xスライダー201に対し摺動可能に配置されY方向に可動なYスライダー202、Yスライダー202に対し摺動可能に配置されZ方向に可動なZスライダー203により構成される。Zスライダー203に、作業ツールが配置される。
【0025】
Xスライダー201、Yスライダー202、Zスライダー203は、モータ21に接続される。Xスライダー201、Yスライダー202、Zスライダー203は、コントローラ100からの指令を受けたモータ21により駆動され、それぞれX方向、Y方向、Z方向に移動させられる。
【0026】
ロボット1のティーチングにおいて、作業者は、ユニット200を移動させる位置と、その位置におけるユニット200の作業内容を示すポイント種別とを対応づけてポイント列として設定する。ポイント種別定義として、ポイント種別名、ポイントでの作業内容、ポイント毎に設定するデータ項目が予め定義される。
【0027】
ロボット1において、ユニット200はティーチングにより設定されたポイントの順に移動し、ポイント種別定義で定義された作業内容を実行するように制御される。
【0028】
図2に、ロボット1の機能ブロック図を示す。ロボット1は、前述のとおりコントローラ100とユニット200により構成される。マイクロコンピュータを主体に構成される制御部10は、ロボット1全体の制御を行う。制御部10は、ロボット制御プログラム記憶部2に記憶されている制御プログラムに従って、入力操作、表示、記憶、モータ駆動、信号入出力を行う。コントローラ100は、表示部3、操作部4、一時記憶部5、コントロールデータ記憶部6、信号入出力部7、外部通信部8、モータ駆動制御部9を備える。この制御動作の為に一時記憶部5が使用される。コントロールデータ記憶部6が請求項における記憶部に相当する。
【0029】
制御部10は、マイクロコンピュータを主体に構成される。制御部10は、モータ駆動制御部9に指令を出力し、モータ21を駆動して各種の動作を実行させる。作業を行うために必要とされる任意の数のモータ駆動制御部9およびモータ21が、ユニット200に設けられる。
【0030】
例えば、ねじ締めユニットの場合、モータ21として、ねじ締めユニットを所定の位置に移動させるためのX軸方向移動用モータ、Y軸方向移動用モータ、Z軸方向移動用モータ、ねじ締め器具を回転させるねじ締め用モータの4つのモータが設けられる。また、制御部10は信号入出力部7、外部通信部8に指令を出し、外部からの信号入力及び外部への信号出力を実行させる。入力された外部からの信号を、ロボット1の制御に反映させ、外部への信号により外部機器の制御を行う。
【0031】
操作部4はキーボード等の入力装置や、ティーチングのためのハード的、ソフト的機構などであって、ロボット1のプログラムやデータの入力を行うものである。表示部3はLCD表示装置等により構成され、設定値の表示や操作部4による入力状態を表示するものである。
【0032】
一時記憶部5は、所謂メモリであり、制御部10が制御指令を出力する際の必要な情報を一時的に記憶する。
【0033】
コントロールデータ記憶部6は、ハードディスクや半導体メモリにより構成された記憶装置であり、カスタマイズデータ記憶部61、ポイント列記憶部62、システムデータ記憶部63、プログラムデータ記憶部64、独立データ組記憶部65、パッケージデータ記憶部66を備える。
【0034】
カスタマイズデータ記憶部61は、作業ごとに固有に設定されたカスタマイズデータを記憶する。カスタマイズデータは、ユニット200に作業を指示するコントロールデータのうち、作業ごと固有に更新された部分である。カスタマイズデータには、ポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義が含まれる。
【0035】
カスタマイズデータは、作業ごとに複数作成される。カスタマイズデータは、作業ごとに固有に設定された作業ID、作業名称、作業位置、作業手順、作業命令プログラム、所有者データのうち少なくとも一つの情報を含む。カスタマイズデータにおける作業位置、作業手順、作業命令プログラムは、ポイントティーチング、または信号入出力部7、外部通信部8により入力される。
【0036】
カスタマイズデータは、ユニット200に実行させる作業命令列とポイント種別名とが対応付けられたデータであるポイント種別定義、作業命令列に対する条件データを複数集めたデータである独立データ組の主要情報を抽出した独立データ組定義、作業命令プログラムにおいて作業命令列が参照する条件データであるプログラムデータの主要情報を抽出したプログラムデータ定義、複数の作業命令プログラムに共通する独立データ組の主要情報を抽出したシステムデータ定義を含む。
【0037】
ポイント列記憶部62は、ユニット200を移動させる位置と、その位置において実行するポイント種別と、ポイント種別に基づく作業の前後に行う作業命令列とを対応付け、ポイント列として記憶する。作業時に、制御部10は、ポイント列に基づき、ユニット200を制御する。
【0038】
システムデータ記憶部63は、システムに共通なデータの実体であるシステムデータを記憶する。
【0039】
プログラムデータ記憶部64は、プログラム毎に共通なデータの実体であるプログラムデータを記憶する。
【0040】
独立データ組記憶部65は、独立データ組定義に基づいたデータの実体である独立データ組を記憶する。
【0041】
パッケージデータ記憶部66は、複数のカスタマイズデータに共通の情報がまとめられたパッケージデータを記憶する。複数のカスタマイズデータは、作業ごとに固有に設定された作業ID、作業名称、作業位置、作業手順、作業命令プログラム、所有者データのうち少なくとも一つの情報を含む。
【0042】
パッケージデータにまとめられた共通の情報は、ユニット200に実行させる作業命令列とポイント種別名とが対応付けられたデータであるポイント種別定義、作業命令列に対する条件データを複数集めたデータである独立データ組定義、作業命令プログラムにおいて、作業命令列が参照する条件データであるプログラムデータ定義、複数の作業命令プログラムに共通する独立データ組であるシステムデータ定義、のうち少なくとも一つのカスタマイズデータから抽出された情報である。
【0043】
[1-2.作用]
次に、本実施形態のロボット1の作用を、
図1~5に基づき説明する。本実施形態にかかるロボット1は、ユニット200により実行される作業に必要な各種の定義データ群を1つのパッケージとして、まとめて転送、保存、更新、削除できるようにしたことを特徴とする。
【0044】
カスタマイズデータ記憶部61は、作業ごとに固有に設定されたカスタマイズデータとしてポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義を記憶する。
【0045】
ポイント種別定義は、ユニット200に実行させる作業命令列とポイント種別名とが対応付けられたデータである。独立データ組定義は、ポイント種別定義、作業命令列に対する条件データを複数集めたデータである独立データ組の主要情報を抽出した情報である。プログラムデータ定義は、作業命令プログラムにおいて作業命令列が参照する条件データであるプログラムデータの主要情報を抽出した情報である。システムデータ定義は、プログラムデータ定義、複数の作業命令プログラムに共通する独立データ組の主要情報を抽出した情報である。
【0046】
カスタマイズデータであるポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義のそれぞれは、主要情報として所有者情報を有する。所有者情報が同一であるポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義がまとめられ一つのパッケージデータとされる。
【0047】
ロボット1の制御プログラムやカスタマイズデータの更新時に、外部通信部8を介し更新部分のデータが入力される。データが更新されたポイント種別定義、独立データ組定義、プログラムデータ定義、またはシステムデータ定義は、ポイント列記憶部62、システムデータ記憶部63、プログラムデータ記憶部64、または独立データ組記憶部65に記憶される。
【0048】
カスタマイズデータに対応したパッケージデータが作成されパッケージデータ記憶部66に記憶される。
図3に、パッケージデータの一例を示す。パッケージデータは、パッケージID、暗証番号、パッケージキャプション日本語、パッケージキャプション英語を含む。パッケージIDによりパッケージデータが特定される。パッケージIDが、請求項における作業IDに相当する。暗証番号によりパッケージに対するアクセスが可能となる。パッケージキャプション日本語、パッケージキャプション英語により表示に使用される言語が特定される。
【0049】
さらにパッケージデータは、削除制限、複写制限に関する情報を含む。「削除制限有り」に設定されることにより、カスタマイズデータの削除が制限される。これにより例えば、全削除処理によりカスタマイズデータを削除されることが防止される。「複写制限有り」に設定されることにより、パッケージデータの複写が制限される。これにより例えば、権限を有しない利用者によりパッケージデータを転送されることが防止される。
【0050】
また、パッケージデータは、システム設定変数、プログラム設定変数、条件設定変数のキャプションを有する。キャプションは、システム設定変数、プログラム設定変数、条件設定変数の設定リストの表示が行われる時に使用される。システム設定変数、プログラム設定変数、条件設定変数の数値は、パッケージが新規に作成されたとき、または更新されたときに記憶される。パッケージデータが有するキャプションは、上記に限られない。
【0051】
図4にポイント種別定義にかかる情報を示す。ポイント種別定義は、カスタマイズデータ記憶部61に記憶される。それぞれのカスタマイズデータは、ポイント種別IDを有する。カスタマイズデータは、ポイント種別IDと同一のパッケージIDを有するパッケージデータに含まれる。同様に独立データ組定義、プログラムデータ定義、システムデータ定義も、それぞれ独立データ組ID、プログラムデータID、システムデータIDを有する。
【0052】
ポイント種別ID、独立データ組ID、プログラムデータID、システムデータIDに基づき、パッケージデータを特定することにより、以下の処理がパッケージ単位にて行われる。
a.データ転送
パーソナルコンピュータや外部メモリへのデータ転送がパッケージ単位にて行われる。
b.ファイル保存
パーソナルコンピュータの外部記憶装置へのファイル保存がパッケージ単位にて行われる。
c.データ受信
パーソナルコンピュータ、外部メモリから転送されたデータの反映がパッケージ単位にて行われる。
d.データ更新
データの更新がパッケージ単位にて行われる。
e.データ削除
データの削除がパッケージ単位にて行われる。
【0053】
一例として、ロボット1のパッケージデータ記憶部66に記憶されているパッケージデータをパーソナルコンピュータに転送する場合について説明する。パッケージキャプションが指定され、その指定されたパッケージIDに対応したカスタマイズデータがパッケージデータとして転送される。
図5にパッケージデータを転送するプログラムのフローを示す。プログラムは、ロボット制御プログラム記憶部2に記憶される。プログラムは以下の手順で実行される。
【0054】
制御部10は、パッケージデータ記憶部66に記憶されているパッケージのキャプションを表示部3に表示させる。複数のパッケージがある場合、記憶されている複数のパッケージのキャプションを一覧表示する。(ステップS51)。
【0055】
次に、作業者により転送したいパッケージが、キャプションに基づき表示されたパッケージから選択される(ステップS52)。
【0056】
次に、制御部10は、選択されたパッケージのパッケージIDに基づき、カスタマイズデータ記憶部61記憶されているカスタマイズデータにかかるポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義を検索する(ステップS53)。
【0057】
次に、制御部10は、対象となるポイント種別定義のポイント種別ID、独立データ組定義の独立データ組ID、プログラムデータ定義のプログラムデータID、またはシステムデータ定義のシステムデータIDが、選択されたパッケージのパッケージIDと一致しているかの判断を行う(ステップ54)。
【0058】
パッケージIDと一致していると判断された場合(ステップS54のYES)、ポイント種別定義、独立データ組定義、プログラムデータ定義、またはシステムデータ定義に対応するデータの内容の送信を行う(ステップS55)。パッケージIDと一致していると判断されない場合(ステップS54のNO)、データの送信は行われない。
【0059】
ポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義の全ての対象について、ステップS54、ステップS55は繰り返し実行される(ステップS56)。
【0060】
上記実施形態では、パッケージIDに基づき、カスタマイズデータにかかるポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義を検索し、対応するポイント種別データ、システムデータ、プログラムデータ、独立データ組、を送信するものとしたが、対応するポイント種別データ、システムデータ、プログラムデータ、独立データ組を転送、保存、受信、更新、削除するようにしてもよい。
【0061】
また、複数のコントロールデータは、所有者データを有し、同一所有者データを有する複数のコントロールデータがパッケージとしてまとめられ、所有者データに基づき、カスタマイズデータにかかるポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義を検索するものとしてもよい。
【0062】
例えば、「塗布仕様」に用いられるポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義に、同一の所有者データを付与し作成するようにし、同一の所有者データにかかるポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義を1つのパッケージに含めパッケージデータとするようにしてもよい。
【0063】
[1-3.効果]
(1)本実施形態によれば、複数のカスタマイズデータは、作業ごとに固有に設定された作業ID、作業名称、作業位置、作業手順、作業命令プログラム、所有者データのうち少なくとも一つの情報を含み、複数のカスタマイズデータに共通の情報が、まとめられてパッケージデータとしてコントロールデータ記憶部6に記憶されるので、異なる作業ごとの作業ID、作業名称、作業位置、作業手順、作業命令プログラム、所有者データを含むカスタマイズデータの修正を、より効率よく行うことができるロボット及びロボットの制御方法を提供することができる。
【0064】
(2)本実施形態によれば、コントロールデータ記憶部6に記憶されたカスタマイズデータは、ユニットに実行させる作業命令列とポイント種別名とが対応付けられたデータであるポイント種別定義、作業命令列に対する条件データを複数集めたデータである独立データ組定義、作業命令プログラムにおいて、作業命令列が参照する条件データであるプログラムデータ定義、複数の作業命令プログラムに共通する独立データ組であるシステムデータ定義のいずれかを含むので、カスタマイズデータに含まれたポイント種別定義、独立データ組定義、プログラムデータ定義、システムデータ定義は、パッケージデータに基づき、一括して転送、保存、受信、更新、削除されることができる。
【0065】
(3)本実施形態によれば、コントロールデータ記憶部6は、ユニット200を移動させるポイントの位置情報と、ポイント種別名とが対応付けられたデータであるポイント列をコントロールデータに含めて記憶し、制御部10は、ポイント列に基づき、ユニット200を制御するので、パッケージデータに基づきカスタマイズデータを修正することにより一括してポイント列が修正され、制御部10は、修正されたポイント列に基づき、ユニット200を制御することができる。
【0066】
[第2実施形態]
[2-1.構成および作用]
第2実施形態のロボット1は、第1実施形態のロボット1に加え、入力されたカスタマイズデータが予め定められた範囲の内のデータとならない場合、予め定められた範囲の内のデータまたは更新前のデータに置き換えられて、パッケージデータが作成され、コントロールデータ記憶部6に記憶されることを特徴とする。例えば、カスタマイズデータが、更新により予め定められた範囲の内のデータとならない場合、カスタマイズデータは予め定められた範囲の内のデータに置き換えられて、パッケージデータが作成され、記憶部6に記憶される。カスタマイズデータが、更新により予め定められた範囲の内のデータとならない場合が、請求項における更新により前記ユニットの制御に不適当と判断された場合に相当する。第2実施形態のロボット1の構成は、第1実施形態のロボット1の構成と同じである。
【0067】
また、第2実施形態のロボット1は、第1実施形態のロボット1に加え、ユニット200の制御に必要とされるコントロールデータにおけるデータが、入力されたカスタマイズデータにより削除される場合、削除される部分が予め定められた範囲の内のデータまたは更新前のデータに置き換えられて、パッケージデータが作成され、コントロールデータ記憶部6に記憶されることを特徴とする。例えば、ユニット200の制御に必要とされるカスタマイズデータが、更新により削除される場合、更新前のカスタマイズデータにより、パッケージデータが作成され、記憶部6に記憶される。ユニット200の制御に必要とされるカスタマイズデータが、更新により削除される場合が、請求項における更新により前記ユニットの制御に不適当と判断された場合に相当する。
【0068】
ソフトウェアのバージョンアップ、即ちパッケージの更新時、カスタマイズデータの中に新規追加された定義がある場合、ポイント種別定義は、ポイントティーチングが行われた後に、定義に対応する実体(インスタンス)が作成される。しかしながら、システムデータ定義等の場合、実体はシステムに1つのみ作成され、その作成はパッケージの更新時に同時に行われるようにすることが望ましい。実体が無い状態で、作業が行われることを防止するためである。
【0069】
カスタマイズデータの更新時に、存在したデータが削除された場合、その定義に基づくポイントデータまたは設定データが残っていると「定義の無い」データとして、処理を行うことができず、エラーとなってしまう。ポイントデータは、対応するポイント種別定義が削除された場合、予め定められた範囲の内のデータまたは更新前のデータに置き換えられることにより、「定義の無い」データとなることを防止することができる。設定データの場合、データ自体を削除することで、「定義の無い」データとなることを防止することができ、エラーの発生を防ぐことができる。
【0070】
ロボット制御プログラム記憶部2に記憶されたロボット制御プログラムを更新する場合、制御部10は、外部通信部8を介して、新しいロボット制御プログラムを受信し、ロボット制御プログラムを更新する。例えばシステムが「塗布用途」であり、カスタマイズデータの更新も必要とされる場合、ロボット制御プログラムの更新に続けて、塗布仕様のパッケージデータの更新が実行される。
【0071】
更新が行われる前において、カスタマイズデータ記憶部61には更新前のポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義が記憶されている。また、更新前のポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義のそれぞれに基づいて作成された、ポイント列がポイント列記憶部62に、システムデータがシステムデータ記憶部63に、プログラムデータがプログラムデータ記憶部64に、独立データ組が独立データ組記憶部65に記憶されている。ポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義は、更新前のデータが削除され、更新後のデータが上書きされ更新される。
【0072】
一方、パッケージの更新において、ポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義に基づいて作成されたデータは、破壊されずに、かつ新しい定義と整合した形で移行させることが必要とされる。カスタマイズデータは、異なる種類の作業毎、ポイント種別毎に、移動前、移動中、移動後のそれぞれの位置で処理を実行する命令列を含み、また、この命令列にはエラー発生時の処理といった例外的な処理も含まれることから、膨大なデータ量となる。このため、ロボット制御プログラムを更新する毎に、ポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義に基づいて作成された全カスタマイズデータを削除し、再度ティーチングによりカスタマイズデータを入力することは、非常に煩雑であり、好ましくない。
【0073】
パッケージデータの更新時に、更新前後のカスタマイズデータの整合性を保つために、制御部10により、以下の処理が行われる。
(A)ポイント種別定義
(A-1)新規追加されたのではないポイント種別定義に基づくポイントデータは、原則として削除、書換えされない。ただしポイント設定データは、(B)ポイント設定変数定義の変更時に変更される。
(A-2)削除されたポイント種別定義に基づくポイントデータは、初期設定されたポイント種別定義とされ、ポイント設定データはクリアされる。
【0074】
(B)ポイント設定変数定義
(B-1)新規追加されたのではないポイント設定変数定義に基づくポイント設定データにおいて、設定されている数値が予め定められた範囲の内のデータとならない場合、予め定められた範囲の内のデータまたは更新前のデータに置き換えられる。
(B-2)新規追加されたのではないポイント種別定義において、ポイント設定変数定義が削除された場合、対応するポイント種別のポイントに該当するポイント設定データの値がクリアされる。
(B-3)ポイント設定変数定義が新たに追加された場合、対応するポイント種別のポイントに該当するポイント設定データの数値は、予め定められた範囲の内のデータに置き換えられる。
【0075】
(C)システム設定変数定義、プログラム設定変数定義、条件設定変数定義
(C-1)新規追加されたのではないシステム設定変数定義、プログラム設定変数定義、条件設定変数定義のそれぞれに基づき作成されたシステムデータ、プログラムデータ、条件設定変数データは原則として削除、書換えされない。但し、システムデータ、プログラムデータ、条件設定変数データに設定されている数値が予め定められた範囲の内のデータとならない場合、予め定められた範囲の内のデータまたは更新前のデータに置き換えられる。
(C-2)新規追加されたシステム設定変数定義、プログラム設定変数定義、条件設定変数定義に基づくシステムデータ、プログラムデータ、条件設定変数データは予め定められた範囲の内のデータにより作成される。
(C-3)削除されたシステム設定変数定義、プログラム設定変数定義、条件設定変数定義基づくシステムデータ、プログラムデータ、条件設定変数データは削除される。
【0076】
パッケージの更新において、ポイント設定変数定義、システム設定変数定義、プログラム設定変数定義、条件設定変数定義のうち「削除された定義」がどれであるかを見つけることが必要とされる。「削除された定義」とは、更新前のパッケージデータには存在し、更新後のパッケージデータには存在しない定義である。
【0077】
更新前のパッケージデータの定義リストから、更新後の定義と一致するものを消して行き、最後まで消されずに残ったものが、「削除された定義」として検出される。「削除された定義」のリストが作成され、リストに基づき「削除された定義」に対応したデータの処理を行うことが必要とされる。なお、更新前に無い定義は新規の定義である。
【0078】
[2-2.効果]
(1)本実施形態によれば、カスタマイズデータが、更新により予め定められた範囲の内のデータとならない場合、ユニットの制御に不適当と判断され、カスタマイズデータは予め定められた範囲の内のデータに置き換えられて、パッケージデータが作成され、記憶部6に記憶されるので、カスタマイズデータが不適切なデータを有すること、またはデータが欠落することを防止することができる。これにより、ロボット1によるエラーの発生を防ぐことができ、ロボット1による作業を、滞りなく推進することができる。
【0079】
(2)本実施形態によれば、ユニット200の制御に必要とされるカスタマイズデータが、更新により削除される場合、ユニットの制御に不適当と判断され、更新前のカスタマイズデータにより、パッケージデータが作成され、記憶部6に記憶されるので、コントロールデータが欠落することを防止することができる。これにより、ロボット1によるエラーの発生を防ぐことができ、ロボット1による作業を、滞りなく推進することができる。
【0080】
[第3実施形態]
[3-1.構成および作用]
本実施形態のロボット1の作用を、
図6~7に基づき説明する。第3実施形態のロボット1は、第1実施形態および第2実施形態のロボット1に加え、コントロールデータは、削除を禁止することを示す削除制限コードを含むことを特徴とする。第3実施形態のロボット1の構成は、第1実施形態のロボット1の構成と同じである。
【0081】
例えば、パッケージデータとして「塗布仕様パッケージ」を作成し、製品を工場から出荷する時点で「塗布仕様パッケージ」にかかるカスタマイズデータを登録して販売する場合において、「塗布仕様パッケージ」にかかる内容が、通常の編集操作における「全データ削除」による指示により消去されることは、望ましくない。本実施形態では、「塗布仕様パッケージ」にかかるカスタマイズデータを登録した時に、通常の操作ではカスタマイズデータが削除されないことを特徴とする。
【0082】
ロボット1は、パッケージデータ、カスタマイズデータを含めたロボットの全てのデータを削除し、工場出荷状態に戻す機能を有する。全てのデータを削除し、工場出荷状態に戻す動作は、「全データ削除(データ初期化)」にかかる指示が作業者の操作により入力されることにより実行される。しかしながら、パッケージデータ、カスタマイズデータ等のデータが削除されてしまうことが望ましくない場合もある。
【0083】
図6に、ロボット1の販売時におけるカスタマイズデータの更新の過程を示す。販売業者であるB社は、製造会社であるA社からロボット1を購入する。B社は、A社から購入したロボット1のカスタマイズデータを更新し、エンドユーザーCに販売する。エンドユーザーCは、カスタマイズデータが更新されたロボット1を購入し、使用する。
【0084】
B社によるカスタマイズデータを更新する作業において、A社により初期設定されたカスタマイズデータが、消去されることは望ましくない場合がある。カスタマイズデータは、異なる種類の作業毎、ポイント種別毎に、移動前、移動中、移動後のそれぞれの位置で処理を実行する命令列を含み、また、この命令列にはエラー発生時の処理といった例外的な処理も含まれることから、膨大なデータ量となり、入力に多大な労力を要するためである。
【0085】
パッケージデータ記憶部66に記憶されるパッケージデータには、
図3に示すように削除制限の項目が設けられる。この項目が「制限有り」に設定されている場合、作業者の操作により「全データ削除(データ初期化)」の指示が入力された場合であっても、制御部10は、「制限有り」に設定されたパッケージデータおよびパッケージデータに属するカスタマイズデータであるポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義の削除を行わない。
【0086】
図7に、削除制限にかかるデータ処理のフローを示す。
図7の処理フローは、カスタマイズデータであるポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義の削除に関する部分のみ示している。「全データ削除(データ初期化)」の指示により、カスタマイズデータであるポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義の他の、例えばポイントデータ等も削除される(図中不示)。
【0087】
削除制限にかかるデータ処理は、以下の手順にて実行される。最初に制御部10は、作業者により入力された、ポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義のうち、最初の対象を決定する(ステップS71)。次に、制御部10は、ポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義のうち対象となるもののパッケージIDを得る(ステップS72)。例えば、
図4のポイント種別定義におけるパッケージIDとして、「JSMC Dispense」という文字列を得る。
【0088】
次に、制御部10は、ステップS72で取得したパッケージIDを有するカスタマイズデータにかかるパッケージの、削除制限の設定を得る(ステップS73)。例えば、
図3におけるカスタマイズデータにかかるパッケージのパッケージIDは、「JSMC Dispense」であり、
図4のポイント種別定義におけるパッケージIDと一致する。したがって、制御部10は、
図3におけるカスタマイズデータにかかるパッケージの削除制限の設定、「制限有り」を得る。
【0089】
次に、制御部10は、削除制限の設定が「制限有り」であるかの判断を行う(ステップS74)。制御部10は、削除制限の設定が「制限有り」である場合、ポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義のうち、対象であるデータの削除を行わない(ステップS74のYES)。制御部10は、削除制限の設定が「制限有り」でない場合、ポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義のうち、対象であるデータの削除を行う(ステップS75)。
【0090】
ポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義の全ての対象について、ステップS72~S75が繰り返し実行される(ステップS76)。ポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義の全てについて上記ステップが実行された後、プログラムは終了する。
【0091】
パッケージデータの削除は、ログイン状態で作業者の操作により「パッケージ削除(アカウントの削除)」の指示が入力された場合に行われる。ログイン状態で作業者の操作により「パッケージ削除(アカウントの削除)」の指示が入力された場合、削除制限が「制限有り」に設定されていても、これに優先しアカウントを含め、属するカスタマイズデータ全てが削除される。
【0092】
[3-2.効果]
(1)本実施形態によれば、パッケージデータは、カスタマイズデータの削除を禁止することを示す削除制限コードを含むので、カスタマイズデータの削除が禁止され、カスタマイズデータが欠落することを防止することができる。これにより、ロボット1によるエラーの発生を防ぐことができ、ロボット1による作業を、滞りなく推進することができる。また、不用意にカスタマイズデータが削除されることを防止することができ、膨大なデータ量のカスタマイズデータを改めて入力する労力が、不要とされる。
【0093】
[第4実施形態]
[4-1.構成および作用]
本実施形態のロボット1の作用を、
図8~9に基づき説明する。第4実施形態のロボット1は、第1実施形態~第3実施形態のロボット1に加え、パッケージデータは、パッケージデータの転送を禁止することを示す複写制限コードを含み、複写制限コードに基づきパッケージデータの転送の可否を判断することを特徴とする。また、予め記憶された識別コードと一致する識別コードが入力された場合、ロボット1は、パッケージデータの転送を行うことを特徴とする。第4実施形態のロボット1の構成は、第1実施形態のロボット1の構成と同じである。
【0094】
図8に、ロボット1の販売時におけるカスタマイズデータの複写の過程を示す。調整されたカスタマイズデータは、作業固有のノウハウを含む。パッケージデータにかかるカスタマイズデータは知的財産である。
【0095】
図8に示すように、販売業者であるB社は、製造会社であるA社からロボット1aを購入する。B社は、A社から購入したロボット1aのカスタマイズデータを更新し、ロボット1bとしてエンドユーザーCに販売する。ロボット1bのカスタマイズデータは更新されており、B社からエンドユーザーCへの販売価格は、高価になる。
【0096】
一方、販売業者であるD社は、製造会社であるA社からロボット1aを購入する。D社は、A社から購入したロボット1aのカスタマイズデータを更新せず、ロボット1dとしてエンドユーザーCに販売する。ロボット1dのカスタマイズデータは更新されておらず、D社からエンドユーザーCへの販売価格は、安価になる。
【0097】
エンドユーザーCは、B社およびD社から、それぞれロボット1b、1dを購入する。D社から購入したロボット1dはカスタマイズデータを有しておらず、エンドユーザーCは、B社から購入したロボット1bのカスタマイズデータをD社から購入したロボット1dに複製しようとする。しかしながら、このようなカスタマイズデータの無断複製は、好ましいとは言えない。
【0098】
エンドユーザーCが、カスタマイズデータにかかるパッケージデータ内容をロボット1bからパーソナルコンピュータPCに転送して、これをロボット1dに転送できてしまう場合、エンドユーザーCはB社から高価でロボット1bを購入することを控えるようになり望ましくない。
【0099】
これを防止することを目的として、パッケージデータは、パッケージデータの転送を禁止することを示す複写制限コードを含み、複写制限コードに基づきパッケージデータの転送の可否が判断される。パーソナルコンピュータPCまたはロボット1dは、転送するパッケージデータとロボット1d所有者データが一致しない場合であって、複写制限コードが制限有りを示す場合、カスタマイズデータの更新を禁止する。これによりパッケージデータの無許諾の複製が禁止される。
【0100】
本実施形態では、ロボット1bからパーソナルコンピュータPCに転送されたパッケージデータの、パーソナルコンピュータPCからロボット1dへの無許諾の複製が禁止される。
図3に示すようにパッケージデータは、パッケージIDおよび暗証番号が設定されている。パッケージIDおよび暗証番号に基づき、受信側のロボット1によりパッケージデータの転送可否、複製可否が判断される。
【0101】
転送、複製の権限を持っている作業者によりパーソナルコンピュータPCにパッケージデータのパッケージIDと暗証番号が入力された場合、受信側のロボット1は、パッケージデータの転送可、複製可であると判断され、ロボット1のパッケージデータは更新される。これにより、ロボット1において、パッケージデータの新規の作成、または許諾の有るパッケージデータの更新が行われる。販売業者や設備業者によりパッケージデータが作成され販売される場合、無断複製が防止されるとともに、作業者による簡便な作業で、パッケージデータの転送、複製が実現される。
【0102】
図9に、パッケージデータの転送にかかるデータ処理のフローを示す。
図9に示すフローにかかるプログラムは、パーソナルコンピュータPCに内蔵される。
図9に示すフローに相当するプログラムが、ロボット1のロボット制御プログラム記憶部2に内蔵されるようにしてもよい。
【0103】
最初にパーソナルコンピュータPCは、作業者によりログインされたか判断する(ステップS91)。作業者によるパッケージデータへのログインは、パッケージデータが選択され、パッケージデータに設定されている暗証番号が入力されることにより行われる。
【0104】
パーソナルコンピュータPCは、ログインされたと判断した場合(ステップS91のYES)、パッケージデータの転送を行う(ステップS97)。ログインされたと判断しない場合(ステップS91のNO)、複写制限があるかの判断を行う(ステップS92)。複写制限があるかの判断は、パッケージデータの複写制限の設定に基づき行われる。
【0105】
パッケージデータの複写制限の設定が、「制限無し」であると判断された場合(ステップS92のNO)、パーソナルコンピュータPCは、パッケージデータの転送を行う(ステップS97)。パッケージデータの複写制限の設定が、「制限有り」であると判断された場合(ステップS92のYES)、パーソナルコンピュータPCは、パッケージIDとともに、暗証番号を問い合わせるコマンドをロボット1に送信する(ステップS93)。
【0106】
ロボット1は、パーソナルコンピュータPCから送信されたパッケージIDに基づきパッケージデータを検索し、一致するパッケージIDを有するパッケージデータが検出された場合、そのパッケージデータの暗証番号を返信電文にて送信する。一致するパッケージIDを有するパッケージデータが検出されない場合、ロボット1は、一致するパッケージデータが不存在であることを示す返信電文を送信する。
【0107】
次に、パーソナルコンピュータPCは、ロボットから返信電文を受信し(ステップS94)、暗証番号が一致するかの判断を行う(ステップS95)。パッケージデータが不存在であることを示す返信電文を受信した場合、暗証番号が一致しないと判断される。暗証番号が一致すると判断された場合(ステップS95のYES)、パーソナルコンピュータPCは、パッケージデータの転送を行う(ステップS97)。暗証番号が一致すると判断されない場合(ステップS95のNO)、パーソナルコンピュータPCは、転送不可であることを表示する(ステップS96)。その後、プログラムは終了する。
【0108】
これにより、複写制限コードが制限有りを示す場合、パッケージデータの無許諾の転送、複製が禁止される。また、複写制限コードが制限無しを示す場合、パッケージデータは、パッケージID、暗証番号が入力されることなく転送、複製される。作業者は、パッケージID、暗証番号を入力する等の煩雑な操作を行うことなくパッケージデータの転送、複製を行うことができる。
【0109】
上記実施形態では、パッケージデータにかかる暗証番号をロボット1が有するかに基づき、パッケージデータの転送、複製を許諾するかの判断が行われるものとした。しかしながら、パッケージデータの転送、複製を許諾するかの判断は、上記に限られない。パッケージデータの複写制限の項目に暗証番号を予め設定し、パーソナルコンピュータは、ロボット1に設定記憶された暗証番号リストをロボット1に送信させ、一致するものがあった場合、パッケージデータの転送、複製を許諾するようにしてもよい。
【0110】
また、例えばシリアル番号、個体識別ID、MACアドレス、イーサネットアドレス等のロボット1の個体を識別することができる符号をパッケージデータに設定し、パーソナルコンピュータは、これらの符号が一致するロボット1に対してのみ、パッケージデータを転送するようにしてもよい。これにより、パッケージデータは、他のロボット1の個体に複製されることが制限される。
【0111】
また、複数のパッケージデータを1つのグループとして、グループごとにパッケージID、暗証番号が設定されるようにしてもよい。これにより、複数のパッケージデータが一括して転送、複製される。例えば「塗布パッケージ」、「カメラワーク位置補正パッケージ」を一つのグループとして、このグループに対しパッケージID、暗証番号が設定されるようにしてもよい。
【0112】
[4-2.効果]
(1)本実施形態によれば、パッケージデータは、パッケージデータの転送を禁止することを示す複写制限コードを含み、複写制限コードに基づきパッケージデータの転送の可否が判断されるので、パッケージデータの無許諾の転送、複製が禁止される。
【0113】
[第5実施形態]
[5-1.構成および作用]
本実施形態のロボット1の作用を、
図10~14に基づき説明する。第5実施形態のロボット1は、第1実施形態~第4実施形態のロボット1に加え、パッケージデータは、パッケージデータごとに表示キャプションを有し、表示キャプションを先頭とする開閉する折りたたみメニューにより、パッケージデータごとに表示キャプションとして設定された、コントロールデータの設定変数、作業命令列とポイント種別名とが対応付けられたポイント種別定義、またはポイント種別のアイコンリストを表示することを特徴とする。第5実施形態のロボット1の構成は、第1実施形態のロボット1の構成と同じである。
【0114】
パッケージデータは膨大な数の設定変数を有する。このため、カテゴリに分類されずにパッケージデータが一覧表示された場合、表示は作業者にとって把握しにくいものとなる。本実施形態では、パッケージデータに設定されたデータに基づき、パッケージデータをカテゴリごとに区分して表示する。表示は開閉折りたたみメニューにより構成され、不要なカテゴリは非表示とされるので、表示量が削減され、作業者にとって見やすいものとなる。
【0115】
パッケージデータは、例えば「塗布仕様」、「塗布条件」、「位置補正」等のパッケージキャプションにかかる名称をパッケージデータ毎に有する。パッケージデータは、パッケージキャプションにかかる名称により区分され、表示部3に表示される。表示部3におけるペンダントに例えば「塗布仕様」、「塗布条件」、「位置補正」等のパッケージキャプションにかかる名称が、選択枝として表示される。パッケージキャプションにかかる名称を先頭にした開閉折りたたみメニューによりパッケージデータが表示されるようにしてもよい。また、パッケージキャプションにかかる名称により区分されたパッケージデータが、パーソナルコンピュータPCに表示されるようにしてもよい。
【0116】
また、ポイント種別定義に含まれる
図4に示すアイコンに基づき区分され、パッケージデータ毎にグループ分けして表示されるようにしてもよい。このアイコンの表示に基づき、作業者により、ポイント種別データの選択、登録が行われる。
【0117】
図10に、階層的な設定変数リスト表示の例を示す。項目の先頭に「▽」が付されているものは、メニューが開いている状態の項目で、含まれる各項目がその下に示されている。一方、項目の先頭に「>」が付されているものは、メニューが閉じている状態の項目で、含まれる項目は表示されない。「>」を開いて「▽」にすることにより、含まれる項目が表示される。
【0118】
図3に示されたパッケージデータでは、システム設定変数、プログラム設定変数、条件設定変数のキャプションはそれぞれ1つだけ設定記憶されるものとした。しかしながら例えば、システム設定変数キャプションに、複数のサブIDや、サブキャプションが設定記憶されるようにしてもよい。これにより、システム設定変数に基づくカテゴリごとに区分され、パッケージデータは、階層的な開閉リストによりリスト表示される。
【0119】
図11に、多段的な設定変数リスト表示の例を示す。項目の先頭に「▽」が付されているものは、メニューが開いている状態の項目で、含まれる各項目がその下に示されている。一方、項目の先頭に「>」が付されているものは、メニューが閉じている状態の項目で、含まれる項目は表示されない。「>」を開いて「▽」にすることにより、含まれる項目が表示される。
【0120】
多段的な設定変数リスト表示は、サブパッケージにかかるデータに基づき作成される。
図12に、サブパッケージの例を示す。サブパッケージは、設定データとして、中間的な段階のキャプションデータを有する。中間的な段階のキャプションデータにより、上位のデータと下位のデータが関連付けされる。
【0121】
サブパッケージは、サブパッケージIDを有する。例えば条件設定変数定義は、パッケージIDに代替し、サブパッケージIDに基づき指定された、例えば条件設定変数定義にかかるカスタマイズデータの選択が行われる。サブパッケージには、その上位のパッケージデータである親パッケージIDが設定され、これによりパッケージデータとサブパッケージが関連付けされる。
【0122】
ポイント種別にかかるリスト表示も、パッケージごとに表示キャプションを有し、表示キャプションを先頭とする開閉折りたたみメニューにより構成される。
図13に、ポイント種別定義のリスト表示例を示す。項目の先頭に「▽」が付されているものは、メニューが開いている状態の項目で、含まれる各項目がその下に示されている。一方、項目の先頭に「>」が付されているものは、メニューが閉じている状態の項目で、含まれる項目は表示されない。「>」を開いて「▽」にすることにより、含まれる項目が表示される。
【0123】
パッケージ化されたカスタマイズデータのポイント種別定義のアイコンリスト表示は、パッケージデータごとにグループ化されたアイコンにより構成される。
図14に、ポイント種別定義のアイコンリスト表示の例を示す。
図14に示す表示例において、アイコンは3つのグループに区分されている。表示例における上段に「塗布」のポイント種別定義のカスタマイズデータにかかるアイコンが、中断に撮影に関するカスタマイズデータにかかるアイコン(カメラ撮り点、マルチカメラ撮り、ダブルカメラ撮り1、ダブルカメラ撮り2)が、下段に汎用作業のポイント種別定義のカスタマイズデータにかかるアイコンが、配列される。表示されたアイコンに基づき、作業者により、ポイント種別データの選択、登録が行われる。
【0124】
[5-2.効果]
(1)本実施形態によれば、パッケージデータは、パッケージデータごとに表示キャプションを有し、表示キャプションを先頭とする開閉する折りたたみメニューにより、パッケージデータごとに表示キャプションとして設定された、カスタマイズデータの設定変数、作業命令列とポイント種別名とが対応付けられたポイント種別定義、またはポイント種別のアイコンリストを表示するので、表示に基づき、作業者により、容易にデータの選択、登録が行われる。
【0125】
[第6実施形態]
[6-1.構成および作用]
本実施形態のロボット1の作用を、
図15~18に基づき説明する。第6実施形態のロボット1は、第1実施形態~第5実施形態のロボット1に加え、パッケージデータは、イベントが発生した時の作業の定義であるイベント作業定義を含み、制御部10は、イベントが発生した時に、イベント作業定義に基づきユニット200を制御することを特徴とする。第6実施形態のロボット1の構成は、第1実施形態のロボット1の構成と同じである。
【0126】
イベントに関する作業として、ロボット1の一般的な作業、ロボット1の用途仕様特有の作業の2種類がある。一般的な作業、用途仕様特有の作業のそれぞれに対応したイベント作業定義がパッケージデータに含まれ、パッケージデータ記憶部66に記憶される。
【0127】
非常時における一般的な作業、用途仕様特有の作業のそれぞれに対応したイベント作業定義が、作業者により誤って削除されることは望ましくない。また、一般的な作業、用途仕様特有の作業のそれぞれに対応したイベント作業定義は、特殊なノウハウを含む場合があり、無許諾で転送、複製されることは望ましくない。
【0128】
本実施形態は、パッケージごとにイベント発生時の作業が定義されたイベント作業定義を有することを特徴とする。一つのパッケージに、イベント作業定義が含まれるようにしてもよい。制御部10は、イベントが発生した時に、イベント作業定義に基づきユニット200を制御する。イベント作業定義が含まれるパッケージデータは、カスタマイズデータの削除を禁止することを示す削除制限コード、パッケージデータの転送を禁止することを示す複写制限コードを含み、削除制限コード、複写制限コードに基づきパッケージデータの転送、複製を行うことが制限される。
【0129】
パッケージ記憶部66は、ポイント種別定義、システムデータ定義、プログラムデータ定義、独立データ組定義に加え、パッケージごとのイベント発生時作業にかかるイベント作業定義を記憶する。
【0130】
図15に、イベント作業定義を備えたパッケージデータの一例を示す。パッケージデータは、パッケージID、暗証番号を有する。暗証番号は所有者固有の番号である。パッケージデータを使用するためには、暗証番号を用いてログインすることが必要とされる。
【0131】
パッケージデータ内に、非常停止時作業、運転開始時作業にかかるイベント作業定義を有する。イベント作業定義が含まれるパッケージデータは、カスタマイズデータの削除を禁止することを示す削除制限コード、パッケージデータの転送を禁止することを示す複写制限コードを含む。削除制限コード、複写制限コードに基づきパッケージデータの転送、複製を行うことが制限される。パッケージデータは、その他の保護コードを含むようにしてもよい。パッケージは、保護コードにより変更、参照等による使用が制限される。
【0132】
パッケージデータ内に設定されたイベント作業定義にかかる作業は、該当するイベントが発生した場合に、制御部10に制御されロボット1により実行される。例えば、非常停止が発生した場合、イベント作業定義にかかる「非常停止時作業」が実行される。パッケージデータが複数存在する場合、それぞれに設定されたイベント作業定義にかかる作業が、順次実行される。
【0133】
一定の作業順が必要とされる作業は、イベント順序定義に基づき実行される。パッケージデータは、イベントが発生した時の作業の実行順序を示すイベント順序定義を含み、制御部10は、イベントが発生した時に、イベント順序定義に基づきユニット200を制御する。
図16に、「非常停止時作業」、「運転開始時作業」に関するイベント順序定義の一例を示す。
【0134】
非常停止により、ロボット1全体を停止させる場合、作業順の必要性は低い。しかしながら、メカ初期化後作業など、装置の初期化を行う場合等、一定の作業順が必要とされる。複数の装置のそれぞれが、個別のパッケージデータを有し、それぞれのパッケージデータに含まれた「非常停止時作業」、「運転開始時作業」等のイベント作業定義にかかるメカ初期化後作業が実行される場合、作業順は重要である。
【0135】
誤った作業順により作業が行われた場合、例えば、他の装置が障害物となり作業が成功しない場合がある。また例えば、駆動系の初期化において、XY軸の初期化を行った後にZ軸の初期化を行いたい場合、Z軸の初期化を行った後にXY軸の初期化を行いたい場合もある。イベントが発生した時に、制御部10は、イベント順序定義に基づきイベント作業を行う。
【0136】
イベント順序定義は、パッケージデータにかかるパッケージIDが作業順に列挙されたデータであり、イベントごとにイベント順序定義が作成され、パッケージデータ記憶部66に記憶される。
図16に示すイベント順序定義によれば、非常停止時作業実行時に、最初にパッケージID「JSMC Dispense」を有するパッケージデータにかかるイベント作業が実行され、順にパッケージID「Camera Adjustment」を有するパッケージデータにかかるイベント作業、パッケージID「Diagnosis」を有するパッケージデータにかかるイベント作業が実行される。
【0137】
イベント順序定義は、「非常停止時作業」、「運転開始時作業」、「電源投入時作業」、「メカ初期化後作業」、「エラー発生時作業」、「運転モード開始時作業」、「運転終了時作業」等のイベントごとに作成される。イベント順序定義は、実行順を変更されることができる。
【0138】
また、外部から指令を与えることにより、ロボット1に所定の作業を行わせたい場合もある。例えば塗布用途において、運転待ち時に塗布剤の硬化を防ぐ為に捨て打ちを行う動作、塗布ノズルを交換した後にノズル位置を測定し、運転動作の位置を補正する動作等の、用途仕様特有の作業をロボット1に行わせたい場合もある。このような作業をロボット1に実行させる場合、プログラムを切替えてロボット1の運転を行うことも考えられる。
【0139】
しかしながら、メインプログラムの変更を行うことは煩雑であり好ましくない。本実施形態では、外部からの指令により所定のプログラムが起動される。予め外部から受ける指令と、指令に対応したイベント作業にかかる外部イベント作業定義がパッケージデータに含まれ、パッケージデータ記憶部66に記憶される。
【0140】
図17に、外部イベント作業定義を備えたパッケージデータの一例を示す。パッケージデータは、外部イベントが発生した時の作業を示す外部イベント作業定義と、外部イベント作業定義が起動される条件を示す外部イベント発生条件とを含む。外部イベント発生条件により、「sysIn1」なる信号が「ON」とされることによりパッケージデータに含まれた外部イベント作業定義にかかる作業が、制御部10により実行される。
【0141】
パッケージデータに含まれる外部イベント発生モードは、発生条件が継続している間、繰り返しプログラムが実行される、レベル検出であるか、発生条件が発生したタイミングで1回プログラムが実行されるエッジトリガーであるかの区別を示す。
図17における外部イベント発生モードは、「立ち上がりエッジ」であるので「sysIn1」なる信号が「OFF」から「ON」となるタイミングで1回、パッケージデータに含まれた外部イベント作業定義にかかるプログラム「外部イベント発生時作業」が実行される。
【0142】
パッケージデータは、継承元のパッケージデータを指定して、オブジェクト指向にかかる継承により作成される。パッケージデータに含まれるイベント作業定義は、オブジェクト指向により継承され、イベント作業定義が再定義されない場合、継承元のパッケージデータに含まれるイベント作業定義が維持される。イベント作業定義が再定義された場合、イベント作業定義は、上書きにより更新される。
【0143】
制御部10は、イベント作業定義が再定義されない場合、継承元のパッケージデータに含まれるイベント作業定義に基づきユニット200を制御し、イベント作業定義が再定義された場合、上書きにより更新されたイベント作業定義に基づきユニット200を制御する。
【0144】
既に存在しているパッケージの一部だけを変更したい場合、更新前のパッケージデータに基づきパッケージデータの変更が行われる。パッケージデータには、更新前のパッケージデータのアドレスである「継承元パッケージID」が含まれる。例えば、「非常停止時作業」にかかるプログラムの一部変更を行う場合、「継承元パッケージID」により示されたアドレス「JSMC Dispense」にかかる更新前のパッケージデータに基づき、パッケージデータの変更が行われる。更新前のパッケージデータがない場合、「継承元パッケージID」は、継承元無を示す「NULL」が設定される。
【0145】
図18に、「継承元パッケージID」を含むパッケージデータの一例を示す。パッケージデータは、パッケージID、暗証番号に加え、継承元パッケージIDを有する。継承元パッケージIDにより設定されたアドレスは、別に作成されたパッケージデータを指し示す。
【0146】
「継承元パッケージID」にかかるアドレスにより、更新前のパッケージデータに基づき変更が行われるため、更新されたパッケージの外部仕様は、更新前のパッケージデータと同一となる。その後、例えば「非常停止時作業」が再定義されても、継承元パッケージIDにかかる「非常停止時作業」は実行されなくなり、再定義され更新された非常停止時作業にかかるプログラムが実行される。
【0147】
一例として、
図18に示す「非常停止時作業」にかかるプログラムは、再定義されたものである。再定義されない場合、「継承元パッケージID」にかかる更新前のパッケージデータの非常停止作業が実行される。
【0148】
また、再定義された作業において、特別な命令である「callBase」により「継承元パッケージID」にかかる更新前のパッケージデータの非常停止作業が実行される。「callBase」命令を使用することにより、条件により「継承元パッケージID」にかかる更新前のパッケージデータの作業の実行、不実行、切り替え、前後に別の命令を実行する等の命令を、フレキシブルに行うことができる。
【0149】
[6-2.効果]
(1)本実施形態によれば、パッケージデータは、イベントが発生した時の作業の定義であるイベント作業定義を含み、制御部10は、イベントが発生した時に、イベント作業定義に基づきユニット200を制御する。作業者は、イベント作業定義によりイベントにかかるプログラムを一括して更新することができる。これにより、作業者によりイベントごとに個別にプログラムが作成された場合に発生する、ユニット200の制御にかかるプログラムの不一致または不存在を防止することができ、ロボット1による作業を、滞りなく推進することができる。
【0150】
(2)本実施形態によれば、パッケージデータは、イベントが発生した時の作業の実行順序を示すイベント順序定義を含み、制御部10は、イベントが発生した時に、イベント順序定義に基づきユニット200を制御するので、イベント作業定義が変更された場合であっても、イベント順序定義の実行順序に基づき、作業が実行される。したがって、作業者は、イベント作業定義が変更された場合であっても、イベント順序定義の変更を行うことを必要とされない。これにより作業者の労力を軽減することができる。また、イベント順序定義の変更を行う際に発生する、作業者による人為的なエラーを軽減することができる。
【0151】
(3)本実施形態によれば、パッケージデータは、継承元のパッケージデータを指定して、オブジェクト指向にかかる継承により作成されるので、作業者はパッケージデータにおける、必要な部分のみを変更することにより、容易にパッケージデータの更新を行うことができる。
【0152】
(4)本実施形態によれば、パッケージデータは、継承元のパッケージデータを指定して、オブジェクト指向にかかる継承により作成され、パッケージデータに含まれるイベント発生時作業は、オブジェクト指向により継承されるので、イベント発生時作業における必要な部分のみ上書き(オーバーライド)することにより、容易にイベント発生時作業の更新を行うことができる。
【0153】
[7.他の実施形態]
変形例を含めた実施形態を説明したが、これらの実施形態は例として提示したものであって、発明の範囲を限定することを意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略や置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0154】
1・・・ロボット
2・・・ロボット制御プログラム記憶部
3・・・表示部
4・・・操作部
5・・・一時記憶部
6・・・コントロールデータ記憶部
7・・・信号入出力部
8・・・外部通信部
9・・・モータ駆動制御部
10・・・制御部
21・・・モータ
61・・・カスタマイズデータ記憶部
62・・・ポイント列記憶部
63・・・システムデータ記憶部
64・・・プログラムデータ記憶部
65・・・独立データ組記憶部
66・・・パッケージデータ記憶部
100・・・コントローラ
200・・・ユニット
201・・・Xスライダー
202・・・Yスライダー
203・・・Zスライダー