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

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

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

特開2023-4194ロボットシステム及びその誤配線検出方法
<>
  • 特開-ロボットシステム及びその誤配線検出方法 図1
  • 特開-ロボットシステム及びその誤配線検出方法 図2
  • 特開-ロボットシステム及びその誤配線検出方法 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023004194
(43)【公開日】2023-01-17
(54)【発明の名称】ロボットシステム及びその誤配線検出方法
(51)【国際特許分類】
   B25J 19/00 20060101AFI20230110BHJP
   B25J 13/06 20060101ALI20230110BHJP
【FI】
B25J19/00 E
B25J13/06
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021105744
(22)【出願日】2021-06-25
(71)【出願人】
【識別番号】000002233
【氏名又は名称】日本電産サンキョー株式会社
(74)【代理人】
【識別番号】100123788
【弁理士】
【氏名又は名称】宮崎 昭夫
(74)【代理人】
【識別番号】100127454
【弁理士】
【氏名又は名称】緒方 雅昭
(72)【発明者】
【氏名】永田 宏明
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707HS27
3C707JS05
3C707KS27
3C707KT15
3C707KV01
3C707LV21
3C707MS15
3C707MS16
3C707MS24
3C707MS28
(57)【要約】
【課題】マニピュレータとロボットコントローラとを備えるロボットシステムにおいて、マニピュレータの各軸のモータを駆動することなく、モータに取り付けられているエンコーダとロボットコントローラとを接続するエンコーダ配線における誤配線を検出する。
【解決手段】マニピュレータ30に、軸ごとにその軸のエンコーダ32を識別する識別情報を少なくとも含む機械パラメータを予め格納する記憶部35を設ける。ロボットコントローラ10に、記憶部35から機械パラメータを読み出すとともにエンコーダ配線42を介してエンコーダ32と通信する制御部12を設ける。制御部12は、エンコーダ32からエンコーダ配線42を介して読み出されるそのエンコーダ32の識別情報と機械パラメータに含まれる識別情報とが軸ごとに一致するかを判別し、少なくとも1つの軸において一致しないときにエンコーダ配線42に誤配線があると判定する。
【選択図】図1
【特許請求の範囲】
【請求項1】
複数の軸を備えて軸ごとに設けられたモータによって駆動されるマニピュレータと、前記マニピュレータを制御するロボットコントローラと、を備え、軸ごとに前記モータにエンコーダが取り付けられているロボットシステムであって、
前記エンコーダと前記ロボットコントローラとを接続する軸ごとに設けられたエンコーダ配線と、
前記マニピュレータにおいて前記エンコーダから独立して設けられ、前記マニピュレータの軸ごとに当該軸の前記エンコーダを識別する識別情報を少なくとも含む機械パラメータを格納する記憶部と、
前記ロボットコントローラに設けられて前記記憶部から前記機械パラメータを読み出すとともに前記エンコーダ配線を介して前記エンコーダと通信する制御部と、
を備え、
前記制御部は、前記エンコーダから前記エンコーダ配線を介して読み出される当該エンコーダを識別する識別情報と前記機械パラメータに含まれる前記識別情報とが軸ごとに一致するかを判別し、少なくとも1つの軸において一致しないときに前記エンコーダ配線に誤配線があると判定する、ロボットシステム。
【請求項2】
前記制御部は、前記エンコーダから読み出した前記識別情報と前記機械パラメータに含まれる前記識別情報とが一致しない軸に基づいて、誤配線が発生した前記エンコーダ配線を特定する情報を出力する、請求項1に記載のロボットシステム。
【請求項3】
前記機械パラメータは、前記マニピュレータの構成に関する構成情報を含み、
前記ロボットコントローラは、前記制御部が読み出した前記機械パラメータから抽出される前記構成情報に基づいて前記マニピュレータの制御を行なう、請求項1または2に記載のロボットシステム。
【請求項4】
複数の軸を備えて軸ごとに設けられたモータによって駆動されるマニピュレータと前記マニピュレータを制御するロボットコントローラとを備え、軸ごとに前記モータにエンコーダが取り付けられているロボットシステムにおける、前記エンコーダと前記ロボットコントローラとを接続する軸ごとに設けられたエンコーダ配線での誤配線を検出する誤配線検出方法であって、
前記マニピュレータにおいて前記エンコーダから独立して設けられた記憶部に、前記マニピュレータの軸ごとに当該軸の前記エンコーダを識別する識別情報を少なくとも含む機械パラメータを予め格納する工程と、
前記ロボットコントローラにおいて、各軸の前記エンコーダから前記エンコーダ配線を介して当該エンコーダを識別する識別情報を読み出し、前記記憶部から前記機械パラメータを読み出し、前記エンコーダから読み出した前記識別情報と前記機械パラメータに含まれる前記識別情報とが軸ごとに一致するかを判別する判別工程と、
前記判別工程において少なくとも1つの軸において一致しないときに前記エンコーダ配線に誤配線があると判定する誤配線検出工程と、
を有する誤配線検出方法。
【請求項5】
前記誤配線検出工程において、前記エンコーダから読み出した前記識別情報と前記機械パラメータに含まれる前記識別情報とが一致しない軸に基づいて、誤配線が発生した前記エンコーダ配線を特定する情報を出力する、請求項4に記載の誤配線検出方法。
【請求項6】
前記ロボットコントローラから前記マニピュレータを起動するときに前記判別工程及び前記誤配線検出工程を実施する、請求項4または5に記載の誤配線検出方法。
【請求項7】
前記機械パラメータは、前記マニピュレータの構成に関する構成情報を含み、
前記機械パラメータから抽出される前記構成情報を、前記ロボットコントローラが前記マニピュレータの制御を行なうときに用いる構成情報とする、請求項6に記載の誤配線検出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マニピュレータとマニピュレータの動作を制御するロボットコントローラとを備えるロボットシステムに関し、特に、ロボットシステム内におけるエンコーダ配線での誤配線を検出することができるロボットシステムと、その誤配線検出方法とに関する。
【背景技術】
【0002】
ロボットシステムは、マニピュレータとマニピュレータを制御するロボットコントローラとを備えており、マニピュレータにはハンドやツールが取り付けられる。マニピュレータではアームやリンクが相互に連結しており、これらのアームやリンクを駆動するためにモータが設けられている。モータにはその回転位置を検出するエンコーダが取り付けられる。ロボットコントローラがマニピュレータを制御するときは、エンコーダが検出したモータ位置に基づいてモータのサーボ制御を行なう。サーボ制御を行なうためにロボットコントローラ内にはモータごとの制御回路、例えばサーボドライバが設けられる。マニピュレータは一般に複数のモータを備えるが、ロボットコントローラ内の制御回路と、マニピュレータ内のモータ及びエンコーダとが予め定められた1対1の関係で電気的に接続される必要がある。例えば、ロボットコントローラ内の1番目の制御回路に対し、マニピュレータ内の1番目のモータと1番目のエンコーダとが電気的に接続する必要がある。このときロボットコントローラ内の1番目の制御回路に対してマニピュレータ内の2番目のモータと3番目のエンコーダとが接続しているときは、誤配線ということになる。誤配線は誤接続とも呼ばれる。エンコーダの配線に関して誤配線があると、例えばあるモータを駆動するときにそのモータとは異なるモータの回転量に基づいて制御が行われることになるので、意図した制御内容とは異なる動きでロボットが動作する。これは安全確保の面でも問題をもたらす。従来は、マニピュレータの組み立て時あるいはメンテナンス時に、目視によって配線が正しく接続されているかを確認していた。
【0003】
ロボットコントローラとマニピュレータ内の各エンコーダとの間の配線に着目すると、ロボットコントローラとマニピュレータとの間では、これらの配線の全てを束ねた1つの集合配線部材あるいは多芯ケーブルとすることができるので、ここでは誤配線は比較的に起こり難い。そして、マニピュレータには、ロボットコントローラからの集合配線部材あるいは多芯ケーブルに接続する配線基板(マニピュレータ基板ともいう)あるいは配線端子が設けられ、この配線基板あるいは配線端子から個々のエンコーダに向けて、エンコーダごとの信号配線(例えば信号ケーブル)が設けられる。このように信号配線を配置するときは、配線基板あるいは配線端子に対する信号配線の接続の誤りが発生しやすく、誤配線が発生しやすい。大型のマニピュレータでは、中継用のコネクタを挿入することによって信号配線を延長することもあるが、中継用のコネクタにおける接続の誤りが発生することもある。特に、エンコーダ用の信号配線は径の小さい信号線あるいは信号ケーブルであり、信号配線の接続に用いるコネクタも小型であるから、配線における接続の正しさを目視によって確認するときに誤認が生じやすく、誤配線が発生する可能性も高くなる。エンコーダ用の配線における誤配線は、マニピュレータの製造時あるいは組立時において発生するだけでなく、マニピュレータのメンテナンスのために配線の取り外しやコネクタから挿抜を行ったときにも起こり得る。
【0004】
特許文献1は、モータ用の配線及びエンコーダ用の配線のいずれかにおける誤配線を検出する方法として、複数のモータを順次駆動したときのモータごとのエンコーダでの検出結果が予め期待される結果であるかどうかを判定することにより、誤配線を検出することを開示している。UVW相出力とAB相出力とを有するエンコーダについて、同様の手法により誤配線を検出する方法が、特許文献2に開示されている。特許文献3は、モータが三相同期モータであるときに、モータに対する駆動電流から求められる磁極位置とエンコーダの出力とを比較することにより、モータ用の配線及びエンコーダ用の配線のいずれかにおける誤配線を検出することを開示している。
【0005】
本発明に関連する技術として、ロボットコントローラとマニピュレータ(ロボット本体)との組み合わせが正しいかどうかを判定する技術がある。特許文献4及び特許文献5は、ロボットコントローラにマニピュレータを接続したときに、ロボットコントローラが、マニピュレータ内のモータあるいはエンコーダから型式情報あるいは識別ラベルを読み出し、ロボットコントローラ内に予め格納されている型式情報あるいは識別ラベルと比較することにより、ロボットコントローラとマニピュレータとの組み合わせが正しいかどうかを判定することを開示している。
【0006】
マニピュレータにおいてモータに取り付けられるエンコーダとして、近年、ロボットコントローラとの間で双方向のシリアルデータ通信によりモータの回転位置情報などを送信できるものが使用されている。そのようなエンコーダは不揮発性のメモリを備えており、エンコーダの識別ラベルのほかに各種の情報を記憶することができる。そこで特許文献6は、マニピュレータの機種によらずにロボットコントローラに対して同一機種や異なる機種のマニピュレータを交換して接続することを容易にするために、マニピュレータの機種ごとの機種構成情報を格納するホスト装置を設け、マニピュレータのエンコーダには装置固有データとを格納することを開示している。装置固有データは、対応するエンコーダが取り付けられている軸に関する情報や、マニピュレータの機種や製造番号の情報からなる。ロボットコントローラにおいてマニピュレータの機種の変更があったことを検知したときに、ロボットコントローラは、変更後の機種に対応する機種構成情報をホストコンピュータから読み出し、マニピュレータの各エンコーダから装置固有データを読み出し、読み出した機種構成情報及び装置固有データに基づいてマニピュレータを制御する。特許文献7も、マニピュレータのエンコーダの記憶領域に、マニピュレータの機種や製造番号に関する情報とエンコーダが取り付けられている軸に関する情報とを格納し、ロボットコントローラがこれらの情報を読み出すように構成することによって、マニピュレータに対してロボットコントローラなどを交換して接続できるようにすることを開示している。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】国際公開第2012/172647号
【特許文献2】特開平4-279906号公報
【特許文献3】国際公開第2014/181438号
【特許文献4】特開2007-164398号公報
【特許文献5】特開2007-152510号公報
【特許文献6】特開2019-107727号公報
【特許文献7】特開2020-179486号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
ロボットコントローラとマニピュレータ内のモータあるいはエンコーダとを接続する配線における誤配線を検出する技術として特許文献1-3に開示されるものがあるが、これらはいずれのモータを駆動したときにエンコーダから期待通りの信号が得られるかどうかによって誤配線を検出するものであり、モータを実際に駆動することを前提とするものである。安全確保などの観点からは、モータを駆動することなくエンコーダに関する誤配線を検出できることが好ましい。
【0009】
本発明の目的は、モータを駆動することなくロボットコントローラとマニピュレータ内のエンコーダとを接続する配線における誤配線を検出できるロボットシステムと、その誤配線検出方法とを提供することにある。
【課題を解決するための手段】
【0010】
本発明のロボットシステムは、複数の軸を備えて軸ごとに設けられたモータによって駆動されるマニピュレータと、マニピュレータを制御するロボットコントローラと、を備え、軸ごとにモータにエンコーダが取り付けられているロボットシステムであって、エンコーダとロボットコントローラとを接続する軸ごとに設けられたエンコーダ配線と、マニピュレータにおいてエンコーダから独立して設けられ、マニピュレータの軸ごとにその軸の前記エンコーダを識別する識別情報を少なくとも含む機械パラメータを予め格納する記憶部と、ロボットコントローラに設けられて記憶部から機械パラメータを読み出すとともにエンコーダ配線を介してエンコーダと通信する制御部と、を備える。制御部は、エンコーダからエンコーダ配線を介して読み出されるそのエンコーダを識別する識別情報と機械パラメータに含まれる識別情報とが軸ごとに一致するかを判別し、少なくとも1つの軸において一致しないときにエンコーダ配線に誤配線があると判定する。
【0011】
マニピュレータにおいてモータに取り付けられてモータの回転位置を検出するエンコーダとして、ロボットコントローラ側との間で双方向シリアル通信で接続するものが一般的となってきており、そのようなエンコーダは不揮発性メモリを備え、そのエンコーダを識別するための識別情報、例えばシリアル番号がその不揮発性メモリに格納されている。本発明ロボットシステムでは、マニピュレータの製造時に、マニピュレータにおいてエンコーダとは独立して設けられている記憶部に対し、マニピュレータの軸ごとにその軸に取り付けられたエンコーダの識別情報を少なくとも含む機械パラメータを予め格納しておく。機械パラメータに含まれる軸ごとの識別情報は、マニピュレータにおいて各軸に設けられるエンコーダに格納されている識別情報を正確に表している。そして本発明のロボットシステムにおいてロボットコントローラに設けられる制御部は、エンコーダ配線を介して各軸のエンコーダからそのエンコーダの識別情報を読み出し、機械パラメータに含まれる識別情報と軸ごとに比較する。誤配線がなければ、全ての軸に関し、エンコーダから読み出された識別情報と機械パラメータに含まれる識別情報とは軸ごとに一致する。これに対し誤配線があるときは、エンコーダとロボットコントローラとの接続関係が本来のものとは異なっているので、具体的には、ある軸のエンコーダがその軸とは異なる軸のエンコーダとしてロボットコントローラに接続しているので、エンコーダから読み出された識別情報と機械パラメータに含まれる識別情報とが一致しない軸が発生する。その結果、制御部は、識別情報が一致しない軸があるときに、実際にモータを駆動することなくエンコーダ配線に誤配線があると判定することができる。
【0012】
本発明のロボットシステムにおいて制御部は、エンコーダから読み出した識別情報と機械パラメータに含まれる識別情報とが一致しない軸に基づいて、誤配線が発生したエンコーダ配線を特定する情報を出力することが好ましい。このような情報を出力することによって、実際に誤配線がどの軸のエンコーダ配線が生じたかが分かるので、実際の誤配線箇所を探す作業の労力を著しく減少させることができる。
【0013】
本発明のロボットシステムにおいては、マニピュレータの構成に関する構成情報を機械パラメータに含ませ、ロボットコントローラが、制御部が読み出した機械パラメータから抽出される構成情報に基づいてマニピュレータの制御を行なうようにすることができる。このように構成することにより、ロボットコントローラに事前にマニピュレータの構成情報を記憶させておかなくても、マニピュレータに接続されるロボットコントローラを変更したときに直ちにロボットシステムとして動作させることが可能になる。
【0014】
本発明の誤配線検出方法は、複数の軸を備えて軸ごとに設けられたモータによって駆動されるマニピュレータとマニピュレータを制御するロボットコントローラとを備え、軸ごとにモータにエンコーダが取り付けられているロボットシステムにおける、エンコーダとロボットコントローラとを接続する軸ごとに設けられたエンコーダ配線での誤配線を検出する誤配線検出方法であって、マニピュレータにおいてエンコーダから独立して設けられた記憶部に、マニピュレータの軸ごとにその軸のエンコーダを識別する識別情報を少なくとも含む機械パラメータを予め格納する工程と、ロボットコントローラにおいて、各軸のエンコーダからエンコーダ配線を介してそのエンコーダを識別する識別情報を読み出し、記憶部から機械パラメータを読み出し、エンコーダから読み出した識別情報と機械パラメータに含まれる識別情報とが軸ごとに一致するかを判別する判別工程と、判別工程において少なくとも1つの軸において一致しないときにエンコーダ配線に誤配線があると判定する誤配線検出工程と、を有する。
【0015】
本発明の誤配線検出方法では、マニピュレータにおいてエンコーダから独立して設けられた記憶部に、軸ごとのエンコーダの識別情報(シリアル番号など)を含む機械パラメータを予め格納しておく。機械パラメータに含まれる軸ごとの識別情報は、マニピュレータにおいて各軸に設けられるエンコーダに格納されている識別情報を正確に表している。そして、ロボットコントローラにおいて、各軸のエンコーダからエンコーダ配線を介して読み出した識別情報と機械パラメータに含まれる識別情報とが軸ごとに一致するかを判別する。誤配線があると、エンコーダから読み出された識別情報と機械パラメータに含まれる識別情報とが一致しない軸が発生するから、実際にモータを駆動することなくエンコーダ配線に誤配線があると判定することができる。
【0016】
本発明の誤配線検出方法では、誤配線検出工程において、エンコーダから読み出した識別情報と機械パラメータに含まれる識別情報とが一致しない軸に基づいて、誤配線が発生したエンコーダ配線を特定する情報を出力することが好ましい。このような情報を出力することによって、実際に誤配線がどの軸のエンコーダ配線が生じたかが分かるので、実際の誤配線箇所を探す作業の労力を著しく減少させることができる。
【0017】
本発明の誤配線検出方法では、ロボットコントローラからマニピュレータを起動するときに判別工程及び誤配線検出工程を実施することが好ましい。マニピュレータが起動するときに判別工程及び誤配線検出工程を実施することにより、ロボットコントローラがマニピュレータを実際に動作させる前に誤配線の有無が分かるので、異常時にはマニピュレータを駆動しないことが可能となり、ロボットシステムでの誤動作の発生を抑制できて安全性がさらに向上する。
【0018】
本発明の誤配線検出方法では、マニピュレータの構成に関する構成情報を機械パラメータに含ませておき、機械パラメータから抽出される構成情報を、ロボットコントローラがマニピュレータの制御を行なうときに用いる構成情報とすることができる。このように構成することにより、ロボットコントローラに事前にマニピュレータの構成情報を記憶させておく必要なく、マニピュレータに接続されるロボットコントローラを変更したときに直ちにロボットシステムとして動作させることが可能になる。
【発明の効果】
【0019】
本発明によれば、ロボットコントローラとマニピュレータとを備えるロボットシステムにおいて、マニピュレータ内のモータを駆動することなくロボットコントローラとマニピュレータ内のエンコーダとを接続する配線における誤配線を検出できるようになる。
【図面の簡単な説明】
【0020】
図1】本発明の実施の一形態のロボットシステムの構成を示すブロック図である。
図2】誤配線を検出する処理を説明するフローチャートである。
図3】誤配線を検出する処理の別の例を説明するフローチャートである。
【発明を実施するための形態】
【0021】
図1は、本発明の実施の一形態のロボットシステムを示している。このロボットシステムは、ロボットコントローラ10とマニピュレータ30とを備えており、ロボットコントローラ10とマニピュレータ30との間は集合配線部材20で電気的に接続されている。マニピュレータ30は複数の軸を備えるものであり、軸ごとにその軸を駆動するためのモータ31が設けられ、モータ31にはそのモータ31の回転位置を検出するエンコーダ32が取り付けられている。モータ31は例えば三相同期モータである。説明のため図示した例ではマニピュレータ30には3個のモータ31が設けられているが、一般的なマニピュレータすなわちロボット本体では、設けられるモータ31の個数は例えば5個から7個である。エンコーダ32には、その個体を一意に識別するための識別情報が付与されている。識別情報は例えばエンコーダ32のシリアル番号あるいは製造番号である。
【0022】
ロボットコントローラ10は、マニピュレータ30を制御するものであって、複数のサーボドライバ11と、ロボットコントローラ10の全体の制御を行なう制御部12とを備えている。サーボドライバ11は、マニピュレータ30内の軸ごとのモータ31に対応して設けられている。マニピュレータ30の軸ごとに、その軸のモータ31に接続されたエンコーダ32から出力される回転位置情報がその軸のサーボドライバ11に供給され、その軸のサーボドライバ11は、供給された回転位置情報に基づいて、その軸のモータ31を駆動する。軸ごとに、その軸のサーボドライバ11とモータ31とはモータ配線41により接続し、その軸のサーボドライバ11とエンコーダ32とはエンコーダ配線42により接続する。モータ配線41は、例えば、三相同期モータの巻線に接続する電力配線であり、エンコーダ配線42は、双方向シリアルデータ通信による信号配線である。サーボドライバ11は、一定の時間間隔でコマンドをエンコーダ32に送出することにより、エンコーダ32から対応するモータ31の回転位置情報を取得する。制御部12は、例えば、マイクロプロセッサ(MPU)によって構成されており、各サーボドライバ11をデージーチェーン形態で接続する高速シリアル通信(例えばCAN通信あるいはEtherCAT(登録商標)通信)によって各サーボドライバ11を制御する。したがって制御部12は、サーボドライバ11を経由してエンコーダ配線42を介してエンコーダ32と通信することができる。特に、制御部12は、サーボドライバ11を経由することにより、エンコーダ配線42を介してエンコーダ32から、対応するモータ31の回転位置情報やそのエンコーダ32のシリアル番号などの識別情報を読み込むことができる。
【0023】
マニピュレータ30には、各軸のモータ31及びエンコーダ32のほかに、マニピュレータ基板33が設けられ、マニピュレータ基板33には、例えばマイクロプロセッサによって構成されて制御データ配線45によりロボットコントローラ10内の制御部12と通信する処理部34と、不揮発性メモリによって構成されるとともに処理部34に接続した記憶部35とが設けられている。制御データ配線45では、双方向シリアルデータ通信により、制御部12と処理部34との間でのコマンドやデータの送受信がなされる。特に、ロボットコントローラ10内の制御部12は、制御データ配線45を介してマニピュレータ30内の処理部34に対してコマンドを送信して処理部34に記憶部35からのデータの読み出しを指令することによって、記憶部35内に格納された機械パラメータを読み出して取得することができる。処理部34及び記憶部35は、例えば、1チップマイクロコンピュータなどとして一体化していてもよい。記憶部35にはマニピュレータ30の製造時にそのマニピュレータ30の機械パラメータが書き込まれる。機械パラメータは、マニピュレータ30の軸ごとにその軸のエンコーダ32がどの個体のものであるかを示すために、軸ごとのエンコーダ32の識別情報を少なくとも含んでいる。後述するようにマニピュレータ30の構成情報が機械パラメータに含まれていてもよい。
【0024】
ロボットコントローラ10とマニピュレータ30の間を電気的に接続する集合配線部材20は、軸ごとのモータ配線41と軸ごとのエンコーダ配線42と制御データ配線45とを1本に束ねて構成された例えば多芯ケーブルであり、ロボットコントローラ10とマニピュレータ30の各々に対して専用の多芯コネクタで接続する。電力用配線であるモータ配線41は、集合配線部材20を介さずに別のケーブルによってロボットコントローラ10とマニピュレータ30の間に設けられてもよい。マニピュレータ30においてエンコーダ32や処理部34、記憶部35の動作のためにも電源が必要であり、そのための電源配線やロボットコントローラ10からマニピュレータ30を起動するために必要な配線もロボットコントローラ10とマニピュレータ30との間に設けられている。これらの配線も集合配線部材20の中に配置していてもよい。
【0025】
マニピュレータ30において、集合配線部材30との接続に用いる多芯コネクタとマニピュレータ基板33との間も多芯ケーブルにより接続しており、各エンコーダ配線42と制御データ配線45はマニピュレータ基板33に引き込まれている。制御データ配線45はマニピュレータ基板33に形成された配線パターンにより処理部34に接続する。各エンコーダ配線42は、マニピュレータ基板33とエンコーダ32との間では、マニピュレータの軸ごとに分離している信号配線として設けられている。この信号配線とマニピュレータ基板33との接続と、信号配線と対応するエンコーダ32との接続にはコネクタ43が用いられている。マニピュレータ30における長いリンクやアームに信号配線を通すために、中継コネクタ44を介して信号配線を延長することもある。これらに信号配線には通常、同一種類の配線材あるいはケーブルが使用され、コネクタ43や中継コネクタ44としても同一サイズで同一芯数のコネクタが使用される。その結果、ロボットコントローラ10からマニピュレータ基板33までの区間ではエンコーダ配線42における誤配線のおそれは少ないものの、マニピュレータ基板33から各軸のエンコーダ32までの区間では、コネクタ43や中継コネクタ44における誤接続などが起こりやすく、エンコーダ配線42における誤配線が起こりやすい。
【0026】
そこで本実施形態のロボットシステムでは、ロボットコントローラ10に設けられた制御部12が、エンコーダ配線42における誤配線の有無を自動的に検出する。誤配線の有無の検出は、例えば、ロボットコントローラ10側からマニピュレータ30を起動したときに行われる。以下、本実施形態における誤配線を検出する処理について、図2を用いて説明する。ここでは、マニピュレータ30の組み立てに際して既に記憶部33に機械パラメータが格納されているものとする。機械パラメータは、マニピュレータ30の軸ごとに対応付けられて、各軸のエンコーダ32のシリアル番号(S/N)を含んでいる。ここでシリアル番号はエンコーダ32を一意に識別するための識別情報として用いられている。エンコーダ32を識別することができるのであれば、シリアル番号以外の識別情報を用いることができる。
【0027】
まず、ステップ101において、制御部12がマニピュレータ30を起動する。ロボットコントローラ10からマニピュレータ30を起動する技術としては公知のものを使用することができる。続いてステップ102において、制御部12は、サーボドライバ11を経由しエンコーダ配線42を介して各軸のエンコーダ32に対し、シリアル番号を要求するコマンドを順次送信し、そのコマンドを受信したエンコーダ32からシリアル番号をサーボドライバ11を経由して受信する。ステップ103において制御部12は、マニピュレータ30の処理部34に対し、記憶部35に格納されている機械パラメータにおける各軸のエンコーダ32のシリアル番号を要求するコマンドを送信する。処理部34はこのコマンドを処理して軸ごとのエンコーダ32のシリアル番号を制御部12に送信する。ステップ102の処理とステップ103の処理とは順番を入れ替えてもよい。
【0028】
次に制御部12は、ステップ104において、マニピュレータ30の軸ごとに、サーボドライバ11を介してエンコーダ32から読み出したシリアル番号と機械パラメータにおけるシリアル番号とを比較し、ステップ105において、全ての軸においてエンコーダ32から読み出したシリアル番号と機械パラメータにおけるシリアル番号とが一致するかどうかを判別する。機械パラメータに含まれる軸ごとのシリアル番号は、マニピュレータ30において各軸に設けられるエンコーダ32に格納されているシリアル番号を正確に表している。誤配線がなければ、エンコーダ32から読み出されたシリアル番号と機械パラメータに含まれるシリアル番号とは各軸ごとに一致するはずである。そこで制御部12は、ステップ105において全ての軸において両方のシリアル番号が一致するときは、エンコーダ配線42における誤配線が生じていないときと判定して、ステップ106において、予め定められている動作プログラムに基づくマニピュレータ30の制御を開始し、誤配線検出の処理を終了する。
【0029】
一方、エンコーダ配線42において誤配線があるときは、エンコーダ32とロボットコントローラ10との接続関係が本来のものとは異なっているので、エンコーダ32から読み出されたシリアル番号と機械パラメータに含まれるシリアル番号とが一致しない軸が発生する。制御部12は、ステップ105においてシリアル番号が一致しない軸が1つでもあるときは、ステップ107において、誤配線ありと判定して、例えばアラームなどを出力する。またシリアル番号が一致しなかった軸は誤配線に関係する軸であるので、制御部12は、ステップ108において、誤配線箇所を特定するための情報として、誤配線に関係する軸を例えばロボットコントローラ10のソフトウェアツール上あるいはロボットコントローラ10に接続されているペンダント上に表示し、その後、誤配線検出の処理を終了する。
【0030】
本実施形態のロボットシステムでは、マニピュレータ30のモータ31を実際に動かすことなく、エンコーダ配線42における誤配線を検出することができる。特に、マニピュレータ30を起動するときに誤配線を検出することによって、ロボットコントローラ10がマニピュレータ30を実際に動作させる前に誤配線の有無が分かるので、異常時にはマニピュレータ30を駆動しないことが可能となり、マニピュレータでの誤動作の発生を抑制できて安全性がさらに向上する。また、誤配線が発生した判定したときに誤配線箇所を特定するための情報を出力することにより、マニピュレータ30を分解して実際の誤配線箇所を探す作業の労力を著しく減少させることができる。
【0031】
以上説明したロボットシステムでは、マニピュレータ30の記憶部35に予め格納される機械パラメータには各軸のエンコーダ32のシリアル番号が含まれるものとしている。しかしながら、機械パラメータには、エンコーダ32のシリアル番号のほかにも他の情報を含めることができる。例えば、マニピュレータ30の構成に関する構成情報を機械パラメータに含ませておき、ロボットコントローラ10が、マニピュレータ30から読み出した機械パラメータから抽出される構成情報に基づいてマニピュレータ30の制御を行なうようにすることができる。以下、機械パラメータにマニピュレータ30の構成情報も含まれる場合について説明する。
【0032】
ロボットコントローラ10によってマニピュレータ30の動作を制御するときは、そのマニピュレータ30の軸構成、アームやリンクの長さ、マニピュレータ30が設置される空間内においてアームやリンクを動かしてよい動作範囲、許容される最大速度などの情報に基づいて制御を行なう必要がある。マニピュレータ30の動作を制御するときに必要となるこのような情報のことをマニピュレータ30の構成情報と呼ぶ。従来はこうした構成情報は事前にロボットコントローラ10に格納する必要があり、そのため、ロボットコントローラ10での不具合発生などの理由によりマニピュレータ30に接続されるロボットコントローラ10を変更したときに、直ちにロボットシステムとして動作させることが難しかった。これに対し、マニピュレータ30の記憶部35に格納される機械パラメータにそのマニピュレータ30の構成情報を含めておき、ロボットコントローラ10が機械パラメータを読み出して機械パラメータ中の構成情報に基づいて制御を行なうことができるようにすることによって、ロボットコントローラ10に事前に構成情報を記憶していない場合であっても、マニピュレータ30に接続されるロボットコントローラ10を変更したときに直ちにロボットシステムとして動作させることが可能になる。
【0033】
図3は、マニピュレータ30の構成情報を含む機械パラメータを事前にマニピュレータ30の記憶部35に格納させたときに誤配線を検出する処理を示すフローチャートである。図3において、図2に示すフローチャートにおける処理と同じ処理には、同じ参照符号が与えられている。まず、図2に示す場合と同様に、制御部12は、ステップ101において、マニピュレータ30を起動し、ステップ102において、エンコーダ配線42を介しサーボドライバ11を経由して各軸のエンコーダ32からそのエンコーダ32のシリアル番号を読み出す。続いてステップ111において制御部12は、マニピュレータ30の処理部34に対し、記憶部35に格納されている機械パラメータを要求するコマンドを送信する。処理部34はこのコマンドを処理して記憶部35から機械パラメータを読み出して制御部12に送信する。その結果、制御部12は、機械パラメータを取得し、それを構成情報としてロボットコントローラ10内の記憶領域(不図示)に格納する。ステップ102の処理とステップ111の処理とは順番を入れ替えてもよい。
【0034】
次に制御部12は、図2に示す場合と同様に、ステップ104において、マニピュレータ30の軸ごとに、エンコーダ32から読み出したシリアル番号と機械パラメータにおけるシリアル番号とを比較し、ステップ105において、全ての軸においてエンコーダ32から読み出したシリアル番号と機械パラメータにおけるシリアル番号とが一致するかを判別する。ステップ105において全ての軸において両方のシリアル番号が一致するときは、制御部12は、エンコーダ配線42における誤配線が生じていないときと判定して、ステップ112において、記憶領域に格納した構成情報に基づくマニピュレータ30の制御を開始し、誤配線検出の処理を終了する。
【0035】
一方、ステップ105においてシリアル番号が一致しない軸が1つでもあるときは、図2に示した場合と同様に、制御部12は、ステップ107において、誤配線ありと判定し、ステップ108において、誤配線箇所を特定するための情報を出力し、その後、誤配線検出の処理を終了する。
【0036】
このように、マニピュレータ30の構成情報をマニピュレータ30の記憶部35に格納し、ロボットコントローラ10がこの構成情報を読み出せるようにすることにより、例えば不具合などの理由でロボットコントローラ10を交換した場合においてもマニピュレータ配線42における誤配線を検出できるようになるとともに、ロボットシステムとして直ちに機能させることができるようになる。
【符号の説明】
【0037】
10…ロボットコントローラ;11…サーボドライバ;12…制御部;20…集合配線部材;30…マニピュレータ;31…モータ;32…エンコーダ;33…マニピュレータ基板;34…処理部;35…記憶部;41…モータ配線;42…エンコーダ配線;43…コネクタ;44…中継コネクタ;45…制御データ配線。
図1
図2
図3