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