(57)【要約】【課題】ロボットの機種によらずにロボットコントローラに対して同一機種や異なる機種の対象ロボット（ロボット本体や付属品）を交換して接続することが容易であり、かつ、対象ロボットに保持するデータを最小限のものとするロボットシステムを提供する。【解決手段】同一機種の対象ロボットに共通の機種構成情報を機種ごとに格納するホスト装置を設け、対象ロボットには、その対象ロボットの機種を示す情報とその対象ロボットを識別する個体識別データとその対象ロボットに固有の個体差パラメータとを含む装置固有データを格納する第１記憶部を設ける。ロボットコントローラは、機種を示す情報を照合することによって他機種のロボットコントローラとの交換があったかを検出し、交換があった場合には、対応する機種の機種構成情報をホスト装置から読込む。【選択図】図１
2019107727.tif 000002
【特許請求の範囲】
【請求項１】
ロボットコントローラと、前記ロボットコントローラによる制御の対象である対象ロボットと、を有するロボットシステムであって、
同一機種の対象ロボットに共通の機種構成情報を機種ごとに格納するホスト装置をさらに備え、
前記対象ロボットは、当該対象ロボットの機種を示す情報と当該対象ロボットを識別する個体識別データと当該対象ロボットに固有の個体差パラメータとを含む装置固有データを格納する第１記憶部を備え、
前記ロボットコントローラは、当該ロボットコントローラに接続する対象ロボットに関する前記機種を示す情報と前記機種構成情報と前記個体識別データと前記個体差パラメータと格納する第２記憶部と、前記第２記憶部に格納された前記機種構成情報と前記個体差パラメータとに基づいて前記対象ロボットを制御する制御部と、を備え、
前記制御部は、前記第１記憶部から読込んだ前記機種を示す情報と前記第２記憶部に格納された前記機種を示す情報とを照合し、一致しない場合に前記第１記憶部から読込んだ前記機種を示す情報に対応する機種の前記機種構成情報を前記ホスト装置から読込んで前記第２記憶部に格納する、ロボットシステム。
【請求項２】
前記制御部は、コマンド実行によって、指定された機種の前記機種構成情報を前記ホスト装置から読込んで前記第２記憶部に格納する、請求項１に記載のロボットシステム。
【請求項３】
前記制御部は、前記第１記憶部から読込んだ前記個体識別データと前記第２記憶部に格納された個体識別データとを照合し、照合結果に応じて前記第１記憶部に格納されている前記個体差パラメータによって前記第２記憶部に格納されている前記個体差パラメータを更新する、請求項１または２に記載のロボットシステム。
【請求項４】
前記対象ロボットは、マニピュレータであるロボット本体と付属品とを含み、前記ロボット本体と前記付属品との各々が前記第１記憶部を備え、
前記制御部は、前記付属品についてのみ前記第１記憶部から読込んだ前記個体識別データと前記第２記憶部に格納されている前記個体識別データとが異なるときに、前記付属品が交換されたと判断して前記第２記憶部において前記付属品についての前記個体差データのみを更新する、請求項３に記載のロボットシステム。
【請求項５】
前記装置固有データは、前記対象ロボットの構成に関する情報を含み、前記制御部は、前記構成に関する情報が、前記第２記憶部に格納された前記機種を示す情報によって示される機種の前記対象ロボットの構成に適合しない場合には、前記ロボットシステムを起動不可とする、請求項１乃至４のいずれか１項に記載のロボットシステム。
【請求項６】
前記個体差パラメータは、原点位置に対するオフセット値である、請求項１乃至５のいずれか１項に記載のロボットシステム。
【請求項７】
前記対象ロボットは、軸ごとに設けられたモータと、前記モータの回転位置を検出するエンコーダとを備え、前記第１記憶部は前記エンコーダに設けられる、請求項１乃至６のいずれか１項に記載のロボットシステム。
【請求項８】
前記制御部は、前記装置固有データに基づいて前記対象ロボットにおける前記モータの交換を検出し、前記モータの交換を検出したときに前記ロボットシステムを起動不可とする、請求項７に記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの本体であるマニピュレータとこのマニピュレータを制御するロボットコントローラとを備えるロボットシステムに関する。
【背景技術】
【０００２】
ロボットシステムは、一般に、相互に連結されたアームやハンドとそれらの連結部を駆動するモータとからなるマニピュレータすなわちロボット本体と、マニピュレータを制御するロボットコントローラとから構成されている。マニピュレータ内の各モータの回転をロボットコントローラによって制御するために、モータにはその回転位置を検出するエンコーダが取り付けられており、エンコーダで取得した回転位置情報はロボットコントローラに随時送信される。場合によっては、ロボットシステムには、マニピュレータによる処理の対象となるワークの姿勢を変更するアライナーなどの付属品が設けられることがある。付属品もロボットコントローラによる制御の対象となる。
【０００３】
ロボット本体であるマニピュレータでは、その機種ごとに、アームやハンドの数や寸法、それらの接続関係、搭載されるモータの仕様などによって異なっている。これらのロボットの構成情報は、一般にロボットコントローラに予め記憶されることとなっており、そのため、ロボットの機種ごとにロボットコントローラが用意されることになる。ロボットコントローラは、それが対象とする機種以外の機種のロボットをそのままでは制御できない。ある機種用のロボットコントローラを用いて他の機種のロボットを制御仕様とする場合には、作業者によってロボットの機種を確認し、確認されたロボットの機種に適合したロボット構成情報にロボットコントローラ内の情報を入れ換える作業が必要である。さらに同一機種のロボットであってもマニピュレータごとにどうしても個体差があり、ロボットコントローラによって制御するときは個体差に応じた制御を行なう必要がある。個体差の例として、原点位置に対するオフセット値がある。マニピュレータにはその動作の基準となる姿勢である原点位置が定められているが、原点位置となるときにモータごとのエンコーダが示す回転位置データは、モータやエンコーダの取り付け上のばらつきなどにより、マニピュレータの個体ごとに異なる値となってしまう。モータを有する付属品についても同様である。そこでロボットの組み立て完了時などに個体差を実測し、その後、ロボットコントローラの記憶部に格納される。このため、同じ機種のマニピュレータを対象とするロボットコントローラであっても、同一機種のマニピュレータを交換して接続する場合には精度の高い制御を行なうことができなくなる。
【０００４】
ロボットコントローラに接続されるロボット本体を交換することを可能にする試みとして、特許文献１は、ロボット本体内の内蔵ボードを取り替えたときであってもロボットコントローラによって制御可能なロボットシステムが開示している。特許文献２は、ロボット機構部あるいは機構ユニットの交換後に諸データ変更の作業を自動化するために、交換を検出したらロボット機構部あるいは機構ユニットから読込んだデータによってロボットコントローラ内のデータを書き換えることを開示している。ロボット機構部あるいは機構ユニットから読込まれるデータには、アーム長などのロボットの軸構成に関するデータも含まれている。特許文献３は、ロボットに設けられるセンサー類に関する情報に関し、ロボット本体の交換後にロボット本体からロボットコントローラに読込むことを開示している。特許文献４は、これまで使用していたロボットコントローラから新たなロボットコントローラへのロボット動作用データの移行を適切かつ簡便に行うために、交換用のメモリを使用することを開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−２４２９２２号公報
【特許文献２】特開２００４−１４８４３３号公報
【特許文献３】特開２０１６−１３７５２６号公報
【特許文献４】特開２０１３−５６３７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ロボットコントローラを同一機種のロボットの間で交換して使用できることに加え、ロボットコントローラを異なる機種のロボットの間でも交換して使用できることが望まれている。ロボットコントローラに接続されるロボット本体の変更を可能にする特許文献１〜４に開示される技術は、ロボットの構成情報をロボットコントローラに読込ませるときの柔軟さに欠け、また、ロボットコントローラを同一の機種のロボットの間で変更することについても必ずしも最適化された技術であるとは言えない。特許文献４に示す技術では、ロボットコントローラの変更の際に結局は個体差に関するパラメータをバックアップする必要があり、手順として煩雑なものとなる。
【０００７】
本発明の目的は、ロボットの機種によらずにロボットコントローラに対して同一機種や異なる機種のロボット本体や付属品を交換して接続することが容易であり、かつ、ロボット本体や付属品側に保持するデータを最小限のものとするロボットシステムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明のロボットシステムは、ロボットコントローラと、ロボットコントローラによる制御の対象である対象ロボットと、を有するロボットシステムであって、同一機種の対象ロボットに共通の機種構成情報を機種ごとに格納するホスト装置をさらに備え、対象ロボットは、その対象ロボットの機種を示す情報とその対象ロボットを識別する個体識別データとその対象ロボットに固有の個体差パラメータとを含む装置固有データを格納する第１記憶部を備え、ロボットコントローラは、そのロボットコントローラに接続する対象ロボットに関する機種を示す情報と機種構成情報と個体識別データと個体差パラメータとを格納する第２記憶部と、第２記憶部に格納された機種構成情報と個体差パラメータとに基づいて対象ロボットを制御する制御部と、を備え、制御部は、第１記憶部から読込んだ機種を示す情報と第２記憶部に格納された機種を示す情報とを照合し、一致しない場合に第１記憶部から読込んだ機種を示す情報に対応する機種の機種構成情報をホスト装置から読込んで第２記憶部に格納する。
【０００９】
このような本発明によれば、機種を示す情報の照合の結果、異なる機種のロボットコントローラが接続された場合に、ホスト装置からその機種の機種構成情報をロボットコントローラに読込んでその機種構成情報を用いてロボットコントローラが制御を行なうので、異なる機種のロボットコントローラを用いても対象ロボットを適切に制御できるようになる。また、各機種の機種構成情報をホスト装置にまとめて格納するので、機種構成情報の管理が容易になる。また、ネットワークを介してロボットコントローラがホスト装置に接続する構成とすれば、工場内などで機種に依存せずにロボットコントローラを必要に応じて迅速に交換することが可能になる。
【００１０】
本発明のロボットシステムでは、制御部が、コマンド実行によって、指定された機種の機種構成情報をホスト装置から読込んで第２記憶部に格納するようにすることが好ましい。この構成によれば、対象ロボット側とロボットコントローラ側とで機種を示す情報が一致しない場合を受けてのコマンド実行となるので、必要時にのみ機種構成情報をロボットコントローラに読込ませることが可能になる。コマンド実行は、自動的に行なってもよいし、操作者による入力によって行なわれてもよい。操作者が手動でコマンド実行を行なえるようにすれば、例えば、機種は同じであっても機種構成情報のアップデートが行われた場合に、ロボットコントローラは最新の機種構成情報を利用できるようになる。
【００１１】
本発明のロボットシステムでは、制御部が、第１記憶部から読込んだ個体識別データと第２記憶部に格納された個体識別データとを照合し、照合結果に応じて第１記憶部に格納されている個体差パラメータによって第２記憶部に格納されている個体差パラメータを更新するようにすることが好ましい。この構成では、対象ロボットに接続されるロボットコントローラを同じ機種用のロボットコントローラに交換した場合において、ロボットコントローラは、対象ロボットに格納されている個体差パラメータに基づいて対象ロボットの制御を行うことができるようになり、対象ロボットに適した制御を実現できる。
【００１２】
本発明のロボットシステムでは、対象ロボットは、マニピュレータであるロボット本体と付属品とを含んでいてよく、その場合、ロボット本体と付属品との各々が第１記憶部を備え、制御部は、付属品についてのみ第１記憶部から読込んだ個体識別データと第２記憶部に格納されている個体識別データとが異なるときに、付属品が交換されたと判断して第２記憶部において付属品についての個体差データのみを更新するようにすればよい。このような構成により、アライナーなどの付属品も備えるロボットシステムにおいて、付属品のみが交換されたときであっても適切な制御を行なえるようになる。
【００１３】
本発明のロボットシステムでは、対象ロボットの構成に関する情報が装置固有データに含まれるようにし、装置固有データにおける構成に関する情報が第２記憶部に格納された機種を示す情報によって示される機種の対象ロボットの構成と適合しない場合には、制御部がロボットシステムを起動不可とするようにすることができる。これにより、構成の不一致、例えば、対象ロボット内でのモータの配線の誤接続などがある場合にロボットシステムが動作することを防止できる。
【００１４】
本発明のロボットシステムでは、個体差パラメータとして、原点位置に対するオフセット値を使用することができる。これにより、ロボットコントローラの交換を行なったときに新たなオフセット調整やオフセット測定を行う必要なく、新しいロボットコントローラで対象ロボットの駆動を行うことができるようになる。
【００１５】
本発明のロボットシステムでは、対象ロボットが、軸ごとに設けられたモータと、モータの回転位置を検出するエンコーダとを備え、第１記憶部がエンコーダに設けられていてもよい。対象ロボットにおいては、オフセット値などの個体差パラメータがモータ交換により変化してしまうが、モータに付属する部品であるエンコーダの記憶部に装置固有データを格納することにより、交換される部品に紐付けられて装置固有データが格納されることになるので、ロボットシステムの管理が容易になる。この場合、制御部は、装置固有データに基づいて対象ロボットにおけるモータの交換を検出し、モータの交換を検出したときにロボットシステムを起動不可とすることが好ましい。モータ交換は対象ロボットにおける新規調整を必要とするので、モータ交換の検出時にシステムの起動を不可とすることによって、調整が不十分なままで対象ロボットが動作することを防ぐことができる。
【発明の効果】
【００１６】
本発明によれば、ロボットの機種によらずにロボットコントローラに対して同一機種や異なる機種のロボット本体や付属品を交換して接続することが容易であり、かつ、ロボット本体や付属品側に保持するデータを最小限のものとするロボットシステムが得られる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の一形態のロボットシステムの構成を示すブロック図である。
【図２】ハードウェア定義情報ＨｗＤｅｆを説明する図である。
【図３】ロボットコントローラへのハードウェア定義情報の読込みを説明する図である。
【図４】エンコーダごとに記憶される装置固有データの形式を示す図である。
【図５】図１に示すロボットシステムの動作を示すフローチャートである。
【図６】図１に示すロボットシステムの動作を示すフローチャートである。
【図７】図１に示すロボットシステムの動作を示す状態遷移図である。
【発明を実施するための形態】
【００１８】
次に本発明の好ましい実施の形態について、図面を参照して説明する。図１は本発明の実施の一形態のロボットシステムを示している。このロボットシステムは、マニピュレータとして構成されたロボット本体１と、ロボット本体１を制御するロボットコントローラ２とを備えている。ロボット本体１とロボットコントローラ２とは接続ケーブル３により取り外し可能に接続されている。接続ケーブル３の一端にはロボット本体１との接続のためのコネクタ３１が取り付けられており、他端にはロボットコントローラ２との接続のためのコネクタ３２が取り付けられている。図１では破線で示しているが、ロボットシステムには、付属品として、ワークの姿勢を変更するアライナー４が設けられていてもよく、その場合、アライナー４もロボットコントローラ２に接続されてロボットコントローラ２によって制御される。アライナー４以外の付属品が設けられていてもよい。ロボットコントローラ２による制御の対象となるものを総称して対象ロボットと呼ぶこととする。ここで示す例で言えば、対象ロボットには、ロボット本体１とアライナー４とが含まれる。
【００１９】
さらに本実施形態のロボットシステムは、ロボットコントローラ２がその制御対象とするロボット本体１を変更できるように、ロボットコントローラ２が接続するホスト装置５を備えている。ここではホスト装置５に対して１つのロボットコントローラ２が接続しているが、ホスト装置５には複数のロボットコントローラ２が接続してよい。特に、ネットワークを介してホスト装置５に対し複数のロボットコントローラ２が接続するように構成することにより、例えば工場内の全てのロボットコントローラ２に関してそのロボットコントローラ２が接続するロボットの機種を任意に変更できるようにすることができる。
【００２０】
ロボット本体１は、複数の駆動軸を有するものであって、駆動軸ごとに、サーボモータであってその駆動軸を駆動するモータ１１と、ロボットコントローラ２からの指令に基づいてモータ１１を駆動制御するドライバ１２と、モータ１１の回転軸に取り付けられてその回転軸の回転位置を検出するエンコーダ１３とを備えている。図示していないが、モータ１１には減速機やプーリーなども付属している。エンコーダ１３には、そのエンコーダの動作パラメータを格納する不揮発性の記憶部１４が設けられている。記憶部１４は、典型的にはＥＥＰＲＯＭ（電気的消去可能・プログラム可能読出し専用メモリ）によって構成される。ロボットシステムにアライナー４が設けられる場合、アライナー４は、１軸のロボットすなわち、モータ１１、ドライバ１２及びエンコーダ１３を１つずつ有するものとして扱われる。アライナーのエンコーダ１３にも不揮発性の記憶部１４が設けられる。
【００２１】
ロボットコントローラ２は、予め定められた軌道でロボット本体１が移動するように、各軸のエンコーダ１３から読み出される回転位置に基づいて各軸のモータ１１に対する指令を生成する制御部２１と、制御部２１での演算に必要なパラメータ類を格納する不揮発性の記憶部２２と、を備えている。記憶部２２に格納されるパラメータには、接続するロボット本体１やアライナー４の制御のためにロボット本体１やアライナー４のハードウェア条件を示す情報が含まれる。以下の説明において、ロボットごとにハードウェア条件を示す情報をハードウェア定義情報ＨｗＤｅｆと呼ぶ。ハードウェア定義情報ＨｗＤｅｆは、機種構成情報と個体差パラメータによって構成されている。制御部２２は、ハードウェア構成情報ＨｗＤｅｆを用いてロボット本体１やアライナー４を制御する。機種構成情報は、同一機種のロボットであれば共通であって個体差を無視できる情報であり、例えば、機種（ロボットタイプ）を示すデータ、マニピュレータであるロボット本体１を構成するアームやハンドの長さ、接続関係、各モータ１１の仕様などを含んでいる。個体差パラメータは、同一機種のロボットであっても個体差が無視できないパラメータのことであり、例えば、原点位置に対する各エンコーダ１３ごとのオフセット値を含んでいる。
【００２２】
ホスト装置５は、ロボットコントローラ２で使用するプログラム類を一括して管理するものであって一般的にはサーバ装置として構成されており、ホスト制御部５１とファイルパッケージ格納部５２とを備えている。ホスト制御部５１は、ホスト装置５の全体を制御するものであって例えばオペレーティングシステムなどによって実現するものである。ファイルパッケージ格納部５２は、ロボットコントローラ２からの要求に応じてロボットコントローラ２に送信されるプログラムやデータを格納するものである。特に本実施形態では、ファイルパッケージ格納部５２は、そのホスト装置５に接続される可能性があるロボットコントローラ２が制御対象とするロボットの全機種についてのハードウェア定義情報ＨｗＤｅｆを格納している。ファイルパッケージ格納部５２に格納されるハードウェア定義情報ＨｗＤｅｆでは、機種ごとに機種構成情報と個体差パラメータとが別個に管理されており、個体差パラメータとして記憶される情報は、個体差パラメータの初期値であっても、バックアップのために特定のロボットコントローラ２から送られてきた個体差パラメータであってもよい。
【００２３】
ロボットコントローラ２は、ロボット本体１やアライナー４の制御を行なうために、その記憶部２２内にハードウェア定義情報ＨｗＤｅｆが格納されている必要がある。本実施形態では、ある機種のロボットに接続されているロボットコントローラを同一機種用の別のロボットコントローラと交換することと、異なる機種用のロボットコントローラと交換することとの両方を可能にするために、図２に示すように、ロボットコントローラ２の記憶部２２に格納されるハードウェア定義情報ＨｗＤｅｆについて、その機種構成情報はホスト装置５から読込み、個体差パラメータは接続してるロボット本体１やアライナー４のエンコーダ１３から読込むことを可能にしている。このロボットコントローラ２の制御部２１は、ロボットコントローラ２の本体あるいはロボットコントローラ２に接続するティーチングペンダントを介して操作者から「ＡＬＬ  ＮＥＷコマンド」が入力されると、ホスト装置５に対し、コマンドにおいて指定した機種のハードウェア定義情報ＨｗＤｅｆを要求してそのハードウェア定義情報ＨｗＤｅｆを記憶部２２に読込む機能を有する。このとき、ホスト装置５から読込むハードウェア定義情報ＨｗＤｅｆは、装置構成情報だけであってもよいし、装置構成情報と個体差パラメータの初期値であってもよい。ハードウェア定義情報ＨｗＤｅｆを記憶部２２に読込んだ後にロボットコントローラ２を再起動すれば、ロボットコントローラ２は、新たに読込んだハードウェア定義情報ＨｗＤｅｆに対応する機種のロボットに対応するロボットコントローラとして機能することになる。
【００２４】
なお、ある機種のロボット本体１に接続されるロボットコントローラを同一機種用または他機種用の他のロボットコントローラに交換する、あるいはロボットコントローラ２に接続されるロボット本体を同一機種あるいは他機種の範囲内で交換することを可能にする。このどちらの種類の交換も、結局は、ロボット本体１とロボットコントローラ２の組み合わせの範囲内であり、これらの交換のことを以下の説明では「ロボットコントローラの交換」と呼ぶことにする。例えば予備品として用意されたロボットコントローラと交換することもロボットコントローラの交換である。
【００２５】
図３は、場合に応じて機種構成情報及び個体差パラメータがどこからロボットコントローラ２に読込まれるかを示している。図３（ａ）は、ロボットコントローラ２に接続してるロボット本体１やアライナー４に変更がなかった場合を示している。このときは、ロボットコントローラ２の記憶部２２に既に読込まれているハードウェア定義情報ＨｗＤｅｆによってロボットコントローラ２は動作する。図３（ｂ）は、ロボット本体１に接続するロボットコントローラを同一機種用のロボットコントローラに交換した場合を示している。このときは、ロボットコントローラ２では、新たに接続されたロボット本体１やアライナー４から個体差パラメータのみを読込んで、記憶部２２内に格納されているハードウエア定義情報ＨｗＤｅｆの個体差パラメータを更新する。図３（ｃ）は、ロボット本体１に接続するロボットコントローラを他機種のロボットコントローラと交換した場合を説明している。この場合は、ロボットコントローラ２は、新たに接続されたロボット本体１やアライナー４についての装置構成情報をホスト装置から読込み、個体差パラメータについてはそのロボット本体１やアライナー４のエンコーダ１３から読込む。そして、ロボットコントローラ２では、読込んだ装置構成情報及び個体差パラメータによって記憶部２２内の装置構成情報及び個体差パラメータが更新される。
【００２６】
ロボットコントローラ２の交換があったときは、ロボット本体１やアライナー４のエンコーダ１３から個体値パラメータがロボットコントローラ２が読込まれるが、そのためには、まず、ロボットコントローラの交換と呼ばれる事象が起きたかどうかをロボットコントローラ２が認識できなければならない。そこで本実施形態では、ロボットコントローラ２の交換を可能にするために、交換を検出するためのデータと個体差データとを少なくとも含む装置固有データをエンコーダ１３の不揮発性の記憶部１４に書き込んでおき、ロボットシステムの起動時に各エンコーダ１３から装置固有データをロボットコントローラ２に読込むようにする。そして、読込んだ結果、ロボットコントローラ２の交換があったと判断されるときは、ロボットコントローラ２の制御部２１は、エンコーダ１３から読込んだ装置固有データを用いて必要な処理を実行する。さらにロボットコントローラ２の制御部２１は、不適切な交換が行われたかどうかも装置固有データを用いて判断する。
【００２７】
図４は、エンコーダ１３ごとにその記憶部１４に記憶される装置固有データの形式の一例を示している。装置固有データは、ロボットの機種を示すデータと、ロボット本体１やアライナー４を個体として識別するためのデータと、個体差パラメータとして同一機種のロボット本体１やアライナー４の中で変化し得るパラメータ（例えば原点位置に対するオフセット値）とを含む固定長のデータである。ロボット本体１やアライナー４を個体として識別するデータを個体識別データと呼ぶ。本実施形態では、シリアル番号を個体識別データとするが、他のデータを個体識別データとして用いてもよい。図示されるように、装置固有データは、アドレス順に、ヘッダ情報とデータ部とから構成されている。アライナー４の記憶部１４にも同様の装置固有データが格納される。ヘッダ情報には、装置固有データの形式を特定するフォーマットバージョンのフィールド、書き込み状態のフィールド、予約領域、及び、ヘッダ部についてのチェックサムのフィールドが含まれる。書き込み状態のフィールドには、その装置固有データが初期状態のものなのか、書き込みが完了したものなのか、あるいは書き込み途中であって書き込みが未完了のものなのか、を示すデータが書き込まれる。ヘッダ部のチェックサムのフィールドは、フォーマットバージョンのフィールド、書き込み状態のフィールド及びヘッダ部の予約領域に対する格納するフィールドである。
【００２８】
データ部は、データ部全体に対するチェックサムを格納するデータ部のチェックサムの領域と、ロボットの機種を示すデータであるロボットタイプのフィールドと、シリアル番号のフィールドと、原点位置に対するオフセット値のフィールドと、物理軸番号のフィールドと、ロボットタスク番号のフィールドと、予約領域とからなっている。本実施形態では、装置固有データとしてエンコーダ１３ごとに記憶される個体差パラメータは、ロボット本体１の全体に関するものではなく、そのエンコーダ１３に関するものに限定されている。したがって、原点位置に関するオフセット値としては、ロボット本体１が原点位置にあるときにその装置固有データを格納するエンコーダ１３の回転位置についてのオフセット値が格納される。アライナー４の記憶部１４に格納される個体差パラメータは、アライナー４のエンコーダ１３に関するものに限定される。物理軸番号のフィールドは、ロボット本体１に複数の駆動軸があってそれらの駆動軸に一意に物理軸番号が付与されているとして、その装置固有データを格納するエンコーダ１３がどの物理軸のものであるかを示している。ロボットタスク番号は、その装置固有データを格納するエンコーダ１３がロボット本体１のものなのかアライナー４のものなのかを示す番号である。本実施形態では、ロボット本体１とアライナー４とではロボットタイプを使用するものとしており、これらの区別はロボットタスク番号を用いて行なっている。複数の付属品を使用する場合には、付属品の種類に応じて異なるロボットタスク番号を付与するようにする。シリアル番号は個体識別データを構成し、物理軸番号及びロボットタスク番号の各々は、対象ロボットの構成に関する情報の１つである。
【００２９】
エンコーダ１３をモータ１１から取り外すことは一般には行なわれないから、ロボット本体１やアライナー４においてモータ１３を交換するときはエンコーダ１３と一緒に交換することになる。したがって、エンコーダ１３の記憶部１４に格納されている装置固有データは、モータ１３に紐付けられているデータであるといえる。モータ１３を交換したときは、そのときのモータ１３の組み付けのばらつきなどにより、原点位置に対するオフセット値も変化するから、再度、オフセット値を決定する調整作業を行なう必要がある。そこで本実施形態では、コントローラの交換は認めるものの、ロボット本体１やアライナー４におけるモータ１３単体の交換は認めずにエラーとすることにする。同様の理由により、エンコーダ１３に記憶される物理軸番号は、実際にそのエンコーダ１３が取り付けられる駆動軸の物理軸番号と一致していなければならない。また、同一のロボット本体１に含まれるエンコーダ１３では装置固有データのシリアル番号が全て同じであるものとする。もちろん、他のロボット本体１に含まれるエンコーダ１３とは装置固有データのシリアル番号が異なるものとする。ロボット本体１と同時に使用されるアライナー４については、ロボット本体１側の装置固有データにおけるシリアル番号とアライナー４側の装置固有データにおけるシリアル番号とは同じであっても異なっていてもよい。
【００３０】
装置固有データのデータ構成について図４を用いて説明したが、装置固有データに格納される同一機種のロボットにおいても個体差のあるパラメータとして、原点位置に対するオフセット値以外のものを用いてもよく、複数種類のパラメータを用いてもよい。さらに、不適切な交換などの検出のために、ロボットを個体として識別する情報として、ロボットタイプやシリアル番号以外の情報を用いてもよく、あるいは、ロボットタイプとシリアル番号に加えて他の情報を用いてもよい。
【００３１】
次に、ロボットコントローラ２を交換した際のロボットシステムにおける処理について説明する。ロボットコントローラ２の記憶部２２には、機種に応じたハードウェア定義情報ＨｗＤｅｆが格納されるが、そのハードウェア定義情報ＨｗＤｅｆは、現在接続されているか直近に接続されていたロボット本体１についてのものである。さらに、ロボットコントローラ２の記憶部２２には、その格納するハードウェア定義情報ＨｗＤｅｆがどのロボットに対応するものかを示すために個体識別データも格納している。記憶部２２には、現在接続されているか直近に接続されていたロボット本体１（さらにはアライナー４）の個体識別データ及び個体差パラメータの代わりに初期値が格納されていてもよい。さらには、ロボットコントローラ２におけるコマンド操作によって個体識別データ及び個体差パラメータの部分を初期値にクリアできるようになっていてもよい。
【００３２】
図５及び図６は、ロボットシステムで実行される処理を示すフローチャートである。ここで示す処理は、電源投入時などにロボットコントローラ２がロボットシステムを起動する処理である。以下の説明において、ロボット本体１のみがロボットコントローラ２に接続されているときはロボット本体１の各駆動軸を有効軸と呼び、ロボット本体１とアライナー４の両方が接続されているときはロボット本体１とアライナー４の各駆動軸を有効軸と呼ぶ。ロボット本体１が接続されさらに必要に応じてアライナー４が接続された状態でこのロボットシステムの電源を投入すると、ロボットコントローラ２の制御部２１は、ステップ１０１において、各有効軸のエンコーダ１３から、そのエンコーダ１３の記憶部（ＥＥＰＲＯＭ）１４に格納されている装置固有データを読込み、ステップ１０２において、全ての有効軸についてデータの読込みが正常に終了したかどうかを判定する。正常に終了していない場合には、リアルタイムエラーが発生したものとして、制御部２１はロボットシステムの動作が終了させる。全有効軸のデータの読込みが正常に終了した場合には、制御部２１は、ステップ１０３において、エンコーダ１３から読込んだデータの中のロボットタスク番号が同じである軸の装置固有データにおいてシリアル番号が同一かどうかを判定する。シリアル番号が同一でない装置固有データがあることはモータ１１が交換されたことを意味するから、モータ交換エラーが発生したものとして、制御部２１はロボットシステムの動作が終了させる。
【００３３】
ステップ１０３においてモータ交換エラーが発生しなかった場合には、制御部２１は、ステップ１０４において、全ての有効軸においてエンコーダ１３から読出されたロボットタイプ（機種）が記憶部２２に予め記憶されているロボットタイプと一致するかどうかを判定する。一致しない場合は、ロボットコントローラ２が対象とする機種以外のロボット本体１あるいはアライナー４がロボットコントローラ２に接続されている、すなわち異なる機種用のロボットコントローラに交換された場合である。一方、一致する場合は、ロボットコントローラ２の交換がなかったか、あるいはロボットコントローラ２の交換があったとしても同一機種用のロボットコントローラが交換された場合である。そこで、この２つの場合のうち、まず、ロボットコントローラ２の交換がなかったか、あるいはロボットコントローラ２の交換があったとしても同一機種用のロボットコントローラが交換された場合について説明する。
【００３４】
ステップ１０４においてロボットタイプが一致したときは、制御部２１は、ステップ１１１において、全有効軸について、エンコーダ１３から読込んだ物理軸番号及びロボットタスク番号が、記憶部２２に予め記憶されている物理軸番号及びロボットタスク番号に一致しているかを判定する。ロボットコントローラ２が複数のエンコーダ１３から装置固有データを読込むときは、予め定められた順番によってエンコーダ１３の一つずつからデータを読込むが、このとき、モータ配線の誤接続などによって本来の順番とは異なる順番でデータを読込んでしまうことがあり、この場合、物理軸番号あるいはロボットタスク番号の不一致が生じる。複数のエンコーダ１３から並列にデータを読込む場合であっても、配線の誤接続があれば、物理軸番号あるいはロボットタスク番号の不一致が生じる。そこで物理軸番号あるいはロボットタスク番号の不一致が生じたときは、構成不一致エラーが発生したものとして、制御部２１はロボットシステムの動作が終了させる。
【００３５】
ステップ１１１において全ての有効軸について物理軸番号及びロボットタスク番号が一致したときは、制御部２１は、ステップ１１２において、全有効軸について、エンコーダ１３から読込んだシリアル番号と記憶部２２に記憶されたシリアル番号とが一致するかどうかを判定する。ここで一致している場合には、ロボットコントローラ２の交換もアライナー４も交換されていない場合であるので、次に制御部２１は、ステップ１１３において、全ての有効軸について記憶部２２に記憶されているオフセット値とエンコーダ１３から読込んだオフセット値とが一致するかを判定する。ここで全ての有効軸に関してオフセット値が一致するときは、ロボットコントローラ２の記憶部２２に格納されているオフセット値すなわち個体差パラメータは適切なものであると判断できるので、制御部２２は、ステップ１１４において、ロボットシステムを正常起動して、システム起動の処理を終了する。
【００３６】
ステップ１１３においてロボットコントローラ２の記憶部２２に予め格納されたオフセット値とエンコーダ１３から読込んでオフセット値とが一致しないのは、モータ１１の再調整などを行ったがその結果がロボットコントローラ２側に反映されていない場合である。そこで制御部２１は、ステップ１１５において、エンコーダ１３から読込んだオフセット値によって記憶部２２に格納されているオフセット値を書き換えて処理を終了する。こののち、電源投入を再度行えば、そのときはステップ１０１からステップ１１２までの処理が実行され、引き続いてステップ１１３、ステップ１１４と処理が進行するので、書き換え後のオフセット値に基づいてロボットシステムが正常起動することになる。
【００３７】
ステップ１１２においてシリアル番号が一致しないのは、同一機種用のロボットコントローラ２の交換があったか、アライナー４の交換があったかのいずれかの場合である。そこで制御部２１は、ステップ１１２においてシリアル番号の不一致があったときに、ステップ１１６において、ロボットタスク番号から判別されるアライナー４の軸でのみシリアル番号の不一致となっているかどうかを判定する。アライナー４の軸でのみシリアル番号の不一致となっているときはアライナー４の交換と判断できるので、制御部２２は、ステップ１１７において、アライナー４の軸に関し、エンコーダ１３から読込んだオフセット値によって記憶部２２に格納されているオフセット値を書き換えて処理を終了する。こののち、電源投入を再度行えば、書き換え後のオフセット値に基づいてロボットシステムが正常起動することになる。
【００３８】
ステップ１１６においてアライナー４の軸以外でもシリアル番号の不一致がある場合には、同一機種用のロボットコントローラ２の交換があったと判断できるので、制御部２２は、ステップ１１８において、全有効軸に関し、エンコーダ１３から読込んだシリアル番号及びオフセット値によって記憶部２２に格納されているシリアル番号及びオフセット値を書き換えて処理を終了する。電源投入を再度行えば、書き換え後のシリアル番号及びオフセット値に基づいてロボットシステムが正常起動することになる。ロボット本体１（及びアライナー４）のエンコーダ１３から読込んだシリアル番号（すなわち個体識別データ）とオフセット値（すなわち個体差パラメータ）とによって、ロボットコントローラ２の記憶部２２に格納されているシリアル番号とオフセット値とを書き換えることにより、ロボットコントローラ２は、その接続されるロボット本体１やアライナー４が交換された場合に交換後のロボット本体１やアライナー４に適合するものとなる。また、予備品であってその記憶部２２において個体識別データ（シリアル番号）と個体値パラメータ（オフセット値）に初期値が格納されている予備品のロボットコントローラ２についても、ここで示す処理を実行することによって、そのロボットコントローラ２に接続しているロボット装置１やアライナー４の制御に適したものとなる。
【００３９】
次に、ステップ１０４においてロボットタイプが一致しなかったとき、すなわち他機種用のロボットコントローラに交換されたときの処理を説明する。ステップ１０４で不一致と判断すると、ロボットコントローラ２は、ステップ１２１において操作者に対して機種不一致の旨を表示し、ステップ１２２において、操作者からのＡＬＬ  ＮＥＷコマンドの入力を待ち受ける。ＡＬＬ  ＮＥＷコマンドの入力があったら、制御部２１は、ステップ１２３において、エンコーダ１３側から取得したロボットタイプに基づいて、そのロボットタイプの機種の機種構成情報をホスト装置５からダウンロードして記憶部２２に格納し、ステップ１２４においてロボットシステムを再起動する。あるいは制御部２１は、操作者からの入力を待ち受けることなく自動的にＡＬＬ  ＮＥＷコマンドを実行し、その後、ロボットシステムを自動的に再起動してもよい。ＡＬＬ  ＮＥＷコマンドの実行とシステムの再起動とにより、ロボットコントローラ２は、エンコーダ１３側から取得したロボットタイプの機種に適合したロボットコントローラとして機能することになる。その後、ロボットコントローラ２の制御部２１は、ステップ１０１からの処理を再度実行する。ステップ１０１からの処理を再度実行したときには、ステップ１０４において、エンコーダ１３側とロボットコントローラ２側のロボットタイプは一致するはずであるので、続いてステップ１１１の処理が実行され、同一機種用のロボットコントローラ２が交換された場合と同じ処理が実行されることになる。このようにして本実施形態では、ロボット本体１に対して異なる機種のロボットコントローラを接続することを可能にし、他機種のロボットコンローラとの交換を可能にしている。
【００４０】
図７は、ここで説明した処理を説明する状態遷移図である。ロボットコントローラ２がその接続しているロボット本体１とアライナー４などの付属品とを制御するのに適した状態であることを正常状態と呼ぶ。正常状態において同一機種のロボットコントローラ２の交換が行われたときは、ロボットコントローラ２の交換が行われたことを示すイベントが起動時に上記のステップ１１８に示すように発生し、個体差パラメータを含む装置固有データがエンコーダ１３側からロボットコントローラ２の記憶部２２に自動的にコピーされ、その後、電源投入の動作を行えば正常状態に自動復帰することになる。正常状態において異機種のロボットコントローラ２の交換が行なわれたときは、そのことを示すイベントが起動時に上記のステップ１０４に示すように発生し、ＡＬＬ  ＮＥＷコマンドの入力によって、対応する機種用の機種構成情報がロボットコントローラ２の記憶部２２に読込まれる。その後、システムの再起動によって、同一機種のロボットコントローラが交換された状態に移行し、上述と同様に、装置固有データがロボットコントローラ２の記憶部２２に自動的にコピーされ、正常状態に復帰することになる。
【００４１】
アライナー４などの付属品を交換したときは、付属品交換が行われたことを示すイベントが起動時に上記のステップ１１７に示すように発生し、個体差パラメータがエンコーダ１３側からロボットコントローラ２の記憶部２２に自動的にコピーされ、正常状態に戻ることになる。これに対してモータ交換が行われた場合には、ステップ１０３に示すようにモータ交換エラーとなってロボットシステムの起動処理が異常終了し、ロボットシステムの起動が不可となる。モータ交換エラーから正常状態に復帰するためには、交換されたモータに対応する軸の再調整作業などのメンテナンス作業を実施する必要がある。ステップ１０５で判定される構成不一致エラーは、ロボット本体１やアライナー４さらにはロボットコントローラ２に記憶されている装置固有データにおけるパラメータ異常に分類されるものであり、パラメータ異常と判定された場合には、ロボットシステムの起動処理が異常終了し、ロボットシステムの起動が不可となる。パラメータ異常から正常状態に復帰するためには、誤配線を修正するなどして、正しいパラメータ設定となるようにする必要がある。
【００４２】
［本実施形態の効果］
本実施形態によれば、電源投入時などに、対象ロボット（ロボット本体１及びアライナー４）のエンコーダ１３に格納されている装置固有データを読み出してロボットコントローラ２に格納されている装置固有データを照合し、同一機種のロボットコントローラの交換が検出されたときには最新の個体差パラメータを対象ロボット側からロボットコントローラ２に読込むので、同じ機種用のロボットコントローラを交換して使用することが可能になり、交換後のロボットコントローラ２を用いてその接続している対象ロボットに適した制御を実行できるようになる。さらに異機種のロボットコントローラの交換が検出されたときには対応する機種の機種構成情報をホスト装置５からロボットコントローラ２に読込むことによってそのロボットコントローラ２を現在接続している対象ロボットの機種に適合するものとし、その後、同一機種のロボットコントローラの交換が検出されたときと同じ処理を実行するので、異なる機種用のロボットコントローラを交換して使用することも可能になる。結局、本実施形態によれば、ホスト装置に機種構成情報が格納されている機種については、機種ごとという制約にとらわれずに任意のロボットに対して同じロボットコントローラを接続することが可能となる。また構成の不一致が生じたとき、モータ交換が検出されたときには起動不可とすることによって、不適切な状態でロボット本体やアライナーが動作することを防ぐことができる。
【符号の説明】
【００４３】
１…ロボット本体、２…ロボットコントローラ、４…アライナー、５…ホスト装置、１１…モータ、１２…ドライバ、１３…エンコーダ、１４，２２…記憶部、２１…制御部、５１…ホスト制御部、５２…ファイルパッケージ格納部。
【図１】
2019107727.tif 000003
【図２】
2019107727.tif 000004
【図３】
2019107727.tif 000005
【図４】
2019107727.tif 000006
【図５】
2019107727.tif 000007
【図６】
2019107727.tif 000008
【図７】
2019107727.tif 000009
【手続補正書】
【提出日】平成30年11月21日(2018.11.21)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
ロボット本体であるマニピュレータでは、その機種ごとに、アームやハンドの数や寸法、それらの接続関係、搭載されるモータの仕様などが異なっている。これらのロボットの構成情報は、一般にロボットコントローラに予め記憶されることとなっており、そのため、ロボットの機種ごとにロボットコントローラが用意されることになる。ロボットコントローラは、それが対象とする機種以外の機種のロボットをそのままでは制御できない。ある機種用のロボットコントローラを用いて他の機種のロボットを制御仕様とする場合には、作業者によってロボットの機種を確認し、確認されたロボットの機種に適合したロボット構成情報にロボットコントローラ内の情報を入れ換える作業が必要である。さらに同一機種のロボットであってもマニピュレータごとにどうしても個体差があり、ロボットコントローラによって制御するときは個体差に応じた制御を行なう必要がある。個体差の例として、原点位置に対するオフセット値がある。マニピュレータにはその動作の基準となる姿勢である原点位置が定められているが、原点位置となるときにモータごとのエンコーダが示す回転位置データは、モータやエンコーダの取り付け上のばらつきなどにより、マニピュレータの個体ごとに異なる値となってしまう。モータを有する付属品についても同様である。そこでロボットの組み立て完了時などに個体差を実測し、その後、ロボットコントローラの記憶部に格納される。このため、同じ機種のマニピュレータを対象とするロボットコントローラであっても、同一機種のマニピュレータを交換して接続する場合には精度の高い制御を行なうことができなくなる。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
本発明のロボットシステムでは、対象ロボットは、マニピュレータであるロボット本体と付属品とを含んでいてよく、その場合、ロボット本体と付属品との各々が第１記憶部を備え、制御部は、付属品についてのみ第１記憶部から読込んだ個体識別データと第２記憶部に格納されている個体識別データとが異なるときに、付属品が交換されたと判断して第２記憶部において付属品についての個体差パラメータのみを更新するようにすればよい。このような構成により、アライナーなどの付属品も備えるロボットシステムにおいて、付属品のみが交換されたときであっても適切な制御を行なえるようになる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
ロボットコントローラ２は、予め定められた軌道でロボット本体１が移動するように、各軸のエンコーダ１３から読み出される回転位置に基づいて各軸のモータ１１に対する指令を生成する制御部２１と、制御部２１での演算に必要なパラメータ類を格納する不揮発性の記憶部２２と、を備えている。記憶部２２に格納されるパラメータには、接続するロボット本体１やアライナー４の制御のためにロボット本体１やアライナー４のハードウェア条件を示す情報が含まれる。以下の説明において、ロボットごとにハードウェア条件を示す情報をハードウェア定義情報ＨｗＤｅｆと呼ぶ。ハードウェア定義情報ＨｗＤｅｆは、機種構成情報と個体差パラメータによって構成されている。制御部２１は、ハードウェア定義情報ＨｗＤｅｆを用いてロボット本体１やアライナー４を制御する。機種構成情報は、同一機種のロボットであれば共通であって個体差を無視できる情報であり、例えば、機種（ロボットタイプ）を示すデータ、マニピュレータであるロボット本体１を構成するアームやハンドの長さ、接続関係、各モータ１１の仕様などを含んでいる。個体差パラメータは、同一機種のロボットであっても個体差が無視できないパラメータのことであり、例えば、原点位置に対する各エンコーダ１３ごとのオフセット値を含んでいる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
ロボットコントローラ２は、ロボット本体１やアライナー４の制御を行なうために、その記憶部２２内にハードウェア定義情報ＨｗＤｅｆが格納されている必要がある。本実施形態では、ある機種のロボットに接続されているロボットコントローラを同一機種用の別のロボットコントローラと交換することと、異なる機種用のロボットコントローラと交換することとの両方を可能にするために、図２に示すように、ロボットコントローラ２の記憶部２２に格納されるハードウェア定義情報ＨｗＤｅｆについて、その機種構成情報はホスト装置５から読込み、個体差パラメータは接続してるロボット本体１やアライナー４のエンコーダ１３から読込むことを可能にしている。このロボットコントローラ２の制御部２１は、ロボットコントローラ２の本体あるいはロボットコントローラ２に接続するティーチングペンダントを介して操作者から「ＡＬＬ  ＮＥＷコマンド」が入力されると、ホスト装置５に対し、コマンドにおいて指定した機種のハードウェア定義情報ＨｗＤｅｆを要求してそのハードウェア定義情報ＨｗＤｅｆを記憶部２２に読込む機能を有する。このとき、ホスト装置５から読込むハードウェア定義情報ＨｗＤｅｆは、機種構成情報だけであってもよいし、機種構成情報と個体差パラメータの初期値であってもよい。ハードウェア定義情報ＨｗＤｅｆを記憶部２２に読込んだ後にロボットコントローラ２を再起動すれば、ロボットコントローラ２は、新たに読込んだハードウェア定義情報ＨｗＤｅｆに対応する機種のロボットに対応するロボットコントローラとして機能することになる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
図３は、場合に応じて機種構成情報及び個体差パラメータがどこからロボットコントローラ２に読込まれるかを示している。図３（ａ）は、ロボットコントローラ２に接続してるロボット本体１やアライナー４に変更がなかった場合を示している。このときは、ロボットコントローラ２の記憶部２２に既に読込まれているハードウェア定義情報ＨｗＤｅｆによってロボットコントローラ２は動作する。図３（ｂ）は、ロボット本体１に接続するロボットコントローラを同一機種用のロボットコントローラに交換した場合を示している。このときは、ロボットコントローラ２では、新たに接続されたロボット本体１やアライナー４のエンコーダ１３から個体差パラメータのみを読込んで、記憶部２２内に格納されているハードウエア定義情報ＨｗＤｅｆの個体差パラメータを更新する。図３（ｃ）は、ロボット本体１に接続するロボットコントローラを他機種のロボットコントローラと交換した場合を説明している。この場合は、ロボットコントローラ２は、新たに接続されたロボット本体１やアライナー４についての機種構成情報をホスト装置から読込み、個体差パラメータについてはそのロボット本体１やアライナー４のエンコーダ１３から読込む。そして、ロボットコントローラ２では、読込んだ機種構成情報及び個体差パラメータによって記憶部２２内の機種構成情報及び個体差パラメータが更新される。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
ロボットコントローラ２の交換があったときは、ロボット本体１やアライナー４のエンコーダ１３から個体差パラメータがロボットコントローラ２が読込まれるが、そのためには、まず、ロボットコントローラの交換と呼ばれる事象が起きたかどうかをロボットコントローラ２が認識できなければならない。そこで本実施形態では、ロボットコントローラ２の交換を可能にするために、交換を検出するためのデータと個体差パラメータとを少なくとも含む装置固有データをエンコーダ１３の不揮発性の記憶部１４に書き込んでおき、ロボットシステムの起動時に各エンコーダ１３から装置固有データをロボットコントローラ２に読込むようにする。そして、読込んだ結果、ロボットコントローラ２の交換があったと判断されるときは、ロボットコントローラ２の制御部２１は、エンコーダ１３から読込んだ装置固有データを用いて必要な処理を実行する。さらにロボットコントローラ２の制御部２１は、不適切な交換が行われたかどうかも装置固有データを用いて判断する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
図４は、エンコーダ１３ごとにその記憶部１４に記憶される装置固有データの形式の一例を示している。装置固有データは、ロボットの機種を示すデータと、ロボット本体１やアライナー４を個体として識別するためのデータと、個体差パラメータとして同一機種のロボット本体１やアライナー４の中で変化し得るパラメータ（例えば原点位置に対するオフセット値）とを含む固定長のデータである。ロボット本体１やアライナー４を個体として識別するデータを個体識別データと呼ぶ。本実施形態では、シリアル番号を個体識別データとするが、他のデータを個体識別データとして用いてもよい。図示されるように、装置固有データは、アドレス順に、ヘッダ情報とデータ部とから構成されている。アライナー４の記憶部１４にも同様の装置固有データが格納される。ヘッダ情報には、装置固有データの形式を特定するフォーマットバージョンのフィールド、書き込み状態のフィールド、予約領域、及び、ヘッダ情報についてのチェックサムのフィールドが含まれる。書き込み状態のフィールドには、その装置固有データが初期状態のものなのか、書き込みが完了したものなのか、あるいは書き込み途中であって書き込みが未完了のものなのか、を示すデータが書き込まれる。ヘッダ情報チェックサムのフィールドは、フォーマットバージョンのフィールド、書き込み状態のフィールド及びヘッダ情報の予約領域に対するチェックサムを格納するフィールドである。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
データ部は、データ部全体に対するチェックサムを格納するデータ部のチェックサムの領域と、ロボットの機種を示すデータであるロボットタイプのフィールドと、シリアル番号のフィールドと、原点位置に対するオフセット値のフィールドと、物理軸番号のフィールドと、ロボットタスク番号のフィールドと、予約領域とからなっている。本実施形態では、装置固有データとしてエンコーダ１３ごとに記憶される個体差パラメータは、ロボット本体１の全体に関するものではなく、そのエンコーダ１３に関するものに限定されている。したがって、原点位置に関するオフセット値としては、ロボット本体１が原点位置にあるときにその装置固有データを格納するエンコーダ１３の回転位置についてのオフセット値が格納される。アライナー４の記憶部１４に格納される個体差パラメータは、アライナー４のエンコーダ１３に関するものに限定される。物理軸番号のフィールドは、ロボット本体１に複数の駆動軸があってそれらの駆動軸に一意に物理軸番号が付与されているとして、その装置固有データを格納するエンコーダ１３がどの物理軸のものであるかを示している。ロボットタスク番号は、その装置固有データを格納するエンコーダ１３がロボット本体１のものなのかアライナー４のものなのかを示す番号である。本実施形態では、ロボット本体１とアライナー４とでは同じロボットタイプを使用するものとしており、これらの区別はロボットタスク番号を用いて行なっている。複数の付属品を使用する場合には、付属品の種類に応じて異なるロボットタスク番号を付与するようにする。シリアル番号は個体識別データを構成し、物理軸番号及びロボットタスク番号の各々は、対象ロボットの構成に関する情報の１つである。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
エンコーダ１３をモータ１１から取り外すことは一般には行なわれないから、ロボット本体１やアライナー４においてモータ１１を交換するときはエンコーダ１３と一緒に交換することになる。したがって、エンコーダ１３の記憶部１４に格納されている装置固有データは、モータ１１に紐付けられているデータであるといえる。モータ１１を交換したときは、そのときのモータ１１の組み付けのばらつきなどにより、原点位置に対するオフセット値も変化するから、再度、オフセット値を決定する調整作業を行なう必要がある。そこで本実施形態では、コントローラの交換は認めるものの、ロボット本体１やアライナー４におけるモータ１１単体の交換は認めずにエラーとすることにする。同様の理由により、エンコーダ１３に記憶される物理軸番号は、実際にそのエンコーダ１３に関連する駆動軸の物理軸番号と一致していなければならない。また、同一のロボット本体１に含まれるエンコーダ１３では装置固有データのシリアル番号が全て同じであるものとする。もちろん、他のロボット本体１に含まれるエンコーダ１３とは装置固有データのシリアル番号が異なるものとする。ロボット本体１と同時に使用されるアライナー４については、ロボット本体１側の装置固有データにおけるシリアル番号とアライナー４側の装置固有データにおけるシリアル番号とは同じであっても異なっていてもよい。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
ステップ１１１において全ての有効軸について物理軸番号及びロボットタスク番号が一致したときは、制御部２１は、ステップ１１２において、全有効軸について、エンコーダ１３から読込んだシリアル番号と記憶部２２に記憶されたシリアル番号とが一致するかどうかを判定する。ここで一致している場合には、ロボットコントローラ２の交換もアライナー４も交換されていない場合であるので、次に制御部２１は、ステップ１１３において、全ての有効軸について記憶部２２に記憶されているオフセット値とエンコーダ１３から読込んだオフセット値とが一致するかを判定する。ここで全ての有効軸に関してオフセット値が一致するときは、ロボットコントローラ２の記憶部２２に格納されているオフセット値すなわち個体差パラメータは適切なものであると判断できるので、制御部２１は、ステップ１１４において、ロボットシステムを正常起動して、システム起動の処理を終了する。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００３７
【補正方法】変更
【補正の内容】
【００３７】
ステップ１１２においてシリアル番号が一致しないのは、同一機種用のロボットコントローラ２の交換があったか、アライナー４の交換があったかのいずれかの場合である。そこで制御部２１は、ステップ１１２においてシリアル番号の不一致があったときに、ステップ１１６において、ロボットタスク番号から判別されるアライナー４の軸でのみシリアル番号の不一致となっているかどうかを判定する。アライナー４の軸でのみシリアル番号の不一致となっているときはアライナー４の交換と判断できるので、制御部２１は、ステップ１１７において、アライナー４の軸に関し、エンコーダ１３から読込んだオフセット値によって記憶部２２に格納されているオフセット値を書き換えて処理を終了する。こののち、電源投入を再度行えば、書き換え後のオフセット値に基づいてロボットシステムが正常起動することになる。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
ステップ１１６においてアライナー４の軸以外でもシリアル番号の不一致がある場合には、同一機種用のロボットコントローラ２の交換があったと判断できるので、制御部２１は、ステップ１１８において、全有効軸に関し、エンコーダ１３から読込んだシリアル番号及びオフセット値によって記憶部２２に格納されているシリアル番号及びオフセット値を書き換えて処理を終了する。電源投入を再度行えば、書き換え後のシリアル番号及びオフセット値に基づいてロボットシステムが正常起動することになる。ロボット本体１（及びアライナー４）のエンコーダ１３から読込んだシリアル番号（すなわち個体識別データ）とオフセット値（すなわち個体差パラメータ）とによって、ロボットコントローラ２の記憶部２２に格納されているシリアル番号とオフセット値とを書き換えることにより、ロボットコントローラ２は、その接続されるロボット本体１やアライナー４が交換された場合に交換後のロボット本体１やアライナー４に適合するものとなる。また、予備品であってその記憶部２２において個体識別データ（シリアル番号）と個体差パラメータ（オフセット値）に初期値が格納されている予備品のロボットコントローラ２についても、ここで示す処理を実行することによって、そのロボットコントローラ２に接続しているロボット本体１やアライナー４の制御に適したものとなる。
【手続補正１３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項４
【補正方法】変更
【補正の内容】
【請求項４】
前記対象ロボットは、マニピュレータであるロボット本体と付属品とを含み、前記ロボット本体と前記付属品との各々が前記第１記憶部を備え、
前記制御部は、前記付属品についてのみ前記第１記憶部から読込んだ前記個体識別データと前記第２記憶部に格納されている前記個体識別データとが異なるときに、前記付属品が交換されたと判断して前記第２記憶部において前記付属品についての前記個体差パラメータのみを更新する、請求項３に記載のロボットシステム。
【手続補正１４】
【補正対象書類名】図面
【補正対象項目名】図３
【補正方法】変更
【補正の内容】
【図３】
2019107727.tif 000010
【手続補正１５】
【補正対象書類名】図面
【補正対象項目名】図４
【補正方法】変更
【補正の内容】
【図４】
2019107727.tif 000011