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

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

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

<>
  • 特許-ロボットシステム 図1
  • 特許-ロボットシステム 図2
  • 特許-ロボットシステム 図3
  • 特許-ロボットシステム 図4
  • 特許-ロボットシステム 図5
  • 特許-ロボットシステム 図6
  • 特許-ロボットシステム 図7
  • 特許-ロボットシステム 図8
  • 特許-ロボットシステム 図9
  • 特許-ロボットシステム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-06
(45)【発行日】2023-06-14
(54)【発明の名称】ロボットシステム
(51)【国際特許分類】
   B25J 9/10 20060101AFI20230607BHJP
   B25J 13/00 20060101ALI20230607BHJP
   B25J 19/02 20060101ALI20230607BHJP
【FI】
B25J9/10
B25J13/00 Z
B25J19/02
【請求項の数】 10
(21)【出願番号】P 2019085664
(22)【出願日】2019-04-26
(65)【公開番号】P2020179486
(43)【公開日】2020-11-05
【審査請求日】2022-03-16
(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)
【文献】特開2012-011494(JP,A)
【文献】特開2013-056378(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
(57)【特許請求の範囲】
【請求項1】
ロボットコントローラと、前記ロボットコントローラによる制御の対象である対象ロボットと、を有するロボットシステムであって、
前記対象ロボットは、前記対象ロボットのハードウェア識別子と、前記対象ロボットを個体として識別する個体識別データと、当該対象ロボットに固有の個体差パラメータとを含む装置固有データを格納する第1記憶部を備え、
ロボットコントローラによる制御の対象として同一の機構を有する前記対象ロボットには同一のハードウェア識別子が付与されており、
前記ロボットコントローラは、
前記ハードウェア識別子に対応する共通構成情報と、当該ロボットコントローラに接続されている対象ロボットの前記個体識別データ及び前記個体差パラメータとを格納する第2記憶部と、
前記第2記憶部に格納されている前記共通構成情報に対応する前記ハードウェア識別子と前記対象ロボットに付与されている前記ハードウェア識別子とを照合して一致する場合に、前記第2記憶部に格納されている前記共通構成情報と前記第1記憶部から読み込んだ前記個体差パラメータとに基づいて前記対象ロボットのハードウェア定義情報を生成し、前記ハードウェア定義情報によって前記対象ロボットを制御する制御部と、
を有し、
前記対象ロボットは複数の駆動軸を備えて駆動軸ごとに当該駆動軸を駆動するモータと前記モータの回転軸の回転位置を検出するエンコーダとを有し、
前記個体差パラメータは、前記対象ロボットの原点位置に対する前記エンコーダごとのオフセット値を含み、
前記共通構成情報は、前記対象ロボットを構成するアーム長に関するデータを含んでいる、ロボットシステム。
【請求項2】
複数のハードウェア識別子の各々の前記共通構成情報を格納するテンプレート格納部を備え、前記制御部は、前記ハードウェア識別子の照合の結果、一致しない場合に、前記対象ロボットに付与されている前記ハードウェア識別子に対応する前記共通構成情報を前記テンプレート格納部から読み込んで前記第2記憶部内の前記共通構成情報を更新し、更新後の前記共通構成情報を用いて前記対象ロボットの前記ハードウェア定義情報を生成する、請求項1に記載のロボットシステム。
【請求項3】
前記テンプレート格納部は、前記ロボットコントローラが接続する上位装置に設けられている、請求項2に記載のロボットシステム。
【請求項4】
前記制御部は、前記第1記憶部から読み込んだ前記個体識別データと前記第2記憶部に既に格納されている前記個体識別データとを照合し、照合の結果が一致しているときは、新たに前記ハードウェア定義情報を作成することなく既に作成されている前記ハードウェア定義情報によって前記対象ロボットを制御する、請求項1乃至3のいずれか1項に記載のロボットシステム。
【請求項5】
前記対象ロボットは、少なくともマニピュレータを含むロボット本体と、前記ロボット本体からは分離した付属品と、を有し、
前記ロボット本体と前記付属品には異なる前記ハードウェア識別子が付与され、
前記制御部は、前記ロボット本体と前記付属品の各々について前記ハードウェア識別子の照合を行う、請求項1乃至4のいずれか1項に記載のロボットシステム。
【請求項6】
前記ロボット本体と前記付属品の各々に前記第1記憶部が設けられ、前記ロボット本体の前記第1記憶部には当該ロボット本体の前記個体識別データと前記個体差パラメータが格納され、前記付属品の前記第1記憶部には当該付属品の前記個体識別データと前記個体差パラメータが格納される、請求項5に記載のロボットシステム。
【請求項7】
前記ロボット本体の前記個体識別データには当該ロボット本体の機種に関するデータが含まれ、
前記付属品の前記個体識別データには当該付属品の機種に関するデータが含まれ、
前記ロボットコントローラは、前記ロボット本体の機種と前記付属品の機種との許容される組み合わせを記述する機種構成テーブルを備え、
前記制御部は、前記ロボットコントローラに接続された前記ロボット本体及び前記付属品の組み合わせが前記機種構成テーブルに記述されていないときに警告を発する、請求項5または6に記載のロボットシステム。
【請求項8】
前記ロボット本体は前記マニピュレータとハンドとを有し、前記マニピュレータと前記ハンドには異なる前記ハードウェア識別子が付与され、前記制御部は、前記マニピュレータと前記ハンドの各々について前記ハードウェア識別子の照合を行う、請求項5または6に記載のロボットシステム。
【請求項9】
前記マニピュレータと前記ハンドの各々に前記第1記憶部が設けられ、前記マニピュレータの前記第1記憶部には当該マニピュレータの前記個体識別データと前記個体差パラメータが格納され、前記ハンドの前記第1記憶部には当該ハンドの前記個体識別データと前記個体差パラメータが格納される、請求項8に記載のロボットシステム。
【請求項10】
前記マニピュレータの前記個体識別データには当該マニピュレータの機種に関するデータが含まれ、
前記ハンドの前記個体識別データには当該ハンドの機種に関するデータが含まれ、
前記付属品の前記個体識別データには当該付属品の機種に関するデータが含まれ、
前記ロボットコントローラは、前記マニピュレータの機種と前記ハンドの機種と前記付属品の機種との許容される組み合わせを記述する機種構成テーブルを備え、
前記制御部は、前記ロボットコントローラに接続された前記マニピュレータ、前記ハンド及び前記付属品の組み合わせが前記機種構成テーブルに記述されていないときに警告を発する、請求項8または9に記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、少なくともロボット本体とこのロボット本体を制御するロボットコントローラとを備えるロボットシステムに関する。
【背景技術】
【0002】
ロボットシステムは、一般に、相互に連結されたアームとそれらの連結部を駆動するモータとからなるマニピュレータと、マニピュレータに取り付けられたハンドあるいはツールと、マニピュレータ及びハンドを制御するロボットコントローラとから構成されている。マニピュレータ及びハンドによってロボット本体が構成されている。マニピュレータからハンドを取り外せないようなロボットにおいては、マニピュレータにハンドが含まれていると考えてもよく、その場合はロボット本体はマニピュレータだけで構成されていると考えてもよい。ロボット本体内の各モータの回転をロボットコントローラによって制御するために、モータにはその回転位置を検出するエンコーダが取り付けられており、エンコーダで取得した回転位置情報はロボットコントローラに随時送信される。場合によっては、ロボットシステムには、ロボット本体とは独立した付属品が設けられることがある。ロボット本体の処理対象となるワークの姿勢を変更するアライナーなども付属品である。付属品もロボットコントローラによる制御の対象となる。
【0003】
ロボット本体であるマニピュレータ及びハンドでは、ロボットの機種ごとに、アームやハンドの数や寸法、それらの接続関係、搭載されるモータの仕様などが異なっている。これらのロボットの構成情報は、一般にロボットコントローラに予め記憶されることとなっており、そのため、ロボットの機種ごとにロボットコントローラが用意されることになる。ロボットコントローラは、それが対象とする機種以外の機種のロボットをそのままでは制御できない。ある機種用のロボットコントローラを用いて他の機種のロボットを制御しようとするときには、作業者によってロボットの機種を確認し、確認された機種に適合したロボット構成情報にロボットコントローラ内の情報を入れ換える作業が必要である。そのため、ロボットの機種ごとにロボットコントローラが用意されることになる。さらに同一機種のロボットであってもロボット本体ごとにどうしても個体差があり、ロボットコントローラによって制御するときは個体差に応じた制御を行なう必要がある。個体差の例として、原点位置に対するオフセット値がある。マニピュレータやハンドにはその動作の基準となる姿勢である原点位置が定められているが、原点位置となるときにモータごとのエンコーダが示す回転位置データは、モータやエンコーダの取り付け上のばらつきなどにより、マニピュレータやハンドの個体ごとに異なる値となってしまう。モータを有する付属品についても同様である。そこでロボットの組み立て完了時などに個体差を実測し、その後、個体差についてのデータは、ロボットコントローラの記憶部に格納される。このため、同じ機種のロボット本体を対象とするロボットコントローラであっても、同一機種のロボット本体を交換して接続する場合には精度の高い制御を行うことができなくなり、ロボットコントローラの再調整が必要となる。このため、同一機種のロボット本体を交換して接続することは容易ではない。
【0004】
しかしながら、ロボットを使用する場合には、ロボットを使用する作業の効率化を図るとともに、工程の変更や障害発生時などに柔軟に対応できるようにするために、同一機種のロボット本体に対して当該機種用のロボットコントローラを交換して接続したい、という要望がある。さらに、機種は異なっているものの、ロボット本体としての構成及び制御という観点からは同一の機種といえる、という場合がある。例えば、ロボット本体に対して付属品であるアライナーが付属しているか否かで別の機種としていることがある。アライナーを用いない作業をロボット本体に実行させるのであれば、機種が異なっていても同一のロボットコントローラを用いて作業を実施できることが期待される。さらには、機構は全く同一であるがマニピュレータの外装の塗装に用いる塗料としてクリーンルーム内での使用を前提としてエポキシ塗料を用いたロボット本体と、クリーンルーム内での使用を考慮せずに一般的な塗料を用いたロボット本体とを異なる機種としている場合もある。このような場合には、ロボット本体としては異機種であっても同一のロボットコントローラを交換して接続できることが望まれる。
【0005】
ロボットコントローラに接続されるロボット本体を交換することを可能にする試みとして、特許文献1は、ロボット本体内の内蔵ボードを取り替えたときであってもロボットコントローラによって制御可能なロボットシステムを開示している。特許文献2は、ロボット機構部あるいは機構ユニットの交換後に諸データ変更の作業を自動化するために、交換を検出したらロボット機構部あるいは機構ユニットから読み込んだデータによってロボットコントローラ内のデータを書き換えることを開示している。ロボット機構部あるいは機構ユニットから読み込まれるデータには、アーム長などのロボットの軸構成に関するデータも含まれている。特許文献3は、ロボットに設けられるセンサー類に関する情報に関し、ロボット本体の交換後にロボット本体からロボットコントローラに読み込むことを開示している。特許文献4は、これまで使用していたロボットコントローラから新たなロボットコントローラへのロボット動作用データの移行を適切かつ簡便に行うために、交換用のメモリを使用することを開示している。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2001-242922号公報
【文献】特開2004-148433号公報
【文献】特開2016-137526号公報
【文献】特開2013-56378号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ある機種のロボット本体に接続されるロボットコントローラをその機種用の他のロボットコントローラに交換する、あるいはロボットコントローラに接続されるロボット本体を同一機種の範囲内で交換することは、同一機種内でロボット本体とロボットコンローラとの組み合わせを変更することに他ならない。ロボットコントローラに接続されるロボット本体の変更を可能にする特許文献1~4に開示される技術は、同一機種内でロボット本体とロボットコントローラとの組み合わせを変更するという観点からすると、必ずしも最適化された技術であるとは言えない。特許文献4に示す技術では、ロボットコントローラの変更の際に結局は個体差に関するパラメータをバックアップする必要があり、手順として煩雑なものとなる。さらには、異なる機種であるが機構としては同一であるロボット本体とロボットコントローラとの組み合わせを変更することについては、特許文献1~4には開示されていない。
【0008】
本発明の目的は、ロボット本体に対してロボットコントローラや付属品を交換して接続することが容易であり、かつ、ロボット本体や付属品側に保持するデータを最小限のものとすることができるロボットシステムを提供することにある。
【課題を解決するための手段】
【0009】
本発明のロボットシステムは、ロボットコントローラと、ロボットコントローラによる制御の対象である対象ロボットと、を有するロボットシステムであって、対象ロボットは、対象ロボットのハードウェア識別子と、対象ロボットを個体として識別する個体識別データと、その対象ロボットに固有の個体差パラメータとを含む装置固有データを格納する第1記憶部を備え、ロボットコントローラによる制御の対象として同一の機構を有する対象ロボットには同一のハードウェア識別子が付与されており、ロボットコントローラは、ハードウェア識別子に対応する共通構成情報と、そのロボットコントローラに接続されている対象ロボットの個体識別データ及び個体差パラメータとを格納する第2記憶部と、第2記憶部に格納されている共通構成情報に対応するハードウェア識別子と対象ロボットに付与されているハードウェア識別子とを照合して一致する場合に、第2記憶部に格納されている共通構成情報と第1記憶部から読み込んだ個体差パラメータとに基づいて対象ロボットのハードウェア定義情報を生成し、ハードウェア定義情報によって対象ロボットを制御する制御部と、を有し、対象ロボットは複数の駆動軸を備えて駆動軸ごとにその駆動軸を駆動するモータとモータの回転軸の回転位置を検出するエンコーダとを有し、個体差パラメータは、対象ロボットの原点位置に対するエンコーダごとのオフセット値を含み、共通構成情報は、対象ロボットを構成するアーム長に関するデータを含んでいる。
【0010】
本発明によれば、ロボットコントローラによる制御の対象として同一の機構を有する対象ロボットには同一のハードウェア識別子を付与するので、機種が異なっていても機構としては同一であるロボットには同じハードウェア識別子が付与される。その結果、対象ロボットに接続されるロボットコントローラとして、同一機種用の別のロボットコントローラだけでなく、ハードウェア識別子が同一であれば異なる機種用のロボットコントローラも使用することが可能になる。また、対象ロボットの第1記憶部に格納された個体差パラメータを使用してハードウェア定義情報を生成するので、ロボットコントローラは、対象ロボットの個体差を考慮して、実際に接続されている対象ロボットに適した制御を行うことができるようになる。
【0011】
本発明のロボットシステムでは、複数のハードウェア識別子のそれぞれの共通構成情報を格納するテンプレート格納部を備えた上で、ロボットコントローラの制御部が、ハードウェア識別子の照合の結果、一致しない場合に、対象ロボットに付与されているハードウェア識別子に対応する共通構成情報をテンプレート格納部から読み込んで第2記憶部内の共通構成情報を更新し、更新後の共通構成情報を用いて対象ロボットのハードウェア定義情報を生成することができる。複数のハードウェア識別子のそれぞれの共通構成情報をあらかじめ用意した上で、ハードウェア識別子の照合において一致しなかった場合に、ロボット側のハードウェア識別子に対応する共通構成情報を読み込んでハードウェア定義情報を作成することにより、ロボットコントローラの能力の範囲内で、機構が異なるロボットを交換して同一のロボットコントローラによって適切に制御することが可能になる。この場合、ロボットコントローラが接続する上位装置にテンプレート格納部を設けることが好ましい。上位装置にテンプレート格納部を設けることによって、既存のものとは機構が異なる新機種のロボットに対しても、上位装置側において共通構成情報を準備することにより、その上位装置に接続する多数のロボットコントローラが新機種用の共通構成情報を利用できるようになる。
【0012】
本発明のロボットシステムにおいて制御部は、第1記憶部から読み込んだ個体識別データと第2記憶部に既に格納されている個体識別データとを照合し、照合の結果が一致しているときは、新たにハードウェア定義情報を作成することなく既に作成されているハードウェア定義情報によって対象ロボットを制御することができる。これにより、ロボットの交換が行われていないときは従前のハードウェア定義情報をそのまま使用することとなるので、重複してハードウェア定義情報を作成することを防ぐことができる。
【0013】
本発明のロボットシステムにおいて、対象ロボットは、少なくともマニピュレータを含むロボット本体と、ロボット本体からは分離した付属品と、を有し、ロボット本体と付属品には異なるハードウェア識別子が付与され、制御部が、ロボット本体と付属品の各々についてハードウェア識別子の照合を行ってもよい。このように構成することにより、ロボット本体と付属品との組み合わせを柔軟に変更しつつロボットを適切に制御することができるようになる。このとき、ロボット本体の第1記憶部にはそのロボット本体の個体識別データと個体差パラメータを格納し、付属品の第1記憶部にはその付属品の個体識別データと個体差パラメータを格納するように、ロボット本体と付属品の各々に第1記憶部を設けてもよい。このようにロボット本体と付属品の各々に第1記憶部を設けることによって、ロボット本体と付属品とのすべての組み合わせを想定して自由な交換や切り替えを行うことができるようになる。
【0014】
本発明のロボットシステムにおいては、ロボット本体と付属品とに別々にハードウェア識別子を付与する場合に、ロボット本体の個体識別データにはそのロボット本体の機種に関するデータが含まれ、付属品の個体識別データにはその付属品の機種に関するデータが含まれるようにし、ロボット本体の機種と付属品の機種との許容される組み合わせを記述する機種構成テーブルをロボットコントローラが備えるようにし、その上で、ロボットコントローラに接続されたロボット本体及び付属品の組み合わせが機種構成テーブルに記述されていないときに警告を発するようにしてもよい。そのように構成することによって、意図しない機種の組み合わせがあったときに、警告によりロボットを動作させないようにすることができる。
【0015】
本発明のロボットシステムにおいて、ロボット本体はマニピュレータとハンドとを有し、マニピュレータとハンドには異なるハードウェア識別子が付与され、制御部が、マニピュレータとハンドの各々についてハードウェア識別子の照合を行うようにしてもよい。このように構成することにより、マニピュレータとハンドとの組み合わせを柔軟に変更しつつロボットを適切に制御することができるようになる。このとき、マニピュレータの第1記憶部にはそのマニピュレータの個体識別データと個体差パラメータが格納され、ハンドの第1記憶部にはそのハンドの個体識別データと個体差パラメータが格納されるように、マニピュレータとハンドの各々に第1記憶部を設けてもよい。このようにマニピュレータとハンドの各々に第1記憶部を設けることによって、マニピュレータとハンドとのすべての組み合わせを想定して自由な交換や切り替えを行うことができるようになる。なお、ハンドに第1記憶部を設けることができない場合には、マニピュレータの第1記憶部にハンドの個体識別データ及び個体差パラメータを格納してもよい。
【0016】
本発明のロボットシステムにおいては、マニピュレータとハンドと付属品とに別々にハードウェア識別子を付与する場合に、マニピュレータの個体識別データにはそのマニピュレータの機種に関するデータが含まれ、ハンドの個体識別データにはそのハンドの機種に関するデータが含まれ、付属品の個体識別データにはその付属品の機種に関するデータが含まれるようにし、マニピュレータの機種とハンドの機種と付属品の機種との許容される組み合わせを記述する機種構成テーブルをロボットコントローラが備えるようにし、その上で、ロボットコントローラに接続されたマニピュレータ、ハンド及び付属品の組み合わせが機種構成テーブルに記述されていないときに警告を発するようにしてもよい。そのように構成することによって、意図しない機種の組み合わせがあったときに、警告によりロボットを動作させないようにすることができる。
【発明の効果】
【0017】
本発明によれば、ロボット本体に対してロボットコントローラや付属品を交換して接続することが容易であり、かつ、ロボット本体や付属品側に保持するデータを最小限のものとすることができるロボットシステムが得られる。
【図面の簡単な説明】
【0018】
図1】第1の実施形態のロボットシステムの構成を示すブロック図である。
図2】エンコーダごとに記憶される装置固有データの形式を示す図である。
図3図1に示すロボットシステムの動作を示すフローチャートである。
図4図1に示すロボットシステムの動作を示すフローチャートである。
図5図1に示すロボットシステムの動作を示す状態遷移図である。
図6】第2の実施形態のロボットシステムの構成を示すブロック図である。
図7】ロボットコントローラへのハードウェア定義情報HwDefの読み込みを説明する図である。
図8図6に示すロボットシステムの動作を示すフローチャートである。
図9図6に示すロボットシステムの動作を示す状態遷移図である。
図10】機種構成テーブルの構成の一例を示す図である。
【発明を実施するための形態】
【0019】
[第1の実施形態]
次に本発明の好ましい実施の形態について、図面を参照して説明する。図1は本発明の第1の実施形態のロボットシステムを示している。このロボットシステムは、マニピュレータ及びハンドからなるロボット本体1と、ロボット本体1を制御するロボットコントローラ2とを備えている。ロボット本体1とロボットコントローラ2とは接続ケーブル3により取り外し可能に接続されている。接続ケーブル3の一端にはロボット本体1との接続のためのコネクタ31が取り付けられており、他端にはロボットコントローラ2との接続のためのコネクタ32が取り付けられている。図1では破線で示しているが、ロボットシステムには、付属品として、ワークの姿勢を変更するアライナー4が設けられていてもよく、その場合、アライナー4もロボットコントローラ2に接続されてロボットコントローラ2によって制御される。アライナー4以外の付属品が設けられていてもよい。ロボットコントローラ2による制御の対象となるものを総称して対象ロボットと呼ぶこととする。ここで示す例で言えば、対象ロボットにはロボット本体1とアライナー4とが含まれる。
【0020】
ロボット本体1は、複数の駆動軸を有するものであって、駆動軸ごとに、サーボモータであってその駆動軸を駆動するモータ11と、ロボットコントローラ2からの指令に基づいてモータ11を駆動制御するドライバ12と、モータ11の回転軸に取り付けられてその回転軸の回転位置を検出するエンコーダ13とを備えている。図示していないが、モータ11には減速機やプーリーなども付属している。エンコーダ13には、そのエンコーダ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の仕様などの、ロボットの構成を記述する1組のデータである。共通構成情報はあらかじめ、記憶部22に格納されている。個体差パラメータは、同一の機構のロボットであっても個体差が無視できないパラメータのことであり、例えば、原点位置に対するエンコーダ13ごとのオフセット値を含んでいる。
【0022】
同一の機構のロボットであるが例えば外装の塗料が異なっているから別機種として扱われるロボットであっても、ロボットコントローラ2からロボット本体1を制御するときはこれらの別機種と扱われているロボットを同じものとして制御できるから、同一の機構のロボットに関しては1種類の共通構成情報しか記憶部22に格納されない。そこで本実施形態では、同一の機構であるか否かを識別するために、HWグループIDと呼ぶハードウェア識別子を使用する。HWグループIDと共通構成情報とは1対1に対応する。同一の機構のロボットであれば機種が異なっていても同じHWグループIDが付与され、後述するように同一の共通構成情報が使用される。反対に、ロボットコントローラから制御するという観点において同一の機構であるとはみなされないロボットには、異なるHWグループIDが付与される。ロボット本体1と付属品であるアライナー4とに対しては、それらが組み合わせた状態で販売されるものであるとの理由から同一の機種名が与えられていたとしても、ロボットコントローラ2からは別個のパラメータを用いて制御されるものであるから、異なるHWグループIDを付与する。マニピュレータに対してハンドを交換して使用することを前提とするのであれば、マニピュレータとは別個にハンドに対して異なるHWグループIDを付与してもよい。
【0023】
このように同一のHWグループIDのロボットであれば個体差を無視して共通であるとみなせる情報のことを共通構成情報と呼ぶ。さらに、同一機種あるいは同一のHWグループIDのロボットであっても個体差が無視できないパラメータ、例えば、原点位置に対するエンコーダ13ごとのオフセット値も記憶部22に格納される。ロボットごとの個体差に対応するパラメータのことを個体差パラメータと呼ぶ。アライナー4が設けられる場合には、アライナー4についてのオフセット値も記憶部22に格納される。制御部21がロボット本体1やアライナー4を制御するときには、記憶部22に格納された共通構成情報と個体差パラメータとの両方を利用する。
【0024】
本実施形態のロボットシステムでは、ある機種のロボット本体1に接続されるロボットコントローラをその機種用の他のロボットコントローラまたはその機種と同一のHWグループIDの機種用のロボットコントローラに交換する、あるいはロボットコントローラ2に接続されるロボット本体を同一のHWグループIDの機種の範囲内で交換することを可能にする。このどちらの種類の交換も、結局は、同一のHWグループIDの機種の範囲内でのロボット本体1とロボットコントローラ2の組み合わせでの交換であり、これらの交換のことを以下の説明では「ロボットコントローラの交換」と呼ぶことにする。例えば予備品として用意されたロボットコントローラと交換することもロボットコントローラの交換である。本実施形態では、ロボットコントローラの交換を可能にするために、エンコーダ13の不揮発性の記憶部14に装置固有データを書き込んでおき、ロボットシステムの起動時に各エンコーダ13から装置固有データをロボットコントローラ2に読み込む。読み込んだ結果、ロボットコントローラの交換があったと判断されるときは、ロボットコントローラ2の制御部21は、エンコーダ13から読み込んだ装置固有データを用いて必要な処理を行なう。なお、ハンドに対して別個にHWグループIDを付与する場合に、ハンドにはモータ11が取り付けられておらず、そのためエンコーダ13もなく記憶部14がないことも考えられる。ハンドに記憶部14が存在しない場合には、ハンドについての装置固有情報データを、そのハンドが取り付けられるマニピュレータのいずれかの軸の記憶部14に格納するようにしてもよい。以下の説明では、特記しない限り、マニピュレータとハンドとに対してまとめてロボット本体1としてのHWグループIDが付与されているものとする。
【0025】
図2は、エンコーダ13ごとにその記憶部14に記憶される装置固有データの形式の一例を示している。装置固有データは、ハードウェア識別子であるHWグループIDと、ロボットタイプ(機種)を示すデータと、ロボット本体1やアライナー4を個体として識別するためのデータと、個体差パラメータとして同一構成のロボット本体1やアライナー4の中で変化し得るパラメータ(例えば原点位置に対するオフセット値)とを含む固定長のデータである。ロボット本体1やアライナー4を個体として識別するデータを個体識別データと呼ぶ。本実施形態では、シリアル番号を個体識別データとするが、他のデータを個体識別データとして用いてもよい。図示されるように、装置固有データは、アドレス順に、ヘッダ情報とデータ部とから構成されている。アライナー4の記憶部14にも同様の装置固有データが格納される。ヘッダ情報には、装置固有データの形式を特定するフォーマットバージョンのフィールド、書き込み状態のフィールド、予約領域、及び、ヘッダ部についてのチェックサムのフィールドが含まれる。書き込み状態のフィールドには、その装置固有データが初期状態のものなのか、書き込みが完了したものなのか、あるいは書き込み途中であって書き込みが未完了のものなのか、を示すデータが書き込まれる。ヘッダ部のチェックサムのフィールドは、フォーマットバージョンのフィールド、書き込み状態のフィールド及びヘッダ部の予約領域に対するチェックサムを格納するフィールドである。
【0026】
データ部は、データ部全体に対するチェックサムを格納するデータ部のチェックサムの領域と、HWグループIDが格納されるフィールドと、ロボットの機種を示すデータであるロボットタイプのフィールドと、シリアル番号のフィールドと、原点位置に対するオフセット値のフィールドと、物理軸番号のフィールドと、ロボットタスク番号のフィールドと、予約領域とからなっている。本実施形態では、装置固有データとしてエンコーダ13ごとに記憶される個体差パラメータは、ロボット本体1の全体に関するものではなく、そのエンコーダ13に関するものに限定されている。したがって、原点位置に関するオフセット値としては、ロボット本体1が原点位置にあるときにその装置固有データを格納するエンコーダ13の回転位置についてのオフセット値が格納される。アライナー4の記憶部14に格納される個体差パラメータは、アライナー4のエンコーダ13に関するものに限定される。物理軸番号のフィールドは、ロボット本体1に複数の駆動軸があってそれらの駆動軸に一意に物理軸番号が付与されているとして、その装置固有データを格納するエンコーダ13がどの物理軸のものであるかを示している。ロボットタスク番号は、その装置固有データを格納するエンコーダ13がロボット本体1のものなのかアライナー4などの付属品のものかを示す番号である。複数の付属品を使用する場合には、異なるロボットタスク番号を付与するようにする。通常は、ロボットタスク番号が1であるときにロボット本体1を示し、ロボットタスク番号が2,3,…と増加するにつれてそのロボットタスク番号は、1番目の付属品、2番目の付属品、…などを示す。シリアル番号は個体識別データを構成し、物理軸番号及びロボットタスク番号の各々は、対象ロボットの構成に関する情報の1つである。
【0027】
エンコーダ13をモータ11から取り外すことは一般には行なわれないから、ロボット本体1やアライナー4においてモータ11を交換するときはエンコーダ13と一緒に交換することになる。したがって、エンコーダ13の記憶部14に格納されている装置固有データは、モータ11に紐付けられているデータであるといえる。モータ11を交換したときは、そのときのモータ11の組み付けのばらつきなどにより、原点位置に対するオフセット値も変化するから、再度、オフセット値を決定する調整作業を行なう必要がある。そこで本実施形態では、コントローラの交換は認めるものの、ロボット本体1やアライナー4におけるモータ11単体の交換は認めずにエラーとすることにする。同様の理由により、エンコーダ13に記憶される物理軸番号は、実際にそのエンコーダ13に関連する駆動軸の物理軸番号と一致していなければならない。また、同一のロボット本体1に含まれるエンコーダ13では装置固有データのシリアル番号が全て同じであるものとする。もちろん、他のロボット本体1に含まれるエンコーダ13とは装置固有データのシリアル番号が異なるものとする。ロボット本体1と同時に使用されるアライナー4については、ロボット本体1側の装置固有データにおけるシリアル番号とアライナー4側の装置固有データにおけるシリアル番号とは同じであっても異なっていてもよい。
【0028】
装置固有データのデータ構成について図2を用いて説明したが、装置固有データに格納される個体差パラメータとして、原点位置に対するオフセット値以外のものを用いてもよく、複数種類のパラメータを用いてもよい。さらに、不適切な交換などの検出のために、ロボットを個体として識別する情報として、シリアル番号以外の情報を用いてもよく、あるいは、シリアル番号に加えて他の情報を用いてもよい。
【0029】
次に、ロボットコントローラ2を交換した際のロボットシステムにおける処理について説明する。本実施形態ではロボットコントローラ2は、機種ごとではなく制御対象のロボットのハードウェア識別子すなわちHWグループIDごとに用意されれば十分であるので、ロボットコントローラ2の記憶部22には、HWグループIDを示すデータと、そのHWグループIDの機種のロボットに共通な寸法や仕様を示す共通構成情報と、現在接続されているか直近に接続されていたロボット本体1(さらにはアライナー4)の個体識別データ及び個体差パラメータとが格納される。現在接続されているか直近に接続されていたロボット本体1(さらにはアライナー4)の個体識別データ及び個体差パラメータの代わりに初期値が格納されていてもよく、さらには、ロボットコントローラ2におけるコマンド操作によって個体識別データ及び個体差パラメータの部分を初期値にクリアできるようになっていてもよい。
【0030】
図3及び図4は、ロボットシステムで実行される処理を示すフローチャートである。ここで示す処理は、電源投入時などにロボットコントローラ2がロボットシステムを起動する処理である。以下の説明において、ロボット本体1のみがロボットコントローラ2に接続されているときはロボット本体1の各駆動軸を有効軸と呼び、ロボット本体1とアライナー4の両方が接続されているときはロボット本体1とアライナー4の各駆動軸を有効軸と呼ぶ。ロボット本体1が接続されさらに必要に応じてアライナー4が接続された状態でこのロボットシステムの電源を投入すると、ロボットコントローラ2の制御部21は、ステップ101において、各有効軸のエンコーダ13から、そのエンコーダ13の記憶部(EEPROM)14に格納されている装置固有データを読み込み、ステップ102において、全ての有効軸についてデータの読み込みが正常に終了したかどうかを判定する。正常に終了していない場合には、リアルタイムエラーが発生したものとして、制御部21はロボットシステムの動作が終了させる。全有効軸のデータの読み込みが正常に終了した場合には、制御部21は、ステップ103において、エンコーダ13から読み込んだデータの中のロボットタスク番号が同じである軸の装置固有データにおいてシリアル番号が同一かどうかを判定する。シリアル番号が同一でない装置固有データがあることはモータ11が交換されたことを意味するから、モータ交換エラーが発生したものとして、制御部21はロボットシステムの動作が終了させる。
【0031】
ステップ103においてモータ交換エラーが発生しなかった場合には、制御部21は、ステップ104において、全ての有効軸において有効軸ごとにエンコーダ13から読出されたHWグループIDが記憶部22に予め記憶されているHWグループIDと一致するかどうかを判定する。一致しない場合には、ロボットコントローラ2が対象とするHWグループIDの機種以外のロボット本体1あるいはアライナー4がロボットコントローラ2に接続されていることになるので、機種不一致エラーが発生したものとして、制御部21はロボットシステムの動作が終了させる。ステップ104においてHWグループIDが一致したときは、制御部21は、ステップ111において、全有効軸について、エンコーダ13から読み込んだ物理軸番号及びロボットタスク番号が、記憶部22に予め記憶されている物理軸番号及びロボットタスク番号に一致しているかを判定する。ロボットコントローラ2が複数のエンコーダ13から装置固有データを読み込むときは、予め定められた順番によってエンコーダ13の一つずつからデータを読み込むが、このとき、モータ配線の誤接続などによって本来の順番とは異なる順番でデータを読み込んでしまうことがあり、この場合、物理軸番号あるいはロボットタスク番号の不一致が生じる。複数のエンコーダ13から並列にデータを読み込む場合であっても、配線の誤接続があれば、物理軸番号あるいはロボットタスク番号の不一致が生じる。そこで物理軸番号あるいはロボットタスク番号の不一致が生じたときは、構成不一致エラーが発生したものとして、制御部21はロボットシステムの動作が終了させる。
【0032】
ステップ111において全ての有効軸について物理軸番号及びロボットタスク番号が一致したときは、制御部21は、ステップ112において、全有効軸について、エンコーダ13から読み込んだシリアル番号と記憶部22に記憶されたシリアル番号とが一致するかどうかを判定する。ここで一致している場合には、ロボットコントローラ2もアライナー4も交換されていない場合であるので、次に制御部21は、ステップ113において、全ての有効軸について記憶部22に記憶されているオフセット値とエンコーダ13から読み込んだオフセット値とが一致するかを判定する。ここで全ての有効軸に関してオフセット値が一致するときは、ロボットコントローラ2の記憶部22に格納されているオフセット値すなわち個体差パラメータは適切なものであると判断できるので、制御部21は、ステップ114において、ロボットシステムを正常起動して、システム起動の処理を終了する。システム起動の処理が終了すれば、ロボットコントローラ2は、既に作成されて記憶部22に格納されているハードウェア定義情報HwDefを用いてロボット本体1やアライナー4の制御を実行する。
【0033】
ステップ113においてロボットコントローラ2の記憶部22に予め格納されたオフセット値とエンコーダ13から読み込んでオフセット値とが一致しないのは、モータ11の再調整などを行ったがその結果がロボットコントローラ2側に反映されていない場合である。そこで制御部21は、ステップ115において、エンコーダ13から読み込んだオフセット値によって記憶部22に格納されているオフセット値を書き換え、書き換え後のオフセット値に基づいてハードウェア定義情報HwDefを生成して記憶部22に格納し、処理を終了する。こののち、電源投入を再度行えば、そのときはステップ101からステップ112までの処理が実行され、引き続いてステップ113、ステップ114と処理が進行するので、書き換え後のオフセット値に基づいてロボットシステムが正常起動し、記憶部22に格納されているハードウェア定義情報HwDefに基づいてロボットが制御されることになる。
【0034】
ステップ112においてシリアル番号が一致しないのは、ロボットコントローラ2の交換があったか、アライナー4の交換があったかのいずれかの場合である。そこで制御部21は、ステップ112においてシリアル番号の不一致があったときに、ステップ116において、ロボットタスク番号から判別されるアライナー4の軸でのみシリアル番号の不一致となっているかどうかを判定する。アライナー4の軸でのみシリアル番号の不一致となっているときはアライナー4の交換と判断できるので、制御部21は、ステップ117において、アライナー4の軸に関し、エンコーダ13から読み込んだオフセット値によって記憶部22に格納されているオフセット値を書き換え、共通構成情報と書き換え後のオフセット値とを用いてハードウェア定義情報HwDefを生成して記憶部22に格納し、処理を終了する。こののち、電源投入を再度行えば、書き換え後のオフセット値に基づいてロボットシステムが正常起動し、記憶部22に格納されているハードウェア定義情報HwDefによってアライナー4の制御が行われることになる。
【0035】
ステップ116においてアライナー4の軸以外でもシリアル番号の不一致がある場合には、ロボットコントローラ2の交換があったと判断できるので、制御部21は、ステップ118において、全有効軸に関し、エンコーダ13から読み込んだシリアル番号及びオフセット値によって記憶部22に格納されているシリアル番号及びオフセット値を書き換え、共通構成情報と書き換え後のオフセット値とを用いてハードウェア定義情報HwDefを生成して記憶部22に格納し、処理を終了する。電源投入を再度行えば、書き換え後のシリアル番号及びオフセット値に基づいてロボットシステムが正常起動し、記憶部22に格納されているハードウェア定義情報HwDefによってロボット本体1の制御が行われることになる。ロボット本体1(及びアライナー4)のエンコーダ13から読み込んだシリアル番号(すなわち個体識別データ)とオフセット値(すなわち個体差パラメータ)とによって、ロボットコントローラ2の記憶部22に格納されているシリアル番号とオフセット値とを書き換えることにより、ロボットコントローラ2は、書き換え後のオフセット値に基づいてハードウェア定義情報HwDefを生成して記憶するので、その接続されるロボット本体1やアライナー4が交換された場合に交換後のロボット本体1やアライナー4に適合するものとなる。また、予備品であってその記憶部22において個体識別データ(シリアル番号)と個体差パラメータ(オフセット値)に初期値が格納されている予備品のロボットコントローラ2についても、ここで示す処理を実行することによって、そのロボットコントローラ2に接続しているロボット本体1やアライナー4の制御に適したものとなる。
【0036】
図5は、ここで説明した処理を説明する状態遷移図である。ロボットコントローラ2がその接続しているロボット本体1とアライナー4などの付属品とを制御するのに適した状態であることを正常状態と呼ぶ。正常状態においてロボットコントローラ2の交換が行われたときは、ロボットコントローラ2の交換が行われたことを示すイベントが起動時に上記のステップ118に示すように発生し、個体差パラメータがエンコーダ13側からロボットコントローラ2の記憶部22に自動的にコピーされ、正常状態に戻ることになる。その後、電源投入の動作を行えば正常状態に自動復帰することになる。同様に、アライナー4などの付属品を交換したときは、付属品交換が行われたことを示すイベントが起動時に上記のステップ117に示すように発生し、個体差パラメータがエンコーダ13側からロボットコントローラ2の記憶部22に自動的にコピーされ、正常状態に戻ることになる。これに対してモータ交換が行われた場合には、ステップ103に示すようにモータ交換エラーとなってロボットシステムの起動処理が異常終了し、ロボットシステムの起動が不可となる。モータ交換エラーから正常状態に復帰するためには、交換されたモータに対応する軸の再調整作業などのメンテナンス作業を実施する必要がある。ステップ104で判定される機種不一致エラーやステップ105で判定される構成不一致エラーは、いずれも、ロボット本体1やアライナー4さらにはロボットコントローラ2に記憶されている装置固有データにおけるパラメータ異常に分類されるものであり、パラメータ異常と判定された場合には、ロボットシステムの起動処理が異常終了し、ロボットシステムの起動が不可となる。パラメータ異常から正常状態に復帰するためには、正しい機種のロボットコントローラ2を使用する、誤配線を修正するなどを行って、正しいパラメータ設定となるようにする必要がある。
【0037】
[第1の実施形態の効果]
第1の実施形態によれば、電源投入時などに、対象ロボット(ロボット本体1及びアライナー4)のエンコーダ13に格納されている装置固有データを読み出してロボットコントローラ2に格納されている装置固有データを照合し、ロボットコントローラ2の交換が検出されたときには最新の個体差パラメータを対象ロボット側からロボットコントローラ2に読み込むので、同じ機種用のロボットコントローラ2、さらにはハードウェア識別子すなわちHWグループIDが同一である範囲内の異なる機種用のロボットコントローラを交換して使用することが可能になり、交換後のロボットコントローラ2を用いてその接続している対象ロボットに適した制御を実行できるようになる。また機種の不一致や構成の不一致が生じたとき、モータ交換が検出されたときには起動不可とすることによって、不適切な状態でロボット本体やアライナーが動作することを防ぐことができる。
【0038】
[第2の実施形態]
上述した第1の実施形態では、ロボットコントローラ2には、共通構成情報として、特定の単一のHWグループIDに対するもののみが格納されているので、HWグループIDごとにロボットコントローラ2を用意する必要がある。そうでなければ、図3に示すフローチャートのステップ104において、機種不一致エラーが発生することにある。しかしながら、ロボットの軸数や使用するモータの定格値に大きな違いなければ、HWグループIDが異なる機種のロボットであっても同一のロボットコントローラ2によって制御できる可能性がある。そこで第2の実施形態のロボットシステムでは、ロボットコントローラ2における物理的制約の範囲内で、例えばロボットコントローラ2が制御できる最大の軸数や制御できるモータの最大定格の範囲内で、ロボットコントローラ2が2種類以上のHWグループIDの各機種のロボットを制御できるようにしている。図6は、第2の実施形態のロボットシステムの構成を示すブロック図である。
【0039】
図6に示す第2の実施形態のロボットシステムは、図1に示すロボットシステムにおいて、異なるHWグループIDの機種のロボット本体1を同一のロボットコントローラ2が制御できるように、ロボットコントローラ2が接続するホスト装置5を備えている。ホスト装置5は、ロボットコントローラ2に対する上位装置である。ここではホスト装置5に対して1つのロボットコントローラ2が接続しているが、ホスト装置5には複数のロボットコントローラ2が接続してよい。特に、ネットワークを介してホスト装置5に対し複数のロボットコントローラ2が接続するように構成することにより、例えば工場内の全てのロボットコントローラ2に関してそのロボットコントローラ2が接続するロボットの機種を任意に変更できるようにすることができる。ロボット本体1やアライナー4については、第1の実施形態で説明したものと同じものが使用され、特に、記憶部14に記憶される装置固有データは第1の実施形態のものと同一である。
【0040】
ホスト装置5は、ロボットコントローラ2で使用するプログラム類を一括して管理するものであって一般的にはサーバ装置として構成されており、ホスト制御部51とテンプレート格納部52とを備えている。ホスト制御部51は、ホスト装置5の全体を制御するものであって例えばオペレーティングシステムなどによって実現するものである。テンプレート格納部52は、ロボットコントローラ2からの要求に応じてロボットコントローラ2に送信されるプログラムやデータを格納するものであるが、特に本実施形態では、複数のHWグループIDのそれぞれごとの汎用ハードウェア定義情報GHwDefを格納している。ホスト装置5に接続される可能性があるロボットコントローラ2に関し、それらのロボットコントローラ2ができるだけ多くの機種のロボットに対応できるように、ホスト装置5にはできるだけ多数のHWグループIDの各々の汎用ハードウェア定義情報GHwDefが用意されるようにする。汎用ハードウェア定義情報GHwDefは、ロボットコントローラ2においてハードウェア定義情報HwDefを生成するときのテンプレートとなるものであり、HWグループIDに対応する共通構成情報と個体差パラメータとを含むものである。ただし、テンプレート格納部52に格納されるハードウェア定義情報HwDefでは、HWグループIDごとの共通構成情報と個体差パラメータとが別個に管理されており、個体差パラメータとして記憶される情報は、個体差パラメータの初期値であっても、バックアップのために特定のロボットコントローラ2から送られてきた個体差パラメータであってもよい。
【0041】
図7は、第2の実施形態において、共通構成情報及び個体差パラメータがどこからロボットコントローラ2に読み込まれるかを示している。図7(a)は、ロボットコントローラ2に接続してるロボット本体1やアライナー4に変更がなかった場合を示している。このときは、ロボットコントローラ2の記憶部22に既に読み込まれているハードウェア定義情報HwDefによってロボットコントローラ2は動作する。図7(b)は、ロボット本体1に接続するロボットコントローラを同一のHWグループID用のロボットコントローラに交換した場合を示している。このときは、ロボットコントローラ2では、新たに接続されたロボット本体1やアライナー4から個体差パラメータのみを読み込んで、記憶部22内に格納されているハードウエア定義情報HwDefの個体差パラメータを更新する。図7(c)は、ロボット本体1に接続するロボットコントローラ2を他のHWグループID用のロボットコントローラ2と交換した場合を説明している。これは、ロボットコントローラ2に対し、異なるHWグループIDのロボット本体1を接続した場合と等価である。この場合は、ロボットコントローラ2は、新たに接続されたロボット本体1やアライナー4についての共通構成情報をホスト装置から読み込み、個体差パラメータについてはそのロボット本体1やアライナー4のエンコーダ13から読み込む。そして、ロボットコントローラ2では、読み込んだ装置構成情報及び個体差パラメータによって記憶部22内のハードウェア定義情報HwDefすなわち共通構成情報及び個体差パラメータが更新される。
【0042】
次に、ロボットコントローラ2を交換した際のロボットシステムにおける処理について説明する。ロボットコントローラ2の記憶部22には、ハードウェア定義情報HwDefが格納されるが、そのハードウェア定義情報HwDefは、ロボットコントローラ2が現在対応しているHWグループIDに基づいて生成されたものであって、現在接続されているか直近に接続されていたロボット本体1についてのものである。さらに、ロボットコントローラ2の記憶部22には、その格納するハードウェア定義情報HwDefがどのロボットに対応するものかを示すために個体識別データも格納している。記憶部22には、現在接続されているか直近に接続されていたロボット本体1(さらにはアライナー4)の個体識別データ及び個体差パラメータの代わりに初期値が格納されていてもよい。さらには、ロボットコントローラ2におけるコマンド操作によって個体識別データ及び個体差パラメータの部分を初期値にクリアできるようになっていてもよい。初期値としては、接続されたロボット本体1あるいはアライナー4のHWグループIDに基づいて、ホスト装置5の汎用ハードウェア定義情報GHwDefに含まれる個体差パラメータを用いてもよい。
【0043】
図8は、電源投入時などにロボットコントローラ2がロボットシステムを起動する処理であって、第2の実施形態のロボットシステムで実行される処理を示すフローチャートである。図8におけるステップ101~103,111の処理は、図3でのステップ101~103,111の処理と同一であるから説明を省略する。また、ステップ111において構成不一致エラーとならなかった場合の処理として、図4のステップ112からの処理が実行される。ステップ112以降の処理も第1の実施形態の場合と同一であるから説明を省略する。
【0044】
ステップ103においてモータ交換エラーとならなかった場合、ステップ104において、制御部21は、全ての有効軸において有効軸ごとにエンコーダ13から読出されたHWグループIDが記憶部22に予め記憶されているHWグループIDと一致するかどうかを判定する。一致する場合には、第1の実施形態の場合と同様に、ステップ111に進む。HWグループIDが一致しない場合は、第1の実施形態では機種不一致エラーとしていたが、この第2の実施形態では、ステップ121においてロボットコントローラ2は、操作者に対して機種不一致の旨を表示し、ステップ122において、操作者からのALL NEWコマンドの入力を待ち受ける。ALL NEWコマンドの入力があったら、制御部21は、ステップ123において、エンコーダ13側から取得したHWグループIDに基づいて、そのHWグループIDに対応する汎用ハードウェア定義情報GHwDef、特にその汎用ハードウェア定義情報GHwDefに含まれる共通構成情報をホスト装置5からダウンロードして記憶部22に格納し、ステップ124においてロボットシステムを再起動する。あるいは制御部21は、操作者からの入力を待ち受けることなく自動的にALL NEWコマンドを実行し、その後、ロボットシステムを自動的に再起動してもよい。
【0045】
ALL NEWコマンドの実行とシステムの再起動とにより、ロボットコントローラ2は、エンコーダ13側から取得したHWグループIDの機種に適合したロボットコントローラとして機能することになる。その後、ロボットコントローラ2の制御部21は、ステップ101からの処理を再度実行する。ステップ101からの処理を再度実行したときには、ステップ104において、エンコーダ13側とロボットコントローラ2側のHWグループIDは一致するはずであるので、続いてステップ111の処理が実行され、同一のHWグループID用のロボットコントローラ2が交換された場合と同じ処理が実行されることになる。このようにして本実施形態では、ロボット本体1に対して異なるHWグループID用のロボットコントローラ2を接続することを可能にし、HWグループIDに縛られないでロボットコントローラ2を交換することを可能にしている。逆に言えば、ロボットコントローラ2の物理的な制約の範囲内で、かつ、ホスト装置5において汎用ハードウェア定義情報GHwDefが用意されている限り、ロボットコントローラ2に対して異なるHWグループIDのロボット本体1やアライナー4を接続してそれらのロボット本体1やアライナー4を制御できることになる。
【0046】
図9は、第2の実施形態に関してここで説明した処理を説明する状態遷移図である。ロボットコントローラ2がその接続しているロボット本体1とアライナー4などの付属品とを制御するのに適した状態であることを正常状態と呼ぶ。正常状態において、同一のHWグループID用のロボットコントローラ2の交換が行われたときは、ロボットコントローラ2の交換が行われたことを示すイベントが起動時に上記のステップ118に示すように発生し、個体差パラメータを含む装置固有データがエンコーダ13側からロボットコントローラ2の記憶部22に自動的にコピーされ、個体差パラメータによってハードウェア定義情報HwDefが更新される。その後、電源投入の動作を行えば正常状態に自動復帰することになる。正常状態において、異なるHWグループID用のロボットコントローラ2の交換が行なわれたときは、そのことを示すイベントが起動時に上記のステップ104に示すように発生し、ALL NEWコマンドの入力によって、対応するHWグループID用の共通構成情報がロボットコントローラ2の記憶部22に読み込まれる。その後、システムの再起動によって、同一機種のロボットコントローラが交換された状態に移行し、上述と同様に、装置固有データがロボットコントローラ2の記憶部22に自動的にコピーされ、正常状態に復帰することになる。
【0047】
アライナー4などの付属品を交換したときは、付属品交換が行われたことを示すイベントが起動時に上記のステップ117に示すように発生し、個体差パラメータがエンコーダ13側からロボットコントローラ2の記憶部22に自動的にコピーされ、正常状態に戻ることになる。これに対してモータ交換が行われた場合には、ステップ103に示すようにモータ交換エラーとなってロボットシステムの起動処理が異常終了し、ロボットシステムの起動が不可となる。モータ交換エラーから正常状態に復帰するためには、交換されたモータに対応する軸の再調整作業などのメンテナンス作業を実施する必要がある。ステップ105で判定される構成不一致エラーは、ロボット本体1やアライナー4さらにはロボットコントローラ2に記憶されている装置固有データにおけるパラメータ異常に分類されるものであり、パラメータ異常と判定された場合には、ロボットシステムの起動処理が異常終了し、ロボットシステムの起動が不可となる。パラメータ異常から正常状態に復帰するためには、誤配線を修正するなどして、正しいパラメータ設定となるようにする必要がある。
【0048】
以上説明した第2の実施形態では、ステップ104において機種不一致となった場合に、ロボットコントローラ2は、テンプレート格納部52を有するホスト装置5から、該当するHWグループID用の共通構成情報あるいは汎用ハードウェア定義情報GHwDefを読み込んでいる。しかしながら、ロボットコントローラ2にテンプレート格納部を設け、あらかじめ複数のHWグループIDのそれぞれに対応した共通構成情報や汎用ハードウェア定義情報GHwDefをこのテンプレート格納部に記憶させておき、機種不一致となった場合にロボットコントローラ2内のテンプレート格納部から共通構成情報あるいは汎用ハードウェア定義情報GHwDefを読み込む構成とすることも可能である。しかしながら、既存のロボットとは構成が異なり、したがって新規のHWグループIDが付与されるような新機種のロボットに対してロボットコントローラ2を対応させるためには、ホスト装置5を設けてホスト装置5からロボットコントローラ2に共通構成情報あるいは汎用ハードウェア定義情報GHwDefをダウンロードさせる構成の方が好ましい。
【0049】
第2の実施形態では、ロボット本体1とアライナー4などの付属品とにそれぞれHWグループIDを独立して割り当てている。HWグループIDの個数によっては、ロボット本体1と付属品(アライナー4など)との可能な組み合わせの数が膨大なものとなりうる。また、ロボット本体1にHWグループIDを割り当てるのではなく、マニピュレータとハンドとに別々にHWグループIDを割り当てることも可能であるが、そのような場合にはさらに組み合わせの数が爆発的に増大する。そのような組み合わせの中には、好ましくない、あるいは想定されない組み合わせもあり得る。例えば、クリーンルーム内で使用することを想定したロボット本体1と、悪環境下での重量物用であって発塵やオイルミストの発生の防止機構を備えてないアライナー4との組み合わせは、通常は考えられない。言い換えれば、同一の機構の複数機種のロボット本体1と同一の機構の複数機種のアライナー4との間の組み合わせにおいて、好ましくない機種の組み合わせが存在することになる。さらには、ロボット本体1のHWグループIDとアライナー4のHWグループIDとの組み合わせで好ましくない組み合わせが存在することがある。たとえば、ロボット本体1のハンドの到達範囲の関係で、ある特定のHWグループIDのアライナー4を使用できない場合がある。そこで本実施形態では、許される機種の組み合わせ、許されるHWグループIDを記述した機種構成テーブルをロボットコントローラ2の記憶部22に格納し、機種構成テーブルにない組み合わせとなる場合には、ロボットコントローラ2から警告を発してその組み合わせではロボットシステムを動作させないようにすることができる。
【0050】
図10は、機種構成テーブルの構成の一例を示している。上述したようにロボット本体1のタスク番号が1であり、付属品であるアライナー4のタスク番号が2であって、タスクごとにHWグループIDが付与されることが分かる。この機種構成テーブルには、追加の付属品も考慮して、タスク番号が3以降であるエントリも設けられている。ここに示す例では、ロボット本体1については、マニピュレータとハンドとは同一のHWグループIDで管理するものの、ロボットタイプ(機種)はマニピュレータとハンドとに別々に定められている。一番左の列のロボットタイプは、出荷時に付与されるロボットタイプであって便宜上記載されている。出荷時のロボットタイプは、ロボット本体1においてもアライナー4においても記憶部14には格納されていないものであり、したがって、機種構成テーブルを用いた組み合わせの良否判断には使用されないものである。すなわち、図に示す機種構成テーブルにおいて、太線で囲まれた部分の各行に記載があれば、マニピュレータとハンドとの組み合わせも含めてロボット本体1とアライナー4との組み合わせが好ましい組み合わせとして判断されることになる。このように機種構成テーブルを用いて機種単位で組み合わせを管理することによって、ロボット本体1とアライナー4とが好ましくない組み合わせて使用されることを防ぐことができる。
【0051】
[第2の実施形態の効果]
本実施形態によれば、上述した第1の実施形態の効果に加え、異なるHWグループIDのロボットコントローラの交換が検出されたときに、ロボットコントローラ2が、対応する共通構成情報をホスト装置5から読み込むことによって、あるいは既に記憶しているそのHWグループID用の共通構成情報を利用することによって、そのロボットコントローラ2を現在接続している対象ロボットの機種に適合するものとすることができる、という効果がある。その後、同一のHWグループID用のロボットコントローラの交換が検出されたときと同じ処理を実行するので、異なるハードウェア識別子用の、すなわち異なるHWグループID用のロボットコントローラを交換して使用することも可能になる。結局、本実施形態によれば、ホスト装置あるいはロボットコントローラ2に共通構成情報が格納されているHWグループIDの機種のロボットについては、機種ごとあるいは同一機構ごとという制約にとらわれずに任意のロボットに対して同じロボットコントローラを接続することが可能となる。
【符号の説明】
【0052】
1…ロボット本体、2…ロボットコントローラ、4…アライナー、11…モータ、12…ドライバ、13…エンコーダ、14,22…記憶部、21…制御部,5…ホスト装置,51…ホスト制御部,52…テンプレート格納部。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10