IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 日本電産サンキョー株式会社の特許一覧

<>
  • 特許-ロボットシステム 図1
  • 特許-ロボットシステム 図2
  • 特許-ロボットシステム 図3
  • 特許-ロボットシステム 図4
  • 特許-ロボットシステム 図5
  • 特許-ロボットシステム 図6
  • 特許-ロボットシステム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-26
(45)【発行日】2022-09-05
(54)【発明の名称】ロボットシステム
(51)【国際特許分類】
   B25J 13/00 20060101AFI20220829BHJP
【FI】
B25J13/00 Z
【請求項の数】 6
(21)【出願番号】P 2017241616
(22)【出願日】2017-12-18
(65)【公開番号】P2019107727
(43)【公開日】2019-07-04
【審査請求日】2020-11-07
(73)【特許権者】
【識別番号】000002233
【氏名又は名称】日本電産サンキョー株式会社
(74)【代理人】
【識別番号】100123788
【弁理士】
【氏名又は名称】宮崎 昭夫
(74)【代理人】
【識別番号】100127454
【弁理士】
【氏名又は名称】緒方 雅昭
(72)【発明者】
【氏名】登内 宏
(72)【発明者】
【氏名】猪股 徹也
(72)【発明者】
【氏名】奥村 宏克
【審査官】松浦 陽
(56)【参考文献】
【文献】特開2004-148433(JP,A)
【文献】特開2015-202523(JP,A)
【文献】特開2014-079827(JP,A)
【文献】特開2010-231575(JP,A)
【文献】特開2001-242922(JP,A)
【文献】特開平09-047990(JP,A)
【文献】特開2007-164577(JP,A)
【文献】特開2016-137526(JP,A)
【文献】特開2013-056378(JP,A)
【文献】特開2012-011494(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
G05B 19/18 - 19/416
(57)【特許請求の範囲】
【請求項1】
ロボットコントローラと、前記ロボットコントローラによる制御の対象である対象ロボットと、を有するロボットシステムであって、
同一機種の対象ロボットに共通の機種構成情報を機種ごとに格納するホスト装置をさらに備え、
前記対象ロボットは、少なくともマニピュレータとして構成されたロボット本体を含み、
前記ロボット本体は、複数の駆動軸を有するものであって、前記駆動軸ごとに、その駆動軸を駆動するモータと、該モータの回転軸に取り付けられてその回転軸の回転位置を検出するエンコーダとを備えており、
前記機種構成情報は、同一機種において共通する情報であって、機種、前記ロボット本体を構成するアーム及びハンドの長さ、前記モータの仕様を含む情報であり、
前記エンコーダは、前記ロボット本体の機種を示す情報と当該ロボット本体を識別する個体識別データと当該ロボット本体に固有の原点位置に対するオフセット値を含む個体差パラメータとを含む装置固有データを格納する第1記憶部を備え、
前記ロボットコントローラは、当該ロボットコントローラに接続する前記ロボット本体の機種に応じた前記機種構成情報と前記個体識別データと前記個体差パラメータと格納する第2記憶部と、前記第2記憶部に格納された前記機種構成情報と前記個体差パラメータとに基づいて前記ロボット本体を制御する制御部と、を備え、
前記制御部は、前記第1記憶部から読込んだ前記機種を示す情報と前記第2記憶部に格納された前記機種を示す情報とを照合し、一致しない場合に前記第1記憶部から読込んだ前記機種を示す情報に対応する機種の前記機種構成情報を前記ホスト装置から読込んで前記第2記憶部に格納し、前記ホスト装置から読込んで格納した前記第2記憶部の前記機種構成情報と前記第1記憶部から読込んだ前記個体差パラメータとに基づいて前記ロボット本体を制御するようにしてなる、ロボットシステム。
【請求項2】
前記制御部は、コマンド実行によって、指定された機種の前記機種構成情報を前記ホスト装置から読込んで前記第2記憶部に格納する、請求項1に記載のロボットシステム。
【請求項3】
前記制御部は、前記第1記憶部から読込んだ前記個体識別データと前記第2記憶部に格納された個体識別データとを照合し、照合結果に応じて前記第1記憶部に格納されている前記個体差パラメータによって前記第2記憶部に格納されている前記個体差パラメータを更新する、請求項1または2に記載のロボットシステム。
【請求項4】
前記対象ロボットは、モータを有する付属品をさらに含み、
前記付属品の前記モータに取り付けられたエンコーダは、前記付属品の機種を示す情報と当該付属品を識別する個体識別データと当該付属品に固有の原点位置に対するオフセット値を含む個体差パラメータとを含む装置固有データを格納する第1記憶部を備え、
前記第2記憶部は、前記付属品に関する前記機種に応じた前記機種構成情報と前記個体識別データと前記個体差パラメータとをさらに格納し、
前記制御部は、前記第2記憶部に格納された前記機種構成情報と前記個体差パラメータとに基づいて前記付属品を制御し、前記付属品についてのみ前記第1記憶部から読込んだ前記個体識別データと前記第2記憶部に格納されている前記個体識別データとが異なるときに、前記付属品が交換されたと判断して前記第2記憶部において前記付属品についての前記個体差パラメータのみを更新する、請求項3に記載のロボットシステム。
【請求項5】
前記装置固有データは、前記対象ロボットの構成に関する情報を含み、前記制御部は、前記構成に関する情報が、前記第2記憶部に格納された前記機種を示す情報によって示される機種の前記対象ロボットの構成に適合しない場合には、前記ロボットシステムを起動不可とする、請求項1乃至4のいずれか1項に記載のロボットシステム。
【請求項6】
前記制御部は、前記装置固有データに基づいて前記対象ロボットにおける前記モータの交換を検出し、前記モータの交換を検出したときに前記ロボットシステムを起動不可とする、請求項1乃至5のいずれか1項に記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットの本体であるマニピュレータとこのマニピュレータを制御するロボットコントローラとを備えるロボットシステムに関する。
【背景技術】
【0002】
ロボットシステムは、一般に、相互に連結されたアームやハンドとそれらの連結部を駆動するモータとからなるマニピュレータすなわちロボット本体と、マニピュレータを制御するロボットコントローラとから構成されている。マニピュレータ内の各モータの回転をロボットコントローラによって制御するために、モータにはその回転位置を検出するエンコーダが取り付けられており、エンコーダで取得した回転位置情報はロボットコントローラに随時送信される。場合によっては、ロボットシステムには、マニピュレータによる処理の対象となるワークの姿勢を変更するアライナーなどの付属品が設けられることがある。付属品もロボットコントローラによる制御の対象となる。
【0003】
ロボット本体であるマニピュレータでは、その機種ごとに、アームやハンドの数や寸法、それらの接続関係、搭載されるモータの仕様など異なっている。これらのロボットの構成情報は、一般にロボットコントローラに予め記憶されることとなっており、そのため、ロボットの機種ごとにロボットコントローラが用意されることになる。ロボットコントローラは、それが対象とする機種以外の機種のロボットをそのままでは制御できない。ある機種用のロボットコントローラを用いて他の機種のロボットを制御仕様とする場合には、作業者によってロボットの機種を確認し、確認されたロボットの機種に適合したロボット構成情報にロボットコントローラ内の情報を入れ換える作業が必要である。さらに同一機種のロボットであってもマニピュレータごとにどうしても個体差があり、ロボットコントローラによって制御するときは個体差に応じた制御を行なう必要がある。個体差の例として、原点位置に対するオフセット値がある。マニピュレータにはその動作の基準となる姿勢である原点位置が定められているが、原点位置となるときにモータごとのエンコーダが示す回転位置データは、モータやエンコーダの取り付け上のばらつきなどにより、マニピュレータの個体ごとに異なる値となってしまう。モータを有する付属品についても同様である。そこでロボットの組み立て完了時などに個体差を実測し、その後、ロボットコントローラの記憶部に格納される。このため、同じ機種のマニピュレータを対象とするロボットコントローラであっても、同一機種のマニピュレータを交換して接続する場合には精度の高い制御を行なうことができなくなる。
【0004】
ロボットコントローラに接続されるロボット本体を交換することを可能にする試みとして、特許文献1は、ロボット本体内の内蔵ボードを取り替えたときであってもロボットコントローラによって制御可能なロボットシステムが開示している。特許文献2は、ロボット機構部あるいは機構ユニットの交換後に諸データ変更の作業を自動化するために、交換を検出したらロボット機構部あるいは機構ユニットから読込んだデータによってロボットコントローラ内のデータを書き換えることを開示している。ロボット機構部あるいは機構ユニットから読込まれるデータには、アーム長などのロボットの軸構成に関するデータも含まれている。特許文献3は、ロボットに設けられるセンサー類に関する情報に関し、ロボット本体の交換後にロボット本体からロボットコントローラに読込むことを開示している。特許文献4は、これまで使用していたロボットコントローラから新たなロボットコントローラへのロボット動作用データの移行を適切かつ簡便に行うために、交換用のメモリを使用することを開示している。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2001-242922号公報
【文献】特開2004-148433号公報
【文献】特開2016-137526号公報
【文献】特開2013-56378号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ロボットコントローラを同一機種のロボットの間で交換して使用できることに加え、ロボットコントローラを異なる機種のロボットの間でも交換して使用できることが望まれている。ロボットコントローラに接続されるロボット本体の変更を可能にする特許文献1~4に開示される技術は、ロボットの構成情報をロボットコントローラに読込ませるときの柔軟さに欠け、また、ロボットコントローラを同一の機種のロボットの間で変更することについても必ずしも最適化された技術であるとは言えない。特許文献4に示す技術では、ロボットコントローラの変更の際に結局は個体差に関するパラメータをバックアップする必要があり、手順として煩雑なものとなる。
【0007】
本発明の目的は、ロボットの機種によらずにロボットコントローラに対して同一機種や異なる機種のロボット本体や付属品を交換して接続することが容易であり、かつ、ロボット本体や付属品側に保持するデータを最小限のものとするロボットシステムを提供することにある。
【課題を解決するための手段】
【0008】
本発明のロボットシステムは、ロボットコントローラと、ロボットコントローラによる制御の対象である対象ロボットと、を有するロボットシステムであって、同一機種の対象ロボットに共通の機種構成情報を機種ごとに格納するホスト装置をさらに備え、対象ロボットは、少なくともマニピュレータとして構成されたロボット本体を含み、ロボット本体は、複数の駆動軸を有するものであって、駆動軸ごとに、その駆動軸を駆動するモータと、モータの回転軸に取り付けられてその回転軸の回転位置を検出するエンコーダとを備えており、機種構成情報は、同一機種において共通する情報であって、機種、ロボット本体を構成するアーム及びハンドの長さ、モータの仕様を含む情報であり、エンコーダは、ロボット本体の機種を示す情報とそのロボット本体を識別する個体識別データとそのロボット本体に固有の原点位置に対するオフセット値を含む個体差パラメータとを含む装置固有データを格納する第1記憶部を備え、ロボットコントローラは、そのロボットコントローラに接続するロボット本体の機種に応じた機種構成情報と個体識別データと個体差パラメータとを格納する第2記憶部と、第2記憶部に格納された機種構成情報と個体差パラメータとに基づいてロボット本体を制御する制御部と、を備え、制御部は、第1記憶部から読込んだ機種を示す情報と第2記憶部に格納された機種を示す情報とを照合し、一致しない場合に第1記憶部から読込んだ機種を示す情報に対応する機種の機種構成情報をホスト装置から読込んで第2記憶部に格納し、ホスト装置から読込んで格納した第2記憶部の機種構成情報と第1記憶部から読込んだ個体差パラメータとに基づいてロボット本体を制御するようにしてなる
【0009】
このような本発明によれば、機種を示す情報の照合の結果、異なる機種のロボットコントローラが接続された場合に、ホスト装置からその機種の機種構成情報をロボットコントローラに読込んでその機種構成情報を用いてロボットコントローラが制御を行なうので、異なる機種のロボットコントローラを用いても対象ロボットを適切に制御できるようになる。また、各機種の機種構成情報をホスト装置にまとめて格納するので、機種構成情報の管理が容易になる。また、ネットワークを介してロボットコントローラがホスト装置に接続する構成とすれば、工場内などで機種に依存せずにロボットコントローラを必要に応じて迅速に交換することが可能になる。
【0010】
本発明のロボットシステムでは、制御部が、コマンド実行によって、指定された機種の機種構成情報をホスト装置から読込んで第2記憶部に格納するようにすることが好ましい。この構成によれば、対象ロボット側とロボットコントローラ側とで機種を示す情報が一致しない場合を受けてのコマンド実行となるので、必要時にのみ機種構成情報をロボットコントローラに読込ませることが可能になる。コマンド実行は、自動的に行なってもよいし、操作者による入力によって行なわれてもよい。操作者が手動でコマンド実行を行なえるようにすれば、例えば、機種は同じであっても機種構成情報のアップデートが行われた場合に、ロボットコントローラは最新の機種構成情報を利用できるようになる。
【0011】
本発明のロボットシステムでは、制御部が、第1記憶部から読込んだ個体識別データと第2記憶部に格納された個体識別データとを照合し、照合結果に応じて第1記憶部に格納されている個体差パラメータによって第2記憶部に格納されている個体差パラメータを更新するようにすることが好ましい。この構成では、対象ロボットに接続されるロボットコントローラを同じ機種用のロボットコントローラに交換した場合において、ロボットコントローラは、対象ロボットに格納されている個体差パラメータに基づいて対象ロボットの制御を行うことができるようになり、対象ロボットに適した制御を実現できる。
【0012】
本発明のロボットシステムでは、対象ロボットは、モータを有する付属品をさらに含んでいてよく、その場合、付属品のモータに取り付けられたエンコーダは、付属品の機種を示す情報とその付属品を識別する個体識別データとその付属品に固有の原点位置に対するオフセット値を含む個体差パラメータとを含む装置固有データを格納する第1記憶部を備え、第2記憶部は、付属品に関する機種に応じた機種構成情報と個体識別データと個体差パラメータとをさらに格納してもよい。制御部は、第2記憶部に格納された機種構成情報と個体差パラメータとに基づいて付属品を制御し、付属品についてのみ第1記憶部から読込んだ個体識別データと第2記憶部に格納されている個体識別データとが異なるときに、付属品が交換されたと判断して第2記憶部において付属品についての個体差パラメータのみを更新するようにすればよい。このような構成により、アライナーなどの付属品も備えるロボットシステムにおいて、付属品のみが交換されたときであっても適切な制御を行なえるようになる。
【0013】
本発明のロボットシステムでは、対象ロボットの構成に関する情報が装置固有データに含まれるようにし、装置固有データにおける構成に関する情報が第2記憶部に格納された機種を示す情報によって示される機種の対象ロボットの構成と適合しない場合には、制御部がロボットシステムを起動不可とするようにすることができる。これにより、構成の不一致、例えば、対象ロボット内でのモータの配線の誤接続などがある場合にロボットシステムが動作することを防止できる。
【0014】
本発明のロボットシステムでは、個体差パラメータとして、原点位置に対するオフセット値を使用する。これにより、ロボットコントローラの交換を行なったときに新たなオフセット調整やオフセット測定を行う必要なく、新しいロボットコントローラで対象ロボットの駆動を行うことができるようになる。
【0015】
本発明のロボットシステムでは、対象ロボットが、軸ごとに設けられたモータと、モータの回転位置を検出するエンコーダとを備え、第1記憶部がエンコーダに設けられている。対象ロボットにおいては、オフセット値などの個体差パラメータがモータ交換により変化してしまうが、モータに付属する部品であるエンコーダの記憶部に装置固有データを格納することにより、交換される部品に紐付けられて装置固有データが格納されることになるので、ロボットシステムの管理が容易になる。この場合、制御部は、装置固有データに基づいて対象ロボットにおけるモータの交換を検出し、モータの交換を検出したときにロボットシステムを起動不可とすることが好ましい。モータ交換は対象ロボットにおける新規調整を必要とするので、モータ交換の検出時にシステムの起動を不可とすることによって、調整が不十分なままで対象ロボットが動作することを防ぐことができる。
【発明の効果】
【0016】
本発明によれば、ロボットの機種によらずにロボットコントローラに対して同一機種や異なる機種のロボット本体や付属品を交換して接続することが容易であり、かつ、ロボット本体や付属品側に保持するデータを最小限のものとするロボットシステムが得られる。
【図面の簡単な説明】
【0017】
図1】本発明の実施の一形態のロボットシステムの構成を示すブロック図である。
図2】ハードウェア定義情報HwDefを説明する図である。
図3】ロボットコントローラへのハードウェア定義情報の読込みを説明する図である。
図4】エンコーダごとに記憶される装置固有データの形式を示す図である。
図5図1に示すロボットシステムの動作を示すフローチャートである。
図6図1に示すロボットシステムの動作を示すフローチャートである。
図7図1に示すロボットシステムの動作を示す状態遷移図である。
【発明を実施するための形態】
【0018】
次に本発明の好ましい実施の形態について、図面を参照して説明する。図1は本発明の実施の一形態のロボットシステムを示している。このロボットシステムは、マニピュレータとして構成されたロボット本体1と、ロボット本体1を制御するロボットコントローラ2とを備えている。ロボット本体1とロボットコントローラ2とは接続ケーブル3により取り外し可能に接続されている。接続ケーブル3の一端にはロボット本体1との接続のためのコネクタ31が取り付けられており、他端にはロボットコントローラ2との接続のためのコネクタ32が取り付けられている。図1では破線で示しているが、ロボットシステムには、付属品として、ワークの姿勢を変更するアライナー4が設けられていてもよく、その場合、アライナー4もロボットコントローラ2に接続されてロボットコントローラ2によって制御される。アライナー4以外の付属品が設けられていてもよい。ロボットコントローラ2による制御の対象となるものを総称して対象ロボットと呼ぶこととする。ここで示す例で言えば、対象ロボットには、ロボット本体1とアライナー4とが含まれる。
【0019】
さらに本実施形態のロボットシステムは、ロボットコントローラ2がその制御対象とするロボット本体1を変更できるように、ロボットコントローラ2が接続するホスト装置5を備えている。ここではホスト装置5に対して1つのロボットコントローラ2が接続しているが、ホスト装置5には複数のロボットコントローラ2が接続してよい。特に、ネットワークを介してホスト装置5に対し複数のロボットコントローラ2が接続するように構成することにより、例えば工場内の全てのロボットコントローラ2に関してそのロボットコントローラ2が接続するロボットの機種を任意に変更できるようにすることができる。
【0020】
ロボット本体1は、複数の駆動軸を有するものであって、駆動軸ごとに、サーボモータであってその駆動軸を駆動するモータ11と、ロボットコントローラ2からの指令に基づいてモータ11を駆動制御するドライバ12と、モータ11の回転軸に取り付けられてその回転軸の回転位置を検出するエンコーダ13とを備えている。図示していないが、モータ11には減速機やプーリーなども付属している。エンコーダ13には、そのエンコーダの動作パラメータを格納する不揮発性の記憶部14が設けられている。記憶部14は、典型的にはEEPROM(電気的消去可能・プログラム可能読出し専用メモリ)によって構成される。ロボットシステムにアライナー4が設けられる場合、アライナー4は、1軸のロボットすなわち、モータ11、ドライバ12及びエンコーダ13を1つずつ有するものとして扱われる。アライナーのエンコーダ13にも不揮発性の記憶部14が設けられる。
【0021】
ロボットコントローラ2は、予め定められた軌道でロボット本体1が移動するように、各軸のエンコーダ13から読み出される回転位置に基づいて各軸のモータ11に対する指令を生成する制御部21と、制御部21での演算に必要なパラメータ類を格納する不揮発性の記憶部22と、を備えている。記憶部22に格納されるパラメータには、接続するロボット本体1やアライナー4の制御のためにロボット本体1やアライナー4のハードウェア条件を示す情報が含まれる。以下の説明において、ロボットごとにハードウェア条件を示す情報をハードウェア定義情報HwDefと呼ぶ。ハードウェア定義情報HwDefは、機種構成情報と個体差パラメータによって構成されている。制御部21は、ハードウェア定義情報HwDefを用いてロボット本体1やアライナー4を制御する。機種構成情報は、同一機種のロボットであれば共通であって個体差を無視できる情報であり、例えば、機種(ロボットタイプ)を示すデータ、マニピュレータであるロボット本体1を構成するアームやハンドの長さ、接続関係、各モータ11の仕様などを含んでいる。個体差パラメータは、同一機種のロボットであっても個体差が無視できないパラメータのことであり、例えば、原点位置に対する各エンコーダ13ごとのオフセット値を含んでいる。
【0022】
ホスト装置5は、ロボットコントローラ2で使用するプログラム類を一括して管理するものであって一般的にはサーバ装置として構成されており、ホスト制御部51とファイルパッケージ格納部52とを備えている。ホスト制御部51は、ホスト装置5の全体を制御するものであって例えばオペレーティングシステムなどによって実現するものである。ファイルパッケージ格納部52は、ロボットコントローラ2からの要求に応じてロボットコントローラ2に送信されるプログラムやデータを格納するものである。特に本実施形態では、ファイルパッケージ格納部52は、そのホスト装置5に接続される可能性があるロボットコントローラ2が制御対象とするロボットの全機種についてのハードウェア定義情報HwDefを格納している。ファイルパッケージ格納部52に格納されるハードウェア定義情報HwDefでは、機種ごとに機種構成情報と個体差パラメータとが別個に管理されており、個体差パラメータとして記憶される情報は、個体差パラメータの初期値であっても、バックアップのために特定のロボットコントローラ2から送られてきた個体差パラメータであってもよい。
【0023】
ロボットコントローラ2は、ロボット本体1やアライナー4の制御を行なうために、その記憶部22内にハードウェア定義情報HwDefが格納されている必要がある。本実施形態では、ある機種のロボットに接続されているロボットコントローラを同一機種用の別のロボットコントローラと交換することと、異なる機種用のロボットコントローラと交換することとの両方を可能にするために、図2に示すように、ロボットコントローラ2の記憶部22に格納されるハードウェア定義情報HwDefについて、その機種構成情報はホスト装置5から読込み、個体差パラメータは接続してるロボット本体1やアライナー4のエンコーダ13から読込むことを可能にしている。このロボットコントローラ2の制御部21は、ロボットコントローラ2の本体あるいはロボットコントローラ2に接続するティーチングペンダントを介して操作者から「ALL NEWコマンド」が入力されると、ホスト装置5に対し、コマンドにおいて指定した機種のハードウェア定義情報HwDefを要求してそのハードウェア定義情報HwDefを記憶部22に読込む機能を有する。このとき、ホスト装置5から読込むハードウェア定義情報HwDefは、機種構成情報だけであってもよいし、機種構成情報と個体差パラメータの初期値であってもよい。ハードウェア定義情報HwDefを記憶部22に読込んだ後にロボットコントローラ2を再起動すれば、ロボットコントローラ2は、新たに読込んだハードウェア定義情報HwDefに対応する機種のロボットに対応するロボットコントローラとして機能することになる。
【0024】
なお、ある機種のロボット本体1に接続されるロボットコントローラを同一機種用または他機種用の他のロボットコントローラに交換する、あるいはロボットコントローラ2に接続されるロボット本体を同一機種あるいは他機種の範囲内で交換することを可能にする。このどちらの種類の交換も、結局は、ロボット本体1とロボットコントローラ2の組み合わせの範囲内であり、これらの交換のことを以下の説明では「ロボットコントローラの交換」と呼ぶことにする。例えば予備品として用意されたロボットコントローラと交換することもロボットコントローラの交換である。
【0025】
図3は、場合に応じて機種構成情報及び個体差パラメータがどこからロボットコントローラ2に読込まれるかを示している。図3(a)は、ロボットコントローラ2に接続してるロボット本体1やアライナー4に変更がなかった場合を示している。このときは、ロボットコントローラ2の記憶部22に既に読込まれているハードウェア定義情報HwDefによってロボットコントローラ2は動作する。図3(b)は、ロボット本体1に接続するロボットコントローラを同一機種用のロボットコントローラに交換した場合を示している。このときは、ロボットコントローラ2では、新たに接続されたロボット本体1やアライナー4のエンコーダ13から個体差パラメータのみを読込んで、記憶部22内に格納されているハードウエア定義情報HwDefの個体差パラメータを更新する。図3(c)は、ロボット本体1に接続するロボットコントローラを他機種のロボットコントローラと交換した場合を説明している。この場合は、ロボットコントローラ2は、新たに接続されたロボット本体1やアライナー4についての機種構成情報をホスト装置から読込み、個体差パラメータについてはそのロボット本体1やアライナー4のエンコーダ13から読込む。そして、ロボットコントローラ2では、読込んだ機種構成情報及び個体差パラメータによって記憶部22内の機種構成情報及び個体差パラメータが更新される。
【0026】
ロボットコントローラ2の交換があったときは、ロボット本体1やアライナー4のエンコーダ13から個体パラメータがロボットコントローラ2が読込まれるが、そのためには、まず、ロボットコントローラの交換と呼ばれる事象が起きたかどうかをロボットコントローラ2が認識できなければならない。そこで本実施形態では、ロボットコントローラ2の交換を可能にするために、交換を検出するためのデータと個体差パラメータとを少なくとも含む装置固有データをエンコーダ13の不揮発性の記憶部14に書き込んでおき、ロボットシステムの起動時に各エンコーダ13から装置固有データをロボットコントローラ2に読込むようにする。そして、読込んだ結果、ロボットコントローラ2の交換があったと判断されるときは、ロボットコントローラ2の制御部21は、エンコーダ13から読込んだ装置固有データを用いて必要な処理を実行する。さらにロボットコントローラ2の制御部21は、不適切な交換が行われたかどうかも装置固有データを用いて判断する。
【0027】
図4は、エンコーダ13ごとにその記憶部14に記憶される装置固有データの形式の一例を示している。装置固有データは、ロボットの機種を示すデータと、ロボット本体1やアライナー4を個体として識別するためのデータと、個体差パラメータとして同一機種のロボット本体1やアライナー4の中で変化し得るパラメータ(例えば原点位置に対するオフセット値)とを含む固定長のデータである。ロボット本体1やアライナー4を個体として識別するデータを個体識別データと呼ぶ。本実施形態では、シリアル番号を個体識別データとするが、他のデータを個体識別データとして用いてもよい。図示されるように、装置固有データは、アドレス順に、ヘッダ情報とデータ部とから構成されている。アライナー4の記憶部14にも同様の装置固有データが格納される。ヘッダ情報には、装置固有データの形式を特定するフォーマットバージョンのフィールド、書き込み状態のフィールド、予約領域、及び、ヘッダ情報についてのチェックサムのフィールドが含まれる。書き込み状態のフィールドには、その装置固有データが初期状態のものなのか、書き込みが完了したものなのか、あるいは書き込み途中であって書き込みが未完了のものなのか、を示すデータが書き込まれる。ヘッダ情報チェックサムのフィールドは、フォーマットバージョンのフィールド、書き込み状態のフィールド及びヘッダ情報の予約領域に対するチェックサムを格納するフィールドである。
【0028】
データ部は、データ部全体に対するチェックサムを格納するデータ部のチェックサムの領域と、ロボットの機種を示すデータであるロボットタイプのフィールドと、シリアル番号のフィールドと、原点位置に対するオフセット値のフィールドと、物理軸番号のフィールドと、ロボットタスク番号のフィールドと、予約領域とからなっている。本実施形態では、装置固有データとしてエンコーダ13ごとに記憶される個体差パラメータは、ロボット本体1の全体に関するものではなく、そのエンコーダ13に関するものに限定されている。したがって、原点位置に関するオフセット値としては、ロボット本体1が原点位置にあるときにその装置固有データを格納するエンコーダ13の回転位置についてのオフセット値が格納される。アライナー4の記憶部14に格納される個体差パラメータは、アライナー4のエンコーダ13に関するものに限定される。物理軸番号のフィールドは、ロボット本体1に複数の駆動軸があってそれらの駆動軸に一意に物理軸番号が付与されているとして、その装置固有データを格納するエンコーダ13がどの物理軸のものであるかを示している。ロボットタスク番号は、その装置固有データを格納するエンコーダ13がロボット本体1のものなのかアライナー4のものなのかを示す番号である。本実施形態では、ロボット本体1とアライナー4とでは同じロボットタイプを使用するものとしており、これらの区別はロボットタスク番号を用いて行なっている。複数の付属品を使用する場合には、付属品の種類に応じて異なるロボットタスク番号を付与するようにする。シリアル番号は個体識別データを構成し、物理軸番号及びロボットタスク番号の各々は、対象ロボットの構成に関する情報の1つである。
【0029】
エンコーダ13をモータ11から取り外すことは一般には行なわれないから、ロボット本体1やアライナー4においてモータ11を交換するときはエンコーダ13と一緒に交換することになる。したがって、エンコーダ13の記憶部14に格納されている装置固有データは、モータ11に紐付けられているデータであるといえる。モータ11を交換したときは、そのときのモータ11の組み付けのばらつきなどにより、原点位置に対するオフセット値も変化するから、再度、オフセット値を決定する調整作業を行なう必要がある。そこで本実施形態では、コントローラの交換は認めるものの、ロボット本体1やアライナー4におけるモータ11単体の交換は認めずにエラーとすることにする。同様の理由により、エンコーダ13に記憶される物理軸番号は、実際にそのエンコーダ13に関連する駆動軸の物理軸番号と一致していなければならない。また、同一のロボット本体1に含まれるエンコーダ13では装置固有データのシリアル番号が全て同じであるものとする。もちろん、他のロボット本体1に含まれるエンコーダ13とは装置固有データのシリアル番号が異なるものとする。ロボット本体1と同時に使用されるアライナー4については、ロボット本体1側の装置固有データにおけるシリアル番号とアライナー4側の装置固有データにおけるシリアル番号とは同じであっても異なっていてもよい。
【0030】
装置固有データのデータ構成について図4を用いて説明したが、装置固有データに格納される同一機種のロボットにおいても個体差のあるパラメータとして、原点位置に対するオフセット値以外のものを用いてもよく、複数種類のパラメータを用いてもよい。さらに、不適切な交換などの検出のために、ロボットを個体として識別する情報として、ロボットタイプやシリアル番号以外の情報を用いてもよく、あるいは、ロボットタイプとシリアル番号に加えて他の情報を用いてもよい。
【0031】
次に、ロボットコントローラ2を交換した際のロボットシステムにおける処理について説明する。ロボットコントローラ2の記憶部22には、機種に応じたハードウェア定義情報HwDefが格納されるが、そのハードウェア定義情報HwDefは、現在接続されているか直近に接続されていたロボット本体1についてのものである。さらに、ロボットコントローラ2の記憶部22には、その格納するハードウェア定義情報HwDefがどのロボットに対応するものかを示すために個体識別データも格納している。記憶部22には、現在接続されているか直近に接続されていたロボット本体1(さらにはアライナー4)の個体識別データ及び個体差パラメータの代わりに初期値が格納されていてもよい。さらには、ロボットコントローラ2におけるコマンド操作によって個体識別データ及び個体差パラメータの部分を初期値にクリアできるようになっていてもよい。
【0032】
図5及び図6は、ロボットシステムで実行される処理を示すフローチャートである。ここで示す処理は、電源投入時などにロボットコントローラ2がロボットシステムを起動する処理である。以下の説明において、ロボット本体1のみがロボットコントローラ2に接続されているときはロボット本体1の各駆動軸を有効軸と呼び、ロボット本体1とアライナー4の両方が接続されているときはロボット本体1とアライナー4の各駆動軸を有効軸と呼ぶ。ロボット本体1が接続されさらに必要に応じてアライナー4が接続された状態でこのロボットシステムの電源を投入すると、ロボットコントローラ2の制御部21は、ステップ101において、各有効軸のエンコーダ13から、そのエンコーダ13の記憶部(EEPROM)14に格納されている装置固有データを読込み、ステップ102において、全ての有効軸についてデータの読込みが正常に終了したかどうかを判定する。正常に終了していない場合には、リアルタイムエラーが発生したものとして、制御部21はロボットシステムの動作が終了させる。全有効軸のデータの読込みが正常に終了した場合には、制御部21は、ステップ103において、エンコーダ13から読込んだデータの中のロボットタスク番号が同じである軸の装置固有データにおいてシリアル番号が同一かどうかを判定する。シリアル番号が同一でない装置固有データがあることはモータ11が交換されたことを意味するから、モータ交換エラーが発生したものとして、制御部21はロボットシステムの動作が終了させる。
【0033】
ステップ103においてモータ交換エラーが発生しなかった場合には、制御部21は、ステップ104において、全ての有効軸においてエンコーダ13から読出されたロボットタイプ(機種)が記憶部22に予め記憶されているロボットタイプと一致するかどうかを判定する。一致しない場合は、ロボットコントローラ2が対象とする機種以外のロボット本体1あるいはアライナー4がロボットコントローラ2に接続されている、すなわち異なる機種用のロボットコントローラに交換された場合である。一方、一致する場合は、ロボットコントローラ2の交換がなかったか、あるいはロボットコントローラ2の交換があったとしても同一機種用のロボットコントローラが交換された場合である。そこで、この2つの場合のうち、まず、ロボットコントローラ2の交換がなかったか、あるいはロボットコントローラ2の交換があったとしても同一機種用のロボットコントローラが交換された場合について説明する。
【0034】
ステップ104においてロボットタイプが一致したときは、制御部21は、ステップ111において、全有効軸について、エンコーダ13から読込んだ物理軸番号及びロボットタスク番号が、記憶部22に予め記憶されている物理軸番号及びロボットタスク番号に一致しているかを判定する。ロボットコントローラ2が複数のエンコーダ13から装置固有データを読込むときは、予め定められた順番によってエンコーダ13の一つずつからデータを読込むが、このとき、モータ配線の誤接続などによって本来の順番とは異なる順番でデータを読込んでしまうことがあり、この場合、物理軸番号あるいはロボットタスク番号の不一致が生じる。複数のエンコーダ13から並列にデータを読込む場合であっても、配線の誤接続があれば、物理軸番号あるいはロボットタスク番号の不一致が生じる。そこで物理軸番号あるいはロボットタスク番号の不一致が生じたときは、構成不一致エラーが発生したものとして、制御部21はロボットシステムの動作が終了させる。
【0035】
ステップ111において全ての有効軸について物理軸番号及びロボットタスク番号が一致したときは、制御部21は、ステップ112において、全有効軸について、エンコーダ13から読込んだシリアル番号と記憶部22に記憶されたシリアル番号とが一致するかどうかを判定する。ここで一致している場合には、ロボットコントローラ2の交換もアライナー4も交換されていない場合であるので、次に制御部21は、ステップ113において、全ての有効軸について記憶部22に記憶されているオフセット値とエンコーダ13から読込んだオフセット値とが一致するかを判定する。ここで全ての有効軸に関してオフセット値が一致するときは、ロボットコントローラ2の記憶部22に格納されているオフセット値すなわち個体差パラメータは適切なものであると判断できるので、制御部21は、ステップ114において、ロボットシステムを正常起動して、システム起動の処理を終了する。
【0036】
ステップ113においてロボットコントローラ2の記憶部22に予め格納されたオフセット値とエンコーダ13から読込んでオフセット値とが一致しないのは、モータ11の再調整などを行ったがその結果がロボットコントローラ2側に反映されていない場合である。そこで制御部21は、ステップ115において、エンコーダ13から読込んだオフセット値によって記憶部22に格納されているオフセット値を書き換えて処理を終了する。こののち、電源投入を再度行えば、そのときはステップ101からステップ112までの処理が実行され、引き続いてステップ113、ステップ114と処理が進行するので、書き換え後のオフセット値に基づいてロボットシステムが正常起動することになる。
【0037】
ステップ112においてシリアル番号が一致しないのは、同一機種用のロボットコントローラ2の交換があったか、アライナー4の交換があったかのいずれかの場合である。そこで制御部21は、ステップ112においてシリアル番号の不一致があったときに、ステップ116において、ロボットタスク番号から判別されるアライナー4の軸でのみシリアル番号の不一致となっているかどうかを判定する。アライナー4の軸でのみシリアル番号の不一致となっているときはアライナー4の交換と判断できるので、制御部21は、ステップ117において、アライナー4の軸に関し、エンコーダ13から読込んだオフセット値によって記憶部22に格納されているオフセット値を書き換えて処理を終了する。こののち、電源投入を再度行えば、書き換え後のオフセット値に基づいてロボットシステムが正常起動することになる。
【0038】
ステップ116においてアライナー4の軸以外でもシリアル番号の不一致がある場合には、同一機種用のロボットコントローラ2の交換があったと判断できるので、制御部21は、ステップ118において、全有効軸に関し、エンコーダ13から読込んだシリアル番号及びオフセット値によって記憶部22に格納されているシリアル番号及びオフセット値を書き換えて処理を終了する。電源投入を再度行えば、書き換え後のシリアル番号及びオフセット値に基づいてロボットシステムが正常起動することになる。ロボット本体1(及びアライナー4)のエンコーダ13から読込んだシリアル番号(すなわち個体識別データ)とオフセット値(すなわち個体差パラメータ)とによって、ロボットコントローラ2の記憶部22に格納されているシリアル番号とオフセット値とを書き換えることにより、ロボットコントローラ2は、その接続されるロボット本体1やアライナー4が交換された場合に交換後のロボット本体1やアライナー4に適合するものとなる。また、予備品であってその記憶部22において個体識別データ(シリアル番号)と個体パラメータ(オフセット値)に初期値が格納されている予備品のロボットコントローラ2についても、ここで示す処理を実行することによって、そのロボットコントローラ2に接続しているロボット本体1やアライナー4の制御に適したものとなる。
【0039】
次に、ステップ104においてロボットタイプが一致しなかったとき、すなわち他機種用のロボットコントローラに交換されたときの処理を説明する。ステップ104で不一致と判断すると、ロボットコントローラ2は、ステップ121において操作者に対して機種不一致の旨を表示し、ステップ122において、操作者からのALL NEWコマンドの入力を待ち受ける。ALL NEWコマンドの入力があったら、制御部21は、ステップ123において、エンコーダ13側から取得したロボットタイプに基づいて、そのロボットタイプの機種の機種構成情報をホスト装置5からダウンロードして記憶部22に格納し、ステップ124においてロボットシステムを再起動する。あるいは制御部21は、操作者からの入力を待ち受けることなく自動的にALL NEWコマンドを実行し、その後、ロボットシステムを自動的に再起動してもよい。ALL NEWコマンドの実行とシステムの再起動とにより、ロボットコントローラ2は、エンコーダ13側から取得したロボットタイプの機種に適合したロボットコントローラとして機能することになる。その後、ロボットコントローラ2の制御部21は、ステップ101からの処理を再度実行する。ステップ101からの処理を再度実行したときには、ステップ104において、エンコーダ13側とロボットコントローラ2側のロボットタイプは一致するはずであるので、続いてステップ111の処理が実行され、同一機種用のロボットコントローラ2が交換された場合と同じ処理が実行されることになる。このようにして本実施形態では、ロボット本体1に対して異なる機種のロボットコントローラを接続することを可能にし、他機種のロボットコンローラとの交換を可能にしている。
【0040】
図7は、ここで説明した処理を説明する状態遷移図である。ロボットコントローラ2がその接続しているロボット本体1とアライナー4などの付属品とを制御するのに適した状態であることを正常状態と呼ぶ。正常状態において同一機種のロボットコントローラ2の交換が行われたときは、ロボットコントローラ2の交換が行われたことを示すイベントが起動時に上記のステップ118に示すように発生し、個体差パラメータを含む装置固有データがエンコーダ13側からロボットコントローラ2の記憶部22に自動的にコピーされ、その後、電源投入の動作を行えば正常状態に自動復帰することになる。正常状態において異機種のロボットコントローラ2の交換が行なわれたときは、そのことを示すイベントが起動時に上記のステップ104に示すように発生し、ALL NEWコマンドの入力によって、対応する機種用の機種構成情報がロボットコントローラ2の記憶部22に読込まれる。その後、システムの再起動によって、同一機種のロボットコントローラが交換された状態に移行し、上述と同様に、装置固有データがロボットコントローラ2の記憶部22に自動的にコピーされ、正常状態に復帰することになる。
【0041】
アライナー4などの付属品を交換したときは、付属品交換が行われたことを示すイベントが起動時に上記のステップ117に示すように発生し、個体差パラメータがエンコーダ13側からロボットコントローラ2の記憶部22に自動的にコピーされ、正常状態に戻ることになる。これに対してモータ交換が行われた場合には、ステップ103に示すようにモータ交換エラーとなってロボットシステムの起動処理が異常終了し、ロボットシステムの起動が不可となる。モータ交換エラーから正常状態に復帰するためには、交換されたモータに対応する軸の再調整作業などのメンテナンス作業を実施する必要がある。ステップ105で判定される構成不一致エラーは、ロボット本体1やアライナー4さらにはロボットコントローラ2に記憶されている装置固有データにおけるパラメータ異常に分類されるものであり、パラメータ異常と判定された場合には、ロボットシステムの起動処理が異常終了し、ロボットシステムの起動が不可となる。パラメータ異常から正常状態に復帰するためには、誤配線を修正するなどして、正しいパラメータ設定となるようにする必要がある。
【0042】
[本実施形態の効果]
本実施形態によれば、電源投入時などに、対象ロボット(ロボット本体1及びアライナー4)のエンコーダ13に格納されている装置固有データを読み出してロボットコントローラ2に格納されている装置固有データを照合し、同一機種のロボットコントローラの交換が検出されたときには最新の個体差パラメータを対象ロボット側からロボットコントローラ2に読込むので、同じ機種用のロボットコントローラを交換して使用することが可能になり、交換後のロボットコントローラ2を用いてその接続している対象ロボットに適した制御を実行できるようになる。さらに異機種のロボットコントローラの交換が検出されたときには対応する機種の機種構成情報をホスト装置5からロボットコントローラ2に読込むことによってそのロボットコントローラ2を現在接続している対象ロボットの機種に適合するものとし、その後、同一機種のロボットコントローラの交換が検出されたときと同じ処理を実行するので、異なる機種用のロボットコントローラを交換して使用することも可能になる。結局、本実施形態によれば、ホスト装置に機種構成情報が格納されている機種については、機種ごとという制約にとらわれずに任意のロボットに対して同じロボットコントローラを接続することが可能となる。また構成の不一致が生じたとき、モータ交換が検出されたときには起動不可とすることによって、不適切な状態でロボット本体やアライナーが動作することを防ぐことができる。
【符号の説明】
【0043】
1…ロボット本体、2…ロボットコントローラ、4…アライナー、5…ホスト装置、11…モータ、12…ドライバ、13…エンコーダ、14,22…記憶部、21…制御部、51…ホスト制御部、52…ファイルパッケージ格納部。
図1
図2
図3
図4
図5
図6
図7